You could try assigning $item to a local variable and then using that within 
the for loop?

Thomas

From: rules-users-boun...@lists.jboss.org 
[mailto:rules-users-boun...@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.ans...@gmail.com<mailto:michael.ans...@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 <wml...@gmail.com<mailto:wml...@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 
<dso...@gmail.com<mailto:dso...@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-block-problem-tp3648460p3648718.html
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 
postmas...@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
**************************************************************************************
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to