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/08/05 15:33:38 UTC

[13/19] jena git commit: ARQ:Query:ParameterizedSparqlString - targetting varNames now takes into account "$" variable syntax.

ARQ:Query:ParameterizedSparqlString 
- targetting varNames now takes into account "$" variable syntax.

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

Branch: refs/heads/master
Commit: 5eb24eb0675e5cc5dd7c6d92cca7f3eeb6b76dba
Parents: ec242ef
Author: Greg Albiston <gr...@hotmail.com>
Authored: Thu Aug 2 14:42:07 2018 +0100
Committer: Greg Albiston <gr...@hotmail.com>
Committed: Thu Aug 2 14:42:07 2018 +0100

----------------------------------------------------------------------
 .../apache/jena/query/ParameterizedSparqlString.java   | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/5eb24eb0/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 b65106e..b1b5446 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
@@ -1826,7 +1826,7 @@ public class ParameterizedSparqlString implements PrefixMapping {
             int closeBracesIndex = subCmd.lastIndexOf("}");
             if (valuesIndex > -1 && valuesIndex < openBracesIndex && closeBracesIndex < valuesIndex) { //Ensure that VALUES keyword is found, open braces index is located after the VALUES and any close braces is located before the VALUES.
                 String vars = command.substring(valuesIndex + VALUES_KEYWORD.length(), openBracesIndex);
-                targetVars = vars.replaceAll("[(?)]", "").trim().split(" ");
+                targetVars = vars.replaceAll("[(?$)]", "").trim().split(" ");
             }
         }
         return targetVars;
@@ -1861,13 +1861,12 @@ public class ParameterizedSparqlString implements PrefixMapping {
             validateValuesSafeToInject(command, targetVars);
 
             String target = createTarget();
-            StringBuilder replacement = buildReplacement(targetVars.length);
+            String replacement = buildReplacement(targetVars.length);
 
-            return command.replace(target, replacement);
+            return command.replaceAll(target, replacement);
         }
 
-
-        private StringBuilder buildReplacement(int targetVarCount) {
+        private String buildReplacement(int targetVarCount) {
 
             StringBuilder replacement = new StringBuilder("");
 
@@ -1894,7 +1893,7 @@ public class ParameterizedSparqlString implements PrefixMapping {
             }
             replacement.deleteCharAt(replacement.length() - 1);
 
-            return replacement;
+            return replacement.toString();
         }
 
         /**
@@ -1909,7 +1908,7 @@ public class ParameterizedSparqlString implements PrefixMapping {
             if (varName.startsWith("?") || varName.startsWith("$")) {
                 target = varName;
             } else {
-                target = "?" + varName;
+                target = "[?$]" + varName;
             }
             return target;
         }