OK - thanks.

/Bengt


2013/8/15 Claus Ibsen <[email protected]>

> There should be non static methods on simple language to create a
> predicate.
>
> On Thu, Aug 15, 2013 at 1:43 PM, Bengt Rodehav <[email protected]> wrote:
> > Thanks Claus.
> >
> > I do believe that the "PredicateBuilder.toPredicate" method I use does
> take
> > an expression as a parameter and returns a Predicate. Which method
> should I
> > have used?
> >
> > /Bengt
> >
> >
> >
> >
> > 2013/8/15 Claus Ibsen <[email protected]>
> >
> >> Hi
> >>
> >> This is because you use the simple language "wrong" as you create an
> >> expression, and NOT a predicate.
> >>
> >> I have logged a ticket to improve on this, so you have static methods
> >> to easily create a predicate
> >> https://issues.apache.org/jira/browse/CAMEL-6639
> >>
> >> On Thu, Aug 15, 2013 at 9:49 AM, Bengt Rodehav <[email protected]>
> wrote:
> >> > My original code that has been working for 2-3 years looks like this:
> >> >
> >> > *Predicate emptyFile =
> >> > PredicateBuilder.toPredicate(SimpleLanguage.simple("${file:length} ==
> >> 0"));
> >> >
> >> >
> >>
> interceptFrom().when(emptyFile).setHeader("recipient").simple("file://${file:parent}/skipped/${date:now:yyyyMMdd}").recipientList(header("recipient")).stop();
> >> > *
> >> >
> >> > For some reason, when using Camel 2.11.0, the above code causes all
> files
> >> > to be skipped (even the non-empty ones). I have found another way of
> >> doing
> >> > this that works with Camel 2.11.0. It looks as follows:
> >> >
> >> > *
> >> >
> >>
> interceptFrom().when(header("CamelFileLength").isEqualTo(0)).setHeader("recipient").simple("file://${file:parent}/skipped/${date:now:yyyyMMdd}").recipientList(header("recipient")).stop();
> >> > *
> >> >
> >> > I'm not sure what is happening. Since I have a workaround I'm OK but
> it
> >> > seems like the behaviour of the SimpleLanguage has changed somehow.
> Could
> >> > be a bug or at least something worth documenting.
> >> >
> >> > Any thoughts?
> >> >
> >> > /Bengt
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > 2013/8/14 Bengt Rodehav <[email protected]>
> >> >
> >> >> Thanks for the tip. It would probably be good enough although I also
> >> want
> >> >> to move the empty files to a dedicated directory to clearly show what
> >> took
> >> >> place.
> >> >>
> >> >> Do you know f the syntax for checking the file length has changed in
> >> >> Simple language (or rather File language)? Looking at the
> documentation
> >> I
> >> >> can't see that I'm doing anything wrong.
> >> >>
> >> >> /Bengt
> >> >>
> >> >>
> >> >> 2013/8/14 Claus Ibsen <[email protected]>
> >> >>
> >> >>> See also the readLockMinLength option
> >> >>>
> >> >>> On Wed, Aug 14, 2013 at 4:26 PM, Bengt Rodehav <[email protected]>
> >> wrote:
> >> >>> > I have recently upgraded Camel to version 2.11.0. In my file
> transfer
> >> >>> > services I have used a predicate together with interceptors to
> avoid
> >> >>> > transferring empty files but instead move them into a subfolder
> >> called
> >> >>> > "skipped". However, this has stopped working. My predicate looks
> like
> >> >>> this:
> >> >>> >
> >> >>> > *Predicate emptyFile =
> >> >>> >
> PredicateBuilder.toPredicate(SimpleLanguage.simple("${file:length} ==
> >> >>> 0"));
> >> >>> > *
> >> >>> >
> >> >>> > I'm not exactly sure in what version this functionality broke but
> I'm
> >> >>> sure
> >> >>> > it worked in version 2.7.1.
> >> >>> >
> >> >>> > Is there a better way to do this in Camel 2.11.0?
> >> >>> >
> >> >>> > /Bengt
> >> >>>
> >> >>>
> >> >>>
> >> >>> --
> >> >>> Claus Ibsen
> >> >>> -----------------
> >> >>> Red Hat, Inc.
> >> >>> Email: [email protected]
> >> >>> Twitter: davsclaus
> >> >>> Blog: http://davsclaus.com
> >> >>> Author of Camel in Action: http://www.manning.com/ibsen
> >> >>>
> >> >>
> >> >>
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> Red Hat, Inc.
> >> Email: [email protected]
> >> Twitter: davsclaus
> >> Blog: http://davsclaus.com
> >> Author of Camel in Action: http://www.manning.com/ibsen
> >>
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: [email protected]
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
>

Reply via email to