Slovakia. Beer would be nice ;)
I'll wait for 4.0.4 release. I'm currently using 'eval' (not inline) as a workaround.
Thanks again for your effort.
----- Original Message ----
From: Edson Tirelli <tirelli@post.com>
To: Rules Users List <rules-users@lists.jboss.org>
Sent: Wednesday, 21 November, 2007 6:36:17 PM
Subject: Re: [rules-users] 'or' with predicate/return val/inline eval with property issue?
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:
http://anonsvn.labs.jboss.com/labs/jbossrules/branches/4.0.x/
[]s
Edson
2007/11/21, Michal Bali <michalbali@yahoo.ie>:
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@post.com>
To:
difranr@alumni.pitt.edu; Rules Users List <
rules-users@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@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
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@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
--
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
_______________________________________________
rules-users mailing list
rules-users@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