Inserting a fact into Drools' working memory makes it available to the drools engine. I don't think working memory is designed to store your data for your use after the rule engine completes. I think you should employ a parallel mechanism to record your new data so you can access it outside of the rule system. Perhaps you can declare a global object that will provide a method for storing new objects created during rule execution.
  Scott

[EMAIL PROTECTED]'s message received 12/10/2007 4:10 PM:
I understand that part but FNCM_COMMENT is a separate object/fact.
Here's what I'm trying to do:

I have two objects(facts)
  FNAC_CLIENT_CONTROL
  FNCM_COMMENT

I insert(FNAC_CLIENT_CONTROL)
  fireAllRules()

My rule says when FNAC_CLIENT_CONTROL.FNAC_BIRTH_PLACE == "IL"
then insert a new fact that was not previously inserted - FNCM_COMMENT.
I now have 2 facts in WorkingMemory if I understand everything correctly.

When I return to my java program, after the fireAllRules() statement,
I'm hoping to have available to me both the FNAC_CLIENT_CONTROL fact and
the FNCM_COMMENT fact.  Is that true?  Will I have both available?
If so, how do I access the FNCM_COMMENT fact if it's not in the LHS and
I don't have a variable assigned to it?


On Mon, Dec 10, 2007 at 11:01:41PM +0530, Darko IVANCAN wrote:
Hi,

In the BRMS you can assign a variable to your fact in the LHS.
This would then result in:
when
    a : FNAC_CLIENT_CONTROL( FNAC_BIRTH_PLACE == "IL" )
then
   a.set....

good luck,
Darko Ivancan

On 10/12/2007 20:38, [EMAIL PROTECTED] wrote:
Hello,

I am creating all my rules using the BRMS guided rule editor gui.
In the rule editor, I have a rule that looks like this:

WHEN
      FNAC_CLIENT_CONTROL
  FNAC_BIRTH_PLACE is equal to "IL"

THEN
  Assert FNCM_COMMENT FNCM_VARIABLE_DATA "This client lives in Illinois"

When I click the 'View Source' button I see this:

rule "Rule500"
   dialect "mvel"
   when
         FNAC_CLIENT_CONTROL( FNAC_BIRTH_PLACE == "IL" )
   then
         FNCM_COMMENT fact0 = new FNCM_COMMENT();
         fact0.setFNCM_VARIABLE_DATA( "This client lives in Illinois");
         insert( fact0 );
end

After I return from "fireAllRules", how do I reference the newly
asserted fact in my Java code?  Do I reference "fact0" or can I use the
object's "real" name - FNCM_COMMENT.FNCM_VARIABLE_DATA?

"fact0" is just a generated name created by BRMS when it generates the
rule based on what I type in the gui, right?  I'm assuming if I insert
more facts, they would be called fact1, fact2, etc.  If I want to
reference these facts, do I have to keep track of how many I've inserted
then reference the appropriate fact number?  I'm not sure how to
reference these generated fact names after returning from the rule
engine.  Could someone help me?

Thanks,
Rod _______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users



_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users



_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to