[jboss-jira] [JBoss JIRA] (DROOLS-3510) Decision table unable to generate rule for row with pattern without constraint

Andre Piwoni (Jira) issues at jboss.org
Fri Jan 11 12:30:00 EST 2019


Andre Piwoni created DROOLS-3510:
------------------------------------

             Summary: Decision table unable to generate rule for row with pattern without constraint
                 Key: DROOLS-3510
                 URL: https://issues.jboss.org/browse/DROOLS-3510
             Project: Drools
          Issue Type: Bug
          Components: decision tables
    Affects Versions: 7.15.0.Final
            Reporter: Andre Piwoni
            Assignee: Mario Fusco
         Attachments: failingDecisionTable.xlsx

When second condition refers to a field of a variable bound in first condition and there exists row/rule without condition constraint than decision table compiler fails to generate rules. See attachment.

Expected rules to be generated:


{code:java}
rule "Test_1"
	when
		$factA:FactA(hasSomething == "true")
		$numberOfFactsB: Number(this > 0, this <= 1) from accumulate(FactB(x == 1) from $factA.listOfFactsB,count(1))	
	then
		insert(X);
end

rule "Test_2"
	when
		$factA:FactA(hasSomething == "true")
		$numberOfFactsB: Number(this > 1, this <= 2) from accumulate(FactB(x == 1) from $factA.listOfFactsB,count(1))	
	then
		insert(X);
end

rule "Test_3"
	when
		$factA:FactA()
		$numberOfFactsB: Number(this > 2, this <= 3) from accumulate(FactB(x == 1) from $factA.listOfFactsB,count(1))	
	then
		insert(Y);
end

{code}

Also, there does not seem an alternative way to generate following rule using decision table:


{code:java}
rule "Test"
	when
		$factA:FactA($factsB: listOfFactsB)
		$numberOfFactsB: Number(this > 1) from accumulate(FactB(x == 1) from $factsB,count(1))	
	then
		insert(Y);
end
{code}





--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list