Author: musachy
Date: Sun Mar 29 00:11:02 2009
New Revision: 759617

URL: http://svn.apache.org/viewvc?rev=759617&view=rev
Log:
Extract field name from getX and isX methods, remove class name from default 
message

Modified:
    struts/sandbox/trunk/struts2-oval-plugin/pom.xml
    
struts/sandbox/trunk/struts2-oval-plugin/src/main/java/org/apache/struts2/interceptor/OValValidationInterceptor.java
    
struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/OValValidationInterceptorTest.java
    
struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/SimpleMethod.java

Modified: struts/sandbox/trunk/struts2-oval-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-oval-plugin/pom.xml?rev=759617&r1=759616&r2=759617&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-oval-plugin/pom.xml (original)
+++ struts/sandbox/trunk/struts2-oval-plugin/pom.xml Sun Mar 29 00:11:02 2009
@@ -29,10 +29,10 @@
         <artifactId>struts2-plugins</artifactId>
         <version>2.1.7-SNAPSHOT</version>
     </parent>
-    <groupId>org.apache.struts2</groupId>
+    <groupId>org.apache.struts</groupId>
     <artifactId>struts2-oval-plugin</artifactId>
     <packaging>jar</packaging>
-    <version>1.0-SNAPSHOT</version>
+    <version>2.1.7-SNAPSHOT</version>
     <name>Struts 2 OVal Plugin</name>
     <url>http://maven.apache.org</url>
     <dependencies>

Modified: 
struts/sandbox/trunk/struts2-oval-plugin/src/main/java/org/apache/struts2/interceptor/OValValidationInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-oval-plugin/src/main/java/org/apache/struts2/interceptor/OValValidationInterceptor.java?rev=759617&r1=759616&r2=759617&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-oval-plugin/src/main/java/org/apache/struts2/interceptor/OValValidationInterceptor.java
 (original)
+++ 
struts/sandbox/trunk/struts2-oval-plugin/src/main/java/org/apache/struts2/interceptor/OValValidationInterceptor.java
 Sun Mar 29 00:11:02 2009
@@ -34,6 +34,7 @@
 import net.sf.oval.ConstraintViolation;
 import net.sf.oval.context.FieldContext;
 import net.sf.oval.context.OValContext;
+import net.sf.oval.context.MethodReturnValueContext;
 
 import java.util.List;
 import java.lang.reflect.Method;
@@ -47,13 +48,6 @@
 public class OValValidationInterceptor extends MethodFilterInterceptor {
     private static final Logger LOG = 
LoggerFactory.getLogger(OValValidationInterceptor.class);
 
-    private ReflectionProvider reflectionProvider;
-
-    @Inject
-    public void setReflectionProvider(ReflectionProvider reflectionProvider) {
-        this.reflectionProvider = reflectionProvider;
-    }
-
     protected String doIntercept(ActionInvocation invocation) throws Exception 
{
         Object action = invocation.getAction();
         ActionProxy proxy = invocation.getProxy();
@@ -100,8 +94,12 @@
 
                 if (isActionError(violation))
                     validatorContext.addActionError(message);
-                else
+                else {
+                    String className = action.getClass().getName();
+                    //the default OVal message shows the field name as 
ActionClass.fieldName
+                    message = StringUtils.removeStart(message, className + 
".");
                     
validatorContext.addFieldError(extractFieldName(violation), message);
+                }
             }
         }
 
@@ -115,6 +113,15 @@
         OValContext context = violation.getContext();
         if (context instanceof FieldContext) {
             return ((FieldContext) context).getField().getName();
+        } else if (context instanceof MethodReturnValueContext) {
+            String methodName = ((MethodReturnValueContext) 
context).getMethod().getName();
+            if (methodName.startsWith("get")) {
+                return 
StringUtils.uncapitalize(StringUtils.removeStart(methodName, "get"));
+            } else if (methodName.startsWith("is")) {
+                return 
StringUtils.uncapitalize(StringUtils.removeStart(methodName, "is"));
+            }
+
+            return methodName;
         }
 
         return violation.getCheckName();

Modified: 
struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/OValValidationInterceptorTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/OValValidationInterceptorTest.java?rev=759617&r1=759616&r2=759617&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/OValValidationInterceptorTest.java
 (original)
+++ 
struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/OValValidationInterceptorTest.java
 Sun Mar 29 00:11:02 2009
@@ -37,7 +37,7 @@
         Map<String, List<String>> fieldErrors = ((ValidationAware) 
baseActionProxy.getAction()).getFieldErrors();
         assertNotNull(fieldErrors);
         assertEquals(1, fieldErrors.size());
-        assertValue(fieldErrors, "name", 
Arrays.asList("org.apache.struts2.interceptor.SimpleField.name cannot be 
null"));
+        assertValue(fieldErrors, "name", Arrays.asList("name cannot be null"));
     }
 
     public void testSimpleFieldNegative() throws Exception {
@@ -61,7 +61,7 @@
         Map<String, List<String>> fieldErrors = action.getFieldErrors();
         assertNotNull(fieldErrors);
         assertEquals(1, fieldErrors.size());
-        assertNotNull(fieldErrors.get("firstName"));
+        assertNotNull(fieldErrors.get("name"));
     }
 
     public void testSimpleMethod() throws Exception {
@@ -72,7 +72,7 @@
         Map<String, List<String>> fieldErrors = action.getFieldErrors();
         assertNotNull(fieldErrors);
         assertEquals(1, fieldErrors.size());
-        assertNotNull(fieldErrors.get("firstName"));
+        assertNotNull(fieldErrors.get("someName"));
     }
 
     public void testSimpleFieldOGNLExpression() throws Exception {
@@ -83,7 +83,7 @@
         Map<String, List<String>> fieldErrors = action.getFieldErrors();
         assertNotNull(fieldErrors);
         assertEquals(1, fieldErrors.size());
-        assertNotNull(fieldErrors.get("firstName"));
+        assertNotNull(fieldErrors.get("name"));
     }
 
      public void testFieldsWithMultipleProfiles() throws Exception {

Modified: 
struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/SimpleMethod.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/SimpleMethod.java?rev=759617&r1=759616&r2=759617&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/SimpleMethod.java
 (original)
+++ 
struts/sandbox/trunk/struts2-oval-plugin/src/test/java/org/apache/struts2/interceptor/SimpleMethod.java
 Sun Mar 29 00:11:02 2009
@@ -31,11 +31,11 @@
     @IsInvariant
     @NotNull
     @Length(max = 4)
-    public String getName() {
+    public String getSomeName() {
         return name;
     }
 
-    public void setName(String name) {
+    public void setSomeName(String name) {
         this.name = name;
     }
 }


Reply via email to