[rules-users] How to access data after rule fires

Edson Tirelli tirelli at post.com
Mon Jan 12 18:57:38 EST 2009


     The action is not being executed. I don't use decision tables
frequently, but I think that it ignores empty cells and is generating an
empty consequence for your rule. Usually, you would place the method call on
the header prototype and the parameter in the cell. So your cell would be:

| hoover | true |
| xyz | false |

     The method prototype would be something like (please check the correct
syntax in the manual):

brand.setGoodBrand( $param );

     Where the engine would replace $param by the value you write in the
cell.

     []s
     Edson

2009/1/12 Costello, Robert <rcost10 at searshc.com>

>  I tried that and it returned false, which doesn't make sense to me since
> the rule firing is to set the value to true, and in the execution the rule
> does fire.
>
>
>
>         StatefulKnowledgeSession session =
> kbase.newStatefulKnowledgeSession();
>
>         Product p = *new* Product();
>
>         p.setBrand("hoover");
>
>         session.insert( p );
>
>         *int* u = session.fireAllRules();
>
>
>
>         System.*out*.println(u + " many rules fired");
>
>         System.*out*.println("is brand good? " + p.isGoodBrand());
>
>
>
> Here's a snippet of the rule (decision table)
>
>
>
>
>
> * *
>
> CONDITION
>
> ACTION
>
> * *
>
> Product
>
> * *
>
> brand
>
> setGoodBrand(true);
>
> *Cases*
>
> hoover match case
>
>
>
> *Brand Check*
>
> hoover
>
> * *
>
>
>
> And the console returns:
>
>
>
> 1 many rules fired
>
> is brand good? false
>
>
>
>
>
>
>
> Robert Costello
>
> Lead Systems Engineer
>
> IMA Performance
>
> E3- 279A
>
> 847.286.0910
>
>
>
>
>
> -----Original Message-----
> *From:* rules-users-bounces at lists.jboss.org [mailto:
> rules-users-bounces at lists.jboss.org] *On Behalf Of *Edson Tirelli
> *Sent:* Monday, January 12, 2009 4:16 PM
> *To:* Rules Users List
> *Subject:* Re: [rules-users] How to access data after rule fires
>
>
>
>
>    Can't you keep the reference to your object while firing the rules?
>
> MyObject x = ...
> ksession.insert( x );
> ksession.fireAllRules();
> boolean result = x.getBooleanAttribute();
>
>     []s
>     Edson
>
> 2009/1/12 Costello, Robert <rcost10 at searshc.com>
>
> So, how do I access data after the rules fire?
>
> If one has a rule which modifies a field on an object (a boolean, for
> example), and you want to return the object after the rules are
> complete, how do you do it?
>
> I tried this using a StatefulKnowledgeSession, getting an object
> collection after the rules fire, but I don't see that this works.
>
> Also googled the heck out of this and looked in all the documentation.
> I must be missing something, because the docs generally are pretty good.
>
>
> Any hints?
>
> Thanks in advance,
>
> Robert Costello
>
>
> _______________________________________________
> 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
>
> _______________________________________________
> 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/20090112/01c97df4/attachment.html 


More information about the rules-users mailing list