aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorromaingimbert <romain.gimbert@orange.com>2018-05-16 14:42:36 +0200
committerromaingimbert <romain.gimbert@orange.com>2018-05-16 14:42:36 +0200
commit9d0bf45a33f37c7644a15d12e0c6eefa5124fd6c (patch)
tree07b0a279391d191d67ea265e6b1b862884464f8c /src/main/java
parent12875d9ac2e33ba4edbdee4f840813611786508c (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.java12
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java39
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);
}
/**