[hibernate-commits] Hibernate SVN: r15632 - in validator/trunk: hibernate-validator/src/main/java/org/hibernate/validation/impl and 2 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Dec 2 06:03:35 EST 2008


Author: epbernard
Date: 2008-12-02 06:03:35 -0500 (Tue, 02 Dec 2008)
New Revision: 15632

Added:
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/BeanDescriptorImpl.java
   validator/trunk/validation-api/src/main/java/javax/validation/metadata/
Modified:
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/MetaDataProviderImpl.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/ElementDescriptorImpl.java
   validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/ValidatorImplTest.java
   validator/trunk/validation-api/src/main/java/javax/validation/BeanDescriptor.java
   validator/trunk/validation-api/src/main/java/javax/validation/Validator.java
Log:
BVAL-77 move metadata methods to BeanValidation

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/MetaDataProviderImpl.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/MetaDataProviderImpl.java	2008-12-02 09:57:05 UTC (rev 15631)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/MetaDataProviderImpl.java	2008-12-02 11:03:35 UTC (rev 15632)
@@ -41,6 +41,7 @@
 import org.hibernate.validation.impl.ConstraintDescriptorImpl;
 import org.hibernate.validation.impl.ConstraintFactoryImpl;
 import org.hibernate.validation.impl.ElementDescriptorImpl;
+import org.hibernate.validation.impl.BeanDescriptorImpl;
 import org.hibernate.validation.util.LoggerFactory;
 import org.hibernate.validation.util.ReflectionHelper;
 
@@ -65,7 +66,7 @@
 	/**
 	 * The main element descriptor for <code>beanClass</code>.
 	 */
-	private ElementDescriptorImpl beanDescriptor;
+	private BeanDescriptorImpl<T> beanDescriptor;
 
 	/**
 	 * List of constraints.
@@ -109,7 +110,7 @@
 	 * for this validator and create meta data.
 	 */
 	private void createMetaData() {
-		beanDescriptor = new ElementDescriptorImpl( beanClass, false, "" );
+		beanDescriptor = new BeanDescriptorImpl<T>( beanClass, this );
 		List<Class> classes = new ArrayList<Class>();
 		computeClassHierarchy( beanClass, classes );
 		for ( Class current : classes ) {

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	2008-12-02 09:57:05 UTC (rev 15631)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java	2008-12-02 11:03:35 UTC (rev 15632)
@@ -334,7 +334,11 @@
 		return new HashSet<ConstraintViolation<T>>( failingConstraintViolations );
 	}
 
+	public BeanDescriptor getConstraintsForClass(Class<?> clazz) {
+		return factory.getMetadataProvider( clazz ).getBeanDescriptor();
+	}
 
+
 	private <T> void validateValue(Class<T> beanType, Object object, PropertyIterator propertyIter, List<ConstraintViolationImpl<T>> failingConstraintViolations, String... groups) {
 		ConstraintDescriptorImpl constraintDescriptor = getConstraintDescriptorForPath( beanType, propertyIter );
 
@@ -492,27 +496,6 @@
 
 
 	/**
-	 * @todo add child validation
-	 */
-	public boolean hasConstraints(Class<?> clazz) {
-		return factory.getMetadataProvider( clazz ).getConstraintMetaDataList().size() > 0;
-	}
-
-	public BeanDescriptor getConstraintsForClass(Class<?> clazz) {
-		return factory.getMetadataProvider( clazz ).getBeanDescriptor();
-	}
-
-	public PropertyDescriptor getConstraintsForProperty(Class<?> clazz, String propertyName) {
-		return factory.getMetadataProvider( clazz ).getPropertyDescriptors().get( propertyName );
-	}
-
-	public Set<String> getPropertiesWithConstraints(Class<?> clazz) {
-		final MetaDataProviderImpl<?> dataProvider = factory.getMetadataProvider( clazz );
-		return Collections.unmodifiableSet( dataProvider.getPropertyDescriptors().keySet() );
-	}
-
-
-	/**
 	 * Checks whether the provided group name is a group sequence and if so expands the group name and add the expanded
 	 * groups names to <code>expandedGroupName </code>
 	 *

Added: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/BeanDescriptorImpl.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/BeanDescriptorImpl.java	                        (rev 0)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/BeanDescriptorImpl.java	2008-12-02 11:03:35 UTC (rev 15632)
@@ -0,0 +1,35 @@
+package org.hibernate.validation.impl;
+
+import java.util.Set;
+import java.util.Collections;
+import javax.validation.BeanDescriptor;
+import javax.validation.PropertyDescriptor;
+
+import org.hibernate.validation.engine.MetaDataProvider;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class BeanDescriptorImpl<T> extends ElementDescriptorImpl implements BeanDescriptor {
+	private final MetaDataProvider<T> metadataProvider;
+
+	public BeanDescriptorImpl(Class<T> returnType, MetaDataProvider<T> metadataProvider) {
+		super(returnType, false, "");
+		this.metadataProvider = metadataProvider;
+	}
+
+	/**
+	 * @todo add child validation
+	 */
+	public boolean hasConstraints() {
+		return metadataProvider.getConstraintMetaDataList().size() > 0;
+	}
+
+	public PropertyDescriptor getConstraintsForProperty(String propertyName) {
+		return metadataProvider.getPropertyDescriptors().get( propertyName );
+	}
+
+	public Set<String> getPropertiesWithConstraints() {
+		return Collections.unmodifiableSet( metadataProvider.getPropertyDescriptors().keySet() );
+	}
+}

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/ElementDescriptorImpl.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/ElementDescriptorImpl.java	2008-12-02 09:57:05 UTC (rev 15631)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/ElementDescriptorImpl.java	2008-12-02 11:03:35 UTC (rev 15632)
@@ -35,14 +35,14 @@
  * @todo Handle problem in descirbing cyclic dependecies for propertyPath
  */
 //FIXME I implement both interfaces on the same object as a quick hack, we need to fix that.
-public class ElementDescriptorImpl implements PropertyDescriptor, BeanDescriptor {
-	private final Class returnType;
+public class ElementDescriptorImpl implements PropertyDescriptor {
+	private final Class<?> returnType;
 	private final boolean cascaded;
 	private final List<ConstraintDescriptor> constraintDescriptors = new ArrayList<ConstraintDescriptor>();
 	private final String propertyPath;
 
 
-	public ElementDescriptorImpl(Class returnType, boolean cascaded, String propertyPath) {
+	public ElementDescriptorImpl(Class<?> returnType, boolean cascaded, String propertyPath) {
 		this.returnType = returnType;
 		this.cascaded = cascaded;
 		this.propertyPath = propertyPath;

Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/ValidatorImplTest.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/ValidatorImplTest.java	2008-12-02 09:57:05 UTC (rev 15631)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/ValidatorImplTest.java	2008-12-02 11:03:35 UTC (rev 15632)
@@ -70,7 +70,7 @@
 	@Test
 	public void testWrongMethodName() {
 		try {
-			getHibernateValidator().hasConstraints( Boy.class );
+			getHibernateValidator().getConstraintsForClass( Boy.class ).hasConstraints();
 			fail();
 		}
 		catch ( ValidationException e ) {
@@ -85,19 +85,19 @@
 
 	@Test(expected = IllegalArgumentException.class)
 	public void testNullParamterToValidatorImplConstructor() {
-		getHibernateValidator().hasConstraints( null );
+		getHibernateValidator().getConstraintsForClass( null );
 	}
 
 	@Test
 	public void testUnconstraintClass() {
 		Validator validator = getHibernateValidator();
-		assertTrue( "There should be no constraints", !validator.hasConstraints( Unconstraint.class ) );
+		assertTrue( "There should be no constraints", !validator.getConstraintsForClass( Unconstraint.class ).hasConstraints() );
 	}
 
 	@Test
 	public void testHasConstraints() {
 		Validator validator = getHibernateValidator();
-		assertTrue( "There should be constraints", validator.hasConstraints( Customer.class ) );
+		assertTrue( "There should be constraints", validator.getConstraintsForClass( Customer.class ).hasConstraints() );
 	}
 
 	@Test(expected = IllegalArgumentException.class)
@@ -271,7 +271,7 @@
 	@Test(expected = ValidationException.class)
 	public void testInvalidSequenceName() {
 		Validator validator = getHibernateValidator();
-		validator.hasConstraints( EnglishDictonary.class );
+		validator.getConstraintsForClass( EnglishDictonary.class ).hasConstraints();
 	}
 
 	@Test

Modified: validator/trunk/validation-api/src/main/java/javax/validation/BeanDescriptor.java
===================================================================
--- validator/trunk/validation-api/src/main/java/javax/validation/BeanDescriptor.java	2008-12-02 09:57:05 UTC (rev 15631)
+++ validator/trunk/validation-api/src/main/java/javax/validation/BeanDescriptor.java	2008-12-02 11:03:35 UTC (rev 15632)
@@ -1,9 +1,31 @@
 package javax.validation;
 
+import java.util.Set;
+
 /**
  * Describe a constrained Java Bean and the constraints associated to it.
  * 
  * @author Emmanuel Bernard
  */
 public interface BeanDescriptor extends ElementDescriptor {
+	/**
+	 * return true if at least one constraint declaration is present for the given bean
+	 * or if one property is marked for validation cascade
+	 */
+	boolean hasConstraints();
+
+	/**
+	 * Return the property level constraints for a given propertyName
+	 * or null if either the property does not exist or has no constraint
+	 * The returned object (and associated objects including ConstraintDescriptors)
+     * are immutable.
+	 *
+	 * @param propertyName property evaludated
+	 */
+	PropertyDescriptor getConstraintsForProperty(String propertyName);
+
+	/**
+	 * return the property names having at least a constraint defined
+	 */
+	Set<String> getPropertiesWithConstraints();
 }

Modified: validator/trunk/validation-api/src/main/java/javax/validation/Validator.java
===================================================================
--- validator/trunk/validation-api/src/main/java/javax/validation/Validator.java	2008-12-02 09:57:05 UTC (rev 15631)
+++ validator/trunk/validation-api/src/main/java/javax/validation/Validator.java	2008-12-02 11:03:35 UTC (rev 15632)
@@ -73,14 +73,6 @@
 	<T> Set<ConstraintViolation<T>> validateValue(Class<T> beanType, String propertyName, Object value, String... groups);
 
 	/**
-	 * return true if at least one constraint declaration is present for the given bean
-	 * or if one property is marked for validation cascade
-	 *
-	 * @param clazz class type evaluated
-	 */
-	boolean hasConstraints(Class<?> clazz);
-
-	/**
 	 * Return the class level constraints
 	 * The returned object (and associated objects including ConstraintDescriptors)
      * are immutable.
@@ -88,23 +80,4 @@
 	 * @param clazz class type evaluated
 	 */
 	BeanDescriptor getConstraintsForClass(Class<?> clazz);
-
-	/**
-	 * Return the property level constraints for a given propertyName
-	 * or null if either the property does not exist or has no constraint
-	 * The returned object (and associated objects including ConstraintDescriptors)
-     * are immutable.
-	 *
-	 * @param clazz class type evaluated
-	 * @param propertyName property evaludated
-	 */
-	PropertyDescriptor getConstraintsForProperty(Class<?> clazz, String propertyName);
-
-	/**
-	 * return the property names having at least a constraint defined
-	 *
-	 * @param clazz class type evaluated
-	 */
-	Set<String> getPropertiesWithConstraints(Class<?> clazz);
-
 }




More information about the hibernate-commits mailing list