You could try assigning $item to a local variable and then using that within the for
loop?
Thomas
From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On
Behalf Of Martin A
Sent: 11 January 2012 10:02
To: Rules Users List
Subject: Re: [rules-users] For loop inside a modify block problem
hi Michael,
All of the fields are public, however they are properties of a super class of Item. I
tried with getters, doesn't work either way.
Still getting: 'no such identifier : $item'. When I remove the for loop, it goes
ok, so I think it messes up things.
Best regards,
Martin
2012/1/11 Michael Anstis
<michael.anstis@gmail.com<mailto:michael.anstis@gmail.com>>
RHS is not DRL syntax but Java or MVEL depending on your dialect.
If "id" is not public you should use it's getter. The same goes for
"quantity".
when
$item : Item(param1 != 0, param2 == 0, !(this instanceof SpecialItem))
$gsc : SomeBusinessLogic
then
$gsc.doSomething($item.getId() );
for (int i = 0; i < $item.getQuantity(); i++) {
$gsc.doSomethingElse($item.getId() );
}
update($gsc);
end
2012/1/11 Martin A <wmlsub@gmail.com<mailto:wmlsub@gmail.com>>
Hi, Davide,
Here is how my rule looks like :
when
$item : Item(param1 != 0, param2 == 0, !(this instanceof SpecialItem))
$gsc : SomeBusinessLogic
then
$gsc.doSomething($item.id<http://item.id/>);
for (int i = 0; i < $item.quantity; i++) {
$gsc.doSomethingElse($item.id<http://item.id/>);
}
update($gsc);
end
The above snippet throws an error @ i < $item.quantity, and says 'no such
identifier $item'...
I can't figure out what might be causing this.
Thanks
On Tue, Jan 10, 2012 at 10:08 PM, Davide Sottara
<dsotty@gmail.com<mailto:dsotty@gmail.com>> wrote:
Did you remember to bind $item to some expression in the LHS ? Maybe you just
called that "item" without the $ :)
Davide
(the original "modify" syntax is still wrong anyway)
--
View this message in context:
http://drools.46999.n3.nabble.com/rules-users-For-loop-inside-a-modify-bl...
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org<mailto:rules-users@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
**************************************************************************************