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