Repository: jena
Updated Branches:
  refs/heads/hadoop-rdf 0c14b2018 -> 3ccab77c7


Add dynamic selection of boolean result writers


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

Branch: refs/heads/hadoop-rdf
Commit: 2746da8ee2efcdae33229f4141fb5996f61ba0e6
Parents: 4554915
Author: Rob Vesse <rve...@apache.org>
Authored: Mon Nov 10 16:49:58 2014 +0000
Committer: Rob Vesse <rve...@apache.org>
Committed: Mon Nov 10 16:49:58 2014 +0000

----------------------------------------------------------------------
 .../java/org/apache/jena/riot/ResultSetMgr.java | 16 +++++++--
 .../jena/riot/resultset/ResultSetWriter.java    |  5 +++
 .../riot/resultset/ResultSetWriterRegistry.java | 36 ++++++++++++++++----
 3 files changed, 49 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/2746da8e/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java 
b/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java
index 0a18e0c..0d163a7 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java
@@ -61,7 +61,7 @@ public class ResultSetMgr {
         return read(uri, null) ;
     }
     
-    /** Read a result set from the URI, in the speficied syntax */ 
+    /** Read a result set from the URI, in the specified syntax */ 
     public static ResultSet read(String uri, Lang lang) {
         return parse(uri, lang, null) ;
     }
@@ -151,7 +151,7 @@ public class ResultSetMgr {
     
     // -------------------------------
 
-    /** Write a SPARQL result set to the output stream in the speciifcied 
language/syntax.
+    /** Write a SPARQL result set to the output stream in the specified 
language/syntax.
      * @param out
      * @param resultSet
      * @param lang
@@ -163,6 +163,18 @@ public class ResultSetMgr {
         f.create(lang).write(out, resultSet, null) ;
     }
     
+    /** Write a SPARQL boolean result to the output stream in the specified 
language/syntax.
+     * @param out
+     * @param resultSet
+     * @param lang
+     */
+    public static void write(OutputStream out, boolean result, Lang lang) {
+        ResultSetWriterFactory f = ResultSetWriterRegistry.lookup(lang) ;
+        if ( f == null )
+            throw new RiotException("No resultSet writer for "+lang) ;
+        f.create(lang).write(out, result, null) ;
+    }
+    
 //    /** Write a SPARQL result set to the {@link java.io.Writer} in the 
speciifcied language/syntax.
 //     * Using {@link OutputStream}s is better because the charcater encoding 
will match the
 //     * requirements of the language.   

http://git-wip-us.apache.org/repos/asf/jena/blob/2746da8e/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriter.java
----------------------------------------------------------------------
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriter.java 
b/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriter.java
index a52091c..bb1d5fa 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriter.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriter.java
@@ -33,5 +33,10 @@ public interface ResultSetWriter {
      * Write the ResultSet to the Writer
      */
     public void write(Writer out, ResultSet resultSet, Context context) ;
+    
+    /**
+     * Write a boolean result to the output stream
+     */
+    public void write(OutputStream out, boolean result, Context context);
 }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/2746da8e/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriterRegistry.java
----------------------------------------------------------------------
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriterRegistry.java
 
b/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriterRegistry.java
index 5f6b742..ca3204c 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriterRegistry.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetWriterRegistry.java
@@ -88,7 +88,11 @@ public class ResultSetWriterRegistry {
             XMLOutput xOut = new XMLOutput(null) ;
             xOut.format(out, resultSet) ;
         }
-        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; } 
+        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; }
+        @Override public void write(OutputStream out, boolean result, Context 
context) {
+            XMLOutput xOut = new XMLOutput(null);
+            xOut.format(out, result);
+        }
     } ;
 
     private static ResultSetWriter writerJSON = new ResultSetWriter() {
@@ -96,7 +100,11 @@ public class ResultSetWriterRegistry {
             JSONOutput jOut = new JSONOutput() ;
             jOut.format(out, resultSet) ; 
         }
-        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; } 
+        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; }
+        @Override public void write(OutputStream out, boolean result, Context 
context) {
+            JSONOutput jOut = new JSONOutput() ;
+            jOut.format(out, result) ; 
+        }
     } ;
     
     private static ResultSetWriter writerCSV = new ResultSetWriter() {
@@ -104,7 +112,11 @@ public class ResultSetWriterRegistry {
             CSVOutput fmt = new CSVOutput() ;
             fmt.format(out, resultSet) ;
         }
-        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; } 
+        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; }
+        @Override public void write(OutputStream out, boolean result, Context 
context) {
+            CSVOutput fmt = new CSVOutput() ;
+            fmt.format(out, result) ;
+        }
     } ;
 
     private static ResultSetWriter writerTSV = new ResultSetWriter() {
@@ -112,12 +124,17 @@ public class ResultSetWriterRegistry {
             TSVOutput fmt = new TSVOutput() ;
             fmt.format(out, resultSet) ;
         }
-        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; } 
+        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; }
+        @Override public void write(OutputStream out, boolean result, Context 
context) {
+            TSVOutput fmt = new TSVOutput() ;
+            fmt.format(out, result) ;
+        }
     } ;
 
     private static ResultSetWriter writerNo = new ResultSetWriter() {
         @Override public void write(OutputStream out, ResultSet resultSet, 
Context context) {}
         @Override public void write(Writer out, ResultSet resultSet, Context 
context)       {}
+        @Override public void write(OutputStream out, boolean result, Context 
context) {}
     } ;
 
     private static ResultSetWriter writerText = new ResultSetWriter() {
@@ -126,7 +143,12 @@ public class ResultSetWriterRegistry {
             TextOutput tFmt = new TextOutput(new 
SerializationContext((Prologue)null)) ;
             tFmt.format(out, resultSet) ; 
         }
-        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; } 
+        @Override public void write(Writer out, ResultSet resultSet, Context 
context) {throw new NotImplemented("Writer") ; }
+        @Override public void write(OutputStream out, boolean result, Context 
context) {
+            // Prefix mapp
+            TextOutput tFmt = new TextOutput(new 
SerializationContext((Prologue)null)) ;
+            tFmt.format(out, result) ; 
+        }
     } ;
     
     private static class ResultSetWriterFactoryStd implements 
ResultSetWriterFactory {
@@ -153,8 +175,10 @@ public class ResultSetWriterRegistry {
                 @Override
                 public void write(Writer out, ResultSet resultSet, Context 
context) {
                     throw new NotImplemented("Writing binary data to a 
java.io.Writer is not possible") ;
-
                 }
+                @Override
+                public void write(OutputStream out, boolean result, Context 
context)
+                { throw new NotImplemented("No Thrift RDF encoding defined for 
boolean results"); }
             } ;
         }
     }

Reply via email to