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 2013/10/04 21:12:46 UTC

svn commit: r1529265 - in /jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql: core/DatasetGraphAltDefaultGraph.java core/DatasetGraphBase.java core/DatasetGraphCollection.java modify/GraphStoreNull.java modify/UpdateEngineWorker.java

Author: andy
Date: Fri Oct  4 19:12:45 2013
New Revision: 1529265

URL: http://svn.apache.org/r1529265
Log:
JENA-553 : Reimplment DatasetGraphAltDefaultGraph

And also force DatasetGraph implementations to provide addGraph/removeGraph.

Added:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphAltDefaultGraph.java
Modified:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphBase.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCollection.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/GraphStoreNull.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java

Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphAltDefaultGraph.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphAltDefaultGraph.java?rev=1529265&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphAltDefaultGraph.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphAltDefaultGraph.java Fri Oct  4 19:12:45 2013
@@ -0,0 +1,62 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.hp.hpl.jena.sparql.core;
+
+import java.util.Iterator ;
+
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.Node ;
+
+/** DatasetGraph that switch teh default graph to another graph.
+ *  This different graph can be one of the underlying dataset or a completely
+ *  unconnected graph.   
+ */
+
+public class DatasetGraphAltDefaultGraph extends DatasetGraphCollection {
+    private Graph defaultGraph ;
+    private final DatasetGraph dsg ;
+
+    public DatasetGraphAltDefaultGraph(DatasetGraph dsg, Graph defaultGraph) {  
+        this.defaultGraph = defaultGraph ;
+        this.dsg = dsg ;
+    }
+
+    @Override
+    public Iterator<Node> listGraphNodes() {
+        return dsg.listGraphNodes() ;
+    }
+
+    @Override
+    public Graph getDefaultGraph() {
+        return defaultGraph ;
+    }
+
+    @Override
+    public Graph getGraph(Node graphNode) {
+        return dsg.getGraph(graphNode) ;
+    }
+
+    @Override
+    public void addGraph(Node graphName, Graph graph) { dsg.addGraph(graphName, graph); }
+
+    @Override
+    public void removeGraph(Node graphName)           { dsg.removeGraph(graphName); }
+}    
+
+

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphBase.java?rev=1529265&r1=1529264&r2=1529265&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphBase.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphBase.java Fri Oct  4 19:12:45 2013
@@ -54,6 +54,8 @@ abstract public class DatasetGraphBase i
     public boolean containsGraph(Node graphNode)
     { return contains(graphNode, Node.ANY, Node.ANY, Node.ANY) ; }
     
+    // Explicit record of what's not provided here.
+    
     @Override
     public abstract Graph getDefaultGraph() ;
 
@@ -61,12 +63,10 @@ abstract public class DatasetGraphBase i
     public abstract Graph getGraph(Node graphNode) ;
 
     @Override
-    public void addGraph(Node graphName, Graph graph)
-    { throw new UnsupportedOperationException("DatasetGraph.addGraph") ; }
-
+    public abstract void addGraph(Node graphName, Graph graph) ;
+    
     @Override
-    public void removeGraph(Node graphName)
-    { throw new UnsupportedOperationException("DatasetGraph.removeGraph") ; }
+    public abstract void removeGraph(Node graphName) ;
 
     @Override
     public void setDefaultGraph(Graph g)

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCollection.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCollection.java?rev=1529265&r1=1529264&r2=1529265&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCollection.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCollection.java Fri Oct  4 19:12:45 2013
@@ -88,7 +88,7 @@ public abstract class DatasetGraphCollec
 
     protected Graph fetchGraph(Node gn)
     {
-        if ( Quad.isDefaultGraph(gn) || Lib.equal(gn,Quad.tripleInQuad)) // Not preferrred style
+        if ( Quad.isDefaultGraph(gn) || Lib.equal(gn,Quad.tripleInQuad)) // Not preferred style
             return getDefaultGraph() ;
         else
             return getGraph(gn) ;

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/GraphStoreNull.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/GraphStoreNull.java?rev=1529265&r1=1529264&r2=1529265&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/GraphStoreNull.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/GraphStoreNull.java Fri Oct  4 19:12:45 2013
@@ -71,6 +71,9 @@ public class GraphStoreNull extends Data
     { }
 
     @Override
+    public void addGraph(Node graphName, Graph graph) {}
+
+    @Override
     public Graph getDefaultGraph()
     {
         return GRAPH_NULL ;

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java?rev=1529265&r1=1529264&r2=1529265&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java Fri Oct  4 19:12:45 2013
@@ -554,22 +554,6 @@ public class UpdateEngineWorker implemen
         return query ;
     }
     
-    static class DatasetGraphAltDefaultGraph extends DatasetGraphWrapper
-    {
-        private Graph dftGraph ;
-        
-        public DatasetGraphAltDefaultGraph(DatasetGraph dsg, Graph dftGraph)
-        { super(dsg) ; setDefaultGraph(dftGraph) ; }
-        
-        @Override
-        public Graph getDefaultGraph()
-        { return dftGraph; }
-    
-        @Override
-        public void setDefaultGraph(Graph g)
-        { dftGraph = g ; }
-    }
-
     protected Iterator<Binding> evalBindings(Element pattern, Node dftGraph)
     {
         return evalBindings(elementToQuery(pattern), dftGraph) ;