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: [email protected] [mailto:rules-users- > [email protected]] 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 <[email protected]>: > > 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 <[email protected]> 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 <[email protected]>: > >> > Sorry, I don't use guided editors. > >> > -W > >> > > >> > On 25 March 2011 18:17, Benson Fung <[email protected]> > 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 <[email protected]>: > >> >> > 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 <[email protected]> > 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 > >> >> >> [email protected] > >> >> >> https://lists.jboss.org/mailman/listinfo/rules-users > >> >> > > >> >> > > >> >> > _______________________________________________ > >> >> > rules-users mailing list > >> >> > [email protected] > >> >> > https://lists.jboss.org/mailman/listinfo/rules-users > >> >> > > >> >> > > >> >> > >> >> _______________________________________________ > >> >> rules-users mailing list > >> >> [email protected] > >> >> https://lists.jboss.org/mailman/listinfo/rules-users > >> > > >> > > >> > _______________________________________________ > >> > rules-users mailing list > >> > [email protected] > >> > https://lists.jboss.org/mailman/listinfo/rules-users > >> > > >> > > >> > >> _______________________________________________ > >> rules-users mailing list > >> [email protected] > >> https://lists.jboss.org/mailman/listinfo/rules-users > > > > > > _______________________________________________ > > rules-users mailing list > > [email protected] > > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > > _______________________________________________ > rules-users mailing list > [email protected] > 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 [email protected] 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 ************************************************************************************** _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
