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 2019/01/25 22:36:39 UTC

[jena] branch master updated: JENA-1660: Deprecate app use of WriterGraphRIOT and WriterDatasetRIOT.

This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/master by this push:
     new 8d8bcf1  JENA-1660: Deprecate app use of WriterGraphRIOT and WriterDatasetRIOT.
     new 7c9f0e0  Merge pull request #524 from afs/deprecate-riot-writer
8d8bcf1 is described below

commit 8d8bcf12c6de5f3403ccf21dc879f2afd8fa01f0
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Mon Jan 21 11:29:16 2019 +0000

    JENA-1660: Deprecate app use of WriterGraphRIOT and WriterDatasetRIOT.
---
 .../arq/examples/riot/Ex_WriteJsonLD.java          | 16 ++++++------
 .../main/java/org/apache/jena/riot/RDFDataMgr.java |  8 ++++++
 .../main/java/org/apache/jena/riot/RDFWriter.java  |  1 -
 .../apache/jena/riot/adapters/RDFWriterRIOT.java   | 21 ++++++----------
 .../jena/riot/system/TestFormatRegistration.java   | 29 ++++++----------------
 .../apache/jena/riot/writer/TestJsonLDWriter.java  | 11 ++------
 6 files changed, 33 insertions(+), 53 deletions(-)

diff --git a/jena-arq/src-examples/arq/examples/riot/Ex_WriteJsonLD.java b/jena-arq/src-examples/arq/examples/riot/Ex_WriteJsonLD.java
index 93c5dfc..39eaefb 100644
--- a/jena-arq/src-examples/arq/examples/riot/Ex_WriteJsonLD.java
+++ b/jena-arq/src-examples/arq/examples/riot/Ex_WriteJsonLD.java
@@ -32,9 +32,7 @@ import org.apache.jena.rdf.model.Resource;
 import org.apache.jena.riot.JsonLDWriteContext;
 import org.apache.jena.riot.RDFDataMgr;
 import org.apache.jena.riot.RDFFormat;
-import org.apache.jena.riot.WriterDatasetRIOT;
-import org.apache.jena.riot.system.PrefixMap;
-import org.apache.jena.riot.system.RiotLib;
+import org.apache.jena.riot.RDFWriter;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.util.Context;
 import org.apache.jena.vocabulary.RDF;
@@ -313,11 +311,13 @@ public class Ex_WriteJsonLD
      * @param ctx the object that allows to control the writing process (a set of parameters)
      */
     void write(OutputStream out, DatasetGraph g, RDFFormat f, Context ctx) {
-        // create a WriterDatasetRIOT with the RDFFormat
-        WriterDatasetRIOT w = RDFDataMgr.createDatasetWriter(f) ;
-        PrefixMap pm = RiotLib.prefixMap(g);
-        String base = null;
-        w.write(out, g, pm, base, ctx) ;     
+        RDFWriter w =
+            RDFWriter.create()
+            .format(f)
+            .source(g)
+            .context(ctx)
+            .build();
+        w.output(out);
     }
 
     /** Write RDF data to the console */
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
index df40a2b..a42431a 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
@@ -1211,7 +1211,9 @@ public class RDFDataMgr
     /** Create a writer for an RDF language
      * @param lang   Language for the serialization.
      * @return WriterGraphRIOT
+     * @deprecated Use {@code RDFWriter.create().lang(Lang).source(graph).build()}
      */
+    @Deprecated
     public static WriterGraphRIOT createGraphWriter(Lang lang) {
         RDFFormat serialization = langToFormatOrException(lang);
         return createGraphWriter$(serialization);
@@ -1220,7 +1222,9 @@ public class RDFDataMgr
     /** Create a writer for an RDF language
      * @param serialization Serialization format
      * @return WriterGraphRIOT
+     * @deprecated Use {@code RDFWriter.create().format(serialization).source(graph).build()}
      */
+    @Deprecated
     public static WriterGraphRIOT createGraphWriter(RDFFormat serialization) {
         return createGraphWriter$(serialization);
     }
@@ -1228,7 +1232,9 @@ public class RDFDataMgr
     /** Create a writer for an RDF language
      * @param lang   Language for the serialization.
      * @return WriterGraphRIOT
+     * @deprecated Use {@code RDFWriter.create().lang(lang).source(datasetGraph).build()}
      */
+    @Deprecated
     public static WriterDatasetRIOT createDatasetWriter(Lang lang) {
         RDFFormat serialization = langToFormatOrException(lang);
         return createDatasetWriter$(serialization);
@@ -1237,7 +1243,9 @@ public class RDFDataMgr
     /** Create a writer for an RDF language
      * @param serialization Serialization format
      * @return WriterGraphRIOT
+     * @deprecated Use {@code RDFWriter.create().format(serialization).source(datasetGraph).build()}
      */
+    @Deprecated
     public static WriterDatasetRIOT createDatasetWriter(RDFFormat serialization) {
         return createDatasetWriter$(serialization);
     }
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFWriter.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFWriter.java
index ad4b80a..3998bf8 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFWriter.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFWriter.java
@@ -183,7 +183,6 @@ public class RDFWriter {
     }    
 
     // Allowing an externally set PrefixMap was (probably) a mistake. 
-    
     private static WriterGraphRIOT createGraphWriter$(RDFFormat serialization) {
         WriterGraphRIOTFactory wf = RDFWriterRegistry.getWriterGraphFactory(serialization);
         if ( wf == null )
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/adapters/RDFWriterRIOT.java b/jena-arq/src/main/java/org/apache/jena/riot/adapters/RDFWriterRIOT.java
index ff42d78..f2c2a46 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/adapters/RDFWriterRIOT.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/adapters/RDFWriterRIOT.java
@@ -24,13 +24,11 @@ import java.util.HashMap ;
 import java.util.Locale ;
 import java.util.Map ;
 
-import org.apache.jena.graph.Graph ;
 import org.apache.jena.rdf.model.Model ;
 import org.apache.jena.rdf.model.RDFErrorHandler ;
 import org.apache.jena.rdf.model.RDFWriter ;
 import org.apache.jena.rdf.model.impl.RDFDefaultErrorHandler ;
 import org.apache.jena.riot.* ;
-import org.apache.jena.riot.system.RiotLib ;
 import org.apache.jena.sparql.util.Context ;
 import org.apache.jena.sparql.util.Symbol ;
 
@@ -51,7 +49,6 @@ public class RDFWriterRIOT implements RDFWriter
     private final String jenaName ; 
     private Context context = new Context() ;
     private Map<String, Object> properties = new HashMap<>() ;
-    private WriterGraphRIOT writer ;
     private RDFErrorHandler errorHandler = new RDFDefaultErrorHandler();
     
     public RDFWriterRIOT(String jenaName) {
@@ -60,35 +57,33 @@ public class RDFWriterRIOT implements RDFWriter
         context.put(SysRIOT.sysRdfWriterProperties, properties);
     }
 
-    protected WriterGraphRIOT writer() {
-        if ( writer != null )
-            return writer;
+    protected RDFWriterBuilder writer() {
         if ( jenaName == null )
             throw new IllegalArgumentException("Jena writer name is null");
         // For writing via model.write(), use any old names for jena writers. (As of 2107-03 - there are none)
         RDFFormat format = RDFWriterRegistry.getFormatForJenaWriter(jenaName) ;
+        RDFWriterBuilder builder = org.apache.jena.riot.RDFWriter.create();
         if ( format != null )
-            return RDFDataMgr.createGraphWriter(format) ;
+            return builder.format(format);
         Lang lang = RDFLanguages.nameToLang(jenaName);
         if ( lang != null )
-            return RDFDataMgr.createGraphWriter(lang);
+            return builder.lang(lang);
         throw new RiotException("No graph writer for '" + jenaName + "'");
     }
-
+    
+    @SuppressWarnings("deprecation")
     @Override
     public void write(Model model, Writer out, String base) {
         if ( base != null && base.equals("") )
             base = null;
-        Graph graph = model.getGraph();
-        writer().write(out, graph, RiotLib.prefixMap(graph), base, context);
+        writer().source(model).context(context).base(base).build().output(out);
     }
     
     @Override
     public void write(Model model, OutputStream out, String base) {
         if ( base != null && base.equals("") )
             base = null;
-        Graph graph = model.getGraph();
-        writer().write(out, graph, RiotLib.prefixMap(graph), base, context);
+        writer().source(model).context(context).base(base).output(out);
     }
 
     @Override
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/system/TestFormatRegistration.java b/jena-arq/src/test/java/org/apache/jena/riot/system/TestFormatRegistration.java
index 5c74494..6d4efef 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/system/TestFormatRegistration.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/system/TestFormatRegistration.java
@@ -84,27 +84,12 @@ public class TestFormatRegistration extends BaseTest
         if ( isquads )   assertNotNull(RDFWriterRegistry.getWriterDatasetFactory(format)) ;
     }
     
-  @Test public void jenaSystem_write_3() {
-      if ( istriples ) assertNotNull(RDFDataMgr.createGraphWriter(format)) ;
-      if ( isquads )   assertNotNull(RDFDataMgr.createDatasetWriter(format)) ;
-}
-
-    //    @Test public void jenaSystem_write_3() {
-//        
-//        assertEquals(jsonldFmt1, RDFWriterRegistry.defaultSerialization(JSONLD)) ;
-//        
-//        assertNotNull(RDFWriterRegistry.getWriterGraphFactory(jsonldFmt1)) ;
-//        assertNotNull(RDFWriterRegistry.getWriterGraphFactory(jsonldFmt2)) ;
-//
-//        assertTrue(RDFWriterRegistry.registeredGraphFormats().contains(jsonldFmt1)) ;
-//        assertTrue(RDFWriterRegistry.registeredGraphFormats().contains(jsonldFmt2)) ;
-//
-//        assertNotNull(RDFWriterRegistry.getWriterDatasetFactory(jsonldFmt1)) ;
-//        assertNotNull(RDFWriterRegistry.getWriterDatasetFactory(jsonldFmt2)) ;
-//        
-//        assertTrue(RDFWriterRegistry.registeredDatasetFormats().contains(jsonldFmt1)) ;
-//        assertTrue(RDFWriterRegistry.registeredDatasetFormats().contains(jsonldFmt2)) ;
-//    }
-//    
+  @Test public void xjenaSystem_write_3() {
+      RDFWriterRegistry.contains(format);
+      if ( istriples ) 
+          assertTrue(RDFWriterRegistry.registeredGraphFormats().contains(format));
+      if ( isquads )
+          assertTrue(RDFWriterRegistry.registeredDatasetFormats().contains(format));
+  }
 }
 
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/writer/TestJsonLDWriter.java b/jena-arq/src/test/java/org/apache/jena/riot/writer/TestJsonLDWriter.java
index 77a41fe..117e8ec 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/writer/TestJsonLDWriter.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/writer/TestJsonLDWriter.java
@@ -34,10 +34,7 @@ import org.apache.jena.rdf.model.ModelFactory;
 import org.apache.jena.rdf.model.Property;
 import org.apache.jena.rdf.model.RDFNode;
 import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.riot.JsonLDWriteContext;
-import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.riot.RDFFormat;
-import org.apache.jena.riot.WriterDatasetRIOT;
+import org.apache.jena.riot.*;
 import org.apache.jena.riot.system.PrefixMap;
 import org.apache.jena.riot.system.RiotLib;
 import org.apache.jena.sparql.core.DatasetGraph;
@@ -550,11 +547,7 @@ public class TestJsonLDWriter extends BaseTest {
 
     private String toString(Model m, RDFFormat f, Context jenaContext) {
         try(ByteArrayOutputStream out = new ByteArrayOutputStream()) {
-            WriterDatasetRIOT w = RDFDataMgr.createDatasetWriter(f) ;
-            DatasetGraph g = DatasetFactory.wrap(m).asDatasetGraph();
-            PrefixMap pm = RiotLib.prefixMap(g);
-            String base = null;
-            w.write(out, g, pm, base, jenaContext) ;
+            RDFWriter.create().source(m).format(f).context(jenaContext).output(out);
             out.flush();
             return out.toString("UTF-8");
         } catch (IOException e) { throw new RuntimeException(e); }