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/01/08 19:43:57 UTC

svn commit: r1430439 [3/4] - in /jena/branches/streaming-update/jena-arq: ./ Grammar/ Vocabularies/ bin/ bin2/ src-examples/arq/examples/riot/ src-examples/arq/examples/update/ src/main/java/arq/ src/main/java/arq/cmdline/ src/main/java/com/hp/hpl/jena...

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/RDFLanguages.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/RDFLanguages.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/RDFLanguages.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/RDFLanguages.java Tue Jan  8 18:43:53 2013
@@ -18,35 +18,39 @@
 
 package org.apache.jena.riot;
 
-import static org.openjena.riot.WebContent.contentTypeNQuads ;
-import static org.openjena.riot.WebContent.contentTypeNQuadsAlt1 ;
-import static org.openjena.riot.WebContent.contentTypeNQuadsAlt2 ;
-import static org.openjena.riot.WebContent.contentTypeNTriples ;
-import static org.openjena.riot.WebContent.contentTypeNTriplesAlt ;
-import static org.openjena.riot.WebContent.contentTypeRDFJSON ;
-import static org.openjena.riot.WebContent.contentTypeRDFXML ;
-import static org.openjena.riot.WebContent.contentTypeTriG ;
-import static org.openjena.riot.WebContent.contentTypeTriGAlt1 ;
-import static org.openjena.riot.WebContent.contentTypeTriGAlt2 ;
-import static org.openjena.riot.WebContent.contentTypeTurtle ;
-import static org.openjena.riot.WebContent.contentTypeTurtleAlt1 ;
-import static org.openjena.riot.WebContent.contentTypeTurtleAlt2 ;
+import static org.apache.jena.riot.WebContent.contentTypeN3 ;
+import static org.apache.jena.riot.WebContent.contentTypeN3Alt1 ;
+import static org.apache.jena.riot.WebContent.contentTypeN3Alt2 ;
+import static org.apache.jena.riot.WebContent.contentTypeNQuads ;
+import static org.apache.jena.riot.WebContent.contentTypeNQuadsAlt1 ;
+import static org.apache.jena.riot.WebContent.contentTypeNQuadsAlt2 ;
+import static org.apache.jena.riot.WebContent.contentTypeNTriples ;
+import static org.apache.jena.riot.WebContent.contentTypeNTriplesAlt ;
+import static org.apache.jena.riot.WebContent.contentTypeRDFJSON ;
+import static org.apache.jena.riot.WebContent.contentTypeRDFXML ;
+import static org.apache.jena.riot.WebContent.contentTypeTriG ;
+import static org.apache.jena.riot.WebContent.contentTypeTriGAlt1 ;
+import static org.apache.jena.riot.WebContent.contentTypeTriGAlt2 ;
+import static org.apache.jena.riot.WebContent.contentTypeTurtle ;
+import static org.apache.jena.riot.WebContent.contentTypeTurtleAlt1 ;
+import static org.apache.jena.riot.WebContent.contentTypeTurtleAlt2 ;
 
+import java.util.Collection ;
+import java.util.Collections ;
 import java.util.Locale ;
 import java.util.Map ;
 
 import org.apache.jena.atlas.lib.DS ;
 import org.apache.jena.atlas.web.ContentType ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.RiotException ;
 
 import com.hp.hpl.jena.util.FileUtils ;
 
 /** Central registry of RDF langauges and syntaxes.
- * @see ParserRegistry
+ * @see RDFParserRegistry
  */
 public class RDFLanguages
 {
+    // Display names
     public static final String strLangRDFXML     = "RDF/XML" ;
     public static final String strLangTurtle     = "Turtle" ;
     public static final String strLangNTriples   = "N-Triples" ;
@@ -56,41 +60,46 @@ public class RDFLanguages
     public static final String strLangTriG       = "TriG" ;
     
     /** RDF/XML */
-    public static final Lang2 langRDFXML   = LangBuilder.create(strLangRDFXML, contentTypeRDFXML)
+    public static final Lang RDFXML   = LangBuilder.create(strLangRDFXML, contentTypeRDFXML)
                                                 .addAltNames("RDFXML", "RDF/XML-ABBREV", "RDFXML-ABBREV")
                                                 .addFileExtensions("rdf","owl","xml")
                                                 .build() ;
     
     /** Turtle */
-    public static final Lang2 langTurtle   = LangBuilder.create(strLangTurtle, contentTypeTurtle)
+    public static final Lang TURTLE   = LangBuilder.create(strLangTurtle, contentTypeTurtle)
                                                 .addAltNames("TTL")
                                                 .addAltContentTypes(contentTypeTurtleAlt1, contentTypeTurtleAlt2)
                                                 .addFileExtensions("ttl")
                                                 //.addFileExtensions("n3")
                                                 .build() ;
+    /** N3 (treat as Turtle) */
+    public static final Lang N3   = LangBuilder.create(strLangN3, contentTypeN3)
+                                                .addAltContentTypes(contentTypeN3, contentTypeN3Alt1, contentTypeN3Alt2)
+                                                .addFileExtensions("n3")
+                                                .build() ;
     
     /** N-Triples */
-    public static final Lang2 langNTriples = LangBuilder.create(strLangNTriples, contentTypeNTriples)
-                                                .addAltNames("NT", "NTriples", "NTriple", "N-Triple")
+    public static final Lang NTRIPLES = LangBuilder.create(strLangNTriples, contentTypeNTriples)
+                                                .addAltNames("NT", "NTriples", "NTriple", "N-Triple", "N-Triples")
                                                 .addAltContentTypes(contentTypeNTriplesAlt)
                                                 .addFileExtensions("nt")
                                                 .build() ;
 
     /** RDF/JSON (this is not JSON-LD) */
-    public static final Lang2 langRDFJSON  = LangBuilder.create(strLangRDFJSON, contentTypeRDFJSON)
+    public static final Lang RDFJSON  = LangBuilder.create(strLangRDFJSON, contentTypeRDFJSON)
                                                 .addAltNames("RDFJSON")
                                                 .addFileExtensions("rj", "json")
                                                 .build() ;
     
     /** TriG */
-    public static final Lang2 langTriG     = LangBuilder.create(strLangTriG, contentTypeTriG)
+    public static final Lang TRIG     = LangBuilder.create(strLangTriG, contentTypeTriG)
                                                 .addAltContentTypes(contentTypeTriGAlt1, contentTypeTriGAlt2)
                                                 .addFileExtensions("trig")
                                                 .build() ;
     
     /** N-Quads */
-    public static final Lang2 langNQuads   = LangBuilder.create(strLangNQuads, contentTypeNQuads)
-                                                .addAltNames("NQ", "NQuads", "NQuad", "N-Quad")   
+    public static final Lang NQUADS   = LangBuilder.create(strLangNQuads, contentTypeNQuads)
+                                                .addAltNames("NQ", "NQuads", "NQuad", "N-Quad", "N-Quads")   
                                                 .addAltContentTypes(contentTypeNQuadsAlt1, contentTypeNQuadsAlt2)
                                                 .addFileExtensions("nq")
                                                 .build() ;
@@ -98,45 +107,56 @@ public class RDFLanguages
     // ---- Central registry
     
     /** Mapping of colloquial name to language */
-    private static Map<String, Lang2> mapLabelToLang                    = DS.map() ;
+    private static Map<String, Lang> mapLabelToLang                    = DS.map() ;
+    
+    // For testing mainly.
+    public static Collection<Lang> getRegisteredLanguages()     { return Collections.unmodifiableCollection(mapLabelToLang.values()); }
     
     /** Mapping of content type (main and alternatives) to language */  
-    private static Map<String, Lang2> mapContentTypeToLang              = DS.map() ;
+    private static Map<String, Lang> mapContentTypeToLang              = DS.map() ;
 
     /** Mapping of file extension to language */
-    private static Map<String, Lang2> mapFileExtToLang                  = DS.map() ;
+    private static Map<String, Lang> mapFileExtToLang                  = DS.map() ;
 
     // ----------------------
+    static { init() ; }
     private static boolean initialized = false ;
     public static synchronized void init ()
     {
         if ( initialized ) return ;
         initialized = true ;
         initStandard() ;
+        Lang.RDFXML = RDFLanguages.RDFXML ; 
+        Lang.NTRIPLES = RDFLanguages.NTRIPLES ; 
+        Lang.N3 = RDFLanguages.N3 ; 
+        Lang.TURTLE = RDFLanguages.TURTLE ; 
+        Lang.RDFJSON = RDFLanguages.RDFJSON ; 
+        Lang.NQUADS = RDFLanguages.NQUADS ; 
+        Lang.TRIG = RDFLanguages.TRIG ; 
     }
     // ----------------------
     
     /** Standard built-in languages */  
     private static void initStandard()
     {
-        register(langRDFXML) ;
-        register(langTurtle) ;
-        register(langNTriples) ;
-        register(langRDFJSON) ;
-        register(langTriG) ;
-        register(langNQuads) ;
+        register(RDFXML) ;
+        register(TURTLE) ;
+        register(N3) ;
+        register(NTRIPLES) ;
+        register(RDFJSON) ;
+        register(TRIG) ;
+        register(NQUADS) ;
     }
 
     /** Register a language.
-     * To create a {@link Lang2} object use {@link LangBuilder}.
+     * To create a {@link Lang} object use {@link LangBuilder}.
      * See also 
-     * {@link ParserRegistry#registerLangTriples} and 
-     * {@link ParserRegistry#registerLangQuads}
+     * {@link RDFParserRegistry#registerLang}
      * for registering a language and it's RDF parser fatory.
      * 
-     * @see ParserRegistry
+     * @see RDFParserRegistry
      */
-    public static void register(Lang2 lang)
+    public static void register(Lang lang)
     {
         if ( lang == null )
             throw new IllegalArgumentException("null for language") ;
@@ -158,12 +178,12 @@ public class RDFLanguages
         }
     }
 
-    private static void checkRegistration(Lang2 lang)
+    private static void checkRegistration(Lang lang)
     {
         if ( lang == null )
             return ;
         String label = canonicalKey(lang.getLabel()) ;
-        Lang2 lang2 = mapLabelToLang.get(label) ;
+        Lang lang2 = mapLabelToLang.get(label) ;
         if ( lang2 == null )
             return ;
         if ( lang.equals(lang2) )
@@ -190,7 +210,7 @@ public class RDFLanguages
      * of content types and file extensions. 
      */
     
-    public static void unregister(Lang2 lang)
+    public static void unregister(Lang lang)
     {
         if ( lang == null )
             throw new IllegalArgumentException("null for language") ;
@@ -204,48 +224,47 @@ public class RDFLanguages
             mapFileExtToLang.remove(canonicalKey(ext)) ;
     }
     
-    public static boolean isRegistered(Lang2 lang)
+    public static boolean isRegistered(Lang lang)
     {
         if ( lang == null )
             throw new IllegalArgumentException("null for language") ;
         String label = canonicalKey(lang.getLabel()) ;
-        Lang2 lang2 = mapLabelToLang.get(label) ;
+        Lang lang2 = mapLabelToLang.get(label) ;
         if ( lang2 == null )
             return false ;
         checkRegistration(lang) ;
         return true ;
     }
-
-    /** return true if the language is registered with the triples parser factories */
-    public static boolean isTriples(Lang2 lang) { return ParserRegistry.isTriples(lang) ; }
     
-    /** return true if the language is registered with the quads parser factories */
-    public static boolean isQuads(Lang2 lang)   { return ParserRegistry.isQuads(lang) ; }
+    /** return true if the language is registered as a triples language */
+    public static boolean isTriples(Lang lang) { return RDFParserRegistry.isTriples(lang) ; }
     
-    /** Map a content type (without charset) to a {@link Lang2} */
-    public static Lang2 contentTypeToLang(String contentType)
+    /** return true if the language is registered as a quads language */
+    public static boolean isQuads(Lang lang) { return RDFParserRegistry.isQuads(lang) ; }
+
+    /** Map a content type (without charset) to a {@link Lang} */
+    public static Lang contentTypeToLang(String contentType)
     {
         String key = canonicalKey(contentType) ;
         return mapContentTypeToLang.get(key) ;
     }
 
-    /** Map a content type (without charset) to a {@link Lang2} */
-    public static Lang2 contentTypeToLang(ContentType ct)
+    /** Map a content type (without charset) to a {@link Lang} */
+    public static Lang contentTypeToLang(ContentType ct)
     {
         String key = canonicalKey(ct.getContentType()) ;
         return mapContentTypeToLang.get(key) ;
     }
 
-
-    /** Map a colloquial name (e.g. "Turtle") to a {@link Lang2} */
-    public static Lang2 shortnameToLang(String label)
+    /** Map a colloquial name (e.g. "Turtle") to a {@link Lang} */
+    public static Lang shortnameToLang(String label)
     {
         String key = canonicalKey(label) ;
         return mapLabelToLang.get(key) ;
     }
     
-    /** Try to map a file extension to a {@link Lang2}; return null on no registered mapping */
-    public static Lang2 fileExtToLang(String ext)
+    /** Try to map a file extension to a {@link Lang}; return null on no registered mapping */
+    public static Lang fileExtToLang(String ext)
     {
         if ( ext == null ) return null ;
         if ( ext.startsWith(".") ) 
@@ -254,21 +273,32 @@ public class RDFLanguages
         return mapFileExtToLang.get(ext) ;
     }
 
-    /** Try to map a file name to a {@link Lang2}; return null on no registered mapping */
-    public static Lang2 filenameToLang(String filename)
+    /** Try to map a file name to a {@link Lang}; return null on no registered mapping */
+    public static Lang filenameToLang(String filename)
     {
+        if ( filename == null ) return null ;
+        if ( filename.endsWith(".gz") )
+            filename = filename.substring(0, filename.length()-3) ;
         return fileExtToLang(FileUtils.getFilenameExt(filename)) ;
     }
 
-    /** Turn a name for a language into a {@link Lang2} object.
+    /** Try to map a file name to a {@link Lang}; return null on no registered mapping */
+    public static Lang filenameToLang(String filename, Lang dftLang)
+    {
+        Lang lang = filenameToLang(filename) ;
+        return (lang == null) ? dftLang : lang ;
+    }
+
+
+    /** Turn a name for a language into a {@link Lang} object.
      *  The name can be a label, or a content type.
      */
-    public static Lang2 nameToLang(String langName)
+    public static Lang nameToLang(String langName)
     {
         if ( langName == null )
             return null ;
         
-        Lang2 lang = shortnameToLang(langName) ;
+        Lang lang = shortnameToLang(langName) ;
         if ( lang != null )
             return lang ;
         lang = contentTypeToLang(langName) ;
@@ -277,23 +307,11 @@ public class RDFLanguages
     
     static String canonicalKey(String x) { return x.toLowerCase(Locale.US) ; }
 
-    // TEMPORARY
-    public static Lang convert(Lang2 lang2)
-    {
-        if ( lang2 == langRDFXML )      return Lang.RDFXML ;
-        if ( lang2 == langTurtle )      return Lang.TURTLE ;
-        if ( lang2 == langNTriples )    return Lang.NTRIPLES ;
-        if ( lang2 == langRDFJSON )     return Lang.RDFJSON ;
-        if ( lang2 == langTriG )        return Lang.TRIG ;
-        if ( lang2 == langNQuads )      return Lang.NQUADS ;
-        throw new RiotException("No such language to convert: "+lang2) ;
-    }
-
     public static ContentType guessContentType(String resourceName)
     {
         if ( resourceName == null )
             return null ;
-        Lang2 lang = filenameToLang(resourceName) ;
+        Lang lang = filenameToLang(resourceName) ;
         if ( lang == null )
             return null ;
         return lang.getContentType() ;
@@ -303,5 +321,12 @@ public class RDFLanguages
     {
         throw new RiotException(message) ; 
     }
+
+    public static boolean sameLang(Lang lang1, Lang lang2)
+    {
+        if ( lang1 == null || lang2 == null ) return false ; 
+        if ( lang1 == lang2 ) return true ;
+        return lang1.getLabel() == lang2.getLabel() ;
+    }
 }
 

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java Tue Jan  8 18:43:53 2013
@@ -20,17 +20,17 @@ package org.apache.jena.riot;
 
 import java.io.InputStream ;
 
-import org.apache.jena.atlas.lib.Sink ;
 import org.apache.jena.atlas.web.ContentType ;
+import org.apache.jena.riot.system.StreamRDF ;
 
 import com.hp.hpl.jena.sparql.util.Context ;
 
-/** Interface to parsing processes that takes an input stream and emit T items.
- *  The "read" operation may be called repeatedly for a single Reader, with different
- *  arguments but calsl are not overlapping.
+/** Interface to parsing processes that takes an input stream and emit items.
+ *  The "read" operation may be called repeatedly for a single ReaderRIOT, with different
+ *  arguments but calls are not overlapping.
  */
 
-public interface ReaderRIOT<T>
+public interface ReaderRIOT
 {
-    public void read(InputStream in, String baseURI, ContentType ct, Sink<T> sink, Context context) ;
+    public void read(InputStream in, String baseURI, ContentType ct, StreamRDF output, Context context) ;
 }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOTBase.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOTBase.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOTBase.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOTBase.java Tue Jan  8 18:43:53 2013
@@ -20,20 +20,20 @@ package org.apache.jena.riot;
 
 import java.io.InputStream ;
 
-import org.apache.jena.atlas.lib.Sink ;
 import org.apache.jena.atlas.web.ContentType ;
+import org.apache.jena.riot.system.StreamRDF ;
 
 import com.hp.hpl.jena.sparql.util.Context ;
 
-public abstract class ReaderRIOTBase<T> implements ReaderRIOT<T>
+public abstract class ReaderRIOTBase implements ReaderRIOT
 {
     @Override
-    public void read(InputStream in, String baseURI, ContentType ct, Sink<T> sink, Context context)
+    public void read(InputStream in, String baseURI, ContentType ct, StreamRDF output, Context context)
     {
-        Lang2 lang = RDFLanguages.contentTypeToLang(ct) ;
-        read(in, baseURI,lang, sink, context) ;
+        Lang lang = RDFLanguages.contentTypeToLang(ct) ;
+        read(in, baseURI,lang, output, context) ;
     }
 
-    public abstract void read(InputStream in, String baseURI, Lang2 lang, Sink<T> sink, Context context) ;
+    public abstract void read(InputStream in, String baseURI, Lang lang, StreamRDF output, Context context) ;
 }
 

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOTFactory.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOTFactory.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOTFactory.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOTFactory.java Tue Jan  8 18:43:53 2013
@@ -18,7 +18,7 @@
 
 package org.apache.jena.riot;
 
-public interface ReaderRIOTFactory<T>
+public interface ReaderRIOTFactory
 {
-    public ReaderRIOT<T> create(Lang2 language) ;
+    public ReaderRIOT create(Lang language) ;
 }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java Tue Jan  8 18:43:53 2013
@@ -23,7 +23,7 @@ import java.io.InputStream ;
 import java.util.Iterator ;
 
 import org.apache.jena.atlas.lib.IRILib ;
-import org.apache.jena.riot.TypedInputStream2 ;
+import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.riot.stream.* ;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
@@ -31,7 +31,6 @@ import org.slf4j.LoggerFactory ;
 import com.hp.hpl.jena.rdf.model.Model ;
 import com.hp.hpl.jena.shared.NotFoundException ;
 import com.hp.hpl.jena.util.FileUtils ;
-import com.hp.hpl.jena.util.LocationMapper ;
 import com.hp.hpl.jena.util.TypedStream ;
 
 /** FileManager
@@ -44,8 +43,8 @@ import com.hp.hpl.jena.util.TypedStream 
  * resources: applications may also create specialised FileManagers.
  * 
  * A FileManager contains a list of location functions to try: the global
- * FileManger has one {@link LocatorFile2}, one {@link LocatorClassLoader} and
- * one {@link LocatorURL2}
+ * FileManger has one {@link LocatorFile}, one {@link LocatorClassLoader} and
+ * one {@link LocatorURL}
  * 
  * Main operations:
  * <ul>
@@ -65,7 +64,7 @@ import com.hp.hpl.jena.util.TypedStream 
  * copy of a common RDF dataset may be used whenever the usual URL is used by
  * the application.
  *
- * The {@link LocatorFile2} also supports the idea of "current directory".
+ * The {@link LocatorFile} also supports the idea of "current directory".
  * 
  * @see StreamManager
  * @see LocationMapper
@@ -134,17 +133,17 @@ public class AdapterFileManager extends 
         while ( iter.hasNext() )
             streamManager.addLocator(AdapterLib.convert(iter.next())) ;
 
-        LocationMapper locmap = filemanager.getLocationMapper() ;
+        com.hp.hpl.jena.util.LocationMapper locmap = filemanager.getLocationMapper() ;
         streamManager.setLocationMapper(AdapterLib.copyConvert(locmap)) ;
     }
 
     public AdapterFileManager(StreamManager streamManager)
     {
-        this(streamManager, (LocationMapper2)null) ;
+        this(streamManager, (LocationMapper)null) ;
     }
     
     /** Create a FileManger using a RIOT StreamManager and RIOT LocationMapper  */
-    public AdapterFileManager(StreamManager streamManager, LocationMapper2 mapper)
+    public AdapterFileManager(StreamManager streamManager, LocationMapper mapper)
     { 
         if ( streamManager == null )
             streamManager = new StreamManager() ;
@@ -155,7 +154,7 @@ public class AdapterFileManager extends 
     /** Create a "standard" FileManager. */
     public static AdapterFileManager makeGlobal()
     {
-        AdapterFileManager fMgr = new AdapterFileManager(StreamManager.get(), (LocationMapper2)null) ;
+        AdapterFileManager fMgr = new AdapterFileManager(StreamManager.get(), (LocationMapper)null) ;
         return fMgr ;
     }
     
@@ -164,11 +163,11 @@ public class AdapterFileManager extends 
     
     /** Set the location mapping */
     @Override
-    public void setLocationMapper(LocationMapper mapper)   { streamManager.setLocationMapper(AdapterLib.copyConvert(mapper)) ; }
+    public void setLocationMapper(com.hp.hpl.jena.util.LocationMapper mapper)   { streamManager.setLocationMapper(AdapterLib.copyConvert(mapper)) ; }
     
     /** Get the location mapping */
     @Override
-    public LocationMapper getLocationMapper()               { return new AdapterLocationMapper(streamManager.getLocationMapper()) ; }
+    public com.hp.hpl.jena.util.LocationMapper getLocationMapper()               { return new AdapterLocationMapper(streamManager.getLocationMapper()) ; }
     
     /** Return an iterator over all the handlers */
     @Override
@@ -194,7 +193,7 @@ public class AdapterFileManager extends 
     @Override
     public void addLocatorFile(String dir)
     {
-        LocatorFile2 fLoc = new LocatorFile2(dir) ;
+        LocatorFile fLoc = new LocatorFile(dir) ;
         streamManager.addLocator(fLoc) ;
     }
     
@@ -210,7 +209,7 @@ public class AdapterFileManager extends 
     @Override
     public void addLocatorURL()
     {
-        Locator loc = new LocatorURL2() ;
+        Locator loc = new LocatorURL() ;
         streamManager.addLocator(loc) ;
     }
 
@@ -278,7 +277,7 @@ public class AdapterFileManager extends 
         if ( baseURI == null )
             baseURI = chooseBaseURI(filenameOrURI) ;
 
-        TypedInputStream2 in = streamManager.openNoMapOrNull(mappedURI) ;
+        TypedInputStream in = streamManager.openNoMapOrNull(mappedURI) ;
         if ( in == null )
         {
             if ( log.isDebugEnabled() )
@@ -290,8 +289,8 @@ public class AdapterFileManager extends 
             // XXX
             //syntax
         }
-        model.read(in.getInput(), baseURI, syntax) ;
-        try { in.getInput().close(); } catch (IOException ex) {}
+        model.read(in, baseURI, syntax) ;
+        try { in.close(); } catch (IOException ex) {}
         return model ;
     }
 
@@ -312,7 +311,7 @@ public class AdapterFileManager extends 
     @Override
     public InputStream open(String filenameOrURI)
     { 
-        return streamManager.open(filenameOrURI).getInput() ;
+        return streamManager.open(filenameOrURI) ;
     }
     
     /** Apply the mapping of a filename or URI */
@@ -322,7 +321,7 @@ public class AdapterFileManager extends 
     /** Open a file using the locators of this FileManager 
      *  but without location mapping.  Throws RiotNotFoundException if not found.*/ 
     @Override
-    public InputStream openNoMap(String filenameOrURI)          { return streamManager.openNoMap(filenameOrURI).getInput() ; }
+    public InputStream openNoMap(String filenameOrURI)          { return streamManager.openNoMap(filenameOrURI) ; }
 
     /** Open a file using the locators of this FileManager 
      *  without location mapping. Return null if not found

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLib.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLib.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLib.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLib.java Tue Jan  8 18:43:53 2013
@@ -20,24 +20,24 @@ package org.apache.jena.riot.adapters;
 
 import java.util.Iterator ;
 
-import com.hp.hpl.jena.sparql.util.Utils ;
-
-import org.apache.jena.riot.TypedInputStream2 ;
+import org.apache.jena.atlas.web.TypedInputStream ;
+import org.apache.jena.riot.RiotException ;
 import org.apache.jena.riot.stream.* ;
-import org.openjena.riot.RiotException ;
+
+import com.hp.hpl.jena.sparql.util.Utils ;
 
 
 class AdapterLib
 {
-    public static com.hp.hpl.jena.util.TypedStream convert(TypedInputStream2 in)
+    public static com.hp.hpl.jena.util.TypedStream convert(TypedInputStream in)
     {
-        return new com.hp.hpl.jena.util.TypedStream(in.getInput(), in.getContentType(), in.getCharset()) ;
+        return new com.hp.hpl.jena.util.TypedStream(in, in.getContentType(), in.getCharset()) ;
     }
     
     
-    public static LocationMapper2 copyConvert(com.hp.hpl.jena.util.LocationMapper locMap)
+    public static LocationMapper copyConvert(com.hp.hpl.jena.util.LocationMapper locMap)
     {
-        LocationMapper2 lmap2 = new LocationMapper2() ;
+        LocationMapper lmap2 = new LocationMapper() ;
         if ( locMap == null )
             return null ;
         
@@ -63,7 +63,7 @@ class AdapterLib
         if ( oldloc instanceof com.hp.hpl.jena.util.LocatorFile )
         {
             com.hp.hpl.jena.util.LocatorFile lFile = (com.hp.hpl.jena.util.LocatorFile)oldloc ;
-            return new LocatorFile2(lFile.getDir()) ;
+            return new LocatorFile(lFile.getDir()) ;
         }
         if ( oldloc instanceof com.hp.hpl.jena.util.LocatorClassLoader )
         {
@@ -71,7 +71,7 @@ class AdapterLib
             return new LocatorClassLoader(classLoc.getClassLoader()) ;
         }
         if ( oldloc instanceof com.hp.hpl.jena.util.LocatorURL )
-            return new LocatorURL2() ;
+            return new LocatorURL() ;
         if ( oldloc instanceof com.hp.hpl.jena.util.LocatorZip )
         {
             com.hp.hpl.jena.util.LocatorZip zipLoc = (com.hp.hpl.jena.util.LocatorZip)oldloc ;

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLocationMapper.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLocationMapper.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLocationMapper.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLocationMapper.java Tue Jan  8 18:43:53 2013
@@ -20,16 +20,16 @@ package org.apache.jena.riot.adapters;
 
 import java.util.Iterator ;
 
-import org.apache.jena.riot.stream.LocationMapper2 ;
+import org.apache.jena.riot.stream.LocationMapper ;
 
 import com.hp.hpl.jena.rdf.model.Model ;
 
 /** Adapter from Jena2 LocationMapper to RIOT LocationMapper */ 
 public class AdapterLocationMapper extends com.hp.hpl.jena.util.LocationMapper 
 {
-    private final LocationMapper2 mapper ;
+    private final LocationMapper mapper ;
 
-    public AdapterLocationMapper(LocationMapper2 mapper) {  this.mapper = mapper ; }
+    public AdapterLocationMapper(LocationMapper mapper) {  this.mapper = mapper ; }
     
     @Override
     public String altMapping(String uri, String otherwise)  { return mapper.altMapping(uri, otherwise) ; }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLocator.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLocator.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLocator.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterLocator.java Tue Jan  8 18:43:53 2013
@@ -18,7 +18,7 @@
 
 package org.apache.jena.riot.adapters;
 
-import org.apache.jena.riot.TypedInputStream2 ;
+import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.riot.stream.Locator ;
 
 public class AdapterLocator implements com.hp.hpl.jena.util.Locator
@@ -30,7 +30,7 @@ public class AdapterLocator implements c
     @Override
     public com.hp.hpl.jena.util.TypedStream open(String filenameOrURI)
     {
-        TypedInputStream2 in = locator.open(filenameOrURI) ;
+        TypedInputStream in = locator.open(filenameOrURI) ;
         return AdapterLib.convert(in) ;
     }
 

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/FileManagerModelCache.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/FileManagerModelCache.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/FileManagerModelCache.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/adapters/FileManagerModelCache.java Tue Jan  8 18:43:53 2013
@@ -25,6 +25,9 @@ import com.hp.hpl.jena.rdf.model.Model ;
 
 // Legacy support.
 class FileManagerModelCache {
+    
+    public FileManagerModelCache() {}
+    
     boolean cacheModelLoads = false ;
     Map<String, Model> modelCache = null ;
     // -------- Cache operations

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/JenaIOEnvironment.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/JenaIOEnvironment.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/JenaIOEnvironment.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/JenaIOEnvironment.java Tue Jan  8 18:43:53 2013
@@ -20,7 +20,7 @@ package org.apache.jena.riot.stream;
 
 import java.util.StringTokenizer ;
 
-import org.apache.jena.riot.TypedInputStream2 ;
+import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.riot.adapters.AdapterFileManager ;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
@@ -36,13 +36,13 @@ import com.hp.hpl.jena.vocabulary.Locati
  */
 class JenaIOEnvironment
 {
-    static LocationMapper2 theMapper = null ;
+    static LocationMapper theMapper = null ;
     /** Get the global LocationMapper */
-    public static LocationMapper2 getLocationMapper()
+    public static LocationMapper getLocationMapper()
     {
         if ( theMapper == null )
         {
-            theMapper = new LocationMapper2() ;
+            theMapper = new LocationMapper() ;
             if ( getGlobalConfigPath() != null )
                 JenaIOEnvironment.createLocationMapper(getGlobalConfigPath()) ;
         }
@@ -76,27 +76,27 @@ class JenaIOEnvironment
      * If called before any call to get(), then the usual default global location mapper is not created 
      * @param globalLocationMapper
      */
-    public static void setGlobalLocationMapper(LocationMapper2 globalLocationMapper)
+    public static void setGlobalLocationMapper(LocationMapper globalLocationMapper)
     {
         theMapper = globalLocationMapper ;
     }
 
     /** Make a location mapper from the path settings */ 
-    static public LocationMapper2 makeGlobal()
+    static public LocationMapper makeGlobal()
     {
-        LocationMapper2 lMap = new LocationMapper2() ;
+        LocationMapper lMap = new LocationMapper() ;
         if ( getGlobalConfigPath() != null )
         {
-            LocationMapper2 lMap2 = JenaIOEnvironment.createLocationMapper(getGlobalConfigPath()) ;
+            LocationMapper lMap2 = JenaIOEnvironment.createLocationMapper(getGlobalConfigPath()) ;
             lMap.copyFrom(lMap2) ;
         }
         return lMap ;
     }
   
     /** Create a LocationMapper based on Model */
-    public static LocationMapper2 processConfig(Model m)
+    public static LocationMapper processConfig(Model m)
     {
-        LocationMapper2 locMap = new LocationMapper2() ; 
+        LocationMapper locMap = new LocationMapper() ; 
         StmtIterator mappings =
             m.listStatements(null, LocationMappingVocab.mapping, (RDFNode)null) ;
     
@@ -146,11 +146,11 @@ class JenaIOEnvironment
      *  to find a description of a LocationMapper, then create and return a
      *  LocationMapper based on the description.
      */
-    public static LocationMapper2 createLocationMapper(String configPath)
+    public static LocationMapper createLocationMapper(String configPath)
     {
         // Old code : maintenance: use Webreader to open the model. 
         
-        LocationMapper2 locMap = new LocationMapper2() ;
+        LocationMapper locMap = new LocationMapper() ;
         if ( configPath == null || configPath.length() == 0 )
         {
             log.warn("Null configuration") ;
@@ -159,12 +159,12 @@ class JenaIOEnvironment
         
         // Make a file manager to look for the location mapping file
         StreamManager smgr = new StreamManager() ;
-        smgr.addLocator(new LocatorFile2()) ;
+        smgr.addLocator(new LocatorFile()) ;
         smgr.addLocator(new LocatorClassLoader(smgr.getClass().getClassLoader())) ;
         
         try {
             String uriConfig = null ; 
-            TypedInputStream2 in = null ;
+            TypedInputStream in = null ;
             
             StringTokenizer pathElems = new StringTokenizer( configPath, AdapterFileManager.PATH_DELIMITER );
             while (pathElems.hasMoreTokens()) {
@@ -187,11 +187,11 @@ class JenaIOEnvironment
             }
             String syntax = FileUtils.guessLang(uriConfig) ;
             Model model = ModelFactory.createDefaultModel() ;
-            model.read(in.getInput(), uriConfig, syntax) ;
+            model.read(in, uriConfig, syntax) ;
             processConfig(model) ;
         } catch (JenaException ex)
         {
-            LoggerFactory.getLogger(LocationMapper2.class).warn("Error in configuration file: "+ex.getMessage()) ;
+            LoggerFactory.getLogger(LocationMapper.class).warn("Error in configuration file: "+ex.getMessage()) ;
         }
         return locMap ;
     }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/Locator.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/Locator.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/Locator.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/Locator.java Tue Jan  8 18:43:53 2013
@@ -18,7 +18,7 @@
 
 package org.apache.jena.riot.stream;
 
-import org.apache.jena.riot.TypedInputStream2 ;
+import org.apache.jena.atlas.web.TypedInputStream ;
 
 /**
  *  Interface to things that open TypedStreams from a place
@@ -27,6 +27,6 @@ import org.apache.jena.riot.TypedInputSt
 public interface Locator
 {
     // Open a stream given a name of some kind (not necessarily an IRI).
-    public TypedInputStream2 open(String uri) ;
+    public TypedInputStream open(String uri) ;
     public String getName() ;
 }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/LocatorClassLoader.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/LocatorClassLoader.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/LocatorClassLoader.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/LocatorClassLoader.java Tue Jan  8 18:43:53 2013
@@ -21,8 +21,8 @@ package org.apache.jena.riot.stream;
 import java.io.InputStream ;
 
 import org.apache.jena.atlas.web.ContentType ;
+import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.riot.RDFLanguages ;
-import org.apache.jena.riot.TypedInputStream2 ;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
 
@@ -49,7 +49,7 @@ public class LocatorClassLoader  impleme
         { return classLoader.hashCode(); }
     
     @Override
-    public TypedInputStream2 open(String resourceName)
+    public TypedInputStream open(String resourceName)
     {
         if ( classLoader == null )
             return null ;
@@ -67,7 +67,7 @@ public class LocatorClassLoader  impleme
         
         ContentType ct = RDFLanguages.guessContentType(resourceName) ;
         // No sensible base URI.
-        return new TypedInputStream2(in, ct, null) ;
+        return new TypedInputStream(in, ct, null) ;
     }
     
     public ClassLoader getClassLoader()

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/LocatorZip.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/LocatorZip.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/LocatorZip.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/LocatorZip.java Tue Jan  8 18:43:53 2013
@@ -24,8 +24,8 @@ import java.util.zip.ZipEntry ;
 import java.util.zip.ZipFile ;
 
 import org.apache.jena.atlas.web.ContentType ;
+import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.riot.RDFLanguages ;
-import org.apache.jena.riot.TypedInputStream2 ;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
 
@@ -52,7 +52,7 @@ public class LocatorZip implements Locat
     }
     
     @Override
-    public TypedInputStream2 open(String filenameOrURI)
+    public TypedInputStream open(String filenameOrURI)
     {
         ZipEntry entry = zipFile.getEntry(filenameOrURI) ;
         if ( entry == null )
@@ -77,7 +77,7 @@ public class LocatorZip implements Locat
                 log.trace("Found: "+filenameOrURI) ;
             
             ContentType ct = RDFLanguages.guessContentType(filenameOrURI) ;
-            return new TypedInputStream2(in, ct, filenameOrURI) ;
+            return new TypedInputStream(in, ct, filenameOrURI) ;
         }
         catch (IOException ex)
         {

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/StreamManager.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/StreamManager.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/StreamManager.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/apache/jena/riot/stream/StreamManager.java Tue Jan  8 18:43:53 2013
@@ -22,8 +22,8 @@ import java.util.ArrayList ;
 import java.util.Collections ;
 import java.util.List ;
 
-import org.apache.jena.riot.TypedInputStream2 ;
-import org.openjena.riot.RiotNotFoundException ;
+import org.apache.jena.atlas.web.TypedInputStream ;
+import org.apache.jena.riot.RiotNotFoundException ;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
 
@@ -41,20 +41,20 @@ public class StreamManager
     public static boolean logAllLookups = true ; 
     
     private List<Locator> handlers = new ArrayList<Locator>() ;
-    private LocationMapper2 mapper = null ;
+    private LocationMapper mapper = null ;
     
     private static StreamManager globalStreamManager ;
     
     /** Return a default configuration StreamManager 
-     *  with a {@link LocatorFile2}, 
-     *  {@link LocatorURL2},
+     *  with a {@link LocatorFile}, 
+     *  {@link LocatorURL},
      *  and {@link LocatorClassLoader}
      */
     public static StreamManager makeDefaultStreamManager()
     {
         StreamManager streamManager = new StreamManager() ;
-        streamManager.addLocator(new LocatorFile2(null)) ;
-        streamManager.addLocator(new LocatorURL2()) ;
+        streamManager.addLocator(new LocatorFile(null)) ;
+        streamManager.addLocator(new LocatorURL()) ;
         streamManager.addLocator(new LocatorClassLoader(streamManager.getClass().getClassLoader())) ;
         return streamManager ;
     }
@@ -66,7 +66,7 @@ public class StreamManager
     /** Open a file using the locators of this FileManager.
      *  Returns null if not found.
      */
-    public TypedInputStream2 open(String filenameOrURI)
+    public TypedInputStream open(String filenameOrURI)
     {
         if ( log.isDebugEnabled())
             log.debug("open("+filenameOrURI+")") ;
@@ -103,9 +103,9 @@ public class StreamManager
 
     /** Open a file using the locators of this FileManager 
      *  but without location mapping.  Throws RiotNotFoundException if not found.*/ 
-    public TypedInputStream2 openNoMap(String filenameOrURI)
+    public TypedInputStream openNoMap(String filenameOrURI)
     {
-        TypedInputStream2 in = openNoMapOrNull(filenameOrURI) ;
+        TypedInputStream in = openNoMapOrNull(filenameOrURI) ;
         if ( in == null )
             throw new RiotNotFoundException(filenameOrURI) ;
         return in ;
@@ -115,11 +115,11 @@ public class StreamManager
      *  without location mapping. Return null if not found
      */ 
     
-    public TypedInputStream2 openNoMapOrNull(String filenameOrURI)
+    public TypedInputStream openNoMapOrNull(String filenameOrURI)
     {
         for (Locator loc : handlers)
         {
-            TypedInputStream2 in = loc.open(filenameOrURI) ;
+            TypedInputStream in = loc.open(filenameOrURI) ;
             if ( in != null )
             {
                 if ( log.isDebugEnabled() )
@@ -132,10 +132,10 @@ public class StreamManager
     
 
     /** Set the location mapping */
-    public void setLocationMapper(LocationMapper2 _mapper) { mapper = _mapper ; }
+    public void setLocationMapper(LocationMapper _mapper) { mapper = _mapper ; }
     
     /** Get the location mapping */
-    public LocationMapper2 getLocationMapper() { return mapper ; }
+    public LocationMapper getLocationMapper() { return mapper ; }
     
     /** Return an immutable list of all the handlers */
     public List<Locator> locators() { return Collections.unmodifiableList(handlers) ; }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/Lang.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/Lang.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/Lang.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/Lang.java Tue Jan  8 18:43:53 2013
@@ -18,164 +18,24 @@
 
 package org.openjena.riot;
 
-import static org.openjena.riot.WebContent.langNQuads ;
-import static org.openjena.riot.WebContent.langNTriple ;
-import static org.openjena.riot.WebContent.langNTriples ;
-import static org.openjena.riot.WebContent.langRDFXML ;
-import static org.openjena.riot.WebContent.langRDFXMLAbbrev ;
-import static org.openjena.riot.WebContent.langTTL ;
+import org.apache.jena.riot.RDFLanguages ;
 
-import com.hp.hpl.jena.util.FileUtils ;
-
-public enum Lang
+/** @deprecated Use {@link RDFLanguages} or {@link org.apache.jena.riot.Lang} */
+@Deprecated
+public class Lang
 {
-    RDFXML (    "RDF/XML",      true,  
-                new String[]{ "rdf", "owl", "xml" },    
-                langRDFXML, langRDFXMLAbbrev) ,
-                
-    NTRIPLES (  "N-Triples",    true,
-                new String[]{ "nt" },  
-                langNTriples, langNTriple) ,
-                
-    N3 (        "N3",           true,
-                new String[]{ "n3" }) ,
-    
-    TURTLE (    "Turtle",       true,
-                new String[]{ "ttl" },   
-                langTTL) ,
-                
-    RDFJSON (   "RDF/JSON",		true,
-            	new String[]{ "rj", "json" }) ,
-   
-    NQUADS (    "N-Quads",      false,
-                new String[]{ "nq" },
-                langNQuads) ,
-                
-    TRIG (      "TriG",         false,
-                new String[]{ "trig" }) ,
-                
-    //TUPLE("rdf-tuples", true, langNTuple)
-    ;
-    
-    private final String name ;
-    private final boolean isTriples ;
-    private final String[] altNames ;
-    private final String[] fileExtensions;
-
-//    public static final String langXML          = langXML ;
-//    public static final String langNTriple      = langNTriple ; // FileUtils is wrong.
-//    public static final String langN3           = FileUtils.langN3 ;
-//    public static final String langTurtle       = FileUtils.langTurtle ;
-//    
-//    public static final String langNQuads       = "N-QUADS" ;
-//    public static final String langTrig         = "TRIG" ;
-
-//    
-    private Lang(String name, boolean isTriples, String[] fileExtensions, String...altNames )
-    {
-        this.name = name ;
-        this.isTriples = isTriples ;
-        this.altNames = altNames ;
-        this.fileExtensions = fileExtensions;
-    }
-    
-    public String getName() { return name ; }
-    
-    /** get the list of potential file extensions. */
-    public String[] getFileExtensions()
-    {
-    	return fileExtensions; 	
-    }
-    
-    /** Get the default file extension. */
-    public String getDefaultFileExtension() {
-        if ( getFileExtensions() == null )
-            return null ;
-    	return getFileExtensions()[0];
-    }
-    
-    public boolean isTriples()  { return isTriples ; }
-    public boolean isQuads()    { return ! isTriples ; }
-    
-    public String getContentType() { return WebContent.mapLangToContentType(this) ; }
-    
-    @Override
-    public String toString() { return "lang:"+name ; }
-    
-    /** Translate a name into a Lang
-     * Throws RiotException if the name is not recognized.
-     */
-    public static Lang get(String name)
-    {
-        Lang lang = get(name, null) ;
-        if ( lang == null )
-            throw new RiotException("No such language: "+name) ;
-        return lang ;
-    }
-    
-    /** Translate a name into a Lang, rturn the default if no match found.
-     */
-    public static Lang get(String name, Lang dftLang)
-    {
-        for (Lang l : Lang.values())
-            if ( matchesLangName(name, l) )
-                return l ;
-        return dftLang ;
-    }
-    
-
-    private static boolean matchesLangName(String name, Lang lang)
-    {
-        if ( name.equalsIgnoreCase(lang.name) ) return true ;
-        if ( lang.altNames != null )
-            for ( String x : lang.altNames )
-            {
-                if ( x.equalsIgnoreCase(name))
-                    return true ;
-            }
-        return false ;
-    }
-    
-    /** Guess the language, based on filename, or URL, extenstion.
-     * Returns null if there isn't a guess available
-     */
-    public static Lang guess(String resourceIRI, Lang dftLang)
-    {
-        Lang lang = guess(resourceIRI) ;
-        if ( lang != null )
-            return lang ;
-        return dftLang ;
-    }
-    
-    /** Guess the language, based on filename, or URL, extenstion.
-     * Returns null if there isn't a guess available
-     */
-    public static Lang guess(String resourceIRI)
-    {
-        if ( resourceIRI == null )
-            return null ;
-        String ext = FileUtils.getFilenameExt(resourceIRI).toLowerCase() ;
-        if ( ext != null && ext.equals("gz") )
-        {
-            resourceIRI = resourceIRI.substring(0, resourceIRI.length()-".gz".length()) ;
-            ext = FileUtils.getFilenameExt(resourceIRI).toLowerCase() ;
-        }
-        for (Lang lang : Lang.values())
-        {
-        	if (isOneOf( ext, lang.fileExtensions))
-        		return lang;
-        }
-        return null;
-    }
-
-    private static boolean isOneOf(String ext, String[] names)
-    {
-        for ( String x : names )
-        {
-            if ( ext.equals(x) )
-                return true ;
-        }
-        return false ;
-    }
-    
+    /** @deprecated Use constant from {@link RDFLanguages} */
+    @Deprecated public static final org.apache.jena.riot.Lang RDFXML = RDFLanguages.RDFXML ; 
+    /** @deprecated Use constant from {@link RDFLanguages} */
+    @Deprecated public static final org.apache.jena.riot.Lang NTRIPLES = RDFLanguages.NTRIPLES ; 
+    /** @deprecated Use constant from {@link RDFLanguages} */
+    @Deprecated public static final org.apache.jena.riot.Lang N3 = RDFLanguages.N3 ; 
+    /** @deprecated Use constant from {@link RDFLanguages} */
+    @Deprecated public static final org.apache.jena.riot.Lang TURTLE = RDFLanguages.TURTLE ; 
+    /** @deprecated Use constant from {@link RDFLanguages} */
+    @Deprecated public static final org.apache.jena.riot.Lang RDFJSON = RDFLanguages.RDFJSON ; 
+    /** @deprecated Use constant from {@link RDFLanguages} */
+    @Deprecated public static final org.apache.jena.riot.Lang NQUADS = RDFLanguages.NQUADS ; 
+    /** @deprecated Use constant from {@link RDFLanguages} */
+    @Deprecated public static final org.apache.jena.riot.Lang TRIG = RDFLanguages.TRIG ; 
 }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RIOT.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RIOT.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RIOT.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RIOT.java Tue Jan  8 18:43:53 2013
@@ -1,4 +1,4 @@
-/*
+/**
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -18,60 +18,13 @@
 
 package org.openjena.riot;
 
-import org.apache.jena.riot.ParserRegistry ;
-import org.apache.jena.riot.RDFLanguages ;
-import org.apache.jena.riot.WebReader2 ;
-
-import com.hp.hpl.jena.query.ARQ ;
-import com.hp.hpl.jena.sparql.SystemARQ ;
-import com.hp.hpl.jena.sparql.mgt.ARQMgt ;
-import com.hp.hpl.jena.sparql.mgt.SystemInfo ;
 
+/** @deprecated Use org.apache.jena.riot.RIOT */
+@Deprecated
 public class RIOT
 {
-    /** IRI for ARQ */  
-    public static final String riotIRI = "http://openjena.org/#riot" ;
-
-    /** The product name */   
-    public static final String NAME = "RIOT";
-    
-    /** The root package name for RIOT */   
-    public static final String PATH = "org.openjena.riot";
-
-    public static final String VERSION = "ARQ/"+ARQ.VERSION ;
-    public static final String BUILD_DATE = ARQ.BUILD_DATE ;
-    
-//    static private String metadataLocation = "com/hp/hpl/jena/sparql/arq-properties.xml" ;
-//
-//    static private Metadata metadata = new Metadata(metadataLocation) ;
-//    
-//    /** The full name of the current version */   
-//    public static final String VERSION = metadata.get(PATH+".version", "unset") ;
-//   
-//    /** The date and time at which this release was built */   
-//    public static final String BUILD_DATE = metadata.get(PATH+".build.datetime", "unset") ;
-    
-    public static void setStrictMode(boolean state)
-    {
-        SysRIOT.strictMode = state ;
-        SysRIOT.StrictXSDLexicialForms = state ;
-    }
-    
-    static boolean initialized = false ;
-    public static synchronized void init()
-    {
-        if ( initialized ) return ;
-        initialized = true ;
-        
-        String NS = RIOT.PATH ;
-        SystemInfo sysInfo2 = new SystemInfo(RIOT.riotIRI, RIOT.VERSION, RIOT.BUILD_DATE) ;
-        ARQMgt.register(NS+".system:type=SystemInfo", sysInfo2) ;
-        SystemARQ.registerSubSystem(sysInfo2) ;
-        
-        RDFLanguages.init() ;
-        ParserRegistry.init() ;
-        
-        SysRIOT.wireIntoJena() ;
-        WebReader2.wireIntoJena() ;
-    }
+    /** @deprecated Use org.apache.jena.riot.RIOT#init() */
+    @Deprecated
+    public static void init() { org.apache.jena.riot.RIOT.init() ; }
 }
+

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotException.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotException.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotException.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotException.java Tue Jan  8 18:43:53 2013
@@ -18,7 +18,11 @@
 
 package org.openjena.riot;
 
-public class RiotException extends RuntimeException
+import com.hp.hpl.jena.shared.JenaException ;
+
+/** @deprecated use org.pache.jena.riot.RiotExpection */
+@Deprecated 
+public class RiotException extends JenaException
 {
     public RiotException()                          { super() ; }
     public RiotException(String msg)                { super(msg) ; }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotNotFoundException.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotNotFoundException.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotNotFoundException.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotNotFoundException.java Tue Jan  8 18:43:53 2013
@@ -18,7 +18,9 @@
 
 package org.openjena.riot;
 
-public class RiotNotFoundException extends RiotException
+/** @deprecated use org.apache.jena.riot.RiotNotFoundException */
+@Deprecated
+public class RiotNotFoundException extends org.apache.jena.riot.RiotException
 {
     public RiotNotFoundException()                          { super() ; }
     public RiotNotFoundException(String msg)                { super(msg) ; }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotParseException.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotParseException.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotParseException.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotParseException.java Tue Jan  8 18:43:53 2013
@@ -18,7 +18,12 @@
 
 package org.openjena.riot;
 
-public class RiotParseException extends RiotException
+import org.apache.jena.riot.SysRIOT ;
+
+
+/** @deprecated use org.apache.jena.riot.RiotParseException */
+@Deprecated
+public class RiotParseException extends org.apache.jena.riot.RiotException
 {
     final private long line ;
     final private long column ;

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotParsePuller.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotParsePuller.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotParsePuller.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotParsePuller.java Tue Jan  8 18:43:53 2013
@@ -31,8 +31,9 @@ import org.apache.jena.atlas.AtlasExcept
 import org.apache.jena.atlas.lib.Closeable ;
 import org.apache.jena.atlas.lib.Sink ;
 import org.apache.jena.atlas.lib.SinkToQueue ;
-import org.openjena.riot.lang.LangRIOT ;
-import org.openjena.riot.system.ParserProfile ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.system.ParserProfile ;
 
 /**
  * A wrapper that converts the RIOT parsing API from push to pull.  It does this by starting up a

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotQuadParsePuller.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotQuadParsePuller.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotQuadParsePuller.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotQuadParsePuller.java Tue Jan  8 18:43:53 2013
@@ -21,7 +21,11 @@ package org.openjena.riot;
 import java.io.InputStream ;
 
 import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RiotReader ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.riot.system.StreamRDFLib ;
 
 import com.hp.hpl.jena.sparql.core.Quad ;
 
@@ -40,7 +44,8 @@ public class RiotQuadParsePuller extends
     @Override
     protected LangRIOT createParser(Sink<Quad> sink)
     {
-        return RiotReader.createParserQuads(in, lang, baseIRI, sink) ;
+        StreamRDF dest = StreamRDFLib.sinkQuads(sink) ;
+        return RiotReader.createParser(in, lang, baseIRI, dest) ;
     }
 }
 

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotReader.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotReader.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotReader.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotReader.java Tue Jan  8 18:43:53 2013
@@ -18,39 +18,43 @@
 
 package org.openjena.riot;
 
-import static org.openjena.riot.Lang.NQUADS ;
-import static org.openjena.riot.Lang.NTRIPLES ;
-import static org.openjena.riot.Lang.RDFJSON ;
-import static org.openjena.riot.Lang.RDFXML ;
+import static org.apache.jena.riot.RDFLanguages.NQUADS ;
+import static org.apache.jena.riot.RDFLanguages.TRIG ;
 
 import java.io.InputStream ;
-import java.util.Iterator;
+import java.util.Iterator ;
 
-import org.apache.jena.atlas.io.IO ;
 import org.apache.jena.atlas.io.PeekReader ;
 import org.apache.jena.atlas.iterator.IteratorResourceClosing ;
 import org.apache.jena.atlas.json.io.parser.TokenizerJSON ;
 import org.apache.jena.atlas.lib.IRILib ;
 import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.lang.* ;
-import org.openjena.riot.system.IRIResolver ;
-import org.openjena.riot.system.RiotLib ;
-import org.openjena.riot.system.SinkExtendTriplesToQuads ;
-import org.openjena.riot.tokens.Tokenizer ;
-import org.openjena.riot.tokens.TokenizerFactory ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.riot.RDFLanguages ;
+import org.apache.jena.riot.lang.* ;
+import org.apache.jena.riot.system.* ;
+import org.apache.jena.riot.tokens.Tokenizer ;
+import org.apache.jena.riot.tokens.TokenizerFactory ;
 
 import com.hp.hpl.jena.graph.Triple ;
 import com.hp.hpl.jena.sparql.core.Quad ;
 
 /** Operations to access RIOT parsers and send the output to 
- * a Sink (triples or quads as appropriate)
+ *  a ParserOutput (triples or quads as appropriate).
+ *  Operations to send to a sink (special case of a ParserOutput).
+ *  @see RDFDataMgr for reading from a location, including web access and content negotation.
+ *  @deprecated Use {@link org.apache.jena.riot.RiotReader}
  */
+
+@Deprecated
 public class RiotReader
 {
     /** Parse a file, sending triples to a sink.
      * Must be in a triples syntax.
      * @param filename 
      * @param sink  Where to send the triples from the parser.
+     * @see      RDFDataMgr#read
      */  
     public static void parseTriples(String filename, Sink<Triple> sink)
     { parseTriples(filename, null, null, sink) ; }
@@ -61,27 +65,12 @@ public class RiotReader
      * @param lang      Language, or null for "guess from URL" (e.g. file extension)
      * @param baseIRI   Base IRI, or null for based on input filename
      * @param sink      Where to send the triples from the parser.
-     */  
+     * @see     RDFDataMgr#read
+     */
     public static void parseTriples(String filename, Lang lang, String baseIRI, Sink<Triple> sink)
     {
-        checkTriplesLanguage(filename, lang) ;
-
-        InputStream in = IO.openFile(filename) ; 
-        String base = chooseBaseIRI(baseIRI, filename) ;
-
-        if ( lang == null )
-            lang = Lang.guess(filename, NTRIPLES) ;     // ** N-Triples
-        
-        if ( lang == RDFXML )
-        {
-            // Fudge to make the bulk loader process RDF/XML files.
-            LangRDFXML.create(in, base, filename, ErrorHandlerFactory.getDefaultErrorHandler(), sink).parse() ;
-            IO.close(in) ;
-            return ;
-        }
-        
-        parseTriples(in, lang, base, sink) ;
-        IO.close(in) ;
+        StreamRDF dest = StreamRDFLib.sinkTriples(sink) ;
+        parseTriples(filename, lang, baseIRI, dest) ;
     }
 
     /** Parse an InputStream, sending triples to a sink.
@@ -89,12 +78,12 @@ public class RiotReader
      * @param lang      Language.
      * @param baseIRI   Base IRI. 
      * @param sink      Where to send the triples from the parser.
-     */
-
+     * @see             RDFDataMgr#read
+     */  
     public static void parseTriples(InputStream in, Lang lang, String baseIRI, Sink<Triple> sink)
     {
-        LangRIOT parser = RiotReader.createParserTriples(in, lang, baseIRI, sink) ;
-        parser.parse() ;
+        StreamRDF dest = StreamRDFLib.sinkTriples(sink) ;
+        parseTriples(in, lang, baseIRI, dest) ;
     }
     
     // -------- Quads
@@ -102,6 +91,7 @@ public class RiotReader
     /** Parse a file, sending quads to a sink.
      * @param filename
      * @param sink  Where to send the quads from the parser.
+     * @see          RDFDataMgr#read
      */
     public static void parseQuads(String filename, Sink<Quad> sink)
     { parseQuads(filename, null, null, sink) ; }
@@ -111,73 +101,108 @@ public class RiotReader
      * @param lang      Language, or null for "guess from filename" (e.g. extension)
      * @param baseIRI   Base IRI, or null for base on input filename
      * @param sink      Where to send the quads from the parser.
+     * @see             RDFDataMgr#read
      */
     public static void parseQuads(String filename, Lang lang, String baseIRI, Sink<Quad> sink)
     {
-        InputStream in = IO.openFile(filename) ; 
-        String base = chooseBaseIRI(baseIRI, filename) ;
-        if ( lang == null )
-            lang = Lang.guess(filename, NQUADS) ;     // ** N-Quads
-        parseQuads(in, lang, base, sink) ;
-        IO.close(in) ;
+        StreamRDF dest = StreamRDFLib.sinkQuads(sink) ;
+        parseQuads(filename, lang, baseIRI, dest) ;
     }
 
     /** Parse an InputStream, sending quads to a sink.
      * @param in        Source for bytes to parse.
-     * @param lang      Language.
+     * @param lang      Language.org.apache.jena.riot.RiotReader
      * @param baseIRI   Base IRI. 
      * @param sink      Where to send the quads from the parser.
+     * @see              RDFDataMgr#read
      */
     public static void parseQuads(InputStream in, Lang lang, String baseIRI, Sink<Quad> sink)
     {
-        LangRIOT parser = RiotReader.createParserQuads(in, lang, baseIRI, sink) ;
-        parser.parse() ;
+        StreamRDF dest = StreamRDFLib.sinkQuads(sink) ;
+        parseQuads(in, lang, baseIRI, dest) ;
+    }
+
+    /** Parse a file, sending triples to a sink.
+     * Must be in a triples syntax.
+     * @param filename 
+     * @param dest  Where to send the triples from the parser.
+     */
+    public static void parseTriples(String filename, StreamRDF dest)
+    { parseTriples(filename, null, null, dest) ; }
+    
+    /** Parse a file, sending triples to a sink.
+     * Must be in a triples syntax.
+     * @param filename 
+     * @param lang      Language, or null for "guess from URL" (e.g. file extension)
+     * @param baseIRI   Base IRI, or null for based on input filename
+     * @param dest      Where to send the triples from the parser.
+     */  
+    public static void parseTriples(String filename, Lang lang, String baseIRI, StreamRDF dest)
+    {
+        org.apache.jena.riot.RiotReader.parse(filename, lang, baseIRI, dest) ;
+    }
+
+    /** Parse an InputStream, sending triples to a sink.
+     * @param in        Source for bytes to parse.
+     * @param lang      Language.
+     * @param baseIRI   Base IRI. 
+     * @param dest      Where to send the triples from the parser.
+     */  
+    public static void parseTriples(InputStream in, Lang lang, String baseIRI, StreamRDF dest)
+    {
+        org.apache.jena.riot.RiotReader.parse(in, lang, baseIRI, dest) ;
+    }
+    
+    // -------- Quads
+    
+    /** Parse a file, sending quads to a sink.
+     * @param filename
+     * @param dest  Where to send the quads from the parser.
+     */
+    public static void parseQuads(String filename, StreamRDF dest)
+    { parseQuads(filename, null, null, dest) ; }
+    
+    /** Parse a file, sending quads to a sink.
+     * @param filename 
+     * @param lang      Language, or null for "guess from filename" (e.g. extension)
+     * @param baseIRI   Base IRI, or null for base on input filename
+     * @param dest      Where to send the quads from the parser.
+     */
+    public static void parseQuads(String filename, Lang lang, String baseIRI, StreamRDF dest)
+    {
+        org.apache.jena.riot.RiotReader.parse(filename, lang, baseIRI, dest) ;
+    }
+
+    /** Parse an InputStream, sending quads to a sink.
+     * @param in        Source for bytes to parse.
+     * @param lang      Language.
+     * @param baseIRI   Base IRI. 
+     * @param dest      Where to send the quads from the parser.
+     */
+    public static void parseQuads(InputStream in, Lang lang, String baseIRI, StreamRDF dest)
+    {
+        org.apache.jena.riot.RiotReader.parse(in, lang, baseIRI, dest) ;
     }
 
     // -------- Parsers
     
     /** Create a parser for a triples language */  
-    public static LangRIOT createParserTriples(InputStream input, Lang lang, String baseIRI, Sink<Triple> sink)
+    public static LangRIOT createParserTriples(InputStream input, Lang lang, String baseIRI, StreamRDF dest)
     {
-        if ( lang == RDFXML )
-        {
-            if ( baseIRI != null )
-                baseIRI = IRIResolver.resolveString(baseIRI) ;
-            return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), sink) ;
-        }
-        Tokenizer tokenizer = ( lang == RDFJSON ) ?
-            new TokenizerJSON(PeekReader.makeUTF8(input)) :
-                TokenizerFactory.makeTokenizerUTF8(input) ;
-        return createParserTriples(tokenizer, lang, baseIRI ,sink) ;
+        return org.apache.jena.riot.RiotReader.createParser(input, lang, baseIRI, dest) ;
     }
     
     /** Create a parser for a triples language */  
-    public static LangRIOT createParserTriples(Tokenizer tokenizer, Lang lang, String baseIRI, Sink<Triple> sink)
+    public static LangRIOT createParserTriples(Tokenizer tokenizer, Lang lang, String baseIRI, StreamRDF dest)
     {
-        switch (lang)
-        {
-            case N3 :
-            case TURTLE :
-                return createParserTurtle(tokenizer, baseIRI, sink) ;
-            case NTRIPLES :
-                return createParserNTriples(tokenizer, sink) ;
-            case RDFJSON :
-                // But it must be a JSON tokenizer ...
-            	return createParserRdfJson(tokenizer, sink) ;
-            case RDFXML :
-                throw new RiotException("Not possible - can't parse RDF/XML from a RIOT token stream") ;
-            case NQUADS :
-            case TRIG :
-                throw new RiotException("Not a triples language: "+lang) ;
-        }
-        return null ;
+        return org.apache.jena.riot.RiotReader.createParser(tokenizer, lang, baseIRI, dest) ;
     }
     
     // TODO create a Tokenizer version of this method
     public static Iterator<Triple> createIteratorTriples(InputStream input, Lang lang, String baseIRI)
     {
         // Special case N-Triples, because the RIOT reader has a pull interface
-        if (lang == Lang.NTRIPLES)
+        if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) )
         {
             return new IteratorResourceClosing<Triple>(createParserNTriples(input, null), input);
         }
@@ -191,43 +216,30 @@ public class RiotReader
     }
     
     /** Create a parser for a quads (or triples) language */  
-    public static LangRIOT createParserQuads(InputStream input, Lang lang, String baseIRI, Sink<Quad> sink)
+    public static LangRIOT createParserQuads(InputStream input, Lang lang, String baseIRI, StreamRDF dest)
     {
-        if ( lang.isTriples() )
-        {
-            SinkExtendTriplesToQuads converter = new SinkExtendTriplesToQuads(sink) ;
-            return createParserTriples(input, lang, baseIRI, converter) ;
-        }
         Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
-        return createParserQuads(tokenizer, lang, baseIRI, sink) ;
+        return createParserQuads(tokenizer, lang, baseIRI, dest) ;
     }
     
     /** Create a parser for a quads language */  
-    public static LangRIOT createParserQuads(Tokenizer tokenizer, Lang lang, String baseIRI, Sink<Quad> sink)
+    public static LangRIOT createParserQuads(Tokenizer tokenizer, Lang lang, String baseIRI, StreamRDF dest)
     {
-        switch (lang)
-        {
-            case NTRIPLES : // Or move N-Triples just go through N-Quads. 
-            case N3 :
-            case TURTLE :
-            case RDFXML :
-            case RDFJSON :
-                // Add a triples to quads wrapper.
-                SinkExtendTriplesToQuads converter = new SinkExtendTriplesToQuads(sink) ;
-                return createParserTriples(tokenizer, lang, baseIRI, converter) ;
-            case NQUADS :
-                return createParserNQuads(tokenizer, sink) ;
-            case TRIG :
-                return createParserTriG(tokenizer, baseIRI, sink) ;
-        }
-        return null ;
+        if ( RDFLanguages.sameLang(NQUADS, lang) )
+            return createParserNQuads(tokenizer, dest) ;
+        if ( RDFLanguages.sameLang(TRIG, lang) )
+            return createParserTriG(tokenizer, baseIRI, dest) ;
+
+        // try to do via triples to quads extension. 
+        dest = StreamRDFLib.extendTriplesToQuads(dest) ;
+        return createParserTriples(tokenizer, lang, baseIRI, dest) ;
     }
     
     // TODO create a Tokenizer version of this method
     public static Iterator<Quad> createIteratorQuads(InputStream input, Lang lang, String baseIRI)
     {
         // Special case N-Quads, because the RIOT reader has a pull interface
-        if (lang == Lang.NTRIPLES)
+        if (  RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) )
         {
             return new IteratorResourceClosing<Quad>(createParserNQuads(input, null), input);
         }
@@ -241,82 +253,82 @@ public class RiotReader
     }
     
     /** Create a parser for Turtle, with default behaviour */
-    public static LangTurtle createParserTurtle(InputStream input, String baseIRI, Sink<Triple> sink)
+    public static LangTurtle createParserTurtle(InputStream input, String baseIRI, StreamRDF dest)
     {
         Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
-        return createParserTurtle(tokenizer, baseIRI, sink) ;
+        return createParserTurtle(tokenizer, baseIRI, dest) ;
     }
     
     /** Create a parser for Turtle, with default behaviour */
-    public static LangTurtle createParserTurtle(Tokenizer tokenizer, String baseIRI, Sink<Triple> sink)
+    public static LangTurtle createParserTurtle(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
     {
-        LangTurtle parser = new LangTurtle(tokenizer, RiotLib.profile(Lang.TURTLE, baseIRI), sink) ;
+        LangTurtle parser = new LangTurtle(tokenizer, RiotLib.profile(RDFLanguages.TURTLE, baseIRI), dest) ;
         return parser ;
     }
 
     /** Create a parser for RDF/XML */
-    public static LangRDFXML createParserRDFXML(InputStream input, String baseIRI, Sink<Triple> sink)
+    public static LangRDFXML createParserRDFXML(InputStream input, String baseIRI, StreamRDF dest)
     {
         if ( baseIRI == null )
             baseIRI = chooseBaseIRI() ;
-        LangRDFXML parser = LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), sink) ;
+        LangRDFXML parser = LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
         return parser ;
     }
 
     /** Create parsers for RDF/JSON */
-    public static LangRDFJSON createParserRdfJson(Tokenizer tokenizer, Sink<Triple> sink)
+    public static LangRDFJSON createParserRdfJson(Tokenizer tokenizer, StreamRDF dest)
     {
-    	LangRDFJSON parser = new LangRDFJSON(tokenizer, RiotLib.profile(Lang.RDFJSON, null), sink) ;
+    	LangRDFJSON parser = new LangRDFJSON(tokenizer, RiotLib.profile(RDFLanguages.RDFJSON, null), dest) ;
     	return parser;
     }
 
-    public static LangRDFJSON createParserRdfJson(InputStream input, Sink<Triple> sink)
+    public static LangRDFJSON createParserRdfJson(InputStream input, StreamRDF dest)
     {
     	TokenizerJSON tokenizer = new TokenizerJSON(PeekReader.makeUTF8(input)) ;
-    	return createParserRdfJson(tokenizer, sink) ;
+    	return createParserRdfJson(tokenizer, dest) ;
     }
     
     /** Create a parser for TriG, with default behaviour */
-    public static LangTriG createParserTriG(InputStream input, String baseIRI, Sink<Quad> sink)
+    public static LangTriG createParserTriG(InputStream input, String baseIRI, StreamRDF dest)
     {
         Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
-        return createParserTriG(tokenizer, baseIRI, sink) ;
+        return createParserTriG(tokenizer, baseIRI, dest) ;
     }
     
     /** Create a parser for TriG, with default behaviour */
-    public static LangTriG createParserTriG(Tokenizer tokenizer, String baseIRI, Sink<Quad> sink)
+    public static LangTriG createParserTriG(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
     {
         if ( baseIRI == null )
             baseIRI = chooseBaseIRI() ;
-        LangTriG parser = new LangTriG(tokenizer, RiotLib.profile(Lang.TRIG, baseIRI), sink) ;
+        LangTriG parser = new LangTriG(tokenizer, RiotLib.profile(RDFLanguages.TRIG, baseIRI), dest) ;
         return parser ;
     }
 
     /** Create a parser for N-Triples, with default behaviour */
-    public static LangNTriples createParserNTriples(InputStream input, Sink<Triple> sink)
+    public static LangNTriples createParserNTriples(InputStream input, StreamRDF dest)
     {
         Tokenizer tokenizer = TokenizerFactory.makeTokenizerASCII(input) ;
-        return createParserNTriples(tokenizer, sink) ;
+        return createParserNTriples(tokenizer, dest) ;
     }
     
     /** Create a parser for N-Triples, with default behaviour */
-    public static LangNTriples createParserNTriples(Tokenizer tokenizer, Sink<Triple> sink)
+    public static LangNTriples createParserNTriples(Tokenizer tokenizer, StreamRDF dest)
     {
-        LangNTriples parser = new LangNTriples(tokenizer, RiotLib.profile(Lang.NTRIPLES, null), sink) ;
+        LangNTriples parser = new LangNTriples(tokenizer, RiotLib.profile(RDFLanguages.NTRIPLES, null), dest) ;
         return parser ;
     }
     
     /** Create a parser for NQuads, with default behaviour */
-    public static LangNQuads createParserNQuads(InputStream input, Sink<Quad> sink)
+    public static LangNQuads createParserNQuads(InputStream input, StreamRDF dest)
     {
         Tokenizer tokenizer = TokenizerFactory.makeTokenizerASCII(input) ;
-        return createParserNQuads(tokenizer, sink) ;
+        return createParserNQuads(tokenizer, dest) ;
     }
     
     /** Create a parser for NQuads, with default behaviour */
-    public static LangNQuads createParserNQuads(Tokenizer tokenizer, Sink<Quad> sink)
+    public static LangNQuads createParserNQuads(Tokenizer tokenizer, StreamRDF dest)
     {
-        LangNQuads parser = new LangNQuads(tokenizer, RiotLib.profile(Lang.NQUADS, null), sink) ;
+        LangNQuads parser = new LangNQuads(tokenizer, RiotLib.profile(RDFLanguages.NQUADS, null), dest) ;
         return parser ;
     }
     
@@ -327,6 +339,21 @@ public class RiotReader
     
     public static String chooseBaseIRI(String baseIRI, String filename)
     {
+//      private static void checkTriplesLanguage(String filename, Lang2 lang)
+//      {
+//          
+//          
+//          if ( lang != null )
+//          {
+//              if ( ! lang.isTriples() )
+//                  throw new RiotException("Can only parse triples languages to a triples sink: "+lang.getName()) ;
+//              return ;
+//          }
+  //    
+//          lang = filenameToLang(filename) ;
+//          if ( lang != null && ! lang.isTriples() )
+//      }
+
         if ( baseIRI != null )
             return baseIRI ;
         if ( filename == null || filename.equals("-") )
@@ -341,20 +368,5 @@ public class RiotReader
             return "stdin" ;
         return filename ;
     }
-
-    private static void checkTriplesLanguage(String filename, Lang lang)
-    {
-        if ( lang != null )
-        {
-            if ( ! lang.isTriples() )
-                throw new RiotException("Can only parse triples languages to a triples sink: "+lang.getName()) ;
-            return ;
-        }
-    
-        lang = Lang.guess(filename) ;
-        if ( lang != null && ! lang.isTriples() )
-            throw new RiotException("Can only parse triples languages to a triples sink: "+lang.getName()) ; 
-    }
-    
         
 }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotTripleParsePuller.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotTripleParsePuller.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotTripleParsePuller.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotTripleParsePuller.java Tue Jan  8 18:43:53 2013
@@ -21,7 +21,11 @@ package org.openjena.riot;
 import java.io.InputStream ;
 
 import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RiotReader ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.riot.system.StreamRDFLib ;
 
 import com.hp.hpl.jena.graph.Triple ;
 
@@ -40,7 +44,8 @@ public class RiotTripleParsePuller exten
     @Override
     protected LangRIOT createParser(Sink<Triple> sink)
     {
-        return RiotReader.createParserTriples(in, lang, baseIRI, sink) ;
+        StreamRDF dest = StreamRDFLib.sinkTriples(sink) ;
+        return RiotReader.createParser(in, lang, baseIRI, dest) ;
     }
 }
 

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotWriter.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotWriter.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotWriter.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/RiotWriter.java Tue Jan  8 18:43:53 2013
@@ -21,44 +21,48 @@ package org.openjena.riot;
 import java.io.OutputStream ;
 import java.util.Iterator ;
 
-import org.openjena.riot.out.NQuadsWriter ;
-import org.openjena.riot.out.NTriplesWriter ;
-import org.openjena.riot.out.RDFJSONWriter ;
-
 import com.hp.hpl.jena.graph.Graph ;
 import com.hp.hpl.jena.graph.Triple ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 import com.hp.hpl.jena.sparql.core.Quad ;
 
-/** Output RDF in various formats (unfinished) */
+/** Output RDF in various formats (unfinished)
+ * @deprecated Use {@link org.apache.jena.riot.RiotWriter}
+ */
+@Deprecated
 public class RiotWriter
 {
     // Work in progress
     // A class of all the ways to write things - just jumps to right place in code. 
     
+    /** @deprecated Use {@link org.apache.jena.riot.RiotWriter} */
+    @Deprecated
     public static void writeNQuads(OutputStream out, DatasetGraph dsg)
     {
-        NQuadsWriter.write(out, dsg) ;
+        org.apache.jena.riot.RiotWriter.writeNQuads(out, dsg) ;
     }
-    
+    /** @deprecated Use {@link org.apache.jena.riot.RiotWriter} */
+    @Deprecated
     public static void writeNQuads(OutputStream out, Iterator<Quad> it)
     {
-        NQuadsWriter.write(out, it) ;
+        org.apache.jena.riot.RiotWriter.writeNQuads(out, it) ;
     }
-    
+    /** @deprecated Use {@link org.apache.jena.riot.RiotWriter} */
+    @Deprecated
     public static void writeTriples(OutputStream out, Graph graph)
     {
-        NTriplesWriter.write(out, graph) ;
+        org.apache.jena.riot.RiotWriter.writeTriples(out, graph) ;
     }
-    
+    /** @deprecated Use {@link org.apache.jena.riot.RiotWriter} */
+    @Deprecated
     public static void writeTriples(OutputStream out, Iterator<Triple> it)
     {
-        NTriplesWriter.write(out, it) ;
+        org.apache.jena.riot.RiotWriter.writeTriples(out, it) ;
     }
-
+    /** @deprecated Use {@link org.apache.jena.riot.RiotWriter} */
+    @Deprecated
     public static void writeRDFJSON(OutputStream out, Graph graph)
     {
-    	RDFJSONWriter.write(out, graph) ;
+        org.apache.jena.riot.RiotWriter.writeRDFJSON(out, graph) ;
     }
-
 }

Modified: jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/SerializationFactoryFinder.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/SerializationFactoryFinder.java?rev=1430439&r1=1430438&r2=1430439&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/SerializationFactoryFinder.java (original)
+++ jena/branches/streaming-update/jena-arq/src/main/java/org/openjena/riot/SerializationFactoryFinder.java Tue Jan  8 18:43:53 2013
@@ -24,17 +24,17 @@ import java.util.Iterator ;
 
 import org.apache.jena.atlas.data.SerializationFactory ;
 import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.lang.LabelToNode ;
-import org.openjena.riot.lang.LangNQuads ;
-import org.openjena.riot.lang.LangNTriples ;
-import org.openjena.riot.out.NodeToLabel ;
-import org.openjena.riot.out.SinkQuadOutput ;
-import org.openjena.riot.out.SinkTripleOutput ;
-import org.openjena.riot.system.IRIResolver ;
-import org.openjena.riot.system.ParserProfileBase ;
-import org.openjena.riot.system.Prologue ;
-import org.openjena.riot.tokens.Tokenizer ;
-import org.openjena.riot.tokens.TokenizerFactory ;
+import org.apache.jena.riot.lang.LabelToNode ;
+import org.apache.jena.riot.lang.LangNQuads ;
+import org.apache.jena.riot.lang.LangNTriples ;
+import org.apache.jena.riot.out.NodeToLabel ;
+import org.apache.jena.riot.out.SinkQuadOutput ;
+import org.apache.jena.riot.out.SinkTripleOutput ;
+import org.apache.jena.riot.system.IRIResolver ;
+import org.apache.jena.riot.system.ParserProfileBase ;
+import org.apache.jena.riot.system.Prologue ;
+import org.apache.jena.riot.tokens.Tokenizer ;
+import org.apache.jena.riot.tokens.TokenizerFactory ;
 
 import com.hp.hpl.jena.graph.Triple ;
 import com.hp.hpl.jena.sparql.core.Quad ;