[rules-users] For loop inside a modify block problem

Martin A wmlsub at gmail.com
Wed Jan 11 05:07:52 EST 2012


hi Thomas,

Yes, there are probably many workarounds, including your proposal, also
moving the for loop inside the doSomethingElse() function, but what I'm
wondering is what's wrong with this syntax :))

Thank you

2012/1/11 Swindells, Thomas <TSwindells at nds.com>

>  You could try assigning $item to a local variable and then using that
> within the for loop?****
>
> ** **
>
> Thomas****
>
> ** **
>
> *From:* rules-users-bounces at lists.jboss.org [mailto:
> rules-users-bounces at 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 at 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 at 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);****
>
>     for (int i = 0; i < $item.quantity; i++) {****
>
>         $gsc.doSomethingElse($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 at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users****
>
> ** **
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users****
>
> ** **
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at 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 at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120111/002ecee7/attachment.html 


More information about the rules-users mailing list