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 2016/09/12 15:29:55 UTC
[1/2] jena git commit: Add abbreviated () forms for triple and quad.
Repository: jena
Updated Branches:
refs/heads/master 2ec0d674c -> 59e5e06c8
Add abbreviated () forms for triple and quad.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/7a39f8f5
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/7a39f8f5
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/7a39f8f5
Branch: refs/heads/master
Commit: 7a39f8f52754f63c604110ef9d2f1a4929367c31
Parents: 2ec0d67
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Sep 11 17:21:55 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Sep 11 17:22:05 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/sparql/sse/SSE.java | 48 ++++++++++++++++++--
.../jena/sparql/sse/writers/WriterNode.java | 34 ++++++++++----
2 files changed, 69 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/7a39f8f5/jena-arq/src/main/java/org/apache/jena/sparql/sse/SSE.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/SSE.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/SSE.java
index c9d1b3e..6de6137 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/SSE.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/SSE.java
@@ -445,14 +445,16 @@ public class SSE
return handler.getItem() ;
}
-
-
// ---- To String
+ private static String strForNull = "<<null>>" ;
+
public static String str(Node node) {
return str(node, getPrefixMapString()) ;
}
public static String str(Node node, PrefixMapping pmap) {
+ if ( node == null )
+ return strForNull ;
return string((out)->WriterNode.output(out, node, sCxt(pmap))) ;
}
@@ -461,7 +463,21 @@ public class SSE
}
public static String str(Triple triple, PrefixMapping pmap) {
- return string((out)->WriterNode.output(out, triple, sCxt(pmap))) ;
+ if ( triple == null )
+ return strForNull ;
+ return string((out)->WriterNode.outputNoTag(out, triple, sCxt(pmap))) ;
+ }
+
+ /** Plain - with (), not (triple ...) */
+ public static String strPlain(Triple triple) {
+ return strPlain(triple, getPrefixMapString()) ;
+ }
+
+ /** Plain - with (), not (triple ...) */
+ public static String strPlain(Triple triple, PrefixMapping pmap) {
+ if ( triple == null )
+ return strForNull ;
+ return string((out)->WriterNode.outputPlain(out, triple, sCxt(pmap))) ;
}
public static String str(Quad quad) {
@@ -469,7 +485,21 @@ public class SSE
}
public static String str(Quad quad, PrefixMapping pmap) {
- return string((out)->WriterNode.output(out, quad, sCxt(pmap))) ;
+ if ( quad == null )
+ return strForNull ;
+ return string((out)->WriterNode.outputNoTag(out, quad, sCxt(pmap))) ;
+ }
+
+ /** Plain - with (), not (quad ...) */
+ public static String strPlain(Quad quad) {
+ return strPlain(quad, getPrefixMapString()) ;
+ }
+
+ /** Plain - with (), not (quad ...) */
+ public static String strPlain(Quad quad, PrefixMapping pmap) {
+ if ( quad == null )
+ return strForNull ;
+ return string((out)->WriterNode.outputPlain(out, quad, sCxt(pmap))) ;
}
public static String str(Graph graph) {
@@ -477,6 +507,8 @@ public class SSE
}
public static String str(Graph graph, PrefixMapping pmap) {
+ if ( graph == null )
+ return strForNull ;
return string((out)->WriterGraph.output(out, graph, sCxt(pmap))) ;
}
@@ -485,6 +517,8 @@ public class SSE
}
public static String str(DatasetGraph dsg, PrefixMapping pmap) {
+ if ( dsg == null )
+ return strForNull ;
return string((out)->WriterGraph.output(out, dsg, sCxt(pmap))) ;
}
@@ -493,6 +527,8 @@ public class SSE
}
public static String str(Expr expr, PrefixMapping pmap) {
+ if ( expr == null )
+ return strForNull ;
return string((out)->WriterExpr.output(out, expr, sCxt(pmap))) ;
}
@@ -501,6 +537,8 @@ public class SSE
}
public static String str(BasicPattern bgp, PrefixMapping pmap) {
+ if ( bgp == null )
+ return strForNull ;
return string((out)->WriterGraph.output(out, bgp, sCxt(pmap))) ;
}
@@ -509,6 +547,8 @@ public class SSE
}
public static String str(Op op, PrefixMapping pmap) {
+ if ( op == null )
+ return strForNull ;
return string((out)->WriterOp.output(out, op, sCxt(pmap))) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/7a39f8f5/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterNode.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterNode.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterNode.java
index 3bcb8f5..78b99d3 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterNode.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterNode.java
@@ -42,32 +42,48 @@ public class WriterNode
WriterLib.finishOneLine(out, Tags.tagTriple) ;
}
+ public static void outputNoTag(IndentedWriter out, Triple triple, SerializationContext naming)
+ {
+ // No tag, with ()
+ out.print("(") ;
+ outputPlain(out, triple, naming) ;
+ out.print(")") ;
+ }
+
public static void outputPlain(IndentedWriter out, Triple triple, SerializationContext naming)
{
- // No tag
+ // No tag, no ()
output(out, triple.getSubject(), naming) ;
out.print(" ") ;
output(out, triple.getPredicate(), naming) ;
out.print(" ") ;
output(out, triple.getObject(), naming) ;
}
-
- public static void output(IndentedWriter out, Quad qp, SerializationContext naming)
+
+ public static void output(IndentedWriter out, Quad quad, SerializationContext naming)
{
WriterLib.startOneLine(out, Tags.tagQuad) ;
- outputPlain(out, qp, naming) ;
+ outputPlain(out, quad, naming) ;
WriterLib.finishOneLine(out, Tags.tagQuad) ;
}
- public static void outputPlain(IndentedWriter out, Quad qp, SerializationContext naming)
+ public static void outputNoTag(IndentedWriter out, Quad quad, SerializationContext naming)
+ {
+ // No tag, with ()
+ out.print("(") ;
+ outputPlain(out, quad, naming) ;
+ out.print(")") ;
+ }
+
+ public static void outputPlain(IndentedWriter out, Quad quad, SerializationContext naming)
{
- output(out, qp.getGraph(), naming) ;
+ output(out, quad.getGraph(), naming) ;
out.print(" ") ;
- output(out, qp.getSubject(), naming) ;
+ output(out, quad.getSubject(), naming) ;
out.print(" ") ;
- output(out, qp.getPredicate(), naming) ;
+ output(out, quad.getPredicate(), naming) ;
out.print(" ") ;
- output(out, qp.getObject(), naming) ;
+ output(out, quad.getObject(), naming) ;
}
public static void output(IndentedWriter out, Node node, SerializationContext naming)
[2/2] jena git commit: Unordered list equality.
Posted by an...@apache.org.
Unordered list equality.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/59e5e06c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/59e5e06c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/59e5e06c
Branch: refs/heads/master
Commit: 59e5e06c85c98c9c65a9c1addbc4252626e9d061
Parents: 7a39f8f
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Sep 11 17:22:27 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Sep 11 17:22:27 2016 +0100
----------------------------------------------------------------------
.../org/apache/jena/sparql/path/TestPath.java | 37 +++++---------------
.../apache/jena/atlas/lib/CollectionUtils.java | 2 +-
.../org/apache/jena/atlas/lib/ListUtils.java | 16 +++++++++
.../org/apache/jena/atlas/junit/BaseTest.java | 9 ++---
4 files changed, 28 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/59e5e06c/jena-arq/src/test/java/org/apache/jena/sparql/path/TestPath.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/path/TestPath.java b/jena-arq/src/test/java/org/apache/jena/sparql/path/TestPath.java
index 30cb8d5..6ac15f6 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/path/TestPath.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/path/TestPath.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.path;
-import java.util.ArrayList ;
+import static org.apache.jena.atlas.lib.ListUtils.equalsUnordered ;
+
import java.util.Arrays ;
import java.util.Iterator ;
import java.util.List ;
@@ -40,9 +41,6 @@ import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.engine.binding.BindingFactory ;
import org.apache.jena.sparql.graph.GraphFactory ;
-import org.apache.jena.sparql.path.Path ;
-import org.apache.jena.sparql.path.PathLib ;
-import org.apache.jena.sparql.path.PathParser ;
import org.apache.jena.sparql.path.eval.PathEval ;
import org.apache.jena.sparql.sse.Item ;
import org.apache.jena.sparql.sse.SSE ;
@@ -321,37 +319,20 @@ public class TestPath extends BaseTest
// ----
- private static void test(Graph graph, Node start, String string, Node... expectedNodes)
- {
- test(graph, start, string, expectedNodes, true) ;
+ private static void test(Graph graph, Node start, String string, Node... expectedNodes) {
+ test(graph, start, string, expectedNodes, true) ;
}
-
- private static void testReverse(Graph graph, Node start, String string, Node... expectedNodes)
- {
- test(graph, start, string, expectedNodes, false) ;
+
+ private static void testReverse(Graph graph, Node start, String string, Node... expectedNodes) {
+ test(graph, start, string, expectedNodes, false) ;
}
- private static void test(Graph graph, Node start, String string, Node[] expectedNodes, boolean directionForward)
- {
+ private static void test(Graph graph, Node start, String string, Node[] expectedNodes, boolean directionForward) {
Path p = PathParser.parse(string, pmap) ;
Iterator<Node> resultsIter =
directionForward ? PathEval.eval(graph, start, p, ARQ.getContext()) : PathEval.evalReverse(graph, start, p, ARQ.getContext()) ;
List<Node> results = Iter.toList(resultsIter) ;
List<Node> expected = Arrays.asList(expectedNodes) ;
- // Unordered by counting equality.
- Assert.assertTrue("expected:"+expected+", got:"+results, sameUnorder(expected, results)) ;
- }
-
- static boolean sameUnorder(List<Node> expected, List<Node> results)
- {
- // Copy - this is modified.
- List<Node> x = new ArrayList<>(results) ;
- for ( Node n : expected )
- {
- if ( ! x.contains(n) )
- return false ;
- x.remove(n) ;
- }
- return x.isEmpty() ;
+ Assert.assertTrue("expected:"+expected+", got:"+results, equalsUnordered(expected, results)) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/59e5e06c/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
index 6b91daa..0392be9 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
@@ -27,7 +27,7 @@ public class CollectionUtils
return c1.stream().noneMatch(c2::contains);
}
- /** Test for same elements, regarless of carinality */
+ /** Test for same elements, regarless of cardinality */
public static <T> boolean sameElts(Collection<T> left, Collection<T> right) {
return right.containsAll(left) && left.containsAll(right) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/59e5e06c/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
index 200b836..272fb28 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
@@ -79,6 +79,22 @@ public class ListUtils
out.print(list.stream().map(String::valueOf).collect(joining(sep)));
}
+ /**
+ * Compare two lists, same elements, order of the lists may be different, elements
+ * must have the same cardinality.
+ */
+ public static <T> boolean equalsUnordered(List<T> list1, List<T> list2) {
+ if ( list1.size() != list2.size() )
+ return false ;
+ // containsAll bothe ways round isn't enough.
+ List<T> list2a = new ArrayList<>(list2) ;
+ for ( T elt : list1 )
+ list2a.remove(elt) ;
+ if ( list2a.size() != 0 )
+ return false ;
+ return true ;
+ }
+
/** Return a list of lists of all the elements of collection in every order
* Easy to run out of heap memory.
*
http://git-wip-us.apache.org/repos/asf/jena/blob/59e5e06c/jena-base/src/test/java/org/apache/jena/atlas/junit/BaseTest.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/junit/BaseTest.java b/jena-base/src/test/java/org/apache/jena/atlas/junit/BaseTest.java
index 5976047..51becfb 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/junit/BaseTest.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/junit/BaseTest.java
@@ -18,10 +18,10 @@
package org.apache.jena.atlas.junit ;
-import java.util.ArrayList ;
import java.util.List ;
import java.util.Locale ;
+import org.apache.jena.atlas.lib.ListUtils ;
import org.junit.Assert ;
public class BaseTest extends Assert {
@@ -42,12 +42,7 @@ public class BaseTest extends Assert {
}
public static <T> void assertEqualsUnordered(String msg, List<T> list1, List<T> list2) {
- if ( list1.size() != list2.size() )
- fail(msg(msg, list1, list2)) ;
- List<T> list2a = new ArrayList<>(list2) ;
- for ( T elt : list1 )
- list2a.remove(elt) ;
- if ( list2a.size() != 0 )
+ if ( ! ListUtils.equalsUnordered(list1, list2) )
fail(msg(msg, list1, list2)) ;
}