Michal,
Where are you from? We should pay you a beer for this bug report... :)
Looked like a simple thing, but it was the most annoying bug I had to
deal with in a long time. :(
Thanks for reporting. It is fixed and will be released in 4.0.4 and 4.1.0.
If you want, while 4.0.4 is not released, you can build it yourself from
here:
Hi Edson,
I've created new JIRA issue -
*JBRULES-1337<http://jira.jboss.com/jira/browse/JBRULES-1337>
*Thank you for your time on this.*
*Regards,
Michal
----- Original Message ----
From: Edson Tirelli <tirelli(a)post.com>
To: difranr(a)alumni.pitt.edu; Rules Users List <rules-users(a)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(a)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(a)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(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
>
>
--
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
_______________________________________________
rules-users mailing list
rules-users(a)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 @