# HG changeset patch # User Stella Giannakopoulou # Date 1418918215 -7200 # Node ID 47a6ec31f27c72aecdf047e7cd72368d0ffa7e09 # Parent 51f12bbf8cda02eb17da12ec97292668562f03a4 added more checks in the arguments of the spatial functions. diff -r 51f12bbf8cda -r 47a6ec31f27c generaldb/src/main/java/org/openrdf/sail/generaldb/evaluation/GeneralDBEvaluation.java --- a/generaldb/src/main/java/org/openrdf/sail/generaldb/evaluation/GeneralDBEvaluation.java Thu Dec 04 13:22:59 2014 +0200 +++ b/generaldb/src/main/java/org/openrdf/sail/generaldb/evaluation/GeneralDBEvaluation.java Thu Dec 18 17:56:55 2014 +0200 @@ -341,6 +341,9 @@ if(function instanceof AreaFunc) { + // check required number of arguments + checkArgs(leftResult, rightResult, thirdResult, 1); + funcResult = leftGeom.getArea(); } else if(function instanceof DistanceFunc) @@ -559,10 +562,17 @@ throw new NoSuchMethodException("expecting a third argument."); } - + if (size > 3) { throw new NoSuchMethodException("too many arguments."); } + + if (size == 1 && (rightResult !=null || thirdResult != null) ) { + throw new NoSuchMethodException("too many arguments."); + } + if (size == 2 && thirdResult != null) { + throw new NoSuchMethodException("too many arguments."); + } } }