[jboss-jira] [JBoss JIRA] Resolved: (JBRULES-2398) Rule not fired when using 'in (0)' condition and another rule with condition ' == null' exists
Mark Proctor (JIRA)
jira-events at lists.jboss.org
Wed May 18 01:53:00 EDT 2011
[ https://issues.jboss.org/browse/JBRULES-2398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Proctor resolved JBRULES-2398.
-----------------------------------
Fix Version/s: 5.2.0.CR1
Resolution: Done
This doesn't fail on master, for 5.2. I'm comitting the unit test to catch regressions.
> Rule not fired when using 'in (0)' condition and another rule with condition ' == null' exists
> ----------------------------------------------------------------------------------------------
>
> Key: JBRULES-2398
> URL: https://issues.jboss.org/browse/JBRULES-2398
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: drools-compiler (expert)
> Affects Versions: 5.0.1.FINAL
> Environment: Windows Xp Pro, Java 1.5.07
> Reporter: Jaroslaw Wosik
> Assignee: Mark Proctor
> Labels: in_condition, interference, rule_not_fired
> Fix For: 5.2.0.CR1
>
> Attachments: test_case.zip
>
>
> When following package is used:
> package BROKEN_TEST;
> import pl.wosik.conversion.BrokenTest.Holder;
> rule "_12"
>
> salience 3
> activation-group "BROKEN"
> when
> $a : Holder(value in (0))
> then
> System.out.println("setting 0");
> $a.setOutcome("setting 0");
> end
> rule "_13"
>
> salience 2
> activation-group "BROKEN"
> when
> $a : Holder(value in (1))
> then
> System.out.println("setting 1");
> $a.setOutcome("setting 1");
> end
> rule "_22"
>
> salience 1
> activation-group "BROKEN"
> when
> $a : Holder(value == null)
> then
> System.out.println("setting null");
> $a.setOutcome("setting null");
> end
> Rule "_12" will not be fired even when Holder.value is 0 because some strange interference between it's and rule _22's condition (note that _22 won't be fired as expected).
> When "Holder(value in (0))" is changed into "Holder(value == 0)" or "Holder(value in (0,9))" or the whole rule_22 is removed rule _12 will be fired.
> This issue is important as such seemingly strange "in (0)" condition can be generated from a decision table (as was in my case).
> I will attach a self-contained Test Case.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list