[jboss-jira] [JBoss JIRA] Commented: (JBVFS-143) file:// protocol URL might not work with 3rd party libraries
John Bailey (JIRA)
jira-events at lists.jboss.org
Fri Mar 5 10:26:10 EST 2010
[ https://jira.jboss.org/jira/browse/JBVFS-143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12518379#action_12518379 ]
John Bailey commented on JBVFS-143:
-----------------------------------
This can be caused by one of two problems:
1. The 3rd party library is calling URL.getFile, which just dumps the path of the URL and assumes it is a file
2. Or it is caused because the example-http.jar has not been fully expanded in VFS temp directory.
If it is the former, then we need a hack to make it work since the URLs path does not reflect the real filesystem. If it is the latter, then you can always test by calling mountZipExpanded in place of mountZip.
We are looking into the root of this issue. We need to have a discussion on the best approach here.
> file:// protocol URL might not work with 3rd party libraries
> ------------------------------------------------------------
>
> Key: JBVFS-143
> URL: https://jira.jboss.org/jira/browse/JBVFS-143
> Project: JBoss VFS
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 3.0.0.CR3
> Reporter: Thomas Diesler
> Assignee: John Bailey
> Priority: Critical
> Fix For: 3.0.0.CR4
>
>
> A URL like this
> file:/home/tdiesler/svn/jboss-osgi/trunk/testsuite/example/target/test-libs/example-http.jar/res/message.txt
> gets passed to a 3rd party library (i.e. Jetty)
> which does stuff like this
> public static Resource newResource(URL url, boolean useCaches)
> {
> if (url==null)
> return null;
> String url_string=url.toExternalForm();
> if( url_string.startsWith( "file:"))
> {
> try
> {
> FileResource fileResource= new FileResource(url);
> return fileResource;
> }
> catch(Exception e)
> {
> Log.debug(Log.EXCEPTION,e);
> return new BadResource(url,e.toString());
> }
> }
> else if( url_string.startsWith( "jar:file:"))
> {
> return new JarFileResource(url, useCaches);
> }
> else if( url_string.startsWith( "jar:"))
> {
> return new JarResource(url, useCaches);
> }
> return new URLResource(url,null,useCaches);
> }
> As a consequence, content access does not work.
> This seems to be a general issue caused by the reuse of the well known file:// protocol which may be processed explicitly by 3rd party libs.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list