Hi

No that information is currently not enriched on the exchange. The CBR
/ filter eip stores a boolean if it matched or not.

exchange.setProperty(Exchange.FILTER_MATCHED, matches);

Though we could also add another key to store the predicate itself

exchange.setProperty(Exchange.FILTER_MATCHED_PREDICATE, predicate);

Though its the runtime predicate instance, and if you want to store
some human readable detail about the predicate, the best you have is a
.toString of it.



On Fri, Dec 19, 2014 at 7:44 PM, Behrad <behr...@gmail.com> wrote:
> I want to persist which predicate of a CBR has been matched in my message
> body. Is any better way than this?
>
> from "seda:test" routeId "test" choice
> when( pred1 ) transform setBody(updatedObjectWithPred1Id ) to "somewhere"
> when( pred2 ) transform setBody(updatedObjectWithPred2Id ) to "somewhere2"
> otherwise  transform setBody(updatedObjectWithNoMatchId ) to "somewhere3"
>
> --
> --Behrad



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cib...@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/

Reply via email to