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 2015/08/21 17:20:22 UTC

jena git commit: JENA-1012 : Deprecate createIterator operations (moved to RDFDataMgr)

Repository: jena
Updated Branches:
  refs/heads/master c8427ba75 -> 123cf4cb3


JENA-1012 : Deprecate createIterator operations (moved to RDFDataMgr)

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/123cf4cb
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/123cf4cb
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/123cf4cb

Branch: refs/heads/master
Commit: 123cf4cb390dcc0d182d942a0806fa9d2d1294d3
Parents: c8427ba
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 21 16:20:10 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 21 16:20:10 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/riot/RDFDataMgr.java   | 47 ++++++++++++++-
 .../java/org/apache/jena/riot/RiotReader.java   | 61 ++++----------------
 .../sparql/engine/http/QueryEngineHTTP.java     |  2 +-
 .../org/apache/jena/riot/TestRiotReader.java    |  8 +--
 4 files changed, 61 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/123cf4cb/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
index 851ff5b..395119e 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
@@ -23,6 +23,7 @@ import java.util.Iterator ;
 import java.util.Objects ;
 
 import org.apache.jena.atlas.io.IO ;
+import org.apache.jena.atlas.iterator.IteratorResourceClosing ;
 import org.apache.jena.atlas.lib.Lib ;
 import org.apache.jena.atlas.web.ContentType ;
 import org.apache.jena.atlas.web.TypedInputStream ;
@@ -32,6 +33,10 @@ import org.apache.jena.query.Dataset ;
 import org.apache.jena.query.DatasetFactory ;
 import org.apache.jena.rdf.model.Model ;
 import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.riot.lang.PipedQuadsStream ;
+import org.apache.jena.riot.lang.PipedRDFIterator ;
+import org.apache.jena.riot.lang.PipedTriplesStream ;
+import org.apache.jena.riot.lang.RiotParsers ;
 import org.apache.jena.riot.system.RiotLib ;
 import org.apache.jena.riot.system.StreamRDF ;
 import org.apache.jena.riot.system.StreamRDFLib ;
@@ -1207,5 +1212,45 @@ public class RDFDataMgr
         WriterDatasetRIOT w = createDatasetWriter$(serialization);
         w.write(out, dataset, RiotLib.prefixMap(dataset), null, null);
     }
-}
 
+    /**
+     * Create an iterator over parsing of triples
+     * @param input Input Stream
+     * @param lang Language
+     * @param baseIRI Base IRI
+     * @return Iterator over the triples
+     */
+    public static Iterator<Triple> createIteratorTriples(InputStream input, Lang lang, String baseIRI)
+    {
+        // Special case N-Triples, because the RIOT reader has a pull interface
+        if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) )
+            return new IteratorResourceClosing<>(RiotParsers.createParserNTriples(input, null), input);
+        // Otherwise, we have to spin up a thread to deal with it
+        PipedRDFIterator<Triple> it = new PipedRDFIterator<>();
+        PipedTriplesStream out = new PipedTriplesStream(it);
+        Thread t = new Thread(()->parse(out, input, baseIRI, lang)) ;
+        t.start();
+        return it;
+    }
+
+    /**
+     * Creates an iterator over parsing of quads
+     * @param input Input Stream
+     * @param lang Language
+     * @param baseIRI Base IRI
+     * @return Iterator over the quads
+     */
+    public static Iterator<Quad> createIteratorQuads(InputStream input, Lang lang, String baseIRI)
+    {
+        // Special case N-Quads, because the RIOT reader has a pull interface
+        if ( RDFLanguages.sameLang(RDFLanguages.NQUADS, lang) )
+            return new IteratorResourceClosing<>(RiotParsers.createParserNQuads(input, null), input);
+        // Otherwise, we have to spin up a thread to deal with it
+        final PipedRDFIterator<Quad> it = new PipedRDFIterator<>();
+        final PipedQuadsStream out = new PipedQuadsStream(it);
+
+        Thread t = new Thread(()->parse(out, input, baseIRI, lang)) ;
+        t.start();
+        return it;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/123cf4cb/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java b/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
index be35fd5..d23c66e 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
@@ -25,18 +25,17 @@ import java.io.InputStream ;
 import java.util.Iterator ;
 
 import org.apache.jena.atlas.io.IO ;
-import org.apache.jena.atlas.iterator.IteratorResourceClosing ;
 import org.apache.jena.atlas.lib.Sink ;
 import org.apache.jena.graph.Triple ;
-import org.apache.jena.riot.lang.* ;
 import org.apache.jena.riot.system.StreamRDF ;
 import org.apache.jena.riot.system.StreamRDFLib ;
 import org.apache.jena.sparql.core.Quad ;
 
 /** Operations to access RIOT parsers and send the output to 
  *  a StreamRDF (triples or quads as appropriate).
- *  This class is probably not what you want to use.
- *  It is public to give maximum compatibility.
+ *  <p>
+ *  <b>This class is probably not what you want to use.</b>
+ *  <p>
  *
  *  @see RDFDataMgr for reading from a location, including web access and content negotation.
  */
@@ -196,32 +195,12 @@ public class RiotReader
      * @param lang Language
      * @param baseIRI Base IRI
      * @return Iterator over the triples
+     * @deprecated Use {@link RDFDataMgr#createIteratorTriples(InputStream,Lang,String)} instead
      */
+    @Deprecated
     public static Iterator<Triple> createIteratorTriples(final InputStream input, final Lang lang, final String baseIRI)
     {
-        // Special case N-Triples, because the RIOT reader has a pull interface
-        if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) )
-        {
-            return new IteratorResourceClosing<>(RiotParsers.createParserNTriples(input, null), input);
-        }
-        else
-        {
-            // Otherwise, we have to spin up a thread to deal with it
-            final PipedRDFIterator<Triple> it = new PipedRDFIterator<>();
-            final PipedTriplesStream out = new PipedTriplesStream(it);
-            
-            Thread t = new Thread(new Runnable()
-            {
-                @Override
-                public void run()
-                {
-                    RDFDataMgr.parse(out, input, baseIRI, lang);
-                }
-            });
-            t.start();
-            
-            return it;
-        }
+        return RDFDataMgr.createIteratorTriples(input, lang, baseIRI);
     }
    
     /**
@@ -230,31 +209,11 @@ public class RiotReader
      * @param lang Language
      * @param baseIRI Base IRI
      * @return Iterator over the quads
+     * @deprecated Use {@link RDFDataMgr#createIteratorQuads(InputStream,Lang,String)} instead
      */
-    public static Iterator<Quad> createIteratorQuads(final InputStream input, final Lang lang, final String baseIRI)
+    @Deprecated
+    public static Iterator<Quad> createIteratorQuads(final InputStream input, final Lang lang, final String baseIRI) 
     {
-        // Special case N-Quads, because the RIOT reader has a pull interface
-        if ( RDFLanguages.sameLang(RDFLanguages.NQUADS, lang) )
-        {
-            return new IteratorResourceClosing<>(RiotParsers.createParserNQuads(input, null), input);
-        }
-        else
-        {
-            // Otherwise, we have to spin up a thread to deal with it
-            final PipedRDFIterator<Quad> it = new PipedRDFIterator<>();
-            final PipedQuadsStream out = new PipedQuadsStream(it);
-            
-            Thread t = new Thread(new Runnable()
-            {
-                @Override
-                public void run()
-                {
-                    RDFDataMgr.parse(out, input, baseIRI, lang);
-                }
-            });
-            t.start();
-            
-            return it;
-        }
+        return RDFDataMgr.createIteratorQuads(input, lang, baseIRI);
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/123cf4cb/jena-arq/src/main/java/org/apache/jena/sparql/engine/http/QueryEngineHTTP.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/http/QueryEngineHTTP.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/http/QueryEngineHTTP.java
index ef9b8f1..e20efd2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/http/QueryEngineHTTP.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/http/QueryEngineHTTP.java
@@ -456,7 +456,7 @@ public class QueryEngineHTTP implements QueryExecution {
             throw new QueryException("Endpoint returned Content Type: " + actualContentType
                     + " which is not a valid RDF Graph syntax");
 
-        return RiotReader.createIteratorTriples(in, lang, null);
+        return RDFDataMgr.createIteratorTriples(in, lang, null);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/123cf4cb/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java b/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
index e516e65..b54df07 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
@@ -36,7 +36,7 @@ public class TestRiotReader
     @Test
     public void testCreateIteratorTriples_01()
     {
-        Iterator<Triple> it = RiotReader.createIteratorTriples(new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, "http://example/");
+        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, "http://example/");
         
         assertFalse(it.hasNext());
     }
@@ -44,7 +44,7 @@ public class TestRiotReader
     @Test
     public void testEncodedUTF8()
     {
-        Iterator<Triple> it = RiotReader.createIteratorTriples(new ByteArrayInputStream("<a> <b> \"\\u263A\" .".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, null);
+        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream("<a> <b> \"\\u263A\" .".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, null);
         
         assertTrue(it.hasNext());
         assertEquals("☺", it.next().getObject().getLiteralLexicalForm());
@@ -53,7 +53,7 @@ public class TestRiotReader
     @Test
     public void testRawUTF8()
     {
-        Iterator<Triple> it = RiotReader.createIteratorTriples(new ByteArrayInputStream("<a> <b> \"☺\" .".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, null);
+        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream("<a> <b> \"☺\" .".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, null);
         
         assertTrue(it.hasNext());
         assertEquals("☺", it.next().getObject().getLiteralLexicalForm());
@@ -71,7 +71,7 @@ public class TestRiotReader
                 "   </rdf:Description>" ,
                 "</rdf:RDF>") ;
         
-        Iterator<Triple> it = RiotReader.createIteratorTriples(new ByteArrayInputStream(x.getBytes()), RDFLanguages.RDFXML, "http://example/");
+        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream(x.getBytes()), RDFLanguages.RDFXML, "http://example/");
         
         assertTrue(it.hasNext());
         Triple t = it.next();