[ 
https://issues.apache.org/jira/browse/CAMEL-4779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Gredler updated CAMEL-4779:
----------------------------------

    Attachment: ant-path-filter.patch
    
> Make Ant path matching in file / FTP component easier to use
> ------------------------------------------------------------
>
>                 Key: CAMEL-4779
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4779
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core, camel-spring
>    Affects Versions: 2.8.3
>            Reporter: Daniel Gredler
>            Priority: Minor
>         Attachments: ant-path-filter.patch
>
>
> The existing codebase has an implicit optional dependency from camel-core to 
> camel-spring; camel-core contains the class AntPathMatcherGenericFileFilter, 
> which internally uses camel-spring's SpringAntPathMatcherFileFilter class via 
> runtime classpath checks and reflection. The reason that 
> SpringAntPathMatcherFileFilter is in camel-spring is that it uses Spring's 
> AntPathMatcher class internally. Interestingly, there is already an 
> AntPathMatcher class with an API very similar to Spring's class in the 
> camel-core-xml module.
> This patch moves camel-core-xml's AntPathMatcher into camel-core, removes the 
> classpath and reflection magic in camel-core's 
> AntPathMatcherGenericFileFilter class, and adds a new class to camel-core 
> named GenericFileFilterConverter, which automagically converts strings to ant 
> path file filters. The patch also adds some unit tests.
> The end result is that Camel users can now use ant path matching with the 
> file and FTP components without having to add a dependency on camel-spring, 
> and Camel users can specify the ant path expression to use directly in the 
> component querystring, rather than having to go through the work of 
> registering an additional file filter instance in the registry (although this 
> is only true when the user only needs to specify a single include path, which 
> is a very common use case). For example:
> from("file://target/blah?recursive=true&filter=**/*.txt")
>   .to(...);
> Instead of:
> from("file://target/blah?recursive=true&filter=#myTxtFilter")
>   .to(...);

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to