Update of EI Data Producer API
[nonrtric.git] / enrichment-coordinator-service / src / main / java / org / oransc / enrichment / repository / EiProducer.java
index 99932a7..d5423ae 100644 (file)
@@ -21,6 +21,8 @@
 package org.oransc.enrichment.repository;
 
 import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
 
 import lombok.Getter;
 
@@ -32,22 +34,20 @@ public class EiProducer {
     private final Collection<EiType> eiTypes;
 
     @Getter
-    private final String jobCreationCallbackUrl;
-
-    @Getter
-    private final String jobDeletionCallbackUrl;
+    private final String jobCallbackUrl;
 
     @Getter
     private final String producerSupervisionCallbackUrl;
 
+    private final Set<String> enabledJobs = new HashSet<>();
+
     private int unresponsiveCounter = 0;
 
-    public EiProducer(String id, Collection<EiType> eiTypes, String jobCreationCallbackUrl,
-        String jobDeletionCallbackUrl, String producerSupervisionCallbackUrl) {
+    public EiProducer(String id, Collection<EiType> eiTypes, String jobCallbackUrl,
+        String producerSupervisionCallbackUrl) {
         this.id = id;
         this.eiTypes = eiTypes;
-        this.jobCreationCallbackUrl = jobCreationCallbackUrl;
-        this.jobDeletionCallbackUrl = jobDeletionCallbackUrl;
+        this.jobCallbackUrl = jobCallbackUrl;
         this.producerSupervisionCallbackUrl = producerSupervisionCallbackUrl;
     }
 
@@ -67,4 +67,16 @@ public class EiProducer {
         return this.unresponsiveCounter == 0;
     }
 
+    public synchronized void setJobEnabled(EiJob job) {
+        this.enabledJobs.add(job.getId());
+    }
+
+    public synchronized void setJobDisabled(EiJob job) {
+        this.enabledJobs.remove(job.getId());
+    }
+
+    synchronized boolean isJobEnabled(EiJob job) {
+        return this.enabledJobs.contains(job.getId());
+    }
+
 }