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 2018/11/30 18:34:44 UTC

[2/4] jena git commit: ARQ:ParameterizedSparqlString - now accepts an empty list of values rather than throwing a StringIndexOutOfBoundsException.

ARQ:ParameterizedSparqlString - now accepts an empty list of values rather than throwing a StringIndexOutOfBoundsException.

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

Branch: refs/heads/master
Commit: f65e9621f7dd1f0391fd742a0da8261ead665755
Parents: 31b7a47
Author: Greg Albiston <46...@users.noreply.github.com>
Authored: Fri Nov 30 11:40:16 2018 +0000
Committer: Greg Albiston <46...@users.noreply.github.com>
Committed: Fri Nov 30 11:40:16 2018 +0000

----------------------------------------------------------------------
 .../jena/query/ParameterizedSparqlString.java       |  5 ++++-
 .../jena/query/TestParameterizedSparqlString.java   | 16 ++++++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/f65e9621/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java b/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
index b058c1c..6c02e26 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
+++ b/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
@@ -1893,7 +1893,10 @@ public class ParameterizedSparqlString implements PrefixMapping {
                     replacement.append(") ");
                 }
             }
-            replacement.deleteCharAt(replacement.length() - 1);
+
+            if (replacement.length() > 0) {
+                replacement.deleteCharAt(replacement.length() - 1);
+            }
 
             return replacement.toString();
         }

http://git-wip-us.apache.org/repos/asf/jena/blob/f65e9621/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java b/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java
index 7a32ded..4e856af 100644
--- a/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java
+++ b/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java
@@ -2015,6 +2015,22 @@ public class TestParameterizedSparqlString {
     }
 
     @Test
+    public void test_empty_list() {
+        // Tests two values for same variable.
+        String str = "SELECT * WHERE { VALUES (?o) {?objs} ?s ?p ?o }";
+        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
+        List<RDFNode> objs = new ArrayList<>();
+        pss.setValues("objs", objs);
+
+        String exp = "SELECT * WHERE { VALUES (?o) {} ?s ?p ?o }";
+        String res = pss.toString();
+
+        //System.out.println("Exp: " + exp);
+        //System.out.println("Res: " + res);
+        Assert.assertEquals(exp, res);
+    }
+
+    @Test
     public void test_set_values_multiple_variables() {
         // Tests two values for same variable.
         String str = "SELECT * WHERE { VALUES (?p ?o) {?vars} ?s ?p ?o }";