Tooling for File Gateway
kcbabo May 25, 2012 9:25 AMKicking off a discussion for SWITCHYARD-817 .
Looking at this, we can break this down like so (in order)
- Implement support for file bindings for services (Camel consumer) and for references (Camel producer). Initial support will be in-only with basic options.
- Implement advanced options.
- Add support for in-out where file binding is used for the in and out.
I say we take care of #1 as part of SWITCHYARD-817 (or maybe a sub-task) first and handle #2 and #3 as separate JIRAs later.
For reference, the file binding schema can be found here:
This is the first binding where the config options will be different for services and references. So we will need to have some intelligence in the binding wizard and property sheet that reflects this fact.
Basic config options for service bindings (from GenericFileBindingType and FileConsumerType):
<element name="directory" type="string" /> <element name="autoCreate" type="boolean" minOccurs="0" maxOccurs="1"/> <element name="fileName" type="string" minOccurs="0" maxOccurs="1"/> <element name="delete" type="boolean" minOccurs="0" maxOccurs="1"/> <element name="recursive" type="boolean" minOccurs="0" maxOccurs="1"/> <element name="preMove" type="string" minOccurs="0" maxOccurs="1"/> <element name="move" type="string" minOccurs="0" maxOccurs="1"/> <element name="moveFailed" type="string" minOccurs="0" maxOccurs="1"/> <element name="include" type="string" minOccurs="0" maxOccurs="1"/> <element name="exclude" type="string" minOccurs="0" maxOccurs="1"/> <element name="maxMessagesPerPoll" type="integer" minOccurs="0" maxOccurs="1"/> <element name="delay" type="integer" minOccurs="0" maxOccurs="1"/>
Basic config options for reference bindings (from GenericFileBindingType and FileProviderType):
<element name="directory" type="string" /> <element name="autoCreate" type="boolean" minOccurs="0" maxOccurs="1"/> <element name="fileName" type="string" minOccurs="0" maxOccurs="1"/> <element name="fileExist" type="string" minOccurs="0" maxOccurs="1"/> <element name="tempPrefix" type="string" minOccurs="0" maxOccurs="1"/>
I'll post some thoughts on #2 and #3 once we agree on #1. :-)