[
https://issues.jboss.org/browse/DROOLS-1474?page=com.atlassian.jira.plugi...
]
Mario Fusco commented on DROOLS-1474:
-------------------------------------
This is a totally different requirement from the one regarding the accumulate. The
accumulate node actually processes all the accumulated items and also keeps them in its
memory to support the reverse operation. Conversely the exists node only matches the first
positive occurrence and never evaluates all possible others at all. Evaluating all objects
that could match the exists condition will uselessly and dramatically slow down the
engine.
This requirement could be possibly fulfilled by plugging in a different implementation of
the exists node (enabled through a builder option), but in my opinion the effort to
implement this solution largely overcome the advantages.
Activation.getObjectsDeep() should include "exists"
elements too
----------------------------------------------------------------
Key: DROOLS-1474
URL:
https://issues.jboss.org/browse/DROOLS-1474
Project: Drools
Issue Type: Enhancement
Components: core engine
Affects Versions: 7.0.0.Beta6
Reporter: Geoffrey De Smet
Assignee: Mario Fusco
_Give them a finger and they'll want a hand. Give them a hand and they'll want an
arm._ (dutch proverb)
The Activation.getObjectDeeps() method introduced for DROOLS-1470 that also includes the
accumulates elements, should also include the exists elements. For example:
{code}
when
$c : Computer(id = "c1")
exists Process(computer == $c)
then ...
{code}
with this data
{code}
Computer c1;
Computer c2;
Computer c3;
Process pA = new Process(c1);
Process pB = new Process(c2);
Process pC = new Process(c1);
Process pD = new Process(c3);
{code}
gives this result
{code}
activation.getObjectsDeep() // includes c1, pA and pC.
{code}
The goal is to identify all objects that matched when this rule got fired. In a negative
score rule, all those objects are to blame and by focusing to change any of those,
it's more likely to improve the overall solution.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)