Repository: nifi Updated Branches: refs/heads/master e12a79ea9 -> 0fed158d1
NIFI-1785 added NON_BLANK_VALIDATOR NIFI-1785 addressed PR comment NIFI-1785 fixed white spaces This closes #365. Signed-off-by: Bryan Bende <bbe...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/0fed158d Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/0fed158d Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/0fed158d Branch: refs/heads/master Commit: 0fed158d14d7c73d91d3516d2af1ea1acf902463 Parents: e12a79e Author: Oleg Zhurakousky <o...@suitcase.io> Authored: Tue Apr 19 14:55:41 2016 -0400 Committer: Bryan Bende <bbe...@apache.org> Committed: Tue Apr 19 16:19:17 2016 -0400 ---------------------------------------------------------------------- .../nifi/processor/util/StandardValidators.java | 17 +++++++++++++++++ .../processor/util/TestStandardValidators.java | 15 +++++++++++++++ 2 files changed, 32 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/0fed158d/nifi-commons/nifi-processor-utilities/src/main/java/org/apache/nifi/processor/util/StandardValidators.java ---------------------------------------------------------------------- diff --git a/nifi-commons/nifi-processor-utilities/src/main/java/org/apache/nifi/processor/util/StandardValidators.java b/nifi-commons/nifi-processor-utilities/src/main/java/org/apache/nifi/processor/util/StandardValidators.java index 8255781..2419c89 100644 --- a/nifi-commons/nifi-processor-utilities/src/main/java/org/apache/nifi/processor/util/StandardValidators.java +++ b/nifi-commons/nifi-processor-utilities/src/main/java/org/apache/nifi/processor/util/StandardValidators.java @@ -127,6 +127,9 @@ public class StandardValidators { public static final Validator PORT_VALIDATOR = createLongValidator(1, 65535, true); + /** + * {@link Validator} that ensures that value's length > 0 + */ public static final Validator NON_EMPTY_VALIDATOR = new Validator() { @Override public ValidationResult validate(final String subject, final String value, final ValidationContext context) { @@ -134,6 +137,20 @@ public class StandardValidators { } }; + /** + * {@link Validator} that ensures that value has 1+ non-whitespace + * characters + */ + public static final Validator NON_BLANK_VALIDATOR = new Validator() { + @Override + public ValidationResult validate(final String subject, final String value, final ValidationContext context) { + return new ValidationResult.Builder().subject(subject).input(value) + .valid(value != null && !value.trim().isEmpty()) + .explanation(subject + + " must contain at least one character that is not white space").build(); + } + }; + public static final Validator BOOLEAN_VALIDATOR = new Validator() { @Override public ValidationResult validate(final String subject, final String value, final ValidationContext context) { http://git-wip-us.apache.org/repos/asf/nifi/blob/0fed158d/nifi-commons/nifi-processor-utilities/src/test/java/org/apache/nifi/processor/util/TestStandardValidators.java ---------------------------------------------------------------------- diff --git a/nifi-commons/nifi-processor-utilities/src/test/java/org/apache/nifi/processor/util/TestStandardValidators.java b/nifi-commons/nifi-processor-utilities/src/test/java/org/apache/nifi/processor/util/TestStandardValidators.java index 13d2f4f..062bf5a 100644 --- a/nifi-commons/nifi-processor-utilities/src/test/java/org/apache/nifi/processor/util/TestStandardValidators.java +++ b/nifi-commons/nifi-processor-utilities/src/test/java/org/apache/nifi/processor/util/TestStandardValidators.java @@ -18,6 +18,7 @@ package org.apache.nifi.processor.util; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; import java.util.concurrent.TimeUnit; @@ -30,6 +31,20 @@ import org.mockito.Mockito; public class TestStandardValidators { @Test + public void testNonBlankValidator() { + Validator val = StandardValidators.NON_BLANK_VALIDATOR; + ValidationContext vc = mock(ValidationContext.class); + ValidationResult vr = val.validate("foo", "", vc); + assertFalse(vr.isValid()); + + vr = val.validate("foo", " ", vc); + assertFalse(vr.isValid()); + + vr = val.validate("foo", " h", vc); + assertTrue(vr.isValid()); + } + + @Test public void testTimePeriodValidator() { Validator val = StandardValidators.createTimePeriodValidator(1L, TimeUnit.SECONDS, Long.MAX_VALUE, TimeUnit.NANOSECONDS); ValidationResult vr;