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