From 6f4b15df2c0711f042a930eed614c826704954e9 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Sun, 4 Nov 2018 14:33:36 -0500 Subject: Cleanup all Param objects when any rules change Fix license date for new junit test. Updated some comments. Ensured different control loop names in different rule sets of new junit test. Used different mechanism for examining facts in new junit test. Fixed typo in comment. Changed the way new junit checks for existence of facts. Fixed another typo in comment. Updated clean-up rules in CLC template and added junit test to verify that Params are cleaned up appropriately. Removed code that retracts $manager objects so that the manager clean-up rule will be used, instead, thus ensuring that all associated objects are deleted when the manager is deleted. This was done for amsterdam, CLC, and casablanca templates. Added an extra fireAllRules() after calls to fireUntilHalt() to enable clean-up rules to fire in junit tests. Address Josh's review comments. Enhance junit test to compare actual object references to ensure that Param objects are as expected. Change-Id: If1fefd3f57e417180c62a3849defbaa6ae83afc1 Issue-ID: POLICY-1248 Signed-off-by: Jim Hahn --- .../src/main/resources/__closedLoopControlName__.drl | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'controlloop/templates/archetype-cl-casablanca') diff --git a/controlloop/templates/archetype-cl-casablanca/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl b/controlloop/templates/archetype-cl-casablanca/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl index f2aa7ef16..dc585261c 100644 --- a/controlloop/templates/archetype-cl-casablanca/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl +++ b/controlloop/templates/archetype-cl-casablanca/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl @@ -337,8 +337,9 @@ rule "EVENT.MANAGER" $clName, $params.getPolicyName() + "." + drools.getRule().getName()); retract($manager.getOnsetEvent()); - retract($manager); - retract($clTimer); + + // don't retract manager, etc. - a clean-up rule will do that + // // TODO - what if we get subsequent Events for this RequestID? // By default, it will all start over again. May be confusing for Ruby. @@ -381,8 +382,8 @@ rule "EVENT.MANAGER" $clName, $params.getPolicyName() + "." + drools.getRule().getName()); retract($manager.getOnsetEvent()); - retract($manager); - retract($clTimer); + + // don't retract manager, etc. - a clean-up rule will do that } } } else { @@ -434,8 +435,8 @@ rule "EVENT.MANAGER" PolicyEngine.manager.deliver("POLICY-CL-MGT", notification); retract($event); - retract($manager); - retract($clTimer); + + // don't retract manager, etc. - a clean-up rule will do that if(result.getB() != null) { retract(result.getB()); @@ -468,8 +469,8 @@ rule "EVENT.MANAGER" PolicyEngine.manager.deliver("POLICY-CL-MGT", notification); retract($event); - retract($manager); - retract($clTimer); + + // don't retract manager, etc. - a clean-up rule will do that } end -- cgit 1.2.3-korg