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());