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"); } } ; } }