JENA-1458: Reduce use of default methods
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c4e5c543 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c4e5c543 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c4e5c543 Branch: refs/heads/master Commit: c4e5c543b20c74bac7491b66973c59a5c17e85b5 Parents: d3ecb74 Author: Andy Seaborne <[email protected]> Authored: Tue Jan 2 16:21:46 2018 +0000 Committer: Andy Seaborne <[email protected]> Committed: Tue Jan 2 16:22:19 2018 +0000 ---------------------------------------------------------------------- .../jena/sparql/core/DatasetGraphOne.java | 2 ++ .../jena/sparql/core/DatasetGraphSink.java | 1 + .../apache/jena/sparql/core/Transactional.java | 28 +++++++++++--------- .../jena/sparql/core/TransactionalNull.java | 5 ++++ .../dboe/transaction/txn/TransactionalBase.java | 7 ++++- 5 files changed, 30 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/c4e5c543/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java index 601789e..40aa011 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java @@ -76,6 +76,7 @@ public class DatasetGraphOne extends DatasetGraphBaseFind { @Override public void begin(TxnType txnType) { txn.begin(txnType); } @Override public void begin(ReadWrite mode) { txn.begin(mode); } @Override public void commit() { txn.commit(); } + @Override public boolean promote() { return txn.promote(); } @Override public void abort() { txn.abort(); } @Override public boolean isInTransaction() { return txn.isInTransaction(); } @Override public void end() { txn.end(); } @@ -84,6 +85,7 @@ public class DatasetGraphOne extends DatasetGraphBaseFind { @Override public boolean supportsTransactions() { return true; } // Because there are never any changes, abort() means "finish". @Override public boolean supportsTransactionAbort() { return true; } + @Override public boolean containsGraph(Node graphNode) { if ( isDefaultGraph(graphNode) ) http://git-wip-us.apache.org/repos/asf/jena/blob/c4e5c543/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphSink.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphSink.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphSink.java index b8852a1..1015ee6 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphSink.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphSink.java @@ -44,6 +44,7 @@ public class DatasetGraphSink extends DatasetGraphBaseFind { private TransactionalNull txn = TransactionalNull.create(); @Override public void begin(TxnType txnType) { txn.begin(txnType); } @Override public void begin(ReadWrite mode) { txn.begin(mode); } + @Override public boolean promote() { return txn.promote(); } @Override public void commit() { txn.commit(); } @Override public void abort() { txn.abort(); } @Override public boolean isInTransaction() { return txn.isInTransaction(); } http://git-wip-us.apache.org/repos/asf/jena/blob/c4e5c543/jena-arq/src/main/java/org/apache/jena/sparql/core/Transactional.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/Transactional.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/Transactional.java index 08bc230..85f3b5d 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/Transactional.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/Transactional.java @@ -100,25 +100,30 @@ public interface Transactional * transaction is the same as it was at the point the transaction started. * <p> * This operation is optional and some implementations may throw - * a {@link JenaTransactionException} exception for some or all {@link TxnType} values + * a {@link JenaTransactionException} exception for some or all {@link TxnType} values. * <p> * See {@link #begin(ReadWrite)} for a form that is required of implementations. */ - //public void begin(TxnType type); - public default void begin(TxnType type) { begin(TxnType.convert(type)); } + public void begin(TxnType type); /** Start either a READ or WRITE transaction. */ public void begin(ReadWrite readWrite) ; /** * Attempt to promote a transaction from "read" to "write" and the transaction - * start with a "promote" mode. Always succeeeds of the transaction is already - * "write". Returns true if it succeeds or false if it does not (the transaction - * is still valid and in "read"). + * start with a "promote" mode ({@code READ_PROMOTE} or {@code READ_COMMITTED_PROMOTE}). + * <p> + * Returns "true" if the transction is in write mode after the call. + * The method always succeeeds of the transaction is already + * "write". + * <p> + * This method returns true if a {@code READ_PROMOTE} or {@code READ_COMMITTED_PROMOTE} is promoted. + * <p> + * This method returns false if a {@code READ_PROMOTE} can't be promoted - the transaction is stil valid and in "read" mode. + * <p> + * This method throws an exception if there is an attempt to promote a "READ" transaction. */ - - //public void promote(); - public default boolean promote() { throw new JenaTransactionException("Not implemented"); } + public boolean promote(); /** Commit a transaction - finish the transaction and make any changes permanent (if a "write" transaction) */ public void commit() ; @@ -131,11 +136,10 @@ public interface Transactional /** Return the current mode of the transaction - "read" or "write" */ public ReadWrite transactionMode(); - //public default ReadWrite transactionMode() { throw new JenaTransactionException("Not implemented"); } /** Return the transaction type used in {@code begin(TxnType)}. */ - //public TxnMode transactionMode(); - public default TxnType transactionType() { throw new JenaTransactionException("Not implemented"); } + public TxnType transactionType(); + //public default TxnType transactionType() { throw new JenaTransactionException("Not implemented"); } /** Say whether inside a transaction. */ public boolean isInTransaction() ; http://git-wip-us.apache.org/repos/asf/jena/blob/c4e5c543/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNull.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNull.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNull.java index 4b5ecf8..7b8071a 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNull.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/TransactionalNull.java @@ -56,6 +56,11 @@ public class TransactionalNull implements Transactional { public ReadWrite transactionMode() { return txnMode.get(); } + + @Override + public TxnType transactionType() { + return txnType.get(); + } @Override public void begin(ReadWrite readWrite) { http://git-wip-us.apache.org/repos/asf/jena/blob/c4e5c543/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/TransactionalBase.java ---------------------------------------------------------------------- diff --git a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/TransactionalBase.java b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/TransactionalBase.java index 4c424a8..25807aa 100644 --- a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/TransactionalBase.java +++ b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/TransactionalBase.java @@ -95,6 +95,11 @@ public class TransactionalBase implements TransactionalSystem { Log.info(this, "<< attach"); } + @Override + public final void begin(ReadWrite readWrite) { + begin(TxnType.convert(readWrite)); + } + @Override public final void begin(TxnType txnType) { Objects.nonNull(txnType) ; @@ -105,7 +110,7 @@ public class TransactionalBase implements TransactionalSystem { } @Override - public boolean promote() { + public final boolean promote() { checkActive() ; Transaction txn = getValidTransaction() ; return txn.promote() ;
