isTransactionType -> isTransactionMode
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/7a11a6b8 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/7a11a6b8 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/7a11a6b8 Branch: refs/heads/master Commit: 7a11a6b8090e0218ab02f364e2c3153edbced5b8 Parents: e58cbcb Author: Andy Seaborne <a...@apache.org> Authored: Mon Feb 26 16:42:32 2018 +0000 Committer: Andy Seaborne <a...@apache.org> Committed: Tue Feb 27 23:23:30 2018 +0000 ---------------------------------------------------------------------- .../java/org/apache/jena/sparql/core/DatasetGraphMap.java | 2 +- .../org/apache/jena/sparql/core/DatasetGraphWithLock.java | 10 ++++++++-- .../org/apache/jena/sparql/core/DatasetGraphZero.java | 1 + .../org/apache/jena/sparql/core/TransactionalLock.java | 8 ++++---- .../main/java/org/apache/jena/sparql/graph/GraphZero.java | 9 +++++---- 5 files changed, 19 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/7a11a6b8/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java index c01f250..6eebbcf 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java @@ -152,7 +152,7 @@ public class DatasetGraphMap extends DatasetGraphTriplesQuads if ( g == null ) { g = getGraphCreate(graphNode); if ( g != null ) - graphs.put(graphNode, g); + addGraph(graphNode, g); } return g; } http://git-wip-us.apache.org/repos/asf/jena/blob/7a11a6b8/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWithLock.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWithLock.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWithLock.java index ff79e97..ff173b0 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWithLock.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWithLock.java @@ -91,8 +91,14 @@ public class DatasetGraphWithLock extends DatasetGraphTrackActive implements Syn return transactional.isInTransaction() ; } - protected boolean isTransactionType(ReadWrite readWriteType) { - return transactional.isTransactionType(readWriteType) ; + protected boolean isTransactionMode(ReadWrite readWriteMode) { + return transactional.isTransactionMode(readWriteMode) ; + } + + /** @deprecated Use {@link #isTransactionMode} */ + @Deprecated + protected boolean isTransactionType(ReadWrite readWriteMode) { + return transactional.isTransactionMode(readWriteMode) ; } @Override http://git-wip-us.apache.org/repos/asf/jena/blob/7a11a6b8/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java index 4612179..702f7bb 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java @@ -34,6 +34,7 @@ import org.apache.jena.sparql.graph.GraphZero; */ public class DatasetGraphZero extends DatasetGraphBaseFind { + // Invariant DatasetGraph; it does have tarnsaction state so new object here. public static DatasetGraph create() { return new DatasetGraphZero(); } private Graph dftGraph = GraphZero.instance(); http://git-wip-us.apache.org/repos/asf/jena/blob/7a11a6b8/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java index 3db630e..930f9e2 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalLock.java @@ -89,7 +89,7 @@ public class TransactionalLock implements Transactional { return create(new LockMutex()) ; } - private TransactionalLock(Lock lock) { + protected TransactionalLock(Lock lock) { this.lock = lock ; } @@ -124,7 +124,7 @@ public class TransactionalLock implements Transactional { return Lib.readThreadLocal(txnType) ; } - // Lock propmotion required (Ok for mutex) + // Lock promotion required (Ok for mutex) @Override public boolean promote(Promote txnType) { @@ -148,7 +148,7 @@ public class TransactionalLock implements Transactional { return inTransaction.get(); } - public boolean isTransactionType(ReadWrite mode) { + public boolean isTransactionMode(ReadWrite mode) { if ( ! isInTransaction() ) return false; return Lib.readThreadLocal(txnMode) == mode; @@ -156,7 +156,7 @@ public class TransactionalLock implements Transactional { @Override public void end() { - if ( isTransactionType(ReadWrite.WRITE) ) + if ( isTransactionMode(ReadWrite.WRITE) ) error("Write transaction - no commit or abort before end()") ; endOnce() ; } http://git-wip-us.apache.org/repos/asf/jena/blob/7a11a6b8/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphZero.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphZero.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphZero.java index aba5cac..479340b 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphZero.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphZero.java @@ -28,14 +28,14 @@ import org.apache.jena.shared.PrefixMapping; import org.apache.jena.util.iterator.ExtendedIterator; import org.apache.jena.util.iterator.NullIterator; -/** Immutable empty graph. +/** Invariant empty graph. * @see GraphSink */ public class GraphZero extends GraphBase { - private static Graph graph = new GraphZero(); public static Graph instance() { - return graph; + // It has transaction state do unsafe to share one object on one thread. + return new GraphZero(); } private GraphZero() {} @@ -45,10 +45,11 @@ public class GraphZero extends GraphBase { return NullIterator.instance(); } + private TransactionHandler transactionHandler = new TransactionHandlerNull(); @Override public TransactionHandler getTransactionHandler() { - return new TransactionHandlerNull(); + return transactionHandler; } @Override