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;
}
}