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/07/12 16:40:00 UTC

[10/12] jena git commit: Transaction around system database access.

Transaction around system database access.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/cf25c96f
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/cf25c96f
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/cf25c96f

Branch: refs/heads/master
Commit: cf25c96f0abb1ed94e5c046d8d953315e968c020
Parents: 5d22a0c
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 3 14:04:59 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Jul 12 15:35:28 2015 +0100

----------------------------------------------------------------------
 .../apache/jena/fuseki/build/FusekiConfig.java  | 45 +++++++++++---------
 1 file changed, 25 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/cf25c96f/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
index 4fe19ea..8bfa469 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
@@ -43,6 +43,7 @@ import org.apache.jena.fuseki.server.FusekiVocab ;
 import org.apache.jena.fuseki.server.SystemState ;
 import org.apache.jena.query.Dataset ;
 import org.apache.jena.query.QuerySolution ;
+import org.apache.jena.query.ReadWrite ;
 import org.apache.jena.query.ResultSet ;
 import org.apache.jena.rdf.model.* ;
 import org.apache.jena.riot.RDFDataMgr ;
@@ -263,25 +264,29 @@ public class FusekiConfig {
         
         List<DataAccessPoint> refs = new ArrayList<>() ;
         
-        ResultSet rs = FusekiLib.query(qs, ds) ;
-        
-//        ResultSetFormatter.out(rs); 
-//        ((ResultSetRewindable)rs).reset();
-        
-        for ( ; rs.hasNext() ; ) {
-            QuerySolution row = rs.next() ;
-            Resource s = row.getResource("s") ;
-            Resource g = row.getResource("g") ;
-            Resource rStatus = row.getResource("status") ;
-            //String name = row.getLiteral("name").getLexicalForm() ;
-            DatasetStatus status = DatasetStatus.status(rStatus) ;
-            
-            Model m = ds.getNamedModel(g.getURI()) ;
-            // Rebase the resoure of the service description to the containing graph.
-            Resource svc = m.wrapAsResource(s.asNode()) ;
-            DataAccessPoint ref = Builder.buildDataAccessPoint(svc) ;
-            refs.add(ref) ;
-        }
-        return refs ;
+        ds.begin(ReadWrite.WRITE) ;
+        try {
+            ResultSet rs = FusekiLib.query(qs, ds) ;
+
+    //        ResultSetFormatter.out(rs); 
+    //        ((ResultSetRewindable)rs).reset();
+
+            for ( ; rs.hasNext() ; ) {
+                QuerySolution row = rs.next() ;
+                Resource s = row.getResource("s") ;
+                Resource g = row.getResource("g") ;
+                Resource rStatus = row.getResource("status") ;
+                //String name = row.getLiteral("name").getLexicalForm() ;
+                DatasetStatus status = DatasetStatus.status(rStatus) ;
+
+                Model m = ds.getNamedModel(g.getURI()) ;
+                // Rebase the resoure of the service description to the containing graph.
+                Resource svc = m.wrapAsResource(s.asNode()) ;
+                DataAccessPoint ref = Builder.buildDataAccessPoint(svc) ;
+                refs.add(ref) ;
+            }
+            ds.commit(); 
+            return refs ;
+        } finally { ds.end() ; }
     }
 }