diff --git a/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java b/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java index f04b765ae..cb2047f06 100644 --- a/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java +++ b/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java @@ -257,7 +257,7 @@ public class DefaultActionInvocation implements ActionInvocation { resultCode = executeConditional((ConditionalInterceptor) interceptor); } else { LOG.debug("Executing normal interceptor: {}", interceptorMapping.getName()); - resultCode = interceptor.intercept(this); + resultCode = interceptor.intercept((org.apache.struts2.ActionInvocation) this); } } else { resultCode = invokeActionOnly(); @@ -298,9 +298,9 @@ public class DefaultActionInvocation implements ActionInvocation { } protected String executeConditional(ConditionalInterceptor conditionalInterceptor) throws Exception { - if (conditionalInterceptor.shouldIntercept(this)) { + if (conditionalInterceptor.shouldIntercept((org.apache.struts2.ActionInvocation) this)) { LOG.debug("Executing conditional interceptor: {}", conditionalInterceptor.getClass().getSimpleName()); - return conditionalInterceptor.intercept(this); + return conditionalInterceptor.intercept((org.apache.struts2.ActionInvocation) this); } else { LOG.debug("Interceptor: {} is disabled, skipping to next", conditionalInterceptor.getClass().getSimpleName()); return this.invoke(); 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 69c667462..fd160ae9f 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/AbstractInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/AbstractInterceptor.java @@ -38,6 +38,11 @@ public abstract class AbstractInterceptor extends org.apache.struts2.interceptor @Override public boolean shouldIntercept(ActionInvocation invocation) { - return shouldIntercept((org.apache.struts2.ActionInvocation) invocation); + return super.shouldIntercept(invocation); + } + + @Override + public boolean shouldIntercept(org.apache.struts2.ActionInvocation invocation) { + return shouldIntercept(ActionInvocation.adapt(invocation)); } }