Fix argument checking

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/76ece86a
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/76ece86a
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/76ece86a

Branch: refs/heads/master
Commit: 76ece86a8ed03f3898076d776d02ad927f8cc0fd
Parents: 523f897
Author: Andy Seaborne <a...@apache.org>
Authored: Tue May 17 10:29:41 2016 +0100
Committer: Andy Seaborne <a...@apache.org>
Committed: Tue May 17 10:29:41 2016 +0100

----------------------------------------------------------------------
 .../org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java    | 9 ++++-----
 .../org/apache/jena/sparql/function/library/FN_Round.java   | 8 +++++---
 .../jena/sparql/function/library/FN_Round_Half_Even.java    | 2 +-
 .../sparql/function/library/FN_StrNormalizeUnicode.java     | 5 ++---
 .../jena/sparql/function/library/FN_StrSubstring.java       | 5 ++---
 .../org/apache/jena/sparql/function/library/substring.java  | 5 ++---
 6 files changed, 16 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/76ece86a/jena-arq/src/main/java/org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java
----------------------------------------------------------------------
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java
index 75ea67d..817c20f 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java
@@ -329,10 +329,9 @@ public class XSDFuncOp
         }
     }
 
-    // THE FOLLOWING ROUND FUNCTION IS the xpath3 compatible version of the 
round function above.
-    // I created a new one because the round function is used in the 
E_NumRound class used for
-    // SPARQL 1.1 compatible syntax that in turn is compatible with Xpath 2 
for which the spec
-    // for round was different.
+    // The following function 'roundXpath3' implements the definition for 
"fn:round" in F&O v3.
+    // This is diffrent to the "fn:round" in F&O v2. 
+    // SPARQL 1.1 references F&O v2.
     private static BigDecimal roundDecimalValue(BigDecimal dec,int 
precision,boolean isHalfToEven)
     {
         if(isHalfToEven){
@@ -347,7 +346,7 @@ public class XSDFuncOp
         }
     }
 
-    public static NodeValue roundXpath3(NodeValue v,NodeValue 
precision,boolean isHalfEven) {
+    public static NodeValue roundXpath3(NodeValue v, NodeValue precision, 
boolean isHalfEven) {
         if(!precision.isInteger()){
             throw new ExprEvalTypeException("The precision for rounding should 
be an integer");
         }

http://git-wip-us.apache.org/repos/asf/jena/blob/76ece86a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round.java
----------------------------------------------------------------------
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round.java
index 8589150..206684b 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round.java
@@ -30,7 +30,7 @@ import java.util.List;
 
 /** round(expression) */ 
 
-public class FN_Round  extends FunctionBase
+public class FN_Round extends FunctionBase
 {
     public FN_Round() { super() ; }
 
@@ -43,9 +43,11 @@ public class FN_Round  extends FunctionBase
     @Override
     public NodeValue exec(List<NodeValue> args)
     {
+        
+        if ( args.size() == 0  )
+            throw new ExprEvalException("FN_Round: Wrong number of arguments: 
zero arguments") ;
         if ( args.size() > 2 )
-            throw new ExprEvalException("substring: Wrong number of arguments: 
"+
-                    args.size()+" : [wanted 1 or 2]") ;
+            throw new ExprEvalException("FN_Round: Wrong number of arguments: 
"+args.size()+" : [wanted 1 or 2]") ;
 
         NodeValue v1 = args.get(0) ;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/76ece86a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round_Half_Even.java
----------------------------------------------------------------------
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round_Half_Even.java
 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round_Half_Even.java
index 1b35803..685331f 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round_Half_Even.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Round_Half_Even.java
@@ -42,7 +42,7 @@ public class FN_Round_Half_Even extends FunctionBase
     public NodeValue exec(List<NodeValue> args)
     {
         if ( args.size() > 2 )
-            throw new ExprEvalException("substring: Wrong number of arguments: 
"+
+            throw new ExprEvalException("FN_Round_Half_Even: Wrong number of 
arguments: "+
                     args.size()+" : [wanted 1 or 2]") ;
 
         NodeValue v1 = args.get(0) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/76ece86a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrNormalizeUnicode.java
----------------------------------------------------------------------
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrNormalizeUnicode.java
 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrNormalizeUnicode.java
index e7a5813..3ae73fa 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrNormalizeUnicode.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrNormalizeUnicode.java
@@ -40,9 +40,8 @@ public class FN_StrNormalizeUnicode extends FunctionBase
     @Override
     public NodeValue exec(List<NodeValue> args)
     {
-        if ( args.size() > 2 )
-            throw new ExprEvalException("substring: Wrong number of arguments: 
"+
-                    args.size()+" : [wanted 1 or 2]") ;
+        if ( args.size() != 1 || args.size() != 2 )
+            throw new ExprEvalException("FN_StrNormalizeUnicode: Wrong number 
of arguments: "+args.size()+" : [wanted 1 or 2]") ;
 
         NodeValue v1 = args.get(0) ;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/76ece86a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrSubstring.java
----------------------------------------------------------------------
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrSubstring.java
 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrSubstring.java
index e7bf963..8fbe239 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrSubstring.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_StrSubstring.java
@@ -43,9 +43,8 @@ public class FN_StrSubstring extends FunctionBase
     @Override
     public NodeValue exec(List<NodeValue> args)
     {
-        if ( args.size() > 3 )
-            throw new ExprEvalException("substring: Wrong number of arguments: 
"+
-                                        args.size()+" : [wanted 2 or 3]") ;
+        if ( args.size() != 2 || args.size() != 3 )
+            throw new ExprEvalException("substring: Wrong number of arguments: 
"+args.size()+" : [wanted 2 or 3]") ;
         
         NodeValue v1 = args.get(0) ;
         NodeValue v2 = args.get(1) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/76ece86a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/substring.java
----------------------------------------------------------------------
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/substring.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/substring.java
index b16a8fb..dce743a 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/substring.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/substring.java
@@ -43,9 +43,8 @@ public class substring extends FunctionBase
     @Override
     public NodeValue exec(List<NodeValue> args)
     {
-        if ( args.size() > 3 )
-            throw new ExprEvalException("substring: Wrong number of arguments: 
"+
-                                        args.size()+" : [wanted 2 or 3]") ;
+        if ( args.size() != 2 || args.size() != 3 )
+            throw new ExprEvalException("substring: Wrong number of arguments: 
"+args.size()+" : [wanted 2 or 3]") ;
         
         NodeValue v1 = args.get(0) ;
         NodeValue v2 = args.get(1) ;

Reply via email to