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;
}