Hi,
In lots of rules in the drools planner examples the accumulate
function is used in this way:
rule "requiredCpuPowerTotal"
when
$computer : CloudComputer($cpuPower : cpuPower)
$requiredCpuPowerTotal : Number(intValue > $cpuPower)
from accumulate(
CloudProcess(
computer == $computer,
$requiredCpuPower : requiredCpuPower),
sum($requiredCpuPower)
)
then
insertLogical(new
IntConstraintOccurrence("requiredCpuPowerTotal",
ConstraintType.NEGATIVE_HARD,
$requiredCpuPowerTotal.intValue() - $cpuPower,
$computer));
end
(example from cloudBalancing).
Though, documentation says
(
http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/#d0e6921)
one should this syntax:
<result pattern> from accumulate( <source
pattern>,
init( <init code> ),
action( <action code>
),
reverse( <reverse
code> ),
result( <result
expression> ) )
Does this mean that the axemples could be optimized and that I
should go for that syntaxt as well rather than using the syntax
like rule "requiredCpuPowerTotal" ?
Thanks