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(a)lists.jboss.org [mailto:rules-users-
bounces(a)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(a)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(a)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(a)gmail.com>:
>> > Sorry, I don't use guided editors.
>> > -W
>> >
>> > On 25 March 2011 18:17, Benson Fung <benson.redhat(a)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(a)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(a)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(a)lists.jboss.org
>> >> >>
https://lists.jboss.org/mailman/listinfo/rules-users
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > rules-users mailing list
>> >> > rules-users(a)lists.jboss.org
>> >> >
https://lists.jboss.org/mailman/listinfo/rules-users
>> >> >
>> >> >
>> >>
>> >> _______________________________________________
>> >> rules-users mailing list
>> >> rules-users(a)lists.jboss.org
>> >>
https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> >
>> > _______________________________________________
>> > rules-users mailing list
>> > rules-users(a)lists.jboss.org
>> >
https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> >
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users(a)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(a)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
**************************************************************************************