This is an automated email from the ASF dual-hosted git repository.
lukaszlenart pushed a commit to branch WW-4173-disable
in repository https://gitbox.apache.org/repos/asf/struts.git
The following commit(s) were added to refs/heads/WW-4173-disable by this push:
new 084c257d6 WW-4173 Passes current ActionInvocation to allow based
disabling interceptor on it
084c257d6 is described below
commit 084c257d6e2e80d51ff152e0e8e75d13d4e7af40
Author: Lukasz Lenart <[email protected]>
AuthorDate: Mon Oct 24 08:27:12 2022 +0200
WW-4173 Passes current ActionInvocation to allow based disabling
interceptor on it
---
.../main/java/com/opensymphony/xwork2/DefaultActionInvocation.java | 4 ++--
.../java/com/opensymphony/xwork2/interceptor/AbstractInterceptor.java | 2 +-
.../main/java/com/opensymphony/xwork2/interceptor/Interceptor.java | 3 ++-
.../src/main/java/org/apache/struts2/interceptor/CoepInterceptor.java | 4 ++--
.../src/main/java/org/apache/struts2/interceptor/CoopInterceptor.java | 4 ++--
.../java/org/apache/struts2/interceptor/FetchMetadataInterceptor.java | 2 +-
.../main/java/org/apache/struts2/interceptor/csp/CspInterceptor.java | 4 ++--
7 files changed, 12 insertions(+), 11 deletions(-)
diff --git
a/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java
b/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java
index 8c388d469..c1e049dfa 100644
--- a/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java
+++ b/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java
@@ -248,11 +248,11 @@ public class DefaultActionInvocation implements
ActionInvocation {
if (interceptor instanceof WithLazyParams) {
interceptor = lazyParamInjector.injectParams(interceptor,
interceptorMapping.getParams(), invocationContext);
}
- if (interceptor.isDisabled()) {
+ if (interceptor.isDisabled(this)) {
LOG.debug("Interceptor: {} is disabled, skipping to next",
interceptor.getClass().getSimpleName());
resultCode = this.invoke();
} else {
- resultCode =
interceptor.intercept(DefaultActionInvocation.this);
+ resultCode = interceptor.intercept(this);
}
} else {
resultCode = invokeActionOnly();
diff --git
a/core/src/main/java/com/opensymphony/xwork2/interceptor/AbstractInterceptor.java
b/core/src/main/java/com/opensymphony/xwork2/interceptor/AbstractInterceptor.java
index 2895bc0f0..efa009052 100644
---
a/core/src/main/java/com/opensymphony/xwork2/interceptor/AbstractInterceptor.java
+++
b/core/src/main/java/com/opensymphony/xwork2/interceptor/AbstractInterceptor.java
@@ -49,7 +49,7 @@ public abstract class AbstractInterceptor implements
Interceptor {
}
@Override
- public boolean isDisabled() {
+ public boolean isDisabled(ActionInvocation invocation) {
return this.disabled;
}
}
diff --git
a/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
b/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
index c60c2f416..3488314d2 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
@@ -222,8 +222,9 @@ public interface Interceptor extends Serializable {
/**
* Allows to disable processing a given interceptor
*
+ * @param invocation current {@link ActionInvocation} to determine if the
interceptor should be executed
* @return true if the given interceptor should be skipped
* @since 6.1.0
*/
- boolean isDisabled();
+ boolean isDisabled(ActionInvocation invocation);
}
diff --git
a/core/src/main/java/org/apache/struts2/interceptor/CoepInterceptor.java
b/core/src/main/java/org/apache/struts2/interceptor/CoepInterceptor.java
index c887877dc..6d550c19f 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/CoepInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/CoepInterceptor.java
@@ -51,7 +51,7 @@ public class CoepInterceptor extends AbstractInterceptor
implements PreResultLis
@Override
public String intercept(ActionInvocation invocation) throws Exception {
- if (this.isDisabled()) {
+ if (this.isDisabled(invocation)) {
LOG.trace("COEP interceptor has been disabled");
} else {
invocation.addPreResultListener(this);
@@ -61,7 +61,7 @@ public class CoepInterceptor extends AbstractInterceptor
implements PreResultLis
@Override
public void beforeResult(ActionInvocation invocation, String resultCode) {
- if (this.isDisabled()) {
+ if (this.isDisabled(invocation)) {
return;
}
diff --git
a/core/src/main/java/org/apache/struts2/interceptor/CoopInterceptor.java
b/core/src/main/java/org/apache/struts2/interceptor/CoopInterceptor.java
index 5590ca98f..9827ceb13 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/CoopInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/CoopInterceptor.java
@@ -53,7 +53,7 @@ public class CoopInterceptor extends AbstractInterceptor
implements PreResultLis
@Override
public String intercept(ActionInvocation invocation) throws Exception {
- if (this.isDisabled()) {
+ if (this.isDisabled(invocation)) {
LOG.trace("COOP interceptor has been disabled");
} else {
invocation.addPreResultListener(this);
@@ -63,7 +63,7 @@ public class CoopInterceptor extends AbstractInterceptor
implements PreResultLis
@Override
public void beforeResult(ActionInvocation invocation, String resultCode) {
- if (this.isDisabled()) {
+ if (this.isDisabled(invocation)) {
return;
}
HttpServletRequest request =
invocation.getInvocationContext().getServletRequest();
diff --git
a/core/src/main/java/org/apache/struts2/interceptor/FetchMetadataInterceptor.java
b/core/src/main/java/org/apache/struts2/interceptor/FetchMetadataInterceptor.java
index 0122d718b..9a3583607 100644
---
a/core/src/main/java/org/apache/struts2/interceptor/FetchMetadataInterceptor.java
+++
b/core/src/main/java/org/apache/struts2/interceptor/FetchMetadataInterceptor.java
@@ -62,7 +62,7 @@ public class FetchMetadataInterceptor extends
AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
- if (this.isDisabled()) {
+ if (this.isDisabled(invocation)) {
LOG.trace("Fetch Metadata interceptor has been disabled");
return invocation.invoke();
}
diff --git
a/core/src/main/java/org/apache/struts2/interceptor/csp/CspInterceptor.java
b/core/src/main/java/org/apache/struts2/interceptor/csp/CspInterceptor.java
index eb3ddb4a0..38b196514 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/csp/CspInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/csp/CspInterceptor.java
@@ -47,7 +47,7 @@ public final class CspInterceptor extends AbstractInterceptor
implements PreResu
@Override
public String intercept(ActionInvocation invocation) throws Exception {
- if (this.isDisabled()) {
+ if (this.isDisabled(invocation)) {
LOG.trace("CSP interceptor has been disabled");
} else {
invocation.addPreResultListener(this);
@@ -56,7 +56,7 @@ public final class CspInterceptor extends AbstractInterceptor
implements PreResu
}
public void beforeResult(ActionInvocation invocation, String resultCode) {
- if (this.isDisabled()) {
+ if (this.isDisabled(invocation)) {
return;
}
HttpServletRequest request =
invocation.getInvocationContext().getServletRequest();