You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by mi...@apache.org on 2013/07/12 22:38:01 UTC

svn commit: r1502677 - in /clerezza/trunk: rdf.core/src/main/java/org/apache/clerezza/rdf/core/access/TcManager.java rdf.jena.tdb.storage/src/main/java/org/apache/clerezza/rdf/jena/tdb/storage/BaseTdbTcProvider.java

Author: misl
Date: Fri Jul 12 20:38:01 2013
New Revision: 1502677

URL: http://svn.apache.org/r1502677
Log:
CLEREZZA-802: Added the ability to force fastlane.

Modified:
    clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/access/TcManager.java
    clerezza/trunk/rdf.jena.tdb.storage/src/main/java/org/apache/clerezza/rdf/jena/tdb/storage/BaseTdbTcProvider.java

Modified: clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/access/TcManager.java
URL: http://svn.apache.org/viewvc/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/access/TcManager.java?rev=1502677&r1=1502676&r2=1502677&view=diff
==============================================================================
--- clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/access/TcManager.java (original)
+++ clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/access/TcManager.java Fri Jul 12 20:38:01 2013
@@ -279,13 +279,33 @@ public class TcManager extends TcProvide
      * @return the resulting ResultSet, Graph or Boolean value
      */
     public Object executeSparqlQuery(String query, TripleCollection defaultGraph) throws ParseException {
-        final UriRef defaultGraphName = new UriRef("urn:x-temp:/kjsfadfhfasdffds");
-        SparqlPreParser sparqlPreParser = new SparqlPreParser(this);
-        final Set<UriRef> referencedGraphs = sparqlPreParser.getReferredGraphs(query, defaultGraphName);
+      return executeSparqlQuery(query, defaultGraph, false);
+    }
+
+    /**
+     * Executes any sparql query. The type of the result object will vary
+     * depending on the type of the query. If the defaultGraph is available
+     * in this TcManages executeSparqlQuery(String, UriRef) should be used instead.
+     *
+     * @param query the sparql query to execute
+     * @param defaultGraph the default graph against which to execute the query
+     * if no FROM clause is present
+     * @param forceFastlane indicate whether to force fastlane usage.
+     * @return the resulting ResultSet, Graph or Boolean value
+     */
+    public Object executeSparqlQuery(String query, TripleCollection defaultGraph, boolean forceFastlane) throws ParseException {
         TcProvider singleTargetTcProvider = null;
-        if ((referencedGraphs != null) && (!referencedGraphs.contains(defaultGraphName))) {
-            singleTargetTcProvider = getSingleTargetTcProvider(referencedGraphs);
-        }
+    	if (forceFastlane) {
+            singleTargetTcProvider = getSingleTargetTcProvider();
+    	} else {    	
+	        final UriRef defaultGraphName = new UriRef("urn:x-temp:/kjsfadfhfasdffds");
+	        SparqlPreParser sparqlPreParser = new SparqlPreParser(this);
+	        final Set<UriRef> referencedGraphs = sparqlPreParser.getReferredGraphs(query, defaultGraphName);
+	        if ((referencedGraphs != null) && (!referencedGraphs.contains(defaultGraphName))) {
+	            singleTargetTcProvider = getSingleTargetTcProvider(referencedGraphs);
+	        }
+    	}
+    	
         if ((singleTargetTcProvider != null) && (singleTargetTcProvider instanceof QueryableTcProvider)) {
             return ((QueryableTcProvider)singleTargetTcProvider).executeSparqlQuery(query, null);
         }
@@ -298,12 +318,20 @@ public class TcManager extends TcProvide
     }
     
     public Object executeSparqlQuery(String query, UriRef defaultGraphName) throws ParseException {
-        SparqlPreParser sparqlPreParser = new SparqlPreParser(this);
-        final Set<UriRef> referencedGraphs = sparqlPreParser.getReferredGraphs(query, defaultGraphName);
+      return executeSparqlQuery(query, defaultGraphName, false);
+    }
+
+    public Object executeSparqlQuery(String query, UriRef defaultGraphName, boolean forceFastlane) throws ParseException {
         TcProvider singleTargetTcProvider = null;
-        if ((referencedGraphs != null)) {
-            singleTargetTcProvider = getSingleTargetTcProvider(referencedGraphs);
-        }
+    	if (forceFastlane) {
+            singleTargetTcProvider = getSingleTargetTcProvider();
+    	} else {    	
+	        SparqlPreParser sparqlPreParser = new SparqlPreParser(this);
+	        final Set<UriRef> referencedGraphs = sparqlPreParser.getReferredGraphs(query, defaultGraphName);
+	        if ((referencedGraphs != null)) {
+	            singleTargetTcProvider = getSingleTargetTcProvider(referencedGraphs);
+	        }
+    	}
         if ((singleTargetTcProvider != null) && (singleTargetTcProvider instanceof QueryableTcProvider)) {
             return ((QueryableTcProvider)singleTargetTcProvider).executeSparqlQuery(query, defaultGraphName);
         }
@@ -491,4 +519,8 @@ public class TcManager extends TcProvide
         }
         return singleTargetTcProvider;
     }
+
+    private TcProvider getSingleTargetTcProvider() {
+        return providerList.first();
+    }
 }

Modified: clerezza/trunk/rdf.jena.tdb.storage/src/main/java/org/apache/clerezza/rdf/jena/tdb/storage/BaseTdbTcProvider.java
URL: http://svn.apache.org/viewvc/clerezza/trunk/rdf.jena.tdb.storage/src/main/java/org/apache/clerezza/rdf/jena/tdb/storage/BaseTdbTcProvider.java?rev=1502677&r1=1502676&r2=1502677&view=diff
==============================================================================
--- clerezza/trunk/rdf.jena.tdb.storage/src/main/java/org/apache/clerezza/rdf/jena/tdb/storage/BaseTdbTcProvider.java (original)
+++ clerezza/trunk/rdf.jena.tdb.storage/src/main/java/org/apache/clerezza/rdf/jena/tdb/storage/BaseTdbTcProvider.java Fri Jul 12 20:38:01 2013
@@ -36,7 +36,6 @@ abstract class BaseTdbTcProvider impleme
 		// QueryExecutionFactory.create requires
 		// (java.io.FilePermission [etc/]location-mapping.* read)
 		// Thus, they are placed within doPrivileged
-        getDataset().setDefaultModel(null);
 		QueryExecution qexec = AccessController
 				.doPrivileged(new PrivilegedAction<QueryExecution>() {