X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=enrichment-coordinator-service%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fenrichment%2Frepository%2FEiType.java;h=803fcba78b033e9815f39a8ea19256f8ed7af96d;hb=ebf3211ddd6e634ca9c0a2fec56abd1f12c7625d;hp=997484d80945559c25c8070167073fd1ad94452a;hpb=6f86ab364ac739951556bf2d5bf70429b518de47;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..803fcba7 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.id(), producer); + } + + public synchronized EiProducer removeProducer(EiProducer producer) { + return this.producers.remove(producer.id()); + } }