X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=enrichment-coordinator-service%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fenrichment%2Frepository%2FEiType.java;h=a354198acf7e539128264aebe4f109da42c975b0;hb=dddded37b9b321d041a1dc66a3a86112e37b918e;hp=997484d80945559c25c8070167073fd1ad94452a;hpb=d1d085456c485599f6b8aba87b6d761b29c2ecd4;p=nonrtric.git diff --git a/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiType.java b/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiType.java index 997484d8..a354198a 100644 --- a/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiType.java +++ b/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiType.java @@ -20,13 +20,40 @@ package org.oransc.enrichment.repository; -import org.immutables.gson.Gson; -import org.immutables.value.Value; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; -@Value.Immutable -@Gson.TypeAdapters -public interface EiType { - public String id(); +import lombok.Getter; - public Object jobDataSchema(); +public class EiType { + @Getter + private final String id; + + @Getter + private final Object jobDataSchema; + + private final Map producers = new HashMap<>(); + + public EiType(String id, Object jobDataSchema) { + this.id = id; + this.jobDataSchema = jobDataSchema; + } + + public synchronized Collection getProducers() { + return Collections.unmodifiableCollection(producers.values()); + } + + public synchronized Collection getProducerIds() { + return Collections.unmodifiableCollection(producers.keySet()); + } + + public synchronized void addProducer(EiProducer producer) { + this.producers.put(producer.getId(), producer); + } + + public synchronized EiProducer removeProducer(EiProducer producer) { + return this.producers.remove(producer.getId()); + } }