Some changes in status notifications
[nonrtric.git] / enrichment-coordinator-service / src / main / java / org / oransc / enrichment / repository / EiJob.java
index 95bbc03..47ed53c 100644 (file)
 
 package org.oransc.enrichment.repository;
 
-import org.immutables.gson.Gson;
-import org.immutables.value.Value;
+import java.lang.invoke.MethodHandles;
+
+import lombok.Getter;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Represents the dynamic information about a EI job
  */
-@Value.Immutable
-@Gson.TypeAdapters
-public interface EiJob {
 
-    String id();
+public class EiJob {
+    private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
+    @Getter
+    private final String id;
+
+    @Getter
+    private final String typeId;
+
+    @Getter
+    private final String owner;
+
+    @Getter
+    private final Object jobData;
+
+    @Getter
+    private final String targetUrl;
 
-    String typeId();
+    @Getter
+    private final String jobStatusUrl;
 
-    String owner();
+    @Getter
+    private boolean isLastStatusReportedEnabled = true;
 
-    Object jobData();
+    public EiJob(String id, String typeId, String owner, Object jobData, String targetUrl, String jobStatusUrl) {
+        this.id = id;
+        this.typeId = typeId;
+        this.owner = owner;
+        this.jobData = jobData;
+        this.targetUrl = targetUrl;
+        this.jobStatusUrl = jobStatusUrl;
+    }
 
-    String targetUrl();
+    public void setLastReportedStatus(boolean isEnabled) {
+        this.isLastStatusReportedEnabled = isEnabled;
+        logger.debug("Job status id: {}, enabled: {}", this.isLastStatusReportedEnabled, isEnabled);
+    }
 
-    String jobStatusUrl();
 }