aboutsummaryrefslogtreecommitdiffstats
path: root/rest-services/cbs-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'rest-services/cbs-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClient.java')
-rw-r--r--rest-services/cbs-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClient.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/rest-services/cbs-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClient.java b/rest-services/cbs-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClient.java
index 73789268..b9a6e40d 100644
--- a/rest-services/cbs-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClient.java
+++ b/rest-services/cbs-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClient.java
@@ -22,6 +22,9 @@ package org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.time.Duration;
+import java.util.UUID;
+import org.onap.dcaegen2.services.sdk.rest.services.model.logging.ImmutableRequestDiagnosticContext;
+import org.onap.dcaegen2.services.sdk.rest.services.model.logging.RequestDiagnosticContext;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import org.jetbrains.annotations.NotNull;
@@ -41,23 +44,24 @@ public interface CbsClient {
* Returns a {@link Mono} that publishes new configuration after CBS client retrieves one.
*
* @return reactive stream of configuration
+ * @param diagnosticContext diagnostic context as defined in Logging Guideline
* @since 1.1.2
*/
- @NotNull Mono<JsonObject> get();
-
+ @NotNull Mono<JsonObject> get(RequestDiagnosticContext diagnosticContext);
/**
* Poll for configuration.
*
- * Will call {@link #get()} after {@code initialDelay} every {@code period}. Resulting entries may or may not be
+ * Will call {@link #get(RequestDiagnosticContext)} after {@code initialDelay} every {@code period}. Resulting entries may or may not be
* changed, ie. items in the stream might be the same until change is made in CBS.
*
* @param initialDelay delay after first request attempt
* @param period frequency of update checks
* @return stream of configuration states
*/
- default Flux<JsonElement> get(Duration initialDelay, Duration period) {
+ default Flux<JsonObject> get(RequestDiagnosticContext diagnosticContext, Duration initialDelay, Duration period) {
return Flux.interval(initialDelay, period)
- .flatMap(i -> get());
+ .map(i -> ImmutableRequestDiagnosticContext.copyOf(diagnosticContext).withInvocationId(UUID.randomUUID()))
+ .flatMap(this::get);
}
}