Author: andy
Date: Thu Aug  7 11:03:27 2014
New Revision: 1616470

URL: http://svn.apache.org/r1616470
Log:
Add GraphVew.createUnionGraph

Modified:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/GraphView.java
    
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/AbstractTestGraphOverDataset.java
    
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphViewGraphs.java

Modified: 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/GraphView.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/GraphView.java?rev=1616470&r1=1616469&r2=1616470&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/GraphView.java 
(original)
+++ 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/GraphView.java 
Thu Aug  7 11:03:27 2014
@@ -30,7 +30,6 @@ import com.hp.hpl.jena.graph.TripleMatch
 import com.hp.hpl.jena.graph.impl.GraphBase ;
 import com.hp.hpl.jena.shared.JenaException ;
 import com.hp.hpl.jena.shared.PrefixMapping ;
-import com.hp.hpl.jena.shared.impl.PrefixMappingImpl ;
 import com.hp.hpl.jena.sparql.SystemARQ ;
 import com.hp.hpl.jena.util.iterator.ExtendedIterator ;
 import com.hp.hpl.jena.util.iterator.WrappedIterator ;
@@ -63,6 +62,9 @@ public class GraphView extends GraphBase
     public static GraphView createNamedGraph(DatasetGraph dsg, Node graphIRI)
     { return new GraphView(dsg, graphIRI) ; }
     
+    public static GraphView createUnionGraph(DatasetGraph dsg)
+    { return new GraphView(dsg, Quad.unionGraph) ; }
+
     // If inherited.
     protected GraphView(DatasetGraph dsg, Node gn) {
         this.dsg = dsg ;
@@ -91,7 +93,7 @@ public class GraphView extends GraphBase
     @Override
     protected PrefixMapping createPrefixMapping() {
         // TODO Unsatisfactory - need PrefixMap support by DSGs then PrefixMap 
-> PrefixMapping
-        return new PrefixMappingImpl() ; 
+        return dsg.getDefaultGraph().getPrefixMapping() ;
     }
 
     @Override
@@ -105,10 +107,10 @@ public class GraphView extends GraphBase
     
     @Override
     protected ExtendedIterator<Triple> graphBaseFind(Node s, Node p, Node o) {
-        Node g = graphNode(gn) ;
-        Iterator<Triple> iter = GLib.quads2triples(dsg.find(g, s, p, o)) ;
         if ( Quad.isUnionGraph(gn) )
             return graphUnionFind(s, p, o) ;
+        Node g = graphNode(gn) ;
+        Iterator<Triple> iter = GLib.quads2triples(dsg.find(g, s, p, o)) ;
         return WrappedIterator.createNoRemove(iter) ;
     }
 

Modified: 
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/AbstractTestGraphOverDataset.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/AbstractTestGraphOverDataset.java?rev=1616470&r1=1616469&r2=1616470&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/AbstractTestGraphOverDataset.java
 (original)
+++ 
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/AbstractTestGraphOverDataset.java
 Thu Aug  7 11:03:27 2014
@@ -50,7 +50,6 @@ public abstract class AbstractTestGraphO
     private static Node gn2 = SSE.parseNode("<g2>") ;
     private static Node gn3 = SSE.parseNode("<g3>") ;
     private static Node gnNotSuchGraph = SSE.parseNode("<NoSuchGraph>") ;
-
     
     protected abstract Graph makeNamedGraph(DatasetGraph dsg, Node gn) ;
     protected abstract Graph makeDefaultGraph(DatasetGraph dsg) ;

Modified: 
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphViewGraphs.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphViewGraphs.java?rev=1616470&r1=1616469&r2=1616470&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphViewGraphs.java
 (original)
+++ 
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphViewGraphs.java
 Thu Aug  7 11:03:27 2014
@@ -18,13 +18,11 @@
 
 package com.hp.hpl.jena.sparql.core;
 
+import org.apache.jena.atlas.iterator.Iter ;
 import org.junit.Test ;
 
 import com.hp.hpl.jena.graph.Graph ;
 import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
-import com.hp.hpl.jena.sparql.core.GraphView ;
 import com.hp.hpl.jena.sparql.sse.SSE ;
 
 /** Directly call the view mechanism */
@@ -63,4 +61,21 @@ public class TestDatasetGraphViewGraphs 
         assertEquals(baseDSG, gv.getDataset()) ; 
         assertEquals(gn1, gv.getGraphName()) ;
     }
+    
+    @Test public void graphDSG_view_union_2()
+    {
+        Graph g = GraphView.createUnionGraph(baseDSG) ;
+        assertTrue(g instanceof GraphView) ;
+        long x = Iter.count(g.find(null,null,null)) ;
+        assertEquals(2, x) ;
+    }
+    
+    @Test public void graphDSG_view_union_3()
+    {
+        Graph g = GraphView.createUnionGraph(baseDSG) ;
+        assertEquals(2, g.size()) ;
+    }
+
+
+
 }


Reply via email to