]
Richard Opalka updated WFLY-11567:
----------------------------------
Component/s: VFS
Provide way to retrieve VirtualFile instance from
url.openConnection()
----------------------------------------------------------------------
Key: WFLY-11567
URL:
https://issues.jboss.org/browse/WFLY-11567
Project: WildFly
Issue Type: Enhancement
Components: VFS
Reporter: Tomas Hofman
Assignee: Tomas Hofman
Priority: Major
Fix For: 19.0.0.Beta1
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/2a36f67a29ed06d0f980a60ff1c81fa...