[jboss-jira] [JBoss JIRA] (JBVFS-208) Provide way to retrieve VirtualFile instance from url.openConnection()

Tomas Hofman (Jira) issues at jboss.org
Mon Jan 7 08:27:00 EST 2019


Tomas Hofman created JBVFS-208:
----------------------------------

             Summary: Provide way to retrieve VirtualFile instance from url.openConnection()
                 Key: JBVFS-208
                 URL: https://issues.jboss.org/browse/JBVFS-208
             Project: JBoss VFS
          Issue Type: Enhancement
            Reporter: Tomas Hofman
            Assignee: Tomas Hofman
             Fix For: 3.5.0.Alpha1


It is not possible to obtain VirtualFile (and by extensions it's physicalFile) instance wrapped in VirtualFileURLConnection without using reflection.

Code snippet from Drools [1], where they try to get hold of {{VirtualFile#getPhysicalFile()}}:

{code}
    private static Object findVirtualFile( URL url ) throws IOException {
        URLConnection urlConnection = url.openConnection();
        try {
            if ( urlConnection.getClass().getName().equals( "org.jboss.vfs.protocol.VirtualFileURLConnection" ) ) {
                Field f = urlConnection.getClass().getDeclaredField( "file" );
                f.setAccessible( true );
                return f.get( urlConnection );
            }
        } catch (NoSuchFieldException | IllegalAccessException e) {
            // ignored
        }
        return urlConnection.getContent();
    }
{code}

[1] https://github.com/kiegroup/drools/commit/2a36f67a29ed06d0f980a60ff1c81fa897e8147a



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list