diff options
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/serviceorder')
-rw-r--r-- | src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java | 4 | ||||
-rw-r--r-- | src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java | 38 |
2 files changed, 27 insertions, 15 deletions
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java b/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java index f9724f9..57cb6b5 100644 --- a/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java +++ b/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java @@ -77,7 +77,7 @@ public class SoClient { } catch (BackendFunctionalException e) { LOGGER.error("error on calling " + url + " ," + e); - return new ResponseEntity<>(e.getHttpStatus()); + return new ResponseEntity(e.getBodyResponse(),e.getHttpStatus()); } catch (ResourceAccessException e) { LOGGER.error("error on calling " + url + " ," + e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); @@ -101,7 +101,7 @@ public class SoClient { } catch (BackendFunctionalException e) { LOGGER.error("error on calling " + url + " ," + e); - return new ResponseEntity<>(e.getHttpStatus()); + return new ResponseEntity(e.getBodyResponse(),e.getHttpStatus()); } catch (ResourceAccessException e) { LOGGER.error("error on calling " + url + " ," + e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); 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 3f9b556..7c954ff 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 @@ -83,7 +83,7 @@ public class SOTaskProcessor { ServiceOrder serviceOrder = serviceOrderService.findServiceOrderById(serviceOrderInfo.getServiceOrderId()); ServiceOrderItem serviceOrderItem = getServiceOrderItem(executionTask, serviceOrder); boolean e2eService = E2EServiceUtils.isE2EService(serviceOrderInfo.getServiceOrderItemInfos().get(serviceOrderItem.getId())); - + if (StateType.ACKNOWLEDGED == serviceOrderItem.getState()) { if (e2eService) { ResponseEntity<CreateE2EServiceInstanceResponse> response = postE2EServiceOrderItem(serviceOrderInfo, @@ -104,7 +104,7 @@ public class SOTaskProcessor { pollE2ESoRequestStatus(serviceOrder, serviceOrderItem); else pollSoRequestStatus(serviceOrder, serviceOrderItem); - + if (serviceOrderItem.getState().equals(StateType.COMPLETED)) { updateSuccessTask(executionTask); } else { @@ -143,7 +143,7 @@ public class SOTaskProcessor { } return response; } - + private ServiceOrderItem getServiceOrderItem(ExecutionTask executionTask, ServiceOrder serviceOrder) { for (ServiceOrderItem item : serviceOrder.getOrderItem()) { if (item.getId().equals(executionTask.getOrderItemId())) { @@ -187,12 +187,26 @@ public class SOTaskProcessor { default: break; } - if(response!=null && response.getStatusCode()== HttpStatus.INTERNAL_SERVER_ERROR) { - serviceOrderService.addOrderMessage(serviceOrder, "502"); - } + buildOrderMessageIfNeeded(serviceOrderItem, serviceOrder, response); return response; } + private void buildOrderMessageIfNeeded(ServiceOrderItem serviceOrderItem, ServiceOrder serviceOrder, + ResponseEntity<?> response) { + if(response!=null) + { + if(response.getStatusCode()== HttpStatus.INTERNAL_SERVER_ERROR) { + serviceOrderService.addOrderMessage(serviceOrder, "502"); + } + if(response.getStatusCode()== HttpStatus.BAD_REQUEST) { + ResponseEntity<?> messageError=response; + if(messageError.getBody().toString().toLowerCase().contains("serviceinstance already exists")){ + serviceOrderService.addOrderItemMessage(serviceOrder, serviceOrderItem, "105"); + } + } + } + } + private ResponseEntity<CreateE2EServiceInstanceResponse> postE2ESORequest(ServiceOrderItem serviceOrderItem, ServiceOrderInfo serviceOrderInfo, ServiceOrder serviceOrder) { ServiceModel service = buildE2ESoRequest(serviceOrderItem, serviceOrderInfo.getServiceOrderItemInfos().get(serviceOrderItem.getId()).getCatalogResponse(), serviceOrderInfo.getSubscriberInfo(), serviceOrder); @@ -208,12 +222,10 @@ public class SOTaskProcessor { default: break; } - if(response!=null && response.getStatusCode()== HttpStatus.INTERNAL_SERVER_ERROR) { - serviceOrderService.addOrderMessage(serviceOrder, "502"); - } + buildOrderMessageIfNeeded(serviceOrderItem, serviceOrder, response); return response; } - + private void updateServiceOrder(ServiceOrder serviceOrder) { boolean atLeastOneCompleted = false; boolean atLeastOneNotFinished = false; @@ -335,7 +347,7 @@ public class SOTaskProcessor { } } } - + /** * Build SO CREATE request from the ServiceOrder and catalog informations from SDC * @@ -388,7 +400,7 @@ public class SOTaskProcessor { return requestDetails; } - + /** * Build E2E SO CREATE request from the ServiceOrder and catalog informations from SDC * @@ -517,7 +529,7 @@ public class SOTaskProcessor { } } } - + /** * Update an executionTask in database when it's process with a success * |