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