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));
     }
 }

Reply via email to