You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bval.apache.org by mb...@apache.org on 2018/03/22 21:20:02 UTC
bval git commit: reject NaN for number sign validations
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 <mb...@apache.org>
Authored: Thu Mar 22 16:19:57 2018 -0500
Committer: Matt Benson <mb...@apache.org>
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));
}
}