From 117f5fbacc6193b1384f1cea3ee844252bfbdb3e Mon Sep 17 00:00:00 2001 From: Jasper Date: Fri, 9 Oct 2015 07:41:05 -0400 Subject: [PATCH] Make it easier to extend to override interceptor stack Just as createAction is split out from init, it would be great to split out creating the interceptor iterator creation so it can be overridden without having to override all of init(). (Needed this to always prepend an i18n interceptor to all stacks). --- .../com/opensymphony/xwork2/DefaultActionInvocation.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java b/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java index a5b4723df..d6385c649 100644 --- a/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java +++ b/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java @@ -396,7 +396,11 @@ public class DefaultActionInvocation implements ActionInvocation { invocationContext = new ActionContext(contextMap); invocationContext.setName(proxy.getActionName()); - // get a new List so we don't get problems with the iterator if someone changes the list + createInterceptors(proxy); + } + + protected void createInterceptors(ActionProxy proxy) { + // Get a new List so we don't get problems with the iterator if someone changes the original list List interceptorList = new ArrayList<>(proxy.getConfig().getInterceptors()); interceptors = interceptorList.iterator(); }