Change rule retrieval from CBS to ConfigMap
[holmes/rule-management.git] / rulemgt / src / test / resources / ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b.drl
1 package org.onap.holmes.droolsRule;
2
3 import org.onap.holmes.common.dmaap.DmaapService;
4 import org.onap.holmes.common.api.stat.VesAlarm;
5 import org.onap.holmes.common.aai.CorrelationUtil;
6 import org.onap.holmes.common.dmaap.entity.PolicyMsg;
7 import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;
8 import org.onap.holmes.common.utils.DroolsLog;
9  
10
11 rule "Relation_analysis_Rule"
12 salience 200
13 no-loop true
14     when
15         $root : VesAlarm(alarmIsCleared == 0,
16             $sourceId: sourceId, sourceId != null && !sourceId.equals(""),
17                         $sourceName: sourceName, sourceName != null && !sourceName.equals(""),
18                         $startEpochMicrosec: startEpochMicrosec,
19             eventName in ("Fault_MultiCloud_VMFailure"),
20             $eventId: eventId)
21         $child : VesAlarm( eventId != $eventId, parentId == null,
22             CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),
23             eventName in ("Fault_MME_eNodeB out of service alarm"),
24             startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )
25     then
26                 DroolsLog.printInfo("===========================================================");
27                 DroolsLog.printInfo("Relation_analysis_Rule: rootId=" + $root.getEventId() + ", childId=" + $child.getEventId());
28                 $child.setParentId($root.getEventId());
29                 update($child);
30                 
31 end
32
33 rule "root_has_child_handle_Rule"
34 salience 150
35 no-loop true
36         when
37                 $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)
38                 $child : VesAlarm(eventId != $eventId, parentId == $eventId)
39         then
40                 DroolsLog.printInfo("===========================================================");
41                 DroolsLog.printInfo("root_has_child_handle_Rule: rootId=" + $root.getEventId() + ", childId=" + $child.getEventId());
42                 DmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);
43                 PolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, "org.onap.holmes.droolsRule");
44         dmaapService.publishPolicyMsg(policyMsg, "dcae_cl_out");
45                 $root.setRootFlag(1);
46                 update($root);
47 end
48
49 rule "root_no_child_handle_Rule"
50 salience 100
51 no-loop true
52     when
53         $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,
54             sourceId != null && !sourceId.equals(""),
55                         sourceName != null && !sourceName.equals(""),
56             eventName in ("Fault_MultiCloud_VMFailure"))
57     then
58                 DroolsLog.printInfo("===========================================================");
59                 DroolsLog.printInfo("root_no_child_handle_Rule: rootId=" + $root.getEventId());
60                 DmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);
61                 PolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, "org.onap.holmes.droolsRule");
62         dmaapService.publishPolicyMsg(policyMsg, "dcae_cl_out");
63                 $root.setRootFlag(1);
64                 update($root);
65 end
66
67 rule "root_cleared_handle_Rule"
68 salience 100
69 no-loop true
70     when
71         $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)
72     then
73                 DroolsLog.printInfo("===========================================================");
74                 DroolsLog.printInfo("root_cleared_handle_Rule: rootId=" + $root.getEventId());
75                 DmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);
76                 PolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, "org.onap.holmes.droolsRule");
77         dmaapService.publishPolicyMsg(policyMsg, "dcae_cl_out");
78                 retract($root);
79 end
80
81 rule "child_handle_Rule"
82 salience 100
83 no-loop true
84     when
85         $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)
86     then
87                 DroolsLog.printInfo("===========================================================");
88                 DroolsLog.printInfo("child_handle_Rule: childId=" + $child.getEventId());
89                 retract($child);
90 end