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();
}