diff options
author | romaingimbert <romain.gimbert@orange.com> | 2018-05-16 14:42:36 +0200 |
---|---|---|
committer | romaingimbert <romain.gimbert@orange.com> | 2018-05-16 14:42:36 +0200 |
commit | 9d0bf45a33f37c7644a15d12e0c6eefa5124fd6c (patch) | |
tree | 07b0a279391d191d67ea265e6b1b862884464f8c /src/main/java | |
parent | 12875d9ac2e33ba4edbdee4f840813611786508c (diff) |
infinite loop when so not responding
- fix code
- add test
Change-Id: Idcf9383d38e821418c16e8f72250df238e1a6b78
Issue-ID: EXTAPI-89
Signed-off-by: romaingimbert <romain.gimbert@orange.com>
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java | 12 | ||||
-rw-r--r-- | src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java | 39 |
2 files changed, 28 insertions, 23 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 ef4d8c3..e0daa23 100644 --- a/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java +++ b/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java @@ -125,11 +125,15 @@ public class SoClient { } private void logResponseGet(String url, ResponseEntity<GetRequestStatusResponse> response) { - LOGGER.debug(RESPONSE_BODY + response.getBody().toString()); - LOGGER.info(RESPONSE_STATUS + response.getStatusCodeValue()); - if (!response.getStatusCode().equals(HttpStatus.OK)) { - LOGGER.warn("HTTP call on " + url + RETURNS + response.getStatusCodeValue() + ", " + if(response!=null){ + LOGGER.debug(RESPONSE_BODY + response.getBody().toString()); + LOGGER.info(RESPONSE_STATUS + response.getStatusCodeValue()); + if (!response.getStatusCode().equals(HttpStatus.OK)) { + LOGGER.warn("HTTP call on " + url + RETURNS + response.getStatusCodeValue() + ", " + response.getBody().toString()); + } + } else { + LOGGER.info("no response calling url {}",url); } } 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 d63de11..f453dc2 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 @@ -76,13 +76,7 @@ public class SOTaskProcessor { ResponseEntity<CreateServiceInstanceResponse> response = postServiceOrderItem(serviceOrderInfo, serviceOrderItem); - - if (response == null) { - LOGGER.warn("response=null for serviceOrderItem.id=" + serviceOrderItem.getId()); - serviceOrderItem.setState(StateType.FAILED); - } else { - updateServiceOrderItem(response, serviceOrderItem); - } + updateServiceOrderItem(response, serviceOrderItem,serviceOrder); } if (executionTask.getNbRetries() > 0 && StateType.FAILED != serviceOrderItem.getState() @@ -298,25 +292,32 @@ public class SOTaskProcessor { /** * Update ServiceOrderItem with SO response by using serviceOrderRepository with the serviceOrderId - * - * @param response + * @param response * @param orderItem + * @param serviceOrder */ private void updateServiceOrderItem(ResponseEntity<CreateServiceInstanceResponse> response, - ServiceOrderItem orderItem) { + ServiceOrderItem orderItem, ServiceOrder serviceOrder) { - CreateServiceInstanceResponse createServiceInstanceResponse = response.getBody(); - if (createServiceInstanceResponse != null && !orderItem.getState().equals(StateType.FAILED)) { - orderItem.getService().setId(createServiceInstanceResponse.getRequestReferences().getInstanceId()); - orderItem.setRequestId(createServiceInstanceResponse.getRequestReferences().getRequestId()); + if (response == null) { + LOGGER.warn("response=null for serviceOrderItem.id=" + orderItem.getId()); + orderItem.setState(StateType.FAILED); } + else { + CreateServiceInstanceResponse createServiceInstanceResponse = response.getBody(); + if (createServiceInstanceResponse != null && !orderItem.getState().equals(StateType.FAILED)) { + orderItem.getService().setId(createServiceInstanceResponse.getRequestReferences().getInstanceId()); + orderItem.setRequestId(createServiceInstanceResponse.getRequestReferences().getRequestId()); + } - if (response.getStatusCode() != HttpStatus.CREATED || response.getBody() == null - || response.getBody().getRequestReferences() == null) { - orderItem.setState(StateType.FAILED); - } else { - orderItem.setState(StateType.INPROGRESS); + if (response.getStatusCode() != HttpStatus.CREATED || response.getBody() == null + || response.getBody().getRequestReferences() == null) { + orderItem.setState(StateType.FAILED); + } else { + orderItem.setState(StateType.INPROGRESS); + } } + serviceOrderRepository.save(serviceOrder); } /** |