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%2FEiProducer.java;h=63e5d4c947b4f935d80ace7e9b446a687246b5fe;hb=647744d8ab625d28ea0ecda3e6741e23ba9b0bc7;hp=30e62de3596bccd1f2c13de078308ff9a2c7027a;hpb=ebf3211ddd6e634ca9c0a2fec56abd1f12c7625d;p=nonrtric.git diff --git a/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiProducer.java b/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiProducer.java index 30e62de3..63e5d4c9 100644 --- a/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiProducer.java +++ b/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiProducer.java @@ -22,18 +22,45 @@ package org.oransc.enrichment.repository; import java.util.Collection; -import org.immutables.gson.Gson; -import org.immutables.value.Value; +import lombok.Getter; -@Value.Immutable -@Gson.TypeAdapters -public interface EiProducer { - public String id(); +public class EiProducer { + @Getter + private final String id; - public Collection eiTypes(); + @Getter + private final Collection eiTypes; - public String jobCreationCallbackUrl(); + @Getter + private final String jobCallbackUrl; - public String jobDeletionCallbackUrl(); + @Getter + private final String producerSupervisionCallbackUrl; + + private int unresponsiveCounter = 0; + + public EiProducer(String id, Collection eiTypes, String jobCallbackUrl, + String producerSupervisionCallbackUrl) { + this.id = id; + this.eiTypes = eiTypes; + this.jobCallbackUrl = jobCallbackUrl; + this.producerSupervisionCallbackUrl = producerSupervisionCallbackUrl; + } + + public synchronized void setAliveStatus(boolean isAlive) { + if (isAlive) { + unresponsiveCounter = 0; + } else { + unresponsiveCounter++; + } + } + + public synchronized boolean isDead() { + return this.unresponsiveCounter >= 3; + } + + public synchronized boolean isAvailable() { + return this.unresponsiveCounter == 0; + } }