Hans,
I checked the docs and as Edson says it should work without the
exists( ).
Strange that never worked for me.
Maybe we all learn something if you can carve out a test-case.
Strange.
--I
Am 31.07.2008 um 19:29 schrieb ringsah(a)comcast.net:
Ingomar,
I tried this, and indeed that worked. I was surprised, as I thought
"not" was meant more to mean that a fact inside its parentheses did
not exist, rather than a logical negation, which is the way you used
it in your example. However, if I do what you said, it does work
exactly how I expected "not" alone to work.
Thanks!
-Hans
-------------- Original message --------------
From: Ingomar Otter <iotter(a)mac.com>
> Hans,
> If you change "not NegativeResult()" to "not (exits
> NegativeResult())" this should result in the expected behaviour.
>
> Cheers,
> Ingomar
>
> Am 31.07.2008 um 17:19 schrieb ringsah(a)comcast.net:
>
>> How is "not" supposed to work with insertLogical? Assume I have two
>> different rules whose conditions are mutually exclusive, like the
>> following:
>> rule "Rule One"
>> when
>> not NegativeResult()
>> then
>> insertLogical(new ApplicantStatus("Approved"));
>> end
>> rule "Rule Two"
>> when
>> NegativeResult()
>> then
>> insertLogical(new ApplicantStatus("Denied"));
>> end
>> Assume that the above two rules are the only way an ApplicantStatus
>> fact can be inserted into working memory. I would expect, after all
>> rules are run, that it would be impossible for there to be one
>> ApplicantStatus with "Approved" as its reason, and another with
>> "Denied" as its reason, in the working memory.
>> I would expect that, before any NegativeResult is inserted, that
>> rule one could run, and insert an ApplicantStatus fact with an
>> "Approved" reason. Then, after a NegativeResult is inserted, that
>> rule two could run, and insert an ApplicantStatus fact with a
>> "Denied" reason. At this point I would expect that the original
>> ApplicantStatus fact, with an "Approved" reason, would be retracted,
>> since the conditions under which it was inserted are no longer true.
>> This is not what I am observing, however. I am finding
>> ApplicantStatus facts with both reasons in working memory at the end
>> of the rules run. Should "not" work as I expect with regard to
>> inserting a fact via insertLogical()? Or is this a known limitation,
>> or simply the way it is designed to work?
>> Thanks,
>> -Hans_______________________________________________
>> 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
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users