Without changing the rules: you might also use a WorkingMemoryEventListener to collect the inserted new Fact objects.
A StatefulKnowledgeSession provides the method getObjects(), with or without a filter, so you might consider using that.
-W
Without knowing your use cases, or what you intended to do with the facts once you retrieve them, I’d suggest that you could simply add them to a global list and examine the list contents after rule processing. For example:
import java.util.List;
global List results;
rule "IWantToTrackMyConsequenceFacts"
when
Type1(filter1 =1)
then
Fact someFact = new Fact();
insert(someFact);
results.add(someFact);
end
Prior to executing the rule(s) you will have to set that global variable to a valid list object with something like this:
knowledgeSession.setGlobal(“results”, new ArrayList());
From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Ruault Gaetan
Sent: Tuesday, July 05, 2011 5:13 PM
To: Rules Users List
Subject: [rules-users] get inserted facts
Hi,
I use drools in stateless Session like this :
session.execute( my_facts_list) ;
and i have many rules like this
when
Type1(filter1 =1)
Then
Insert( new Fact()) ;
Could you explain how it’s possible to retrieve my new facts in java code ?
Thanks.
Gaetan
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users