[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