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 2018/04/25 10:09:52 UTC

[1/7] jena git commit: JENA-1428: Add tests

Repository: jena
Updated Branches:
  refs/heads/master ff810919f -> 7024fa1ac


JENA-1428: Add tests


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

Branch: refs/heads/master
Commit: 3def36360acc0fecb1ce1ff553279e0412c5bc73
Parents: be6edc5
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Apr 21 18:28:56 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Apr 21 18:28:56 2018 +0100

----------------------------------------------------------------------
 .../apache/jena/tdb2/solver/TestSolverTDB.java  | 41 ++++++++++++--------
 .../apache/jena/tdb/solver/TestSolverTDB.java   | 14 ++++++-
 2 files changed, 37 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/3def3636/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/solver/TestSolverTDB.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/solver/TestSolverTDB.java b/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/solver/TestSolverTDB.java
index 928542d..5bf5b65 100644
--- a/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/solver/TestSolverTDB.java
+++ b/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/solver/TestSolverTDB.java
@@ -19,11 +19,12 @@
 package org.apache.jena.tdb2.solver;
 
 
+import static org.junit.Assert.assertTrue;
+
 import java.util.ArrayList ;
 import java.util.Iterator ;
 import java.util.List ;
 
-import static org.junit.Assert.*;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.Triple ;
@@ -47,18 +48,15 @@ import org.junit.Test ;
 
 public class TestSolverTDB
 {
-    static String graphData = null ;
-    static Graph graph = null ;
     static Dataset dataset = null ;
     static PrefixMapping pmap = null ;
 
     @BeforeClass static public void beforeClass()
     { 
-        dataset = TL.createTestDatasetMem() ;
+        dataset = TL.createTestDatasetMem();
         dataset.begin(ReadWrite.WRITE);
-        graphData = ConfigTest.getTestingDataRoot()+"/Data/solver-data.ttl" ;
+        String graphData = ConfigTest.getTestingDataRoot()+"/Data/solver-data.ttl" ;
         RDFDataMgr.read(dataset, graphData) ;
-        graph = dataset.asDatasetGraph().getDefaultGraph() ;
         pmap = new PrefixMappingImpl() ;
         pmap.setNsPrefix("", "http://example/") ;
     }
@@ -75,17 +73,16 @@ public class TestSolverTDB
         triples.forEachRemaining(dstGraph::add) ;
     }
 
-
     @Test public void solve_01()
     {
-        ResultSet rs1 = exec("(bgp (:s :p :o))", graph) ;
+        ResultSet rs1 = exec("(bgp (:s :p :o))") ;
         ResultSet rs2 = results("unit") ;
         equals(rs1, rs2) ;
     }
     
     @Test public void solve_02()
     {
-        ResultSet rs1 = exec("(bgp (:s :p :o2))", graph) ;
+        ResultSet rs1 = exec("(bgp (:s :p :o2))") ;
         ResultSet rs2 = results("empty") ;
         equals(rs1, rs2) ;
     }
@@ -93,7 +90,7 @@ public class TestSolverTDB
     @Test public void solve_03()
     {
         // Above everything.
-        ResultSet rs1 = exec("(bgp (:zzzz :p 999999))", graph) ;
+        ResultSet rs1 = exec("(bgp (:zzzz :p 999999))") ;
         ResultSet rs2 = results("empty") ;
         equals(rs1, rs2) ;
     }
@@ -101,21 +98,21 @@ public class TestSolverTDB
     @Test public void solve_04()
     {
         // Below everything.
-        ResultSet rs1 = exec("(bgp (:a :p :a))", graph) ;
+        ResultSet rs1 = exec("(bgp (:a :p :a))") ;
         ResultSet rs2 = results("empty") ;
         equals(rs1, rs2) ;
     }
 
     @Test public void solve_05()
     {
-        ResultSet rs1 = exec("(project (?s ?y) (bgp (?s :p ?z) (?z :q ?y)))", graph) ;
+        ResultSet rs1 = exec("(project (?s ?y) (bgp (?s :p ?z) (?z :q ?y)))") ;
         ResultSet rs2 = results("(row (?s :s) (?y :y))") ;
         equals(rs1, rs2) ;
     }
     
     @Test public void solve_06()
     {
-        ResultSet rs1 = exec("(bgp (:s ?p ?o))", graph) ;
+        ResultSet rs1 = exec("(bgp (:s ?p ?o))") ;
         ResultSet rs2 = results("(row (?p :p) (?o :o))",
                                 "(row (?p :p) (?o 10))",
                                 "(row (?p :p) (?o :x))"
@@ -123,6 +120,16 @@ public class TestSolverTDB
         equals(rs1, rs2) ;
     }
 
+    @Test public void solve_07()
+    {
+        // JENA-1428, JENA-1529
+        String x = "(sequence  (table (vars ?X) (row [?X 'NotPresent']))  (bgp (triple :s :p ?o)))";
+        ResultSet rs1 = exec(x);
+        assertTrue(rs1.hasNext());
+        // Executing without stack trace is enough.
+        ResultSetFormatter.consume(rs1);
+    }
+    
     // ------
     
     private static void equals(ResultSet rs1, ResultSet rs2)
@@ -152,13 +159,15 @@ public class TestSolverTDB
         return SSE.parseTable(str).toResultSet() ; 
     }
     
-    
-    private static ResultSet exec(String pattern, Graph graph)
+    private static ResultSet exec(String pattern)
     {
         Op op = SSE.parseOp(pattern, pmap) ;
         List<Var> vars =  new ArrayList<>() ;
         vars.addAll(OpVars.visibleVars(op)) ;
-        QueryIterator qIter = Algebra.exec(op, graph) ;
+        //op = Algebra.toQuadForm(op);
+        QueryIterator qIter = Algebra.exec(op, dataset.asDatasetGraph()); 
+        // Will go via the StageGeneratorDirectTDB for TDB2 
+        // QueryIterator qIter = Algebra.exec(op, dataset.asDatasetGraph().getDefaultGraph());
         return ResultSetFactory.create(qIter, Var.varNames(vars)) ;
     }
     

http://git-wip-us.apache.org/repos/asf/jena/blob/3def3636/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestSolverTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestSolverTDB.java b/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestSolverTDB.java
index b877f99..a1bad13 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestSolverTDB.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestSolverTDB.java
@@ -33,6 +33,7 @@ import org.apache.jena.query.ResultSetFormatter ;
 import org.apache.jena.query.ResultSetRewindable ;
 import org.apache.jena.rdf.model.Model ;
 import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.riot.RDFDataMgr;
 import org.apache.jena.shared.PrefixMapping ;
 import org.apache.jena.shared.impl.PrefixMappingImpl ;
 import org.apache.jena.sparql.algebra.Algebra ;
@@ -45,7 +46,6 @@ import org.apache.jena.sparql.resultset.ResultSetCompare ;
 import org.apache.jena.sparql.sse.SSE ;
 import org.apache.jena.tdb.ConfigTest ;
 import org.apache.jena.tdb.TDBFactory ;
-import org.apache.jena.util.FileManager ;
 import org.junit.BeforeClass ;
 import org.junit.Test ;
 
@@ -60,7 +60,7 @@ public class TestSolverTDB extends BaseTest
         graphData = ConfigTest.getTestingDataRoot()+"/Data/solver-data.ttl" ;
         graph = TDBFactory.createDatasetGraph().getDefaultGraph() ;
         Model m = ModelFactory.createModelForGraph(graph) ;
-        FileManager.get().readModel(m, graphData) ;
+        RDFDataMgr.read(m, graphData) ;
 
         pmap = new PrefixMappingImpl() ;
         pmap.setNsPrefix("", "http://example/") ;
@@ -121,6 +121,16 @@ public class TestSolverTDB extends BaseTest
         equals(rs1, rs2) ;
     }
 
+    @Test public void solve_07()
+    {
+        // JENA-1428, JENA-1529
+        String x = "(sequence  (table (vars ?X) (row [?X 'NotPresent']))  (bgp (triple :s :p ?o)))";
+        ResultSet rs1 = exec(x, graph);
+        assertTrue(rs1.hasNext());
+        // Executing without stack trace is enough.
+        ResultSetFormatter.consume(rs1);
+    }
+    
     // ------
     
     private static void equals(ResultSet rs1, ResultSet rs2)


[5/7] jena git commit: Remove unnecessary suppress warning

Posted by an...@apache.org.
Remove unnecessary suppress warning


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

Branch: refs/heads/master
Commit: 62443acb774c69ed370c57aa60feb42fe5f6f706
Parents: 95d1917
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Apr 24 17:11:08 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Apr 24 17:11:08 2018 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/jena/riot/writer/JsonLDWriter.java     | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/62443acb/jena-arq/src/main/java/org/apache/jena/riot/writer/JsonLDWriter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/JsonLDWriter.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/JsonLDWriter.java
index af09711..cd6e146 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/JsonLDWriter.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/JsonLDWriter.java
@@ -203,7 +203,6 @@ public class JsonLDWriter extends WriterDatasetRIOTBase
         // with this, we cannot call the json-ld fromRDF method that assumes no duplicates in RDFDataset
         // Object obj = JsonLdProcessor.fromRDF(dataset, opts, new JenaRDF2JSONLD()) ;
         final RDFDataset jsonldDataset = (new JenaRDF2JSONLD()).parse(dataset);
-        @SuppressWarnings("deprecation") // JsonLdApi.fromRDF(RDFDataset, boolean) is "experimental" rather than "deprecated"
         Object obj = (new JsonLdApi(opts)).fromRDF(jsonldDataset, true); // true because we know that we don't have any duplicate in jsonldDataset
 
         if (variant.isExpand()) {


[7/7] jena git commit: Merge commit 'refs/pull/407/head' of https://github.com/apache/jena

Posted by an...@apache.org.
Merge commit 'refs/pull/407/head' of https://github.com/apache/jena

This closes #407.


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

Branch: refs/heads/master
Commit: 7024fa1acf1bec4ee0c7d418356ec74cb1417755
Parents: ff81091 5ea93ce
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Apr 25 11:03:55 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Apr 25 11:03:55 2018 +0100

----------------------------------------------------------------------
 .../apache/jena/riot/writer/JsonLDWriter.java   |  1 -
 .../jena/sparql/modify/UpdateEngineWorker.java  |  2 +-
 .../tdb2/solver/StageGeneratorDirectTDB.java    |  8 +++-
 .../jena/tdb2/store/DatasetGraphSwitchable.java |  4 +-
 .../jena/tdb2/store/GraphViewSwitchable.java    | 11 ++++-
 .../apache/jena/tdb2/solver/TestSolverTDB.java  | 41 +++++++++++--------
 .../org/apache/jena/fuseki/mgt/ActionCtl.java   | 11 +----
 .../apache/jena/fuseki/servlets/ActionBase.java |  6 ++-
 .../jena/fuseki/servlets/ActionService.java     | 42 +++++++++-----------
 .../apache/jena/fuseki/servlets/HttpAction.java |  3 +-
 .../apache/jena/tdb/solver/TestSolverTDB.java   | 14 ++++++-
 11 files changed, 82 insertions(+), 61 deletions(-)
----------------------------------------------------------------------



[4/7] jena git commit: Print exception cause in "failed to LOAD" message.

Posted by an...@apache.org.
Print exception cause in "failed to LOAD" message.


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

Branch: refs/heads/master
Commit: 95d1917184e46603fa51295860714840735ba470
Parents: e931e19
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Apr 21 21:15:00 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Apr 24 17:10:16 2018 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/sparql/modify/UpdateEngineWorker.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/95d19171/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
index e6891ec..6a9b4b6 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
@@ -181,7 +181,7 @@ public class UpdateEngineWorker implements UpdateVisitor
             if ( !update.getSilent() ) {
                 if ( ex instanceof UpdateException )
                     throw ex;
-                throw new UpdateException("Failed to LOAD '" + source + "'", ex);
+                throw new UpdateException("Failed to LOAD '" + source + "' :: " + ex.getMessage(), ex);
             }
         }
     }


[6/7] jena git commit: Use non-null key for the cache key.

Posted by an...@apache.org.
Use non-null key for the cache key.

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

Branch: refs/heads/master
Commit: 5ea93ce07340fee4e2434a09afa682722017a8d8
Parents: 62443ac
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Apr 24 19:08:10 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Apr 24 19:08:10 2018 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/5ea93ce0/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
index cfd4792..d2c8402 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
@@ -113,7 +113,7 @@ public class DatasetGraphSwitchable extends DatasetGraphWrapper
     @Override
     public Graph getGraph(Node gn) {
         Node key = ( gn != null ) ? gn : Quad.defaultGraphNodeGenerated;
-        return ngCache.getOrFill(gn, ()->GraphViewSwitchable.createNamedGraph(this, key));
+        return ngCache.getOrFill(key, ()->GraphViewSwitchable.createNamedGraph(this, key));
     }
 
     // TDB2 specific.


[2/7] jena git commit: StageGenerator for TDB2 to use underlying graph

Posted by an...@apache.org.
StageGenerator for TDB2 to use underlying graph


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

Branch: refs/heads/master
Commit: ee2f476d86981f5ea5aa0ae4bd202021e2106b3c
Parents: 3def363
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Apr 21 18:31:01 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Apr 21 18:31:01 2018 +0100

----------------------------------------------------------------------
 .../apache/jena/tdb2/solver/StageGeneratorDirectTDB.java |  8 +++++++-
 .../apache/jena/tdb2/store/DatasetGraphSwitchable.java   |  4 +++-
 .../org/apache/jena/tdb2/store/GraphViewSwitchable.java  | 11 +++++++++--
 3 files changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/ee2f476d/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/StageGeneratorDirectTDB.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/StageGeneratorDirectTDB.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/StageGeneratorDirectTDB.java
index 1e081f3..bb9ac10 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/StageGeneratorDirectTDB.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/StageGeneratorDirectTDB.java
@@ -27,6 +27,7 @@ import org.apache.jena.sparql.engine.ExecutionContext ;
 import org.apache.jena.sparql.engine.QueryIterator ;
 import org.apache.jena.sparql.engine.main.StageGenerator ;
 import org.apache.jena.tdb2.store.GraphTDB;
+import org.apache.jena.tdb2.store.GraphViewSwitchable;
 import org.apache.jena.tdb2.store.NodeId;
 
 /** Execute TDB requests directly -- no reordering
@@ -45,9 +46,14 @@ public class StageGeneratorDirectTDB implements StageGenerator
     @Override
     public QueryIterator execute(BasicPattern pattern, QueryIterator input, ExecutionContext execCxt)
     {
-        // --- In case this isn't for TDB
+        // --- In case this isn't for TDB2
         Graph g = execCxt.getActiveGraph() ;
         
+        if ( g instanceof GraphViewSwitchable ) {
+            GraphViewSwitchable gvs = (GraphViewSwitchable)g;
+            g = gvs.getGraph();
+        }
+        
         if ( ! ( g instanceof GraphTDB ) )
             // Not us - bounce up the StageGenerator chain
             return above.execute(pattern, input, execCxt) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/ee2f476d/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
index f27718c..cfd4792 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
@@ -32,6 +32,7 @@ import org.apache.jena.shared.impl.PrefixMappingImpl;
 import org.apache.jena.sparql.core.DatasetGraph ;
 import org.apache.jena.sparql.core.DatasetGraphWrapper;
 import org.apache.jena.sparql.core.DatasetPrefixStorage ;
+import org.apache.jena.sparql.core.Quad;
 
 final
 public class DatasetGraphSwitchable extends DatasetGraphWrapper 
@@ -111,7 +112,8 @@ public class DatasetGraphSwitchable extends DatasetGraphWrapper
     
     @Override
     public Graph getGraph(Node gn) {
-        return ngCache.getOrFill(gn, ()->GraphViewSwitchable.createNamedGraph(this, gn));
+        Node key = ( gn != null ) ? gn : Quad.defaultGraphNodeGenerated;
+        return ngCache.getOrFill(gn, ()->GraphViewSwitchable.createNamedGraph(this, key));
     }
 
     // TDB2 specific.

http://git-wip-us.apache.org/repos/asf/jena/blob/ee2f476d/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/GraphViewSwitchable.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/GraphViewSwitchable.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/GraphViewSwitchable.java
index 760d9e4..4d5229f 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/GraphViewSwitchable.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/GraphViewSwitchable.java
@@ -20,6 +20,7 @@ package org.apache.jena.tdb2.store;
 
 import java.util.Map ;
 
+import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.TransactionHandler;
 import org.apache.jena.shared.PrefixMapping ;
@@ -80,6 +81,13 @@ public class GraphViewSwitchable extends GraphView {
     public DatasetGraphSwitchable getDataset() {
         return getx() ;
     }
+    
+    /** Return the {@code Graph} from the underlying switchable.
+     *  Do not hold onto this reference across switches. 
+     */
+    public Graph getGraph() {
+        return getx().getGraph(getGraphName()) ;
+    }
 
     // DatasetPrefixStorage specific with getting the DatasetPrefixStorage
     // done at the point the operation happens.
@@ -138,5 +146,4 @@ public class GraphViewSwitchable extends GraphView {
             return prefixMapping().getNsPrefixMap();
         }
     }
-
-}
\ No newline at end of file
+}


[3/7] jena git commit: JENA-1531: start/finish request as part of ActionBase.doCommon

Posted by an...@apache.org.
JENA-1531: start/finish request as part of ActionBase.doCommon

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

Branch: refs/heads/master
Commit: e931e19a76c7300c8fab34472215bcd19d2821ac
Parents: ee2f476
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Apr 21 21:14:27 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Apr 21 21:14:27 2018 +0100

----------------------------------------------------------------------
 .../org/apache/jena/fuseki/mgt/ActionCtl.java   | 11 +----
 .../apache/jena/fuseki/servlets/ActionBase.java |  6 ++-
 .../jena/fuseki/servlets/ActionService.java     | 42 +++++++++-----------
 .../apache/jena/fuseki/servlets/HttpAction.java |  3 +-
 4 files changed, 25 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/e931e19a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
index 79aa9de..24d55dd 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
@@ -64,15 +64,8 @@ public abstract class ActionCtl extends ActionBase {
     
     // This is the service request lifecycle.
     final
-    protected void executeLifecycle(HttpAction action)
-    {
-        startRequest(action) ;
-        try {
-            perform(action) ;
-        }
-        finally { 
-            finishRequest(action) ;
-        }
+    protected void executeLifecycle(HttpAction action) {
+        perform(action) ;
     }
     
     final

http://git-wip-us.apache.org/repos/asf/jena/blob/e931e19a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java
index 367c12b..5bd52c1 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionBase.java
@@ -70,6 +70,7 @@ public abstract class ActionBase extends ServletBase
             response = action.response ;
             initResponse(request, response) ;
             try {
+                action.startRequest();
                 execCommonWorker(action) ;
             } catch (QueryCancelledException ex) {
                 // To put in the action timeout, need (1) global, (2) dataset and (3) protocol settings.
@@ -103,9 +104,10 @@ public abstract class ActionBase extends ServletBase
                 //ex.printStackTrace(System.err) ;
                 log.warn(format("[%d] RC = %d : %s", id, HttpSC.INTERNAL_SERVER_ERROR_500, ex.getMessage()), ex) ;
                 ServletOps.responseSendError(response, HttpSC.INTERNAL_SERVER_ERROR_500, ex.getMessage()) ;
+            } finally {
+                action.setFinishTime() ;
+                finishRequest(action);
             }
-    
-            action.setFinishTime() ;
             printResponse(action) ;
             archiveHttpAction(action) ;
         } catch (Throwable th) {

http://git-wip-us.apache.org/repos/asf/jena/blob/e931e19a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionService.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionService.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionService.java
index 230c5fd..79cc236 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionService.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ActionService.java
@@ -156,7 +156,6 @@ public abstract class ActionService extends ActionBase {
      */
     // This is the service request lifecycle.
     final protected void executeLifecycle(HttpAction action) {
-        startRequest(action);
         // And also HTTP counter
         CounterSet csService = action.getDataService().getCounters();
         CounterSet csOperation = null;
@@ -166,32 +165,27 @@ public abstract class ActionService extends ActionBase {
 
         incCounter(csService, Requests);
         incCounter(csOperation, Requests);
+        // Either exit this via "bad request" on validation
+        // or in execution in perform.
         try {
-            // Either exit this via "bad request" on validation
-            // or in execution in perform.
-            try {
-                validate(action);
-            }
-            catch (ActionErrorException ex) {
-                incCounter(csOperation, RequestsBad);
-                incCounter(csService, RequestsBad);
-                throw ex;
-            }
+            validate(action);
+        }
+        catch (ActionErrorException ex) {
+            incCounter(csOperation, RequestsBad);
+            incCounter(csService, RequestsBad);
+            throw ex;
+        }
 
-            try {
-                perform(action);
-                // Success
-                incCounter(csOperation, RequestsGood);
-                incCounter(csService, RequestsGood);
-            }
-            catch (ActionErrorException | QueryCancelledException | RuntimeIOException ex) {
-                incCounter(csOperation, RequestsBad);
-                incCounter(csService, RequestsBad);
-                throw ex;
-            }
+        try {
+            perform(action);
+            // Success
+            incCounter(csOperation, RequestsGood);
+            incCounter(csService, RequestsGood);
         }
-        finally {
-            finishRequest(action);
+        catch (ActionErrorException | QueryCancelledException | RuntimeIOException ex) {
+            incCounter(csOperation, RequestsBad);
+            incCounter(csService, RequestsBad);
+            throw ex;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/e931e19a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
index 4052f2d..79a6a5f 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/HttpAction.java
@@ -324,8 +324,7 @@ public class HttpAction
         activeDSG = null ;
     }
 
-    public final void startRequest()
-    { 
+    public final void startRequest() { 
         if ( dataAccessPoint != null ) 
             dataAccessPoint.startRequest(this) ;
     }