[hibernate-commits] Hibernate SVN: r17534 - core/trunk/annotations/src/main/java/org/hibernate/cfg/beanvalidation.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Sep 23 12:25:09 EDT 2009


Author: epbernard
Date: 2009-09-23 12:25:07 -0400 (Wed, 23 Sep 2009)
New Revision: 17534

Modified:
   core/trunk/annotations/src/main/java/org/hibernate/cfg/beanvalidation/BeanValidationEventListener.java
Log:
Fix unsafe use and copy data to Set<ConstraintViolation<?>>

Modified: core/trunk/annotations/src/main/java/org/hibernate/cfg/beanvalidation/BeanValidationEventListener.java
===================================================================
--- core/trunk/annotations/src/main/java/org/hibernate/cfg/beanvalidation/BeanValidationEventListener.java	2009-09-23 16:12:46 UTC (rev 17533)
+++ core/trunk/annotations/src/main/java/org/hibernate/cfg/beanvalidation/BeanValidationEventListener.java	2009-09-23 16:25:07 UTC (rev 17534)
@@ -2,6 +2,7 @@
 
 import java.util.Properties;
 import java.util.Set;
+import java.util.HashSet;
 import java.util.concurrent.ConcurrentHashMap;
 import javax.validation.ConstraintViolation;
 import javax.validation.ConstraintViolationException;
@@ -67,15 +68,16 @@
 										.getValidator();
 		final Class<?>[] groups = groupsPerOperation.get( operation );
 		if ( groups.length > 0 ) {
-			final Set<ConstraintViolation<T>> constraintViolations =
-					validator.validate( object, groups );
-			//FIXME CV should no longer be generics
-			Object unsafeViolations = constraintViolations;
+			final Set<ConstraintViolation<T>> constraintViolations = validator.validate( object, groups );
 			if (constraintViolations.size() > 0 ) {
-				//FIXME add Set<ConstraintViolation<?>>
+				Set<ConstraintViolation<?>> propagatedViolations =
+						new HashSet<ConstraintViolation<?>>( constraintViolations.size() );
+				for ( ConstraintViolation<?> violation : constraintViolations) {
+					propagatedViolations.add(violation);
+				}
 				throw new ConstraintViolationException(
 						"Invalid object at " + operation.getName() + " time for groups " + toString( groups ),
-						(Set<ConstraintViolation<?>>) unsafeViolations);
+						propagatedViolations);
 			}
 		}
 	}



More information about the hibernate-commits mailing list