commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Walter Eaves (JIRA)" <>
Subject [jira] [Commented] (VFS-444) ResourceFileProvider "res://" failed to obtain FileObject from resolved FileName
Date Thu, 22 Nov 2012 15:04:58 GMT


Walter Eaves commented on VFS-444:

Yes. I had tried that before. Here's the test code.

    public void test02() throws Exception {
    // See if we can find it in the resources.
    String s0 = "res:/config.xml";
    FileObject fo = VFS.getManager().resolveFile("res:/config.xml");
    File f = new File(fo.getURL().getPath());"c1: " + f + " : " + f.exists());

Here's the test result:

Results :

Tests in error: 
  test02(TestConfiguration1): Badly formed URI "res:/config.xml".

But, of course, you probably got that result yourself. You must be running a different version
of the library. One that is able to parse the URI. Can you tell me the version?


> ResourceFileProvider "res://" failed to obtain FileObject from resolved FileName
> --------------------------------------------------------------------------------
>                 Key: VFS-444
>                 URL:
>             Project: Commons VFS
>          Issue Type: Bug
>    Affects Versions: 2.0
>         Environment: java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
> Linux x 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux
>            Reporter: Walter Eaves
>              Labels: common-configuration
>             Fix For: 2.0
>   Original Estimate: 168h
>  Remaining Estimate: 168h
> Given
>   // See if we can find it in the resources.
>   String s0 = "res://config.xml";
>   FileName n0 = mgr.resolveURI(s0);
>   FileObject c1 = mgr.resolveFile(new File(n0.getBaseName()), n0.getPath());
>"c1: " + c1 + " : " + c1.exists());
> The code seems to have worked because, I can see the logger has the right URL in the
> 12:43:29,734 DEBUG [StandardFileSystemManager] Skipping provider "org.apache.commons.vfs2.provider.webdav.WebdavFileProvider"
because required class "org.apache.jackrabbit.webdav.client.methods.DavMethod" is not available.
> 12:43:29,765 DEBUG [SoftRefFilesCache] putFile: file:///misc/build2/fpstats0/fpstats-experimental/config.xml
> 12:43:29,767 DEBUG [SoftRefFilesCache] putFile: file:///config.xml
> 12:43:29,767 INFO  [Version] c1: file:///config.xml : false
> The file is there!
> But I cannot get a FileObject that gives me the absolute path.
> This would be useful for me. I want to be able to resolve a file out of the resources:
jar files and classes/ directories. And keep that in reserve as I try and resolve the same
file in -Duser.home and elsewhere.
> If it worked, and I believed it, I could then use the "res://config.xml" it for commons-configuration.
> But I can't.
> I just don't understand the API - is it complete? I can resolve a URL and get a FileName,
but it won't tell me the FileSystem(s) without that I can't resolve it in this SoftResFilesCache.
> If it were me, I would just open the SoftResFilesCache and add a search for the base
filename of a URL across all FileSystems.
> I use a filesystems to find things. I give it a hint where I saw it last and I want to
track if it is still there and whether it has changed.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message