[hibernate-commits] Hibernate SVN: r15825 - in validator/trunk: hibernate-validator/src/test/java/org/hibernate/validation/eg and 2 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Jan 27 14:20:13 EST 2009


Author: epbernard
Date: 2009-01-27 14:20:12 -0500 (Tue, 27 Jan 2009)
New Revision: 15825

Added:
   validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/eg/Account.java
Modified:
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/BeanDescriptorImpl.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/ElementDescriptor.java
Log:
BVAL-93 BVAL-94 rework around the notion of hasConstraints()

Modified: 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	2009-01-27 01:29:23 UTC (rev 15824)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/BeanDescriptorImpl.java	2009-01-27 19:20:12 UTC (rev 15825)
@@ -21,7 +21,7 @@
 	/**
 	 * @todo add child validation
 	 */
-	public boolean hasConstraints() {
+	public boolean isBeanConstrained() {
 		return metadataBean.geMetaConstraintList().size() > 0;
 	}
 
@@ -29,7 +29,7 @@
 		return metadataBean.getPropertyDescriptors().get( propertyName );
 	}
 
-	public Set<String> getPropertiesWithConstraints() {
+	public Set<String> getConstrainedProperties() {
 		return Collections.unmodifiableSet( metadataBean.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	2009-01-27 01:29:23 UTC (rev 15824)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/ElementDescriptorImpl.java	2009-01-27 19:20:12 UTC (rev 15825)
@@ -52,6 +52,10 @@
 		constraintDescriptors.add( constraintDescriptor );
 	}
 
+	public boolean hasConstraints() {
+		return constraintDescriptors.size() != 0;
+	}
+
 	/**
 	 * {@inheritDoc}
 	 *

Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/eg/Account.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/eg/Account.java	                        (rev 0)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/eg/Account.java	2009-01-27 19:20:12 UTC (rev 15825)
@@ -0,0 +1,28 @@
+package org.hibernate.validation.eg;
+
+import javax.validation.Valid;
+
+/**
+ * Class with no constraints but with a cascade @Valid annotation
+ */
+public class Account {
+	private String accountLogin;
+	private Customer customer;
+
+	public String getAccountLogin() {
+		return accountLogin;
+	}
+
+	public void setAccountLogin(String accountLogin) {
+		this.accountLogin = accountLogin;
+	}
+
+	@Valid
+	public Customer getCustomer() {
+		return customer;
+	}
+
+	public void setCustomer(Customer customer) {
+		this.customer = customer;
+	}
+}

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	2009-01-27 01:29:23 UTC (rev 15824)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/ValidatorImplTest.java	2009-01-27 19:20:12 UTC (rev 15825)
@@ -46,6 +46,7 @@
 import org.hibernate.validation.eg.groups.Last;
 import org.hibernate.validation.eg.Order;
 import org.hibernate.validation.eg.Unconstraint;
+import org.hibernate.validation.eg.Account;
 import org.hibernate.validation.util.TestUtil;
 
 /**
@@ -84,9 +85,11 @@
 	}
 
 	@Test
-	public void testHasConstraints() {
+	public void testHasConstraintsAndIsBeanConstrained() {
 		Validator validator = TestUtil.getValidator();
-		assertTrue( "There should be constraints", validator.getConstraintsForClass( Customer.class ).hasConstraints() );
+		assertTrue( "There should not be constraints", !validator.getConstraintsForClass( Customer.class ).hasConstraints() );
+		assertTrue( "It should be constrainted", validator.getConstraintsForClass( Customer.class ).isBeanConstrained() );
+		assertTrue( "It should be constrainted even if it has no constraint annotations - not implemented yet", validator.getConstraintsForClass( Account.class ).isBeanConstrained() );
 	}
 
 	@Test(expected = IllegalArgumentException.class)

Modified: validator/trunk/validation-api/src/main/java/javax/validation/BeanDescriptor.java
===================================================================
--- validator/trunk/validation-api/src/main/java/javax/validation/BeanDescriptor.java	2009-01-27 01:29:23 UTC (rev 15824)
+++ validator/trunk/validation-api/src/main/java/javax/validation/BeanDescriptor.java	2009-01-27 19:20:12 UTC (rev 15825)
@@ -9,10 +9,15 @@
  */
 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
+	 * Returns true if the bean involves validation:
+	 *  - a constraint is hosted on the bean itself
+	 *  - a constraint is hosted on one of the bean properties
+	 *  - or a bean property is marked for cascade (@Valid)
+	 *
+	 * @return true if the bean nvolves validation
+	 *
 	 */
-	boolean hasConstraints();
+	boolean isBeanConstrained();
 
 	/**
 	 * Return the property level constraints for a given propertyName
@@ -25,7 +30,8 @@
 	PropertyDescriptor getConstraintsForProperty(String propertyName);
 
 	/**
-	 * return the property names having at least a constraint defined
+	 * return the property names having at least a constraint defined or marked
+	 * as cascaded (@Valid)
 	 */
-	Set<String> getPropertiesWithConstraints();
+	Set<String> getConstrainedProperties();
 }

Modified: validator/trunk/validation-api/src/main/java/javax/validation/ElementDescriptor.java
===================================================================
--- validator/trunk/validation-api/src/main/java/javax/validation/ElementDescriptor.java	2009-01-27 01:29:23 UTC (rev 15824)
+++ validator/trunk/validation-api/src/main/java/javax/validation/ElementDescriptor.java	2009-01-27 19:20:12 UTC (rev 15825)
@@ -29,6 +29,11 @@
 public interface ElementDescriptor {
 
 	/**
+	 * return true if at least one constraint declaration is present on the element.
+	 */
+	boolean hasConstraints();
+
+	/**
 	 * @return Statically defined returned type.
 	 *
 	 * @todo should it be Type or even completly removed




More information about the hibernate-commits mailing list