diff options
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java')
-rw-r--r-- | src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java index 17b72e4..4568b80 100644 --- a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java +++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java @@ -29,6 +29,7 @@ import org.onap.nbi.apis.serviceorder.model.ServiceCharacteristic; import org.onap.nbi.apis.serviceorder.model.ServiceOrder; import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem; import org.onap.nbi.apis.serviceorder.model.StateType; +import org.onap.nbi.apis.serviceorder.model.ServiceStateType; import org.onap.nbi.apis.serviceorder.model.consumer.CloudConfiguration; import org.onap.nbi.apis.serviceorder.model.consumer.CreateE2EServiceInstanceResponse; import org.onap.nbi.apis.serviceorder.model.consumer.CreateMacroServiceInstanceResponse; @@ -182,20 +183,34 @@ public class PostSoProcessor { service.getServiceType(), serviceOrderItem.getService().getId()); break; case MODIFY: - if (StateType.INPROGRESS_MODIFY_ITEM_TO_CREATE == serviceOrderItem.getState()) { + //EXT-API supports E2E service activation/deactivation with action=modify and seviceState=active/inactive + boolean isActivateReq = ServiceStateType.ACTIVE == serviceOrderItem.getService().getServiceState() || + ServiceStateType.INACTIVE == serviceOrderItem.getService().getServiceState(); + + if (ServiceStateType.ACTIVE == serviceOrderItem.getService().getServiceState()) { + response = soClient.callServiceActivationE2EService(service.getGlobalSubscriberId(), + service.getServiceType(), serviceOrderItem.getService().getId(),"activate"); + } + if (ServiceStateType.INACTIVE == serviceOrderItem.getService().getServiceState()) { + response = soClient.callServiceActivationE2EService(service.getGlobalSubscriberId(), + service.getServiceType(), serviceOrderItem.getService().getId(),"deactivate"); + } + //Other E2E service modification follows Deletion followed by activation. + //For service modification, do not send serviceState=active/inactive + if (!isActivateReq && StateType.INPROGRESS_MODIFY_ITEM_TO_CREATE == serviceOrderItem.getState()) { response = soClient.callE2ECreateServiceInstance(msoE2EPayload); } - if (StateType.ACKNOWLEDGED == serviceOrderItem.getState()) { + if (!isActivateReq && StateType.ACKNOWLEDGED == serviceOrderItem.getState()) { response = soClient.callE2EDeleteServiceInstance(service.getGlobalSubscriberId(), service.getServiceType(), serviceOrderItem.getService().getId()); } break; - default: + default: break; } return response; } - + private ResponseEntity<CreateMacroServiceInstanceResponse> postSOMacroRequest(ServiceOrderItem serviceOrderItem, ServiceOrderInfo serviceOrderInfo) { @@ -660,4 +675,4 @@ public class PostSoProcessor { } -}
\ No newline at end of file +} |