Fix Bugs Identified by Sonar
[holmes/common.git] / holmes-actions / src / main / java / org / onap / holmes / common / api / stat / VesAlarm.java
index 3cdcb88..ae71ad4 100644 (file)
@@ -27,9 +27,10 @@ import lombok.Setter;
 public class VesAlarm implements Cloneable, Serializable{
     private String domain;
     private String eventId;
-    private String EventName;
+    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;
@@ -51,10 +52,13 @@ public class VesAlarm implements Cloneable, Serializable{
     private Long 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
 
     @Override
     public int hashCode() {
-        return this.version.hashCode();
+        return (this.getSourceId() + this.eventName.replace("Cleared", "")).hashCode();
     }
 
     @Override
@@ -62,7 +66,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
@@ -105,6 +111,8 @@ public class VesAlarm implements Cloneable, Serializable{
         vesAlarm.setFaultFieldsVersion(this.getFaultFieldsVersion());
         vesAlarm.setSpecificProblem(this.getSpecificProblem());
         vesAlarm.setVfStatus(this.vfStatus);
+        vesAlarm.setAlarmIsCleared(this.alarmIsCleared);
+        vesAlarm.setRootFlag(this.rootFlag);
 
         return vesAlarm;
     }