[
https://issues.jboss.org/browse/DROOLS-3282?page=com.atlassian.jira.plugi...
]
Edoardo Vacchi updated DROOLS-3282:
-----------------------------------
Description:
Current implementation moves to next agend group if current agenda group is empty. This is
unexpected, and in part detrimental in the impl of units: it is not possible to suspend
execution of rules by switching to an empty group, because the engine will move to the
next group anyway:
{code}
return nextRule != null && (!ruleAgendaItem.getAgendaGroup().equals(
nextRule.getAgendaGroup() ) || !isHigherSalience(nextRule));
{code}
because the change in behavior is potentially backwards incompatible we add a flag
{{keepWhenEmpty}} that must be set to {{true}} when we want to enable this new behavior
was:
return nextRule != null && (!ruleAgendaItem.getAgendaGroup().equals(
nextRule.getAgendaGroup() ) || !isHigherSalience(nextRule));
Should not move to next AgendaGroup even if current is empty
------------------------------------------------------------
Key: DROOLS-3282
URL:
https://issues.jboss.org/browse/DROOLS-3282
Project: Drools
Issue Type: Bug
Reporter: Edoardo Vacchi
Assignee: Edoardo Vacchi
Priority: Major
Labels: drools-core
Current implementation moves to next agend group if current agenda group is empty. This
is unexpected, and in part detrimental in the impl of units: it is not possible to suspend
execution of rules by switching to an empty group, because the engine will move to the
next group anyway:
{code}
return nextRule != null && (!ruleAgendaItem.getAgendaGroup().equals(
nextRule.getAgendaGroup() ) || !isHigherSalience(nextRule));
{code}
because the change in behavior is potentially backwards incompatible we add a flag
{{keepWhenEmpty}} that must be set to {{true}} when we want to enable this new behavior
--
This message was sent by Atlassian Jira
(v7.12.1#712002)