Restarting jobs in producer supervision
[nonrtric.git] / enrichment-coordinator-service / src / main / java / org / oransc / enrichment / repository / EiJob.java
index 79f62f8..46602f3 100644 (file)
 
 package org.oransc.enrichment.repository;
 
-import org.immutables.gson.Gson;
-import org.immutables.value.Value;
+import java.lang.invoke.MethodHandles;
+import java.time.Instant;
+
+import lombok.Builder;
+import lombok.Getter;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
- * Represents the dynamic information about a Near-RT RIC.
+ * Represents the dynamic information about a EI job
  */
-@Value.Immutable
-@Gson.TypeAdapters
-public interface EiJob {
+@Builder
+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;
+
+    @Getter
+    private final String jobStatusUrl;
 
-    String id();
+    @Getter
+    @Builder.Default
+    private String lastUpdated = Instant.now().toString();
 
-    String typeId();
+    @Getter
+    @Builder.Default
+    private boolean isLastStatusReportedEnabled = true;
 
-    String owner();
+    public void setLastReportedStatus(boolean isEnabled) {
+        this.isLastStatusReportedEnabled = isEnabled;
+        logger.debug("Job status id: {}, enabled: {}", this.isLastStatusReportedEnabled, isEnabled);
+    }
 
-    Object jobData();
 }