From d72ae0cffaf82aaa00283063a96232c1110c4350 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Wed, 22 May 2013 17:51:40 +0000 Subject: [PATCH] WW-4071 Changes interface a bit after review git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@1485311 13f79535-47bb-0310-9956-ffa450edef68 --- .../interceptor/DefaultWorkflowInterceptor.java | 11 ++++------- .../xwork2/interceptor/ValidationErrorAware.java | 5 +++-- .../xwork2/interceptor/ValidationErrorAwareTest.java | 4 ++-- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java index 4090058fd..9391f1f8d 100644 --- a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java +++ b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java @@ -209,13 +209,10 @@ public class DefaultWorkflowInterceptor extends MethodFilterInterceptor { protected String processValidationErrorAware(final Object action, final String currentResultName) { String resultName = currentResultName; if (action instanceof ValidationErrorAware) { - String validationErrorAwareResult = ((ValidationErrorAware) action).actionErrorOccurred(); - if (validationErrorAwareResult != null) { - if (LOG.isDebugEnabled()) { - LOG.debug("Changing result name from [#0] to [#1] because of processing interface [#2] on action [#3]", - currentResultName, resultName, ValidationErrorAware.class.getSimpleName(), action); - } - resultName = validationErrorAwareResult; + resultName = ((ValidationErrorAware) action).actionErrorOccurred(currentResultName); + if (LOG.isDebugEnabled()) { + LOG.debug("Changing result name from [#0] to [#1] because of processing interface [#2] on action [#3]", + currentResultName, resultName, ValidationErrorAware.class.getSimpleName(), action); } } return resultName; diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationErrorAware.java b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationErrorAware.java index 04ee413a3..5d0fd6b0e 100644 --- a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationErrorAware.java +++ b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationErrorAware.java @@ -30,8 +30,9 @@ public interface ValidationErrorAware { /** * Allows to notify action about occurred action/field errors * - * @return new result name or null to keep result of {@link com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor} + * @param currentResultName current result name, action can change it or return the same + * @return new result name or passed currentResultName */ - String actionErrorOccurred(); + String actionErrorOccurred(final String currentResultName); } diff --git a/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ValidationErrorAwareTest.java b/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ValidationErrorAwareTest.java index 408f88094..1a5729ac0 100644 --- a/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ValidationErrorAwareTest.java +++ b/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ValidationErrorAwareTest.java @@ -37,7 +37,7 @@ public class ValidationErrorAwareTest extends XWorkTestCase { public void testNotChangeResultWhenNotifyAboutValidationError() throws Exception { // given - actionResult = null; + actionResult = Action.INPUT; ValidationInterceptor validationInterceptor = create(); // when @@ -56,7 +56,7 @@ public class ValidationErrorAwareTest extends XWorkTestCase { interceptor = new DefaultWorkflowInterceptor(); ActionProxy proxy = EasyMock.createNiceMock(ActionProxy.class); - EasyMock.expect(action.actionErrorOccurred()).andAnswer(new IAnswer() { + EasyMock.expect(action.actionErrorOccurred(EasyMock.anyObject())).andAnswer(new IAnswer() { public String answer() throws Throwable { return actionResult; }