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/02/28 23:30:54 UTC

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

Author: andy
Date: Thu Feb 28 22:30:54 2013
New Revision: 1451400

URL: http://svn.apache.org/r1451400
Log:
Tuning and fixing

Added:
    jena/Experimental/riot-output/src/main/java/riot/adpaters/AdapterRDFWriter.java
Modified:
    jena/Experimental/riot-output/D.ttl
    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/RDFWriterMgr.java
    jena/Experimental/riot-output/src/main/java/riot/WriterDatasetRIOT.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/RiotWriterLib.java
    jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java
    jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLAbbrevWriter.java
    jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLPlainWriter.java
    jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java
    jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriterBase.java
    jena/Experimental/riot-output/src/main/java/riot/writer/WriterDatasetRIOTBase.java
    jena/Experimental/riot-output/src/main/java/riot/writer/WriterGraphRIOTBase.java

Modified: jena/Experimental/riot-output/D.ttl
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/D.ttl?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/D.ttl (original)
+++ jena/Experimental/riot-output/D.ttl Thu Feb 28 22:30:54 2013
@@ -3,19 +3,21 @@
 @prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
 @prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
 
-## :s0 :p2 [ :x :y ] , [ :x :y ] .
+## <s> <p> <o> .
+
+:s0 :p2 [ :x :y ] , [ :x :y ] .
 :s0 :p1 [ :x :y1, :y2 ] .
 :s0 :p2 [ :x :y1 ] .
-## 
-## :s0 :p1 [ :x [:a [ :b 1] , [:c 2] ], [:a [ :b 1] , [:c 2] ] ] .
 
-:s1 :p3 [ :x 9 , [:a [ :b 1] , [:c 2] ] ] .
+:s0 :p1 [ :x [:a [ :b 1] , [:c 2] ], [:a [ :b 1] , [:c 2] ] ] .
+
+:s1 :p3 [ :x 9 , [:a [ :b 1] , [:c 2] ] , [:z ""]  ] .
 :s1 :p3 1,2,3,4,<x1> .
 :s1 :p3 <x> .
 
-## [:q 5 ; :r 10,11 ; :s [:a :B1; :a1 :C] , [ :a :b1,:b2 ; :a1 :c ] ] .
-## [:q 5 ; :r 10,11 ] .
-## :s :p :o .
+[:q 5 ; :r 10,11 ; :s [:a :B1; :a1 :C] , [ :a :b1,:b2 ; :a1 :c ] ] .
+[:q 5 ; :r 10,11 ] .
+:s :p :o .
 
 
 ## <x> <p> <o> .

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=1451400&r1=1451399&r2=1451400&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 Thu Feb 28 22:30:54 2013
@@ -92,7 +92,7 @@ public class ExRIOT_out3
         @Override
         public void write(Writer out, Graph graph, PrefixMap prefixMap, String baseURI)
         {
-            // Writers are discouraged : just hoe the charset is UTF-8.
+            // Writers are discouraged : just hope the charset is UTF-8.
             IndentedWriter x = RiotWriterLib.create(out) ;
             SSE.write(x, graph) ;
         }

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=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/dev/MainWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/dev/MainWriter.java Thu Feb 28 22:30:54 2013
@@ -32,6 +32,7 @@ import org.apache.jena.riot.system.Prefi
 import org.apache.jena.riot.system.StreamRDF ;
 import riot.RDFFormat ;
 import riot.RDFWriterMgr ;
+import riot.WriterGraphRIOT ;
 import riot.system.IO_Jena2 ;
 
 import com.hp.hpl.jena.graph.Graph ;
@@ -40,6 +41,7 @@ import com.hp.hpl.jena.graph.Triple ;
 import com.hp.hpl.jena.query.Dataset ;
 import com.hp.hpl.jena.rdf.model.Model ;
 import com.hp.hpl.jena.rdf.model.ModelFactory ;
+import com.hp.hpl.jena.rdf.model.RDFWriter ;
 import com.hp.hpl.jena.shared.PrefixMapping ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 import com.hp.hpl.jena.sparql.core.Quad ;
@@ -48,6 +50,7 @@ public class MainWriter
 {
     public static void main(String ...args)
     {
+        IO_Jena2.wireIntoJenaW() ;
 //        writeTriG() ;
 //        System.exit(0) ;
 //        writeAll() ;
@@ -57,7 +60,25 @@ public class MainWriter
         //String fn = "testing/RIOT/Writer/writer-rt-00.ttl" ;
         
         Model m = RDFDataMgr.loadModel(fn) ;
-        RDFWriterMgr.write(System.out, m, Lang.TTL) ;
+        m.write(System.out, "TTL") ;
+        
+//        RDFWriterMgr.write(System.out, m, Lang.TTL) ;
+//        RDFWriterMgr.write(System.out, m, Lang.TTL, 
+        System.exit(0) ;
+        
+        // ModelWriter? WriterModel WriterGraph
+        // DatasetWriter? WriterDataset  WriterDatasetGraph
+        
+        WriterGraphRIOT w = RDFWriterMgr.createGraphWriter(RDFFormat.TRIG) ;  
+        w.write(System.out, m.getGraph()) ;
+        //w.getContext().set(..)
+        //w.set() ;
+        RDFWriter w0 = m.getWriter("TTL") ;
+        w0.setProperty("indent", 123) ;
+        
+        
+        System.exit(0) ;
+        
         System.out.println("## -------------------") ;
         IO_Jena2.resetJenaW() ;
         m.write(System.out, "TTL") ;

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=1451400&r1=1451399&r2=1451400&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 Thu Feb 28 22:30:54 2013
@@ -20,11 +20,17 @@ package dev;
 
 public class PROJECT_RiotWriter
 {
+    // ModelWriter? WriterModel WriterGraph
+    // DatasetWriter? WriterDataset  WriterDatasetGraph
+    
+    // Test all Jena model.write paths.
+    // Base tests.
+    
     // JSON-LD
-    // Use of base URI - interface issue
-    //   Base must end / or # to work.
     // 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/RDFWriterMgr.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/RDFWriterMgr.java?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/RDFWriterMgr.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/RDFWriterMgr.java Thu Feb 28 22:30:54 2013
@@ -247,42 +247,84 @@ public class RDFWriterMgr
         write$(out, dataset, serialization) ;
     }
 
+    /** Create a writer for an RDF language
+     * @param lang   Language for the seralization.
+     * @return WriterGraphRIOT
+     */
+    
+    public static WriterGraphRIOT createGraphWriter(Lang lang)
+    {
+        RDFFormat serialization = RDFWriterRegistry.defaultSerialization(lang) ;
+        return createGraphWriter$(serialization) ;    
+    }
+    
+    /** Create a writer for an RDF language
+     * @param serialization Serialization format
+     * @return WriterGraphRIOT
+     */
+    public static WriterGraphRIOT createGraphWriter(RDFFormat serialization)
+    {
+        return createGraphWriter$(serialization) ;    
+    }
 
-    private static void write$(OutputStream out, Graph graph, RDFFormat serialization)
+    /** Create a writer for an RDF language
+     * @param lang   Language for the seralization.
+     * @return WriterGraphRIOT
+     */
+    
+    public static WriterDatasetRIOT createDatasetWriter(Lang lang)
+    {
+        RDFFormat serialization = RDFWriterRegistry.defaultSerialization(lang) ;
+        return createDatasetWriter$(serialization) ;    
+    }
+    
+    /** Create a writer for an RDF language
+     * @param serialization Serialization format
+     * @return WriterGraphRIOT
+     */
+    public static WriterDatasetRIOT createDatasetWriter(RDFFormat serialization)
+    {
+        return createDatasetWriter$(serialization) ;    
+    }
+    
+    private static WriterGraphRIOT createGraphWriter$(RDFFormat serialization)
     {
         WriterGraphRIOTFactory wf = RDFWriterRegistry.getWriterGraphFactory(serialization) ;
         if ( wf == null )
             throw new RiotException("No graph writer for "+serialization) ; 
-        WriterGraphRIOT w = wf.create(serialization) ;
+        return wf.create(serialization) ;
+    }
+
+    private static WriterDatasetRIOT createDatasetWriter$(RDFFormat serialization)
+    {
+        WriterDatasetRIOTFactory wf = RDFWriterRegistry.getWriterDatasetFactory(serialization) ;
+        if ( wf == null )
+            throw new RiotException("No dataset writer for "+serialization) ; 
+        return wf.create(serialization) ;
+    }
+
+    private static void write$(OutputStream out, Graph graph, RDFFormat serialization)
+    {
+        WriterGraphRIOT w = createGraphWriter$(serialization) ;
         w.write(out, graph) ;
     }
 
     private static void write$(Writer out, Graph graph, RDFFormat serialization)
     {
-        WriterGraphRIOTFactory wf = RDFWriterRegistry.getWriterGraphFactory(serialization) ;
-        if ( wf == null )
-            throw new RiotException("No graph writer for "+serialization) ; 
-        WriterGraphRIOT w = wf.create(serialization) ;
+        WriterGraphRIOT w = createGraphWriter$(serialization) ;
         w.write(out, graph) ;
     }
 
     private static void write$(OutputStream out, DatasetGraph dataset, RDFFormat serialization)
     {
-        WriterDatasetRIOTFactory wf = RDFWriterRegistry.getWriterDatasetFactory(serialization) ;
-        if ( wf == null )
-            throw new RiotException("No dataset writer for "+serialization) ; 
-        WriterDatasetRIOT w = wf.create(serialization) ;
+        WriterDatasetRIOT w = createDatasetWriter$(serialization) ;
         w.write(out, dataset) ;
     }
 
     private static void write$(Writer out, DatasetGraph dataset, RDFFormat serialization)
     {
-        WriterDatasetRIOTFactory wf = RDFWriterRegistry.getWriterDatasetFactory(serialization) ;
-        if ( wf == null )
-            throw new RiotException("No dataset writer for "+serialization) ; 
-        WriterDatasetRIOT w = wf.create(serialization) ;
+        WriterDatasetRIOT w = createDatasetWriter$(serialization) ;
         w.write(out, dataset) ;
     }
-    
 }
 

Modified: jena/Experimental/riot-output/src/main/java/riot/WriterDatasetRIOT.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/WriterDatasetRIOT.java?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/WriterDatasetRIOT.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/WriterDatasetRIOT.java Thu Feb 28 22:30:54 2013
@@ -35,7 +35,7 @@ public interface WriterDatasetRIOT
 {
     public void  write(OutputStream out, DatasetGraph datasetGraph) ;
     
-    public void  write(OutputStream out, DatasetGraph datasetGraph, PrefixMap prefixMap) ;
+    //public void  write(OutputStream out, DatasetGraph datasetGraph, PrefixMap prefixMap) ;
 
     public void  write(OutputStream out, DatasetGraph datasetGraph, String baseURI) ;
     

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=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/WriterGraphRIOT.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/WriterGraphRIOT.java Thu Feb 28 22:30:54 2013
@@ -35,7 +35,7 @@ public interface WriterGraphRIOT
 {
     public void  write(OutputStream out, Graph graph) ;
     
-    public void  write(OutputStream out, Graph graph, PrefixMap prefixMap) ;
+//    public void  write(OutputStream out, Graph graph, PrefixMap prefixMap) ;
 
     public void  write(OutputStream out, Graph graph, String baseURI) ;
     

Added: jena/Experimental/riot-output/src/main/java/riot/adpaters/AdapterRDFWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/adpaters/AdapterRDFWriter.java?rev=1451400&view=auto
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/adpaters/AdapterRDFWriter.java (added)
+++ jena/Experimental/riot-output/src/main/java/riot/adpaters/AdapterRDFWriter.java Thu Feb 28 22:30:54 2013
@@ -0,0 +1,54 @@
+/**
+ * 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
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package riot.adpaters;
+
+import java.io.OutputStream ;
+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 ;
+import com.hp.hpl.jena.rdf.model.ModelFactory ;
+import com.hp.hpl.jena.rdf.model.RDFWriter ;
+
+/** Wrapper for using old-style Jena RDFWriters in RIOT. */
+
+public abstract class AdapterRDFWriter extends WriterGraphRIOTBase
+{
+    protected abstract RDFWriter create() ;
+    
+    @Override public abstract Lang getLang() ;
+
+    @Override
+    public void write(Writer out, Graph graph, PrefixMap prefixMap, String baseURI)
+    {
+        RDFWriter w = create() ;
+        w.write(ModelFactory.createModelForGraph(graph), out, baseURI) ;
+    }
+
+    @Override
+    public void write(OutputStream out, Graph graph, PrefixMap prefixMap, String baseURI)
+    {
+        RDFWriter w = create() ;
+        w.write(ModelFactory.createModelForGraph(graph), out, baseURI) ;
+    }
+}
+

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=1451400&r1=1451399&r2=1451400&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 Thu Feb 28 22:30:54 2013
@@ -18,13 +18,17 @@
 
 package riot.adpaters;
 
+import static riot.system.RiotWriterLib.prefixMap ;
+
 import java.io.OutputStream ;
 import java.io.Writer ;
 
 import riot.RDFFormat ;
 import riot.RDFWriterMgr ;
 import riot.RDFWriterRegistry ;
+import riot.WriterGraphRIOT ;
 
+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 ;
@@ -32,25 +36,34 @@ import com.hp.hpl.jena.rdf.model.RDFWrit
 // To adapater a package--> 
 public class RDFWriterRIOT implements RDFWriter 
 {
-    private RDFFormat format ;
-    
-    public RDFWriterRIOT(RDFFormat format) { this.format = format ; }
+    private final RDFFormat format ;
+    private final WriterGraphRIOT riotWriter ;
     
-    public RDFWriterRIOT(String jenaName) { this(jenaName, RDFWriterRegistry.getFormatForJenaWriter(jenaName)) ; }
+    public RDFWriterRIOT(String jenaName)
+    { this(RDFWriterRegistry.getFormatForJenaWriter(jenaName)) ; }
     
-    public RDFWriterRIOT(String jenaName, RDFFormat format) { this.format = format ; }
-    
-    @SuppressWarnings("deprecation")
+    public RDFWriterRIOT(RDFFormat format)
+    { 
+        this.format = format ;
+        riotWriter = RDFWriterMgr.createGraphWriter(format) ;
+    }
+            
     @Override
     public void write(Model model, Writer out, String base)
     {
-        RDFWriterMgr.write(out, model, format) ;
+        if ( base.equals("") )
+            base = null ;
+        Graph graph = model.getGraph() ;
+        riotWriter.write(out, graph, prefixMap(graph), base) ;
     }
 
     @Override
     public void write(Model model, OutputStream out, String base)
     {
-        RDFWriterMgr.write(out, model, format) ;
+        if ( base.equals("") )
+            base = null ;
+        Graph graph = model.getGraph() ;
+        riotWriter.write(out, graph, prefixMap(graph), base) ;
     }
 
     @Override

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=1451400&r1=1451399&r2=1451400&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 Thu Feb 28 22:30:54 2013
@@ -104,7 +104,7 @@ public class RiotWriterLib
     
     public static void writePrefixes(IndentedWriter out, PrefixMap prefixMap)
     {        
-        if ( ! prefixMap.isEmpty() )
+        if ( prefixMap != null && ! prefixMap.isEmpty() )
         {
             for ( Map.Entry <String, String> e : prefixMap.getMappingCopyStr().entrySet() )
             {
@@ -188,7 +188,8 @@ public class RiotWriterLib
         IndentedWriterWriter(Writer w) { super(w) ; }
     }
 
-    public static IndentedWriter create(Writer writer) { return new IndentedWriterWriter(writer) ; }
+    public static IndentedWriter create(Writer writer)  { return new IndentedWriterWriter(writer) ; }
 
+    public static PrefixMap prefixMap(Graph graph)      { return PrefixMapFactory.create(graph.getPrefixMapping()) ; }
 }
 

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java Thu Feb 28 22:30:54 2013
@@ -54,10 +54,6 @@ public class NullWriter implements Write
     {}
 
     @Override
-    public void write(OutputStream out, DatasetGraph datasetGraph, PrefixMap prefixMap)
-    {}
-
-    @Override
     public void write(OutputStream out, DatasetGraph datasetGraph, String baseURI)
     {}
 

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLAbbrevWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLAbbrevWriter.java?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLAbbrevWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLAbbrevWriter.java Thu Feb 28 22:30:54 2013
@@ -18,42 +18,26 @@
 
 package riot.writer;
 
-import java.io.OutputStream ;
-import java.io.Writer ;
-
 import org.apache.jena.riot.Lang ;
-import org.apache.jena.riot.system.PrefixMap ;
+import riot.adpaters.AdapterRDFWriter ;
 
-import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.rdf.model.ModelFactory ;
 import com.hp.hpl.jena.rdf.model.RDFWriter ;
 import com.hp.hpl.jena.xmloutput.impl.Abbreviated ;
 
-/** Wrapper to the RDF/XML writer (preRIOT).
- */
+/** Wrapper to the RDF/XML writer (preRIOT). */
 
-public class RDFXMLAbbrevWriter extends WriterGraphRIOTBase
+public class RDFXMLAbbrevWriter extends AdapterRDFWriter
 {
-    private static RDFWriter create() { return new Abbreviated() ; }
+    
+    public RDFXMLAbbrevWriter() {} 
+    
+    @Override
+    protected RDFWriter create() { return new Abbreviated() ; }
     
     @Override
     public Lang getLang()
     {
         return Lang.RDFXML ;
     }
-
-    @Override
-    public void write(Writer out, Graph graph, PrefixMap prefixMap, String baseURI)
-    {
-        RDFWriter w = create() ;
-        w.write(ModelFactory.createModelForGraph(graph), out, baseURI) ;
-    }
-
-    @Override
-    public void write(OutputStream out, Graph graph, PrefixMap prefixMap, String baseURI)
-    {
-        RDFWriter w = create() ;
-        w.write(ModelFactory.createModelForGraph(graph), out, baseURI) ;
-    }
 }
 

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLPlainWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLPlainWriter.java?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLPlainWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/RDFXMLPlainWriter.java Thu Feb 28 22:30:54 2013
@@ -18,42 +18,24 @@
 
 package riot.writer;
 
-import java.io.OutputStream ;
-import java.io.Writer ;
-
 import org.apache.jena.riot.Lang ;
-import org.apache.jena.riot.system.PrefixMap ;
+import riot.adpaters.AdapterRDFWriter ;
 
-import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.rdf.model.ModelFactory ;
 import com.hp.hpl.jena.rdf.model.RDFWriter ;
 import com.hp.hpl.jena.xmloutput.impl.Basic ;
 
-/** Wrapper to the RDF/XML writer (preRIOT).
- */
+/** Wrapper to the RDF/XML writer (preRIOT). */
 
-public class RDFXMLPlainWriter extends WriterGraphRIOTBase
+public class RDFXMLPlainWriter extends AdapterRDFWriter
 {
-    private static RDFWriter create() { return new Basic() ; }
+    public RDFXMLPlainWriter() {}
+    
+    @Override
+    protected RDFWriter create() { return new Basic() ; }
     
     @Override
     public Lang getLang()
     {
         return Lang.RDFXML ;
     }
-
-    @Override
-    public void write(Writer out, Graph graph, PrefixMap prefixMap, String baseURI)
-    {
-        RDFWriter w = create() ;
-        w.write(ModelFactory.createModelForGraph(graph), out, baseURI) ;
-    }
-
-    @Override
-    public void write(OutputStream out, Graph graph, PrefixMap prefixMap, String baseURI)
-    {
-        RDFWriter w = create() ;
-        w.write(ModelFactory.createModelForGraph(graph), out, baseURI) ;
-    }
 }
-

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java Thu Feb 28 22:30:54 2013
@@ -28,6 +28,7 @@ import org.apache.jena.atlas.io.Indented
 import org.apache.jena.atlas.lib.Pair ;
 import org.apache.jena.riot.out.NodeToLabel ;
 import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.PrefixMapFactory ;
 import riot.other.GLib ;
 import riot.out.NodeFormatter ;
 import riot.out.NodeFormatterTTL ;
@@ -51,6 +52,8 @@ public abstract class TurtleShell
     protected TurtleShell(IndentedWriter out, PrefixMap pmap, String baseURI)
     {
         this.out = out ;
+        if ( pmap == null )
+            pmap = PrefixMapFactory.emptyPrefixMap() ;
         this.nodeFmt = new NodeFormatterTTL(baseURI,  pmap, NodeToLabel.createScopeByDocument()) ;
         this.prefixMap = pmap ;
         this.baseURI = baseURI ;
@@ -447,32 +450,32 @@ public abstract class TurtleShell
         
         private void writePredicateObject(Node p, Node obj, int predicateMaxWidth, boolean first)
         {
-            boolean longPredicate = writePredicate(p, predicateMaxWidth, first) ;
+            writePredicate(p, predicateMaxWidth, first) ;
+            out.incIndent(INDENT_OBJECT) ;  
             writeNodePretty(obj) ;
-            if ( longPredicate )
-                out.decIndent(INDENT_OBJECT) ;
+            out.decIndent(INDENT_OBJECT) ;
         }
 
         private void writePredicateObjectList(Node p, List<Node> objects, int predicateMaxWidth, boolean first)
         {
-            boolean longPredicate = writePredicate(p, predicateMaxWidth, first) ;
-          boolean firstObject = true ;
-          for ( Node o : objects) 
-          {
-              if ( ! firstObject )
-                  out.print(" , ") ;
-              else
-                  firstObject = false ; 
-              writeNode(o) ;
-              //writeNodePretty(obj) ;
-          }
-          if ( longPredicate )
-              out.decIndent(INDENT_OBJECT) ;
+            writePredicate(p, predicateMaxWidth, first) ;
+            out.incIndent(INDENT_OBJECT) ;  
+            boolean firstObject = true ;
+            for ( Node o : objects) 
+            {
+                if ( ! firstObject )
+                    out.print(" , ") ;
+                else
+                    firstObject = false ; 
+                writeNode(o) ;
+                //writeNodePretty(obj) ;
+            }
+            out.decIndent(INDENT_OBJECT) ;
         }
     
             
-        /** return true if a long predicate */ 
-        private boolean writePredicate(Node p, int predicateMaxWidth, boolean first)
+        /** Write a predicate - jump to next line if deemed long */   
+        private void writePredicate(Node p, int predicateMaxWidth, boolean first)
         {
             if ( first )
                 first = false ;
@@ -498,11 +501,6 @@ public abstract class TurtleShell
                 //out.print(' ', predicateMaxWidth-wPredicate) ;
                 gap(GAP_P_O) ;
             }
-
-            if ( wPredicate > LONG_PREDICATE )
-                out.incIndent(INDENT_OBJECT) ;
-            out.pad() ;
-            return wPredicate > LONG_PREDICATE ;
         }
             
         private Map<Node, List<Node>> groupByPredicates(Collection<Triple> cluster)
@@ -545,7 +543,9 @@ public abstract class TurtleShell
             if ( pCount == 1 )
             {
                 print("[ ") ;
+                out.incIndent(2) ;
                 writePredicateObjectList(x) ;
+                out.decIndent(2) ;
                 print(" ]") ;
                 return ;
             }
@@ -554,7 +554,7 @@ public abstract class TurtleShell
             int indent0 = out.getAbsoluteIndent() ;
             int here = out.getCol() ;
             out.setAbsoluteIndent(here) ;
-            print("[") ;
+            print("[ ") ;
             out.incIndent(2) ;
             writePredicateObjectList(x) ;
             out.decIndent(2) ;

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriterBase.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriterBase.java?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriterBase.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriterBase.java Thu Feb 28 22:30:54 2013
@@ -54,4 +54,3 @@ public abstract class TurtleWriterBase e
     
     protected abstract void output$(IndentedWriter iOut, Graph graph, PrefixMap prefixMap, String baseURI) ;
 }
-

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/WriterDatasetRIOTBase.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/WriterDatasetRIOTBase.java?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/WriterDatasetRIOTBase.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/WriterDatasetRIOTBase.java Thu Feb 28 22:30:54 2013
@@ -39,10 +39,6 @@ public abstract class WriterDatasetRIOTB
     { write(out, dataset, prefixMap(dataset), null) ; }
 
     @Override
-    public void write(OutputStream out, DatasetGraph dataset, PrefixMap prefixMap)
-    { write(out, dataset, prefixMap, null) ; }
-
-    @Override
     public void write(OutputStream out, DatasetGraph dataset, String baseURI)
     { write(out, dataset, prefixMap(dataset), baseURI) ; }
 

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/WriterGraphRIOTBase.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/WriterGraphRIOTBase.java?rev=1451400&r1=1451399&r2=1451400&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/WriterGraphRIOTBase.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/WriterGraphRIOTBase.java Thu Feb 28 22:30:54 2013
@@ -39,10 +39,6 @@ public abstract class WriterGraphRIOTBas
     { write(out, graph, prefixMap(graph), null) ; }
 
     @Override
-    public void write(OutputStream out, Graph graph, PrefixMap prefixMap)
-    { write(out, graph, prefixMap, null) ; }
-
-    @Override
     public void write(OutputStream out, Graph graph, String baseURI)
     { write(out, graph, prefixMap(graph), baseURI) ; }