commons-issues mailing list archives

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

    [ https://issues.apache.org/jira/browse/VFS-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13502810#comment-13502810
] 

Walter Eaves edited comment on VFS-444 at 11/22/12 3:07 PM:
------------------------------------------------------------

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

{code}
  @Test
    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());
    logger.info("c1: " + f + " : " + f.exists());
  }
{code}

Here's the test result:

{code}
Results :

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

But, of course, you probably got that result yourself when you ran your test, so you must
be using a different version of the VFS2 component. One that is able to parse the URI. Can
you tell me the version?

Thanks.

                
      was (Author: eepgwde):
    Yes. I had tried that before. Here's the test code.

  @Test
    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());
    logger.info("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?

Thanks.

                  
> ResourceFileProvider "res://" failed to obtain FileObject from resolved FileName
> --------------------------------------------------------------------------------
>
>                 Key: VFS-444
>                 URL: https://issues.apache.org/jira/browse/VFS-444
>             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());
>       logger.info("c1: " + c1 + " : " + c1.exists());
> The code seems to have worked because, I can see the logger has the right URL in the
SoftResFilesCache
> 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: http://www.atlassian.com/software/jira

Mime
View raw message