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 2015/12/04 17:35:32 UTC
[5/5] jena git commit: Simpify by using in a Java8 style.
Simpify by using in a Java8 style.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/10648973
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/10648973
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/10648973
Branch: refs/heads/master
Commit: 10648973b20d5233b5a6bc199e9806f901510d6b
Parents: 0cfc756
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Dec 4 16:34:27 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Dec 4 16:34:27 2015 +0000
----------------------------------------------------------------------
.../transaction/DatasetGraphTransaction.java | 39 ++++++++------------
1 file changed, 15 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/10648973/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java b/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java
index 4845dfe..f4cc4f2 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java
@@ -27,14 +27,21 @@ import org.apache.jena.tdb.StoreConnection ;
import org.apache.jena.tdb.TDB ;
import org.apache.jena.tdb.base.file.Location ;
import org.apache.jena.tdb.store.DatasetGraphTDB ;
+import static java.lang.ThreadLocal.withInitial ;
/**
- * Transactional DatasetGraph that allows one active transaction. For multiple
- * read transactions, create multiple DatasetGraphTransaction objects. This is
- * analogous to a "connection" in JDBC.
+ * A transactional {@code DatasetGraph} that allows one active transaction per thread.
+ *
+ * {@link DatasetGraphTxn} holds the {~link Trasnaction} object.
+ *
+ * This is analogous to a "connection" in JDBC.
+ * It is a holder of a {@link StoreConnection} combined with the machinary from
+ * {@link DatasetGraphTrackActive}.
+ *
+ * Not considered to be in the public API.
*/
-public class DatasetGraphTransaction extends DatasetGraphTrackActive implements Sync {
+ public class DatasetGraphTransaction extends DatasetGraphTrackActive implements Sync {
/*
* Initially, the app can use this DatasetGraph non-transactionally. But as
* soon as it starts a transaction, the dataset can only be used inside
@@ -46,28 +53,12 @@ public class DatasetGraphTransaction extends DatasetGraphTrackActive implements
* transactions.
*/
- static class ThreadLocalTxn extends ThreadLocal<DatasetGraphTxn> {
- // This is the default - but nice to give it a name and to set it
- // clearly.
- @Override
- protected DatasetGraphTxn initialValue() {
- return null ;
- }
- }
-
- static class ThreadLocalBoolean extends ThreadLocal<Boolean> {
- @Override
- protected Boolean initialValue() {
- return false ;
- }
- }
-
// Transaction per thread per DatasetGraphTransaction object.
- private ThreadLocalTxn txn = new ThreadLocalTxn() ;
- private ThreadLocalBoolean inTransaction = new ThreadLocalBoolean() ;
+ private ThreadLocal<DatasetGraphTxn> txn = withInitial(() -> null);
+ private ThreadLocal<Boolean> inTransaction = withInitial(() -> false);
- private final StoreConnection sConn ;
- private boolean isClosed = false ;
+ private final StoreConnection sConn;
+ private boolean isClosed = false;
public DatasetGraphTransaction(Location location) {
sConn = StoreConnection.make(location) ;