You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bval.apache.org by dw...@apache.org on 2010/05/21 14:54:30 UTC
svn commit: r946990 - in
/incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303:
BeanDescriptorImpl.java DefaultMessageInterpolator.java
Jsr303MetaBeanFactory.java
Author: dwoods
Date: Fri May 21 12:54:30 2010
New Revision: 946990
URL: http://svn.apache.org/viewvc?rev=946990&view=rev
Log:
BVAL-55 Fix remaining TCK tests. Contributed by Carlos Vara.
Modified:
incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/BeanDescriptorImpl.java
incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/DefaultMessageInterpolator.java
incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/Jsr303MetaBeanFactory.java
Modified: incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/BeanDescriptorImpl.java
URL: http://svn.apache.org/viewvc/incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/BeanDescriptorImpl.java?rev=946990&r1=946989&r2=946990&view=diff
==============================================================================
--- incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/BeanDescriptorImpl.java (original)
+++ incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/BeanDescriptorImpl.java Fri May 21 12:54:30 2010
@@ -81,6 +81,10 @@ public class BeanDescriptorImpl extends
}
MetaProperty prop = metaBean.getProperty(propertyName);
if (prop == null) return null;
+ // If no constraints and not cascaded, return null
+ if ( prop.getValidations().length == 0 && prop.getFeature(Features.Property.REF_CASCADE) == null ) {
+ return null;
+ }
return getPropertyDescriptor(prop);
}
Modified: incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/DefaultMessageInterpolator.java
URL: http://svn.apache.org/viewvc/incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/DefaultMessageInterpolator.java?rev=946990&r1=946989&r2=946990&view=diff
==============================================================================
--- incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/DefaultMessageInterpolator.java (original)
+++ incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/DefaultMessageInterpolator.java Fri May 21 12:54:30 2010
@@ -135,6 +135,10 @@ public class DefaultMessageInterpolator
// resolve annotation attributes (step 4)
resolvedMessage =
replaceAnnotationAttributes(resolvedMessage, annotationParameters);
+
+ // curly braces need to be scaped in the original msg, so unescape them now
+ resolvedMessage = resolvedMessage.replace( "\\{", "{" ).replace( "\\}", "}" ).replace( "\\\\", "\\" );
+
return resolvedMessage;
}
Modified: incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/Jsr303MetaBeanFactory.java
URL: http://svn.apache.org/viewvc/incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/Jsr303MetaBeanFactory.java?rev=946990&r1=946989&r2=946990&view=diff
==============================================================================
--- incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/Jsr303MetaBeanFactory.java (original)
+++ incubator/bval/trunk/bval-jsr303/src/main/java/org/apache/bval/jsr303/Jsr303MetaBeanFactory.java Fri May 21 12:54:30 2010
@@ -390,7 +390,7 @@ public class Jsr303MetaBeanFactory imple
throws IllegalAccessException, InvocationTargetException {
final ConstraintValidator validator;
- if (constraintClasses != null) {
+ if (constraintClasses != null && constraintClasses.length > 0) {
Type type = determineTargetedType(owner, access);
/**
* spec says in chapter 3.5.3.:
@@ -448,13 +448,11 @@ public class Jsr303MetaBeanFactory imple
// process composed constraints:
// here are not other superclasses possible, because annotations do not inherit!
- if (processAnnotations(prop, owner, annotation.annotationType(), access,
- new AppendValidationToBuilder(builder)) || validator != null) { // recursion!
- appender.append(builder.getConstraintValidation());
- return true;
- } else {
- return false;
- }
+ processAnnotations(prop, owner, annotation.annotationType(), access, new AppendValidationToBuilder(builder));
+
+ // Even if the validator is null, it must be added to mimic the RI impl
+ appender.append(builder.getConstraintValidation());
+ return true;
}
private void checkOneType(List<Type> types, Type targetType, Class<?> owner, Annotation anno,