You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by cl...@apache.org on 2015/12/08 22:01:27 UTC
jena git commit: Fixes for JENA-1079
Repository: jena
Updated Branches:
refs/heads/master e032b4578 -> c4a6ce750
Fixes for JENA-1079
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c4a6ce75
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c4a6ce75
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c4a6ce75
Branch: refs/heads/master
Commit: c4a6ce750930e133ad1e7504e6f1b3af1d588d25
Parents: e032b45
Author: Claude Warren <cl...@apache.org>
Authored: Tue Dec 8 20:57:57 2015 +0000
Committer: Claude Warren <cl...@apache.org>
Committed: Tue Dec 8 20:57:57 2015 +0000
----------------------------------------------------------------------
.../arq/querybuilder/AbstractQueryBuilder.java | 23 ++++++++++++++++++++
.../handlers/SelectHandlerTest.java | 3 +++
2 files changed, 26 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c4a6ce75/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java
index 050206e..a4f0ddb 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java
@@ -46,6 +46,7 @@ import org.apache.jena.shared.PrefixMapping;
import org.apache.jena.sparql.ARQInternalErrorException ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.expr.ExprVar ;
+import org.apache.jena.sparql.syntax.ElementGroup;
import org.apache.jena.sparql.util.NodeFactoryExtra ;
/**
@@ -76,6 +77,8 @@ public abstract class AbstractQueryBuilder<T extends AbstractQueryBuilder<T>>
* any other object type.</li>
* </ul>
*
+ * Uses the internal query prefix mapping to resolve prefixes.
+ *
* @param o
* The object to convert. (may be null)
* @return The Node value.
@@ -84,6 +87,21 @@ public abstract class AbstractQueryBuilder<T extends AbstractQueryBuilder<T>>
return makeNode( o, query.getPrefixMapping() );
}
+ /**
+ * Make a node from an object while using the associated prefix mapping.
+ * <ul>
+ * <li>Will return Node.ANY if object is null.</li>
+ * <li>Will return the enclosed Node from a FrontsNode</li>
+ * <li>Will return the object if it is a Node.</li>
+ * <li>Will call NodeFactoryExtra.parseNode() using the currently defined
+ * prefixes if the object is a String</li>
+ * <li>Will create a literal representation if the parseNode() fails or for
+ * any other object type.</li>
+ * </ul>
+ * @param o The object to convert (may be null).
+ * @param pMapping The prefix mapping to use for prefix resolution.
+ * @return The Node value.
+ */
public static Node makeNode(Object o, PrefixMapping pMapping) {
if (o == null) {
return Node.ANY;
@@ -322,6 +340,11 @@ public abstract class AbstractQueryBuilder<T extends AbstractQueryBuilder<T>>
handlerStack.push(wh);
}
+ // make sure we have a query pattern before we start building.
+ if (q.getQueryPattern() == null)
+ {
+ q.setQueryPattern( new ElementGroup() );
+ }
while (!handlerStack.isEmpty()) {
handlerStack.pop().build();
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c4a6ce75/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/SelectHandlerTest.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/SelectHandlerTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/SelectHandlerTest.java
index 09cb9c8..d93848a 100644
--- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/SelectHandlerTest.java
+++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/SelectHandlerTest.java
@@ -24,6 +24,7 @@ import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.core.VarExprList ;
import org.apache.jena.sparql.expr.E_Random;
import org.apache.jena.sparql.expr.Expr;
+import org.apache.jena.sparql.syntax.ElementGroup;
import org.junit.Before;
import org.junit.Test;
@@ -166,6 +167,8 @@ public class SelectHandlerTest extends AbstractHandlerTest {
sh.setDistinct(true);
handler.addAll(sh);
+ // make sure warning does not fire.
+ query.setQueryPattern( new ElementGroup() );
assertTrue(query.isDistinct());
assertFalse(query.isQueryResultStar());
assertEquals(1, query.getResultVars().size());