diff options
author | aleemraja <ar00500721@techmahindra.com> | 2020-07-16 21:46:19 +0530 |
---|---|---|
committer | aleemraja <ar00500721@techmahindra.com> | 2020-07-16 21:49:43 +0530 |
commit | 4dbd4fc629c4c3e8c491ed7fdd904e2ecfa4c0e0 (patch) | |
tree | 0d1c9385051b0699ab98497e0aaa744156fe6fd4 /src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java | |
parent | 24e99d433cfde855e3e4ce06b6f7fb00f47dad52 (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.java | 38 |
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 |