You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2016/05/17 09:51:44 UTC
[13/14] jena git commit: Fix argument checking
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 <an...@apache.org>
Authored: Tue May 17 10:29:41 2016 +0100
Committer: Andy Seaborne <an...@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) ;