[hibernate-commits] Hibernate SVN: r17388 - in validator/trunk/hibernate-validator/src: test/java/org/hibernate/validation/constraints and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Fri Aug 21 05:19:24 EDT 2009
Author: hardy.ferentschik
Date: 2009-08-21 05:19:23 -0400 (Fri, 21 Aug 2009)
New Revision: 17388
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConstraintValidatorContextImpl.java
validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/ConstraintValidatorContextTest.java
Log:
HV-208
Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConstraintValidatorContextImpl.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConstraintValidatorContextImpl.java 2009-08-21 08:45:30 UTC (rev 17387)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConstraintValidatorContextImpl.java 2009-08-21 09:19:23 UTC (rev 17388)
@@ -29,12 +29,12 @@
public class ConstraintValidatorContextImpl implements ConstraintValidatorContext {
private final List<ErrorMessage> errorMessages = new ArrayList<ErrorMessage>( 3 );
- private final Path propertyPath;
+ private final PathImpl propertyPath;
private final ConstraintDescriptor<?> constraintDescriptor;
private boolean defaultDisabled;
- public ConstraintValidatorContextImpl(Path propertyPath, ConstraintDescriptor<?> constraintDescriptor) {
+ public ConstraintValidatorContextImpl(PathImpl propertyPath, ConstraintDescriptor<?> constraintDescriptor) {
this.propertyPath = propertyPath;
this.constraintDescriptor = constraintDescriptor;
}
@@ -55,10 +55,6 @@
return constraintDescriptor;
}
- public boolean isDefaultErrorDisabled() {
- return defaultDisabled;
- }
-
public List<ErrorMessage> getErrorMessages() {
List<ErrorMessage> returnedErrorMessages = new ArrayList<ErrorMessage>( errorMessages );
if ( !defaultDisabled ) {
@@ -89,16 +85,22 @@
class ErrorBuilderImpl implements ErrorBuilder {
String messageTemplate;
- Path propertyPath;
+ PathImpl propertyPath;
- ErrorBuilderImpl(String template, Path path) {
+ ErrorBuilderImpl(String template, PathImpl path) {
messageTemplate = template;
propertyPath = path;
}
public NodeBuilderDefinedContext addSubNode(String name) {
- PathImpl path = PathImpl.createShallowCopy( propertyPath );
- path.addNode( new NodeImpl( name ) );
+ PathImpl path;
+ if ( propertyPath.isRootPath() ) {
+ path = PathImpl.createNewPath( name );
+ }
+ else {
+ path = PathImpl.createShallowCopy( propertyPath );
+ path.addNode( new NodeImpl( name ) );
+ }
return new NodeBuilderImpl( messageTemplate, path );
}
Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/ConstraintValidatorContextTest.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/ConstraintValidatorContextTest.java 2009-08-21 08:45:30 UTC (rev 17387)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/ConstraintValidatorContextTest.java 2009-08-21 09:19:23 UTC (rev 17388)
@@ -36,7 +36,7 @@
* HV-198
*/
@Test
- public void testCorrectAnnotationTypeForWithReportAsSingleViolation() {
+ public void testCorrectSubNodePath() {
Validator validator = TestUtil.getValidator();
Item item = new Item();
@@ -48,4 +48,22 @@
assertNumberOfViolations( constraintViolations, 1 );
assertCorrectPropertyPaths( constraintViolations, "interval.start" );
}
+
+ /**
+ * HV-208
+ */
+ @Test
+ public void testCorrectPath() {
+ Validator validator = TestUtil.getValidator();
+
+ Item item = new Item();
+ Interval interval = new Interval();
+ item.interval = interval;
+ item.interval.start = 10;
+ item.interval.end = 5;
+
+ Set<ConstraintViolation<Interval>> constraintViolations = validator.validate( interval );
+ assertNumberOfViolations( constraintViolations, 1 );
+ assertCorrectPropertyPaths( constraintViolations, "start" );
+ }
}
More information about the hibernate-commits
mailing list