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 2015/08/20 19:03:35 UTC
[1/3] jena git commit: Add missing operation. Order in file
systematically.
Repository: jena
Updated Branches:
refs/heads/master 880ab7c9e -> d8fb3175a
Add missing operation. Order in file systematically.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/fdd77f9b
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/fdd77f9b
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/fdd77f9b
Branch: refs/heads/master
Commit: fdd77f9b59ee72a56b8a21e44632c0a9ca7e6d61
Parents: 880ab7c
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Aug 20 16:14:32 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Aug 20 16:14:32 2015 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/riot/RDFDataMgr.java | 30 +++++++++++++-------
1 file changed, 20 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/fdd77f9b/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
----------------------------------------------------------------------
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 3a511f8..d9c4823 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
@@ -640,6 +640,16 @@ public class RDFDataMgr
* @param uri URI to read from (includes file: and a plain file name).
* @param base Base URI (defaults to uri).
* @param hintLang Hint for the syntax
+ */
+ public static void parse(StreamRDF sink, String uri, String base, Lang hintLang) {
+ parse(sink, uri, uri, hintLang, null) ;
+ }
+
+ /** Read RDF data.
+ * @param sink Destination for the RDF read.
+ * @param uri URI to read from (includes file: and a plain file name).
+ * @param base Base URI (defaults to uri).
+ * @param hintLang Hint for the syntax
* @param context Content object to control reading process.
*/
public static void parse(StreamRDF sink, String uri, String base, Lang hintLang, Context context) {
@@ -677,13 +687,13 @@ public class RDFDataMgr
/** Read RDF data.
* @param sink Destination for the RDF read.
- * @param in StringReader
+ * @param in Bytes to read.
* @param base Base URI (defaults to uri).
* @param hintLang Hint for the syntax
* @param context Content object to control reading process.
*/
- public static void parse(StreamRDF sink, StringReader in, String base, Lang hintLang, Context context) {
- process(sink, in, base, hintLang, context) ;
+ public static void parse(StreamRDF sink, InputStream in, String base, Lang hintLang, Context context) {
+ process(sink, new TypedInputStream(in), base, hintLang, context) ;
}
/** Read RDF data.
@@ -707,14 +717,12 @@ public class RDFDataMgr
/** Read RDF data.
* @param sink Destination for the RDF read.
- * @param in Reader
+ * @param in StringReader
* @param base Base URI (defaults to uri).
* @param hintLang Hint for the syntax
* @param context Content object to control reading process.
- * @deprecated Use an InputStream or a StringReader.
*/
- @Deprecated
- public static void parse(StreamRDF sink, Reader in, String base, Lang hintLang, Context context) {
+ public static void parse(StreamRDF sink, StringReader in, String base, Lang hintLang, Context context) {
process(sink, in, base, hintLang, context) ;
}
@@ -743,13 +751,15 @@ public class RDFDataMgr
/** Read RDF data.
* @param sink Destination for the RDF read.
- * @param in Bytes to read.
+ * @param in Reader
* @param base Base URI (defaults to uri).
* @param hintLang Hint for the syntax
* @param context Content object to control reading process.
+ * @deprecated Use an InputStream or a StringReader.
*/
- public static void parse(StreamRDF sink, InputStream in, String base, Lang hintLang, Context context) {
- process(sink, new TypedInputStream(in), base, hintLang, context) ;
+ @Deprecated
+ public static void parse(StreamRDF sink, Reader in, String base, Lang hintLang, Context context) {
+ process(sink, in, base, hintLang, context) ;
}
/** Read RDF data.
Re: [1/3] jena git commit: Add missing operation. Order in file systematically.
Posted by Andy Seaborne <an...@apache.org>.
On 20/08/15 18:33, Rob Vesse wrote:
> This looks slightly odd:
>
> On 20/08/2015 10:03, "andy@apache.org" <an...@apache.org> wrote:
>
>> + */
>> + public static void parse(StreamRDF sink, String uri, String base,
>> Lang hintLang) {
>> + parse(sink, uri, uri, hintLang, null) ;
>> + }
>
> Shouldn't base be passed through as well instead of passing through uri
> twice?
>
> Rob
Yes! - autocomplete and rushing => disaster.
Thanks for spotting that
Andy
>
>
>
>
Re: [1/3] jena git commit: Add missing operation. Order in file
systematically.
Posted by Rob Vesse <rv...@dotnetrdf.org>.
This looks slightly odd:
On 20/08/2015 10:03, "andy@apache.org" <an...@apache.org> wrote:
>+ */
>+ public static void parse(StreamRDF sink, String uri, String base,
>Lang hintLang) {
>+ parse(sink, uri, uri, hintLang, null) ;
>+ }
Shouldn't base be passed through as well instead of passing through uri
twice?
Rob
[3/3] jena git commit: JENA-1012 clean tests ; DRY code;
prefer use of RDFDataMgr.
Posted by an...@apache.org.
JENA-1012 clean tests ; DRY code; prefer use of RDFDataMgr.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d8fb3175
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d8fb3175
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d8fb3175
Branch: refs/heads/master
Commit: d8fb3175a20c518eef372b8c881b6526977d8bc0
Parents: 85b9243
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Aug 20 17:55:46 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Aug 20 17:56:40 2015 +0100
----------------------------------------------------------------------
.../jena/riot/lang/ParserTestBaseLib.java | 76 +++++
.../apache/jena/riot/lang/TestLangNQuads.java | 78 ++----
.../apache/jena/riot/lang/TestLangNTriples.java | 130 ++++-----
.../apache/jena/riot/lang/TestLangNTuples.java | 73 +++--
.../apache/jena/riot/lang/TestLangRdfJson.java | 280 ++++++++-----------
.../org/apache/jena/riot/lang/TestLangTrig.java | 24 +-
.../apache/jena/riot/lang/TestLangTurtle.java | 37 +--
.../jena/riot/lang/TestParserFactory.java | 32 ++-
.../jena/riot/lang/TestReaderNTriples.java | 24 --
.../apache/jena/riot/lang/TestTurtleTerms.java | 3 +-
10 files changed, 354 insertions(+), 403 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/ParserTestBaseLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/ParserTestBaseLib.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/ParserTestBaseLib.java
new file mode 100644
index 0000000..c31c16d
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/ParserTestBaseLib.java
@@ -0,0 +1,76 @@
+/**
+ * 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 org.apache.jena.riot.lang;
+
+import java.io.StringReader ;
+
+import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.riot.ReaderRIOT ;
+import org.apache.jena.riot.system.ParserProfile ;
+import org.apache.jena.riot.system.RiotLib ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.riot.system.StreamRDFLib ;
+import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.DatasetGraphFactory ;
+import org.apache.jena.sparql.graph.GraphFactory ;
+
+/** Helper code for RIOT language parsing tests */
+class ParserTestBaseLib {
+
+ /** Parse for a language - convert errors.wranigns to ErrorHandlerEx */
+ static Graph parseGraph(Lang lang, String ...strings) {
+ Graph graph = GraphFactory.createDefaultGraph() ;
+ StreamRDF dest = StreamRDFLib.graph(graph) ;
+ parse(lang, dest, strings) ;
+ return graph ;
+ }
+
+ /** Parse for a language - convert errors.wranigns to ErrorHandlerEx */
+ static DatasetGraph parseDataset(Lang lang, String ...strings) {
+ DatasetGraph dsg = DatasetGraphFactory.createMem() ;
+ StreamRDF dest = StreamRDFLib.dataset(dsg) ;
+ parse(lang, dest, strings) ;
+ return dsg ;
+ }
+
+ /** Parse strings to destination (chekcing on, URI resolution off) */
+ static void parse(Lang lang, StreamRDF dest, String... strings) {
+ String string = StrUtils.strjoin("\n", strings) ;
+ StringReader reader = new StringReader(string) ;
+ String baseIRI = "http://base/" ;
+ ReaderRIOT r = RDFDataMgr.createReader(lang) ;
+ //ParserProfile profile = RiotLib.profile(lang, baseIRI, new ErrorHandlerEx());
+ ParserProfile profile = RiotLib.profile(baseIRI, false, true, new ErrorHandlerEx());
+ r.setParserProfile(profile) ;
+ r.setErrorHandler(new ErrorHandlerEx()); // WHY?
+ r.read(reader, baseIRI, null, dest, null);
+ }
+
+ /** Parse for a language - convert errors.wranigns to ErrorHandlerEx */
+ static long parseCount(Lang lang, String ...strings) {
+ StreamRDFCounting dest = StreamRDFLib.count() ;
+ parse(lang, dest, strings) ;
+ return dest.count() ;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java
index dff0392..1c6e721 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java
@@ -20,75 +20,49 @@ package org.apache.jena.riot.lang;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ;
-import org.apache.jena.riot.RiotReader ;
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.riot.system.StreamRDFLib ;
-import org.apache.jena.riot.tokens.Tokenizer ;
+import org.apache.jena.riot.Lang ;
import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.DatasetGraphFactory ;
import org.junit.Test ;
/** Test of syntax by a quads parser (does not include node validitiy checking) */
public class TestLangNQuads extends TestLangNTuples
{
-
- @Test
- public void quad_1()
- {
- parseCount("<x> <p> <s> <g> .") ;
- }
-
- @Test(expected=ExFatal.class)
- public void quad_2()
- {
- parseCount("<x> <p> <s> <g>") ; // No trailing DOT
+ @Override
+ protected Lang getLang() {
+ return Lang.NQUADS ;
}
-
- @Test(expected=ExFatal.class)
- public void nq_only_1()
- {
- parseCount("<x> <p> <s> <g> <c> .") ;
+ @Test
+ public void quad_1() {
+ parseCount("<x> <p> <s> <g> .");
}
- @Test(expected=ExFatal.class)
- public void nq_only_2()
- {
- parseCount("@base <http://example/> . <x> <p> <s> .") ;
+ @Test(expected = ExFatal.class)
+ public void quad_2() {
+ parseCount("<x> <p> <s> <g>"); // No trailing DOT
}
-
- @Test
- public void dataset_1()
- {
- // This must parse to <g>
- DatasetGraph dsg = parseToDataset("<x> <p> <s> <g> .") ;
- assertEquals(1,dsg.size()) ;
- assertEquals(1, dsg.getGraph(NodeFactory.createURI("g")).size()) ;
- assertEquals(0, dsg.getDefaultGraph().size()) ;
+ @Test(expected = ExFatal.class)
+ public void nq_only_1() {
+ parseCount("<x> <p> <s> <g> <c> .");
}
- @Override
- protected long parseCount(String... strings)
- {
- StreamRDFCounting sink = StreamRDFLib.count() ;
- parse(sink, strings) ;
- return sink.count() ;
+ @Test(expected = ExFatal.class)
+ public void nq_only_2() {
+ parseCount("@base <http://example/> . <x> <p> <s> .");
}
-
- private DatasetGraph parseToDataset(String string)
- {
- DatasetGraph dsg = DatasetGraphFactory.createMem() ;
- StreamRDF dest = StreamRDFLib.dataset(dsg) ;
- parse(dest, string) ;
- return dsg ;
+
+ @Test
+ public void dataset_1() {
+ // This must parse to <g>
+ DatasetGraph dsg = parseToDataset("<x> <p> <s> <g> .");
+ assertEquals(1, dsg.size());
+ assertEquals(1, dsg.getGraph(NodeFactory.createURI("g")).size());
+ assertEquals(0, dsg.getDefaultGraph().size());
}
- @Override
- protected LangRIOT createParser(Tokenizer tokenizer, StreamRDF sink)
- {
- return RiotReader.createParserNQuads(tokenizer, sink) ;
+ private DatasetGraph parseToDataset(String string) {
+ return ParserTestBaseLib.parseDataset(Lang.NQUADS, string);
}
-
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java
index feb5fa1..55b9bd6 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java
@@ -24,14 +24,10 @@ import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.rdf.model.Model ;
import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.riot.RDFLanguages ;
-import org.apache.jena.riot.RDFDataMgr ;
-import org.apache.jena.riot.RiotException;
-import org.apache.jena.riot.RiotReader ;
+import org.apache.jena.riot.* ;
import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ;
import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ;
import org.apache.jena.riot.out.CharSpace;
-import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.sparql.sse.SSE ;
@@ -42,87 +38,79 @@ import org.junit.Test ;
public class TestLangNTriples extends TestLangNTuples
{
// Test streaming interface.
-
- @Test public void nt_reader_twice()
- {
- String s = "_:a <p> 'foo' . " ;
- StringReader r = new StringReader(s) ;
- Model m = ModelFactory.createDefaultModel() ;
-
- RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES) ;
- assertEquals(1, m.size()) ;
-
- String x = m.listStatements().next().getSubject().getId().getLabelString() ;
- assertNotEquals(x, "a") ;
-
- // reset - reread - new bNode.
- r = new StringReader(s) ;
- RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES) ;
- assertEquals(2, m.size()) ;
+
+ @Override
+ protected Lang getLang() {
+ return Lang.NTRIPLES ;
}
@Test
- public void nt_model_1()
- {
- Model m1 = parseToModel("<x> <p> \"abc-\\u00E9\". ") ;
- assertEquals(1, m1.size()) ;
- Model m2 = parseToModel("<x> <p> \"abc-\\u00E9\". ") ;
- assertTrue(m1.isIsomorphicWith(m2)) ;
- Graph g1 = SSE.parseGraph("(graph (triple <x> <p> \"abc-é\"))") ;
- assertTrue(g1.isIsomorphicWith(m1.getGraph())) ;
+ public void nt_reader_twice() {
+ String s = "_:a <p> 'foo' . ";
+ StringReader r = new StringReader(s);
+ Model m = ModelFactory.createDefaultModel();
+
+ RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES);
+ assertEquals(1, m.size());
+
+ String x = m.listStatements().next().getSubject().getId().getLabelString();
+ assertNotEquals(x, "a");
+
+ // reset - reread - new bNode.
+ r = new StringReader(s);
+ RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES);
+ assertEquals(2, m.size());
}
- @Test(expected=ExFatal.class)
- public void nt_only_1()
- {
- parseCount("<x> <p> <s> <g> .") ;
+ @Test
+ public void nt_model_1() {
+ Model m1 = parseToModel("<x> <p> \"abc-\\u00E9\". ");
+ assertEquals(1, m1.size());
+ Model m2 = parseToModel("<x> <p> \"abc-\\u00E9\". ");
+ assertTrue(m1.isIsomorphicWith(m2));
+ Graph g1 = SSE.parseGraph("(graph (triple <x> <p> \"abc-é\"))");
+ assertTrue(g1.isIsomorphicWith(m1.getGraph()));
}
- @Test(expected=ExFatal.class)
- public void nt_only_2()
- {
- parseCount("@base <http://example/> . <x> <p> <s> .") ;
+ @Test(expected = ExFatal.class)
+ public void nt_only_1() {
+ parseCount("<x> <p> <s> <g> .");
}
- @Test
- public void nt_only_5()
- {
- parseCount("<x> <p> \"é\" .") ;
+ @Test(expected = ExFatal.class)
+ public void nt_only_2() {
+ parseCount("@base <http://example/> . <x> <p> <s> .");
}
-
- @Test(expected = RiotException.class)
- public void nt_only_5b()
- {
- parseCount(CharSpace.ASCII, "<x> <p> \"é\" .") ;
+
+ @Test
+ public void nt_only_5() {
+ parseCount("<x> <p> \"é\" .");
}
-
+
@Override
protected long parseCount(String... strings) {
- return parseCount(CharSpace.UTF8, strings);
+ return ParserTestBaseLib.parseCount(Lang.NTRIPLES, strings) ;
+ }
+
+ @Test(expected = RiotException.class)
+ public void nt_only_5b() {
+ parseCount(CharSpace.ASCII, "<x> <p> \"é\" .");
}
-
- private long parseCount(CharSpace charSpace, String... strings)
- {
- String string = StrUtils.strjoin("\n", strings) ;
- Tokenizer tokenizer = tokenizer(charSpace, string) ;
- StreamRDFCounting sink = StreamRDFLib.count() ;
- LangNTriples x = RiotReader.createParserNTriples(tokenizer, sink) ;
- x.getProfile().setHandler(new ErrorHandlerEx()) ;
- x.parse() ;
- return sink.count() ;
+
+ private long parseCount(CharSpace charSpace, String... strings) {
+ String string = StrUtils.strjoin("\n", strings);
+ Tokenizer tokenizer = tokenizer(charSpace, string);
+ StreamRDFCounting sink = StreamRDFLib.count();
+ LangNTriples x = RiotParsers.createParserNTriples(tokenizer, sink);
+ x.getProfile().setHandler(new ErrorHandlerEx());
+ x.parse();
+ return sink.count();
}
- @Override
- protected LangRIOT createParser(Tokenizer tokenizer, StreamRDF sink)
- {
- return RiotReader.createParserNTriples(tokenizer, sink) ;
- }
-
- protected Model parseToModel(String string)
- {
- StringReader r = new StringReader(string) ;
- Model model = ModelFactory.createDefaultModel() ;
- RDFDataMgr.read(model, r, null, RDFLanguages.NTRIPLES) ;
- return model ;
+ protected Model parseToModel(String string) {
+ StringReader r = new StringReader(string);
+ Model model = ModelFactory.createDefaultModel();
+ RDFDataMgr.read(model, r, null, RDFLanguages.NTRIPLES);
+ return model;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java
index a401195..d75987c 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java
@@ -26,20 +26,36 @@ import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx;
import org.apache.jena.riot.ErrorHandlerTestLib.ExError;
import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal;
import org.apache.jena.riot.ErrorHandlerTestLib.ExWarning;
-import org.apache.jena.riot.* ;
+import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.out.CharSpace;
+import org.apache.jena.riot.system.ErrorHandler ;
import org.apache.jena.riot.system.RiotLib ;
-import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.riot.tokens.TokenizerFactory ;
+import org.junit.AfterClass ;
+import org.junit.BeforeClass ;
import org.junit.Test ;
-
+import static org.apache.jena.riot.system.ErrorHandlerFactory.errorHandlerNoLogging ;
+import static org.apache.jena.riot.system.ErrorHandlerFactory.getDefaultErrorHandler ;
+import static org.apache.jena.riot.system.ErrorHandlerFactory.setDefaultErrorHandler ;
/** Test of syntax by a tuples parser (does not include node validitiy checking) */
abstract public class TestLangNTuples extends BaseTest
{
// Test streaming interface.
+
+ private static ErrorHandler errorhandler = null ;
+ @BeforeClass public static void beforeClass()
+ {
+ errorhandler = getDefaultErrorHandler() ;
+ setDefaultErrorHandler(errorHandlerNoLogging) ;
+ }
+
+ @AfterClass public static void afterClass()
+ {
+ setDefaultErrorHandler(errorhandler) ;
+ }
@Test public void tuple_0()
{
@@ -162,7 +178,7 @@ abstract public class TestLangNTuples extends BaseTest
Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(in) : TokenizerFactory.makeTokenizerUTF8(in) ;
return tokenizer ;
}
-
+//
static protected Tokenizer tokenizer(String string)
{
// UTF-8
@@ -171,28 +187,47 @@ abstract public class TestLangNTuples extends BaseTest
Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(in) ;
return tokenizer ;
}
-
- protected void parse(StreamRDF sink, String... strings )
- {
- String string = StrUtils.strjoin("\n", strings) ;
- Tokenizer tokenizer = tokenizer(string) ;
- LangRIOT parser = createParser(tokenizer(string), sink) ;
- parser.getProfile().setHandler(new ErrorHandlerEx()) ;
- parser.parse() ;
- }
-
- protected abstract LangRIOT createParser(Tokenizer tokenizer, StreamRDF sink) ;
-
+//
+// protected void parse(StreamRDF sink, String... strings ) {
+// ParserTestBaseLib.parse(getLang(), sink, strings);
+// }
+//
+// protected void parseASCII(StreamRDF sink, String string) {
+// Tokenizer tokenizer = tokenizer(CharSpace.ASCII, string) ;
+// LangRIOT parser = RiotParsers.createParserNTriples(tokenizer, sink) ;
+// parser.getProfile().setHandler(new ErrorHandlerEx()) ;
+// parser.parse() ;
+// }
+//
+//
+// {
+// String string = StrUtils.strjoin("\n", strings) ;
+// Tokenizer tokenizer = tokenizer(string) ;
+// LangRIOT parser = createParser(tokenizer(string), sink) ;
+// parser.getProfile().setHandler(new ErrorHandlerEx()) ;
+// parser.parse() ;
+// }
+//
+//// protected abstract LangRIOT createParser(Tokenizer tokenizer, StreamRDF sink) ;
+//
final protected void parseCheck(String... strings)
{
String string = StrUtils.strjoin("\n", strings) ;
Tokenizer tokenizer = tokenizer(string) ;
StreamRDFCounting sink = StreamRDFLib.count() ;
- LangRIOT x = RiotReader.createParserNQuads(tokenizer, sink) ;
+ LangRIOT x = RiotParsers.createParserNQuads(tokenizer, sink) ;
x.setProfile(RiotLib.profile(null, false, true, new ErrorHandlerEx())) ;
x.parse() ;
}
-
+//
+ protected abstract Lang getLang() ;
+
+ protected long parseCount(String... strings) {
+ return ParserTestBaseLib.parseCount(getLang(), strings) ;
+ }
- protected abstract long parseCount(String... strings) ;
+// protected void parseCheck(String... strings) {
+// ParserTestBaseLib.parseCount(getLang(), strings) ;
+// }
+
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java
index 91a0202..d0a47b6 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java
@@ -21,15 +21,13 @@ package org.apache.jena.riot.lang;
import java.io.ByteArrayInputStream ;
import java.io.StringReader ;
-import org.apache.jena.atlas.io.PeekReader ;
-import org.apache.jena.atlas.json.io.parser.TokenizerJSON ;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.graph.Graph ;
import org.apache.jena.rdf.model.Model ;
import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ;
-import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ;
import org.apache.jena.riot.* ;
+import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ;
import org.apache.jena.riot.system.StreamRDFLib ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.riot.tokens.TokenizerFactory ;
@@ -337,199 +335,143 @@ public class TestLangRdfJson extends BaseTest
assertTrue(m.isIsomorphicWith(m2)) ;
}
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_empty_string()
- {
- String s = "";
-
- parseCount(s) ;
- }
-
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_unterminated_graph()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } " ;
-
- parseCount(s) ;
- }
-
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_missing_colon_after_subject()
- {
- String s = "{ \"http://example.org/subject\" { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }" ;
-
- parseCount(s) ;
- }
-
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_missing_colon_after_predicate()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }" ;
-
- parseCount(s) ;
- }
-
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_missing_colon_in_object()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" \"uri\" , \"value\" : \"http://example.org/object\" } ] } }" ;
-
- parseCount(s) ;
- }
-
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_unterminated_predicateobjectlist_object()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ]" ;
-
- parseCount(s) ;
- }
-
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_unterminated_objectlist_array()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } } }" ;
-
- parseCount(s) ;
- }
-
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_unterminated_object_object()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\"" ;
-
- parseCount(s) ;
- }
-
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_trailing_comma_in_object()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" , } ] } }" ;
-
- parseCount(s) ;
- }
-
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_trailing_comma_after_subject()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } , }" ;
-
- parseCount(s) ;
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_empty_string() {
+ String s = "";
+ parseCount(s);
+ }
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_trailing_comma_after_predicate()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] , } }" ;
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_unterminated_graph() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } ";
+ parseCount(s);
+ }
- parseCount(s) ;
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_missing_colon_after_subject() {
+ String s = "{ \"http://example.org/subject\" { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }";
+ parseCount(s);
+ }
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_property_names_in_object()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"name\" : \"value\" } ] } }" ;
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_missing_colon_after_predicate() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }";
+ parseCount(s);
+ }
- parseCount(s) ;
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_missing_colon_in_object() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" \"uri\" , \"value\" : \"http://example.org/object\" } ] } }";
+ parseCount(s);
+ }
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_lang_and_datatype_in_object()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"literal\" , \"value\" : \"some text\" , \"lang\" : \"en\" , \"datatype\" : \"http://example.org/datatype\" } ] } }" ;
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_unterminated_predicateobjectlist_object() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ]";
+ parseCount(s);
+ }
- parseCount(s) ;
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_unterminated_objectlist_array() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } } }";
+ parseCount(s);
+ }
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_lang_and_datatype_in_object2()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"literal\" , \"value\" : \"some text\" , \"datatype\" : \"http://example.org/datatype\" , \"lang\" : \"en\" } ] } }" ;
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_unterminated_object_object() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\"";
+ parseCount(s);
+ }
- parseCount(s) ;
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_trailing_comma_in_object() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" , } ] } }";
+ parseCount(s);
+ }
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_repeated_property_type_in_object()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }" ;
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_trailing_comma_after_subject() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } , }";
+ parseCount(s);
+ }
- parseCount(s) ;
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_trailing_comma_after_predicate() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] , } }";
+ parseCount(s);
+ }
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_repeated_property_value_in_object()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" , \"value\" : \"http://example.org/object\" } ] } }" ;
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_property_names_in_object() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"name\" : \"value\" } ] } }";
+ parseCount(s);
+ }
- parseCount(s) ;
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_lang_and_datatype_in_object() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"literal\" , \"value\" : \"some text\" , \"lang\" : \"en\" , \"datatype\" : \"http://example.org/datatype\" } ] } }";
+ parseCount(s);
+ }
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_value_type_in_object()
- {
- String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"other\" , \"value\" : \"http://example.org/object\" } ] } }" ;
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_lang_and_datatype_in_object2() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"literal\" , \"value\" : \"some text\" , \"datatype\" : \"http://example.org/datatype\" , \"lang\" : \"en\" } ] } }";
+ parseCount(s);
+ }
- parseCount(s) ;
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_repeated_property_type_in_object() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }";
+ parseCount(s);
+ }
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_array_toplevel()
- {
- String s = "[]" ;
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_repeated_property_value_in_object() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" , \"value\" : \"http://example.org/object\" } ] } }";
+ parseCount(s);
+ }
- parseCount(s) ;
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_value_type_in_object() {
+ String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"other\" , \"value\" : \"http://example.org/object\" } ] } }";
+ parseCount(s);
+ }
- @Test(expected=ExFatal.class)
- public void rdfjson_invalid_trailing_content()
- {
- String s = "{}{}" ;
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_array_toplevel() {
+ String s = "[]";
+ parseCount(s);
+ }
- parseCount(s);
- }
+ @Test(expected = ExFatal.class)
+ public void rdfjson_invalid_trailing_content() {
+ String s = "{}{}";
+ parseCount(s);
+ }
@Test(expected=IllegalArgumentException.class)
- public void rdfjson_invalid_tokenizer()
- {
+ public void rdfjson_invalid_tokenizer() {
byte b[] = StrUtils.asUTF8bytes("") ;
ByteArrayInputStream in = new ByteArrayInputStream(b);
Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(in) ;
StreamRDFCounting sink = StreamRDFLib.count() ;
- LangRDFJSON parser = RiotReader.createParserRdfJson(tokenizer, sink) ;
+ LangRDFJSON parser = RiotParsers.createParserRdfJson(tokenizer, sink) ;
}
- private long parseCount(String string)
- {
- Tokenizer tokenizer = tokenizer(string) ;
- StreamRDFCounting sink = StreamRDFLib.count() ;
- LangRDFJSON x = RiotReader.createParserRdfJson(tokenizer, sink) ;
- x.getProfile().setHandler(new ErrorHandlerEx()) ;
- x.parse() ;
- return sink.count() ;
+ private long parseCount(String string) {
+ return ParserTestBaseLib.parseCount(Lang.RDFJSON, string) ;
}
-
- private Model parseToModelNTriples(String string)
- {
- StringReader r = new StringReader(string) ;
- Model model = ModelFactory.createDefaultModel() ;
- RDFDataMgr.read(model, r, null, RDFLanguages.NTRIPLES) ;
- return model ;
- }
-
- private Model parseToModelRdfJson(String string)
- {
- StringReader r = new StringReader(string) ;
- Model model = ModelFactory.createDefaultModel() ;
- RDFDataMgr.read(model, r, null, RDFLanguages.RDFJSON) ;
- return model ;
+
+ private Model parseToModelNTriples(String string) {
+ StringReader r = new StringReader(string);
+ Model model = ModelFactory.createDefaultModel();
+ RDFDataMgr.read(model, r, null, RDFLanguages.NTRIPLES);
+ return model;
}
- private Tokenizer tokenizer(String str)
- {
- byte b[] = StrUtils.asUTF8bytes(str) ;
- ByteArrayInputStream in = new ByteArrayInputStream(b) ;
- Tokenizer tokenizer = new TokenizerJSON(PeekReader.makeUTF8(in)) ;
- return tokenizer ;
+ private Model parseToModelRdfJson(String string) {
+ Graph g = ParserTestBaseLib.parseGraph(RDFLanguages.RDFJSON, string);
+ Model model = ModelFactory.createModelForGraph(g);
+ return model;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java
index bb04e29..87de918 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java
@@ -19,18 +19,12 @@
package org.apache.jena.riot.lang;
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.graph.Triple ;
-import org.apache.jena.riot.* ;
-import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ;
+import org.apache.jena.riot.ErrorHandlerTestLib ;
import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ;
import org.apache.jena.riot.ErrorHandlerTestLib.ExWarning ;
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.riot.system.StreamRDFLib ;
-import org.apache.jena.riot.tokens.Tokenizer ;
-import org.apache.jena.riot.tokens.TokenizerFactory ;
+import org.apache.jena.riot.Lang ;
import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.DatasetGraphFactory ;
import org.apache.jena.sparql.sse.SSE ;
import org.junit.Test ;
@@ -84,18 +78,8 @@ public class TestLangTrig extends BaseTest
@Test (expected=ExWarning.class)
public void trig_23() { parse("@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .", "{ <x> <p> 'number'^^xsd:byte }") ; }
- //Check reading into a dataset.
-
- private static DatasetGraph parse(String... strings)
- {
- String string = StrUtils.strjoin("\n", strings) ;
- DatasetGraph dsg = DatasetGraphFactory.createMem() ;
- StreamRDF sink = StreamRDFLib.dataset(dsg) ;
- Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(string) ;
- LangTriG parser = RiotReader.createParserTriG(tokenizer, "http://base/", sink) ;
- parser.getProfile().setHandler(new ErrorHandlerEx()) ;
- parser.parse();
- return dsg ;
+ private static DatasetGraph parse(String... strings) {
+ return ParserTestBaseLib.parseDataset(Lang.TRIG, strings) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java
index be1bdc0..18a9319 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java
@@ -25,23 +25,19 @@ import static org.apache.jena.riot.system.ErrorHandlerFactory.setDefaultErrorHan
import java.io.StringReader ;
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.rdf.model.Model ;
import org.apache.jena.rdf.model.ModelFactory ;
import org.apache.jena.rdf.model.Property ;
import org.apache.jena.rdf.model.Resource ;
-import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ;
import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ;
import org.apache.jena.riot.ErrorHandlerTestLib.ExWarning ;
-import org.apache.jena.riot.* ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.riot.RDFLanguages ;
+import org.apache.jena.riot.RiotException ;
import org.apache.jena.riot.system.ErrorHandler ;
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.riot.system.StreamRDFLib ;
-import org.apache.jena.riot.tokens.Tokenizer ;
-import org.apache.jena.riot.tokens.TokenizerFactory ;
-import org.apache.jena.sparql.graph.GraphFactory ;
import org.apache.jena.sparql.sse.SSE ;
import org.junit.AfterClass ;
import org.junit.BeforeClass ;
@@ -131,19 +127,8 @@ public class TestLangTurtle extends BaseTest
// Call parser directly.
- private static Graph parse(String ...strings)
- {
- String string = StrUtils.strjoin("\n", strings) ;
- StringReader reader = new StringReader(string) ;
- String baseIRI = "http://base/" ;
- Tokenizer tokenizer = TokenizerFactory.makeTokenizer(reader) ;
-
- Graph graph = GraphFactory.createDefaultGraph() ;
- StreamRDF sink = StreamRDFLib.graph(graph) ;
- LangTurtle parser = RiotReader.createParserTurtle(tokenizer, "http://base/", sink) ;
- parser.getProfile().setHandler(new ErrorHandlerEx()) ;
- parser.parse() ;
- return graph ;
+ private static Graph parse(String ...strings) {
+ return ParserTestBaseLib.parseGraph(Lang.TURTLE, strings) ;
}
private static Triple parseOneTriple(String ...strings)
@@ -153,16 +138,6 @@ public class TestLangTurtle extends BaseTest
return graph.find(null, null, null).next();
}
-// private static void parseSilent(String string)
-// {
-// Reader reader = new StringReader(string) ;
-// Tokenizer tokenizer = TokenizerFactory.makeTokenizer(reader) ;
-// String baseIRI = "http://base/" ;
-// LangTurtle parser = RiotReader.createParserTurtle(tokenizer, baseIRI, new SinkNull<Triple>()) ;
-// parser.setProfile(RiotReader.profile(RDFLanguages.Turtle, baseIRI, ErrorHandlerLib.errorHandlerNoLogging)) ;
-// parser.parse() ;
-// }
-
@Test
public void triple() { parse("<s> <p> <o> .") ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java
index 6e0f77b..22503c5 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java
@@ -18,13 +18,15 @@
package org.apache.jena.riot.lang;
+import java.io.StringReader ;
import java.util.ArrayList ;
import java.util.List ;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.graph.Triple ;
-import org.apache.jena.riot.RiotReader ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFDataMgr ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.riot.tokens.TokenizerFactory ;
@@ -64,7 +66,7 @@ public class TestParserFactory extends BaseTest
Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("<x> <p> <q> .") ;
CatchParserOutput sink = new CatchParserOutput() ;
- LangRIOT parser = RiotReader.createParserNTriples(tokenizer, sink) ;
+ LangRIOT parser = RiotParsers.createParserNTriples(tokenizer, sink) ;
parserSetup(parser) ;
parser.parse();
assertEquals(1, sink.startCalled) ;
@@ -78,7 +80,7 @@ public class TestParserFactory extends BaseTest
{
Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("<x> <p> <q> .") ;
CatchParserOutput sink = new CatchParserOutput() ;
- LangRIOT parser = RiotReader.createParserTurtle(tokenizer, "http://base/", sink) ;
+ LangRIOT parser = RiotParsers.createParserTurtle(tokenizer, "http://base/", sink) ;
parserSetup(parser) ;
parser.parse();
assertEquals(1, sink.startCalled) ;
@@ -92,7 +94,7 @@ public class TestParserFactory extends BaseTest
{
Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("<x> <p> <q> <g>.") ;
CatchParserOutput sink = new CatchParserOutput() ;
- LangRIOT parser = RiotReader.createParserNQuads(tokenizer, sink) ;
+ LangRIOT parser = RiotParsers.createParserNQuads(tokenizer, sink) ;
parserSetup(parser) ;
parser.parse();
assertEquals(1, sink.startCalled) ;
@@ -105,11 +107,8 @@ public class TestParserFactory extends BaseTest
@Test public void trig_01()
{
- Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("{ <x> <p> <q> }") ;
- CatchParserOutput sink = new CatchParserOutput() ;
- LangRIOT parser = RiotReader.createParserTriG(tokenizer, "http://base/", sink) ;
- parserSetup(parser) ;
- parser.parse();
+ String s = "{ <x> <p> <q> }" ;
+ CatchParserOutput sink = parseCapture(s) ;
assertEquals(1, sink.startCalled) ;
assertEquals(1, sink.finishCalled) ;
assertEquals(0, sink.triples.size()) ;
@@ -122,20 +121,23 @@ public class TestParserFactory extends BaseTest
@Test public void trig_02()
{
- Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("<g> { <x> <p> <q> }") ;
- CatchParserOutput sink = new CatchParserOutput() ;
- LangRIOT parser = RiotReader.createParserTriG(tokenizer, "http://base/", sink) ;
- parserSetup(parser) ;
- parser.parse();
+ String s = "<g> { <x> <p> <q> }" ;
+ CatchParserOutput sink = parseCapture(s) ;
assertEquals(1, sink.startCalled) ;
assertEquals(1, sink.finishCalled) ;
assertEquals(0, sink.triples.size()) ;
assertEquals(1, sink.quads.size()) ;
-
+
Quad q = SSE.parseQuad("(<http://base/g> <http://base/x> <http://base/p> <http://base/q>)") ;
assertEquals(q, last(sink.quads)) ;
}
+ private CatchParserOutput parseCapture(String s) {
+ CatchParserOutput sink = new CatchParserOutput() ;
+ RDFDataMgr.parse(sink, new StringReader(s), "http://base/", Lang.TRIG) ;
+ return sink ;
+ }
+
private static <T> T last(List<T> list)
{
if ( list.isEmpty() ) return null ;
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestReaderNTriples.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestReaderNTriples.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestReaderNTriples.java
deleted file mode 100644
index 004db22..0000000
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestReaderNTriples.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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 org.apache.jena.riot.lang;
-
-public class TestReaderNTriples
-{
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java
index 3a0f21d..1986495 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java
@@ -19,7 +19,6 @@
package org.apache.jena.riot.lang;
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.riot.RiotReader ;
import org.apache.jena.riot.system.PrefixMap ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
@@ -244,7 +243,7 @@ public class TestTurtleTerms extends BaseTest
Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(testString) ;
StreamRDF sink = StreamRDFLib.sinkNull() ;
- LangTurtle parser = RiotReader.createParserTurtle(tokenizer, "http://base/", sink) ;
+ LangTurtle parser = RiotParsers.createParserTurtle(tokenizer, "http://base/", sink) ;
PrefixMap prefixMap = parser.getProfile().getPrologue().getPrefixMap() ;
prefixMap.add("a", "http://host/a#") ;
[2/3] jena git commit: JENA-1012 : RiotParser class to hide
implementation details.
Posted by an...@apache.org.
JENA-1012 : RiotParser class to hide implementation details.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/85b9243c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/85b9243c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/85b9243c
Branch: refs/heads/master
Commit: 85b9243cbdfae2f1c6dcf148ac242e7c3d768877
Parents: fdd77f9
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Aug 20 17:54:47 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Aug 20 17:56:30 2015 +0100
----------------------------------------------------------------------
.../org/apache/jena/riot/RDFParserRegistry.java | 10 +-
.../java/org/apache/jena/riot/ReaderRIOT.java | 4 +-
.../java/org/apache/jena/riot/RiotReader.java | 218 +-----------------
.../org/apache/jena/riot/lang/RiotParsers.java | 230 +++++++++++++++++++
4 files changed, 251 insertions(+), 211 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/85b9243c/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
index 9ba05c8..e88d14a 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
@@ -31,6 +31,7 @@ import org.apache.jena.atlas.web.ContentType ;
import org.apache.jena.riot.lang.JsonLDReader ;
import org.apache.jena.riot.lang.LangRIOT ;
import org.apache.jena.riot.lang.ReaderTriX ;
+import org.apache.jena.riot.lang.RiotParsers ;
import org.apache.jena.riot.system.ErrorHandler ;
import org.apache.jena.riot.system.ErrorHandlerFactory ;
import org.apache.jena.riot.system.ParserProfile ;
@@ -167,7 +168,7 @@ public class RDFParserRegistry
@Override
public void read(InputStream in, String baseURI, ContentType ct, StreamRDF output, Context context) {
@SuppressWarnings("deprecation")
- LangRIOT parser = RiotReader.createParser(in, lang, baseURI, output) ;
+ LangRIOT parser = RiotParsers.createParser(in, lang, baseURI, output) ;
if ( parserProfile != null )
parser.setProfile(parserProfile);
if ( errorHandler != null )
@@ -178,7 +179,7 @@ public class RDFParserRegistry
@Override
public void read(Reader in, String baseURI, ContentType ct, StreamRDF output, Context context) {
@SuppressWarnings("deprecation")
- LangRIOT parser = RiotReader.createParser(in, lang, baseURI, output) ;
+ LangRIOT parser = RiotParsers.createParser(in, lang, baseURI, output) ;
parser.getProfile().setHandler(errorHandler) ;
parser.parse() ;
}
@@ -187,7 +188,10 @@ public class RDFParserRegistry
@Override public void setErrorHandler(ErrorHandler errorHandler) { this.errorHandler = errorHandler ; }
@Override public ParserProfile getParserProfile() { return parserProfile ; }
- @Override public void setParserProfile(ParserProfile parserProfile) { this.parserProfile = parserProfile ; }
+ @Override public void setParserProfile(ParserProfile parserProfile) {
+ this.parserProfile = parserProfile ;
+ this.errorHandler = parserProfile.getHandler() ;
+ }
}
private static class ReaderRIOTFactoryJSONLD implements ReaderRIOTFactory {
http://git-wip-us.apache.org/repos/asf/jena/blob/85b9243c/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java b/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
index 2179608..a9f3be7 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
@@ -62,8 +62,8 @@ public interface ReaderRIOT
public ErrorHandler getErrorHandler() ;
public void setErrorHandler(ErrorHandler errorHandler) ;
- /** Get the parser profile. Not all parser have parser profiles so this may be null */
+ /** Get the parser profile. Not all parsers have parser profiles so this may be null */
public ParserProfile getParserProfile() ;
- /** Set the parser profile. Not all parser have parser profiles so this may be a no-op */
+ /** Set the parser profile. Not all parsers have parser profiles so this may be a no-op */
public void setParserProfile(ParserProfile profile) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/85b9243c/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java b/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
index 4b7faa1..df7d7e5 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
@@ -18,36 +18,19 @@
package org.apache.jena.riot;
-import static org.apache.jena.riot.RDFLanguages.CSV;
-import static org.apache.jena.riot.RDFLanguages.N3 ;
-import static org.apache.jena.riot.RDFLanguages.NQUADS ;
import static org.apache.jena.riot.RDFLanguages.NTRIPLES ;
-import static org.apache.jena.riot.RDFLanguages.RDFJSON ;
-import static org.apache.jena.riot.RDFLanguages.RDFXML ;
-import static org.apache.jena.riot.RDFLanguages.TRIG ;
-import static org.apache.jena.riot.RDFLanguages.TURTLE ;
-import static org.apache.jena.riot.RDFLanguages.RDFNULL ;
import static org.apache.jena.riot.RDFLanguages.filenameToLang ;
import java.io.InputStream ;
-import java.io.Reader ;
import java.util.Iterator ;
import org.apache.jena.atlas.io.IO ;
-import org.apache.jena.atlas.io.PeekReader ;
import org.apache.jena.atlas.iterator.IteratorResourceClosing ;
-import org.apache.jena.atlas.json.io.parser.TokenizerJSON ;
import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.riot.lang.* ;
-import org.apache.jena.riot.out.CharSpace;
-import org.apache.jena.riot.system.ErrorHandlerFactory ;
-import org.apache.jena.riot.system.IRIResolver ;
-import org.apache.jena.riot.system.RiotLib ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
-import org.apache.jena.riot.tokens.Tokenizer ;
-import org.apache.jena.riot.tokens.TokenizerFactory ;
import org.apache.jena.sparql.core.Quad ;
/** Operations to access RIOT parsers and send the output to
@@ -63,7 +46,9 @@ public class RiotReader
* Must be in a triples syntax.
* @param filename
* @param dest Where to send the triples from the parser.
+ * @deprecated Use {@link RDFDataMgr#parse(StreamRDF, String)}
*/
+ @Deprecated
public static void parse(String filename, StreamRDF dest)
{ parse(filename, null, null, dest) ; }
@@ -72,7 +57,9 @@ public class RiotReader
* @param filename
* @param lang Language, or null for "guess from URL" (e.g. file extension)
* @param dest Where to send the triples from the parser.
- */
+ * @deprecated Use {@link RDFDataMgr#parse(StreamRDF, String, Lang)}
+ */
+ @Deprecated
public static void parse(String filename, Lang lang, StreamRDF dest)
{
parse(filename, lang, null, dest) ;
@@ -84,7 +71,9 @@ public class RiotReader
* @param lang Language, or null for "guess from URL" (e.g. file extension)
* @param baseIRI Base IRI, or null for based on input filename
* @param dest Where to send the triples from the parser.
- */
+ * @deprecated Use {@link RDFDataMgr#parse(StreamRDF, String, String, Lang)}
+ */
+ @Deprecated
public static void parse(String filename, Lang lang, String baseIRI, StreamRDF dest)
{
if ( lang == null )
@@ -119,73 +108,6 @@ public class RiotReader
// -------- Parsers
- /** Create a parser
- * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
- */
- @Deprecated
- public static LangRIOT createParser(InputStream input, Lang lang, String baseIRI, StreamRDF dest)
- {
- if ( lang == RDFXML )
- {
- if ( baseIRI != null )
- baseIRI = IRIResolver.resolveString(baseIRI) ;
- return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
- } else if ( lang == CSV){
- return new LangCSV (input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest);
- }
- Tokenizer tokenizer = ( lang == RDFJSON ) ?
- new TokenizerJSON(PeekReader.makeUTF8(input)) :
- TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParser(tokenizer, lang, baseIRI, dest) ;
- }
-
- /** Create a parser
- * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
- */
- @Deprecated
- public static LangRIOT createParser(Reader input, Lang lang, String baseIRI, StreamRDF dest)
- {
- if ( lang == RDFXML )
- {
- if ( baseIRI != null )
- baseIRI = IRIResolver.resolveStringSilent(baseIRI) ;
- return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
- } else if ( lang == CSV){
- return new LangCSV (input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest);
- }
- Tokenizer tokenizer = ( lang == RDFJSON ) ?
- new TokenizerJSON(PeekReader.make(input)) :
- TokenizerFactory.makeTokenizer(input) ;
- return createParser(tokenizer, lang, baseIRI, dest) ;
- }
-
- /** Create a parser
- * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
- */
- @Deprecated
- public static LangRIOT createParser(Tokenizer tokenizer, Lang lang, String baseIRI, StreamRDF dest)
- {
- if ( RDFLanguages.sameLang(RDFXML, lang) )
- throw new RiotException("Not possible - can't parse RDF/XML from a RIOT token stream") ;
- if ( RDFLanguages.sameLang(TURTLE, lang) || RDFLanguages.sameLang(N3, lang) )
- return createParserTurtle(tokenizer, baseIRI, dest) ;
- if ( RDFLanguages.sameLang(NTRIPLES, lang) )
- return createParserNTriples(tokenizer, dest) ;
- if ( RDFLanguages.sameLang(RDFJSON, lang) )
- // But it must be a JSON tokenizer ...
- return createParserRdfJson(tokenizer, dest) ;
-
- if ( RDFLanguages.sameLang(NQUADS, lang) )
- return createParserNQuads(tokenizer, dest) ;
- if ( RDFLanguages.sameLang(TRIG, lang) )
- return createParserTriG(tokenizer, baseIRI, dest) ;
-
- if ( RDFLanguages.sameLang(RDFNULL, lang) )
- return new LangNull() ;
-
- return null ;
- }
-
/** Parse a file, sending triples to a sink.
* Must be in a triples syntax.
* @param filename
@@ -270,7 +192,7 @@ public class RiotReader
// Special case N-Triples, because the RIOT reader has a pull interface
if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) )
{
- return new IteratorResourceClosing<>(createParserNTriples(input, null), input);
+ return new IteratorResourceClosing<>(RiotParsers.createParserNTriples(input, null), input);
}
else
{
@@ -285,7 +207,7 @@ public class RiotReader
{
out.start();
parse(input, lang, baseIRI, out);
- // Unsafe: out.finish() ;
+ out.finish() ;
}
});
t.start();
@@ -306,7 +228,7 @@ public class RiotReader
// Special case N-Quads, because the RIOT reader has a pull interface
if ( RDFLanguages.sameLang(RDFLanguages.NQUADS, lang) )
{
- return new IteratorResourceClosing<>(createParserNQuads(input, null), input);
+ return new IteratorResourceClosing<>(RiotParsers.createParserNQuads(input, null), input);
}
else
{
@@ -321,7 +243,7 @@ public class RiotReader
{
out.start();
parse(input, lang, baseIRI, out);
- // Unsafe: out.finish() ;
+ out.finish() ;
}
});
t.start();
@@ -329,120 +251,4 @@ public class RiotReader
return it;
}
}
-
- /** Create a parser for Turtle
- * @deprecated use an RDFDataMgr operation with argument Lang.Turtle
- */
- @Deprecated
- public static LangTurtle createParserTurtle(InputStream input, String baseIRI, StreamRDF dest)
- {
- Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserTurtle(tokenizer, baseIRI, dest) ;
- }
-
- /** Create a parser for Turtle */
- public static LangTurtle createParserTurtle(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
- {
- RiotLib.profile(RDFLanguages.TURTLE, baseIRI) ;
- LangTurtle parser = new LangTurtle(tokenizer, RiotLib.profile(RDFLanguages.TURTLE, baseIRI), dest) ;
- return parser ;
- }
-
- /** Create a parser for RDF/XML
- * @deprecated use an RDFDataMgr operation with argument Lang.RDFXML
- */
- @Deprecated
- public static LangRDFXML createParserRDFXML(InputStream input, String baseIRI, StreamRDF dest)
- {
- if ( baseIRI == null )
- baseIRI = SysRIOT.chooseBaseIRI() ;
- LangRDFXML parser = LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
- return parser ;
- }
-
- /** Create parsers for RDF/JSON */
- public static LangRDFJSON createParserRdfJson(Tokenizer tokenizer, StreamRDF dest)
- {
- LangRDFJSON parser = new LangRDFJSON(tokenizer, RiotLib.profile(RDFLanguages.RDFJSON, null), dest) ;
- return parser;
- }
-
- /**
- * @deprecated use RDFDataMgr and Lang.RDFJSON
- */
- @Deprecated
- public static LangRDFJSON createParserRdfJson(InputStream input, StreamRDF dest)
- {
- TokenizerJSON tokenizer = new TokenizerJSON(PeekReader.makeUTF8(input)) ;
- return createParserRdfJson(tokenizer, dest) ;
- }
-
- /** Create a parser for TriG
- * @deprecated use an RDFDataMgr operation with argument Lang.TRIG
- */
- @Deprecated
- public static LangTriG createParserTriG(InputStream input, String baseIRI, StreamRDF dest)
- {
- Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserTriG(tokenizer, baseIRI, dest) ;
- }
-
- /** Create a parser for TriG */
- public static LangTriG createParserTriG(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
- {
- LangTriG parser = new LangTriG(tokenizer, RiotLib.profile(RDFLanguages.TRIG, baseIRI), dest) ;
- return parser ;
- }
-
- /** Create a parser for N-Triples
- * @deprecated use an RDFDataMgr operation with argument Lang.NTRIPLES
- */
- @Deprecated
- public static LangNTriples createParserNTriples(InputStream input, StreamRDF dest)
- {
- return createParserNTriples(input, CharSpace.UTF8, dest) ;
- }
-
- /** Create a parser for N-Triples
- * @deprecated use an RDFDataMgr operation with argument Lang.NTRIPLES
- */
- @Deprecated
- public static LangNTriples createParserNTriples(InputStream input, CharSpace charSpace, StreamRDF dest)
- {
- Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(input) : TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserNTriples(tokenizer, dest) ;
- }
-
- /** Create a parser for N-Triples */
- public static LangNTriples createParserNTriples(Tokenizer tokenizer, StreamRDF dest)
- {
- LangNTriples parser = new LangNTriples(tokenizer, RiotLib.profile(RDFLanguages.NTRIPLES, null), dest) ;
- return parser ;
- }
-
- /** Create a parser for NQuads
- * @deprecated use an RDFDataMgr operation with argument Lang.NQUADS)
- */
- @Deprecated
- public static LangNQuads createParserNQuads(InputStream input, StreamRDF dest)
- {
- return createParserNQuads(input, CharSpace.UTF8, dest) ;
- }
-
- /** Create a parser for NQuads
- * @deprecated use an RDFDataMgr operation with argument Lang.NQUADS)
- */
- @Deprecated
- public static LangNQuads createParserNQuads(InputStream input, CharSpace charSpace, StreamRDF dest)
- {
- Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(input) : TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserNQuads(tokenizer, dest) ;
- }
-
- /** Create a parser for NQuads */
- public static LangNQuads createParserNQuads(Tokenizer tokenizer, StreamRDF dest)
- {
- LangNQuads parser = new LangNQuads(tokenizer, RiotLib.profile(RDFLanguages.NQUADS, null), dest) ;
- return parser ;
- }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/85b9243c/jena-arq/src/main/java/org/apache/jena/riot/lang/RiotParsers.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/RiotParsers.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/RiotParsers.java
new file mode 100644
index 0000000..306d61b
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/RiotParsers.java
@@ -0,0 +1,230 @@
+/**
+ * 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 org.apache.jena.riot.lang;
+
+import static org.apache.jena.riot.RDFLanguages.CSV ;
+import static org.apache.jena.riot.RDFLanguages.N3 ;
+import static org.apache.jena.riot.RDFLanguages.NQUADS ;
+import static org.apache.jena.riot.RDFLanguages.NTRIPLES ;
+import static org.apache.jena.riot.RDFLanguages.RDFJSON ;
+import static org.apache.jena.riot.RDFLanguages.RDFNULL ;
+import static org.apache.jena.riot.RDFLanguages.RDFXML ;
+import static org.apache.jena.riot.RDFLanguages.TRIG ;
+import static org.apache.jena.riot.RDFLanguages.TURTLE ;
+
+import java.io.InputStream ;
+import java.io.Reader ;
+
+import org.apache.jena.atlas.io.PeekReader ;
+import org.apache.jena.atlas.json.io.parser.TokenizerJSON ;
+import org.apache.jena.riot.* ;
+import org.apache.jena.riot.out.CharSpace ;
+import org.apache.jena.riot.system.ErrorHandlerFactory ;
+import org.apache.jena.riot.system.IRIResolver ;
+import org.apache.jena.riot.system.RiotLib ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.riot.tokens.Tokenizer ;
+import org.apache.jena.riot.tokens.TokenizerFactory ;
+
+public class RiotParsers {
+
+ /** Create a parser for Turtle
+ * @deprecated use an RDFDataMgr operation with argument Lang.Turtle
+ */
+ @Deprecated
+ public static LangTurtle createParserTurtle(InputStream input, String baseIRI, StreamRDF dest)
+ {
+ Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParserTurtle(tokenizer, baseIRI, dest) ;
+ }
+
+ /** Create a parser for Turtle */
+ public static LangTurtle createParserTurtle(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
+ {
+ RiotLib.profile(RDFLanguages.TURTLE, baseIRI) ;
+ LangTurtle parser = new LangTurtle(tokenizer, RiotLib.profile(RDFLanguages.TURTLE, baseIRI), dest) ;
+ return parser ;
+ }
+
+ /** Create a parser for RDF/XML
+ * @deprecated use an RDFDataMgr operation with argument Lang.RDFXML
+ */
+ @Deprecated
+ public static LangRDFXML createParserRDFXML(InputStream input, String baseIRI, StreamRDF dest)
+ {
+ if ( baseIRI == null )
+ baseIRI = SysRIOT.chooseBaseIRI() ;
+ LangRDFXML parser = LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
+ return parser ;
+ }
+
+ /** Create parsers for RDF/JSON */
+ public static LangRDFJSON createParserRdfJson(Tokenizer tokenizer, StreamRDF dest)
+ {
+ LangRDFJSON parser = new LangRDFJSON(tokenizer, RiotLib.profile(RDFLanguages.RDFJSON, null), dest) ;
+ return parser;
+ }
+
+ /**
+ * @deprecated use RDFDataMgr and Lang.RDFJSON
+ */
+ @Deprecated
+ public static LangRDFJSON createParserRdfJson(InputStream input, StreamRDF dest)
+ {
+ TokenizerJSON tokenizer = new TokenizerJSON(PeekReader.makeUTF8(input)) ;
+ return createParserRdfJson(tokenizer, dest) ;
+ }
+
+ /** Create a parser for TriG
+ * @deprecated use an RDFDataMgr operation with argument Lang.TRIG
+ */
+ @Deprecated
+ public static LangTriG createParserTriG(InputStream input, String baseIRI, StreamRDF dest)
+ {
+ Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParserTriG(tokenizer, baseIRI, dest) ;
+ }
+
+ /** Create a parser for TriG.
+ * @deprecated use an RDFDataMgr operation with argument Lang.TRIG
+ */
+ @Deprecated
+ public static LangTriG createParserTriG(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
+ {
+ LangTriG parser = new LangTriG(tokenizer, RiotLib.profile(RDFLanguages.TRIG, baseIRI), dest) ;
+ return parser ;
+ }
+
+ /** Create a parser for N-Triples
+ * Normally, use an RDFDataMgr operation with argument Lang.NTRIPLES
+ */
+ public static LangNTriples createParserNTriples(InputStream input, StreamRDF dest)
+ {
+ return createParserNTriples(input, CharSpace.UTF8, dest) ;
+ }
+
+ /** Create a parser for N-Triples
+ * Normally, use an RDFDataMgr operation with argument Lang.NTRIPLES
+ */
+ public static LangNTriples createParserNTriples(InputStream input, CharSpace charSpace, StreamRDF dest)
+ {
+ Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(input) : TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParserNTriples(tokenizer, dest) ;
+ }
+
+ /** Create a parser for N-Triples */
+ public static LangNTriples createParserNTriples(Tokenizer tokenizer, StreamRDF dest)
+ {
+ LangNTriples parser = new LangNTriples(tokenizer, RiotLib.profile(RDFLanguages.NTRIPLES, null), dest) ;
+ return parser ;
+ }
+
+ /** Create a parser for NQuads
+ * Normally, use an RDFDataMgr operation with argument Lang.NQUADS
+ */
+ public static LangNQuads createParserNQuads(InputStream input, StreamRDF dest)
+ {
+ return createParserNQuads(input, CharSpace.UTF8, dest) ;
+ }
+
+ /** Create a parser for NQuads
+ * Normally, use an RDFDataMgr operation with argument Lang.NQUADS
+ */
+ public static LangNQuads createParserNQuads(InputStream input, CharSpace charSpace, StreamRDF dest)
+ {
+ Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(input) : TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParserNQuads(tokenizer, dest) ;
+ }
+
+ /** Create a parser for NQuads */
+ public static LangNQuads createParserNQuads(Tokenizer tokenizer, StreamRDF dest)
+ {
+ LangNQuads parser = new LangNQuads(tokenizer, RiotLib.profile(RDFLanguages.NQUADS, null), dest) ;
+ return parser ;
+ }
+
+ /** Create a parser
+ * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
+ */
+ @Deprecated
+ public static LangRIOT createParser(InputStream input, Lang lang, String baseIRI, StreamRDF dest)
+ {
+ if ( lang == RDFXML )
+ {
+ if ( baseIRI != null )
+ baseIRI = IRIResolver.resolveString(baseIRI) ;
+ return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
+ } else if ( lang == CSV){
+ return new LangCSV (input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest);
+ }
+ Tokenizer tokenizer = ( lang == RDFJSON ) ?
+ new TokenizerJSON(PeekReader.makeUTF8(input)) :
+ TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParser(tokenizer, lang, baseIRI, dest) ;
+ }
+
+ /** Create a parser
+ * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
+ */
+ @Deprecated
+ public static LangRIOT createParser(Reader input, Lang lang, String baseIRI, StreamRDF dest)
+ {
+ if ( lang == RDFXML )
+ {
+ if ( baseIRI != null )
+ baseIRI = IRIResolver.resolveStringSilent(baseIRI) ;
+ return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
+ } else if ( lang == CSV){
+ return new LangCSV (input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest);
+ }
+ Tokenizer tokenizer = ( lang == RDFJSON ) ?
+ new TokenizerJSON(PeekReader.make(input)) :
+ TokenizerFactory.makeTokenizer(input) ;
+ return createParser(tokenizer, lang, baseIRI, dest) ;
+ }
+
+ /** Create a parser
+ * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
+ */
+ @Deprecated
+ public static LangRIOT createParser(Tokenizer tokenizer, Lang lang, String baseIRI, StreamRDF dest)
+ {
+ if ( RDFLanguages.sameLang(RDFXML, lang) )
+ throw new RiotException("Not possible - can't parse RDF/XML from a RIOT token stream") ;
+ if ( RDFLanguages.sameLang(TURTLE, lang) || RDFLanguages.sameLang(N3, lang) )
+ return createParserTurtle(tokenizer, baseIRI, dest) ;
+ if ( RDFLanguages.sameLang(NTRIPLES, lang) )
+ return createParserNTriples(tokenizer, dest) ;
+ if ( RDFLanguages.sameLang(RDFJSON, lang) )
+ // But it must be a JSON tokenizer ...
+ return createParserRdfJson(tokenizer, dest) ;
+
+ if ( RDFLanguages.sameLang(NQUADS, lang) )
+ return createParserNQuads(tokenizer, dest) ;
+ if ( RDFLanguages.sameLang(TRIG, lang) )
+ return createParserTriG(tokenizer, baseIRI, dest) ;
+
+ if ( RDFLanguages.sameLang(RDFNULL, lang) )
+ return new LangNull() ;
+
+ return null ;
+ }
+
+}
+