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/configu...
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