Author: epbernard
Date: 2008-11-04 20:39:44 -0500 (Tue, 04 Nov 2008)
New Revision: 15510
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/ConstraintViolationImpl.java
validator/trunk/validation-api/src/main/java/javax/validation/ConstraintViolation.java
Log:
BVAL-60 ConstraintViolation points to ConstraintDescriptor
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-11-05
01:20:01 UTC (rev 15509)
+++
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ValidatorImpl.java 2008-11-05
01:39:44 UTC (rev 15510)
@@ -186,7 +186,8 @@
leafBeanInstance,
value,
context.peekPropertyPath(), //FIXME use error.getProperty()
- context.getCurrentGroup()
+ context.getCurrentGroup(),
+ constraintDescriptor
);
context.addConstraintFailure( failingConstraintViolation );
}
@@ -319,7 +320,8 @@
object,
wrapper.value,
propertyIter.getOriginalProperty(), //FIXME use error.getProperty()
- group
+ group,
+ wrapper.descriptor
);
addFailingConstraint( failingConstraintViolations, failingConstraintViolation );
}
@@ -381,7 +383,8 @@
null,
object,
propertyIter.getOriginalProperty(), //FIXME use error.getProperty()
- ""
+ "",
+ constraintDescriptor
);
addFailingConstraint( failingConstraintViolations, failingConstraintViolation );
}
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/ConstraintViolationImpl.java
===================================================================
---
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/ConstraintViolationImpl.java 2008-11-05
01:20:01 UTC (rev 15509)
+++
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/impl/ConstraintViolationImpl.java 2008-11-05
01:39:44 UTC (rev 15510)
@@ -20,6 +20,7 @@
import java.util.HashSet;
import java.util.Set;
import javax.validation.ConstraintViolation;
+import javax.validation.ConstraintDescriptor;
/**
* @author Emmanuel Bernard
@@ -33,9 +34,11 @@
private String propertyPath;
private HashSet<String> groups;
private Object leafBeanInstance;
+ private final ConstraintDescriptor constraintDescriptor;
- public ConstraintViolationImpl(String message, T rootBean, Class<T> beanClass,
Object leafBeanInstance, Object value, String propertyPath, String group) {
+ public ConstraintViolationImpl(String message, T rootBean, Class<T> beanClass,
Object leafBeanInstance, Object value,
+ String propertyPath, String group, ConstraintDescriptor constraintDescriptor)
{
this.message = message;
this.rootBean = rootBean;
this.beanClass = beanClass;
@@ -44,6 +47,7 @@
groups = new HashSet<String>();
groups.add( group );
this.leafBeanInstance = leafBeanInstance;
+ this.constraintDescriptor = constraintDescriptor;
}
/**
@@ -92,6 +96,10 @@
return groups;
}
+ public ConstraintDescriptor getConstraintDescriptor() {
+ return this.constraintDescriptor;
+ }
+
public void addGroups(Set<String> groupSet) {
groups.addAll( groupSet );
}
Modified:
validator/trunk/validation-api/src/main/java/javax/validation/ConstraintViolation.java
===================================================================
---
validator/trunk/validation-api/src/main/java/javax/validation/ConstraintViolation.java 2008-11-05
01:20:01 UTC (rev 15509)
+++
validator/trunk/validation-api/src/main/java/javax/validation/ConstraintViolation.java 2008-11-05
01:39:44 UTC (rev 15510)
@@ -24,7 +24,6 @@
* well as the message describing the violation.
*
* @author Emmanuel Bernard
- * @todo add pointers to the metadata?
* @todo the rational behind rootBean and propertyPath is to keep the context available
to the user
*/
public interface ConstraintViolation<T> {
@@ -71,4 +70,10 @@
* TODO: considering removal, if you think it's important, speak up
*/
Set<String> getGroups();
+
+ /**
+ * Constraint metadata reported to fail
+ * @return constraint metadata
+ */
+ ConstraintDescriptor getConstraintDescriptor();
}