Jan Bednar created CAMEL-13823:
----------------------------------

             Summary: Create camel-filesystem component
                 Key: CAMEL-13823
                 URL: https://issues.apache.org/jira/browse/CAMEL-13823
             Project: Camel
          Issue Type: New Feature
            Reporter: Jan Bednar
            Assignee: Jan Bednar


There are many java.nio.FileSystem implementations. We can create component 
camel-filesystem, which will allow user to plug any possible implementation of 
FileSystem and use it as consumer/producer.

*This can solve:*
 JimFS component - CAMEL-11300: JimFS fully implements java.nio.FileSystem
 WebDAV component - 
[http://camel.465427.n5.nabble.com/CAMEL-and-WebDAV-td472524.html] : User can 
use [https://github.com/maddingo/nio-fs-provider]

And because there exists some libraries, which acts as bridge between java.nio 
and commons-vfs, which user can use, this will add support to tens of other 
filesystems from commons-vfs.

This will also add direct support for consumig/producing files from/to zip file 
(ZipFileSystem is included in JDK), instead of marshalling/unmarshalling and 
splitting/aggregating.

*Some thoughts:*
 * For consumer we should not use WatchService, because WatchService 
implementation is not required for java.nio.FileSystem. Instead this we should 
use polling similar to camel-file implementation
 * The integration into existing codebase can be done seamlessly with new 
implementation GenericFile<Path>
 * Implementations of java.nio.file.Path are not required to implement toFile 
method. We should make sure, that Path will be never converted to File - Should 
be possible by implementing new GenericFileBinding<Path>



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to