I was using ArrayList before and I don't think this is the real problem.
collect() will return object compatible with List interface so it is valid
to use size() and get() methods on $removeUs.
I have helper method myhelper.log() with accepts any object and *
myhelper.log($removeUs.get(i))* works for me, unfortunately
*retract($removeUs.get(i))
*doesn't work with error:
Error: unable to resolve method using strict-mode:
org.drools.spi.KnowledgeHelper.drools()] [Near : {...
drools.retract($removeUs ....}]
It looks like it is not even compiled.
2012/11/30 Wolfgang Laun <wolfgang.laun(a)gmail.com>
On 30/11/2012, Martin Minka <martin.minka(a)gmail.com> wrote:
> Thank you for the tip. What solution would you suggest to solve my
problem
> ?
Look into the javadoc of java.util to find any class implementing List :-)
-W
>
> Martin
>
>
> 2012/11/30 Wolfgang Laun <wolfgang.laun(a)gmail.com>
>
>> You cannot use an interfact (List) to instantiate an object, which
>> is happening due to the collect.
>> --W
>>
>> On 30/11/2012, Martin Minka <martin.minka(a)gmail.com> wrote:
>> > I want to keep only 1 fact with id=="aaaa". But this is not
working:
>> >
>> > rule "leave only one"
>> > when
>> > $removeUs : java.util.List(size>1)
>> > from collect(Fact(id=="aaaa")
>> > then
>> > size = $removeUs.size();
>> > for (int i=1; i < size; i++) {
>> > retract($removeUs.get(i));
>> > }
>> > end
>> >
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users