WW-3488 - adds copy field errors to exclude list during chaining

git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@1065530 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Lukasz Lenart
2011-01-31 09:03:29 +00:00
parent 3c2a51d465
commit 8750397b72
@@ -103,14 +103,16 @@ public class ChainingInterceptor extends AbstractInterceptor {
private static final Logger LOG = LoggerFactory.getLogger(ChainingInterceptor.class);
private static final String ACTION_ERRORS = "actionErrors";
private static final String FIELD_ERRORS = "fieldErrors";
private static final String ACTION_MESSAGES = "actionMessages";
private boolean copyMessages = false;
private boolean copyErrors = false;
private boolean copyFieldErrors = false;
protected Collection<String> excludes;
protected Collection<String> includes;
protected Collection<String> includes;
protected ReflectionProvider reflectionProvider;
@Inject
@@ -123,6 +125,11 @@ public class ChainingInterceptor extends AbstractInterceptor {
this.copyErrors = "true".equalsIgnoreCase(copyErrors);
}
@Inject(value = "struts.xwork.chaining.copyFieldErrors", required = false)
public void setCopyFieldErrors(String copyFieldErrors) {
this.copyErrors = "true".equalsIgnoreCase(copyFieldErrors);
}
@Inject(value = "struts.xwork.chaining.copyMessages", required = false)
public void setCopyMessages(String copyMessages) {
this.copyMessages = "true".equalsIgnoreCase(copyMessages);
@@ -150,7 +157,7 @@ public class ChainingInterceptor extends AbstractInterceptor {
private Collection<String> prepareExcludes() {
Collection<String> localExcludes = excludes;
if (!copyErrors || !copyMessages) {
if (!copyErrors || !copyMessages ||!copyFieldErrors) {
if (localExcludes == null) {
localExcludes = new HashSet<String>();
if (!copyErrors) {
@@ -159,6 +166,9 @@ public class ChainingInterceptor extends AbstractInterceptor {
if (!copyMessages) {
localExcludes.add(ACTION_MESSAGES);
}
if (!copyFieldErrors) {
localExcludes.add(FIELD_ERRORS);
}
}
}
return localExcludes;