Rework the loop state
[clamp.git] / src / main / java / org / onap / clamp / loop / log / LoopLog.java
index cea4957..3feff25 100644 (file)
@@ -52,7 +52,7 @@ import org.onap.clamp.loop.Loop;
  */
 @Entity
 @Table(name = "loop_logs")
-public class LoopLog implements Serializable {
+public class LoopLog implements Serializable, Comparable<LoopLog> {
     /**
      * The serial version ID.
      */
@@ -68,6 +68,10 @@ public class LoopLog implements Serializable {
     @Enumerated(EnumType.STRING)
     private LogType logType;
 
+    @Expose
+    @Column(name = "log_component", nullable = false)
+    private String logComponent;
+
     @Expose
     @Column(name = "message", columnDefinition = "MEDIUMTEXT", nullable = false)
     private String message;
@@ -83,10 +87,11 @@ public class LoopLog implements Serializable {
     public LoopLog() {
     }
 
-    public LoopLog(String message, LogType logType, Loop loop) {
+    public LoopLog(String message, LogType logType, String logComponent, Loop loop) {
         this.message = message;
         this.logType = logType;
         this.loop = loop;
+        this.logComponent = logComponent;
     }
 
     public Long getId() {
@@ -129,6 +134,14 @@ public class LoopLog implements Serializable {
         this.logInstant = logInstant.truncatedTo(ChronoUnit.SECONDS);
     }
 
+    public String getLogComponent() {
+        return logComponent;
+    }
+
+    public void setLogComponent(String logComponent) {
+        this.logComponent = logComponent;
+    }
+
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -159,4 +172,18 @@ public class LoopLog implements Serializable {
         return true;
     }
 
+    @Override
+    public int compareTo(LoopLog arg0) {
+        // Reverse it, so that by default we have the latest
+        if (getId() == null) {
+            return 1;
+        }
+        if (arg0.getId() == null) {
+            return -1;
+        }
+
+        return arg0.getId().compareTo(this.getId());
+
+    }
+
 }