summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhalil.cakal <halil.cakal@est.tech>2024-07-16 13:53:05 +0100
committerhalil.cakal <halil.cakal@est.tech>2024-07-16 13:56:28 +0100
commita9ee0abc27d2fdc0dbbd37817737dbd93c3f8a3f (patch)
treeca3d51c48aa135a0536dbd7e610c14f5fd7ae1a7
parentac58e919008c4449b389d3681a6f8aa216cb5f8f (diff)
Separate dmi delay for passthrough operations
- set dmi delay to 670 ms for passthrough write (CUD) - set dmi delay to 300 ms for passthrough read Issue-ID:CPS-2285 Change-Id: I7a4294d3ed04c89aeb5988a9975516135317af12 Signed-off-by: halil.cakal <halil.cakal@est.tech>
-rw-r--r--dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java27
-rw-r--r--dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/resources/application.yml3
-rw-r--r--docker-compose/docker-compose.yml3
3 files changed, 27 insertions, 6 deletions
diff --git a/dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java b/dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java
index 3891d5b72b..d57ed2e5c9 100644
--- a/dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java
+++ b/dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java
@@ -23,6 +23,7 @@ package org.onap.cps.ncmp.dmi.rest.stub.controller;
import static org.onap.cps.ncmp.api.NcmpResponseStatus.SUCCESS;
import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.cloudevents.CloudEvent;
import io.cloudevents.core.builder.CloudEventBuilder;
@@ -69,6 +70,7 @@ import org.springframework.web.bind.annotation.RestController;
public class DmiRestStubController {
private static final String DEFAULT_TAG = "tagD";
+ private static final String DEFAULT_PASSTHROUGH_OPERATION = "read";
private static final String dataOperationEventType = "org.onap.cps.ncmp.events.async1_0_0.DataOperationEvent";
private static final Map<String, String> moduleSetTagPerCmHandleId = new HashMap<>();
private final KafkaTemplate<String, CloudEvent> cloudEventKafkaTemplate;
@@ -80,8 +82,10 @@ public class DmiRestStubController {
private long moduleReferencesDelayMs;
@Value("${delay.module-resources-delay-ms}")
private long moduleResourcesDelayMs;
- @Value("${delay.data-for-cm-handle-delay-ms}")
- private long dataForCmHandleDelayMs;
+ @Value("${delay.read-data-for-cm-handle-delay-ms}")
+ private long readDataForCmHandleDelayMs;
+ @Value("${delay.write-data-for-cm-handle-delay-ms}")
+ private long writeDataForCmHandleDelayMs;
/**
* This code defines a REST API endpoint for adding new the module set tag mapping. The endpoint receives the
@@ -208,7 +212,12 @@ public class DmiRestStubController {
@RequestHeader(value = "Authorization", required = false) final String authorization,
@RequestBody final String requestBody) {
log.info("DMI AUTH HEADER: {}", authorization);
- delay(dataForCmHandleDelayMs);
+ final String passthroughOperationType = getPassthroughOperationType(requestBody);
+ if (passthroughOperationType.equals("read")) {
+ delay(readDataForCmHandleDelayMs);
+ } else {
+ delay(writeDataForCmHandleDelayMs);
+ }
log.info("Logging request body {}", requestBody);
final String sampleJson = ResourceFileReaderUtil.getResourceFileContent(applicationContext.getResource(
@@ -229,7 +238,7 @@ public class DmiRestStubController {
@RequestParam(value = "topic") final String topic,
@RequestParam(value = "requestId") final String requestId,
@RequestBody final DmiDataOperationRequest dmiDataOperationRequest) {
- delay(dataForCmHandleDelayMs);
+ delay(writeDataForCmHandleDelayMs);
try {
log.info("Request received from the NCMP to DMI Plugin: {}",
objectMapper.writeValueAsString(dmiDataOperationRequest));
@@ -312,6 +321,16 @@ public class DmiRestStubController {
return ResourceFileReaderUtil.getResourceFileContent(moduleResponseResource);
}
+ private String getPassthroughOperationType(final String requestBody) {
+ try {
+ final JsonNode rootNode = objectMapper.readTree(requestBody);
+ return rootNode.path("operation").asText();
+ } catch (final JsonProcessingException jsonProcessingException) {
+ log.error("Invalid JSON format. cause : {}", jsonProcessingException.getMessage());
+ }
+ return DEFAULT_PASSTHROUGH_OPERATION;
+ }
+
private void delay(final long milliseconds) {
try {
Thread.sleep(milliseconds);
diff --git a/dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/resources/application.yml b/dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/resources/application.yml
index b78a5b2db5..e1e33542d2 100644
--- a/dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/resources/application.yml
+++ b/dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/src/main/resources/application.yml
@@ -53,7 +53,8 @@ app:
delay:
module-references-delay-ms: ${MODULE_REFERENCES_DELAY_MS:100}
module-resources-delay-ms: ${MODULE_RESOURCES_DELAY_MS:1000}
- data-for-cm-handle-delay-ms: ${DATA_FOR_CM_HANDLE_DELAY_MS:2500}
+ read-data-for-cm-handle-delay-ms: ${READ_DATA_FOR_CM_HANDLE_DELAY_MS:300}
+ write-data-for-cm-handle-delay-ms: ${WRITE_DATA_FOR_CM_HANDLE_DELAY_MS:670}
logging:
level:
diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml
index 2ecd456fc5..86afe78926 100644
--- a/docker-compose/docker-compose.yml
+++ b/docker-compose/docker-compose.yml
@@ -137,7 +137,8 @@ services:
NCMP_ASYNC_M2M_TOPIC: ncmp-async-m2m
MODULE_REFERENCES_DELAY_MS: 100
MODULE_RESOURCES_DELAY_MS: 1000
- DATA_FOR_CM_HANDLE_DELAY_MS: 2500
+ READ_DATA_FOR_CM_HANDLE_DELAY_MS: 300
+ WRITE_DATA_FOR_CM_HANDLE_DELAY_MS: 670
restart: unless-stopped
profiles:
- dmi-stub