That would be cool, indeed ;-)
I did not find any JIRA issue about that parser improvement.
Should I open a new one for this subject ?

Regards,
/Xavier

On Thu, Feb 3, 2011 at 2:16 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:

> On Thu, Feb 3, 2011 at 1:58 PM, Xavier Coulon <xcou...@gmail.com> wrote:
> > Hello Claus,
> >
> > Thanks a lot for your quick answer !
> > My mistake, indeed. I did not may enough attention to the syntax, I was
> > focusing on the regex itself...
> >
>
> Yeah the parser is a bit "simple". One day we will have a better
> indexer and AST so we can generate better error messages for invalid
> syntax.
>
>
> > Best regards,
> > /Xavier
> >
> > On Thu, Feb 3, 2011 at 1:44 PM, Claus Ibsen <claus.ib...@gmail.com>
> wrote:
> >
> >> Hi
> >>
> >> Pay attention to how to use operators as documented
> >> http://camel.apache.org/simple
> >>
> >> You need to have a single space before and after the operator. Do not
> use a
> >> dot.
> >>
> >> <simple>${in.body}.regex '^D1.*$'</simple>
> >>
> >> Should be
> >>
> >> <simple>${in.body} regex '^D1.*$'</simple>
> >>
> >>
> >> On Thu, Feb 3, 2011 at 1:30 PM, Xavier Coulon <xcou...@gmail.com>
> wrote:
> >> > Hello,
> >> >
> >> > I'm currently working with Camel (version 2.4.0-fuse-00-00, as
> provided
> >> in
> >> > Fuse ESB 4.3) to perform data integration from a file. The initial
> input
> >> is
> >> > a flat file which is splitted by line.
> >> > At one point, I have the following route :
> >> >
> >> > <choice>
> >> > <when>
> >> > <simple>${in.body}.regex '^D1.*$'</simple>
> >> > <to uri="seda:dataintegration.filtered.elements" />
> >> > </when>
> >> > <otherwise>
> >> > <to uri="seda:dataintegration.ignored.elements" />
> >> > </otherwise>
> >> > </choice>
> >> >
> >> > The goal of this route is to send line that begin with a "D1" to the
> uri
> >> > named "seda:dataintegration.filtered.elements", while the remaining
> >> elements
> >> > are not treated for now. They are sent to another uri, for logging
> >> purpose
> >> > in an output file.
> >> >
> >> > Hélas, all the messages are sent to
> >> > the "seda:dataintegration.filtered.elements" URI, whatever the
> beginning
> >> of
> >> > the line is (D0, D1, D2, etc.)
> >> >
> >> > In the output log of my test case, I have the following traces:
> >> >
> >> > 10:46:24.135 [Camel Thread 1 -
> seda://dataintegration.incoming.elements]
> >> > DEBUG o.a.camel.processor.SendProcessor - >>>>
> >> > Endpoint[seda://dataintegration.filtered.elements] Exchange[Message:
> >> D03xxx]
> >> > 10:46:24.135 [Camel Thread 2 -
> seda://dataintegration.filtered.elements]
> >> > DEBUG o.a.camel.processor.SendProcessor - >>>>
> >> > Endpoint[mock://test:filtered] Exchange[Message: D03xxx]
> >> > 10:46:24.135 [Camel Thread 2 -
> seda://dataintegration.filtered.elements]
> >> > DEBUG o.a.c.component.mock.MockEndpoint - mock://test:filtered >>>> 1
> :
> >> > Exchange[Message: D03xxx] with body: D03xxx]
> >> >
> >> > My testcase uses of mock endpoint to catch the messages. In the traces
> >> > above, the "mock:filtered" endpoint received a message whose body
> starts
> >> > with D03 (I removed the remaining of the body as it is not relevant
> >> here).
> >> >
> >> > Any idea on what's wrong this my route definition ?
> >> >
> >> > Thank you in advance.
> >> > Regards,
> >> >
> >> > --
> >> > Xavier
> >> >
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> FuseSource
> >> Email: cib...@fusesource.com
> >> Web: http://fusesource.com
> >> Twitter: davsclaus
> >> Blog: http://davsclaus.blogspot.com/
> >> Author of Camel in Action: http://www.manning.com/ibsen/
> >>
> >
> >
> >
> > --
> > Xavier
> >
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: cib...@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>



-- 
Xavier

Reply via email to