private synchronized FileObject resolveFile(final FileName name, final boolean useCache) throws FileSystemException
{
if (!rootName.getRootURI().equals(name.getRootURI()))
{
throw new FileSystemException("vfs.provider/mismatched-fs-for-name.error",
new Object[]{
name, rootName, name.getRootURI()});
}
// imario@apache.org ==> use getFileFromCache
FileObject file;
if (useCache)
{
file = getFileFromCache(name);
}
else
{
file = null;
}
// FileObject file = (FileObject) files.get(name);
if (file == null)
{
try
{
file = createFile((AbstractFileName) name);
}
catch (Exception e)
{
throw new FileSystemException("vfs.provider/resolve-file.error", name, e);
}
file = decorateFileObject(file);
// imario@apache.org ==> use putFileToCache