You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2013/01/29 11:31:37 UTC

svn commit: r1439817 - in /jena/trunk/jena-arq: src-examples/arq/examples/riot/ src/main/java/org/apache/jena/riot/lang/ src/test/java/org/apache/jena/riot/lang/

Author: rvesse
Date: Tue Jan 29 10:31:37 2013
New Revision: 1439817

URL: http://svn.apache.org/viewvc?rev=1439817&view=rev
Log:
Removed StreamedRDFIterator in favour of Stephen's PipedRDFStream and PipedRDFIterator, update example to use PipedRDFStream and PipedRDFIterator instead

Removed:
    jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/StreamedQuadsIterator.java
    jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/StreamedRDFIterator.java
    jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/StreamedTriplesIterator.java
    jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/StreamedTuplesIterator.java
    jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestStreamedRDFIterators.java
Modified:
    jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java
    jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java

Modified: jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java?rev=1439817&r1=1439816&r2=1439817&view=diff
==============================================================================
--- jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java (original)
+++ jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java Tue Jan 29 10:31:37 2013
@@ -18,37 +18,35 @@
 
 package arq.examples.riot;
 
-import java.util.concurrent.ExecutorService ;
-import java.util.concurrent.Executors ;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
-import org.apache.jena.riot.RDFDataMgr ;
-import org.apache.jena.riot.lang.StreamedTriplesIterator ;
-
-import com.hp.hpl.jena.graph.Triple ;
-
-/** Example of using RIOT : iterate over output of parser run */
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.riot.lang.PipedRDFIterator;
+import org.apache.jena.riot.lang.PipedRDFStream;
+import org.apache.jena.riot.lang.PipedTriplesStream;
+import org.apache.jena.riot.lang.StreamedTriplesIterator;
+
+import com.hp.hpl.jena.graph.Triple;
+
+/**
+ * Example of using RIOT : iterate over output of parser run using a
+ * {@link PipedRDFStream} and a {@link PipedRDFIterator}
+ * 
+ */
 public class ExRIOT_6 {
 
     public static void main(String... argv) {
-        // Not needed here as we are using RIOT itself via RDFDataMgr, not
-        // indirectly.
-        // RIOT.init() ;
-
         final String filename = "data.ttl";
 
         // Create a StreamedTriplesIterator, this doubles as both a StreamRDF
         // for parser output and an iterator for our consumption
         // You can optionally supply a buffer size here, see the documentation
         // for details about recommended buffer sizes
-        final StreamedTriplesIterator iter = new StreamedTriplesIterator();
-
-        // The classes derived from StreamedRDFIterator such as this are
-        // fully thread safe so the parser and the consumer of the iterator
-        // may be on different threads
-        // Generally speaking the parser and the consumer must be on different
-        // threads as otherwise your consumer code will never start and
-        // everything will deadlock
+        PipedRDFIterator<Triple> iter = new PipedRDFIterator<Triple>();
+        final PipedRDFStream<Triple> inputStream = new PipedTriplesStream(iter);
 
+        // PipedRDFStream and PipedRDFIterator need to be on different threads
         ExecutorService executor = Executors.newSingleThreadExecutor();
 
         // Create a runnable for our parser thread
@@ -57,18 +55,17 @@ public class ExRIOT_6 {
             @Override
             public void run() {
                 // Call the parsing process.
-                RDFDataMgr.parse(iter, filename);
+                RDFDataMgr.parse(inputStream, filename);
             }
         };
 
-        // Start the parser
+        // Start the parser on another thread
         executor.submit(parser);
 
         // We will consume the input on the main thread here
 
         // We can now iterate over data as it is parsed, parsing only runs as
-        // far
-        // ahead of our consumption as the buffer size allows
+        // far ahead of our consumption as the buffer size allows
         while (iter.hasNext()) {
             Triple next = iter.next();
             // Do something with each triple

Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java?rev=1439817&r1=1439816&r2=1439817&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java Tue Jan 29 10:31:37 2013
@@ -35,7 +35,7 @@ import org.junit.runners.Suite ;
     , TestLangRdfJson.class
     , TestParserFactory.class
 
-    , TestStreamedRDFIterators.class
+    , TestPipedRDFIterators.class
 })