X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dmaap-adaptor-java%2Fsrc%2Fmain%2Fjava%2Forg%2Foran%2Fdmaapadapter%2Frepository%2FJob.java;h=5f7521c37fabfb6af267d7c1a8043292913f5995;hb=f07ca52477eb610cf49c13b2d34f7e2c2eab3f74;hp=d1697e96b8f97b21a06f4ce14fa99b26b8498598;hpb=968b89731a192c2ee3f3393d00519879ad89ce56;p=nonrtric.git diff --git a/dmaap-adaptor-java/src/main/java/org/oran/dmaapadapter/repository/Job.java b/dmaap-adaptor-java/src/main/java/org/oran/dmaapadapter/repository/Job.java index d1697e96..5f7521c3 100644 --- a/dmaap-adaptor-java/src/main/java/org/oran/dmaapadapter/repository/Job.java +++ b/dmaap-adaptor-java/src/main/java/org/oran/dmaapadapter/repository/Job.java @@ -20,39 +20,55 @@ package org.oran.dmaapadapter.repository; +import java.time.Duration; import java.util.regex.Matcher; import java.util.regex.Pattern; import lombok.Getter; import org.immutables.gson.Gson; +import org.oran.dmaapadapter.clients.AsyncRestClient; public class Job { @Gson.TypeAdapters public static class Parameters { - public String filter; - public BufferTimeout bufferTimeout; + @Getter + private String filter; + @Getter + private BufferTimeout bufferTimeout; - public Parameters() { - } + private int maxConcurrency; + + public Parameters() {} - public Parameters(String filter, BufferTimeout bufferTimeout) { + public Parameters(String filter, BufferTimeout bufferTimeout, int maxConcurrency) { this.filter = filter; this.bufferTimeout = bufferTimeout; + this.maxConcurrency = maxConcurrency; } - public static class BufferTimeout { - public BufferTimeout(int maxSize, int maxTimeMiliseconds) { - this.maxSize = maxSize; - this.maxTimeMiliseconds = maxTimeMiliseconds; - } + public int getMaxConcurrency() { + return maxConcurrency == 0 ? 1 : maxConcurrency; + } + } - public BufferTimeout() { - } + @Gson.TypeAdapters + public static class BufferTimeout { + public BufferTimeout(int maxSize, long maxTimeMiliseconds) { + this.maxSize = maxSize; + this.maxTimeMiliseconds = maxTimeMiliseconds; + } - public int maxSize; - public int maxTimeMiliseconds; + public BufferTimeout() {} + + @Getter + private int maxSize; + + private long maxTimeMiliseconds; + + public Duration getMaxTime() { + return Duration.ofMillis(maxTimeMiliseconds); } } @@ -76,7 +92,11 @@ public class Job { private final Pattern jobDataFilter; - public Job(String id, String callbackUrl, InfoType type, String owner, String lastUpdated, Parameters parameters) { + @Getter + private final AsyncRestClient consumerRestClient; + + public Job(String id, String callbackUrl, InfoType type, String owner, String lastUpdated, Parameters parameters, + AsyncRestClient consumerRestClient) { this.id = id; this.callbackUrl = callbackUrl; this.type = type; @@ -88,6 +108,7 @@ public class Job { } else { jobDataFilter = null; } + this.consumerRestClient = consumerRestClient; } public boolean isFilterMatch(String data) {