aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/nbi/apis/serviceorder/workflow/CheckOrderConsistenceManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/serviceorder/workflow/CheckOrderConsistenceManager.java')
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/workflow/CheckOrderConsistenceManager.java69
1 files changed, 36 insertions, 33 deletions
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/CheckOrderConsistenceManager.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/CheckOrderConsistenceManager.java
index 7ee3a0e..e868bc6 100644
--- a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/CheckOrderConsistenceManager.java
+++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/CheckOrderConsistenceManager.java
@@ -8,7 +8,7 @@
*/
package org.onap.nbi.apis.serviceorder.workflow;
-import java.util.LinkedHashMap;
+import java.util.Map;
import org.onap.nbi.apis.serviceorder.MultiClient;
import org.onap.nbi.apis.serviceorder.model.RelatedParty;
import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
@@ -21,8 +21,6 @@ import org.onap.nbi.apis.serviceorder.service.ServiceOrderService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@@ -36,6 +34,7 @@ public class CheckOrderConsistenceManager {
@Autowired
private ServiceOrderService serviceOrderService;
+
private static final Logger LOGGER = LoggerFactory.getLogger(CheckOrderConsistenceManager.class);
public ServiceOrderInfo checkServiceOrder(ServiceOrder serviceOrder) {
@@ -46,26 +45,29 @@ public class CheckOrderConsistenceManager {
for (ServiceOrderItem serviceOrderItem : serviceOrder.getOrderItem()) {
ServiceOrderItemInfo serviceOrderItemInfo = new ServiceOrderItemInfo();
- handleServiceFromCatalog(serviceOrderItem, serviceOrderItemInfo);
+ handleServiceFromCatalog(serviceOrderItem,serviceOrder, serviceOrderItemInfo);
if (!existServiceInCatalog(serviceOrderItemInfo)) {
serviceOrderInfo.setIsServiceOrderRejected(true);
- serviceOrderService.updateOrderItemState(serviceOrder,serviceOrderItem,StateType.REJECTED);
+ serviceOrderService.updateOrderItemState(serviceOrder, serviceOrderItem, StateType.REJECTED);
LOGGER.warn(
"service order item {} of service order {} rejected cause no service catalog found for id {}",
serviceOrderItem.getId(), serviceOrder.getId(),
serviceOrderItem.getService().getServiceSpecification().getId());
+ serviceOrderService.addOrderItemMessage(serviceOrder,serviceOrderItem, "102");
} else {
switch (serviceOrderItem.getAction()) {
case ADD:
- handleServiceOrderItemInAdd(serviceOrderInfo,serviceOrder, serviceOrderItem, serviceOrderItemInfo);
+ handleServiceOrderItemInAdd(serviceOrderInfo, serviceOrder, serviceOrderItem,
+ serviceOrderItemInfo);
break;
case MODIFY:
case DELETE:
- handleServiceOrderItemInChange(serviceOrderInfo,serviceOrder, serviceOrderItem, serviceOrderItemInfo);
+ handleServiceOrderItemInChange(serviceOrderInfo, serviceOrder, serviceOrderItem,
+ serviceOrderItemInfo);
break;
case NOCHANGE:
serviceOrderInfo.setAllItemsInAdd(false);
- serviceOrderService.updateOrderItemState(serviceOrder,serviceOrderItem,StateType.COMPLETED);
+ serviceOrderService.updateOrderItemState(serviceOrder, serviceOrderItem, StateType.COMPLETED);
nbItemsCompleted++;
break;
}
@@ -87,61 +89,67 @@ public class CheckOrderConsistenceManager {
ServiceOrder serviceOrder, ServiceOrderItem serviceOrderItem,
ServiceOrderItemInfo serviceOrderItemInfo) {
serviceOrderInfo.setAllItemsInAdd(false);
- if (shouldAcceptServiceOrderItemToChange(serviceOrderInfo, serviceOrderItem,
+ if (shouldAcceptServiceOrderItemToChange(serviceOrderInfo, serviceOrder, serviceOrderItem,
serviceOrderItemInfo)) {
serviceOrderInfo.addServiceOrderItemInfos(serviceOrderItem.getId(), serviceOrderItemInfo);
} else {
serviceOrderInfo.setIsServiceOrderRejected(true);
- serviceOrderService.updateOrderItemState(serviceOrder,serviceOrderItem,StateType.REJECTED);
+ serviceOrderService.updateOrderItemState(serviceOrder, serviceOrderItem, StateType.REJECTED);
}
}
private void handleServiceOrderItemInAdd(ServiceOrderInfo serviceOrderInfo,
ServiceOrder serviceOrder, ServiceOrderItem serviceOrderItem,
ServiceOrderItemInfo serviceOrderItemInfo) {
- if (shouldAcceptServiceOrderItemToAdd(serviceOrderItem, serviceOrderInfo.getServiceOrderId())) {
+ if (shouldAcceptServiceOrderItemToAdd(serviceOrderItem, serviceOrder, serviceOrderInfo.getServiceOrderId())) {
serviceOrderInfo.addServiceOrderItemInfos(serviceOrderItem.getId(), serviceOrderItemInfo);
} else {
serviceOrderInfo.setIsServiceOrderRejected(true);
- serviceOrderService.updateOrderItemState(serviceOrder,serviceOrderItem,StateType.REJECTED);
+ serviceOrderService.updateOrderItemState(serviceOrder, serviceOrderItem, StateType.REJECTED);
}
}
private boolean shouldAcceptServiceOrderItemToAdd(ServiceOrderItem serviceOrderItem,
- String serviceOrderId) {
+ ServiceOrder serviceOrder, String serviceOrderId) {
if (!StringUtils.isEmpty(serviceOrderItem.getService().getId())) {
LOGGER
.warn("serviceOrderItem {} for serviceorder {} rejected cause service.id must be empty in add action",
serviceOrderItem.getId(), serviceOrderId);
+ serviceOrderService.addOrderItemMessage(serviceOrder,serviceOrderItem, "103");
return false;
- } else if (!serviceOrderConsumerService.isTenantIdPresentInAAI()) {
+ } else if (!serviceOrderConsumerService.isTenantIdPresentInAAI(serviceOrder)) {
LOGGER.warn("serviceOrderItem {} for serviceOrder {} rejected cause tenantId not found in AAI",
serviceOrderItem.getId(), serviceOrderId);
+ serviceOrderService.addOrderItemMessage(serviceOrder,serviceOrderItem, "107");
+
return false;
}
return true;
}
private boolean shouldAcceptServiceOrderItemToChange(ServiceOrderInfo serviceOrderInfo,
- ServiceOrderItem serviceOrderItem,
+ ServiceOrder serviceOrder, ServiceOrderItem serviceOrderItem,
ServiceOrderItemInfo serviceOrderItemInfo) {
if (StringUtils.isEmpty(serviceOrderItem.getService().getId())) {
LOGGER.warn(
"serviceOrderItem {} for serviceOrder {} rejected cause service.id is mandatory in delete/change action",
serviceOrderItem.getId(), serviceOrderInfo.getServiceOrderId());
+ serviceOrderService.addOrderItemMessage(serviceOrder,serviceOrderItem, "101");
return false;
- } else if (!isCustomerFromServiceOrderPresentInInventory(serviceOrderInfo)) {
+ } else if (!isCustomerFromServiceOrderPresentInInventory(serviceOrderInfo,serviceOrder)) {
LOGGER
.warn("serviceOrderItem {} for serviceOrder {} rejected cause customer not found in inventory",
serviceOrderItem.getId(), serviceOrderInfo.getServiceOrderId());
+ serviceOrderService.addOrderMessage(serviceOrder, "104");
return false;
- } else if (!existServiceInInventory(serviceOrderItem, serviceOrderItemInfo,
+ } else if (!existServiceInInventory(serviceOrderItem, serviceOrder, serviceOrderItemInfo,
serviceOrderInfo.getSubscriberInfo().getGlobalSubscriberId())) {
LOGGER
.warn("serviceOrderItem {} for serviceOrder {} rejected cause service id {} not found in inventory",
serviceOrderItem.getId(), serviceOrderInfo.getServiceOrderId(),
serviceOrderItem.getService().getId());
+ serviceOrderService.addOrderItemMessage(serviceOrder,serviceOrderItem, "106");
return false;
}
return true;
@@ -175,20 +183,22 @@ public class CheckOrderConsistenceManager {
return null;
}
- private boolean isCustomerFromServiceOrderPresentInInventory(ServiceOrderInfo serviceOrderInfo) {
+ private boolean isCustomerFromServiceOrderPresentInInventory(ServiceOrderInfo serviceOrderInfo,
+ ServiceOrder serviceOrder) {
if (serviceOrderInfo.isUseServiceOrderCustomer()) {
return serviceOrderConsumerService
- .isCustomerPresentInAAI(serviceOrderInfo.getSubscriberInfo().getGlobalSubscriberId());
+ .isCustomerPresentInAAI(serviceOrderInfo.getSubscriberInfo().getGlobalSubscriberId(),serviceOrder);
}
return true;
}
private boolean existServiceInInventory(ServiceOrderItem serviceOrderItem,
- ServiceOrderItemInfo serviceOrderItemInfo, String globalSubscriberId) {
+ ServiceOrder serviceOrder, ServiceOrderItemInfo serviceOrderItemInfo,
+ String globalSubscriberId) {
String serviceName = (String) serviceOrderItemInfo.getCatalogResponse().get("name");
return serviceOrderConsumerService.doesServiceExistInServiceInventory(
- serviceOrderItem.getService().getId(), serviceName, globalSubscriberId);
+ serviceOrderItem.getService().getId(), serviceName, globalSubscriberId,serviceOrder);
}
private boolean existServiceInCatalog(ServiceOrderItemInfo serviceOrderItemInfo) {
@@ -196,18 +206,11 @@ public class CheckOrderConsistenceManager {
}
private void handleServiceFromCatalog(ServiceOrderItem serviceOrderItem,
- ServiceOrderItemInfo serviceOrderItemInfo) {
- ResponseEntity<Object> response = serviceOrderConsumerService
- .getServiceCatalog(serviceOrderItem.getService().getServiceSpecification().getId());
- if (response != null && (response.getStatusCode().equals(HttpStatus.OK)
- || response.getStatusCode().equals(HttpStatus.PARTIAL_CONTENT))) {
- LinkedHashMap body = (LinkedHashMap) response.getBody();
- serviceOrderItemInfo.setCatalogResponse(body);
- } else {
- LOGGER.warn("unable to retrieve catalog information for service {}",
- serviceOrderItem.getService().getServiceSpecification().getId());
- }
- }
+ ServiceOrder serviceOrder, ServiceOrderItemInfo serviceOrderItemInfo) {
+ Map body = serviceOrderConsumerService
+ .getServiceCatalog(serviceOrderItem.getService().getServiceSpecification().getId(),serviceOrder,serviceOrderItem);
+ serviceOrderItemInfo.setCatalogResponse(body);
+ }
}