Hi,
In Drools 3.0, having the RCVRCOUNTRY and SNDRCOUNTRY as attributes
of the same bean, there is no better way of doing than:
when
m: ( (TransactionBean(RCVRCOUNTRY == "IRAQ", SNDRCOUNTRY == "US",
AMOUNT >
"3000")) ||
(TransactionBean(RCVRCOUNTRY == "IRAQ", SNDRCOUNTRY == "UK", AMOUNT
>
"3000")) ||
(TransactionBean(RCVRCOUNTRY == "IRAQ", SNDRCOUNTRY == "CAN", AMOUNT
>
"3000")) ||
(TransactionBean(RCVRCOUNTRY == "IRAN", SNDRCOUNTRY == "US", AMOUNT
>
"3000")) ||
(TransactionBean(RCVRCOUNTRY == "IRAN", SNDRCOUNTRY == "UK", AMOUNT
>
"3000")) ||
(TransactionBean(RCVRCOUNTRY == "IRAN", SNDRCOUNTRY == "CAN", AMOUNT
>
"3000")) )
then
end
In next version you can do:
when
m: TransactionBean( RCVRCOUNTRY == "IRAQ" |== "IRAN", SNDRCOUNTRY ==
"US" |== "CAN" |== "UK" )
then
end
[]s
Edson
rules-dev(a)lists.jboss.org wrote:
Hi,
I am using Drools 3.0
For below rule
RCVRCOUNTRY == IRAQ,IRAN
SNDRCOUNTRY == US,CAN,UK
AMOUNT > 3000
i have to compile the drl with this
m: (TransactionBean(RCVRCOUNTRY == "IRAQ", SNDRCOUNTRY == "US",
AMOUNT >
"3000"))
m: (TransactionBean(RCVRCOUNTRY == "IRAQ", SNDRCOUNTRY == "UK", AMOUNT
>
"3000"))
m: (TransactionBean(RCVRCOUNTRY == "IRAQ", SNDRCOUNTRY == "CAN",
AMOUNT >
"3000"))
m: (TransactionBean(RCVRCOUNTRY == "IRAN", SNDRCOUNTRY == "US", AMOUNT
>
"3000"))
m: (TransactionBean(RCVRCOUNTRY == "IRAN", SNDRCOUNTRY == "UK", AMOUNT
>
"3000"))
m: (TransactionBean(RCVRCOUNTRY == "IRAN", SNDRCOUNTRY == "CAN",
AMOUNT >
"3000"))
Is there any other easier / better way to express this as a valid DRL? using
|
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3124-6000
Mobile: +55 11 9218-4151
JBoss, a division of Red Hat @
www.jboss.com