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/10/03 10:36:01 UTC

[29/41] jena git commit: Better determination of "read-only".

Better determination of "read-only".

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/57b279ed
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/57b279ed
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/57b279ed

Branch: refs/heads/master
Commit: 57b279ed0e6c5d7ab132a4ba44b4a4c04d2488dc
Parents: 0e187fc
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Sep 23 13:20:35 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Oct 2 11:54:05 2016 +0100

----------------------------------------------------------------------
 .../jena/sparql/core/DatasetGraphReadOnly.java  | 38 +++++++++++---------
 1 file changed, 21 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/57b279ed/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java
index 9823b5f..dffb52b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java
@@ -21,8 +21,10 @@ package org.apache.jena.sparql.core;
 import java.util.HashMap ;
 import java.util.Map ;
 
+import org.apache.jena.atlas.logging.Log ;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.Node ;
+import org.apache.jena.query.ReadWrite ;
 import org.apache.jena.sparql.graph.GraphReadOnly ;
 
 /** Read-only view of a DatasetGraph.  Assumes the dataset underneath isn't changing.
@@ -41,23 +43,28 @@ public class DatasetGraphReadOnly extends DatasetGraphWrapper
         return dftGraph ;
     }
 
-    private Map<Node, Graph> namedGraphs = new HashMap<>() ;
+    @Override public void begin(ReadWrite mode)         {
+        if ( mode == ReadWrite.WRITE )
+            //throw new JenaTransactionException("read-only dataset : no write transactions") ;
+            Log.warn(this,  "Write transaction on a read-only dataset") ;
+        get().begin(mode) ; 
+    }
     
+    private Map<Node, Graph> namedGraphs = new HashMap<>() ;
+
     @Override
-    public Graph getGraph(Node graphNode)
-    {
-        if ( namedGraphs.containsKey(graphNode) )
-        {
-            if ( ! super.containsGraph(graphNode) )
-            {
+    public Graph getGraph(Node graphNode) {
+        if ( namedGraphs.containsKey(graphNode) ) {
+            if ( !super.containsGraph(graphNode) ) {
                 namedGraphs.remove(graphNode) ;
                 return null ;
             }
             return namedGraphs.get(graphNode) ;
         }
-        
+
         Graph g = super.getGraph(graphNode) ;
-        if ( g == null ) return null ;
+        if ( g == null )
+            return null ;
         g = new GraphReadOnly(g) ;
         namedGraphs.put(graphNode, g) ;
         return g ;
@@ -75,15 +82,12 @@ public class DatasetGraphReadOnly extends DatasetGraphWrapper
     public void removeGraph(Node graphName)
     { throw new UnsupportedOperationException("read-only dataset") ; }
 
+    /** For operations that write the DatasetGraph. */
     @Override
-    public void add(Quad quad)
+    protected DatasetGraph getW()
     { throw new UnsupportedOperationException("read-only dataset") ; }
-
-    @Override
-    public void delete(Quad quad)
-    { throw new UnsupportedOperationException("read-only dataset") ; }
-
+    
     @Override
-    public void deleteAny(Node g, Node s, Node p, Node o)
-    { throw new UnsupportedOperationException("read-only dataset") ; }
+    public void close()
+    { get().close() ; }
 }