aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java
diff options
context:
space:
mode:
authoraleemraja <ar00500721@techmahindra.com>2020-07-16 21:46:19 +0530
committeraleemraja <ar00500721@techmahindra.com>2020-07-16 21:49:43 +0530
commit4dbd4fc629c4c3e8c491ed7fdd904e2ecfa4c0e0 (patch)
tree0d1c9385051b0699ab98497e0aaa744156fe6fd4 /src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java
parent24e99d433cfde855e3e4ce06b6f7fb00f47dad52 (diff)
Preparing the request payload for calling SO macro flow.
- Added JUnit Test cases and Kararte test for service catalog. - Added test case for Execution Task for Macro Flow. - Modified RequestDetails and RequestInfo to match with SO Macro request payload. - Added k8s configuration in application.properties. Issue-ID: EXTAPI-368 Signed-off-by: aleemraja <ar00500721@techmahindra.com> Change-Id: Ibbbbbd2d7021c16ea6291cc899e310ae26200833 Signed-off-by: aleemraja <ar00500721@techmahindra.com>
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java')
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java38
1 files changed, 35 insertions, 3 deletions
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java
index d63d122..fe0938d 100644
--- a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java
+++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java
@@ -24,6 +24,7 @@ import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem;
import org.onap.nbi.apis.serviceorder.model.StateType;
import org.onap.nbi.apis.serviceorder.model.consumer.CreateE2EServiceInstanceResponse;
+import org.onap.nbi.apis.serviceorder.model.consumer.CreateMacroServiceInstanceResponse;
import org.onap.nbi.apis.serviceorder.model.consumer.CreateServiceInstanceResponse;
import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderInfo;
@@ -92,8 +93,10 @@ public class SOTaskProcessor {
updateE2EServiceOrderItem(response, serviceOrderItem, serviceOrder);
} else if (macroService) {
LOGGER.info("Mode type macro");
- //TODO: Add logic to construct SO macro request body and call SO macro flow.(EXTAPI-368)
-
+ // call SO macro flow.(EXTAPI-368)
+ ResponseEntity<CreateMacroServiceInstanceResponse> response = postSoProcessor
+ .postMacroServiceOrderItem(serviceOrderInfo, serviceOrderItem);
+ updateMacroServiceOrderItem(response, serviceOrderItem, serviceOrder);
} else {
ResponseEntity<CreateServiceInstanceResponse> response =
@@ -216,6 +219,35 @@ public class SOTaskProcessor {
}
}
+ /**
+ * Update ServiceOrderItem with SO response by using serviceOrderRepository with the serviceOrderId
+ */
+ private void updateMacroServiceOrderItem(ResponseEntity<CreateMacroServiceInstanceResponse> response,
+ ServiceOrderItem orderItem, ServiceOrder serviceOrder) {
+
+ if (response == null || !response.getStatusCode().is2xxSuccessful()) {
+ LOGGER.warn("response ko for serviceOrderItem.id=" + orderItem.getId());
+ serviceOrderService.updateOrderItemState(serviceOrder, orderItem, StateType.FAILED);
+ buildOrderMessageIfNeeded(orderItem, serviceOrder, response);
+ } else {
+ CreateMacroServiceInstanceResponse createMacroServiceInstanceResponse = response.getBody();
+ if (createMacroServiceInstanceResponse != null && !orderItem.getState().equals(StateType.FAILED)) {
+ orderItem.getService().setId(createMacroServiceInstanceResponse.getRequestReferences().getInstanceId());
+ orderItem.setRequestId(createMacroServiceInstanceResponse.getRequestReferences().getRequestId());
+ }
+
+ if (!response.getStatusCode().is2xxSuccessful() || response.getBody() == null
+ || response.getBody().getRequestReferences() == null) {
+ serviceOrderService.updateOrderItemState(serviceOrder, orderItem, StateType.FAILED);
+ LOGGER
+ .warn("order item {} failed , status {} , response {}", orderItem.getId(), response.getStatusCode(),
+ response.getBody());
+ } else {
+ serviceOrderService.updateOrderItemState(serviceOrder, orderItem, StateType.INPROGRESS);
+ }
+ }
+ }
+
private void updateOrderItemToInProgress(ServiceOrder serviceOrder, ServiceOrderItem serviceOrderItem) {
if (serviceOrderItem.getAction() != ActionType.MODIFY) {
serviceOrderService.updateOrderItemState(serviceOrder, serviceOrderItem, StateType.INPROGRESS);
@@ -341,4 +373,4 @@ public class SOTaskProcessor {
LOGGER.debug("Difference {} and Polling Duration {}", differenceInMillis, pollingDurationInMins);
return (differenceInMillis > pollingDurationInMillis);
}
-}
+} \ No newline at end of file