Author: mcucchiara
Date: Wed Nov  9 11:03:35 2011
New Revision: 1199696

URL: http://svn.apache.org/viewvc?rev=1199696&view=rev
Log:
WW-3699 - from now, buildValidatorKey includes the package name

Modified:
    
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
    
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManagerTest.java

Modified: 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java?rev=1199696&r1=1199695&r2=1199696&view=diff
==============================================================================
--- 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
 (original)
+++ 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
 Wed Nov  9 11:03:35 2011
@@ -19,12 +19,14 @@ package com.opensymphony.xwork2.validato
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.config.entities.ActionConfig;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.FileManager;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.logging.Logger;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
 import com.opensymphony.xwork2.validator.validators.VisitorFieldValidator;
+import org.apache.commons.lang.StringUtils;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -217,13 +219,18 @@ public class AnnotationActionValidatorMa
     protected static String buildValidatorKey(Class clazz) {
         ActionInvocation invocation = 
ActionContext.getContext().getActionInvocation();
         ActionProxy proxy = invocation.getProxy();
+        ActionConfig config = proxy.getConfig();
 
         //the key needs to use the name of the action from the config file,
         //instead of the url, so wild card actions will have the same validator
         //see WW-2996
         StringBuilder sb = new StringBuilder(clazz.getName());
         sb.append("/");
-        sb.append(proxy.getConfig().getName());
+        if (StringUtils.isNotBlank(config.getPackageName())) {
+            sb.append(config.getPackageName());
+            sb.append("/");
+        }
+        sb.append(config.getName());
         sb.append("|");
         sb.append(proxy.getMethod());
         return sb.toString();

Modified: 
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManagerTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManagerTest.java?rev=1199696&r1=1199695&r2=1199696&view=diff
==============================================================================
--- 
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManagerTest.java
 (original)
+++ 
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManagerTest.java
 Wed Nov  9 11:03:35 2011
@@ -23,10 +23,10 @@ import com.opensymphony.xwork2.test.Simp
 import com.opensymphony.xwork2.test.SimpleAnnotationAction3;
 import com.opensymphony.xwork2.util.FileManager;
 import com.opensymphony.xwork2.validator.validators.*;
+import org.easymock.EasyMock;
 
 import java.util.List;
 
-import org.easymock.EasyMock;
 
 
 /**
@@ -47,7 +47,7 @@ public class AnnotationActionValidatorMa
         super.setUp();
         annotationActionValidatorManager = (AnnotationActionValidatorManager) 
container.getInstance(ActionValidatorManager.class);
 
-        ActionConfig config = new ActionConfig.Builder("", "name", "").build();
+        ActionConfig config = new ActionConfig.Builder("packageName", "name", 
"").build();
         ActionInvocation invocation = 
EasyMock.createNiceMock(ActionInvocation.class);
         ActionProxy proxy = EasyMock.createNiceMock(ActionProxy.class);
 
@@ -71,7 +71,7 @@ public class AnnotationActionValidatorMa
 
     public void testBuildValidatorKey() {
         String validatorKey = 
AnnotationActionValidatorManager.buildValidatorKey(SimpleAnnotationAction.class);
-        assertEquals(SimpleAnnotationAction.class.getName() + "/name|execute", 
validatorKey);
+        assertEquals(SimpleAnnotationAction.class.getName() + 
"/packageName/name|execute", validatorKey);
     }
 
     public void testBuildsValidatorsForAlias() {


Reply via email to