diff options
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOGetStatusManager.java')
-rw-r--r-- | src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOGetStatusManager.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOGetStatusManager.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOGetStatusManager.java index bbe1160..d5d12bb 100644 --- a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOGetStatusManager.java +++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOGetStatusManager.java @@ -17,6 +17,7 @@ import org.onap.nbi.apis.serviceorder.SoClient; import org.onap.nbi.apis.serviceorder.model.ActionType; import org.onap.nbi.apis.serviceorder.model.ServiceOrder; import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem; +import org.onap.nbi.apis.serviceorder.model.ServiceStateType; import org.onap.nbi.apis.serviceorder.model.StateType; import org.onap.nbi.apis.serviceorder.model.consumer.GetE2ERequestStatusResponse; import org.onap.nbi.apis.serviceorder.model.consumer.GetRequestStatusResponse; @@ -64,7 +65,8 @@ public class SOGetStatusManager { LOGGER.debug("orderitem id {} failed, response from request status {}", orderItem.getId(), response.getRequest().getRequestStatus().getRequestState()); } else { - updateOrderItemIfStatusCompleted(serviceOrder, orderItem); + boolean e2eService = false; + updateOrderItemIfStatusCompleted(serviceOrder, orderItem, e2eService); LOGGER.debug("orderitem id {} completed"); } } else { @@ -73,10 +75,14 @@ public class SOGetStatusManager { } - private void updateOrderItemIfStatusCompleted(ServiceOrder serviceOrder, ServiceOrderItem orderItem) { + private void updateOrderItemIfStatusCompleted(ServiceOrder serviceOrder, ServiceOrderItem orderItem,boolean e2eService) { + boolean serviceActivationReq = orderItem.getService().getServiceState() == ServiceStateType.ACTIVE || + orderItem.getService().getServiceState() == ServiceStateType.INACTIVE; if (orderItem.getAction() != ActionType.MODIFY) { serviceOrderService.updateOrderItemState(serviceOrder, orderItem, StateType.COMPLETED); - } else { + }else if(orderItem.getAction() == ActionType.MODIFY && serviceActivationReq && e2eService) { + serviceOrderService.updateOrderItemState(serviceOrder, orderItem, StateType.COMPLETED); + }else { if (StateType.INPROGRESS_MODIFY_REQUEST_CREATE_SEND == orderItem.getState()) { serviceOrderService.updateOrderItemState(serviceOrder, orderItem, StateType.COMPLETED); } else { @@ -105,7 +111,8 @@ public class SOGetStatusManager { LOGGER.debug("orderitem id {} failed, response from request status {}", orderItem.getId(), response.getOperation().getResult()); } else if (FINISHED.equals(result)) { - updateOrderItemIfStatusCompleted(serviceOrder, orderItem); + boolean e2eService = true; + updateOrderItemIfStatusCompleted(serviceOrder, orderItem,e2eService); LOGGER.debug("orderitem id {} completed"); } } else { |