[rules-users] 'or' with predicate/return val/inline eval with property issue?

Michal Bali michalbali at yahoo.ie
Wed Nov 21 09:21:19 EST 2007


Hi Edson,

I've created new JIRA issue - JBRULES-1337

Thank you for your time on this.
Regards,
Michal


----- Original Message ----
From: Edson Tirelli <tirelli at post.com>
To: difranr at alumni.pitt.edu; Rules Users List <rules-users at lists.jboss.org>
Sent: Wednesday, 21 November, 2007 12:48:54 PM
Subject: Re: [rules-users] 'or' with predicate/return val/inline eval with property issue?


    Ronald,

    In my tests, it works if you use a simple constraint. The problem only happens with constraints that use semantic code.
    I tracked down the problem and it is in the LogicTransformer that is used when an "or" CE is present.


    []s
    Edson

2007/11/21, Ronald R. DiFrango <ron.difrango at gmail.com>:
One question do you get different reslts if you do the folowing for the first rule:

Message(  message == "somethingDifferent" ) # this should never match

All I did was eliminate the eval and the explicit call to equals


On Nov 21, 2007 4:05 AM, Michal Bali <
michalbali at yahoo.ie> wrote:



Hi,

I have following rule that should never fire, but it does :)

package com.sample
import com.sample.DroolsTest.*

;
rule "ruleThatShouldNeverFire"
       when
               Message(  eval("somethingDifferent".equals(message)) ) # this should never match
               SomeBeanA( ) or SomeBeanB( )

       then

               System.out.println( drools.getRule().getName() + " fired and shouldn't" );
end

stateful ruleSession with following
 insertions:
           Message message = new Message();
           message.setMessage(  "Hello World" );
           workingMemory.insert( message );
           workingMemory.insert( new SomeBeanA() );

           workingMemory.insert( new SomeBeanB() );

It behaves the same way if we use predicates or retun values:
           #Message(  msg : message -> ("somethingDifferent".equals (msg)) ) # this should never match

           #Message(  message == ("somethingDifferent".equals (message)) ) # this should never match

It looks like the AlphaNode is missing from
 the Rete network.

Tested with Drools 4.0.3. Java build 1.5.0_11-b03.

Any ideas if this is a bug or am I doing something wrong?

Thanks.
Regards,
Michal



Send instant messages to your online friends 
http://uk.messenger.yahoo.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





-- 
  Edson Tirelli
  JBoss Drools Core Development
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646

  JBoss, a division of Red Hat @ www.jboss.com





Send instant messages to your online friends http://uk.messenger.yahoo.com 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20071121/1b3f9cd5/attachment.html 


More information about the rules-users mailing list