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 2013/04/19 15:23:21 UTC
svn commit: r1469821 - /jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Run.java
Author: andy
Date: Fri Apr 19 13:23:21 2013
New Revision: 1469821
URL: http://svn.apache.org/r1469821
Log:
Sync dev.
Modified:
jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Run.java
Modified: jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Run.java
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Run.java?rev=1469821&r1=1469820&r2=1469821&view=diff
==============================================================================
--- jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Run.java (original)
+++ jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Run.java Fri Apr 19 13:23:21 2013
@@ -18,16 +18,24 @@
package dev;
+import static org.apache.jena.atlas.lib.Lib.sleep ;
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.atlas.logging.Log ;
+import org.junit.Assert ;
+import org.junit.Test ;
-import com.hp.hpl.jena.query.Query ;
-import com.hp.hpl.jena.query.QueryFactory ;
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.query.* ;
+import com.hp.hpl.jena.sparql.ARQConstants ;
import com.hp.hpl.jena.sparql.algebra.Algebra ;
import com.hp.hpl.jena.sparql.algebra.Op ;
import com.hp.hpl.jena.sparql.algebra.optimize.Optimize ;
import com.hp.hpl.jena.sparql.algebra.optimize.TransformFilterEquality ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
+import com.hp.hpl.jena.sparql.engine.binding.Binding ;
import com.hp.hpl.jena.sparql.serializer.SerializationContext ;
+import com.hp.hpl.jena.sparql.sse.SSE ;
import com.hp.hpl.jena.sparql.sse.writers.WriterOp ;
public class Run extends RunBase
@@ -36,8 +44,57 @@ public class Run extends RunBase
static String DIR = "DB" ;
+ // JENA-440
+
+ static private String prefix =
+ "PREFIX f: <http://example/ns#>\n"+
+ "PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>\n" ;
+ static Graph g = SSE.parseGraph("(graph (<s> <p> <o1>) (<s> <p> <o2>) (<s> <p> <o3>))") ;
+ static DatasetGraph dsg = DatasetGraphFactory.createOneGraph(g) ;
+ static Dataset ds = DatasetFactory.create(dsg) ;
+ private static void noException(ResultSet rs)
+ {
+ ResultSetFormatter.consume(rs) ;
+ }
+
+ private static void exceptionExpected(ResultSet rs)
+ {
+ try { ResultSetFormatter.consume(rs) ; Assert.fail("QueryCancelledException expected") ; } catch (QueryCancelledException ex) {}
+ }
+
+
+ // ----------------------
+ // Set via context on the QE is too late.
+
+ @Test
+ public void timeout_30()
+ {
+ String qs = prefix + "SELECT * { { ?s ?p ?o } UNION { FILTER( afn:wait(50) ) } UNION { ?s ?p ?o } }" ;
+ QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ;
+ try {
+ qExec.setTimeout(10,10) ;
+ // No rewrite optimizations.
+ qExec.getContext().set(ARQConstants.sysOptimizerFactory, Optimize.noOptimizationFactory) ;
+ ResultSet rs = qExec.execSelect() ;
+
+ // Should be several solutions ...
+ Binding b = rs.nextBinding() ;
+ System.out.println(b) ;
+ // ... then a timeout.
+ sleep(40) ;
+ exceptionExpected(rs) ;
+ } finally {
+ qExec.close() ;
+ }
+ }
+ // ----------------------
+
+
public static void main(String[] argv) throws Exception
{
+ new Run().timeout_30() ;
+ System.out.println("DONE") ;
+ System.exit(0) ;
mainExplain() ;
System.exit(0) ;
}