diff options
18 files changed, 668 insertions, 393 deletions
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AnNssmfutils.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AnNssmfutils.groovy index f17bfc2938..71dd9b1426 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AnNssmfutils.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AnNssmfutils.groovy @@ -254,7 +254,7 @@ else{ //TNFH slice profile instance creation TNFH_sliceProfileInstance.setServiceInstanceId(TNFH_sliceProfileInstanceId) - sliceInstanceName = "sliceprofile _ "+TNFH_sliceProfileId + sliceInstanceName = "sliceprofile_"+TNFH_sliceProfileId TNFH_sliceProfileInstance.setServiceInstanceName(sliceInstanceName) serviceType = jsonUtil.getJsonValue(execution.getVariable("tnFhSliceProfile"), "sST") TNFH_sliceProfileInstance.setServiceType(serviceType) @@ -271,7 +271,7 @@ else{ //TNMH slice profile instance creation TNMH_sliceProfileInstance.setServiceInstanceId(TNMH_sliceProfileInstanceId) - sliceInstanceName = "sliceprofile _ "+TNMH_sliceProfileId + sliceInstanceName = "sliceprofile_"+TNMH_sliceProfileId TNMH_sliceProfileInstance.setServiceInstanceName(sliceInstanceName) serviceType = jsonUtil.getJsonValue(execution.getVariable("tnMhSliceProfile"), "sST") TNMH_sliceProfileInstance.setServiceType(serviceType) diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoActivateAccessNSSI.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoActivateAccessNSSI.groovy index 1d75cf5216..2aaec9f164 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoActivateAccessNSSI.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoActivateAccessNSSI.groovy @@ -73,9 +73,9 @@ class DoActivateAccessNSSI extends AbstractServiceTaskProcessor { private static final String KEY_SLICE_PROFILE = "SliceProfile" private static final String KEY_NSSI = "NSSI" - private static final String AN_NF = "AN-NF" - private static final String TN_FH = "TN-FH" - private static final String TN_MH = "TN-MH" + private static final String AN_NF = "AN_NF" + private static final String TN_FH = "TN_FH" + private static final String TN_MH = "TN_MH" private static final String ACTIVATE = "activateInstance" private static final String DEACTIVATE = "deactivateInstance" @@ -141,7 +141,11 @@ class DoActivateAccessNSSI extends AbstractServiceTaskProcessor { execution.setVariable("relatedSPs", getRelatedInstancesByRole(execution, ROLE_SLICE_PROFILE,KEY_SLICE_PROFILE, anSliceProfileId)) Map<String,ServiceInstance> relatedNssis = new HashMap<>() - execution.setVariable("relatedNssis", getRelatedInstancesByRole(execution, ROLE_NSSI,KEY_NSSI, anNssiId)) + relatedNssis = getRelatedInstancesByRole(execution, ROLE_NSSI,KEY_NSSI, anNssiId) + if(relatedNssis.size() == 1) { + execution.setVariable("IsRANNfAlonePresent", true) + } + execution.setVariable("relatedNssis", relatedNssis) logger.trace("${Prefix} - Exit Get Related instances") } @@ -205,13 +209,13 @@ class DoActivateAccessNSSI extends AbstractServiceTaskProcessor { input.addProperty("sNSSAI", sNssai.toString()) JsonObject wrapinput = new JsonObject() - wrapinput.addProperty("Action", action) + wrapinput.addProperty("action", action) JsonObject CommonHeader = new JsonObject() - CommonHeader.addProperty("TimeStamp", new Date(System.currentTimeMillis()).format("yyyy-MM-dd'T'HH:mm:ss.sss", TimeZone.getDefault())) - CommonHeader.addProperty("APIver", "1.0") - CommonHeader.addProperty("RequestID", reqId) - CommonHeader.addProperty("SubRequestID", "1") + CommonHeader.addProperty("timestamp",new Date(System.currentTimeMillis()).format("yyyy-MM-dd'T'HH:mm:ss.sss'Z'", TimeZone.getDefault())) + CommonHeader.addProperty("api-ver", "1.0") + CommonHeader.addProperty("request-id", reqId) + CommonHeader.addProperty("sub-request-id", "1") JsonObject body = new JsonObject() body.add("input", wrapinput) @@ -219,12 +223,12 @@ class DoActivateAccessNSSI extends AbstractServiceTaskProcessor { JsonObject sdnrRequest = new JsonObject() JsonObject payload = new JsonObject() payload.add("input", input) - wrapinput.addProperty("Payload", payload.toString()) - wrapinput.add("CommonHeader", CommonHeader) + wrapinput.addProperty("payload", payload.toString()) + wrapinput.add("common-header", CommonHeader) body.add("input", wrapinput) sdnrRequest.add("body", body) sdnrRequest.addProperty("version", "1.0") - sdnrRequest.addProperty("rpc-name", "activateRANSlice") + sdnrRequest.addProperty("rpc-name", "activateRANSliceInstance") sdnrRequest.addProperty("correlation-id", reqId) sdnrRequest.addProperty("type", "request") diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoActivateSliceService.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoActivateSliceService.groovy index 3d9f67653b..d0fe1e9469 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoActivateSliceService.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoActivateSliceService.groovy @@ -158,6 +158,8 @@ class DoActivateSliceService extends AbstractServiceTaskProcessor { ActDeActNssi actDeActNssi = new ActDeActNssi() actDeActNssi.setNsiId(customerInfo.nsiId) actDeActNssi.setNssiId(nssInstance.nssiId) + actDeActNssi.setSnssaiList(Arrays.asList(customerInfo.snssai)) + nbiRequest.setEsrInfo(esrInfo) nbiRequest.setServiceInfo(serviceInfo) diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateAccessNSSI.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateAccessNSSI.groovy index ed1c2b24d5..10acd6ef50 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateAccessNSSI.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateAccessNSSI.groovy @@ -654,7 +654,8 @@ class DoAllocateAccessNSSI extends AbstractServiceTaskProcessor { logger.debug("completed AN service instance build " + ANServiceInstance.toString()) //create RAN NF NSSI ANNFServiceInstance.setServiceInstanceId(execution.getVariable("RANNFServiceInstanceId") as String) - sliceInstanceName = "nssi_"+execution.getVariable("ANNF_modelName") + String ANNF_nssiInstanceId = UUID.randomUUID().toString() + sliceInstanceName = "nssi_an_nf_" + ANNF_nssiInstanceId ANNFServiceInstance.setServiceInstanceName(sliceInstanceName) ANNFServiceInstance.setServiceType(execution.getVariable("sst") as String) ANNFServiceInstance.setOrchestrationStatus(serviceStatus) @@ -663,7 +664,7 @@ class DoAllocateAccessNSSI extends AbstractServiceTaskProcessor { ANNFServiceInstance.setServiceRole(serviceRole) snssaiList = jsonUtil.StringArrayToList(execution.getVariable("snssaiList") as String) snssai = snssaiList.get(0) - ANNFServiceInstance.setEnvironmentContext(snssai) + ANNFServiceInstance.setEnvironmentContext(execution.getVariable("networkType") as String) ANNFServiceInstance.setModelInvariantId(execution.getVariable("ANNF_modelInvariantUuid")) ANNFServiceInstance.setModelVersionId(execution.getVariable("ANNF_modelUuid")) ANNFServiceInstance.setWorkloadContext("AN_NF") diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy index 35b4199909..5476cb5afa 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy @@ -117,7 +117,7 @@ class DoCreateSliceServiceInstance extends AbstractServiceTaskProcessor{ String modelUuid = modelInfo.getModelUuid() ss.setModelInvariantId(modelInvariantUuid) ss.setModelVersionId(modelUuid) - String serviceInstanceLocationid = serviceProfile.get("pLMNIdList") + String serviceInstanceLocationid = serviceProfile.get("plmnIdList") ss.setServiceInstanceLocationId(serviceInstanceLocationid) String snssai = serviceProfile.get("sNSSAI") ss.setEnvironmentContext(snssai) diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy index 2588d07e50..90dd831308 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy @@ -271,24 +271,22 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{ * @return */ private SubnetType convertServiceCategory(String serviceCategory){ - if("CN NSST".equals(serviceCategory)){ + if(serviceCategory ==~ /CN.*/){ return SubnetType.CN } - if ("AN NF NSST".equals(serviceCategory)){ - return SubnetType.AN_NF - } - if ("AN NSST".equals(serviceCategory)){ + if (serviceCategory ==~ /AN.*/){ return SubnetType.AN } - if ("TN BH NSST".equals(serviceCategory)){ + if (serviceCategory ==~ /TN.*BH.*/){ return SubnetType.TN_BH } - if("TN MH NSST".equals(serviceCategory)){ + if(serviceCategory ==~ /TN.*MH.*/){ return SubnetType.TN_MH } - if("TN FH NSST".equals(serviceCategory)){ + if(serviceCategory ==~ /TN.*FH.*/){ return SubnetType.TN_FH } + return null } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeAllocateAccessNSSI.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeAllocateAccessNSSI.groovy index 5a3859fff4..6fd8080ef0 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeAllocateAccessNSSI.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeAllocateAccessNSSI.groovy @@ -126,7 +126,11 @@ class DoDeAllocateAccessNSSI extends AbstractServiceTaskProcessor { execution.setVariable("anNfSliceProfileId", getInstanceIdByWorkloadContext(execution.getVariable("relatedSPs"), AN_NF)) Map<String,ServiceInstance> relatedNssis = new HashMap<>() - execution.setVariable("relatedNssis", getRelatedInstancesByRole(execution, ROLE_NSSI, anNssiId)) + relatedNssis = getRelatedInstancesByRole(execution, ROLE_NSSI, anNssiId) + if(relatedNssis.size() == 1) { + execution.setVariable("IsRANNfAlonePresent", true) + } + execution.setVariable("relatedNssis", relatedNssis) } @@ -192,6 +196,8 @@ class DoDeAllocateAccessNSSI extends AbstractServiceTaskProcessor { input.addProperty("RANNFNSSIId", anNfNssiId) input.addProperty("callbackURL", callbackURL.toString()) input.addProperty("sNSSAI", sNssai) + input.addProperty("globalSubscriberId", execution.getVariable("globalSubscriberId") as String) + input.addProperty("subscriptionServiceType", execution.getVariable("subscriptionServiceType") as String) input.addProperty("sliceProfileId",sliceProfileId) input.add("additionalproperties", new JsonObject()) diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy index e0c2b776fe..d6e94efea1 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy @@ -377,7 +377,6 @@ class TnNssmfUtils { logger.debug("mso.workflow.TnNssmf.enableSDNCNetworkConfig is undefined, so use default value (true)") enableSdnc = "true" } - enableSdnc = "false" logger.debug("setEnableSdncConfig: enableSdnc=" + enableSdnc) execution.setVariable("enableSdnc", enableSdnc) diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoActivateAccessNSSI.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoActivateAccessNSSI.bpmn index 841a23b3eb..b1561357ae 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoActivateAccessNSSI.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoActivateAccessNSSI.bpmn @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_0rh5ux5" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.1.1"> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_0rh5ux5" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.10.0"> <bpmn:process id="DoActivateAccessNSSI" name="DoActivateAccessNSSI" isExecutable="true"> <bpmn:startEvent id="Event_055gbp2" name="Start"> <bpmn:outgoing>Flow_0rh43xe</bpmn:outgoing> @@ -16,7 +16,7 @@ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{execution.getVariable("shouldChangeAN_NF_SPStatus") == true}</bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:intermediateThrowEvent id="Event_1n5z71a" name="Goto TN NSSI Activation"> - <bpmn:incoming>Flow_0mtkhmv</bpmn:incoming> + <bpmn:incoming>Flow_0umba3p</bpmn:incoming> <bpmn:linkEventDefinition id="LinkEventDefinition_0x6han6" name="TNNSSIActivation" /> </bpmn:intermediateThrowEvent> <bpmn:intermediateCatchEvent id="Event_0kkeo9m" name="TN NSSI Activation"> @@ -27,9 +27,9 @@ <bpmn:incoming>Flow_1b6vtso</bpmn:incoming> <bpmn:linkEventDefinition id="LinkEventDefinition_05qiudr" name="AN_NSSI_Activation" /> </bpmn:intermediateThrowEvent> - <bpmn:sequenceFlow id="Flow_0523saw" sourceRef="Gateway_12oq1sa" targetRef="Event_0rzo7gj" /> + <bpmn:sequenceFlow id="Flow_0523saw" sourceRef="Gateway_12oq1sa" targetRef="Gateway_0ci374j" /> <bpmn:intermediateThrowEvent id="Event_0rzo7gj" name="Check TN NSSI Activation"> - <bpmn:incoming>Flow_0523saw</bpmn:incoming> + <bpmn:incoming>Flow_1vyktdh</bpmn:incoming> <bpmn:linkEventDefinition id="LinkEventDefinition_0s7s95j" name="TNNSSIActivation" /> </bpmn:intermediateThrowEvent> <bpmn:sequenceFlow id="Flow_1cnfilb" sourceRef="Event_1azfo77" targetRef="Activity_1j0xkqc" /> @@ -260,7 +260,7 @@ ex.processJavaException(execution)</bpmn:script> def activator = new DoActivateAccessNSSI() activator.updateAnNfStatus(execution)</bpmn:script> </bpmn:scriptTask> - <bpmn:sequenceFlow id="Flow_0mtkhmv" sourceRef="Activity_08yj5gq" targetRef="Event_1n5z71a" /> + <bpmn:sequenceFlow id="Flow_0mtkhmv" sourceRef="Activity_08yj5gq" targetRef="Gateway_0n3zhxo" /> <bpmn:scriptTask id="Activity_1fzg56b" name="Check TN FH Slice profile status" scriptFormat="groovy"> <bpmn:incoming>Flow_1q7frye</bpmn:incoming> <bpmn:outgoing>Flow_1yd57bl</bpmn:outgoing> @@ -519,494 +519,573 @@ activator.prepareUpdateJobStatus(execution,"finished","100","AN NSSI activation <bpmn:incoming>Flow_0g9k299</bpmn:incoming> <bpmn:linkEventDefinition id="LinkEventDefinition_1h9r8pc" name="AN_NSSI_Activation" /> </bpmn:intermediateThrowEvent> + <bpmn:exclusiveGateway id="Gateway_0ci374j" name="Is TN NSSI present?" default="Flow_1vyktdh"> + <bpmn:incoming>Flow_0523saw</bpmn:incoming> + <bpmn:outgoing>Flow_1vyktdh</bpmn:outgoing> + <bpmn:outgoing>Flow_1buy9ji</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="Flow_1vyktdh" name="Yes" sourceRef="Gateway_0ci374j" targetRef="Event_0rzo7gj" /> + <bpmn:intermediateThrowEvent id="Event_04dd3u6" name="Goto AN NSSI Activation"> + <bpmn:incoming>Flow_1buy9ji</bpmn:incoming> + <bpmn:linkEventDefinition id="LinkEventDefinition_1x4z9d9" name="AN_NSSI_Activation" /> + </bpmn:intermediateThrowEvent> + <bpmn:sequenceFlow id="Flow_1buy9ji" name="No" sourceRef="Gateway_0ci374j" targetRef="Event_04dd3u6"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{(execution.getVariable("IsRANNfAlonePresent" ) == true)}</bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:exclusiveGateway id="Gateway_0n3zhxo" name="Is TN present?" default="Flow_0umba3p"> + <bpmn:incoming>Flow_0mtkhmv</bpmn:incoming> + <bpmn:outgoing>Flow_0umba3p</bpmn:outgoing> + <bpmn:outgoing>Flow_1xrbneh</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="Flow_0umba3p" name="Yes" sourceRef="Gateway_0n3zhxo" targetRef="Event_1n5z71a" /> + <bpmn:intermediateThrowEvent id="Event_1akyxj9" name="Goto AN NSSI Activation"> + <bpmn:incoming>Flow_1xrbneh</bpmn:incoming> + <bpmn:linkEventDefinition id="LinkEventDefinition_1inqa6n" name="AN_NSSI_Activation" /> + </bpmn:intermediateThrowEvent> + <bpmn:sequenceFlow id="Flow_1xrbneh" name="No" sourceRef="Gateway_0n3zhxo" targetRef="Event_1akyxj9"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{(execution.getVariable("IsRANNfAlonePresent" ) == true)}</bpmn:conditionExpression> + </bpmn:sequenceFlow> </bpmn:process> <bpmn:error id="Error_1beg2za" name="ActivationWorkflowError" errorCode="2500" /> <bpmn:error id="Error_0vgjqok" /> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoActivateAccessNSSI"> <bpmndi:BPMNEdge id="Flow_1876ml0_di" bpmnElement="Flow_1876ml0"> - <di:waypoint x="660" y="940" /> - <di:waypoint x="712" y="940" /> + <di:waypoint x="660" y="1050" /> + <di:waypoint x="712" y="1050" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0cblklk_di" bpmnElement="Flow_0cblklk"> - <di:waypoint x="350" y="940" /> - <di:waypoint x="390" y="940" /> + <di:waypoint x="350" y="1050" /> + <di:waypoint x="390" y="1050" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_06nfip0_di" bpmnElement="Flow_06nfip0"> - <di:waypoint x="490" y="940" /> - <di:waypoint x="560" y="940" /> + <di:waypoint x="490" y="1050" /> + <di:waypoint x="560" y="1050" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0k5cyz7_di" bpmnElement="Flow_0k5cyz7"> - <di:waypoint x="1330" y="690" /> - <di:waypoint x="1410" y="690" /> + <di:waypoint x="1330" y="800" /> + <di:waypoint x="1410" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1b95clk_di" bpmnElement="Flow_1b95clk"> - <di:waypoint x="1320" y="450" /> - <di:waypoint x="1410" y="450" /> + <di:waypoint x="1320" y="560" /> + <di:waypoint x="1410" y="560" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1b6vtso_di" bpmnElement="Flow_1b6vtso"> - <di:waypoint x="1680" y="690" /> - <di:waypoint x="1742" y="690" /> + <di:waypoint x="1680" y="800" /> + <di:waypoint x="1742" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1s0xcf5_di" bpmnElement="Flow_1s0xcf5"> - <di:waypoint x="580" y="690" /> - <di:waypoint x="640" y="690" /> + <di:waypoint x="580" y="800" /> + <di:waypoint x="640" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1wx5w6i_di" bpmnElement="Flow_1wx5w6i"> - <di:waypoint x="1510" y="690" /> - <di:waypoint x="1580" y="690" /> + <di:waypoint x="1510" y="800" /> + <di:waypoint x="1580" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0rzuxa0_di" bpmnElement="Flow_0rzuxa0"> - <di:waypoint x="1140" y="715" /> - <di:waypoint x="1140" y="762" /> + <di:waypoint x="1140" y="825" /> + <di:waypoint x="1140" y="872" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1i4cc7e_di" bpmnElement="Flow_1i4cc7e"> - <di:waypoint x="1165" y="690" /> - <di:waypoint x="1230" y="690" /> + <di:waypoint x="1165" y="800" /> + <di:waypoint x="1230" y="800" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1168" y="672" width="18" height="14" /> + <dc:Bounds x="1168" y="782" width="18" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0to1idt_di" bpmnElement="Flow_0to1idt"> - <di:waypoint x="1070" y="690" /> - <di:waypoint x="1115" y="690" /> + <di:waypoint x="1070" y="800" /> + <di:waypoint x="1115" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0b7aq1k_di" bpmnElement="Flow_0b7aq1k"> - <di:waypoint x="900" y="690" /> - <di:waypoint x="970" y="690" /> + <di:waypoint x="900" y="800" /> + <di:waypoint x="970" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0sqsq1x_di" bpmnElement="Flow_0sqsq1x"> - <di:waypoint x="740" y="690" /> - <di:waypoint x="800" y="690" /> + <di:waypoint x="740" y="800" /> + <di:waypoint x="800" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1qszzfv_di" bpmnElement="Flow_1qszzfv"> - <di:waypoint x="1680" y="450" /> - <di:waypoint x="1732" y="450" /> + <di:waypoint x="1680" y="560" /> + <di:waypoint x="1732" y="560" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1ldkgyg_di" bpmnElement="Flow_1ldkgyg"> - <di:waypoint x="1510" y="450" /> - <di:waypoint x="1580" y="450" /> + <di:waypoint x="1510" y="560" /> + <di:waypoint x="1580" y="560" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0ajre96_di" bpmnElement="Flow_0ajre96"> - <di:waypoint x="1130" y="475" /> - <di:waypoint x="1130" y="522" /> + <di:waypoint x="1130" y="585" /> + <di:waypoint x="1130" y="632" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0bukcmf_di" bpmnElement="Flow_0bukcmf"> - <di:waypoint x="1155" y="450" /> - <di:waypoint x="1220" y="450" /> + <di:waypoint x="1155" y="560" /> + <di:waypoint x="1220" y="560" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1158" y="432" width="18" height="14" /> + <dc:Bounds x="1158" y="542" width="18" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0heuc95_di" bpmnElement="Flow_0heuc95"> - <di:waypoint x="580" y="450" /> - <di:waypoint x="630" y="450" /> + <di:waypoint x="580" y="560" /> + <di:waypoint x="630" y="560" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1i0s8nu_di" bpmnElement="Flow_1i0s8nu"> - <di:waypoint x="1060" y="450" /> - <di:waypoint x="1105" y="450" /> + <di:waypoint x="1060" y="560" /> + <di:waypoint x="1105" y="560" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_16pqv7g_di" bpmnElement="Flow_16pqv7g"> - <di:waypoint x="890" y="450" /> - <di:waypoint x="960" y="450" /> + <di:waypoint x="890" y="560" /> + <di:waypoint x="960" y="560" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1w3h345_di" bpmnElement="Flow_1w3h345"> - <di:waypoint x="730" y="450" /> - <di:waypoint x="790" y="450" /> + <di:waypoint x="730" y="560" /> + <di:waypoint x="790" y="560" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0mtkhmv_di" bpmnElement="Flow_0mtkhmv"> - <di:waypoint x="2110" y="230" /> - <di:waypoint x="2152" y="230" /> + <di:waypoint x="2110" y="340" /> + <di:waypoint x="2180" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1sroz8o_di" bpmnElement="Flow_1sroz8o"> - <di:waypoint x="1800" y="230" /> - <di:waypoint x="1870" y="230" /> + <di:waypoint x="1800" y="340" /> + <di:waypoint x="1870" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1myzbqw_di" bpmnElement="Flow_1myzbqw"> - <di:waypoint x="1500" y="230" /> - <di:waypoint x="1565" y="230" /> + <di:waypoint x="1500" y="340" /> + <di:waypoint x="1565" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0o7xomf_di" bpmnElement="Flow_0o7xomf"> - <di:waypoint x="1340" y="230" /> - <di:waypoint x="1400" y="230" /> + <di:waypoint x="1340" y="340" /> + <di:waypoint x="1400" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0rizzsm_di" bpmnElement="Flow_0rizzsm"> - <di:waypoint x="1970" y="230" /> - <di:waypoint x="2010" y="230" /> + <di:waypoint x="1970" y="340" /> + <di:waypoint x="2010" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1v4zg98_di" bpmnElement="Flow_1v4zg98"> - <di:waypoint x="1590" y="255" /> - <di:waypoint x="1590" y="302" /> + <di:waypoint x="1590" y="365" /> + <di:waypoint x="1590" y="412" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1yrel0t_di" bpmnElement="Flow_1yrel0t"> - <di:waypoint x="1615" y="230" /> - <di:waypoint x="1700" y="230" /> + <di:waypoint x="1615" y="340" /> + <di:waypoint x="1700" y="340" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1649" y="212" width="18" height="14" /> + <dc:Bounds x="1649" y="322" width="18" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1gxv9id_di" bpmnElement="Flow_1gxv9id"> - <di:waypoint x="1180" y="230" /> - <di:waypoint x="1240" y="230" /> + <di:waypoint x="1180" y="340" /> + <di:waypoint x="1240" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_147tw7h_di" bpmnElement="Flow_147tw7h"> - <di:waypoint x="435" y="690" /> - <di:waypoint x="480" y="690" /> + <di:waypoint x="435" y="800" /> + <di:waypoint x="480" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0wvzz2r_di" bpmnElement="Flow_0wvzz2r"> - <di:waypoint x="198" y="690" /> - <di:waypoint x="240" y="690" /> + <di:waypoint x="198" y="800" /> + <di:waypoint x="240" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_00clpwn_di" bpmnElement="Flow_00clpwn"> - <di:waypoint x="410" y="715" /> - <di:waypoint x="410" y="800" /> - <di:waypoint x="482" y="800" /> + <di:waypoint x="410" y="825" /> + <di:waypoint x="410" y="910" /> + <di:waypoint x="482" y="910" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0q02qno_di" bpmnElement="Flow_0q02qno"> - <di:waypoint x="340" y="690" /> - <di:waypoint x="385" y="690" /> + <di:waypoint x="340" y="800" /> + <di:waypoint x="385" y="800" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_10b15um_di" bpmnElement="Flow_10b15um"> - <di:waypoint x="410" y="475" /> - <di:waypoint x="410" y="560" /> - <di:waypoint x="482" y="560" /> + <di:waypoint x="410" y="585" /> + <di:waypoint x="410" y="670" /> + <di:waypoint x="482" y="670" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0zjaac9_di" bpmnElement="Flow_0zjaac9"> - <di:waypoint x="435" y="450" /> - <di:waypoint x="480" y="450" /> + <di:waypoint x="435" y="560" /> + <di:waypoint x="480" y="560" /> <bpmndi:BPMNLabel> - <dc:Bounds x="449" y="432" width="18" height="14" /> + <dc:Bounds x="449" y="542" width="18" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1q7frye_di" bpmnElement="Flow_1q7frye"> - <di:waypoint x="198" y="450" /> - <di:waypoint x="240" y="450" /> + <di:waypoint x="198" y="560" /> + <di:waypoint x="240" y="560" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1yd57bl_di" bpmnElement="Flow_1yd57bl"> - <di:waypoint x="340" y="450" /> - <di:waypoint x="385" y="450" /> + <di:waypoint x="340" y="560" /> + <di:waypoint x="385" y="560" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0g9k299_di" bpmnElement="Flow_0g9k299"> - <di:waypoint x="690" y="205" /> - <di:waypoint x="690" y="100" /> - <di:waypoint x="752" y="100" /> + <di:waypoint x="690" y="315" /> + <di:waypoint x="690" y="210" /> + <di:waypoint x="752" y="210" /> <bpmndi:BPMNLabel> - <dc:Bounds x="698" y="150" width="15" height="14" /> + <dc:Bounds x="698" y="260" width="15" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_00vt4gf_di" bpmnElement="Flow_00vt4gf"> - <di:waypoint x="715" y="230" /> - <di:waypoint x="800" y="230" /> + <di:waypoint x="715" y="340" /> + <di:waypoint x="800" y="340" /> <bpmndi:BPMNLabel> - <dc:Bounds x="749" y="212" width="18" height="14" /> + <dc:Bounds x="749" y="322" width="18" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0uxerfg_di" bpmnElement="Flow_0uxerfg"> - <di:waypoint x="620" y="230" /> - <di:waypoint x="665" y="230" /> + <di:waypoint x="620" y="340" /> + <di:waypoint x="665" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_10f44ab_di" bpmnElement="Flow_10f44ab"> - <di:waypoint x="480" y="230" /> - <di:waypoint x="520" y="230" /> + <di:waypoint x="480" y="340" /> + <di:waypoint x="520" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1cnfilb_di" bpmnElement="Flow_1cnfilb"> - <di:waypoint x="198" y="940" /> - <di:waypoint x="250" y="940" /> + <di:waypoint x="198" y="1050" /> + <di:waypoint x="250" y="1050" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0523saw_di" bpmnElement="Flow_0523saw"> - <di:waypoint x="990" y="205" /> - <di:waypoint x="990" y="130" /> - <di:waypoint x="1062" y="130" /> + <di:waypoint x="990" y="315" /> + <di:waypoint x="990" y="190" /> + <di:waypoint x="1065" y="190" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_00fb28f_di" bpmnElement="Flow_00fb28f"> - <di:waypoint x="1015" y="230" /> - <di:waypoint x="1080" y="230" /> + <di:waypoint x="1015" y="340" /> + <di:waypoint x="1080" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_00yl2jk_di" bpmnElement="Flow_00yl2jk"> - <di:waypoint x="900" y="230" /> - <di:waypoint x="965" y="230" /> + <di:waypoint x="900" y="340" /> + <di:waypoint x="965" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_14z4acw_di" bpmnElement="Flow_14z4acw"> - <di:waypoint x="340" y="230" /> - <di:waypoint x="380" y="230" /> + <di:waypoint x="340" y="340" /> + <di:waypoint x="380" y="340" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0rh43xe_di" bpmnElement="Flow_0rh43xe"> - <di:waypoint x="198" y="230" /> - <di:waypoint x="240" y="230" /> + <di:waypoint x="198" y="340" /> + <di:waypoint x="240" y="340" /> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="Event_055gbp2_di" bpmnElement="Event_055gbp2"> - <dc:Bounds x="162" y="212" width="36" height="36" /> + <bpmndi:BPMNEdge id="Flow_1vyktdh_di" bpmnElement="Flow_1vyktdh"> + <di:waypoint x="1115" y="190" /> + <di:waypoint x="1222" y="190" /> <bpmndi:BPMNLabel> - <dc:Bounds x="168" y="255" width="24" height="14" /> + <dc:Bounds x="1160" y="172" width="18" height="14" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Gateway_12oq1sa_di" bpmnElement="Gateway_12oq1sa" isMarkerVisible="true"> - <dc:Bounds x="965" y="205" width="50" height="50" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_1buy9ji_di" bpmnElement="Flow_1buy9ji"> + <di:waypoint x="1090" y="165" /> + <di:waypoint x="1090" y="100" /> + <di:waypoint x="1222" y="100" /> <bpmndi:BPMNLabel> - <dc:Bounds x="945" y="265" width="90" height="27" /> + <dc:Bounds x="1098" y="130" width="15" height="14" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_1v7p5kl_di" bpmnElement="Event_1n5z71a"> - <dc:Bounds x="2152" y="212" width="36" height="36" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_0umba3p_di" bpmnElement="Flow_0umba3p"> + <di:waypoint x="2230" y="340" /> + <di:waypoint x="2297" y="340" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2255" y="322" width="18" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_1xrbneh_di" bpmnElement="Flow_1xrbneh"> + <di:waypoint x="2205" y="365" /> + <di:waypoint x="2205" y="412" /> <bpmndi:BPMNLabel> - <dc:Bounds x="2137" y="255" width="71" height="27" /> + <dc:Bounds x="2213" y="386" width="15" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="Event_055gbp2_di" bpmnElement="Event_055gbp2"> + <dc:Bounds x="162" y="322" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="168" y="365" width="25" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_01vyapf_di" bpmnElement="Event_0kkeo9m"> - <dc:Bounds x="162" y="432" width="36" height="36" /> + <bpmndi:BPMNShape id="Gateway_12oq1sa_di" bpmnElement="Gateway_12oq1sa" isMarkerVisible="true"> + <dc:Bounds x="965" y="315" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="157" y="475" width="48" height="27" /> + <dc:Bounds x="945" y="375" width="90" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_1u3s42m_di" bpmnElement="Event_09ey569"> - <dc:Bounds x="1742" y="672" width="36" height="36" /> + <bpmndi:BPMNShape id="Event_01vyapf_di" bpmnElement="Event_0kkeo9m"> + <dc:Bounds x="162" y="542" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1728" y="715" width="71" height="27" /> + <dc:Bounds x="158" y="585" width="47" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_01fudey_di" bpmnElement="Event_0rzo7gj"> - <dc:Bounds x="1062" y="112" width="36" height="36" /> + <bpmndi:BPMNShape id="Event_1u3s42m_di" bpmnElement="Event_09ey569"> + <dc:Bounds x="1742" y="782" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1042" y="155" width="78" height="27" /> + <dc:Bounds x="1728" y="825" width="71" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_0gx3ps0_di" bpmnElement="Event_0gx3ps0"> - <dc:Bounds x="712" y="922" width="36" height="36" /> + <dc:Bounds x="712" y="1032" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="720" y="965" width="20" height="14" /> + <dc:Bounds x="720" y="1075" width="20" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_0xcg677_di" bpmnElement="Gateway_0xcg677" isMarkerVisible="true"> - <dc:Bounds x="665" y="205" width="50" height="50" /> + <dc:Bounds x="665" y="315" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="647" y="262" width="86" height="27" /> + <dc:Bounds x="647" y="372" width="87" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_0nr3me0_di" bpmnElement="Gateway_0nr3me0" isMarkerVisible="true"> - <dc:Bounds x="385" y="425" width="50" height="50" /> + <dc:Bounds x="385" y="535" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="370" y="395" width="84" height="27" /> + <dc:Bounds x="370" y="505" width="84" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_0j998yp_di" bpmnElement="Event_0j998yp"> - <dc:Bounds x="162" y="672" width="36" height="36" /> + <dc:Bounds x="162" y="782" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="150" y="715" width="64" height="27" /> + <dc:Bounds x="151" y="825" width="63" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_05lm9ln_di" bpmnElement="Event_1nqpg0o"> - <dc:Bounds x="482" y="542" width="36" height="36" /> + <dc:Bounds x="482" y="652" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="457" y="585" width="86" height="27" /> + <dc:Bounds x="457" y="695" width="86" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_0wv22e3_di" bpmnElement="Event_0ki3ncn"> - <dc:Bounds x="1732" y="432" width="36" height="36" /> + <dc:Bounds x="1732" y="542" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1706" y="475" width="88" height="27" /> + <dc:Bounds x="1706" y="585" width="88" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_1djcl9x_di" bpmnElement="Event_1djcl9x"> - <dc:Bounds x="482" y="782" width="36" height="36" /> + <dc:Bounds x="482" y="892" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="469" y="825" width="62" height="27" /> + <dc:Bounds x="469" y="935" width="62" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_0cemhjv_di" bpmnElement="Gateway_0cemhjv" isMarkerVisible="true"> - <dc:Bounds x="385" y="665" width="50" height="50" /> + <dc:Bounds x="385" y="775" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="368" y="635" width="84" height="27" /> + <dc:Bounds x="368" y="745" width="84" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_00e6sqq_di" bpmnElement="Activity_089t9fj"> - <dc:Bounds x="380" y="190" width="100" height="80" /> + <dc:Bounds x="380" y="300" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_147vycg_di" bpmnElement="Activity_1fv6ljk"> - <dc:Bounds x="240" y="190" width="100" height="80" /> + <dc:Bounds x="240" y="300" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1465ih9_di" bpmnElement="Activity_19myg2v"> - <dc:Bounds x="520" y="190" width="100" height="80" /> + <dc:Bounds x="520" y="300" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_16l1ykw_di" bpmnElement="Activity_1atych2"> - <dc:Bounds x="800" y="190" width="100" height="80" /> + <dc:Bounds x="800" y="300" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_10uophi_di" bpmnElement="Activity_0iluozh"> - <dc:Bounds x="1080" y="190" width="100" height="80" /> + <dc:Bounds x="1080" y="300" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0u2aqld_di" bpmnElement="Activity_0u2aqld"> - <dc:Bounds x="1240" y="190" width="100" height="80" /> + <dc:Bounds x="1240" y="300" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1hr68mt_di" bpmnElement="Activity_1hr68mt"> - <dc:Bounds x="1400" y="190" width="100" height="80" /> + <dc:Bounds x="1400" y="300" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_1xwu5f0_di" bpmnElement="Gateway_1xwu5f0" isMarkerVisible="true"> - <dc:Bounds x="1565" y="205" width="50" height="50" /> + <dc:Bounds x="1565" y="315" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1564" y="175" width="54" height="27" /> + <dc:Bounds x="1564" y="285" width="54" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_0yfi3mj_di" bpmnElement="Event_0yfi3mj"> - <dc:Bounds x="1572" y="302" width="36" height="36" /> + <dc:Bounds x="1572" y="412" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1607" y="286" width="85" height="27" /> + <dc:Bounds x="1608" y="396" width="84" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_03sbng2_di" bpmnElement="Activity_03sbng2"> - <dc:Bounds x="1870" y="190" width="100" height="80" /> + <dc:Bounds x="1870" y="300" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_08yj5gq_di" bpmnElement="Activity_08yj5gq"> - <dc:Bounds x="2010" y="190" width="100" height="80" /> + <dc:Bounds x="2010" y="300" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_1aesimf_di" bpmnElement="Activity_1aesimf" isExpanded="true"> - <dc:Bounds x="210" y="1130" width="770" height="170" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="Flow_1bqk5yt_di" bpmnElement="Flow_1bqk5yt"> - <di:waypoint x="630" y="1234" /> - <di:waypoint x="710" y="1234" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_0tw7xsp_di" bpmnElement="Flow_0tw7xsp"> - <di:waypoint x="278" y="1234" /> - <di:waypoint x="380" y="1234" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_075rb1i_di" bpmnElement="Flow_075rb1i"> - <di:waypoint x="480" y="1234" /> - <di:waypoint x="530" y="1234" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_0y0r82m_di" bpmnElement="Flow_0y0r82m"> - <di:waypoint x="810" y="1234" /> - <di:waypoint x="892" y="1234" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="Event_156ogc4_di" bpmnElement="Event_156ogc4"> - <dc:Bounds x="242" y="1216" width="36" height="36" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_1n2qjvx_di" bpmnElement="Event_1n2qjvx"> - <dc:Bounds x="892" y="1216" width="36" height="36" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_1eedm9e_di" bpmnElement="Activity_1eedm9e"> - <dc:Bounds x="710" y="1194" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_1szd5yp_di" bpmnElement="Activity_1szd5yp"> - <dc:Bounds x="530" y="1194" width="100" height="80" /> + <bpmndi:BPMNShape id="Event_01fudey_di" bpmnElement="Event_0rzo7gj"> + <dc:Bounds x="1222" y="172" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1202" y="215" width="78" height="27" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_0lpw3j7_di" bpmnElement="Activity_0lpw3j7"> - <dc:Bounds x="380" y="1194" width="100" height="80" /> + <bpmndi:BPMNShape id="Gateway_0ci374j_di" bpmnElement="Gateway_0ci374j" isMarkerVisible="true"> + <dc:Bounds x="1065" y="165" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1063" y="222" width="56" height="27" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_0hioign_di" bpmnElement="Activity_0hioign" isExpanded="true"> - <dc:Bounds x="320" y="1420" width="440" height="140" /> + <bpmndi:BPMNShape id="Event_04dd3u6_di" bpmnElement="Event_04dd3u6"> + <dc:Bounds x="1222" y="82" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1206" y="125" width="71" height="27" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="Flow_0cvs8zk_di" bpmnElement="Flow_0cvs8zk"> - <di:waypoint x="408" y="1481" /> - <di:waypoint x="473" y="1481" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_01jdnrt_di" bpmnElement="Flow_01jdnrt"> - <di:waypoint x="573" y="1481" /> - <di:waypoint x="672" y="1481" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="Activity_1f3cipf_di" bpmnElement="Activity_1f3cipf"> - <dc:Bounds x="473" y="1441" width="100" height="80" /> + <bpmndi:BPMNShape id="Event_1v7p5kl_di" bpmnElement="Event_1n5z71a"> + <dc:Bounds x="2297" y="322" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2282" y="365" width="71" height="27" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_18qzt1n_di" bpmnElement="Event_18qzt1n"> - <dc:Bounds x="672" y="1463" width="36" height="36" /> + <bpmndi:BPMNShape id="Gateway_0n3zhxo_di" bpmnElement="Gateway_0n3zhxo" isMarkerVisible="true"> + <dc:Bounds x="2180" y="315" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2169" y="285" width="73" height="14" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_0lvvn7i_di" bpmnElement="Event_0lvvn7i"> - <dc:Bounds x="372" y="1463" width="36" height="36" /> + <bpmndi:BPMNShape id="Event_1akyxj9_di" bpmnElement="Event_1akyxj9"> + <dc:Bounds x="2187" y="412" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2171" y="455" width="71" height="27" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1u5yry2_di" bpmnElement="Activity_09e5oh6"> - <dc:Bounds x="1700" y="190" width="100" height="80" /> + <dc:Bounds x="1700" y="300" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1ng1vyl_di" bpmnElement="Activity_1fzg56b"> - <dc:Bounds x="240" y="410" width="100" height="80" /> + <dc:Bounds x="240" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1vabe3f_di" bpmnElement="Activity_0gtw2p7"> - <dc:Bounds x="480" y="410" width="100" height="80" /> + <dc:Bounds x="480" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_07cr1m2_di" bpmnElement="Activity_07cr1m2"> - <dc:Bounds x="630" y="410" width="100" height="80" /> + <dc:Bounds x="630" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_03hbxfi_di" bpmnElement="Activity_03hbxfi"> - <dc:Bounds x="790" y="410" width="100" height="80" /> + <dc:Bounds x="790" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0br2i5b_di" bpmnElement="Activity_0br2i5b"> - <dc:Bounds x="960" y="410" width="100" height="80" /> + <dc:Bounds x="960" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_1ot96tc_di" bpmnElement="Gateway_1ot96tc" isMarkerVisible="true"> - <dc:Bounds x="1105" y="425" width="50" height="50" /> + <dc:Bounds x="1105" y="535" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1088" y="395" width="84" height="14" /> + <dc:Bounds x="1088" y="505" width="84" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_0h9nwqd_di" bpmnElement="Event_0uco28x"> - <dc:Bounds x="1112" y="522" width="36" height="36" /> + <dc:Bounds x="1112" y="632" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1088" y="565" width="85" height="27" /> + <dc:Bounds x="1089" y="675" width="84" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1t28p4r_di" bpmnElement="Activity_1t28p4r"> - <dc:Bounds x="1580" y="410" width="100" height="80" /> + <dc:Bounds x="1580" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_03o12kw_di" bpmnElement="Activity_1o0a55b"> - <dc:Bounds x="1410" y="410" width="100" height="80" /> + <dc:Bounds x="1410" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1hkx6j5_di" bpmnElement="Activity_068a0cy"> - <dc:Bounds x="240" y="650" width="100" height="80" /> + <dc:Bounds x="240" y="760" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_18xtkyi_di" bpmnElement="Event_1azfo77"> - <dc:Bounds x="162" y="922" width="36" height="36" /> + <dc:Bounds x="162" y="1032" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="156" y="965" width="48" height="27" /> + <dc:Bounds x="157" y="1075" width="47" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1wvru6z_di" bpmnElement="Activity_02vl5kt"> - <dc:Bounds x="480" y="650" width="100" height="80" /> + <dc:Bounds x="480" y="760" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1kszh5k_di" bpmnElement="Activity_1kszh5k"> - <dc:Bounds x="640" y="650" width="100" height="80" /> + <dc:Bounds x="640" y="760" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_09jt4b0_di" bpmnElement="Activity_09jt4b0"> - <dc:Bounds x="800" y="650" width="100" height="80" /> + <dc:Bounds x="800" y="760" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1su25xm_di" bpmnElement="Activity_1su25xm"> - <dc:Bounds x="970" y="650" width="100" height="80" /> + <dc:Bounds x="970" y="760" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_114io6q_di" bpmnElement="Gateway_114io6q" isMarkerVisible="true"> - <dc:Bounds x="1115" y="665" width="50" height="50" /> + <dc:Bounds x="1115" y="775" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1098" y="641" width="84" height="14" /> + <dc:Bounds x="1098" y="751" width="84" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_08ecfyj_di" bpmnElement="Event_08ecfyj"> - <dc:Bounds x="1122" y="762" width="36" height="36" /> + <dc:Bounds x="1122" y="872" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1098" y="805" width="85" height="27" /> + <dc:Bounds x="1099" y="915" width="84" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0ftm8b6_di" bpmnElement="Activity_0ftm8b6"> - <dc:Bounds x="1410" y="650" width="100" height="80" /> + <dc:Bounds x="1410" y="760" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1xnstqr_di" bpmnElement="Activity_1xnstqr"> - <dc:Bounds x="1580" y="650" width="100" height="80" /> + <dc:Bounds x="1580" y="760" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_15f8u0i_di" bpmnElement="Activity_1xirwg3"> - <dc:Bounds x="1220" y="410" width="100" height="80" /> + <dc:Bounds x="1220" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0xmezab_di" bpmnElement="Activity_0xmezab"> - <dc:Bounds x="1230" y="650" width="100" height="80" /> + <dc:Bounds x="1230" y="760" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_17abdcy_di" bpmnElement="Activity_1j0xkqc"> - <dc:Bounds x="250" y="900" width="100" height="80" /> + <dc:Bounds x="250" y="1010" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0huy5ph_di" bpmnElement="Activity_0huy5ph"> - <dc:Bounds x="390" y="900" width="100" height="80" /> + <dc:Bounds x="390" y="1010" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1tbardv_di" bpmnElement="Activity_1tbardv"> - <dc:Bounds x="560" y="900" width="100" height="80" /> + <dc:Bounds x="560" y="1010" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_0kp0sqc_di" bpmnElement="Event_0ocuo1o"> - <dc:Bounds x="752" y="82" width="36" height="36" /> + <dc:Bounds x="752" y="192" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="735" y="125" width="71" height="27" /> + <dc:Bounds x="735" y="235" width="71" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_1aesimf_di" bpmnElement="Activity_1aesimf" isExpanded="true"> + <dc:Bounds x="210" y="1240" width="770" height="170" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="Flow_1bqk5yt_di" bpmnElement="Flow_1bqk5yt"> + <di:waypoint x="630" y="1344" /> + <di:waypoint x="710" y="1344" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_0tw7xsp_di" bpmnElement="Flow_0tw7xsp"> + <di:waypoint x="278" y="1344" /> + <di:waypoint x="380" y="1344" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_075rb1i_di" bpmnElement="Flow_075rb1i"> + <di:waypoint x="480" y="1344" /> + <di:waypoint x="530" y="1344" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_0y0r82m_di" bpmnElement="Flow_0y0r82m"> + <di:waypoint x="810" y="1344" /> + <di:waypoint x="892" y="1344" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="Event_156ogc4_di" bpmnElement="Event_156ogc4"> + <dc:Bounds x="242" y="1326" width="36" height="36" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Event_1n2qjvx_di" bpmnElement="Event_1n2qjvx"> + <dc:Bounds x="892" y="1326" width="36" height="36" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_1eedm9e_di" bpmnElement="Activity_1eedm9e"> + <dc:Bounds x="710" y="1304" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_1szd5yp_di" bpmnElement="Activity_1szd5yp"> + <dc:Bounds x="530" y="1304" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_0lpw3j7_di" bpmnElement="Activity_0lpw3j7"> + <dc:Bounds x="380" y="1304" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_0hioign_di" bpmnElement="Activity_0hioign" isExpanded="true"> + <dc:Bounds x="320" y="1530" width="440" height="140" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="Flow_0cvs8zk_di" bpmnElement="Flow_0cvs8zk"> + <di:waypoint x="408" y="1591" /> + <di:waypoint x="473" y="1591" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_01jdnrt_di" bpmnElement="Flow_01jdnrt"> + <di:waypoint x="573" y="1591" /> + <di:waypoint x="672" y="1591" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="Activity_1f3cipf_di" bpmnElement="Activity_1f3cipf"> + <dc:Bounds x="473" y="1551" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Event_18qzt1n_di" bpmnElement="Event_18qzt1n"> + <dc:Bounds x="672" y="1573" width="36" height="36" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Event_0lvvn7i_di" bpmnElement="Event_0lvvn7i"> + <dc:Bounds x="372" y="1573" width="36" height="36" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeallocateAccessNSSI.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeallocateAccessNSSI.bpmn index 4debe1fe21..ae81364f90 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeallocateAccessNSSI.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeallocateAccessNSSI.bpmn @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_17amn3o" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.1.1"> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_17amn3o" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.10.0"> <bpmn:process id="DoDeallocateAccessNSSI" name="DoDeallocateAccessNSSI" isExecutable="true"> <bpmn:startEvent id="Event_0seox25" name="Start"> <bpmn:outgoing>Flow_14g5p2j</bpmn:outgoing> @@ -37,7 +37,7 @@ deallocator.preProcessRequest(execution)</bpmn:script> <bpmn:sequenceFlow id="Flow_16hk034" name="No" sourceRef="Gateway_1ypyzn3" targetRef="Activity_0umktii" /> <bpmn:sequenceFlow id="Flow_1she7i5" sourceRef="Activity_0szls0v" targetRef="Activity_0tbndh6" /> <bpmn:intermediateThrowEvent id="Event_0vthuwp" name="Goto Terminate TN FH/MH NSSI"> - <bpmn:incoming>Flow_1lfvp5s</bpmn:incoming> + <bpmn:incoming>Flow_01ssl7f</bpmn:incoming> <bpmn:linkEventDefinition id="LinkEventDefinition_0dpa9td" name="TerminateTnNSSI" /> </bpmn:intermediateThrowEvent> <bpmn:intermediateCatchEvent id="Event_0opsm2p" name="TN FH/MH Termination"> @@ -45,9 +45,8 @@ deallocator.preProcessRequest(execution)</bpmn:script> <bpmn:linkEventDefinition id="LinkEventDefinition_1gactc9" name="TerminateTnNSSI" /> </bpmn:intermediateCatchEvent> <bpmn:sequenceFlow id="Flow_0cj22bs" sourceRef="Event_0opsm2p" targetRef="Activity_0uul9fb" /> - <bpmn:sequenceFlow id="Flow_0412ven" sourceRef="Activity_0qho4pw" targetRef="Activity_03zg1pp" /> - <bpmn:sequenceFlow id="Flow_0tlog6y" sourceRef="Activity_03zg1pp" targetRef="Activity_1ri9jrn" /> - <bpmn:sequenceFlow id="Flow_1lfvp5s" sourceRef="Activity_1v1ra2k" targetRef="Event_0vthuwp" /> + <bpmn:sequenceFlow id="Flow_0412ven" sourceRef="Activity_0qho4pw" targetRef="Gateway_11aiy0x" /> + <bpmn:sequenceFlow id="Flow_1lfvp5s" sourceRef="Activity_1v1ra2k" targetRef="Gateway_0qsknv5" /> <bpmn:scriptTask id="Activity_1i58rru" name="Fetch Related NSSI and Slice profile details" scriptFormat="groovy"> <bpmn:incoming>Flow_1hm17vz</bpmn:incoming> <bpmn:outgoing>Flow_0kt6k2i</bpmn:outgoing> @@ -84,7 +83,7 @@ def deallocator = new DoDeAllocateAccessNSSI() deallocator.performOofAnNfNSSITerminationCall(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:intermediateThrowEvent id="Event_18fpd51" name="Goto Terminate TN FH/MH NSSI"> - <bpmn:incoming>Flow_1x4e0k3</bpmn:incoming> + <bpmn:incoming>Flow_0b3qqvw</bpmn:incoming> <bpmn:linkEventDefinition id="LinkEventDefinition_07j10pb" name="TerminateTnNSSI" /> </bpmn:intermediateThrowEvent> <bpmn:scriptTask id="Activity_1v1ra2k" name="Delete RAN NF NSSI" scriptFormat="groovy"> @@ -117,7 +116,7 @@ deallocator.deallocateAnNfNssi(execution)</bpmn:script> <bpmn:outgoing>Flow_1x4e0k3</bpmn:outgoing> </bpmn:serviceTask> <bpmn:sequenceFlow id="Flow_1bgguw0" sourceRef="Activity_17w3onz" targetRef="Activity_05frw6w" /> - <bpmn:sequenceFlow id="Flow_1x4e0k3" sourceRef="Activity_05frw6w" targetRef="Event_18fpd51" /> + <bpmn:sequenceFlow id="Flow_1x4e0k3" sourceRef="Activity_05frw6w" targetRef="Gateway_0jjou51" /> <bpmn:scriptTask id="Activity_17w3onz" name="Update Job status" scriptFormat="groovy"> <bpmn:incoming>Flow_0vcn5tl</bpmn:incoming> <bpmn:outgoing>Flow_1bgguw0</bpmn:outgoing> @@ -623,14 +622,14 @@ def deallocator = new DoDeAllocateAccessNSSI() deallocator.deleteRanNfSliceProfileInAAI(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:scriptTask id="Activity_03zg1pp" name="Delete TN Slice profiles" scriptFormat="groovy"> - <bpmn:incoming>Flow_0412ven</bpmn:incoming> - <bpmn:outgoing>Flow_0tlog6y</bpmn:outgoing> + <bpmn:incoming>Flow_12wqmdr</bpmn:incoming> + <bpmn:outgoing>Flow_15ok12u</bpmn:outgoing> <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.* def deallocator = new DoDeAllocateAccessNSSI() deallocator.deleteTNSliceProfileInAAI(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:scriptTask id="Activity_1ri9jrn" name="Delete RAN NSSI" scriptFormat="groovy"> - <bpmn:incoming>Flow_0tlog6y</bpmn:incoming> + <bpmn:incoming>Flow_183aijy</bpmn:incoming> <bpmn:outgoing>Flow_1nh3x4j</bpmn:outgoing> <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.* def deallocator = new DoDeAllocateAccessNSSI() @@ -639,7 +638,7 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <bpmn:callActivity id="Activity_0umktii" name="Modify RAN NF NSSI" calledElement="DoModifyRanNfNssi"> <bpmn:extensionElements> <camunda:in source="anNfNssiId" target="serviceInstanceID" /> - <camunda:in source="anNfSliceProfileId" target="sliceProfileId" /> + <camunda:in source="anNfSliceProfileId" target="SliceProfileId" /> <camunda:in source="msoRequestId" target="msoRequestId" /> <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" /> @@ -665,13 +664,78 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <bpmn:errorEventDefinition id="ErrorEventDefinition_031y5kl" errorRef="Error_0i5gql0" /> </bpmn:endEvent> <bpmn:sequenceFlow id="Flow_0x71rer" sourceRef="Activity_1wu2d9y" targetRef="Activity_0drkoau" /> + <bpmn:exclusiveGateway id="Gateway_0jjou51" name="Is TN present?" default="Flow_0b3qqvw"> + <bpmn:incoming>Flow_1x4e0k3</bpmn:incoming> + <bpmn:outgoing>Flow_0b3qqvw</bpmn:outgoing> + <bpmn:outgoing>Flow_1yewqtt</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="Flow_0b3qqvw" name="Yes" sourceRef="Gateway_0jjou51" targetRef="Event_18fpd51" /> + <bpmn:intermediateThrowEvent id="Event_05q1nj2" name="Goto AAI Updates"> + <bpmn:incoming>Flow_1yewqtt</bpmn:incoming> + <bpmn:linkEventDefinition id="LinkEventDefinition_1tasi5v" name="UpdateAAI" /> + </bpmn:intermediateThrowEvent> + <bpmn:sequenceFlow id="Flow_1yewqtt" name="No" sourceRef="Gateway_0jjou51" targetRef="Event_05q1nj2"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{(execution.getVariable("IsRANNfAlonePresent" ) == true)}</bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:exclusiveGateway id="Gateway_0qsknv5" name="Is TN present?" default="Flow_01ssl7f"> + <bpmn:incoming>Flow_1lfvp5s</bpmn:incoming> + <bpmn:outgoing>Flow_01ssl7f</bpmn:outgoing> + <bpmn:outgoing>Flow_1scubfn</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="Flow_01ssl7f" name="Yes" sourceRef="Gateway_0qsknv5" targetRef="Event_0vthuwp" /> + <bpmn:intermediateThrowEvent id="Event_0y39bzp" name="Goto AAI Updates"> + <bpmn:incoming>Flow_1scubfn</bpmn:incoming> + <bpmn:linkEventDefinition id="LinkEventDefinition_01g0uqc" name="UpdateAAI" /> + </bpmn:intermediateThrowEvent> + <bpmn:sequenceFlow id="Flow_1scubfn" name="No" sourceRef="Gateway_0qsknv5" targetRef="Event_0y39bzp"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{(execution.getVariable("IsRANNfAlonePresent" ) == true)}</bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:exclusiveGateway id="Gateway_11aiy0x" name="Is TN present?" default="Flow_12wqmdr"> + <bpmn:incoming>Flow_0412ven</bpmn:incoming> + <bpmn:outgoing>Flow_12wqmdr</bpmn:outgoing> + <bpmn:outgoing>Flow_0r8ldai</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="Flow_12wqmdr" name="Yes" sourceRef="Gateway_11aiy0x" targetRef="Activity_03zg1pp" /> + <bpmn:sequenceFlow id="Flow_0r8ldai" name="No" sourceRef="Gateway_11aiy0x" targetRef="Gateway_187nc60"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{(execution.getVariable("IsRANNfAlonePresent" ) == true)}</bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="Flow_183aijy" sourceRef="Gateway_187nc60" targetRef="Activity_1ri9jrn" /> + <bpmn:parallelGateway id="Gateway_187nc60"> + <bpmn:incoming>Flow_0r8ldai</bpmn:incoming> + <bpmn:incoming>Flow_15ok12u</bpmn:incoming> + <bpmn:outgoing>Flow_183aijy</bpmn:outgoing> + </bpmn:parallelGateway> + <bpmn:sequenceFlow id="Flow_15ok12u" sourceRef="Activity_03zg1pp" targetRef="Gateway_187nc60" /> </bpmn:process> <bpmn:error id="Error_0i5gql0" name="DeallocateWorkflowError" errorCode="2500" /> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoDeallocateAccessNSSI"> + <bpmndi:BPMNEdge id="Flow_0x71rer_di" bpmnElement="Flow_0x71rer"> + <di:waypoint x="1275" y="650" /> + <di:waypoint x="1320" y="650" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_0k55zuy_di" bpmnElement="Flow_0k55zuy"> + <di:waypoint x="1650" y="215" /> + <di:waypoint x="1650" y="100" /> + <di:waypoint x="1822" y="100" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1658" y="155" width="15" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_0vcn5tl_di" bpmnElement="Flow_0vcn5tl"> + <di:waypoint x="1675" y="240" /> + <di:waypoint x="1820" y="240" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1739" y="222" width="18" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_18y4ab2_di" bpmnElement="Flow_18y4ab2"> + <di:waypoint x="1500" y="240" /> + <di:waypoint x="1625" y="240" /> + </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0omhxaj_di" bpmnElement="Flow_0omhxaj"> <di:waypoint x="238" y="1110" /> - <di:waypoint x="360" y="1110" /> + <di:waypoint x="290" y="1110" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_03fig6p_di" bpmnElement="Flow_03fig6p"> <di:waypoint x="2085" y="880" /> @@ -767,10 +831,6 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <di:waypoint x="1420" y="650" /> <di:waypoint x="1460" y="650" /> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_0x71rer_di" bpmnElement="Flow_0x71rer"> - <di:waypoint x="1275" y="650" /> - <di:waypoint x="1320" y="650" /> - </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1s5fdmz_di" bpmnElement="Flow_1s5fdmz"> <di:waypoint x="1130" y="650" /> <di:waypoint x="1175" y="650" /> @@ -810,7 +870,7 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <di:waypoint x="1207" y="1110" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1nh3x4j_di" bpmnElement="Flow_1nh3x4j"> - <di:waypoint x="810" y="1110" /> + <di:waypoint x="840" y="1110" /> <di:waypoint x="880" y="1110" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_15bkzm7_di" bpmnElement="Flow_15bkzm7"> @@ -844,7 +904,7 @@ deallocator.deleteANNSSI(execution)</bpmn:script> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1x4e0k3_di" bpmnElement="Flow_1x4e0k3"> <di:waypoint x="2130" y="240" /> - <di:waypoint x="2232" y="240" /> + <di:waypoint x="2235" y="240" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1bgguw0_di" bpmnElement="Flow_1bgguw0"> <di:waypoint x="1920" y="240" /> @@ -852,15 +912,11 @@ deallocator.deleteANNSSI(execution)</bpmn:script> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1lfvp5s_di" bpmnElement="Flow_1lfvp5s"> <di:waypoint x="2380" y="410" /> - <di:waypoint x="2422" y="410" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_0tlog6y_di" bpmnElement="Flow_0tlog6y"> - <di:waypoint x="630" y="1110" /> - <di:waypoint x="710" y="1110" /> + <di:waypoint x="2435" y="410" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0412ven_di" bpmnElement="Flow_0412ven"> - <di:waypoint x="460" y="1110" /> - <di:waypoint x="530" y="1110" /> + <di:waypoint x="390" y="1110" /> + <di:waypoint x="435" y="1110" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0cj22bs_di" bpmnElement="Flow_0cj22bs"> <di:waypoint x="238" y="880" /> @@ -920,25 +976,58 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <di:waypoint x="238" y="410" /> <di:waypoint x="290" y="410" /> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_18y4ab2_di" bpmnElement="Flow_18y4ab2"> - <di:waypoint x="1500" y="240" /> - <di:waypoint x="1625" y="240" /> + <bpmndi:BPMNEdge id="Flow_0b3qqvw_di" bpmnElement="Flow_0b3qqvw"> + <di:waypoint x="2285" y="240" /> + <di:waypoint x="2362" y="240" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2315" y="222" width="18" height="14" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_0vcn5tl_di" bpmnElement="Flow_0vcn5tl"> - <di:waypoint x="1675" y="240" /> - <di:waypoint x="1820" y="240" /> + <bpmndi:BPMNEdge id="Flow_1yewqtt_di" bpmnElement="Flow_1yewqtt"> + <di:waypoint x="2260" y="265" /> + <di:waypoint x="2260" y="282" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1739" y="222" width="18" height="14" /> + <dc:Bounds x="2268" y="271" width="15" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_0k55zuy_di" bpmnElement="Flow_0k55zuy"> - <di:waypoint x="1650" y="215" /> - <di:waypoint x="1650" y="100" /> - <di:waypoint x="1822" y="100" /> + <bpmndi:BPMNEdge id="Flow_01ssl7f_di" bpmnElement="Flow_01ssl7f"> + <di:waypoint x="2485" y="410" /> + <di:waypoint x="2552" y="410" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1658" y="155" width="15" height="14" /> + <dc:Bounds x="2510" y="392" width="18" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_1scubfn_di" bpmnElement="Flow_1scubfn"> + <di:waypoint x="2460" y="435" /> + <di:waypoint x="2460" y="482" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2468" y="456" width="15" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_12wqmdr_di" bpmnElement="Flow_12wqmdr"> + <di:waypoint x="460" y="1135" /> + <di:waypoint x="460" y="1260" /> + <di:waypoint x="520" y="1260" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="466" y="1199" width="18" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_0r8ldai_di" bpmnElement="Flow_0r8ldai"> + <di:waypoint x="485" y="1110" /> + <di:waypoint x="655" y="1110" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="589" y="1092" width="15" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_183aijy_di" bpmnElement="Flow_183aijy"> + <di:waypoint x="705" y="1110" /> + <di:waypoint x="740" y="1110" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_15ok12u_di" bpmnElement="Flow_15ok12u"> + <di:waypoint x="620" y="1260" /> + <di:waypoint x="680" y="1260" /> + <di:waypoint x="680" y="1135" /> + </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="Event_0seox25_di" bpmnElement="Event_0seox25"> <dc:Bounds x="202" y="392" width="36" height="36" /> <bpmndi:BPMNLabel> @@ -957,12 +1046,6 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <bpmndi:BPMNShape id="Gateway_1ypyzn3_di" bpmnElement="Gateway_1ypyzn3" isMarkerVisible="true"> <dc:Bounds x="1265" y="385" width="50" height="50" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_1dvx4n9_di" bpmnElement="Event_0vthuwp"> - <dc:Bounds x="2422" y="392" width="36" height="36" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="2399" y="438" width="82" height="27" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_1ekryu8_di" bpmnElement="Event_0opsm2p"> <dc:Bounds x="202" y="862" width="36" height="36" /> <bpmndi:BPMNLabel> @@ -984,15 +1067,15 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <bpmndi:BPMNShape id="Activity_1h4jup8_di" bpmnElement="Activity_0gzrekf"> <dc:Bounds x="1100" y="370" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_18fpd51_di" bpmnElement="Event_18fpd51"> - <dc:Bounds x="2232" y="222" width="36" height="36" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="2209" y="268" width="82" height="27" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0m43umg_di" bpmnElement="Activity_1v1ra2k"> <dc:Bounds x="2280" y="370" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_05frw6w_di" bpmnElement="Activity_05frw6w"> + <dc:Bounds x="2030" y="200" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_0njdei2_di" bpmnElement="Activity_17w3onz"> + <dc:Bounds x="1820" y="200" width="100" height="80" /> + </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1i1fknn_di" bpmnElement="Activity_1irtrgt"> <dc:Bounds x="1970" y="370" width="100" height="80" /> </bpmndi:BPMNShape> @@ -1029,21 +1112,94 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <bpmndi:BPMNShape id="Activity_1i9b3oi_di" bpmnElement="Activity_114fx71"> <dc:Bounds x="1330" y="840" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_01s2lve_di" bpmnElement="Activity_0umktii"> - <dc:Bounds x="1400" y="200" width="100" height="80" /> + <bpmndi:BPMNShape id="Event_18fpd51_di" bpmnElement="Event_18fpd51"> + <dc:Bounds x="2362" y="222" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2340" y="268" width="81" height="27" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_05frw6w_di" bpmnElement="Activity_05frw6w"> - <dc:Bounds x="2030" y="200" width="100" height="80" /> + <bpmndi:BPMNShape id="Event_1dvx4n9_di" bpmnElement="Event_0vthuwp"> + <dc:Bounds x="2552" y="392" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2530" y="438" width="81" height="27" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_0njdei2_di" bpmnElement="Activity_17w3onz"> - <dc:Bounds x="1820" y="200" width="100" height="80" /> + <bpmndi:BPMNShape id="Gateway_0jjou51_di" bpmnElement="Gateway_0jjou51" isMarkerVisible="true"> + <dc:Bounds x="2235" y="215" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2224" y="185" width="73" height="14" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Gateway_0g02vzi_di" bpmnElement="Gateway_0g02vzi" isMarkerVisible="true"> - <dc:Bounds x="1625" y="215" width="50" height="50" /> + <bpmndi:BPMNShape id="Event_05q1nj2_di" bpmnElement="Event_05q1nj2"> + <dc:Bounds x="2242" y="282" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1619" y="272" width="63" height="27" /> + <dc:Bounds x="2218" y="328" width="90" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Gateway_0qsknv5_di" bpmnElement="Gateway_0qsknv5" isMarkerVisible="true"> + <dc:Bounds x="2435" y="385" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2423" y="361" width="73" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Event_0y39bzp_di" bpmnElement="Event_0y39bzp"> + <dc:Bounds x="2442" y="482" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2418" y="528" width="90" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_0r4899a_di" bpmnElement="Activity_0qho4pw"> + <dc:Bounds x="290" y="1070" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Gateway_11aiy0x_di" bpmnElement="Gateway_11aiy0x" isMarkerVisible="true"> + <dc:Bounds x="435" y="1085" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="424" y="1055" width="73" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_0b0pl0x_di" bpmnElement="Activity_03zg1pp"> + <dc:Bounds x="520" y="1220" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_0dreslj_di" bpmnElement="Activity_1ri9jrn"> + <dc:Bounds x="740" y="1070" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Gateway_10923hr_di" bpmnElement="Gateway_187nc60"> + <dc:Bounds x="655" y="1085" width="50" height="50" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_0qbd3cz_di" bpmnElement="Activity_0qbd3cz" isExpanded="true"> + <dc:Bounds x="820" y="1310" width="770" height="170" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="Flow_0nsc2oc_di" bpmnElement="Flow_0nsc2oc"> + <di:waypoint x="1240" y="1414" /> + <di:waypoint x="1320" y="1414" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_1q1450g_di" bpmnElement="Flow_1q1450g"> + <di:waypoint x="888" y="1414" /> + <di:waypoint x="990" y="1414" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_0alqcat_di" bpmnElement="Flow_0alqcat"> + <di:waypoint x="1090" y="1414" /> + <di:waypoint x="1140" y="1414" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_035ivcv_di" bpmnElement="Flow_035ivcv"> + <di:waypoint x="1420" y="1414" /> + <di:waypoint x="1502" y="1414" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="Event_13wl9ag_di" bpmnElement="Event_13wl9ag"> + <dc:Bounds x="852" y="1396" width="36" height="36" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Event_0ugnt78_di" bpmnElement="Event_0ugnt78"> + <dc:Bounds x="1502" y="1396" width="36" height="36" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_1mzoss1_di" bpmnElement="Activity_1mzoss1"> + <dc:Bounds x="1320" y="1374" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_055w5hr_di" bpmnElement="Activity_055w5hr"> + <dc:Bounds x="1140" y="1374" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_1nr7xyr_di" bpmnElement="Activity_1nr7xyr"> + <dc:Bounds x="990" y="1374" width="100" height="80" /> + </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0jtob0z_di" bpmnElement="Activity_0jtob0z"> <dc:Bounds x="1780" y="610" width="100" height="80" /> </bpmndi:BPMNShape> @@ -1074,6 +1230,26 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <bpmndi:BPMNShape id="Activity_10vgzv9_di" bpmnElement="Activity_0lszayp"> <dc:Bounds x="1720" y="370" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_0c0vkj6_di" bpmnElement="Activity_0c0vkj6" isExpanded="true"> + <dc:Bounds x="930" y="1600" width="440" height="140" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="Flow_0bkcs42_di" bpmnElement="Flow_0bkcs42"> + <di:waypoint x="1018" y="1661" /> + <di:waypoint x="1083" y="1661" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_1b5mtc4_di" bpmnElement="Flow_1b5mtc4"> + <di:waypoint x="1183" y="1661" /> + <di:waypoint x="1282" y="1661" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="Event_1bqq1on_di" bpmnElement="Event_1bqq1on"> + <dc:Bounds x="982" y="1643" width="36" height="36" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Event_0qb738v_di" bpmnElement="Event_0qb738v"> + <dc:Bounds x="1282" y="1643" width="36" height="36" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="Activity_0187ysa_di" bpmnElement="Activity_0187ysa"> + <dc:Bounds x="1083" y="1621" width="100" height="80" /> + </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_115teb9_di" bpmnElement="Activity_115teb9"> <dc:Bounds x="1460" y="610" width="100" height="80" /> </bpmndi:BPMNShape> @@ -1155,72 +1331,18 @@ deallocator.deleteANNSSI(execution)</bpmn:script> <dc:Bounds x="189" y="1135" width="62" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_0r4899a_di" bpmnElement="Activity_0qho4pw"> - <dc:Bounds x="360" y="1070" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_0b0pl0x_di" bpmnElement="Activity_03zg1pp"> - <dc:Bounds x="530" y="1070" width="100" height="80" /> + <bpmndi:BPMNShape id="Activity_01s2lve_di" bpmnElement="Activity_0umktii"> + <dc:Bounds x="1400" y="200" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_0dreslj_di" bpmnElement="Activity_1ri9jrn"> - <dc:Bounds x="710" y="1070" width="100" height="80" /> + <bpmndi:BPMNShape id="Gateway_0g02vzi_di" bpmnElement="Gateway_0g02vzi" isMarkerVisible="true"> + <dc:Bounds x="1625" y="215" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1619" y="272" width="63" height="27" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_1m6hsxq_di" bpmnElement="Event_161u9s2"> <dc:Bounds x="1822" y="82" width="36" height="36" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_0qbd3cz_di" bpmnElement="Activity_0qbd3cz" isExpanded="true"> - <dc:Bounds x="820" y="1310" width="770" height="170" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="Flow_0nsc2oc_di" bpmnElement="Flow_0nsc2oc"> - <di:waypoint x="1240" y="1414" /> - <di:waypoint x="1320" y="1414" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_1q1450g_di" bpmnElement="Flow_1q1450g"> - <di:waypoint x="888" y="1414" /> - <di:waypoint x="990" y="1414" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_0alqcat_di" bpmnElement="Flow_0alqcat"> - <di:waypoint x="1090" y="1414" /> - <di:waypoint x="1140" y="1414" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_035ivcv_di" bpmnElement="Flow_035ivcv"> - <di:waypoint x="1420" y="1414" /> - <di:waypoint x="1502" y="1414" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="Event_13wl9ag_di" bpmnElement="Event_13wl9ag"> - <dc:Bounds x="852" y="1396" width="36" height="36" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_0ugnt78_di" bpmnElement="Event_0ugnt78"> - <dc:Bounds x="1502" y="1396" width="36" height="36" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_1mzoss1_di" bpmnElement="Activity_1mzoss1"> - <dc:Bounds x="1320" y="1374" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_055w5hr_di" bpmnElement="Activity_055w5hr"> - <dc:Bounds x="1140" y="1374" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_1nr7xyr_di" bpmnElement="Activity_1nr7xyr"> - <dc:Bounds x="990" y="1374" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_0c0vkj6_di" bpmnElement="Activity_0c0vkj6" isExpanded="true"> - <dc:Bounds x="930" y="1600" width="440" height="140" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="Flow_0bkcs42_di" bpmnElement="Flow_0bkcs42"> - <di:waypoint x="1018" y="1661" /> - <di:waypoint x="1083" y="1661" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="Flow_1b5mtc4_di" bpmnElement="Flow_1b5mtc4"> - <di:waypoint x="1183" y="1661" /> - <di:waypoint x="1282" y="1661" /> - </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="Event_1bqq1on_di" bpmnElement="Event_1bqq1on"> - <dc:Bounds x="982" y="1643" width="36" height="36" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Event_0qb738v_di" bpmnElement="Event_0qb738v"> - <dc:Bounds x="1282" y="1643" width="36" height="36" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="Activity_0187ysa_di" bpmnElement="Activity_0187ysa"> - <dc:Bounds x="1083" y="1621" width="100" height="80" /> - </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions> diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java index f36c5a2915..10cea171ce 100755 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java @@ -289,11 +289,12 @@ public class WorkflowAction { List<Resource> resourceList = new ArrayList<>(); List<Pair<WorkflowType, String>> aaiResourceIds = new ArrayList<>(); - if (resourceType == WorkflowType.SERVICE || isVNFCreateOrDelete(resourceType, requestAction)) { + if (resourceType == WorkflowType.SERVICE || isVNFCreate(resourceType, requestAction)) { resourceList = serviceEBBLoader.getResourceListForService(sIRequest, requestAction, execution, serviceInstanceId, resourceId, aaiResourceIds); - } else if (resourceType == WorkflowType.VNF && (REPLACEINSTANCE.equalsIgnoreCase(requestAction) - || (RECREATE_INSTANCE.equalsIgnoreCase(requestAction)))) { + } else if (resourceType == WorkflowType.VNF + && (DELETE_INSTANCE.equalsIgnoreCase(requestAction) || REPLACEINSTANCE.equalsIgnoreCase(requestAction) + || (RECREATE_INSTANCE.equalsIgnoreCase(requestAction)))) { vnfEBBLoader.traverseAAIVnf(execution, resourceList, workflowResourceIds.getServiceInstanceId(), workflowResourceIds.getVnfId(), aaiResourceIds); } else if (resourceType == WorkflowType.VNF && UPDATE_INSTANCE.equalsIgnoreCase(requestAction)) { @@ -363,9 +364,8 @@ public class WorkflowAction { return flowsToExecute; } - private boolean isVNFCreateOrDelete(WorkflowType resourceType, String requestAction) { - return resourceType == WorkflowType.VNF - && (CREATE_INSTANCE.equalsIgnoreCase(requestAction) || DELETE_INSTANCE.equalsIgnoreCase(requestAction)); + private boolean isVNFCreate(WorkflowType resourceType, String requestAction) { + return resourceType == WorkflowType.VNF && CREATE_INSTANCE.equalsIgnoreCase(requestAction); } private void setExecutionVariables(DelegateExecution execution, List<ExecuteBuildingBlock> flowsToExecute, diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoader.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoader.java index c000e9475c..b5ad8d8c03 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoader.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoader.java @@ -25,6 +25,7 @@ package org.onap.so.bpmn.infrastructure.workflow.tasks.ebb.loader; import com.fasterxml.jackson.core.JsonProcessingException; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.javatuples.Pair; +import org.onap.aai.domain.yang.GenericVnf; import org.onap.aai.domain.yang.Relationship; import org.onap.aai.domain.yang.ServiceInstance; import org.onap.aai.domain.yang.VpnBinding; @@ -248,7 +249,9 @@ public class ServiceEBBLoader { } for (org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf vnf : serviceInstanceMSO.getVnfs()) { aaiResourceIds.add(new Pair<>(WorkflowType.VNF, vnf.getVnfId())); + GenericVnf genericVnf = bbInputSetupUtils.getAAIGenericVnf(vnf.getVnfId()); Resource vnfResource = new Resource(WorkflowType.VNF, vnf.getVnfId(), false, serviceResource); + vnfResource.setVnfCustomizationId(genericVnf.getModelCustomizationId()); resourceList.add(vnfResource); traverseVnfModules(resourceList, vnfResource, aaiResourceIds, vnf); if (vnf.getVolumeGroups() != null) { diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoader.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoader.java index c1d1d7ad5a..b950eb41be 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoader.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoader.java @@ -40,6 +40,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf; import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance; import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule; import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup; +import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule; import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetup; import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils; import org.onap.so.client.exception.ExceptionBuilder; @@ -165,6 +166,8 @@ public class VnfEBBLoader { aaiResourceIds.add(new Pair<>(WorkflowType.VFMODULE, vfModule.getVfModuleId())); Resource vfModuleResource = new Resource(WorkflowType.VFMODULE, vfModule.getVfModuleId(), false, vnfResource); + Optional.ofNullable(vfModule.getModelInfoVfModule()).map(ModelInfoVfModule::getIsBaseBoolean) + .ifPresent(vfModuleResource::setBaseVfModule); resourceList.add(vfModuleResource); findConfigurationsInsideVfModule(execution, vnf.getVnfId(), vfModule.getVfModuleId(), resourceList, vfModuleResource, aaiResourceIds); diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java index 021bac3a7a..52196aae49 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java @@ -66,7 +66,9 @@ import org.junit.Test; import org.junit.rules.ExpectedException; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.Spy; +import org.onap.aai.domain.yang.GenericVnf; import org.onap.aai.domain.yang.Relationship; import org.onap.aai.domain.yang.RelationshipList; import org.onap.aai.domain.yang.ServiceInstance; @@ -409,6 +411,7 @@ public class WorkflowActionTest extends BaseTaskTest { doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("si0"); doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI); + doReturn(Mockito.mock(GenericVnf.class)).when(bbSetupUtils).getAAIGenericVnf(any()); when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScopeAndCloudOwner(gAction, resource, false, "my-custom-cloud-owner")).thenReturn(northBoundRequest); workflowAction.selectExecutionList(execution); @@ -931,6 +934,7 @@ public class WorkflowActionTest extends BaseTaskTest { doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123"); doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI); + doReturn(Mockito.mock(GenericVnf.class)).when(bbSetupUtils).getAAIGenericVnf(any()); when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScopeAndCloudOwner(gAction, resource, false, "my-custom-cloud-owner")).thenReturn(northBoundRequest); workflowAction.selectExecutionList(execution); @@ -1011,6 +1015,7 @@ public class WorkflowActionTest extends BaseTaskTest { doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123"); doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI); + doReturn(Mockito.mock(GenericVnf.class)).when(bbSetupUtils).getAAIGenericVnf(any()); when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScopeAndCloudOwner(gAction, resource, false, "my-custom-cloud-owner")).thenReturn(northBoundRequest); workflowAction.selectExecutionList(execution); diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoaderTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoaderTest.java index 7a26422eb9..2725626c1a 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoaderTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoaderTest.java @@ -41,6 +41,7 @@ import org.onap.so.bpmn.infrastructure.workflow.tasks.Resource; import org.onap.so.bpmn.infrastructure.workflow.tasks.VrfBondingServiceException; import org.onap.so.bpmn.infrastructure.workflow.tasks.WorkflowType; import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration; +import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf; import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetup; import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils; import org.onap.so.client.exception.ExceptionBuilder; @@ -206,13 +207,16 @@ public class ServiceEBBLoaderTest extends BaseTaskTest { serviceInstanceAAI.setServiceInstanceId(resourceId); org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstance = setServiceInstance(); - setGenericVnf(); + GenericVnf genericVnf = setGenericVnf(); setVfModule(true); setVolumeGroup(); setL3Network(); setCollection(); setConfiguration(); + org.onap.aai.domain.yang.GenericVnf genericVnfAai = new org.onap.aai.domain.yang.GenericVnf(); + genericVnfAai.setModelCustomizationId(genericVnf.getModelInfoGenericVnf().getModelCustomizationUuid()); + Configuration config = new Configuration(); config.setConfigurationId("testConfigurationId2"); serviceInstance.getConfigurations().add(config); @@ -236,6 +240,7 @@ public class ServiceEBBLoaderTest extends BaseTaskTest { aaiConfiguration2.setRelationshipList(relationshipList1); try { + doReturn(genericVnfAai).when(mockBbInputSetupUtils).getAAIGenericVnf(genericVnf.getVnfId()); doReturn(serviceInstanceAAI).when(mockBbInputSetupUtils).getAAIServiceInstanceById(resourceId); doReturn(serviceInstance).when(mockBbInputSetup).getExistingServiceInstance(serviceInstanceAAI); doReturn(Optional.of(aaiConfiguration1)).when(mockAaiConfigurationResources) diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoaderTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoaderTest.java index a9bfde9bab..78a9628243 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoaderTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoaderTest.java @@ -32,8 +32,11 @@ import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; import org.javatuples.Pair; import org.junit.Before; import org.junit.Test; +import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf; import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance; import org.onap.so.bpmn.infrastructure.workflow.tasks.WorkflowType; +import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule; +import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule; import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetup; import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils; import org.onap.so.client.exception.ExceptionBuilder; @@ -41,6 +44,7 @@ import org.onap.so.bpmn.infrastructure.workflow.tasks.Resource; import java.util.ArrayList; import java.util.List; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; @@ -82,4 +86,31 @@ public class VnfEBBLoaderTest { cut.traverseAAIVnf(delegateExecution, resourceList, serviceId, vnfId, aaiResourceIds); assertEquals(WorkflowType.SERVICE, resourceList.get(0).getResourceType()); } + + @Test + public void traverseAAIVnf_should_add_vnfs_and_vfmodules() throws Exception { + List<Resource> resourceList = new ArrayList<>(); + List<Pair<WorkflowType, String>> aaiResourceIds = new ArrayList<>(); + + GenericVnf genericVnf = mock(GenericVnf.class); + doReturn(vnfId).when(genericVnf).getVnfId(); + + VfModule vfModule = mock(VfModule.class); + ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule(); + modelInfoVfModule.setIsBaseBoolean(true); + doReturn(modelInfoVfModule).when(vfModule).getModelInfoVfModule(); + + doReturn(serviceInstanceAAI).when(bbInputSetupUtils).getAAIServiceInstanceById(serviceId); + doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI); + doReturn(List.of(genericVnf)).when(serviceInstanceMSO).getVnfs(); + doReturn(List.of(vfModule)).when(genericVnf).getVfModules(); + cut = new VnfEBBLoader(bbInputSetupUtils, bbInputSetup, workflowActionUtils, exceptionBuilder); + + cut.traverseAAIVnf(delegateExecution, resourceList, serviceId, vnfId, aaiResourceIds); + + assertEquals(3, resourceList.size()); + assertEquals(WorkflowType.VNF, resourceList.get(1).getResourceType()); + assertEquals(WorkflowType.VFMODULE, resourceList.get(2).getResourceType()); + assertTrue(resourceList.get(2).isBaseVfModule()); + } } diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/validators/VnfDeleteValidator.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/validators/VnfDeleteValidator.java index 44bab7e087..3dc4e8e4ac 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/validators/VnfDeleteValidator.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/validators/VnfDeleteValidator.java @@ -19,7 +19,8 @@ public class VnfDeleteValidator implements RequestValidator { @Override public boolean shouldRunFor(String requestUri, ServiceInstancesRequest request, Actions action) { return Pattern.compile("[Vv][5-8]/serviceInstances/[^/]+/vnfs/[^/]+").matcher(requestUri).matches() - && action.equals(Action.deleteInstance); + && action.equals(Action.deleteInstance) + && Boolean.TRUE.equals(request.getRequestDetails().getRequestParameters().getALaCarte()); } @Override diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/infra/rest/validator/VnfDeleteValidatorTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/infra/rest/validator/VnfDeleteValidatorTest.java index 6eb6fc95d6..9b1410439e 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/infra/rest/validator/VnfDeleteValidatorTest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/infra/rest/validator/VnfDeleteValidatorTest.java @@ -15,6 +15,8 @@ import org.mockito.junit.MockitoJUnitRunner; import org.onap.so.apihandlerinfra.Action; import org.onap.so.apihandlerinfra.infra.rest.AAIDataRetrieval; import org.onap.so.apihandlerinfra.infra.rest.validators.VnfDeleteValidator; +import org.onap.so.serviceinstancebeans.RequestDetails; +import org.onap.so.serviceinstancebeans.RequestParameters; import org.onap.so.serviceinstancebeans.ServiceInstancesRequest; @@ -31,10 +33,24 @@ public class VnfDeleteValidatorTest { private Map<String, String> instanceIdMap = new HashMap<>(); + public ServiceInstancesRequest createServiceInstancesRequest(boolean alacarte) { + ServiceInstancesRequest sir = new ServiceInstancesRequest(); + sir.setRequestDetails(new RequestDetails()); + sir.getRequestDetails().setRequestParameters(new RequestParameters()); + sir.getRequestDetails().getRequestParameters().setaLaCarte(alacarte); + return sir; + } + @Test public void validateURIMatchTest() { assertEquals(true, vnfValidator.shouldRunFor("v8/serviceInstances/uasdfasdf/vnfs/asdfasdf", - new ServiceInstancesRequest(), Action.deleteInstance)); + createServiceInstancesRequest(true), Action.deleteInstance)); + } + + @Test + public void validateURIMatchNonAlacarteTest() { + assertEquals(false, vnfValidator.shouldRunFor("v8/serviceInstances/uasdfasdf/vnfs/asdfasdf", + createServiceInstancesRequest(false), Action.deleteInstance)); } @Test |