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 2011/11/19 18:34:20 UTC
svn commit: r1204026 - in
/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena:
query/Dataset.java sparql/core/DatasetGraphCaching.java
sparql/core/DatasetImpl.java sparql/core/Transactional.java
Author: andy
Date: Sat Nov 19 17:34:19 2011
New Revision: 1204026
URL: http://svn.apache.org/viewvc?rev=1204026&view=rev
Log:
Use .end() for the end of a transaction, not .close().
Modified:
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/query/Dataset.java
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCaching.java
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetImpl.java
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/Transactional.java
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/query/Dataset.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/query/Dataset.java?rev=1204026&r1=1204025&r2=1204026&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/query/Dataset.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/query/Dataset.java Sat Nov 19 17:34:19 2011
@@ -28,8 +28,9 @@ import com.hp.hpl.jena.sparql.core.Datas
* and a background graph (also called the default
* graph or unnamed graph). */
-public interface Dataset
+public interface Dataset // extends Transactional
{
+ // Rather than pull in the internal "Tranactional" interface, we duplicate it here.
/** Get the default graph as a Jena Model */
public Model getDefaultModel() ;
@@ -59,19 +60,26 @@ public interface Dataset
/** Does this dataset support transactions?
* Supporting transactions mean that the dataset implementation
- * provides {@link #begin}, {@link #commit}, {@link #abort},
+ * provides {@link #begin}, {@link #commit}, {@link #abort}, {@link #end}
* which otherwise may throw {@link UnsupportedOperationException}
*/
public boolean supportsTransactions() ;
-
- /** Start a transaction */
- public void begin(ReadWrite mode) ;
- public void commit() ;
- public void abort() ;
+ /** Start either a READ or WRITE transaction */
+ public void begin(ReadWrite readWrite) ;
+ /** Commit a transaction - finish the transaction and make any changes permanent (if a "write" transaction) */
+ public void commit() ;
+ /** Abort a transaction - finish the transaction and undo any changes (if a "write" transaction) */
+ public void abort() ;
+
+ /** Say whether a transaction is active */
+ public boolean isInTransaction() ;
+ /** Finish the transaction - if a write transaction and commit() has not been called, then abort */
+ public void end() ;
+
/** Get the dataset in graph form */
public DatasetGraph asDatasetGraph() ;
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCaching.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCaching.java?rev=1204026&r1=1204025&r2=1204026&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCaching.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphCaching.java Sat Nov 19 17:34:19 2011
@@ -121,16 +121,19 @@ abstract public class DatasetGraphCachin
}
@Override
- public synchronized void close()
+ public void close()
{
- if ( closed )
- return ;
- closed = true ;
-
- defaultGraph = null ;
- namedGraphs.clear() ;
- _close() ;
- super.close() ;
+ synchronized(this)
+ {
+ if ( closed )
+ return ;
+ closed = true ;
+
+ defaultGraph = null ;
+ namedGraphs.clear() ;
+ _close() ;
+ super.close() ;
+ }
}
// Helper implementations of operations.
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetImpl.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetImpl.java?rev=1204026&r1=1204025&r2=1204026&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetImpl.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetImpl.java Sat Nov 19 17:34:19 2011
@@ -119,6 +119,15 @@ public class DatasetImpl implements Data
throw new UnsupportedOperationException("Transactions not supported") ;
transactional.begin(mode) ;
}
+
+ /** Say whether a transaction is active */
+ @Override
+ public boolean isInTransaction()
+ {
+ if ( transactional == null )
+ throw new UnsupportedOperationException("Transactions not supported") ;
+ return transactional.isInTransaction() ;
+ }
@Override
public void commit()
@@ -137,6 +146,14 @@ public class DatasetImpl implements Data
}
@Override
+ public void end()
+ {
+ if ( transactional == null )
+ throw new UnsupportedOperationException("Transactions not supported") ;
+ transactional.end() ;
+ }
+
+ @Override
public DatasetGraph asDatasetGraph() { return dsg ; }
@Override
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/Transactional.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/Transactional.java?rev=1204026&r1=1204025&r2=1204026&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/Transactional.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/Transactional.java Sat Nov 19 17:34:19 2011
@@ -18,23 +18,29 @@
package com.hp.hpl.jena.sparql.core;
-import org.openjena.atlas.lib.Closeable ;
-
import com.hp.hpl.jena.query.ReadWrite ;
/** Interface that encapulsated begin/abort|commit/close.
* <p>The read lifcycle is:
- * <pre> begin(READ) ... close()</pre>
+ * <pre> begin(READ) ... end()</pre>
* <p>The write lifcycle is:
- * <pre> begin(WRITE) ... abort() or commit() ... close</pre>
+ * <pre> begin(WRITE) ... abort() or commit() [end()is optional]</pre>
*
*/
-public interface Transactional extends Closeable
+public interface Transactional
{
+ /** Start either a READ or WRITE transaction */
public void begin(ReadWrite readWrite) ;
+
+ /** Commit a transaction - finish the transaction and make any changes permanent (if a "write" transaction) */
public void commit() ;
+
+ /** Abort a transaction - finish the transaction and undo any changes (if a "write" transaction) */
public void abort() ;
+
+ /** Say whether a transaction is active */
public boolean isInTransaction() ;
- @Override
- public void close() ;
+
+ /** Finish the transaction - if a write transaction and commit() has not been called, then abort */
+ public void end() ;
}