Hi Claude, On 02/04/13 23:14, Claude Warren wrote:
I am running some test cases.When I run the tests (TestReaderEvent) from within Jean (2.10.1) it works fine. When I run it using the testing jar from a different project (using the same setup) it does not. Under Jena 2.10.1 The call calls are: model.getReader("N-TRIPLE") ModelCom.getReader("N-TRIPLE") RDFReaderFImpl.getReader("N-TRIPLE") String className = langToClassName.getProperty(lang) returns "com.hp.hpl.jena.rdf.model.impl.NTripleReader" under a different project the calls are: model.getReader("N-TRIPLE") ModelCom.getReader("N-TRIPLE") RDFReaderFImpl.getReader("N-TRIPLE") String className = langToClassName.getProperty(lang) returns "com.hp.hpl.jena.n3.N3JenaWriter.JenaReadersWriters$RDFReaderRIOT_TTL" From what I can gather the reader class names are loaded in an RDFReaderFImpl static block: static { // static initializer - set default readers langToClassName = new Properties(); for (int i = 0; i<LANGS.length; i++) { langToClassName.setProperty( LANGS[i], JenaRuntime.getSystemProperty(PROPNAMEBASE + LANGS[i], DEFAULTREADERS[i])); } } The only thing I can figure is taht the JenaRuntime.getSystemProperty() is returning a different value, but in debugging it is simpley calling System.getProperty( propName, default) and returning that value (no exception thrown). Does anybody have any idea why this is happening and what I need to do to get both sets of code to use the com.hp.hpl.jena.rdf.model.impl.NTripleReader as the other reader does not pass the tests.
As I understand it the RIOT processors are wired into Jena when you use ARQ or TDB. It looks like you can unwire them with: IO_Jena#resetJenaReaders
It would probably be helpful to say in what way the RIOT reader doesn't pass your tests. It seems more likely that the RIOT reader is correct (at least relative to the new specs from the RDF WG) than the old reader.
Dave
