]
Hiroko Miura updated DROOLS-4896:
---------------------------------
Summary: Accumulate: min with BigDecimal doesn't work as expected when
drools.propertySpecific=ALLOWED (was: Accumulate: min with BigDecimal doesn't work as
expected when drools.propertySpecific=ALWAYS)
Accumulate: min with BigDecimal doesn't work as expected when
drools.propertySpecific=ALLOWED
---------------------------------------------------------------------------------------------
Key: DROOLS-4896
URL:
https://issues.redhat.com/browse/DROOLS-4896
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.14.0.Final, 7.26.0.Final, 7.31.0.Final
Reporter: Hiroko Miura
Assignee: Mario Fusco
Priority: Major
Labels: support
Attachments: bigdecimal-accumulate-test.zip
Regarding accumulate, min function with BigDecimal does not work as expected when
drools.propertySpecific is "ALLOWED".
The following rule worked with BRMS6.1.4(6.2.0.Final-redhat-13).
{noformat}
rule "rule1_BigDecimal"
agenda-group "BigDecimal"
when
accumulate( Fact( $bdVal: bdVal), $minVal : min($bdVal))
accumulate( Fact( $bdVal2: bdVal, $bdVal2 > $minVal), $minVal2 :
min($bdVal2))
$minFact: Fact( bdVal == new BigDecimal($minVal.intValue()))
$minFact2: Fact( bdVal == new BigDecimal($minVal2.intValue()))
then
...
end
{noformat}
But after upgrading to RHPAM 7 and setting drools.propertySpecific=ALWAYS, this does not
work.
i.e. rule fires one more time than expected even though there is only one fact at the
last iteration.