Is there a way, when using the JSR94 api for  Drools and using a 
StatefulRuleSession to find only those facts that  have changed upon execution 
of the executeRules method?  I  understand, as with all rules engines, that 
executing all the rules in  the fact base can assert new facts, retract 
existing ones, and update  existing ones.  So the real question is, can you get 
just the  facts that currently exist in the working memory that were changed or 
 added by the last executeRules() method call?
  
  Here is the basic sequence:
  (1) load a base set of lots of facts into the fact base
  (2) assert a few more facts
  (3) executeRules & find which facts changes (& still exist)
  (4) assert a few more facts
  (5) executeRules & find which facts changes (& still exist)
  
  I thought that a way to do this might be to use the StatefulRuleSession 's 
getObjects() method that takes a <javax.rules.ObjectFilter>  parameter.  
However, I looked at the drools jsr94 code base (the  online cvs repository) 
and didn't see any implementation of the  ObjectFilter class.  Is this the case 
-- Object filter is not  implemented and not currently supported by drools' 
jsr94  implementation?  If it is implemented, could someone tell me how  to use 
it, what its uses are, etc?
  
  Is there another approach that will let me get just those objects from  the 
StatefulRuleSession that have changed upon calling executeRules?
  
  Thanks!
  

Reply via email to