You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bval.apache.org by mb...@apache.org on 2011/01/31 22:54:23 UTC
svn commit: r1065813 - in /incubator/bval/sandbox/lang3-work/bval-jsr303/src:
main/java/org/apache/bval/jsr303/ClassValidator.java
test/java/org/apache/bval/jsr303/ExceptionsContractTest.java
Author: mbenson
Date: Mon Jan 31 21:54:23 2011
New Revision: 1065813
URL: http://svn.apache.org/viewvc?rev=1065813&view=rev
Log:
TCK ValidateValueTest.testExistingPropertyWoConstraintsNorCascaded
Modified:
incubator/bval/sandbox/lang3-work/bval-jsr303/src/main/java/org/apache/bval/jsr303/ClassValidator.java
incubator/bval/sandbox/lang3-work/bval-jsr303/src/test/java/org/apache/bval/jsr303/ExceptionsContractTest.java
Modified: incubator/bval/sandbox/lang3-work/bval-jsr303/src/main/java/org/apache/bval/jsr303/ClassValidator.java
URL: http://svn.apache.org/viewvc/incubator/bval/sandbox/lang3-work/bval-jsr303/src/main/java/org/apache/bval/jsr303/ClassValidator.java?rev=1065813&r1=1065812&r2=1065813&view=diff
==============================================================================
--- incubator/bval/sandbox/lang3-work/bval-jsr303/src/main/java/org/apache/bval/jsr303/ClassValidator.java (original)
+++ incubator/bval/sandbox/lang3-work/bval-jsr303/src/main/java/org/apache/bval/jsr303/ClassValidator.java Mon Jan 31 21:54:23 2011
@@ -20,6 +20,7 @@ package org.apache.bval.jsr303;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Set;
import javax.validation.ConstraintViolation;
@@ -39,10 +40,12 @@ import org.apache.bval.jsr303.util.PathI
import org.apache.bval.jsr303.util.PathNavigation;
import org.apache.bval.jsr303.util.SecureActions;
import org.apache.bval.model.Features;
+import org.apache.bval.model.FeaturesCapable;
import org.apache.bval.model.MetaBean;
import org.apache.bval.model.MetaProperty;
import org.apache.bval.util.AccessStrategy;
import org.apache.bval.util.ValidationHelper;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.ClassUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.reflect.TypeUtils;
@@ -711,6 +714,14 @@ public class ClassValidator implements C
MetaProperty prop = context.getMetaProperty();
boolean fixed = false;
if (value != VALIDATE_PROPERTY) {
+ assert !context.getPropertyPath().isRootPath();
+ if (!cascade) {
+ //TCK doesn't care what type a property is if there are no constraints to validate:
+ FeaturesCapable meta = prop == null ? context.getMetaBean() : prop;
+ if (ArrayUtils.isEmpty(meta.getValidations())) {
+ return Collections.<ConstraintViolation<T>> emptySet();
+ }
+ }
if (!TypeUtils.isAssignable(value == null ? null : value.getClass(), contextTraversal.getType())) {
throw new IncompatiblePropertyValueException(String.format(
"%3$s is not a valid value for property %2$s of type %1$s", beanType, propertyName, value));
Modified: incubator/bval/sandbox/lang3-work/bval-jsr303/src/test/java/org/apache/bval/jsr303/ExceptionsContractTest.java
URL: http://svn.apache.org/viewvc/incubator/bval/sandbox/lang3-work/bval-jsr303/src/test/java/org/apache/bval/jsr303/ExceptionsContractTest.java?rev=1065813&r1=1065812&r2=1065813&view=diff
==============================================================================
--- incubator/bval/sandbox/lang3-work/bval-jsr303/src/test/java/org/apache/bval/jsr303/ExceptionsContractTest.java (original)
+++ incubator/bval/sandbox/lang3-work/bval-jsr303/src/test/java/org/apache/bval/jsr303/ExceptionsContractTest.java Mon Jan 31 21:54:23 2011
@@ -25,6 +25,7 @@ import javax.validation.Validation;
import javax.validation.ValidationException;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
+import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.metadata.BeanDescriptor;
import java.util.Locale;
@@ -262,6 +263,7 @@ public class ExceptionsContractTest exte
@NotNull
public String name;
+ @Min(0)
public int age;
}