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

----------------------------------------------------------------------

----------------------------------------------------------------------