summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/nbi/apis/serviceorder
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/serviceorder')
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java4
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java38
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
*