Hi Edson, 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. Michal ----- Original Message ---- From: Edson Tirelli <[EMAIL PROTECTED]> To: Rules Users List <[email protected]> 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 <[EMAIL PROTECTED]>: Hi Edson, I've created new JIRA issue - JBRULES-1337 Thank you for your time on this. Regards, Michal ----- Original Message ---- From: Edson Tirelli < [EMAIL PROTECTED]> To: [EMAIL PROTECTED]; Rules Users List < [email protected]> 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 < [EMAIL PROTECTED]>: 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 < [EMAIL PROTECTED]> 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 [email protected] https://lists.jboss.org/mailman/listinfo/rules-users _______________________________________________ rules-users mailing list [email protected] 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 [email protected] 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 [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
