BVAL-168: more notempty align with spec
Project: http://git-wip-us.apache.org/repos/asf/bval/repo Commit: http://git-wip-us.apache.org/repos/asf/bval/commit/83f28d84 Tree: http://git-wip-us.apache.org/repos/asf/bval/tree/83f28d84 Diff: http://git-wip-us.apache.org/repos/asf/bval/diff/83f28d84 Branch: refs/heads/master Commit: 83f28d84c4b32a123de24ec45b253ed1079c5a62 Parents: dc00fb7 Author: Matt Benson <[email protected]> Authored: Fri Nov 9 12:32:56 2018 -0600 Committer: Matt Benson <[email protected]> Committed: Fri Nov 9 12:32:56 2018 -0600 ---------------------------------------------------------------------- .../constraints/NotEmptyValidatorForCharSequence.java | 2 +- .../constraints/NotEmptyValidatorForCollection.java | 2 +- .../bval/constraints/NotEmptyValidatorForMap.java | 2 +- .../test/java/org/apache/bval/jsr/ValidationTest.java | 14 ++++++++------ .../test/java/org/apache/bval/jsr/example/Book.java | 4 +--- .../bval/jsr/groups/CollectionValidationTest.java | 2 +- .../org/apache/bval/jsr/groups/GroupSequenceTest.java | 4 ++-- 7 files changed, 15 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bval/blob/83f28d84/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCharSequence.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCharSequence.java b/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCharSequence.java index 320c105..d408ab7 100644 --- a/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCharSequence.java +++ b/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCharSequence.java @@ -29,6 +29,6 @@ public class NotEmptyValidatorForCharSequence @Override public boolean isValid(CharSequence value, ConstraintValidatorContext context) { - return value == null || value.length() > 0; + return value != null && value.length() > 0; } } http://git-wip-us.apache.org/repos/asf/bval/blob/83f28d84/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCollection.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCollection.java b/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCollection.java index da0c438..ab8a39b 100644 --- a/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCollection.java +++ b/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForCollection.java @@ -30,6 +30,6 @@ public class NotEmptyValidatorForCollection @Override public boolean isValid(Collection<?> value, ConstraintValidatorContext context) { - return value == null || !value.isEmpty(); + return !(value == null || value.isEmpty()); } } http://git-wip-us.apache.org/repos/asf/bval/blob/83f28d84/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForMap.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForMap.java b/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForMap.java index 6a5221e..1ce6c9b 100644 --- a/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForMap.java +++ b/bval-jsr/src/main/java/org/apache/bval/constraints/NotEmptyValidatorForMap.java @@ -29,6 +29,6 @@ public class NotEmptyValidatorForMap implements ConstraintValidator<javax.valida @Override public boolean isValid(Map<?, ?> value, ConstraintValidatorContext context) { - return value == null || !value.isEmpty(); + return !(value == null || value.isEmpty()); } } http://git-wip-us.apache.org/repos/asf/bval/blob/83f28d84/bval-jsr/src/test/java/org/apache/bval/jsr/ValidationTest.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/test/java/org/apache/bval/jsr/ValidationTest.java b/bval-jsr/src/test/java/org/apache/bval/jsr/ValidationTest.java index b696627..197fcf9 100644 --- a/bval-jsr/src/test/java/org/apache/bval/jsr/ValidationTest.java +++ b/bval-jsr/src/test/java/org/apache/bval/jsr/ValidationTest.java @@ -38,6 +38,7 @@ import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.constraints.AssertTrue; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.validation.groups.Default; @@ -45,7 +46,7 @@ import javax.validation.metadata.BeanDescriptor; import javax.validation.metadata.ConstraintDescriptor; import javax.validation.metadata.PropertyDescriptor; -import org.apache.bval.constraints.NotNullValidator; +import org.apache.bval.constraints.NotEmptyValidatorForCharSequence; import org.apache.bval.jsr.example.AccessTestBusinessObject; import org.apache.bval.jsr.example.AccessTestBusinessObjectSub; import org.apache.bval.jsr.example.Address; @@ -252,6 +253,8 @@ public class ValidationTest extends ValidationTestBase { @Test public void testGroups() { final Author author = new Author(); + author.setFirstName("Wile"); + author.setLastName("Coyote"); author.setCompany("ACME"); final Book book = new Book(); book.setTitle(""); @@ -262,7 +265,7 @@ public class ValidationTest extends ValidationTestBase { // assuming an english locale, the interpolated message is returned for (ConstraintViolation<Book> constraintViolation : constraintViolations) { if (Book.class.equals(constraintViolation.getRootBean().getClass())) { - assertEquals("may not be empty", constraintViolation.getMessage()); + assertEquals("must not be empty", constraintViolation.getMessage()); assertSame(book, constraintViolation.getRootBean()); // the offending property @@ -649,21 +652,20 @@ public class ValidationTest extends ValidationTestBase { // property with no constraint assertNull(bookBeanDescriptor.getConstraintsForProperty("description")); PropertyDescriptor propertyDescriptor = bookBeanDescriptor.getConstraintsForProperty("title"); - assertEquals(2, propertyDescriptor.getConstraintDescriptors().size()); + assertEquals(1, propertyDescriptor.getConstraintDescriptors().size()); assertEquals("title", propertyDescriptor.getPropertyName()); // assuming the implementation returns the NotEmpty constraint first Iterator<ConstraintDescriptor<?>> iter = propertyDescriptor.getConstraintDescriptors().iterator(); ConstraintDescriptor<?> constraintDescriptor = null; while (iter.hasNext()) { constraintDescriptor = iter.next(); - if (constraintDescriptor.getAnnotation().annotationType().equals(NotNull.class)) { + if (constraintDescriptor.getAnnotation().annotationType().equals(NotEmpty.class)) { break; } - } assertNotNull(constraintDescriptor); assertEquals(1, constraintDescriptor.getGroups().size()); // "first" - assertEquals(NotNullValidator.class, constraintDescriptor.getConstraintValidatorClasses().get(0)); + assertTrue(constraintDescriptor.getConstraintValidatorClasses().contains(NotEmptyValidatorForCharSequence.class)); // assuming the implementation returns the Size constraint first propertyDescriptor = bookBeanDescriptor.getConstraintsForProperty("subtitle"); Iterator<ConstraintDescriptor<?>> iterator = propertyDescriptor.getConstraintDescriptors().iterator(); http://git-wip-us.apache.org/repos/asf/bval/blob/83f28d84/bval-jsr/src/test/java/org/apache/bval/jsr/example/Book.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/test/java/org/apache/bval/jsr/example/Book.java b/bval-jsr/src/test/java/org/apache/bval/jsr/example/Book.java index 7782b3d..386c5df 100644 --- a/bval-jsr/src/test/java/org/apache/bval/jsr/example/Book.java +++ b/bval-jsr/src/test/java/org/apache/bval/jsr/example/Book.java @@ -18,16 +18,14 @@ */ package org.apache.bval.jsr.example; -import org.apache.bval.constraints.NotEmpty; - import javax.validation.GroupSequence; import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @GroupSequence({ First.class, Second.class, Book.class, Last.class }) public class Book { - @NotNull(groups = First.class) @NotEmpty(groups = First.class) private String title; http://git-wip-us.apache.org/repos/asf/bval/blob/83f28d84/bval-jsr/src/test/java/org/apache/bval/jsr/groups/CollectionValidationTest.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/test/java/org/apache/bval/jsr/groups/CollectionValidationTest.java b/bval-jsr/src/test/java/org/apache/bval/jsr/groups/CollectionValidationTest.java index 9fd674f..ac17a81 100644 --- a/bval-jsr/src/test/java/org/apache/bval/jsr/groups/CollectionValidationTest.java +++ b/bval-jsr/src/test/java/org/apache/bval/jsr/groups/CollectionValidationTest.java @@ -134,7 +134,7 @@ public class CollectionValidationTest { book1.setSubtitle("How it really works"); Author hawking = new Author(); hawking.setFirstName("Stephen"); - hawking.setFirstName("Hawking"); + hawking.setLastName("Hawking"); hawking.setAddresses(new ArrayList<Address>(1)); Address adr = new Address(); adr.setAddressline1("Street 1"); http://git-wip-us.apache.org/repos/asf/bval/blob/83f28d84/bval-jsr/src/test/java/org/apache/bval/jsr/groups/GroupSequenceTest.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/test/java/org/apache/bval/jsr/groups/GroupSequenceTest.java b/bval-jsr/src/test/java/org/apache/bval/jsr/groups/GroupSequenceTest.java index cb30598..0570c53 100644 --- a/bval-jsr/src/test/java/org/apache/bval/jsr/groups/GroupSequenceTest.java +++ b/bval-jsr/src/test/java/org/apache/bval/jsr/groups/GroupSequenceTest.java @@ -115,7 +115,7 @@ public class GroupSequenceTest extends ValidationTestBase { constraintViolations = validator.validate(book, First.class, Second.class, Last.class); ConstraintViolation<?> constraintViolation = constraintViolations.iterator().next(); assertEquals(1, constraintViolations.size()); - assertEquals("may not be empty", constraintViolation.getMessage()); + assertEquals("must not be empty", constraintViolation.getMessage()); assertEquals(book, constraintViolation.getRootBean()); assertEquals(book.getTitle(), constraintViolation.getInvalidValue()); assertEquals("title", constraintViolation.getPropertyPath().toString()); @@ -165,7 +165,7 @@ public class GroupSequenceTest extends ValidationTestBase { constraintViolations = validator.validate(book, Book.All.class); ConstraintViolation<?> constraintViolation = constraintViolations.iterator().next(); assertEquals(1, constraintViolations.size()); - assertEquals("may not be null", constraintViolation.getMessage()); + assertEquals("must not be empty", constraintViolation.getMessage()); assertEquals(book, constraintViolation.getRootBean()); assertEquals(book.getTitle(), constraintViolation.getInvalidValue()); assertEquals("title", constraintViolation.getPropertyPath().toString());
