[hibernate-commits] Hibernate SVN: r16605 - in validator/trunk/hibernate-validator/src: main/java/org/hibernate/validation/engine/xml and 7 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed May 20 05:42:21 EDT 2009


Author: hardy.ferentschik
Date: 2009-05-20 05:42:21 -0400 (Wed, 20 May 2009)
New Revision: 16605

Added:
   validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/Order.java
   validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/OrderLine.java
   validator/trunk/hibernate-validator/src/test/resources/org/
   validator/trunk/hibernate-validator/src/test/resources/org/hibernate/
   validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/
   validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/
   validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/
   validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/order-constraints.xml
   validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/validation.xml
Modified:
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorFactoryImpl.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/xml/ValidationXmlParser.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/xml/XmlMappingParser.java
   validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/XmlConfigurationTest.java
Log:
HV-159 Added tests and bug fix

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorFactoryImpl.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorFactoryImpl.java	2009-05-20 04:39:00 UTC (rev 16604)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorFactoryImpl.java	2009-05-20 09:42:21 UTC (rev 16605)
@@ -93,15 +93,17 @@
 			BeanMetaDataImpl<?> metaData = new BeanMetaDataImpl<T>(
 					( Class<T> ) beanClass, constraintHelper, annotationIgnores
 			);
-			for ( MetaConstraint<?, ? extends Annotation> constraint : mappingParser.getConstraintMap()
-					.get( beanClass ) ) {
+
+			for ( MetaConstraint<?, ? extends Annotation> constraint : mappingParser.getConstraintsForClass( beanClass ) ) {
 				metaData.addMetaConstraint( constraint );
 			}
-			for ( Member m : mappingParser.getCascadedMembers().get( beanClass ) ) {
+
+			for ( Member m : mappingParser.getCascadedMembersForClass( beanClass ) ) {
 				metaData.addCascadedMember( m );
 			}
-			if ( mappingParser.getDefaultSequences().containsKey( beanClass ) ) {
-				metaData.setDefaultGroupSequence( mappingParser.getDefaultSequences().get( beanClass ) );
+
+			if ( !mappingParser.getDefaultSequenceForClass( beanClass ).isEmpty() ) {
+				metaData.setDefaultGroupSequence( mappingParser.getDefaultSequenceForClass( beanClass ) );
 			}
 			beanMetaDataCache.addBeanMetaData( ( Class<T> ) beanClass, ( BeanMetaDataImpl<T> ) metaData );
 		}

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/xml/ValidationXmlParser.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/xml/ValidationXmlParser.java	2009-05-20 04:39:00 UTC (rev 16604)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/xml/ValidationXmlParser.java	2009-05-20 09:42:21 UTC (rev 16605)
@@ -118,7 +118,7 @@
 		for ( JAXBElement<String> mappingFileName : config.getConstraintMapping() ) {
 			if ( log.isDebugEnabled() ) {
 				log.debug(
-						"Trying to open input stream for {}.", mappingFileName
+						"Trying to open input stream for {}.", mappingFileName.getValue()
 				);
 				InputStream in = getInputStreamForPath( mappingFileName.getValue() );
 				if ( in == null ) {

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/xml/XmlMappingParser.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/xml/XmlMappingParser.java	2009-05-20 04:39:00 UTC (rev 16604)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/xml/XmlMappingParser.java	2009-05-20 09:42:21 UTC (rev 16605)
@@ -27,6 +27,7 @@
 import java.lang.reflect.Method;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -127,16 +128,31 @@
 		return annotationIgnores;
 	}
 
-	public Map<Class<?>, List<MetaConstraint<?, ? extends Annotation>>> getConstraintMap() {
-		return constraintMap;
+	public List<MetaConstraint<?, ? extends Annotation>> getConstraintsForClass(Class<?> beanClass) {
+		if ( constraintMap.containsKey( beanClass ) ) {
+			return constraintMap.get( beanClass );
+		}
+		else {
+			return Collections.emptyList();
+		}
 	}
 
-	public Map<Class<?>, List<Member>> getCascadedMembers() {
-		return cascadedMembers;
+	public List<Member> getCascadedMembersForClass(Class<?> beanClass) {
+		if ( cascadedMembers.containsKey( beanClass ) ) {
+			return cascadedMembers.get( beanClass );
+		}
+		else {
+			return Collections.emptyList();
+		}
 	}
 
-	public Map<Class<?>, List<Class<?>>> getDefaultSequences() {
-		return defaultSequences;
+	public List<Class<?>> getDefaultSequenceForClass(Class<?> beanClass) {
+		if ( defaultSequences.containsKey( beanClass ) ) {
+			return defaultSequences.get( beanClass );
+		}
+		else {
+			return Collections.emptyList();
+		}
 	}
 
 	@SuppressWarnings("unchecked")

Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/Order.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/Order.java	                        (rev 0)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/Order.java	2009-05-20 09:42:21 UTC (rev 16605)
@@ -0,0 +1,32 @@
+// $Id$
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, Red Hat Middleware LLC, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.hibernate.validation.engine.xml;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Hardy Ferentschik
+ */
+public class Order {
+
+	private Date orderDate;
+
+	private List<OrderLine> orderLines;
+
+}
\ No newline at end of file


Property changes on: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/Order.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/OrderLine.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/OrderLine.java	                        (rev 0)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/OrderLine.java	2009-05-20 09:42:21 UTC (rev 16605)
@@ -0,0 +1,24 @@
+// $Id$
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, Red Hat Middleware LLC, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.hibernate.validation.engine.xml;
+
+/**
+ * @author Hardy Ferentschik
+ */
+public class OrderLine {
+}


Property changes on: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/OrderLine.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/XmlConfigurationTest.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/XmlConfigurationTest.java	2009-05-20 04:39:00 UTC (rev 16604)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/xml/XmlConfigurationTest.java	2009-05-20 09:42:21 UTC (rev 16605)
@@ -22,6 +22,7 @@
 import javax.validation.ValidationException;
 import javax.validation.Validator;
 
+import static org.testng.Assert.assertFalse;
 import org.testng.annotations.Test;
 
 import org.hibernate.validation.util.TestUtil;
@@ -131,4 +132,15 @@
 	public void testInvalidValidationXml() {
 		getValidatorWithCustomConfiguration( "META-INF/validation-invalid-xml.xml" );
 	}
+
+	/**
+	 * HV-159
+	 */
+	@Test
+	public void testNoDefinedConstraints() {
+		Validator validator = getValidatorWithCustomConfiguration( "org/hibernate/validation/engine/xml/validation.xml" );
+		assertFalse(
+				validator.getConstraintsForClass( Order.class ).isBeanConstrained(), "Bean should be unsonstrained"
+		);
+	}
 }

Added: validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/order-constraints.xml
===================================================================
--- validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/order-constraints.xml	                        (rev 0)
+++ validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/order-constraints.xml	2009-05-20 09:42:21 UTC (rev 16605)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<constraint-mappings 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd"
+    xmlns="http://jboss.org/xml/ns/javax/validation/mapping">
+    
+    <default-package>org.hibernate.validation.engine.xml</default-package>
+    
+    <bean class="Order" ignore-annotations="false">
+    </bean>
+    
+</constraint-mappings>
\ No newline at end of file


Property changes on: validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/order-constraints.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/validation.xml
===================================================================
--- validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/validation.xml	                        (rev 0)
+++ validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/validation.xml	2009-05-20 09:42:21 UTC (rev 16605)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<validation-config
+        xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration validation-configuration-1.0.xsd">
+
+    <constraint-mapping>org/hibernate/validation/engine/xml/order-constraints.xml</constraint-mapping>
+</validation-config>
\ No newline at end of file


Property changes on: validator/trunk/hibernate-validator/src/test/resources/org/hibernate/validation/engine/xml/validation.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native




More information about the hibernate-commits mailing list