[rules-users] How to add application data via StatefulKnowledgeSession

Wolfgang Laun wolfgang.laun at gmail.com
Fri Jul 29 12:42:22 EDT 2011


If the "global" is both modified by rules and investigated by rules: then
it's not a global but a singleton fact.

You can use a global in a condition, but only if the data obtained from the
global is constant over time.

I think that your "container" ought to be a fact.

-W


2011/7/29 Matthew Erler <wires8 at yahoo.com>

> I'm using Drool 5.  I reviewed globals and it looks like it might be
> appropriate for my situation.  I find plenty of documentation on how to use
> a global in a consequence, but none on how to use a global in a condition.
> Do you know if it's possible to use a global in a condition?  My situation
> is that I need to check a container class to see if the container is filled,
> if not then fill the container (the condition would actually be more
> elaborate and include facts but I'm omitting them for the sake of brevity).
> The DRL file would look something like this (the example doesn't work of
> course):
>
>
> global com.example.Container globalContainer;
>
> rule "container full rule"
>   when
>     globalContainer.getContentsFlag() == false
>   then
>     globalContainer.fill(new ContainerContents());
>     globalContainer.setContentsFlag(true);
>
>
> --- On *Fri, 7/29/11, Esteban Aliverti <esteban.aliverti at gmail.com>*wrote:
>
>
> From: Esteban Aliverti <esteban.aliverti at gmail.com>
> Subject: Re: [rules-users] How to add application data via
> StatefulKnowledgeSession
> To: "Rules Users List" <rules-users at lists.jboss.org>
> Date: Friday, July 29, 2011, 3:51 AM
>
> Which version of drools are you using? The document you pointed out seems a
> little bit old.
> Since Drools 5, you can use globals to use application's data in your DRLs.
> If you are using Drools 5 or higher, I suggest you to read the
> documentation about globals.
>
> Best Regards,
>
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>
> Esteban Aliverti
> - Developer @ http://www.plugtree.com
> - Blog @ http://ilesteban.wordpress.com
>
>
> 2011/7/28 Matthew Erler <wires8 at yahoo.com<http://mc/compose?to=wires8@yahoo.com>
> >
>
> Can someone please show me an example where application data is added to
> workingMemory as described here:
> http://docs.codehaus.org/display/DROOLS/Application+Data using
> StatefulKnowledgeSession?
> I have a need to populate an object from a rules file and I don't want that
> object itself to be treated as a rule.  All the examples I can find refer
> to
> the use of ruleBase to get workingMemory.  My code utilizes
> StatefulKnowledgeSession to fire rules and I don't see how to get ruleBase
> or workingMemory from it.  Thanks.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org<http://mc/compose?to=rules-users@lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> -----Inline Attachment Follows-----
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org<http://mc/compose?to=rules-users@lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110729/78add3d3/attachment.html 


More information about the rules-users mailing list