[rules-users] Ask for help on rule authoring

Swindells, Thomas TSwindells at nds.com
Mon Mar 28 04:54:53 EDT 2011


One option is to wrap the expression in an eval
Eg ad : ApplicationData(eval(Integer.parseInt(age) < 0).

A better option is to fix your ApplicationData class so that the type of age is Integer or int.

Thomas

> -----Original Message-----
> From: rules-users-bounces at lists.jboss.org [mailto:rules-users-
> bounces at lists.jboss.org] On Behalf Of Benson Fung
> Sent: 25 March 2011 17:47
> To: Rules Users List
> Subject: Re: [rules-users] Ask for help on rule authoring
>
> so how can I change it to integer in the rule?
>
>
>
> 2011/3/26 Wolfgang Laun <wolfgang.laun at gmail.com>:
> > If it's stored in a fact field of type int: yes.
> >
> > The way you write it: no.
> >
> > -W
> >
> >
> > On 25 March 2011 18:37, Benson Fung <benson.redhat at gmail.com> wrote:
> >>
> >> If the age is String type, can I use Integer.parseInt(age) to change
> >> to integer and then evaluate it?
> >>
> >> like
> >>
> >> when
> >>   ad : ApplicationData(Integer.parseInt(age) < 0)
> >> then
> >>  ad.setReturnMsg("age should not be negative 0")
> >> end
> >>
> >>
> >>
> >>
> >> 2011/3/26 Wolfgang Laun <wolfgang.laun at gmail.com>:
> >> > Sorry, I don't use guided editors.
> >> > -W
> >> >
> >> > On 25 March 2011 18:17, Benson Fung <benson.redhat at gmail.com>
> wrote:
> >> >>
> >> >> Hi Wolfgang,
> >> >>
> >> >> I managed to author this rule(ApplicationData( age == null || age
> ==
> >> >> "" )) via Technical Rules editor of BRMS.
> >> >> However, I cannot create this rule via Business Rule Guided
> Editor of
> >> >> BRMS.
> >> >>
> >> >> Could you let me know how?
> >> >>
> >> >>
> >> >> Thanks
> >> >>
> >> >>
> >> >>
> >> >> 2011/3/26 Wolfgang Laun <wolfgang.laun at gmail.com>:
> >> >> > You can't use a method call as the left hand side operand in a
> >> >> > constraint;
> >> >> > thus
> >> >> >    age.size() == 0
> >> >> > is not correct.
> >> >> >
> >> >> > Do you really mean
> >> >> >    age == "null"
> >> >> >
> >> >> > Probably
> >> >> >   ApplicationData( age == null || age == "" )
> >> >> > is the right thing to do, provided that ApplicationData.age is
> a
> >> >> > String.
> >> >> >
> >> >> > -W
> >> >> >
> >> >> > On 25 March 2011 17:32, Benson Fung <benson.redhat at gmail.com>
> wrote:
> >> >> >>
> >> >> >> Hi,
> >> >> >>
> >> >> >> I got the following rule problem.
> >> >> >>
> >> >> >> The rule is like :
> >> >> >>
> >> >> >> 1.      |       rule "Rule1"
> >> >> >> 2.      |           dialect "mvel"
> >> >> >> 3.      |           when
> >> >> >> 4.      |               ad : ApplicationData( age == "null" ,
> >> >> >> age.size()
> >> >> >> == 0)
> >> >> >> 5.      |           then
> >> >> >> 6.      |               ad.setReturnMsg( "age should not be
> null or
> >> >> >> empty"
> >> >> >> );
> >> >> >> 7.      |       end
> >> >> >>
> >> >> >> where setReturnMsg is a method of ApplicationData Fact();
> >> >> >>
> >> >> >> However, I got the validation error :
> >> >> >>
> >> >> >> [Rule1] [ERR 101] Line 4:49 no viable alternative at input ')'
> in
> >> >> >> rule
> >> >> >> "Rule1" in pattern ApplicationData
> >> >> >> [Rule1] [ERR 102] Line 4:51 mismatched input '==' expecting
> ')' in
> >> >> >> rule "Rule1" in pattern ApplicationData
> >> >> >>
> >> >> >> Please help what the problem is.
> >> >> >>
> >> >> >>
> >> >> >> Thanks
> >> >> >> _______________________________________________
> >> >> >> rules-users mailing list
> >> >> >> rules-users at lists.jboss.org
> >> >> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >> >> >
> >> >> >
> >> >> > _______________________________________________
> >> >> > rules-users mailing list
> >> >> > rules-users at lists.jboss.org
> >> >> > https://lists.jboss.org/mailman/listinfo/rules-users
> >> >> >
> >> >> >
> >> >>
> >> >> _______________________________________________
> >> >> rules-users mailing list
> >> >> rules-users at lists.jboss.org
> >> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >> >
> >> >
> >> > _______________________________________________
> >> > rules-users mailing list
> >> > rules-users at lists.jboss.org
> >> > https://lists.jboss.org/mailman/listinfo/rules-users
> >> >
> >> >
> >>
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users


**************************************************************************************
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster at nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary.

NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00
**************************************************************************************




More information about the rules-users mailing list