Add the CL Name to the Cache when Starting Up
[holmes/engine-management.git] / engine-d / src / main / java / org / onap / holmes / engine / manager / DroolsEngine.java
index b23dde0..2ecea5e 100644 (file)
@@ -38,6 +38,7 @@ import org.drools.runtime.StatefulKnowledgeSession;
 import org.drools.runtime.rule.FactHandle;\r
 import org.jvnet.hk2.annotations.Service;\r
 import org.onap.holmes.common.api.stat.VesAlarm;\r
+import org.onap.holmes.common.dmaap.DmaapService;\r
 import org.onap.holmes.engine.request.DeployRuleRequest;\r
 import org.onap.holmes.common.api.entity.CorrelationRule;\r
 import org.onap.holmes.common.exception.CorrelationException;\r
@@ -101,6 +102,7 @@ public class DroolsEngine {
         for (CorrelationRule rule : rules) {\r
             if (rule.getContent() != null) {\r
                 deployRuleFromDB(rule.getContent());\r
+                DmaapService.loopControlNames.put(rule.getPackageName(), rule.getClosedControlLoopName());\r
             }\r
         }\r
     }\r
@@ -192,6 +194,10 @@ public class DroolsEngine {
     public void putRaisedIntoStream(VesAlarm raiseAlarm) {\r
         FactHandle factHandle = this.ksession.getFactHandle(raiseAlarm);\r
         if (factHandle != null) {\r
+            Object obj = this.ksession.getObject(factHandle);\r
+            if (obj != null && obj instanceof VesAlarm) {\r
+                raiseAlarm.setRootFlag(((VesAlarm) obj).getRootFlag());\r
+            }\r
             this.ksession.retract(factHandle);\r
         }\r
         this.ksession.insert(raiseAlarm);\r