URIResolutionResult resolutionResult = resolveURI(uri);
if(log.isTraceEnabled())
log.trace("Getting context in getFile(): " + resolutionResult.getURI().toString());
VFSContext context = resolutionResult.getContext();
if (context != null)
{
String relativePath = VFSUtils.getRelativePath(context, resolutionResult.getURI());
TempInfo ti = context.getFurthestParentTemp(relativePath);
if (ti != null)
{
String path = ti.getPath();
String subpath = relativePath.substring(path.length());
VirtualFileHandler child = findHandler(ti.getHandler(), subpath, true);
if (child != null)
return child.getVirtualFile();
}
VirtualFileHandler root = context.getRoot();
VirtualFileHandler child = findHandler(root, relativePath, false);
return child.getVirtualFile();
}
return null;
}