[rules-users] How to check for a variable number of "conditions" ina rule?
Edson Tirelli
tirelli at post.com
Wed Jul 23 14:40:24 EDT 2008
Ron, if your global is set before ***asserting facts**** to the working
memory and not changed anymore, you can use it.
Also, make sure your array or whatever is an attribute of a class, and so
has some semantic to it.
You can do things like this:
when
MyArrayContainer( $flags : flags )
Number( intValue >= SOME_GLOBAL_THRESHOLD ) from
accumulate( $f : Flag( value == SOME_GLOBAL_VALUE ) from $flags,
count( $f ) )
then
// threshold met
end
Another options is just create a holder class for your globals and
assert it as a fact instead of using globals:
when
MyParameters( $threshold : threshold, $value : value )
MyArrayContainer( $flags : flags )
Number( intValue >= $threshold ) from
accumulate( $f : Flag( value == $flags ) from $flags,
count( $f ) )
then
// threshold met
end
Hope it helps,
Edson
2008/7/23 Ron Kneusel <oneelkruns at hotmail.com>:
>
> Mike,
>
> I think the collect will work, I'll have to look at it more closely because
> the ordering of elements in the array is significant so I'm not sure I can
> just break the elements up into facts and let collect group them however it
> will.
>
> As a follow up, while my solution of using a global in the LHS works, is
> the problem with changing the global simply that the engine will not see the
> changes? For my case, the global is set before the rules engine is called
> and it will not change while the engine runs.
>
> Ron
>
> Mike wrote:
>
> >Have a look at the "Alarms" example for "Collect" in the (4.0.5) manual.
> >
> >This should give you a good starting point.
> >
> >Cheers,
> >
> >Mike
>
> _________________________________________________________________
> With Windows Live for mobile, your contacts travel with you.
>
> http://www.windowslive.com/mobile/overview.html?ocid=TXT_TAGLM_WL_mobile_072008
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080723/bc5ba246/attachment.html
More information about the rules-users
mailing list