I am building my app's rules from decision tables using Drools 4.0.7.
At one point, I expect a particular rule to fire but it never does. The rule 
originally was constrained to the presence of a POJO to store the results of 
the rule's evaluation that is as yet not evaluated and a POJO that containing 
the data to be evaluated. While trying to diagnose why it never fires, I have 
reduced the constraints to the presence of the POJO results container. It still 
doesn't fire.

Excerpts from the initialization and evaluation decision tables (compiled to 
DRL):

# Construct DecisionPoint container to hold results of evaluation
#From row number: 53
rule "Init Plus 5V PS Overtemp"

      salience 65484
      no-loop true
      ruleflow-group "Initialize Testpoint Groups"
      when
      then
            subtestName = "Fault Sum";
            ruleName = "Plus 5V PS Overtemp"; 
serviceProvider.create("DecisionPoint",ruleName);
            dsl.addDebugString("row called " + "IN_52");
end

# Record that  +5V PS Overtemp condition exists in DecisionPoint object
#From row number: 26
rule "Plus 5V PS Overtemp Set"

      salience 65510
      no-loop true
      ruleflow-group "PS Overtemp"
      when
            outputDecision: DecisionPoint(name == "Plus 5V PS Overtemp")
      then
            subtestName = "Fault Sum";
            ruleName = "Plus 5V PS Overtemp";
            ID = "PASSED";
modifyRetract(outputDecision);
outputDecision.setEvaluation(ruleName, ID);
modifyInsert(outputDecision);
            dsl.addDebugString("row called " + "DE_26");
end

Enabling listeners for working memory updates and ruleflow transitions, I see 
that the container is built and added to memory but is not found when the PS 
Overtemp ruleflow group is activated.

Sep 28, 2009 1:52:49 PM 
com.lmco.orts.equipmentFDFI.controller.rules.engine.RulesHelper 
contineStatefulRunWithMoreInputs
INFO: in  continue stateful run (obj). class 
com.lmco.orts.equipmentFDFI.controller.rules.data.DecisionPoint Plus 5V PS 
Overtemp EV_NOT_EVAL
Sep 28, 2009 1:52:49 PM 
com.lmco.orts.equipmentFDFI.controller.rules.data.DecisionPoint getPassed
INFO: [Plus 5V PS Overtemp] passed == false
Sep 28, 2009 1:52:49 PM 
com.lmco.orts.equipmentFDFI.controller.rules.engine.RulesHelper$2 objectInserted
INFO: ~~~~~~~~~~~~~workingmemory Inserted:  DecisionPoint: [Plus 5V PS 
Overtemp] EV_NOT_EVAL
row called IN_52

...

Sep 28, 2009 1:52:57 PM 
com.lmco.orts.equipmentFDFI.controller.rules.engine.RulesHelper$1 
ruleFlowGroupActivated
INFO: RFG Activated: PS Overtemp
Sep 28, 2009 1:52:57 PM 
com.lmco.orts.equipmentFDFI.controller.rules.engine.RulesHelper$1 
ruleFlowGroupDeactivated
INFO: RFG Deactivated: OT Fault Sum
Sep 28, 2009 1:52:57 PM 
com.lmco.orts.equipmentFDFI.controller.rules.engine.RulesHelper$1 
ruleFlowGroupActivated
INFO: RFG Activated: Report Fault Sum Faults
Sep 28, 2009 1:52:57 PM 
com.lmco.orts.equipmentFDFI.controller.rules.engine.RulesHelper$1 
ruleFlowGroupDeactivated
INFO: RFG Deactivated: PS Overtemp

It is probably something obvious, but I am so close to it that I can't see the 
forest for the trees.
J. Matthew Wicks
(856) 359-1115


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

Reply via email to