Removed MSB Invocation During AAI Calling
[holmes/common.git] / holmes-actions / src / main / java / org / onap / holmes / common / api / stat / VesAlarm.java
index f43d3bd..da378a9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2017 ZTE Corporation.
+ * Copyright 2017-2023 ZTE Corporation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 package org.onap.holmes.common.api.stat;
 
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.TimeZone;
+
 @Getter
 @Setter
 public class VesAlarm implements Cloneable, Serializable{
@@ -29,7 +31,8 @@ public class VesAlarm implements Cloneable, Serializable{
     private String eventId;
     private String eventName;
     private String eventType;
-    private Object internalHeaderFields;
+    //Temporarily make it transient cuz no details of this field is provided and it is not used for now.
+    transient private Object internalHeaderFields;
     private Long lastEpochMicrosec;
     private String nfcNamingCode;
     private String nfNamingCode;
@@ -40,24 +43,27 @@ public class VesAlarm implements Cloneable, Serializable{
     private String sourceId;
     private String sourceName;
     private Long startEpochMicrosec;
-    private Long version;
+    private String version;
 
-    private List<AlarmAdditionalField> alarmAdditionalInformation;
+    private Map<String, String> alarmAdditionalInformation;
     private String alarmCondition;
     private String alarmInterfaceA;
     private String eventCategory;
     private String eventSeverity;
     private String eventSourceType;
-    private Long faultFieldsVersion;
+    private String faultFieldsVersion;
     private String specificProblem;
     private String vfStatus;
     private String parentId;
     private int alarmIsCleared = 0;  //mark as 1 when alarm type is cleared, else mark as 0
     private int rootFlag = 0;        // mark as 1 when alarm is a root alarm , else mark as 0
+    private String nfVendorName;
+    private String vesEventListenerVersion;
+    private TimeZone timeZoneOffset;
 
     @Override
     public int hashCode() {
-        return this.version.hashCode();
+        return (this.getSourceId() + this.eventName.replace("Cleared", "")).hashCode();
     }
 
     @Override
@@ -65,7 +71,9 @@ public class VesAlarm implements Cloneable, Serializable{
         if (object == null || !(object instanceof VesAlarm)) {
             return false;
         }
-        return this.version.equals(((VesAlarm) object).getVersion());
+        return this.eventName.replace("Cleared", "")
+                .equals(((VesAlarm) object).getEventName().replace("Cleared", ""))
+                && this.getSourceId().equals(((VesAlarm) object).getSourceId());
     }
 
     @Override
@@ -88,18 +96,13 @@ public class VesAlarm implements Cloneable, Serializable{
         vesAlarm.setSourceName(this.getSourceName());
         vesAlarm.setStartEpochMicrosec(this.getStartEpochMicrosec());
         vesAlarm.setVersion(this.getVersion());
-
         if (alarmAdditionalInformation != null) {
-            List<AlarmAdditionalField> alarmAdditionalFields = new ArrayList<>();
-            alarmAdditionalInformation.forEach(alarmAdditionalField -> {
-                AlarmAdditionalField alarmAdditionalField1 = new AlarmAdditionalField();
-                alarmAdditionalField1.setName(alarmAdditionalField.getName());
-                alarmAdditionalField1.setName(alarmAdditionalField.getValue());
-                alarmAdditionalFields.add(alarmAdditionalField1);
-            });
-            vesAlarm.setAlarmAdditionalInformation(alarmAdditionalFields);
+           Map<String, String> alarmAdditionalFields = new HashMap<String, String>();
+           for(String key: alarmAdditionalInformation.keySet()) {
+              alarmAdditionalFields.put(key, alarmAdditionalInformation.get(key));
+           }
+          vesAlarm.setAlarmAdditionalInformation(alarmAdditionalFields);
         }
-
         vesAlarm.setAlarmCondition(this.getAlarmCondition());
         vesAlarm.setAlarmInterfaceA(this.getAlarmInterfaceA());
         vesAlarm.setEventCategory(this.getEventCategory());
@@ -110,6 +113,9 @@ public class VesAlarm implements Cloneable, Serializable{
         vesAlarm.setVfStatus(this.vfStatus);
         vesAlarm.setAlarmIsCleared(this.alarmIsCleared);
         vesAlarm.setRootFlag(this.rootFlag);
+       vesAlarm.setVesEventListenerVersion(this.vesEventListenerVersion);
+        vesAlarm.setNfVendorName(this.nfVendorName);
+        vesAlarm.setTimeZoneOffset(this.timeZoneOffset);
 
         return vesAlarm;
     }