Add FileObjectResolver to provide custom FileObject resolution
(FileSystem.resolveFile(...))
--------------------------------------------------------------------------------------------
Key: VFS-312
URL: https://issues.apache.org/jira/browse/VFS-312
Project: Commons VFS
Issue Type: New Feature
Environment: To help support cross-platform file name resolution
Reporter: Steve Siebert
Priority: Minor
Hello,
I ran into a problem while copying a file with a colon (:) in the file name
from a Unix SFTP FileSystem to a window LocalFileSystem. Windows does not
permit the colon as part of the file name, and it causes the output stream to
fail. Is there currently a way to fix this?
What I would like to propose is to add a
org.apache.commons.vfs.FileObjectResolver interface, which would provide
methods to resolve an input to a (FileSystem) FileObject instance. Then, add
the setFileObjectResolver() and removeFileObjectResolver() methods to the
FileSystem interface to accept this optional resolver. When attempting to
resolve the FileObject, the FileSystem would check to see if an optional
FileObjectResolver was set, and if so, use that. A custom FileObjectResolver
would obviously add additional functionality than simply file name conversions,
but that's the use case we can start with =).
I built a similar model that actually extends the FileSystemManager (instead of
FileSystem) and adds the FileObjectResolver to this class for simplicity (I
REALLY don't want to have to make an extension for each provider =) and it's
working great (except, of course, I have to use the FSM to resolve correctly
rather than directly the FS - a bug I'm hoping to fix by adding this to the
core.
I've downloaded the core from the community SVN and have built a patch I can
contribute, if there is interest. I would be quite happy to contribute the
patch.
Thanks for taking a look!
Steve
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.