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) ;
}