[
https://issues.apache.org/jira/browse/JENA-889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14362607#comment-14362607
]
Jan Vlug commented on JENA-889:
-------------------------------
I attached a file with two example projects that show the difference in
behavior.
locatortest uses jena 2.6.4
locatortest_new uses jena 2.12.1
if you run locatortest with:
{noformat}
mvn install exec:java -Dexec.mainClass=org.janvlug.test.TestLocatorMapper
{noformat}
you get:
{noformat}
...
00:19:31 TRACE SystemUtils :: Using thread classloader
Jena=2.6.4
00:19:31 DEBUG FileManager :: Add location: LocatorFile
00:19:31 DEBUG FileManager :: Add location: ClassLoaderLocator
00:19:31 TRACE LocatorFile :: Not found: location-mapping.ttl
00:19:31 TRACE LocatorClassLoader :: Found: location-mapping.ttl
00:19:31 DEBUG FileManager :: Found: location-mapping.ttl
(ClassLoaderLocator)
00:19:31 DEBUG LocationMapper :: Mapping: file:foo.n3 => file:foo.ttl
00:19:31 DEBUG FileManager :: Add location: LocatorFile
00:19:31 DEBUG FileManager :: Add location: ClassLoaderLocator
00:19:31 TRACE LocatorFile :: Not found: file:location-mapping.rdf
00:19:31 TRACE LocatorClassLoader :: Failed to open:
file:location-mapping.rdf
00:19:31 TRACE LocatorFile :: Not found: file:location-mapping.n3
00:19:31 TRACE LocatorClassLoader :: Failed to open:
file:location-mapping.n3
00:19:31 TRACE LocatorFile :: Not found: file:location-mapping.ttl
00:19:31 TRACE LocatorClassLoader :: Found: file:location-mapping.ttl
00:19:31 DEBUG FileManager :: Found: file:location-mapping.ttl
(ClassLoaderLocator)
00:19:31 DEBUG LocationMapper :: Mapping: file:foo.n3 => file:foo.ttl
00:19:31 DEBUG FileManager :: Add location: LocatorFile
00:19:31 DEBUG FileManager :: Add location: LocatorURL
00:19:31 DEBUG FileManager :: Add location: ClassLoaderLocator
00:19:31 DEBUG FileManager :: readModel(model,file:foo.n3)
00:19:31 DEBUG FileManager :: readModel(model,file:foo.n3, null)
00:19:31 DEBUG FileManager :: Mapped: file:foo.n3 => file:foo.ttl
00:19:31 DEBUG FileManager :: Map: file:foo.n3 => file:foo.ttl
00:19:31 DEBUG FileManager :: Syntax guess: TURTLE
00:19:31 TRACE LocatorFile :: Not found: file:foo.ttl
00:19:31 TRACE LocatorURL :: Not found : file:foo.ttl
00:19:31 TRACE LocatorClassLoader :: Found: file:foo.ttl
00:19:31 DEBUG FileManager :: Found: file:foo.ttl
(ClassLoaderLocator)
DONE
...
{noformat}
if you run locatortest_new with:
{noformat}
mvn install exec:java -Dexec.mainClass=org.janvlug.test.TestLocatorMapper
{noformat}
you get:
{noformat}
...
00:20:34 TRACE SystemUtils :: Using thread classloader
Jena=2.12.1
00:20:34 TRACE LocatorFile :: Not found: location-mapping.ttl
00:20:34 TRACE LocatorClassLoader :: Found: location-mapping.ttl
00:20:34 DEBUG StreamManager :: Found: location-mapping.ttl
(ClassLoaderLocator)
00:20:34 DEBUG JenaIOEnvironment :: Mapping: file:foo.n3 => file:foo.ttl
00:20:34 DEBUG FileManager :: Add location: LocatorFile
00:20:34 DEBUG FileManager :: Add location: ClassLoaderLocator
00:20:34 TRACE LocatorFile :: Not found: location-mapping.ttl
00:20:34 TRACE LocatorClassLoader :: Found: location-mapping.ttl
00:20:34 DEBUG FileManager :: Found: location-mapping.ttl
(ClassLoaderLocator)
00:20:34 DEBUG LocationMapper :: Mapping: file:foo.n3 => file:foo.ttl
00:20:34 DEBUG FileManager :: readModel(model,file:foo.n3)
00:20:34 DEBUG FileManager :: readModel(model,file:foo.n3, null)
00:20:34 DEBUG StreamManager :: Mapped: file:foo.n3 => file:foo.ttl
00:20:34 DEBUG AdapterFileManager :: Map: file:foo.n3 => file:foo.ttl
00:20:34 DEBUG StreamManager :: open(file:foo.ttl)
00:20:34 DEBUG StreamManager :: Not mapped: file:foo.ttl
00:20:34 TRACE LocatorFile :: Not found: file:foo.ttl
00:20:34 TRACE LocatorHTTP :: Not found : file:foo.ttl
00:20:34 TRACE LocatorFTP :: Not found : file:foo.ttl
00:20:34 TRACE LocatorClassLoader :: Failed to open: file:foo.ttl
00:20:34 DEBUG RDFDataMgr :: Not Found: file:foo.ttl
[WARNING]
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.jena.riot.RiotNotFoundException: Not found: file:foo.ttl
at org.apache.jena.riot.RDFDataMgr.open(RDFDataMgr.java:870)
at org.apache.jena.riot.RDFDataMgr.open(RDFDataMgr.java:852)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:684)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:210)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:143)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:132)
at
org.apache.jena.riot.adapters.AdapterFileManager.readModelWorker(AdapterFileManager.java:283)
at com.hp.hpl.jena.util.FileManager.readModel(FileManager.java:344)
at com.hp.hpl.jena.util.FileManager.readModel(FileManager.java:328)
at org.janvlug.test.TestLocatorMapper.main(TestLocatorMapper.java:17)
... 6 more
...
{noformat}
> FileManager/LocationMapper does not work with file: prefix for
> LocatorClassLoader
> ---------------------------------------------------------------------------------
>
> Key: JENA-889
> URL: https://issues.apache.org/jira/browse/JENA-889
> Project: Apache Jena
> Issue Type: Bug
> Components: Jena
> Affects Versions: Jena 2.12.1
> Reporter: Jan Vlug
> Attachments: locatortest.tar.bz
>
>
> I tried to use a LocationMapper configuration file as described at:
> https://jena.apache.org/documentation/notes/file-manager.html. This worked
> fine in an old Jena version. But now I upgraded to 2.12.1 it seems that I
> have to omit the file: prefix in the mapped URL.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)