On Mon, Jan 28, 2013 at 10:14 PM, bp <bhaskar.d...@gmail.com> wrote:
> Hi,
>
> If you would see my Route pasted below,I am using simple language in when
> condition (e.g.<when>
>           <simple>${body.entity.subject} == 'Advertising'</simple>).
> Instead of above statement I want something like:
>           <simple>${body.entity.subject} ==
> InquiryTypeEnum.ADVERTISING.nameValue()</simple>).
>
> I don't to achieve above whether simple language is okay or not. I was
> trying with javaScript but no luck.
>

You cannot do this with the simple language.
You can use groovy, mvel, ognl or other strong languages for that.
http://camel.apache.org/languages



> Thank you in advance for the help.
>
> Here is my route:
> <route id="other.inquiry.mailer"  >
>       <from uri="direct:goToOther"/>
>       <unmarshal ref="xstream" />
>       <convertBodyTo type="com.ebates.domain.inquiry.Message" />
>           <transacted ref="required" />
>
>       <choice>
>         <when>
>           <simple>${body.entity.email} != null</simple>
>       <setHeader
> headerName="X-Email-Type"><simple>${body.emailType}</simple></setHeader>
>       <setHeader
> headerName="X-autologin"><simple>${body.loginHeader}</simple></setHeader>
>       <to uri="bean:debugProcessor"/>
>       <choice>
>       <when>
>           <simple>${body.entity.subject} == 'Advertising'</simple>
>         <setHeader
> headerName="to"><simple>${properties:cs.inquiry.advertising.emailaddress}</simple></setHeader>
>       </when>
>       <when>
>           <simple>${body.entity.subject} == 'Affiliate Program'</simple>
>           <setHeader
> headerName="to"><simple>${properties:cs.inquiry.affiliate_program.emailaddress}</simple></setHeader>
>       </when>
>       <otherwise>
>           <setHeader
> headerName="to"><simple>${properties:cs.inquiry.default.emailaddress}</simple></setHeader>
>       </otherwise>
>       </choice>
>     <setHeader
> headerName="subject"><simple>${body.entity.subject}</simple></setHeader>
>     <setHeader
> headerName="from"><simple>${body.entity.email}</simple></setHeader>
>       <to ref="otherInquiryVelocity" />
>       <to uri="direct:toConsumer"/>
>
>     </when>
> </choice>
>  </route>
>
> Here is my Java enum:
>
> public enum InquiryTypeEnum implements Serializable, BaseEnum {
>
>     ADVERTISING(2L, "Advertising"),
>
>     AFFILIATE_PROGRAM(3L, "Affiliate Program"),
>
>     BECOME_AN_EBATES_MERCHANT(6L, "Become an Ebates Merchant"),
>
>     CASH_BACK_CHECK(10L, "Cash Back Check"),
>
>     private final String name;
>     private final Long value;
>
>     private InquiryTypeEnum(final Long v, final String n) {
>         this.value = v;
>         this.name = n;
>     }
>
>     public static InquiryTypeEnum fromValue(final Long v) {
>         for (final InquiryTypeEnum c : InquiryTypeEnum.values()) {
>             if (c.value.equals(v)) {
>                 return c;
>             }
>         }
>
>         return null;
>     }
>
>     public static InquiryTypeEnum fromValue(final String n) {
>         for (final InquiryTypeEnum c : InquiryTypeEnum.values()) {
>             if (c.name.equalsIgnoreCase(n)) {
>                 return c;
>             }
>         }
>
>         return null;
>     }
> }
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/How-do-I-use-Java-Enum-instead-of-a-string-into-my-route-in-spring-xml-tp5726445.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cib...@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to