[rules-users] Collect Function
Ronald R. DiFrango
ron.difrango at gmail.com
Fri Jan 11 13:39:09 EST 2008
All,
I have the following rule which uses the collect function:
rule "Invalid RR Line"
salience 100
when
rrDetailLine : DetailLine(detailKeyRecNo:keyRecNo != null,
lineNumber != null )
rrHeader : ArrayList( size == 0 ) from collect(RrHeader( keyRecNo !=
detailKeyRecNo ))
then
// logger.debug("Invalid RR Line: " + rrHeader.size());
logger.debug("Invalid RR Line: " + rrDetailLine.getKeyRecNo());
logger.debug("Invalid RR Line: " + rrDetailLine.getLineNumber());
drools.halt();
end
What I am seeing is that if I only have 1 RrHeader in working memory this
rule fails. Th reason I know that there is an RrHeader object is that I
change the rule to the following:
rule "Invalid RR Line"
salience 100
when
rrDetailLine : DetailLine(detailKeyRecNo:keyRecNo != null,
lineNumber != null )
rrHeader : RrHeader( keyRecNo != detailKeyRecNo )
then
// logger.debug("Invalid RR Line: " + rrHeader.size());
logger.debug("Invalid RR Line: " + rrDetailLine.getKeyRecNo());
logger.debug("Invalid RR Line: " + rrDetailLine.getLineNumber());
drools.halt();
end
And it worked just fine.
Thoughts?
Ron
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080111/6acb5218/attachment.html
More information about the rules-users
mailing list