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>

> 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 <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
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to