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();
- EiType type();
+ @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();
}