No idea.. that piece of code works for me, using drools 5.0.1 :-/


2010/5/6 Antonio Neto <antoniosouzan...@gmail.com>

> Oi Miguel,
>
> when I try this in the "doMove" method using the "workingMemory" instead of
> "ksession" I got this error
>
> Exception in thread "main" java.lang.UnsupportedOperationException: this
> is implementedby StatefulKnowledgeImpl
>     at org.drools.reteoo.ReteooWorkingMemory.getFactHandles
> (ReteooWorkingMemory.java:363)
>     ...
>     ...
>
> Any idea?
>
> Obrigado
>
> Antonio
>
>
> 2010/5/6 miguel machado <mls.mach...@gmail.com>
>
> Olá Antonio,
>>
>> // retract all of it just in case
>> for (Object fact : ksession.getFactHandles()) {
>>   ksession.retract((FactHandle) fact);
>> }
>>
>> Hope this helps.
>> _ miguel
>>
>>
>>
>> 2010/5/5 Antonio Neto <antoniosouzan...@gmail.com>
>>
>> Hi,
>>>
>>> Thank you very much for all replies.
>>>
>>> I've tried also with not ( EPackage(...)), but the result is the same.
>>>
>>> I think that I remove the EClass from the facts in my solution, but they
>>> continue in my workingMemory.
>>>
>>> How I can see the facts of the workingMemory object (and how remove it)?
>>>
>>> Thanks
>>>
>>> Best regards
>>>
>>> Antonio
>>>
>>> 2010/5/5 <fgad...@genigraph.fr>
>>>
>>>> Hi Antonio,
>>>> Documentation states that the complement to "not" is "exists", whereas
>>>> "not" keyword is used to match the absence of a fact (in Working Memory),
>>>> and "exists" keyword is used to test the existence of one or more facts (in
>>>> Working memory).
>>>>
>>>> So if you want to test that a fact is not in working memory, then you
>>>> should  use the
>>>> not(MyClass()) pattern.
>>>>
>>>> Hope this helps,
>>>> Francois.
>>>>
>>>> Antonio Neto <antoniosouzan...@gmail.com> a écrit :
>>>>
>>>>
>>>> > Any idea? Please...
>>>> >
>>>> > 2010/5/4 Antonio Neto <antoniosouzan...@gmail.com>
>>>> >
>>>> >> Hi all,
>>>> >>
>>>> >> I don't know exactly why I have a problem in my "exists" function.
>>>> I've
>>>> >> tried many different ways, but it does not work. Anybody could help
>>>> me,
>>>> >> please?
>>>> >>
>>>> >>
>>>> >> I have the following rules:
>>>> >>
>>>> >> *rule "diff"
>>>> >> when
>>>> >>     $var1: EReference(name == "employee")
>>>> >>     $var2: EClass(name == "Company", EAllReferences contains $var1)
>>>> >>     not (exists( EPackage(EClassifiers contains $var2 ) ))
>>>> >> then
>>>> >>     insertLogical(new IntConstraintOccurrence("diff", 10));
>>>> >> end
>>>> >>
>>>> >> rule "ClassesNotReferenced"
>>>> >>     when
>>>> >>         $q1 : EClass();
>>>> >>         $q2 : EPackage(EClassifiers contains $q1);
>>>> >>         not( exists ( EReference(EType == $q1) ));
>>>> >>     then
>>>> >>         insertLogical(new
>>>> IntConstraintOccurrence("ClassesNotReferenced",
>>>> >> 1, $q1));
>>>> >> end*
>>>> >>
>>>> >>
>>>> >> and in my facts (and my EPackage) I have 4 instances of EClass
>>>> "Company"
>>>> >> with a EReference "employee", and another EClass "Person".  I still
>>>> have a
>>>> >> "move" that removes EClasses in my Drools Solver.
>>>> >>
>>>> >> I need to have only one classe "Company" after processing. But it
>>>> removes
>>>> >> only the EClass "Person", when it was supposed to remove one EClass
>>>> "Person"
>>>> >> and 3 ECLasses "Company". Leaving one EClass "Company" in the end.
>>>> >>
>>>> >> The problem is:  when Drools tries to remove a EClass "Person" it
>>>> thinks
>>>> >> that  the EClass "Company" does not exists. But in fact there are 3
>>>> others.
>>>> >>
>>>> >> Any clue about it, please ?
>>>> >>
>>>> >> Thanks
>>>> >>
>>>> >> Bests regards
>>>> >>
>>>> >> Antonio
>>>> >>
>>>> >>
>>>> >>
>>>> >
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>>
>>
>>
>> --
>> "To understand what is recursion you must first understand recursion"
>>
>> _______________________________________________
>> 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
>
>


-- 
"To understand what is recursion you must first understand recursion"
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to