[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