I’ve had problems with decision tables with anything that varied outside the type of getter and setter normally used. To do what you did, I set it up as:

 

 

CONDITION

ACTION

 

Product

 

brand

setGoodBrand($param);

Cases

hoover match case

 TRUE

Brand Check

hoover

 

 

Could be a case-sensitive thing too.

 


From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Costello, Robert
Sent: Monday, January 12, 2009 5:32 PM
To: Rules Users List
Subject: RE: [rules-users] How to access data after rule fires

 

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@lists.jboss.org [mailto:rules-users-bounces@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@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@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