]
Mario Fusco moved RHDM-1586 to DROOLS-5961:
-------------------------------------------
Component/s: core engine
executable model
(was: BRE)
Docs QE Status: NEW
Key: DROOLS-5961 (was: RHDM-1586)
QE Status: NEW
Affects Version/s: (was: 7.9.0.GA)
Workflow: GIT Pull Request workflow (was: CDW with docs v1)
Environment: (was: This issue occurs on RHDM 7.9.0.)
Project: Drools (was: Red Hat Decision Manager)
@watch annotation containing "!*" does not work as expected
in executable model.
--------------------------------------------------------------------------------
Key: DROOLS-5961
URL:
https://issues.redhat.com/browse/DROOLS-5961
Project: Drools
Issue Type: Bug
Components: core engine, executable model
Reporter: Mario Fusco
Assignee: Mario Fusco
Priority: Major
Labels: support
Attachments: reproducer_model_compiler_9b.zip
Executing a rule like (\*1) in executable rule model, the rule is evaluated repeatedly.
In this rule, re-evaluation occurs in executable model though {{@watch(!\*)}} annotation
is specified to the pattern like (\*1-1). {{@watch}} annotation containing {{!\*}} as
below does not work as expected, as well as {{@watch(!\*)}}.
- {{@watch(!\*, point2)}}
- {{@watch(!\*, point1)}}
- {{@watch(point1, !\*)}}
On the other hand, {{@watch}} not containing {{!\*}}, for example, {{@watch(!point1,
point2)}} or {{@watch(!point1, point3)}}, works as expected.
(\*1)
{noformat}
package com.example.reproducer
dialect "mvel"
rule "rule9b3"
when
$fact : Fact( $point1 : point1, $point2 : point2 ) @watch(!*) // ..... (*1-1)
then
System.out.println("***** Action of \"rule9b3\" -- $fact = "
+ $fact + ", $point1 = " + $point1 + ", $point2 = " + $point2);
$point1 = $point1.add($point2);
modify($fact) {
point1 = $point1,
point3 = $point1
}
end
{noformat}