[ 
https://issues.apache.org/jira/browse/CAMEL-4779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13173452#comment-13173452
 ] 

Daniel Gredler commented on CAMEL-4779:
---------------------------------------

I can do that, but I would be worried about losing the commit history for files 
that aren't moved via the appropriate SVN commands. Are you sure that's what 
you want me to do?

Another thing I was thinking about: the patch makes the "filter" attribute 
easier to use in most scenarios, but it might be better to leave it as is and 
provide explicit "include" and "exclude" options instead. This would allow us 
to cover the use cases where the user wants to provide more fine-grained file 
selection criteria, and still keeps it easy to use for the common use case. 
Unfortunately there are already "include" and "exclude" options that are 
interpreted as regex right now... maybe "antInclude" and "antExclude"? What do 
you think? Is the approach in the patch fine, or should we think about creating 
two new include/exclude options on the file component instead?
                
> 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
>             Fix For: 2.9.1
>
>         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