Repository: bval Updated Branches: refs/heads/bv2 babcf0db5 -> 64b02d8f7
reject NaN for number sign validations Project: http://git-wip-us.apache.org/repos/asf/bval/repo Commit: http://git-wip-us.apache.org/repos/asf/bval/commit/64b02d8f Tree: http://git-wip-us.apache.org/repos/asf/bval/tree/64b02d8f Diff: http://git-wip-us.apache.org/repos/asf/bval/diff/64b02d8f Branch: refs/heads/bv2 Commit: 64b02d8f7586d82188bac6978ddcc4e5f509e7dc Parents: babcf0d Author: Matt Benson <[email protected]> Authored: Thu Mar 22 16:19:57 2018 -0500 Committer: Matt Benson <[email protected]> Committed: Thu Mar 22 16:19:57 2018 -0500 ---------------------------------------------------------------------- .../apache/bval/constraints/NumberSignValidator.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bval/blob/64b02d8f/bval-jsr/src/main/java/org/apache/bval/constraints/NumberSignValidator.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/constraints/NumberSignValidator.java b/bval-jsr/src/main/java/org/apache/bval/constraints/NumberSignValidator.java index 48d20b9..6635387 100644 --- a/bval-jsr/src/main/java/org/apache/bval/constraints/NumberSignValidator.java +++ b/bval-jsr/src/main/java/org/apache/bval/constraints/NumberSignValidator.java @@ -57,9 +57,9 @@ public abstract class NumberSignValidator<A extends Annotation> implements Const super(n -> n < 0); } } - + private final IntPredicate comparisonTest; - + protected NumberSignValidator(IntPredicate comparisonTest) { super(); this.comparisonTest = Validate.notNull(comparisonTest); @@ -67,6 +67,13 @@ public abstract class NumberSignValidator<A extends Annotation> implements Const @Override public boolean isValid(Number value, ConstraintValidatorContext context) { - return value == null || comparisonTest.test(Double.compare(value.doubleValue(), 0.0)); + if (value == null) { + return true; + } + final double d = value.doubleValue(); + if (Double.isNaN(d)) { + return false; + } + return comparisonTest.test(Double.compare(d, 0.0)); } }
