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/03/02 11:01:05 UTC

svn commit: r1451869 - in /jena/Experimental/riot-output/src: main/java/dev/ main/java/riot/ main/java/riot/adpaters/ main/java/riot/system/ test/java/riot/writer/

Author: andy
Date: Sat Mar  2 10:01:05 2013
New Revision: 1451869

URL: http://svn.apache.org/r1451869
Log:
Improve plugging in new writers

Modified:
    jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out3.java
    jena/Experimental/riot-output/src/main/java/dev/MainWriter.java
    jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java
    jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java
    jena/Experimental/riot-output/src/main/java/riot/WriterGraphRIOT.java
    jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java
    jena/Experimental/riot-output/src/main/java/riot/system/IO_Jena2.java
    jena/Experimental/riot-output/src/main/java/riot/system/RiotWriterLib.java
    jena/Experimental/riot-output/src/test/java/riot/writer/TestJenaWriters.java

Modified: jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out3.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out3.java?rev=1451869&r1=1451868&r2=1451869&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out3.java (original)
+++ jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out3.java Sat Mar  2 10:01:05 2013
@@ -25,6 +25,7 @@ import org.apache.jena.atlas.io.Indented
 import org.apache.jena.riot.* ;
 import org.apache.jena.riot.system.PrefixMap ;
 import riot.* ;
+import riot.adpaters.RDFWriterRIOT ;
 import riot.system.RiotWriterLib ;
 import riot.writer.WriterGraphRIOTBase ;
 
@@ -54,11 +55,8 @@ public class ExRIOT_out3
         
         // Register the writer factory
         RDFWriterRegistry.register(format, new SSEWriterFactory()) ;
-        
-        Lang lang2 = RDFWriterRegistry.getWriterGraphFactory(lang).create(format).getLang() ;
-        System.out.println("## Language = "+lang2) ;
-        System.out.println() ;
-        
+
+        // ---- Use the register writer
         Model model = RDFDataMgr.loadModel("D.ttl") ;
         // Write
         System.out.println("## Write by format") ;
@@ -66,6 +64,13 @@ public class ExRIOT_out3
         System.out.println() ;
         System.out.println("## Write by language") ;
         RDFWriterMgr.write(System.out, model, lang) ;
+        
+        // ---- Register for use with Model.read
+        // because naming is explicit, need to register an adapter.  
+        IO_Jena.registerForModelWrite("SSE", RDFWriterSSE.class) ;
+        
+        // and use it
+        model.write(System.out, "SSE") ;
     }
     
     static class SSEWriterFactory implements WriterGraphRIOTFactory
@@ -99,5 +104,7 @@ public class ExRIOT_out3
 
     }
 
+    // Model.write adapter - must be public.
+    public static class RDFWriterSSE extends RDFWriterRIOT { public RDFWriterSSE() { super("SSE") ; } } 
 }
 

Modified: jena/Experimental/riot-output/src/main/java/dev/MainWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/dev/MainWriter.java?rev=1451869&r1=1451868&r2=1451869&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/dev/MainWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/dev/MainWriter.java Sat Mar  2 10:01:05 2013
@@ -61,10 +61,11 @@ public class MainWriter
         
         Model m = RDFDataMgr.loadModel(fn) ;
         m.write(System.out, "TTL") ;
+        System.exit(0) ;
         
 //        RDFWriterMgr.write(System.out, m, Lang.TTL) ;
 //        RDFWriterMgr.write(System.out, m, Lang.TTL, 
-        System.exit(0) ;
+//        System.exit(0) ;
         
         // ModelWriter? WriterModel WriterGraph
         // DatasetWriter? WriterDataset  WriterDatasetGraph
@@ -76,7 +77,6 @@ public class MainWriter
         RDFWriter w0 = m.getWriter("TTL") ;
         w0.setProperty("indent", 123) ;
         
-        
         System.exit(0) ;
         
         System.out.println("## -------------------") ;

Modified: jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java?rev=1451869&r1=1451868&r2=1451869&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java Sat Mar  2 10:01:05 2013
@@ -18,19 +18,30 @@
 
 package dev;
 
+
+
 public class PROJECT_RiotWriter
 {
     // ModelWriter? WriterModel WriterGraph
     // DatasetWriter? WriterDataset  WriterDatasetGraph
     
+    //Documentation: examples.
+    // complete javadoc RDFWriterRegistry
+
+    // **** RIOT/ARQ
+    // Move examples - need to adjust the website as well. 
+    // RDFDataMgr : only works on builtins for java.io.Readers. 
+    // Check ExRIOT_5
+    //   Does it need the example of explicit name registration?
+    
+    // Check ExRIOT_out3
+    
+    // **** RIOT/ARQ
+    
     // Test all Jena model.write paths.
+    // ideal Jena writer pattern (c.f. Jena 
     // Base tests.
     
-    // JSON-LD
-    // Pair a PrefixMap and base URI (prologue)? 
-    // Config writers
-    // Create writer, set config, go!
-    
     // ready to migrate.
 
     // ** Prefixes for DatasetGraphs

Modified: jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java?rev=1451869&r1=1451868&r2=1451869&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java Sat Mar  2 10:01:05 2013
@@ -18,9 +18,6 @@
 
 package riot;
 
-import java.io.OutputStream ;
-import java.io.Writer ;
-import java.util.Collection ;
 import java.util.HashMap ;
 import java.util.Map ;
 
@@ -28,12 +25,7 @@ import org.apache.jena.atlas.lib.Lib ;
 import org.apache.jena.riot.Lang ;
 import org.apache.jena.riot.RIOT ;
 import org.apache.jena.riot.RiotException ;
-import org.apache.jena.riot.system.PrefixMap ;
 import riot.system.RiotWriterLib ;
-import riot.writer.WriterGraphRIOTBase ;
-
-import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.n3.N3JenaWriter ;
 
 public class RDFWriterRegistry
 {
@@ -44,10 +36,10 @@ public class RDFWriterRegistry
     
     static { RIOT.init() ; }
 
-    static Map<RDFFormat, WriterGraphRIOTFactory> registryGraph     = new HashMap<RDFFormat, WriterGraphRIOTFactory>() ;
-    static Map<RDFFormat, WriterDatasetRIOTFactory> registryDataset = new HashMap<RDFFormat, WriterDatasetRIOTFactory>() ;
-    static Map<Lang, RDFFormat> langToFormat = new HashMap<Lang, RDFFormat>() ;
-
+    private static Map<RDFFormat, WriterGraphRIOTFactory> registryGraph     = new HashMap<RDFFormat, WriterGraphRIOTFactory>() ;
+    private static Map<RDFFormat, WriterDatasetRIOTFactory> registryDataset = new HashMap<RDFFormat, WriterDatasetRIOTFactory>() ;
+    private static Map<Lang, RDFFormat> langToFormat                        = new HashMap<Lang, RDFFormat>() ;
+    
     // Writing a graph
     static WriterGraphRIOTFactory wgfactory = new WriterGraphRIOTFactory() {
         @Override
@@ -71,32 +63,11 @@ public class RDFWriterRegistry
             
             WriterDatasetRIOT dsw = wdsfactory.create(serialization) ;
             if ( dsw != null )
-                return adapter(dsw) ;
+                return RiotWriterLib.adapter(dsw) ;
             return null ;
     }} ;
         
     
-    private static WriterGraphRIOTBase adapter(WriterDatasetRIOT writer)
-    { return new WriterAdapter(writer) ; }
-    
-    private static class WriterAdapter extends WriterGraphRIOTBase
-    {
-        private WriterDatasetRIOT writer ;
-
-        WriterAdapter(WriterDatasetRIOT writer) { this.writer = writer ; }
-        @Override
-        public Lang getLang()
-        { return writer.getLang() ; }
-
-        @Override
-        public void write(OutputStream out, Graph graph, PrefixMap prefixMap, String baseURI)
-        { writer.write(out, RiotWriterLib.dataset(graph), prefixMap, baseURI) ; }
-        
-        @Override
-        public void write(Writer out, Graph graph, PrefixMap prefixMap, String baseURI)
-        { writer.write(out, RiotWriterLib.dataset(graph), prefixMap, baseURI) ; }
-    }
-    
     // Writing a dataset
     static WriterDatasetRIOTFactory wdsfactory = new WriterDatasetRIOTFactory() {
         @Override
@@ -185,8 +156,14 @@ public class RDFWriterRegistry
         register(serialization, wfactory) ;
     }
     
+    /** Register an RDFFormat */
+    private static void register(RDFFormat serialization)
+    { }
+    
+    /** Register the default serialization for the language */
     public static void register(Lang lang, RDFFormat serialization)
     {
+        register(serialization) ;
         langToFormat.put(lang, serialization) ;
     }
 
@@ -198,37 +175,19 @@ public class RDFWriterRegistry
         return contains(fmt) ;
     }
 
+    /** Is the RDFFormat rgistered for use? */ 
     public static boolean contains(RDFFormat format)
     { return langToFormat.containsKey(format.getLang()) && (registryGraph.containsKey(format) || registryDataset.containsKey(format)); }
 
-    private static Map<String, RDFFormat> mapJenaNameToFormat = new HashMap<>() ;
-    static {
-        mapJenaNameToFormat.put("RDF/XML",          RDFFormat.RDFXML_PLAIN) ;
-        mapJenaNameToFormat.put("RDF/XML-ABBREV",   RDFFormat.RDFXML_ABBREV) ;
-        mapJenaNameToFormat.put("N-TRIPLE",         RDFFormat.NTRIPLES) ;
-        mapJenaNameToFormat.put("NT",               RDFFormat.NTRIPLES) ;
-        mapJenaNameToFormat.put("N-TRIPLES",        RDFFormat.NTRIPLES) ;
-        mapJenaNameToFormat.put("N-Triples",        RDFFormat.NTRIPLES) ;
-        mapJenaNameToFormat.put("N3",               RDFFormat.TURTLE) ;
-        mapJenaNameToFormat.put(N3JenaWriter.n3WriterPrettyPrinter, RDFFormat.TURTLE_PRETTY) ;
-        mapJenaNameToFormat.put(N3JenaWriter.n3WriterPlain,         RDFFormat.TURTLE_BLOCKS) ;
-        mapJenaNameToFormat.put(N3JenaWriter.n3WriterTriples,       RDFFormat.TURTLE_FLAT) ;
-        mapJenaNameToFormat.put(N3JenaWriter.n3WriterTriplesAlt,    RDFFormat.TURTLE_FLAT) ;
-        mapJenaNameToFormat.put(N3JenaWriter.turtleWriter,          RDFFormat.TURTLE) ;
-        mapJenaNameToFormat.put(N3JenaWriter.turtleWriterAlt1,      RDFFormat.TURTLE) ;
-        mapJenaNameToFormat.put(N3JenaWriter.turtleWriterAlt2,      RDFFormat.TURTLE) ;
-        
-        mapJenaNameToFormat.put("RDF/JSON",         RDFFormat.RDFJSON) ;
-        mapJenaNameToFormat.put("RDFJSON",          RDFFormat.RDFJSON) ;
-    }
-
-    /** return the RDFFormat for the exisin g Jena writer name, or null */ 
-    public static RDFFormat getFormatForJenaWriter(String jenaName) { return mapJenaNameToFormat.get(jenaName) ; }
-    
-    /** Return a collection of jena writer names */ 
-    public static Collection<String> getJenaWriterNames() { return mapJenaNameToFormat.keySet() ; }
+//    /** return the RDFFormat for the existing Jena writer name, or null */ 
+//    public static RDFFormat getFormatForJenaWriter(String jenaName) { return mapJenaNameToFormat.get(jenaName) ; }
+//    
+//    /** Register an RDFFormat for a Jena writer name */ 
+//    private static void setFormatForJenaWriter(String jenaName, RDFFormat format) { mapJenaNameToFormat.put(jenaName, format) ; }
+//
+//    /** Return a collection of jena writer names */ 
+//    public static Collection<String> getJenaWriterNames() { return mapJenaNameToFormat.keySet() ; }
 
-    
     // Map Lang to default output format.
     public static WriterGraphRIOTFactory getWriterGraphFactory(Lang lang)
     {

Modified: jena/Experimental/riot-output/src/main/java/riot/WriterGraphRIOT.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/WriterGraphRIOT.java?rev=1451869&r1=1451868&r2=1451869&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/WriterGraphRIOT.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/WriterGraphRIOT.java Sat Mar  2 10:01:05 2013
@@ -23,6 +23,7 @@ import java.io.Writer ;
 
 import org.apache.jena.riot.Lang ;
 import org.apache.jena.riot.system.PrefixMap ;
+import riot.writer.WriterGraphRIOTBase ;
 
 import com.hp.hpl.jena.graph.Graph ;
 
@@ -30,6 +31,7 @@ import com.hp.hpl.jena.graph.Graph ;
  * A RIOT serializer for a language.
  * This covers both graphs and datasets.
  * A WriterRIOT is a one-time use object (they may accumulate state, e.g. pretty writers).
+ * @see WriterGraphRIOTBase
  */
 public interface WriterGraphRIOT
 {
@@ -44,6 +46,7 @@ public interface WriterGraphRIOT
     /** Use of Writer is discouraged - let the serializer manage character sets in accordance with the format */
     public void  write(Writer out, Graph graph) ;
     
+    /** Use of Writer is discouraged - let the serializer manage character sets in accordance with the format */
     public void  write(Writer out, Graph graph, PrefixMap prefixMap, String baseURI) ;
     
     public Lang  getLang() ;

Modified: jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java?rev=1451869&r1=1451868&r2=1451869&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java Sat Mar  2 10:01:05 2013
@@ -23,47 +23,60 @@ import static riot.system.RiotWriterLib.
 import java.io.OutputStream ;
 import java.io.Writer ;
 
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFLanguages ;
+import org.apache.jena.riot.RiotException ;
 import riot.RDFFormat ;
 import riot.RDFWriterMgr ;
-import riot.RDFWriterRegistry ;
 import riot.WriterGraphRIOT ;
+import riot.system.IO_Jena2 ;
 
 import com.hp.hpl.jena.graph.Graph ;
 import com.hp.hpl.jena.rdf.model.Model ;
 import com.hp.hpl.jena.rdf.model.RDFErrorHandler ;
 import com.hp.hpl.jena.rdf.model.RDFWriter ;
+import com.hp.hpl.jena.sparql.util.Context ;
 
-// To adapater a package--> 
+/** Adapter from RIOT to old style Jena RDFWriter. */
 public class RDFWriterRIOT implements RDFWriter 
 {
-    private final RDFFormat format ;
-    private final WriterGraphRIOT riotWriter ;
+    private final String jenaName ; 
+    private Context context = new Context() ;
     
     public RDFWriterRIOT(String jenaName)
-    { this(RDFWriterRegistry.getFormatForJenaWriter(jenaName)) ; }
-    
-    public RDFWriterRIOT(RDFFormat format)
     { 
-        this.format = format ;
-        riotWriter = RDFWriterMgr.createGraphWriter(format) ;
+        this.jenaName = jenaName ;
     }
-            
+    
+    //Initial late to avoid confusing exceptions during newInstance. 
+    private WriterGraphRIOT writer()
+    {
+        RDFFormat format = IO_Jena2.getFormatForJenaWriter(jenaName) ;
+        if ( format != null )
+            return RDFWriterMgr.createGraphWriter(format) ;
+        // Try lang instead.
+        Lang lang = RDFLanguages.nameToLang(jenaName) ;
+        if ( lang != null )
+            return RDFWriterMgr.createGraphWriter(lang) ;
+        throw new RiotException("No graph writer for '"+jenaName+"'") ;
+    }
+    
     @Override
     public void write(Model model, Writer out, String base)
     {
-        if ( base.equals("") )
+        if (  base != null && base.equals("") )
             base = null ;
         Graph graph = model.getGraph() ;
-        riotWriter.write(out, graph, prefixMap(graph), base) ;
+        writer().write(out, graph, prefixMap(graph), base) ;
     }
 
     @Override
     public void write(Model model, OutputStream out, String base)
     {
-        if ( base.equals("") )
+        if ( base != null && base.equals("") )
             base = null ;
         Graph graph = model.getGraph() ;
-        riotWriter.write(out, graph, prefixMap(graph), base) ;
+        writer().write(out, graph, prefixMap(graph), base) ;
     }
 
     @Override

Modified: jena/Experimental/riot-output/src/main/java/riot/system/IO_Jena2.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/system/IO_Jena2.java?rev=1451869&r1=1451868&r2=1451869&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/system/IO_Jena2.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/system/IO_Jena2.java Sat Mar  2 10:01:05 2013
@@ -18,6 +18,11 @@
 
 package riot.system;
 
+import java.util.Collection ;
+import java.util.HashMap ;
+import java.util.Map ;
+
+import riot.RDFFormat ;
 import riot.adpaters.RDFWriterRIOT ;
 
 import com.hp.hpl.jena.Jena ;
@@ -41,8 +46,39 @@ public class IO_Jena2
     public static class RDFWriterRIOT_Turtle2       extends RDFWriterRIOT   { public RDFWriterRIOT_Turtle2()        { super(N3JenaWriter.turtleWriterAlt2) ; } }
     public static class RDFWriterRIOT_RDFJSON       extends RDFWriterRIOT   { public RDFWriterRIOT_RDFJSON()        { super("RDF/JSON") ; } }
     
+    private static Map<String, RDFFormat> mapJenaNameToFormat               = new HashMap<String, RDFFormat>() ;
+
+    /** return the RDFFormat for the existing Jena writer name, or null */ 
+    public static RDFFormat getFormatForJenaWriter(String jenaName) { return mapJenaNameToFormat.get(jenaName) ; }
+
+    /** Register an RDFFormat for a Jena writer name */ 
+    public static void setFormatForJenaWriter(String jenaName, RDFFormat format) { mapJenaNameToFormat.put(jenaName, format) ; }
+
+    /** Return a collection of jena writer names */ 
+    public static Collection<String> getJenaWriterNames() { return mapJenaNameToFormat.keySet() ; }
+    
     public static void wireIntoJenaW()
-    { 
+    {
+
+        
+        setFormatForJenaWriter("RDF/XML",          RDFFormat.RDFXML_PLAIN) ;
+        setFormatForJenaWriter("RDF/XML-ABBREV",   RDFFormat.RDFXML_ABBREV) ;
+        setFormatForJenaWriter("N-TRIPLE",         RDFFormat.NTRIPLES) ;
+        setFormatForJenaWriter("NT",               RDFFormat.NTRIPLES) ;
+        setFormatForJenaWriter("N-TRIPLES",        RDFFormat.NTRIPLES) ;
+        setFormatForJenaWriter("N-Triples",        RDFFormat.NTRIPLES) ;
+        setFormatForJenaWriter("N3",               RDFFormat.TURTLE) ;
+        setFormatForJenaWriter(N3JenaWriter.n3WriterPrettyPrinter, RDFFormat.TURTLE_PRETTY) ;
+        setFormatForJenaWriter(N3JenaWriter.n3WriterPlain,         RDFFormat.TURTLE_BLOCKS) ;
+        setFormatForJenaWriter(N3JenaWriter.n3WriterTriples,       RDFFormat.TURTLE_FLAT) ;
+        setFormatForJenaWriter(N3JenaWriter.n3WriterTriplesAlt,    RDFFormat.TURTLE_FLAT) ;
+        setFormatForJenaWriter(N3JenaWriter.turtleWriter,          RDFFormat.TURTLE) ;
+        setFormatForJenaWriter(N3JenaWriter.turtleWriterAlt1,      RDFFormat.TURTLE) ;
+        setFormatForJenaWriter(N3JenaWriter.turtleWriterAlt2,      RDFFormat.TURTLE) ;
+        
+        setFormatForJenaWriter("RDF/JSON",         RDFFormat.RDFJSON) ;
+        setFormatForJenaWriter("RDFJSON",          RDFFormat.RDFJSON) ;
+        
 //        RDFWriterFImpl.LANGS
 //        RDFWriterFImpl.DEFAULTWRITER
         RDFWriterFImpl.setBaseWriterClassName("RDF/XML",        RDFWriterRIOT_RDFXML.class.getName()) ;
@@ -86,6 +122,5 @@ public class IO_Jena2
         RDFWriterFImpl.setBaseWriterClassName(N3JenaWriter.turtleWriterAlt2,        Jena.PATH + ".n3.N3TurtleJenaWriter") ;
         
     }
-
 }
 

Modified: jena/Experimental/riot-output/src/main/java/riot/system/RiotWriterLib.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/system/RiotWriterLib.java?rev=1451869&r1=1451868&r2=1451869&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/system/RiotWriterLib.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/system/RiotWriterLib.java Sat Mar  2 10:01:05 2013
@@ -22,6 +22,7 @@ import static riot.writer.WriterConst.PR
 import static riot.writer.WriterConst.RDF_type ;
 import static riot.writer.WriterConst.rdfNS ;
 
+import java.io.OutputStream ;
 import java.io.Writer ;
 import java.util.ArrayList ;
 import java.util.Collection ;
@@ -30,8 +31,11 @@ import java.util.Map ;
 
 import org.apache.jena.atlas.io.IndentedWriter ;
 import org.apache.jena.atlas.iterator.Iter ;
+import org.apache.jena.riot.Lang ;
 import org.apache.jena.riot.system.PrefixMap ;
 import org.apache.jena.riot.system.PrefixMapFactory ;
+import riot.WriterDatasetRIOT ;
+import riot.writer.WriterGraphRIOTBase ;
 
 import com.hp.hpl.jena.graph.Graph ;
 import com.hp.hpl.jena.graph.Node ;
@@ -191,5 +195,26 @@ public class RiotWriterLib
     public static IndentedWriter create(Writer writer)  { return new IndentedWriterWriter(writer) ; }
 
     public static PrefixMap prefixMap(Graph graph)      { return PrefixMapFactory.create(graph.getPrefixMapping()) ; }
+    
+    public static WriterGraphRIOTBase adapter(WriterDatasetRIOT writer)
+    { return new WriterAdapter(writer) ; }
+    
+    private static class WriterAdapter extends WriterGraphRIOTBase
+    {
+        private WriterDatasetRIOT writer ;
+
+        WriterAdapter(WriterDatasetRIOT writer) { this.writer = writer ; }
+        @Override
+        public Lang getLang()
+        { return writer.getLang() ; }
+
+        @Override
+        public void write(OutputStream out, Graph graph, PrefixMap prefixMap, String baseURI)
+        { writer.write(out, RiotWriterLib.dataset(graph), prefixMap, baseURI) ; }
+        
+        @Override
+        public void write(Writer out, Graph graph, PrefixMap prefixMap, String baseURI)
+        { writer.write(out, RiotWriterLib.dataset(graph), prefixMap, baseURI) ; }
+    }
 }
 

Modified: jena/Experimental/riot-output/src/test/java/riot/writer/TestJenaWriters.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/test/java/riot/writer/TestJenaWriters.java?rev=1451869&r1=1451868&r2=1451869&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/test/java/riot/writer/TestJenaWriters.java (original)
+++ jena/Experimental/riot-output/src/test/java/riot/writer/TestJenaWriters.java Sat Mar  2 10:01:05 2013
@@ -28,7 +28,6 @@ import org.junit.runner.RunWith ;
 import org.junit.runners.Parameterized ;
 import org.junit.runners.Parameterized.Parameters ;
 import riot.RDFWriterMgr ;
-import riot.RDFWriterRegistry ;
 import riot.system.IO_Jena2 ;
 
 import com.hp.hpl.jena.rdf.model.Model ;
@@ -41,7 +40,7 @@ public class TestJenaWriters extends Abs
     @Parameters(name = "{index}: {0}")
     public static Iterable<Object[]> data() {
         List<Object[]> x = new ArrayList<Object[]>() ;
-        for ( String wname : RDFWriterRegistry.getJenaWriterNames() )
+        for ( String wname : IO_Jena2.getJenaWriterNames() )
             x.add(new Object[]{wname}) ;
         return x ; 
     }
@@ -82,7 +81,7 @@ public class TestJenaWriters extends Abs
         ByteArrayOutputStream out1 = new ByteArrayOutputStream() ;
         m.write(out1, jenaFormatName) ;
         ByteArrayOutputStream out2 = new ByteArrayOutputStream() ;
-        RDFWriterMgr.write(out2, m, RDFWriterRegistry.getFormatForJenaWriter(jenaFormatName)) ;
+        RDFWriterMgr.write(out2, m, IO_Jena2.getFormatForJenaWriter(jenaFormatName)) ;
         
         try {
             assertArrayEquals("Format: "+jenaFormatName, out2.toByteArray(), out1.toByteArray()) ;