You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/08/23 19:30:41 UTC
svn commit: r1516942 - in /jena/trunk/jena-arq/src:
main/java/org/apache/jena/riot/system/ test/java/org/apache/jena/riot/system/
Author: andy
Date: Fri Aug 23 17:30:41 2013
New Revision: 1516942
URL: http://svn.apache.org/r1516942
Log:
JENA-520 and JENA-521
Added:
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaReaders.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaWriters.java
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaReaders.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaWriters.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TS_RiotSystem.java
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaReaders.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaReaders.java?rev=1516942&r1=1516941&r2=1516942&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaReaders.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaReaders.java Fri Aug 23 17:30:41 2013
@@ -21,7 +21,6 @@ package org.apache.jena.riot.system;
import org.apache.jena.riot.adapters.JenaReadersWriters ;
import com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl ;
-import com.hp.hpl.jena.rdf.model.impl.RDFWriterFImpl ;
import com.hp.hpl.jena.sparql.util.Symbol ;
public class IO_JenaReaders
@@ -32,9 +31,6 @@ public class IO_JenaReaders
public static void wireIntoJena()
{
-// // Wire in generic
-// Class<?> readerRDF = RDFReaderRIOT.class ;
-
registerForModelRead("RDF/XML", JenaReadersWriters.RDFReaderRIOT_RDFXML.class) ; // And default
registerForModelRead("RDF/XML-ABBREV", JenaReadersWriters.RDFReaderRIOT_RDFXML.class) ;
@@ -50,10 +46,14 @@ public class IO_JenaReaders
static String jenaNTriplesReader = "com.hp.hpl.jena.rdf.model.impl.NTripleReader" ;
static String jenaTurtleReader = "com.hp.hpl.jena.n3.turtle.TurtleReader" ;
- static String jenaN3Reader = jenaTurtleReader ;
+ static String jenaN3Reader = jenaTurtleReader ;
+ static String jenaRDFReader = "com.hp.hpl.jena.rdf.arp.JenaReader";
public static void resetJena()
{
+ RDFReaderFImpl.setBaseReaderClassName("RDF/XML", jenaRDFReader) ;
+ RDFReaderFImpl.setBaseReaderClassName("RDF/XML-ABBREV", jenaRDFReader) ;
+
RDFReaderFImpl.setBaseReaderClassName("N-TRIPLES", jenaNTriplesReader) ;
RDFReaderFImpl.setBaseReaderClassName("N-Triples", jenaNTriplesReader) ;
RDFReaderFImpl.setBaseReaderClassName("N-TRIPLE", jenaNTriplesReader) ;
@@ -63,8 +63,8 @@ public class IO_JenaReaders
RDFReaderFImpl.setBaseReaderClassName("Turtle", jenaTurtleReader) ;
RDFReaderFImpl.setBaseReaderClassName("TTL", jenaTurtleReader) ;
- RDFReaderFImpl.setBaseReaderClassName("RDF/JSON", null) ;
- RDFWriterFImpl.setBaseWriterClassName("RDFJSON", null) ;
+ RDFReaderFImpl.setBaseReaderClassName("RDF/JSON", "") ;
+ RDFReaderFImpl.setBaseReaderClassName("RDFJSON", "") ;
}
/** Register for use with Model.read (old style compatibility) */
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaWriters.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaWriters.java?rev=1516942&r1=1516941&r2=1516942&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaWriters.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IO_JenaWriters.java Fri Aug 23 17:30:41 2013
@@ -96,9 +96,10 @@ public class IO_JenaWriters
RDFWriterFImpl.setBaseWriterClassName("RDF/XML-ABBREV", Jena.PATH + ".xmloutput.impl.Abbreviated") ;
RDFWriterFImpl.setBaseWriterClassName("N-TRIPLE", Jena.PATH + ".rdf.model.impl.NTripleWriter") ;
+ RDFWriterFImpl.setBaseWriterClassName("NT", "") ;
RDFWriterFImpl.setBaseWriterClassName("N-TRIPLES", Jena.PATH + ".rdf.model.impl.NTripleWriter") ;
RDFWriterFImpl.setBaseWriterClassName("N-Triples", Jena.PATH + ".rdf.model.impl.NTripleWriter") ;
-
+
RDFWriterFImpl.setBaseWriterClassName("N3", Jena.PATH + ".n3.N3JenaWriter") ;
RDFWriterFImpl.setBaseWriterClassName(N3JenaWriter.n3WriterPrettyPrinter, Jena.PATH + ".n3.N3JenaWriterPP") ;
RDFWriterFImpl.setBaseWriterClassName(N3JenaWriter.n3WriterPlain, Jena.PATH + ".n3.N3TurtleJenaWriter") ;
@@ -108,6 +109,9 @@ public class IO_JenaWriters
RDFWriterFImpl.setBaseWriterClassName(N3JenaWriter.turtleWriterAlt1, Jena.PATH + ".n3.N3TurtleJenaWriter") ;
RDFWriterFImpl.setBaseWriterClassName(N3JenaWriter.turtleWriterAlt2, Jena.PATH + ".n3.N3TurtleJenaWriter") ;
+ RDFWriterFImpl.setBaseWriterClassName("RDF/JSON", "");
+ RDFWriterFImpl.setBaseWriterClassName("RDFJSON", "");
+
}
/** Register for use with Model.write (old style compatibility) */
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TS_RiotSystem.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TS_RiotSystem.java?rev=1516942&r1=1516941&r2=1516942&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TS_RiotSystem.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TS_RiotSystem.java Fri Aug 23 17:30:41 2013
@@ -37,6 +37,8 @@ import org.junit.runners.Suite.SuiteClas
, TestFastAbbreviatingPrefixMap.class
, TestPrefixMapExtended1.class
, TestPrefixMapExtended2.class
+ , TestIO_JenaReaders.class
+ , TestIO_JenaWriters.class
// May be subject to performance vagaries, with the improvements made
// to the fast implementation this should be fairly safe
//, TestAbbreviationPerformance.class
Added: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaReaders.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaReaders.java?rev=1516942&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaReaders.java (added)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaReaders.java Fri Aug 23 17:30:41 2013
@@ -0,0 +1,88 @@
+/**
+ * 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.system;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFReaderRIOT_NT;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFReaderRIOT_RDFJSON;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFReaderRIOT_RDFXML;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFReaderRIOT_TTL;
+import org.junit.Test;
+
+import com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl;
+
+public class TestIO_JenaReaders {
+ private final class RDFReaderFImplExposingProtected extends RDFReaderFImpl {
+ public Map<String, String> defaultReaders() {
+ Map<String,String> defaults = new LinkedHashMap<String,String>();
+ for (int i=0; i<LANGS.length; i++) {
+ defaults.put(LANGS[i], DEFAULTREADERS[i]);
+ }
+ return defaults;
+ }
+ public Properties getLangToClassName() {
+ return langToClassName;
+ }
+ }
+
+ @Test
+ public void wireIntoJena() throws Exception {
+ IO_JenaReaders.wireIntoJena();
+ RDFReaderFImpl readerF = new RDFReaderFImpl();
+ assertEquals(RDFReaderRIOT_RDFXML.class, readerF.getReader().getClass());
+ assertEquals(RDFReaderRIOT_RDFXML.class, readerF.getReader("RDF/XML").getClass());
+ assertEquals(RDFReaderRIOT_RDFXML.class, readerF.getReader("RDF/XML-ABBREV").getClass());
+ assertEquals(RDFReaderRIOT_NT.class, readerF.getReader("N-TRIPLES").getClass());
+ assertEquals(RDFReaderRIOT_NT.class, readerF.getReader("N-Triples").getClass());
+ assertEquals(RDFReaderRIOT_NT.class, readerF.getReader("N-TRIPLE").getClass());
+ assertEquals(RDFReaderRIOT_TTL.class, readerF.getReader("N3").getClass());
+ assertEquals(RDFReaderRIOT_TTL.class, readerF.getReader("TURTLE").getClass());
+ assertEquals(RDFReaderRIOT_TTL.class, readerF.getReader("Turtle").getClass());
+ assertEquals(RDFReaderRIOT_TTL.class, readerF.getReader("TTL").getClass());
+ assertEquals(RDFReaderRIOT_RDFJSON.class, readerF.getReader("RDF/JSON").getClass());
+ }
+
+ @Test
+ public void resetJena() throws Exception {
+ IO_JenaReaders.wireIntoJena();
+ IO_JenaReaders.resetJena();
+ RDFReaderFImplExposingProtected readerF = new RDFReaderFImplExposingProtected();
+ Map<String, String> defaults = readerF.defaultReaders();
+ assertFalse(defaults.isEmpty());
+ for (String lang : defaults.keySet()) {
+ assertEquals(defaults.get(lang), readerF.getLangToClassName().get(lang));
+ if (lang.equals("GRDDL")) {
+ // Can't load
+ continue;
+ }
+ assertEquals(defaults.get(lang), readerF.getReader(lang).getClass().getName());
+ }
+
+ // And unregistered our additional langs
+ assertEquals("", readerF.getLangToClassName().get("RDF/JSON"));
+
+ }
+
+
+}
Added: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaWriters.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaWriters.java?rev=1516942&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaWriters.java (added)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestIO_JenaWriters.java Fri Aug 23 17:30:41 2013
@@ -0,0 +1,104 @@
+/**
+ * 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.system;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_N3;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_N3Plain;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_N3Triples;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_N3TriplesAlt;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_N3_PP;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_NTriples;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_RDFJSON;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_Turtle;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_Turtle1;
+import org.apache.jena.riot.adapters.JenaReadersWriters.RDFWriterRIOT_Turtle2;
+import org.junit.Test;
+
+import com.hp.hpl.jena.n3.N3JenaWriter;
+import com.hp.hpl.jena.rdf.model.impl.RDFWriterFImpl;
+import com.hp.hpl.jena.xmloutput.impl.Abbreviated;
+import com.hp.hpl.jena.xmloutput.impl.Basic;
+
+public class TestIO_JenaWriters {
+ private final class RDFWriterFImplExposingProtected extends RDFWriterFImpl {
+ public Map<String, String> defaultWriters() {
+ Map<String,String> defaults = new LinkedHashMap<String,String>();
+ for (int i=0; i<LANGS.length; i++) {
+ defaults.put(LANGS[i], DEFAULTWRITERS[i]);
+ }
+ return defaults;
+ }
+ public Properties getLangToClassName() {
+ return langToClassName;
+ }
+ }
+
+ @Test
+ public void wireIntoJena() throws Exception {
+ IO_JenaWriters.wireIntoJena();
+ RDFWriterFImpl writerF = new RDFWriterFImpl();
+ assertEquals(Basic.class, writerF.getWriter().getClass());
+ assertEquals(Basic.class, writerF.getWriter("RDF/XML").getClass());
+ assertEquals(Abbreviated.class, writerF.getWriter("RDF/XML-ABBREV").getClass());
+ assertEquals(RDFWriterRIOT_NTriples.class, writerF.getWriter("N-TRIPLE").getClass());
+ assertEquals(RDFWriterRIOT_NTriples.class, writerF.getWriter("N-Triples").getClass());
+ assertEquals(RDFWriterRIOT_NTriples.class, writerF.getWriter("N-TRIPLE").getClass());
+ assertEquals(RDFWriterRIOT_NTriples.class, writerF.getWriter("NT").getClass());
+
+ assertEquals(RDFWriterRIOT_N3.class, writerF.getWriter("N3").getClass());
+ assertEquals(RDFWriterRIOT_N3_PP.class, writerF.getWriter(N3JenaWriter.n3WriterPrettyPrinter).getClass());
+ assertEquals(RDFWriterRIOT_N3Plain.class, writerF.getWriter(N3JenaWriter.n3WriterPlain).getClass());
+ assertEquals(RDFWriterRIOT_N3Triples.class, writerF.getWriter(N3JenaWriter.n3WriterTriples).getClass());
+ assertEquals(RDFWriterRIOT_N3TriplesAlt.class, writerF.getWriter(N3JenaWriter.n3WriterTriplesAlt).getClass());
+
+ assertEquals(RDFWriterRIOT_Turtle.class, writerF.getWriter(N3JenaWriter.turtleWriter).getClass());
+ assertEquals(RDFWriterRIOT_Turtle1.class, writerF.getWriter(N3JenaWriter.turtleWriterAlt1).getClass());
+ assertEquals(RDFWriterRIOT_Turtle2.class, writerF.getWriter(N3JenaWriter.turtleWriterAlt2).getClass());
+
+ assertEquals(RDFWriterRIOT_RDFJSON.class, writerF.getWriter("RDF/JSON").getClass());
+ assertEquals(RDFWriterRIOT_RDFJSON.class, writerF.getWriter("RDFJSON").getClass());
+ }
+
+ @Test
+ public void resetJena() throws Exception {
+ IO_JenaWriters.wireIntoJena();
+ IO_JenaWriters.resetJena();
+ RDFWriterFImplExposingProtected writerF = new RDFWriterFImplExposingProtected();
+ Map<String, String> defaults = writerF.defaultWriters();
+ assertFalse(defaults.isEmpty());
+ for (String lang : defaults.keySet()) {
+ assertEquals(defaults.get(lang), writerF.getLangToClassName().get(lang));
+ // Disabled as it does not handle GRDLL reader
+ assertEquals(defaults.get(lang), writerF.getWriter(lang).getClass().getName());
+ }
+
+ // And unregistered our additional langs
+ assertEquals("", writerF.getLangToClassName().get("NT"));
+ assertEquals("", writerF.getLangToClassName().get("RDF/JSON"));
+ assertEquals("", writerF.getLangToClassName().get("RDFJSON"));
+ }
+
+
+}