[hibernate-commits] Hibernate SVN: r17101 - validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Wed Jul 15 11:24:21 EDT 2009
Author: hardy.ferentschik
Date: 2009-07-15 11:24:21 -0400 (Wed, 15 Jul 2009)
New Revision: 17101
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java
Log:
fixed handling of maps in conjunction with @Valid
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-07-15 14:52:23 UTC (rev 17100)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java 2009-07-15 15:24:21 UTC (rev 17101)
@@ -387,7 +387,7 @@
}
else if ( ReflectionHelper.isMap( type ) ) {
Map<?, ?> map = ( Map<?, ?> ) value;
- iter = map.values().iterator();
+ iter = map.entrySet().iterator();
context.markCurrentPropertyAsIterable();
}
else if ( TypeUtils.isArray( type ) ) {
@@ -437,16 +437,13 @@
if ( value instanceof Map.Entry ) {
mapKey = ( ( Map.Entry ) value ).getKey();
value = ( ( Map.Entry ) value ).getValue();
+ currentPath.getLeafNode().setKey( mapKey );
}
-
- if ( isIndexable ) {
- // only one of the two values index/mapKey will be set. The other will stay null.
+ else if ( isIndexable ) {
currentPath.getLeafNode().setIndex( index );
- currentPath.getLeafNode().setKey( mapKey );
}
if ( !context.isAlreadyValidated( value, currentGroup, currentPath ) ) {
-
GroupChain groupChain = groupChainGenerator.getGroupChainFor(
Arrays.asList(
new Class<?>[] {
More information about the hibernate-commits
mailing list