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 2014/07/05 17:25:49 UTC
svn commit: r1608034 - in /jena/site/trunk/content/documentation: notes/
query/ sdb/ tdb/
Author: andy
Date: Sat Jul 5 15:25:48 2014
New Revision: 1608034
URL: http://svn.apache.org/r1608034
Log:
JENA-728 : Update for try-resources on QueryExecution
Modified:
jena/site/trunk/content/documentation/notes/concurrency-howto.mdtext
jena/site/trunk/content/documentation/query/app_api.mdtext
jena/site/trunk/content/documentation/query/explain.mdtext
jena/site/trunk/content/documentation/query/extension.mdtext
jena/site/trunk/content/documentation/query/http-auth.mdtext
jena/site/trunk/content/documentation/query/logging.mdtext
jena/site/trunk/content/documentation/sdb/javaapi.mdtext
jena/site/trunk/content/documentation/tdb/configuration.mdtext
jena/site/trunk/content/documentation/tdb/datasets.mdtext
jena/site/trunk/content/documentation/tdb/optimizer.mdtext
jena/site/trunk/content/documentation/tdb/quadfilter.mdtext
jena/site/trunk/content/documentation/tdb/tdb_transactions.mdtext
Modified: jena/site/trunk/content/documentation/notes/concurrency-howto.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/notes/concurrency-howto.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/notes/concurrency-howto.mdtext (original)
+++ jena/site/trunk/content/documentation/notes/concurrency-howto.mdtext Sat Jul 5 15:25:48 2014
@@ -81,15 +81,14 @@ Outline:
Query query = QueryFactory.create(queryString) ;
model.enterCriticalSection(Lock.READ) ;
try {
- QueryExecution qexec = QueryExecutionFactory.create(query, model) ;
- ResultSet results = qexec.execSelect() ;
- try {
- for ( ; results.hasNext() ; )
- {
- QuerySolution soln = results.nextSolution() ;
- RDFNode x = soln.get("..var name..") ;
- }
- } finally { qexec.close() ; }
+ try(QueryExecution qexec = QueryExecutionFactory.create(query, model)) {
+ ResultSet results = qexec.execSelect() ;
+ for ( ; results.hasNext() ; )
+ {
+ QuerySolution soln = results.nextSolution() ;
+ RDFNode x = soln.get("..var name..") ;
+ }
+ }
} finally { model.leaveCriticalSection() ; }
Updates to the model should not be performed inside the read-only
Modified: jena/site/trunk/content/documentation/query/app_api.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/query/app_api.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/query/app_api.mdtext (original)
+++ jena/site/trunk/content/documentation/query/app_api.mdtext Sat Jul 5 15:25:48 2014
@@ -42,7 +42,7 @@ query execution is closed.
Model model = ... ;
String queryString = " .... " ;
Query query = QueryFactory.create(queryString) ;
- try (QueryExecution qexec = QueryExecutionFactory.create(query, model) )
+ try (QueryExecution qexec = QueryExecutionFactory.create(query, model))
ResultSet results = qexec.execSelect() ;
for ( ; results.hasNext() ; )
{
@@ -194,9 +194,9 @@ more named graphs. Datasets can be const
Query query = QueryFactory.create(queryString) ;
Dataset dataset = DatasetFactory.create(dftGraphURI, namedGraphURIs) ;
- QueryExecution qExec = QueryExecutionFactory.create(query, dataset) ;
- try { ... }
- finally { qExec.close() ; }
+ try(QueryExecution qExec = QueryExecutionFactory.create(query, dataset)) {
+ ...
+ }
Already existing models can also be used:
@@ -204,6 +204,8 @@ Already existing models can also be used
dataset.setDefaultModel(model) ;
dataset.addNamedModel("http://example/named-1", modelX) ;
dataset.addNamedModel("http://example/named-2", modelY) ;
- QueryExecution qExec = QueryExecutionFactory.create(query, dataset) ;
+ try(QueryExecution qExec = QueryExecutionFactory.create(query, dataset)) {
+ ...
+ }
[ARQ documentation index](index.html)
Modified: jena/site/trunk/content/documentation/query/explain.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/query/explain.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/query/explain.mdtext (original)
+++ jena/site/trunk/content/documentation/query/explain.mdtext Sat Jul 5 15:25:48 2014
@@ -76,8 +76,11 @@ globally:
and it may also be set on an individual query execution using it's local
context.
- QueryExecutiuon qExec = QueryExecutionFactory.create(...)Â ;
- qExec.getContext().set(ARQ.symLogExec, Explain.InfoLevel.ALL)Â ;
+ try(QueryExecutiuon qExec = QueryExecutionFactory.create(...)) {
+ qExec.getContext().set(ARQ.symLogExec, Explain.InfoLevel.ALL)Â ;
+ ResultSet rs = qExec.execSelect() ;
+ ...
+ }
On the command line:
Modified: jena/site/trunk/content/documentation/query/extension.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/query/extension.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/query/extension.mdtext (original)
+++ jena/site/trunk/content/documentation/query/extension.mdtext Sat Jul 5 15:25:48 2014
@@ -109,7 +109,10 @@ be turned off by the Java code:
or on a per instance basis:
- QueryExecution qExec = . . . ; qExec.getContext().setFalse(ARQ.enablePropertyFunctions) ;
+ try(QueryExecution qExec = ... ) {
+ qExec.getContext().setFalse(ARQ.enablePropertyFunctions) ;
+ ...
+ }
The property functions in the ARQ distribution are described on the
[property function library page](library-propfunc.html).
Modified: jena/site/trunk/content/documentation/query/http-auth.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/query/http-auth.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/query/http-auth.mdtext (original)
+++ jena/site/trunk/content/documentation/query/http-auth.mdtext Sat Jul 5 15:25:48 2014
@@ -35,7 +35,11 @@ From 2.11.0 onwards the relevant factory
avoids the needs to cast and manually set the authenticator afterwards e.g.
HttpAuthenticator authenticator = new SimpleAuthenticator("user", "password".toCharArray());
- QueryExecution qe = QueryExecutionFactory.sparqlService("http://example.org/sparql", "SELECT * WHERE { ?s a ?type }", authenticator);
+ try(QueryExecution qe = QueryExecutionFactory.sparqlService("http://example.org/sparql",
+ "SELECT * WHERE { ?s a ?type }",
+ authenticator)) {
+ ...
+ }
### Authenticators
Modified: jena/site/trunk/content/documentation/query/logging.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/query/logging.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/query/logging.mdtext (original)
+++ jena/site/trunk/content/documentation/query/logging.mdtext Sat Jul 5 15:25:48 2014
@@ -85,8 +85,10 @@ globally:
and it may also be set on an individual query execution using its local
context.
- QueryExecutiuon qExec = QueryExecutionFactory.create(...)Â ;
- qExec.getContext().set(ARQ.symLogExec, Explain.InfoLevel.ALL)Â ;
+ try(QueryExecutiuon qExec = QueryExecutionFactory.create(...)) {
+ qExec.getContext().set(ARQ.symLogExec, Explain.InfoLevel.ALL)Â ;
+ ...
+ }
On the command line:
Modified: jena/site/trunk/content/documentation/sdb/javaapi.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/sdb/javaapi.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/sdb/javaapi.mdtext (original)
+++ jena/site/trunk/content/documentation/sdb/javaapi.mdtext Sat Jul 5 15:25:48 2014
@@ -159,11 +159,10 @@ container:
Store store = SDBFactory.connectStore(conn, storeDesc)Â ;
Dataset ds = SDBFactory.connectDataset(store)Â ;
- QueryExecution qe = QueryExecutionFactory.create(query, ds)Â ;
- try {
+ try(QueryExecution qe = QueryExecutionFactory.create(query, ds)) {
ResultSet rs = qe.execSelect()Â ;
ResultSetFormatter.out(rs)Â ;
- } finally { qe.close()Â ; }
+ }
store.close()Â ;
}
@@ -206,11 +205,10 @@ dataset which is of the SDB class `Datas
This is then used as normal with ARQ:
Dataset ds = DatasetStore.create(store)Â ;
- QueryExecution qe = QueryExecutionFactory.create(query, ds)Â ;
- try {
+ try(QueryExecution qe = QueryExecutionFactory.create(query, ds)) {
ResultSet rs = qe.execSelect()Â ;
ResultSetFormatter.out(rs)Â ;
- } finally { qe.close()Â ; }
+ }
When finished, the store should be closed to release any resources
associated with the particular implementation. Closing a store does
Modified: jena/site/trunk/content/documentation/tdb/configuration.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/tdb/configuration.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/tdb/configuration.mdtext (original)
+++ jena/site/trunk/content/documentation/tdb/configuration.mdtext Sat Jul 5 15:25:48 2014
@@ -37,8 +37,10 @@ Setting globally:
Per query execution:
- QueryExecution qExec = QueryExecutionFactory.create(...)Â ;
- qExec.getContext().set(symbol, value)Â ;
+ try(QueryExecution qExec = QueryExecutionFactory.create(...)) {
+ qExec.getContext().set(symbol, value)Â ;
+ ...
+ }
Setting for a query execution happens before any query compilation
or setup happens. Creation of a query execution object does not
Modified: jena/site/trunk/content/documentation/tdb/datasets.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/tdb/datasets.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/tdb/datasets.mdtext (original)
+++ jena/site/trunk/content/documentation/tdb/datasets.mdtext Sat Jul 5 15:25:48 2014
@@ -46,8 +46,10 @@ Set globally:
or set on a per query basis:
- QueryExecution qExec = QueryExecutionFactory.create(...)Â ;
- qExec.getContext().set(TDB.symUnionDefaultGraph, true)Â ;
+ try(QueryExecution qExec = QueryExecutionFactory.create(...)) {
+ qExec.getContext().set(TDB.symUnionDefaultGraph, true)Â ;
+ ...
+ }
## Special Graph Names
Modified: jena/site/trunk/content/documentation/tdb/optimizer.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/tdb/optimizer.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/tdb/optimizer.mdtext (original)
+++ jena/site/trunk/content/documentation/tdb/optimizer.mdtext Sat Jul 5 15:25:48 2014
@@ -108,8 +108,10 @@ set globally:
and it may also be set on an individual query execution using it's
local context.
- QueryExecutiuon qExec = QueryExecutionFactory.create(...)Â ;
- qExec.getContext().set(ARQ.symLogExec,true)Â ;
+ try(QueryExecutiuon qExec = QueryExecutionFactory.create(...)) {
+ qExec.getContext().set(ARQ.symLogExec,true)Â ;
+ ResultSet rs = qExec.execSelect() ;
+ }
Use `TDB.symLogExec` for versions prior to 0.8.8.
Modified: jena/site/trunk/content/documentation/tdb/quadfilter.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/tdb/quadfilter.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/tdb/quadfilter.mdtext (original)
+++ jena/site/trunk/content/documentation/tdb/quadfilter.mdtext Sat Jul 5 15:25:48 2014
@@ -60,12 +60,13 @@ a immutable tuples of values of the same
}
To install a filter, put it in the context of a query execution
-under the symbol `SystemTDB.symTupleFilter`
+under the symbol `SystemTDB.symTupleFilter` then execute the query as normal.
Dataset ds = ... ;
Filter<Tuple<NodeId>> filter = createFilter(ds) ;
Query query = ... ;
- QueryExecution qExec = QueryExecutionFactory.create(query, ds) ;
- qExec.getContext().set(SystemTDB.symTupleFilter, filter) ;
-
-then execute the query as normal.
+ try (QueryExecution qExec = QueryExecutionFactory.create(query, ds)) {
+ qExec.getContext().set(SystemTDB.symTupleFilter, filter) ;
+ ResultSet rs = qExec.execSelect() ;
+ ...
+ }
Modified: jena/site/trunk/content/documentation/tdb/tdb_transactions.mdtext
URL: http://svn.apache.org/viewvc/jena/site/trunk/content/documentation/tdb/tdb_transactions.mdtext?rev=1608034&r1=1608033&r2=1608034&view=diff
==============================================================================
--- jena/site/trunk/content/documentation/tdb/tdb_transactions.mdtext (original)
+++ jena/site/trunk/content/documentation/tdb/tdb_transactions.mdtext Sat Jul 5 15:25:48 2014
@@ -95,21 +95,18 @@ The `dataset.end()` declares the end of
Location location = ... ;
Dataset dataset = ... ;
dataset.begin(ReadWrite.READ) ;
-
- try {
- QueryExecution qExec = QueryExecutionFactory.create("SELECT * {?s ?p ?o} LIMIT 10", dataset) ;
+ String qs1 = "SELECT * {?s ?p ?o} LIMIT 10" ;
+
+ try(QueryExecution qExec = QueryExecutionFactory.create(qs1, dataset)) {
ResultSet rs = qExec.execSelect() ;
- try {
- ResultSetFormatter.out(rs) ;
- } finally { qExec.close() ; }
+ ResultSetFormatter.out(rs) ;
+ }
- // Another query - same view of the data.
- qExec = QueryExecutionFactory.create("SELECT * {?s ?p ?o} OFFSET 10 LIMIT 10", dataset) ;
+ String qs2 = "SELECT * {?s ?p ?o} OFFSET 10 LIMIT 10" ;
+ try(QueryExecution qExec = QueryExecutionFactory.create(qs2, dataset)) {
rs = qExec.execSelect() ;
- try {
- ResultSetFormatter.out(rs) ;
- } finally { qExec.close() ; }
- } finally { dataset.end() ; }
+ ResultSetFormatter.out(rs) ;
+ }
### Write transactions
@@ -145,13 +142,12 @@ dataset.
model.add( ... )
// A SPARQL query will see the new statement added.
- QueryExecution qExec = QueryExecutionFactory.create(
- "SELECT (count(*) AS ?count) { ?s ?p ?o} LIMIT 10",
- dataset) ;
- ResultSet rs = qExec.execSelect() ;
- try {
+ try (QueryExecution qExec = QueryExecutionFactory.create(
+ "SELECT (count(*) AS ?count) { ?s ?p ?o} LIMIT 10",
+ dataset)) {
+ ResultSet rs = qExec.execSelect() ;
ResultSetFormatter.out(rs) ;
- } finally { qExec.close() ; }
+ }
// ... perform a SPARQL Update
GraphStore graphStore = GraphStoreFactory.create(dataset) ;