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/03/17 11:39:06 UTC
[1/2] jena git commit: JENA-903: Look down DatasetGraphWrapper layers
for a DatasetChanges.
Repository: jena
Updated Branches:
refs/heads/master 1ec5702bb -> 9b1d2a246
JENA-903: Look down DatasetGraphWrapper layers for a DatasetChanges.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c067fb06
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c067fb06
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c067fb06
Branch: refs/heads/master
Commit: c067fb06e28ef593702cb28e6462a8f09a38db60
Parents: 300f9b7
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Mar 17 10:22:52 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Mar 17 10:38:20 2015 +0000
----------------------------------------------------------------------
.../jena/sparql/core/DatasetGraphWithLock.java | 30 +++++++++++++++-----
1 file changed, 23 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c067fb06/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphWithLock.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphWithLock.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphWithLock.java
index 243388b..b979853 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphWithLock.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphWithLock.java
@@ -49,10 +49,28 @@ public class DatasetGraphWithLock extends DatasetGraphTrackActive implements Syn
private final ThreadLocalReadWrite readWrite = new ThreadLocalReadWrite() ;
private final ThreadLocalBoolean inTransaction = new ThreadLocalBoolean() ;
- private DatasetGraph dsg ;
+ private final DatasetGraph dsg ;
+ // Associated DatasetChanges (if any, may be null)
+ private final DatasetChanges dsChanges ;
public DatasetGraphWithLock(DatasetGraph dsg) {
this.dsg = dsg ;
+ this.dsChanges = findDatasetChanges(dsg) ;
+ }
+
+ /** Find a DatasetChanges handler.
+ * Unwrap layers of DatasetGraphWrapper to
+ * look for a DatasetGraphMonitor.
+ */
+ private static DatasetChanges findDatasetChanges(DatasetGraph dataset) {
+ for(;;) {
+ // DatasetGraphMonitor extends DatasetGraphWrapper
+ if ( dataset instanceof DatasetGraphMonitor )
+ return ((DatasetGraphMonitor)dataset).getMonitor() ;
+ if ( ! ( dataset instanceof DatasetGraphWrapper ) )
+ return null ;
+ dataset = ((DatasetGraphWrapper)dataset).getWrapped() ;
+ }
}
@Override
@@ -87,9 +105,8 @@ public class DatasetGraphWithLock extends DatasetGraphTrackActive implements Syn
boolean b = isTransactionType(ReadWrite.READ) ;
get().getLock().enterCriticalSection(b) ;
inTransaction.set(true) ;
- if (get() instanceof DatasetGraphMonitor) {
- ((DatasetGraphMonitor)get()).getMonitor().start();
- }
+ if ( dsChanges != null )
+ dsChanges.start() ;
}
@Override
@@ -118,9 +135,8 @@ public class DatasetGraphWithLock extends DatasetGraphTrackActive implements Syn
@Override
protected void _end() {
if ( isInTransaction() ) {
- if (get() instanceof DatasetGraphMonitor) {
- ((DatasetGraphMonitor)get()).getMonitor().finish();
- }
+ if ( dsChanges != null )
+ dsChanges.finish();
get().getLock().leaveCriticalSection() ;
clearState() ;
}
[2/2] jena git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/jena
Posted by an...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/jena
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/9b1d2a24
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/9b1d2a24
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/9b1d2a24
Branch: refs/heads/master
Commit: 9b1d2a2462abdf0b93c2ea08b9f68927786322db
Parents: c067fb0 1ec5702
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Mar 17 10:38:40 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Mar 17 10:38:40 2015 +0000
----------------------------------------------------------------------
----------------------------------------------------------------------