+ private PolicyMsg getDefaultPolicyMsg(VesAlarm rootAlarm, String packageName) {
+ PolicyMsg policyMsg = new PolicyMsg();
+ policyMsg.setRequestID(getUniqueRequestId(rootAlarm));
+ policyMsg.setClosedLoopControlName(closedLoopControlNameCache.get(packageName));
+ policyMsg.setClosedLoopAlarmStart(rootAlarm.getStartEpochMicrosec());
+ policyMsg.setTarget("vserver.vserver-name");
+ policyMsg.setTargetType("VM");
+ policyMsg.getAai().put("vserver.vserver-name", rootAlarm.getSourceName());
+ if (rootAlarm.getAlarmIsCleared() == PolicyMassgeConstant.POLICY_MESSAGE_ABATED) {
+ policyMsg.setClosedLoopAlarmEnd(rootAlarm.getLastEpochMicrosec());
+ policyMsg.setClosedLoopEventStatus(EVENT_STATUS.ABATED);
+ }
+ return policyMsg;
+ }
+
+ private String getUniqueRequestId(VesAlarm rootAlarm) {
+ String alarmUniqueKey = "";
+ if (rootAlarm.getAlarmIsCleared() == PolicyMassgeConstant.POLICY_MESSAGE_ABATED) {
+ alarmUniqueKey =
+ rootAlarm.getSourceId() + ":" + rootAlarm.getEventName().replace("Cleared", "");
+ } else {
+ alarmUniqueKey = rootAlarm.getSourceId() + ":" + rootAlarm.getEventName();
+ }
+ if (uniqueRequestIdCache.containsKey(alarmUniqueKey)) {
+ return uniqueRequestIdCache.get(alarmUniqueKey);
+ } else {
+ String requestID = UUID.randomUUID().toString();
+ uniqueRequestIdCache.put(alarmUniqueKey, requestID);
+ return requestID;
+ }
+ }
+
+ private void enrichVnfInfo(VmEntity vmEntity, VesAlarm childAlarm, PolicyMsg policyMsg) {
+ String vnfId = "";
+ String vnfName = "";
+ if (null != childAlarm) {
+ vnfId = childAlarm.getSourceId();
+ vnfName = childAlarm.getSourceName();
+ } else {
+ Relationship relationship = vmEntity.getRelationshipList()
+ .getRelationship(PolicyMassgeConstant.GENERIC_VNF);
+ if (null != relationship) {
+ vnfId = relationship.getRelationshipDataValue(PolicyMassgeConstant.GENERIC_VNF_VNF_ID);
+ vnfName = relationship.getRelatedToPropertyValue(PolicyMassgeConstant.GENERIC_VNF_VNF_NAME);
+ }
+ }
+ VnfEntity vnfEntity = getVnfEntity(vnfId, vnfName);
+ String vserverInstatnceId = getVserverInstanceId(vnfEntity);
+ policyMsg.getAai().put("generic-vnf.vnf-id", vnfId);
+ policyMsg.getAai().put("generic-vnf.service-instance-id", vserverInstatnceId);
+ }
+
+