[ 
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)

Reply via email to