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

Claus Ibsen commented on CAMEL-4779:
------------------------------------

Yeah I guess people may want to do ant style include/excludes. However the file 
component have a lot of options already, so we should be a bit careful adding 
new stuff.

The ANT filter itself supports multiple includes/excludes, for more complex 
scenarios. So people can fallback and do as today for those situations.

But I agree it would be nice to do ANT includes in the uri directly.
{code}
antInclude=**/*.txt&antExclude=**/backup-*
{code}

And then we do not need the type converter, which was sort of a "smart hack". 

Maybe give it a go and try with the antInclude and antExclude options.
And possible add a validation check that if you use antInclude/antExclude then 
the regular filter option is not supported.
                
> 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