[hibernate-commits] Hibernate SVN: r15840 - validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Fri Jan 30 11:27:14 EST 2009
Author: hardy.ferentschik
Date: 2009-01-30 11:27:14 -0500 (Fri, 30 Jan 2009)
New Revision: 15840
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java
Log:
renamed a method
Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java 2009-01-30 15:52:21 UTC (rev 15839)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java 2009-01-30 16:27:14 UTC (rev 15840)
@@ -1,4 +1,4 @@
-// $Id$
+// $Id: ValidatorImpl.java 15837 2009-01-30 15:49:57Z hardy.ferentschik $
/*
* JBoss, Home of Professional Open Source
* Copyright 2008, Red Hat Middleware LLC, and individual contributors
@@ -66,7 +66,7 @@
private final ConstraintValidatorFactory constraintValidatorFactory;
private final MessageInterpolator messageInterpolator;
- public ValidatorImpl(ConstraintValidatorFactory constraintValidatorFactory, MessageInterpolator messageInterpolator) {
+ public ValidatorImpl(ConstraintValidatorFactory constraintValidatorFactory, MessageInterpolator messageInterpolator) {
this.constraintValidatorFactory = constraintValidatorFactory;
this.messageInterpolator = messageInterpolator;
}
@@ -79,7 +79,9 @@
throw new IllegalArgumentException( "Validation of a null object" );
}
- ValidationContext<T> context = new ValidationContext<T>( object, messageInterpolator, constraintValidatorFactory );
+ ValidationContext<T> context = new ValidationContext<T>(
+ object, messageInterpolator, constraintValidatorFactory
+ );
List<ConstraintViolationImpl<T>> list = validateInContext( context, Arrays.asList( groups ) );
return new HashSet<ConstraintViolation<T>>( list );
}
@@ -152,6 +154,22 @@
validationContext.markProcessedForCurrentGroup();
}
+ private <T> void validateCascadedConstraints(ValidationContext<T> context) {
+ List<Member> cascadedMembers = getBeanMetaData( context.peekValidatedObjectType() )
+ .getCascadedMembers();
+ for ( Member member : cascadedMembers ) {
+ Type type = ReflectionHelper.typeOf( member );
+ context.pushProperty( ReflectionHelper.getPropertyName( member ) );
+ Object value = ReflectionHelper.getValue( member, context.peekValidatedObject() );
+ if ( value == null ) {
+ continue;
+ }
+ Iterator<?> iter = createIteratorForCascadedValue( context, type, value );
+ validateCascadedConstraint( context, iter );
+ context.popProperty();
+ }
+ }
+
/**
* Called when processing cascaded constraints. This methods inspects the type of the cascaded constraints and in case
* of a list or array creates an iterator in order to validate each element.
@@ -159,12 +177,9 @@
* @param context the validation context.
* @param type the type of the cascaded field or property.
* @param value the actual value.
+ * @return An iterator over the value of a cascaded property.
*/
- private <T> void validateCascadedConstraint(ValidationContext<T> context, Type type, Object value) {
- if ( value == null ) {
- return;
- }
-
+ private <T> Iterator<?> createIteratorForCascadedValue(ValidationContext<T> context, Type type, Object value) {
Iterator<?> iter;
if ( ReflectionHelper.isCollection( type ) ) {
boolean isIterable = value instanceof Iterable;
@@ -185,22 +200,9 @@
list.add( value );
iter = list.iterator();
}
+ return iter;
+ }
- validateCascadedConstraint( context, iter );
- }
-
- private <T> void validateCascadedConstraints(ValidationContext<T> context) {
- List<Member> cascadedMembers = getBeanMetaData( context.peekValidatedObjectType() )
- .getCascadedMembers();
- for ( Member member : cascadedMembers ) {
- Type type = ReflectionHelper.typeOf( member );
- context.pushProperty( ReflectionHelper.getPropertyName( member ) );
- Object value = ReflectionHelper.getValue( member, context.peekValidatedObject() );
- validateCascadedConstraint( context, type, value );
- context.popProperty();
- }
- }
-
private <T> void validateCascadedConstraint(ValidationContext<T> context, Iterator<?> iter) {
Object actualValue;
String propertyIndex;
@@ -271,7 +273,9 @@
continue;
}
- ValidationContext<T> context = new ValidationContext<T>( object, messageInterpolator, constraintValidatorFactory );
+ ValidationContext<T> context = new ValidationContext<T>(
+ object, messageInterpolator, constraintValidatorFactory
+ );
metaConstraint.validateConstraint( object.getClass(), context );
failingConstraintViolations.addAll( context.getFailingConstraints() );
}
@@ -322,7 +326,9 @@
continue;
}
- ValidationContext<T> context = new ValidationContext<T>( ( T ) value, messageInterpolator, constraintValidatorFactory );
+ ValidationContext<T> context = new ValidationContext<T>(
+ ( T ) value, messageInterpolator, constraintValidatorFactory
+ );
context.pushProperty( propertyIter.getOriginalProperty() );
metaConstraint.validateConstraint( beanType, value, context );
failingConstraintViolations.addAll( context.getFailingConstraints() );
More information about the hibernate-commits
mailing list