Map<String, Object> ret = new HashMap<String, Object>();
- StringBuilder sb = new StringBuilder();
+ StringBuilder sbn = new StringBuilder();
+ StringBuilder sbi = new StringBuilder();
for(int i = 0; i < instances.size(); ++i) {
JSONObject o = instances.getJSONObject(i);
- String name = instances.getJSONObject(i).getString("service-instance-name");
- ret.put(name + ".input-parameters", "TBD");
- sb.append(name).append(",");
+ String name = o.getString("service-instance-name");
+ String id = o.getString("service-instance-id");
+ ret.put(id + ".input-parameters", o.getString("input-parameters"));
+ sbn.append(name).append(",");
+ sbi.append(id).append(",");
}
- ret.put("service-instance.service-instance-name", sb.substring(0, sb.length() -1).toString());
+ ret.put("service-instance.service-instance-name", sbn.substring(0, sbn.length() -1).toString());
+ ret.put("service-instance.service-instance-id", sbi.substring(0, sbi.length() -1).toString());
ret.put("vserver.vserver-name", "TBD");
+ ret.put("globalSubscriberId", instances.getJSONObject(0).getString("globalSubscriberId"));
+ ret.put("serviceType", instances.getJSONObject(0).getString("serviceType"));
return ret;
}
when
$a: VesAlarm(eventName.indexOf("Fault_Route_Status") != -1)
then
- updateAaiStatus (
- getAdditionalField($a, "networkId"),
- getAdditionalField($a, "node"),
- getAdditionalField($a, "tp-id"),
- getLogicLink($a),
- getAdditionalField($a, "oper-status")
- );
+ updateAaiStatus (
+ getAdditionalField($a, "networkId"),
+ getAdditionalField($a, "node"),
+ getAdditionalField($a, "tp-id"),
+ getLogicLink($a),
+ getAdditionalField($a, "oper-status")
+ );
end
rule "Set Up Correlation"
no-loop true
salience 200
when
- $a: VesAlarm($id: eventId, $start: startEpochMicrosec, eventName.indexOf("Fault_Route_Status") != -1)
- $b: VesAlarm(eventId != $id, eventName.indexOf("Fault_Route_Status") != -1, Math.abs(startEpochMicrosec - $start) < 60000)
+ $a: VesAlarm($id: eventId,
+ $start: startEpochMicrosec,
+ eventName.indexOf("Fault_Route_Status") != -1)
+ $b: VesAlarm(eventId != $id,
+ eventName.indexOf("Fault_Route_Status") != -1,
+ Math.abs(startEpochMicrosec - $start) < 60000)
then
- if (isCorrelated($a, $b)){
- // If any of the alarms have been marked as root, a policy message has ever been created and sent. Do NOT send it again.
- if ($a.getRootFlag() != 1 && $b.getRootFlag() != 1) {
- PolicyMsg msg = createPolicyMsg($a);
- DmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);
- dmaapService.publishPolicyMsg(msg, "unauthenticated.DCAE_CL_OUTPUT");
- }
- $a.setRootFlag(1);
- $b.setRootFlag(1);
- update($a);
- update($b);
+ if ("down".equalsIgnoreCase(getAdditionalField($a, "oper-status"))
+ && "down".equalsIgnoreCase(getAdditionalField($b, "oper-status"))) {
+ if (isCorrelated($a, $b)){
+ // If any of the alarms have been marked as root, a policy message has ever been created and sent. Do NOT send it again.
+ if ($a.getRootFlag() != 1 && $b.getRootFlag() != 1) {
+ PolicyMsg msg = createPolicyMsg($a);
+ DmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);
+ dmaapService.publishPolicyMsg(msg, "unauthenticated.DCAE_CL_OUTPUT");
+ }
+ $a.setRootFlag(1);
+ $b.setRootFlag(1);
+ update($a);
+ update($b);
+ }
}
end
no-loop true
salience 100
when
- $a: VesAlarm(alarmIsCleared == 1, eventName.indexOf("Fault_Route_Status") != -1)
+ $a: VesAlarm(eventName.indexOf("Fault_Route_Status") != -1)
then
- if (DmaapService.alarmUniqueRequestID.containsKey($a.getEventId())) {
- DmaapService.alarmUniqueRequestID.remove($a.getEventId());
+ if ("up".equalsIgnoreCase(getAdditionalField($a, "oper-status"))) {
+ if (DmaapService.alarmUniqueRequestID.containsKey($a.getEventId())) {
+ DmaapService.alarmUniqueRequestID.remove($a.getEventId());
+ }
+
+ //TODO: send alarm clearing message to Policy - for now it's not needed.
+ //...
+
+ retract($a);
}
-
- //TODO: send alarm clearing message to Policy - for now it's not needed.
- //...
-
- retract($a);
end
\ No newline at end of file