aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn
diff options
context:
space:
mode:
Diffstat (limited to 'bpmn')
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java27
-rwxr-xr-xbpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HealthCheckBB.bpmn150
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AnNssmfutils.groovy4
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoActivateAccessNSSI.groovy6
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateAccessNSSI.groovy13
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy3
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy2
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy49
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeAllocateAccessNSSI.groovy6
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy1
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoActivateAccessNSSI.bpmn555
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeallocateAccessNSSI.bpmn360
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/Resource.java17
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoader.java28
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/UserParamsServiceTraversal.java26
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoader.java28
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java49
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java30
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/ServiceEBBLoaderTest.java4
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/VnfEBBLoaderTest.java11
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java182
21 files changed, 936 insertions, 615 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
index d39da5ee37..603e11d458 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
@@ -1250,7 +1250,7 @@ public class BBInputSetup implements JavaDelegate {
|| requestAction.equalsIgnoreCase("activateFabricConfiguration")
|| requestAction.equalsIgnoreCase("recreateInstance")
|| requestAction.equalsIgnoreCase("replaceInstance")
- || requestAction.equalsIgnoreCase("upgradeInstance")) {
+ || requestAction.equalsIgnoreCase("upgradeInstance") || requestAction.equalsIgnoreCase("healthCheck")) {
return getGBBMacroExistingService(executeBB, lookupKeyMap, bbName, requestAction,
requestDetails.getCloudConfiguration());
}
@@ -1564,6 +1564,9 @@ public class BBInputSetup implements JavaDelegate {
break;
}
}
+ } else if (bbName.equals("HealthCheckBB")
+ && (VNF).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope())) {
+ this.setisHelmforHealthCheckBB(service, serviceInstance, gBB);
}
if (executeBB.getWorkflowResourceIds() != null) {
parameter.setResourceId(executeBB.getWorkflowResourceIds().getNetworkCollectionId());
@@ -2112,6 +2115,28 @@ public class BBInputSetup implements JavaDelegate {
return collection;
}
+ private void setisHelmforHealthCheckBB(Service service, ServiceInstance serviceInstance, GeneralBuildingBlock gBB) {
+ for (GenericVnf vnf : serviceInstance.getVnfs()) {
+ for (VfModule vfModule : vnf.getVfModules()) {
+ String vnfModelCustomizationUUID =
+ this.bbInputSetupUtils.getAAIGenericVnf(vnf.getVnfId()).getModelCustomizationId();
+ ModelInfo vnfModelInfo = new ModelInfo();
+ vnfModelInfo.setModelCustomizationUuid(vnfModelCustomizationUUID);
+ this.mapCatalogVnf(vnf, vnfModelInfo, service);
+ String vfModuleCustomizationUUID = this.bbInputSetupUtils
+ .getAAIVfModule(vnf.getVnfId(), vfModule.getVfModuleId()).getModelCustomizationId();
+ ModelInfo vfModuleModelInfo = new ModelInfo();
+ vfModuleModelInfo.setModelCustomizationId(vfModuleCustomizationUUID);
+ this.mapCatalogVfModule(vfModule, vfModuleModelInfo, service, vnfModelCustomizationUUID);
+ if (vfModule.getModelInfoVfModule() != null && vfModule.getModelInfoVfModule().getModelName() != null
+ && vfModule.getModelInfoVfModule().getModelName().contains("helm")) {
+ gBB.getRequestContext().setIsHelm(true);
+ break;
+ }
+ }
+ }
+ }
+
protected void mapL3Networks(List<AAIResourceUri> list, List<L3Network> l3Networks) {
for (AAIResourceUri aaiResourceUri : list) {
l3Networks.add(this.mapL3Network(aaiResourceUri));
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HealthCheckBB.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HealthCheckBB.bpmn
index 8272bd3750..fad2e5506c 100755
--- a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HealthCheckBB.bpmn
+++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HealthCheckBB.bpmn
@@ -1,30 +1,29 @@
<?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:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1bvx7yi" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.0.0">
+<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:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_0gwymqy" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.7.0" modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.14.0">
<bpmn:process id="HealthCheckBB" name="HealthCheckBB" isExecutable="true">
- <bpmn:startEvent id="StartEvent_1" name="HealthCheckBB_start">
- <bpmn:outgoing>Flow_0gd6hy6</bpmn:outgoing>
+ <bpmn:startEvent id="Event_0rgusxn" name="HealthCheckBB_start">
+ <bpmn:outgoing>Flow_0udh4cd</bpmn:outgoing>
</bpmn:startEvent>
- <bpmn:endEvent id="Event_1dklvvk" name="HealthCheckBB_end">
- <bpmn:incoming>Flow_0xiyno7</bpmn:incoming>
+ <bpmn:endEvent id="Event_0o1nl3y" name="HealthCheckBB_end">
+ <bpmn:incoming>Flow_0n17e0q</bpmn:incoming>
+ <bpmn:incoming>Flow_131rwms</bpmn:incoming>
</bpmn:endEvent>
- <bpmn:sequenceFlow id="Flow_0gd6hy6" sourceRef="StartEvent_1" targetRef="Activity_11hkwkn" />
- <bpmn:subProcess id="Activity_1pto2qh" name="Error Handling&#10;&#10;" triggeredByEvent="true">
- <bpmn:startEvent id="Event_0929aqj">
- <bpmn:outgoing>Flow_05rbrsm</bpmn:outgoing>
- <bpmn:errorEventDefinition id="ErrorEventDefinition_0k0ly65" />
+ <bpmn:subProcess id="Activity_0tw4ak3" name="Error Handling&#10;&#10;" triggeredByEvent="true">
+ <bpmn:startEvent id="Event_1v6jbfd">
+ <bpmn:outgoing>Flow_03ogqmx</bpmn:outgoing>
+ <bpmn:errorEventDefinition id="ErrorEventDefinition_1xw7dq4" />
</bpmn:startEvent>
- <bpmn:endEvent id="Event_1s698ql">
- <bpmn:incoming>Flow_05rbrsm</bpmn:incoming>
- <bpmn:terminateEventDefinition id="TerminateEventDefinition_0mn6xgi" />
+ <bpmn:endEvent id="Event_0wwzune">
+ <bpmn:incoming>Flow_03ogqmx</bpmn:incoming>
+ <bpmn:terminateEventDefinition id="TerminateEventDefinition_0c07ott" />
</bpmn:endEvent>
- <bpmn:sequenceFlow id="Flow_05rbrsm" sourceRef="Event_0929aqj" targetRef="Event_1s698ql" />
+ <bpmn:sequenceFlow id="Flow_03ogqmx" sourceRef="Event_1v6jbfd" targetRef="Event_0wwzune" />
</bpmn:subProcess>
- <bpmn:serviceTask id="Activity_11hkwkn" name="Prepare Cnf Adapter request" camunda:expression="${CnfHealthCheckTasks.prepareCnfAdaperRequest(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
- <bpmn:incoming>Flow_0gd6hy6</bpmn:incoming>
- <bpmn:outgoing>Flow_1aqdd5k</bpmn:outgoing>
+ <bpmn:serviceTask id="Activity_0pnb21p" name="Prepare Cnf Adapter request" camunda:expression="${CnfHealthCheckTasks.prepareCnfAdaperRequest(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+ <bpmn:incoming>Flow_0jxw1lb</bpmn:incoming>
+ <bpmn:outgoing>Flow_0uoe9ga</bpmn:outgoing>
</bpmn:serviceTask>
- <bpmn:sequenceFlow id="Flow_1aqdd5k" sourceRef="Activity_11hkwkn" targetRef="Activity_08mgs1k" />
- <bpmn:callActivity id="Activity_08mgs1k" name="Call CNFAdapterAsyncCall" calledElement="CNFAdapterAsyncCall">
+ <bpmn:callActivity id="Activity_07txikn" name="Call CNFAdapterAsyncCall" calledElement="CNFAdapterAsyncCall">
<bpmn:extensionElements>
<camunda:in source="apiPath" target="apiPath" />
<camunda:in source="cnfRequestPayload" target="cnfRequestPayload" />
@@ -35,67 +34,100 @@
<camunda:in source="messageType" target="messageType" />
<camunda:in source="true" target="isDebugLogEnabled" />
</bpmn:extensionElements>
- <bpmn:incoming>Flow_1aqdd5k</bpmn:incoming>
- <bpmn:outgoing>Flow_1jeui7e</bpmn:outgoing>
+ <bpmn:incoming>Flow_0uoe9ga</bpmn:incoming>
+ <bpmn:outgoing>Flow_0t6f6l8</bpmn:outgoing>
</bpmn:callActivity>
- <bpmn:serviceTask id="Activity_0w4hy3d" name="Process Response" camunda:expression="${CnfHealthCheckTasks.processAsyncResponse(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
- <bpmn:incoming>Flow_1jeui7e</bpmn:incoming>
- <bpmn:outgoing>Flow_0xiyno7</bpmn:outgoing>
+ <bpmn:serviceTask id="Activity_1qd7k3z" name="Process Response" camunda:expression="${CnfHealthCheckTasks.processAsyncResponse(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+ <bpmn:incoming>Flow_0t6f6l8</bpmn:incoming>
+ <bpmn:outgoing>Flow_0n17e0q</bpmn:outgoing>
</bpmn:serviceTask>
- <bpmn:sequenceFlow id="Flow_0xiyno7" sourceRef="Activity_0w4hy3d" targetRef="Event_1dklvvk" />
- <bpmn:sequenceFlow id="Flow_1jeui7e" sourceRef="Activity_08mgs1k" targetRef="Activity_0w4hy3d" />
+ <bpmn:exclusiveGateway id="Gateway_07e5xls" name="Check If Is Helm" default="Flow_131rwms">
+ <bpmn:incoming>Flow_0udh4cd</bpmn:incoming>
+ <bpmn:outgoing>Flow_131rwms</bpmn:outgoing>
+ <bpmn:outgoing>Flow_0jxw1lb</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:sequenceFlow id="Flow_0udh4cd" sourceRef="Event_0rgusxn" targetRef="Gateway_07e5xls" />
+ <bpmn:sequenceFlow id="Flow_0n17e0q" sourceRef="Activity_1qd7k3z" targetRef="Event_0o1nl3y" />
+ <bpmn:sequenceFlow id="Flow_131rwms" name="No Helm" sourceRef="Gateway_07e5xls" targetRef="Event_0o1nl3y" />
+ <bpmn:sequenceFlow id="Flow_0jxw1lb" name="Yes Helm" sourceRef="Gateway_07e5xls" targetRef="Activity_0pnb21p">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isHelm")}</bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="Flow_0uoe9ga" sourceRef="Activity_0pnb21p" targetRef="Activity_07txikn" />
+ <bpmn:sequenceFlow id="Flow_0t6f6l8" sourceRef="Activity_07txikn" targetRef="Activity_1qd7k3z" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="HealthCheckBB">
- <bpmndi:BPMNEdge id="Flow_1jeui7e_di" bpmnElement="Flow_1jeui7e">
- <di:waypoint x="600" y="120" />
- <di:waypoint x="680" y="120" />
+ <bpmndi:BPMNEdge id="Flow_0udh4cd_di" bpmnElement="Flow_0udh4cd">
+ <di:waypoint x="218" y="150" />
+ <di:waypoint x="245" y="150" />
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="Flow_0xiyno7_di" bpmnElement="Flow_0xiyno7">
- <di:waypoint x="780" y="120" />
- <di:waypoint x="842" y="120" />
+ <bpmndi:BPMNEdge id="Flow_0n17e0q_di" bpmnElement="Flow_0n17e0q">
+ <di:waypoint x="780" y="150" />
+ <di:waypoint x="870" y="150" />
+ <di:waypoint x="870" y="202" />
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="Flow_1aqdd5k_di" bpmnElement="Flow_1aqdd5k">
- <di:waypoint x="400" y="120" />
- <di:waypoint x="500" y="120" />
+ <bpmndi:BPMNEdge id="Flow_131rwms_di" bpmnElement="Flow_131rwms">
+ <di:waypoint x="270" y="175" />
+ <di:waypoint x="270" y="220" />
+ <di:waypoint x="852" y="220" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="264" y="195" width="43" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="Flow_0jxw1lb_di" bpmnElement="Flow_0jxw1lb">
+ <di:waypoint x="295" y="150" />
+ <di:waypoint x="350" y="150" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="299" y="132" width="47" height="14" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="Flow_0gd6hy6_di" bpmnElement="Flow_0gd6hy6">
- <di:waypoint x="218" y="120" />
- <di:waypoint x="300" y="120" />
+ <bpmndi:BPMNEdge id="Flow_0uoe9ga_di" bpmnElement="Flow_0uoe9ga">
+ <di:waypoint x="450" y="150" />
+ <di:waypoint x="500" y="150" />
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="Event_1dklvvk_di" bpmnElement="Event_1dklvvk">
- <dc:Bounds x="842" y="102" width="36" height="36" />
+ <bpmndi:BPMNEdge id="Flow_0t6f6l8_di" bpmnElement="Flow_0t6f6l8">
+ <di:waypoint x="600" y="150" />
+ <di:waypoint x="680" y="150" />
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="Event_0rgusxn_di" bpmnElement="Event_0rgusxn">
+ <dc:Bounds x="182" y="132" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="820" y="145" width="85" height="27" />
+ <dc:Bounds x="156" y="175" width="90" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
- <dc:Bounds x="182" y="102" width="36" height="36" />
+ <bpmndi:BPMNShape id="Event_0o1nl3y_di" bpmnElement="Event_0o1nl3y">
+ <dc:Bounds x="852" y="202" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="156" y="145" width="90" height="27" />
+ <dc:Bounds x="831" y="245" width="84" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="Activity_11hkwkn_di" bpmnElement="Activity_11hkwkn">
- <dc:Bounds x="300" y="80" width="100" height="80" />
+ <bpmndi:BPMNShape id="Activity_0pnb21p_di" bpmnElement="Activity_0pnb21p">
+ <dc:Bounds x="350" y="110" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="Activity_07txikn_di" bpmnElement="Activity_07txikn">
+ <dc:Bounds x="500" y="110" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="Activity_0f7poou_di" bpmnElement="Activity_08mgs1k">
- <dc:Bounds x="500" y="80" width="100" height="80" />
+ <bpmndi:BPMNShape id="Activity_1qd7k3z_di" bpmnElement="Activity_1qd7k3z">
+ <dc:Bounds x="680" y="110" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="Activity_0w4hy3d_di" bpmnElement="Activity_0w4hy3d">
- <dc:Bounds x="680" y="80" width="100" height="80" />
+ <bpmndi:BPMNShape id="Gateway_07e5xls_di" bpmnElement="Gateway_07e5xls" isMarkerVisible="true">
+ <dc:Bounds x="245" y="125" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="230" y="95" width="81" height="14" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="Activity_1pto2qh_di" bpmnElement="Activity_1pto2qh" isExpanded="true">
- <dc:Bounds x="280" y="250" width="460" height="135" />
+ <bpmndi:BPMNShape id="Activity_0tw4ak3_di" bpmnElement="Activity_0tw4ak3" isExpanded="true">
+ <dc:Bounds x="280" y="280" width="460" height="135" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="Flow_05rbrsm_di" bpmnElement="Flow_05rbrsm">
- <di:waypoint x="398" y="324" />
- <di:waypoint x="632" y="324" />
+ <bpmndi:BPMNEdge id="Flow_03ogqmx_di" bpmnElement="Flow_03ogqmx">
+ <di:waypoint x="398" y="354" />
+ <di:waypoint x="632" y="354" />
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="Event_0929aqj_di" bpmnElement="Event_0929aqj">
- <dc:Bounds x="362" y="306" width="36" height="36" />
+ <bpmndi:BPMNShape id="Event_1v6jbfd_di" bpmnElement="Event_1v6jbfd">
+ <dc:Bounds x="362" y="336" width="36" height="36" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="Event_1s698ql_di" bpmnElement="Event_1s698ql">
- <dc:Bounds x="632" y="306" width="36" height="36" />
+ <bpmndi:BPMNShape id="Event_0wwzune_di" bpmnElement="Event_0wwzune">
+ <dc:Bounds x="632" y="336" width="36" height="36" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
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 5d243437e0..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
@@ -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")
}
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..9800428c68 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")
@@ -1032,7 +1033,7 @@ class DoAllocateAccessNSSI extends AbstractServiceTaskProcessor {
RU_ep.setType(type)
RU_ep.setIpAddress("192.168.100.4")
RU_ep.setLogicalInterfaceId("1234")
- RU_ep.setNextHop("Host1")
+ RU_ep.setNextHop("networkId-providerId-10-clientId-0-topologyId-2-nodeId-10.1.1.1-ltpId-512")
RU_ep.setPrefixLength(prefixLength)
RU_ep.setAddressFamily(addressFamily)
//DU Ingress
@@ -1046,7 +1047,7 @@ class DoAllocateAccessNSSI extends AbstractServiceTaskProcessor {
DU_ep.setType(type)
DU_ep.setIpAddress("192.168.100.5")
DU_ep.setLogicalInterfaceId("1234")
- DU_ep.setNextHop("Host2")
+ DU_ep.setNextHop("networkId-providerId-20-clientId-0-topologyId-2-nodeId-10.2.1.2-ltpId-512")
DU_ep.setPrefixLength(prefixLength)
DU_ep.setAddressFamily(addressFamily)
//MH RAN end point update
@@ -1062,7 +1063,7 @@ class DoAllocateAccessNSSI extends AbstractServiceTaskProcessor {
DUEG_ep.setLogicalInterfaceId("1234")
DUEG_ep.setPrefixLength(prefixLength)
DUEG_ep.setAddressFamily(addressFamily)
- DUEG_ep.setNextHop("Host3")
+ DUEG_ep.setNextHop("networkId-providerId-10-clientId-0-topologyId-2-nodeId-10.1.1.1-ltpId-512")
//CUIN
String CUIN_routeId = UUID.randomUUID().toString()
execution.setVariable("tranportEp_ID_CUIN", CUIN_routeId)
@@ -1073,7 +1074,7 @@ class DoAllocateAccessNSSI extends AbstractServiceTaskProcessor {
CUIN_ep.setType(type)
CUIN_ep.setIpAddress("192.168.100.6")
CUIN_ep.setLogicalInterfaceId("1234")
- CUIN_ep.setNextHop("Host4")
+ CUIN_ep.setNextHop("networkId-providerId-20-clientId-0-topologyId-2-nodeId-10.2.1.2-ltpId-512")
CUIN_ep.setPrefixLength(prefixLength)
CUIN_ep.setAddressFamily(addressFamily)
try {
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy
index bc155c5943..a22819f2e9 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy
@@ -444,6 +444,7 @@ class DoAllocateNSIandNSSI extends AbstractServiceTaskProcessor{
.sST(sliceTaskInfo.getSliceProfile().getSST() ?: sliceParams.getServiceProfile().get("sST") as String)
.nssiName(sliceTaskInfo.getSuggestNssiId() ? sliceTaskInfo.getNSSTInfo().getName() : allocateAnNssi.getNssiName())
.nssiId(sliceTaskInfo.getSuggestNssiId())
+ .resourceSharingLevel(sliceParams.serviceProfile.get("resourceSharingLevel") as String)
.build()
nbiRequest.setServiceInfo(serviceInfo)
@@ -590,6 +591,7 @@ class DoAllocateNSIandNSSI extends AbstractServiceTaskProcessor{
serviceInfo.nssiId = sliceTaskInfo.suggestNssiId //if shared
serviceInfo.sST = sliceTaskInfo.sliceProfile.sST ?: sliceParams.serviceProfile.get("sST")
serviceInfo.nssiName = allocateCnNssi.nssiName
+ serviceInfo.resourceSharingLevel = sliceParams.serviceProfile.get("resourceSharingLevel")
nbiRequest.setServiceInfo(serviceInfo)
nbiRequest.setEsrInfo(esrInfo)
@@ -727,6 +729,7 @@ class DoAllocateNSIandNSSI extends AbstractServiceTaskProcessor{
serviceInfo.nssiId = sliceTaskInfo.suggestNssiId
serviceInfo.sST = sliceTaskInfo.sliceProfile.sST ?: sliceParams.serviceProfile.get("sST")
serviceInfo.nssiName = "nssi_tn" + execution.getVariable("sliceServiceInstanceName")
+ serviceInfo.resourceSharingLevel = sliceParams.serviceProfile.get("resourceSharingLevel")
nbiRequest.setServiceInfo(serviceInfo)
nbiRequest.setEsrInfo(esrInfo)
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..7571f07081 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
@@ -21,6 +21,7 @@
package org.onap.so.bpmn.infrastructure.scripts
import com.fasterxml.jackson.databind.ObjectMapper
+import com.fasterxml.jackson.core.type.TypeReference
import org.camunda.bpm.engine.delegate.DelegateExecution
import org.onap.aai.domain.yang.ServiceInstance
import org.onap.so.beans.nsmf.EsrInfo
@@ -271,24 +272,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
}
@@ -475,7 +474,10 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{
*/
void getNSSISelectionCap4AN(DelegateExecution execution) {
- def vendor = execution.getVariable("vendor") as String
+ SliceTaskParamsAdapter sliceParams =
+ execution.getVariable("sliceTaskParams") as SliceTaskParamsAdapter
+
+ def vendor = sliceParams.anSliceTaskInfo.vendor
String strRequest = buildNSSISelectionReq(vendor, NetworkType.ACCESS)
@@ -497,7 +499,10 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{
*/
void getNSSISelectionCap4TN(DelegateExecution execution) {
- def vendor = execution.getVariable("vendor") as String
+ SliceTaskParamsAdapter sliceParams =
+ execution.getVariable("sliceTaskParams") as SliceTaskParamsAdapter
+
+ def vendor = sliceParams.tnBHSliceTaskInfo.vendor
String strRequest = buildNSSISelectionReq(vendor, NetworkType.TRANSPORT)
@@ -518,7 +523,10 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{
*/
void getNSSISelectionCap4CN(DelegateExecution execution) {
- def vendor = execution.getVariable("vendor") as String
+ SliceTaskParamsAdapter sliceParams =
+ execution.getVariable("sliceTaskParams") as SliceTaskParamsAdapter
+
+ def vendor = sliceParams.cnSliceTaskInfo.vendor
String strRequest = buildNSSISelectionReq(vendor, NetworkType.CORE)
@@ -626,8 +634,10 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{
Map nssiNeedHandlerInfo = nssiNeedHandlerInfos.get(currNssiIndex) as Map
TemplateInfo nsstInfo = nssiNeedHandlerInfo.get("nsstInfo") as TemplateInfo
- Map<String, Object> profileInfo = nssiNeedHandlerInfo.get("sliceProfile") as Map
- //profileInfo.remove("profileId")
+ SliceProfileAdapter sliceProfileInfo = nssiNeedHandlerInfo.get("sliceProfile") as SliceProfileAdapter
+
+ Map profileInfo = objectMapper.convertValue(sliceProfileInfo, new TypeReference<Map<String, Object>>() {});
+ while (profileInfo.values().remove(null));
String urlString = UrnPropertiesReader.getVariable("mso.oof.endpoint", execution)
logger.debug( "get NSI option OOF Url: " + urlString)
@@ -641,8 +651,8 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{
String timeout = UrnPropertiesReader.getVariable("mso.adapters.oof.timeout", execution)
execution.setVariable("nssiSelection_timeout", timeout)
- String oofRequest = oofUtils.buildSelectNSSIRequest(requestId, nsstInfo, messageType,
- profileInfo, 600)
+ String oofRequest = oofUtils.buildSelectNSSIRequest(requestId, messageType, nsstInfo.UUID,
+ nsstInfo.invariantUUID, nsstInfo.name, profileInfo)
execution.setVariable("nssiSelection_oofRequest", oofRequest)
logger.debug("Sending request to OOF: " + oofRequest)
@@ -672,13 +682,10 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{
Map<String, Object> resMap = objectMapper.readValue(OOFResponse, Map.class)
List<Map<String, Object>> nsiSolutions = (List<Map<String, Object>>) resMap.get("solutions")
- Map<String, Object> solution = nsiSolutions.get(0)
-
- String resourceSharingLevel = execution.getVariable("resourceSharingLevel")
- Boolean isSharable = resourceSharingLevel == "shared" //todo
- if (isSharable && solution != null) {
- processNssiResult(sliceTaskParams, subnetType, solution)
+ if(nsiSolutions.size()>=1) {
+ Map<String,Object> solution = nsiSolutions.get(0) as Map
+ processNssiResult(sliceTaskParams, subnetType, solution)
}
execution.setVariable("sliceTaskParams", sliceTaskParams)
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 4cc6e6d478..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)
}
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/Resource.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/Resource.java
index 2a8852a4bd..57ff837740 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/Resource.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/Resource.java
@@ -40,6 +40,8 @@ public class Resource implements Serializable {
private String cvnfModuleCustomizationId;
private String instanceName;
private String modelInvariantId;
+ private String modelVersionId;
+ private String modelCustomizationId;
private int processingPriority;
private Resource parent;
private List<Resource> children;
@@ -140,6 +142,21 @@ public class Resource implements Serializable {
this.modelInvariantId = modelInvariantId;
}
+ public String getModelVersionId() {
+ return modelVersionId;
+ }
+
+ public void setModelVersionId(String modelVersionId) {
+ this.modelVersionId = modelVersionId;
+ }
+
+ public String getModelCustomizationId() {
+ return modelCustomizationId;
+ }
+
+ public void setModelCustomizationId(String modelCustomizationId) {
+ this.modelCustomizationId = modelCustomizationId;
+ }
public int getProcessingPriority() {
return processingPriority == 0 ? (isBaseVfModule() ? Integer.MIN_VALUE + 1 : 0) : processingPriority;
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 b5ad8d8c03..cb4ee014b7 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
@@ -38,6 +38,8 @@ 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.VfModule;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoPnf;
import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetup;
import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils;
import org.onap.so.client.exception.ExceptionBuilder;
@@ -199,6 +201,7 @@ public class ServiceEBBLoader {
var serviceResource =
new Resource(WorkflowType.SERVICE, serviceInstanceMSO.getServiceInstanceId(), false, null);
serviceResource.setModelInvariantId(serviceInstanceAAI.getModelInvariantId());
+ serviceResource.setModelVersionId(serviceInstanceAAI.getModelVersionId());
resourceList.add(serviceResource);
traverseServiceInstanceMSOVnfs(resourceList, serviceResource, aaiResourceIds, serviceInstanceMSO);
traverseServiceInstanceMSOPnfs(resourceList, serviceResource, aaiResourceIds, serviceInstanceMSO);
@@ -206,8 +209,15 @@ public class ServiceEBBLoader {
for (org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network network : serviceInstanceMSO
.getNetworks()) {
aaiResourceIds.add(new Pair<>(WorkflowType.NETWORK, network.getNetworkId()));
- resourceList
- .add(new Resource(WorkflowType.NETWORK, network.getNetworkId(), false, serviceResource));
+ Resource networkResource =
+ new Resource(WorkflowType.NETWORK, network.getNetworkId(), false, serviceResource);
+ ModelInfoNetwork modelInfoNetwork = network.getModelInfoNetwork();
+ if (modelInfoNetwork != null) {
+ networkResource.setModelCustomizationId(modelInfoNetwork.getModelCustomizationUUID());
+ networkResource.setModelVersionId(modelInfoNetwork.getModelUUID());
+ networkResource.setModelCustomizationId(modelInfoNetwork.getModelCustomizationUUID());
+ }
+ resourceList.add(networkResource);
}
}
if (serviceInstanceMSO.getCollection() != null) {
@@ -252,6 +262,8 @@ public class ServiceEBBLoader {
GenericVnf genericVnf = bbInputSetupUtils.getAAIGenericVnf(vnf.getVnfId());
Resource vnfResource = new Resource(WorkflowType.VNF, vnf.getVnfId(), false, serviceResource);
vnfResource.setVnfCustomizationId(genericVnf.getModelCustomizationId());
+ vnfResource.setModelCustomizationId(genericVnf.getModelCustomizationId());
+ vnfResource.setModelVersionId(genericVnf.getModelVersionId());
resourceList.add(vnfResource);
traverseVnfModules(resourceList, vnfResource, aaiResourceIds, vnf);
if (vnf.getVolumeGroups() != null) {
@@ -272,7 +284,13 @@ public class ServiceEBBLoader {
}
for (org.onap.so.bpmn.servicedecomposition.bbobjects.Pnf pnf : serviceInstanceMSO.getPnfs()) {
aaiResourceIds.add(new Pair<>(WorkflowType.PNF, pnf.getPnfId()));
- resourceList.add(new Resource(WorkflowType.PNF, pnf.getPnfId(), false, serviceResource));
+ Resource resource = new Resource(WorkflowType.PNF, pnf.getPnfId(), false, serviceResource);
+ ModelInfoPnf modelInfo = pnf.getModelInfoPnf();
+ if (modelInfo != null) {
+ resource.setModelVersionId(modelInfo.getModelUuid());
+ resource.setModelCustomizationId(modelInfo.getModelCustomizationUuid());
+ }
+ resourceList.add(resource);
}
}
@@ -437,6 +455,10 @@ public class ServiceEBBLoader {
for (VfModule vfModule : vnf.getVfModules()) {
aaiResourceIds.add(new Pair<>(WorkflowType.VFMODULE, vfModule.getVfModuleId()));
Resource resource = new Resource(WorkflowType.VFMODULE, vfModule.getVfModuleId(), false, vnfResource);
+ org.onap.aai.domain.yang.VfModule aaiVfModule =
+ bbInputSetupUtils.getAAIVfModule(vnf.getVnfId(), vfModule.getVfModuleId());
+ resource.setModelCustomizationId(aaiVfModule.getModelCustomizationId());
+ resource.setModelInvariantId(aaiVfModule.getModelInvariantId());
resource.setBaseVfModule(vfModule.getModelInfoVfModule().getIsBaseBoolean());
resourceList.add(resource);
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/UserParamsServiceTraversal.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/UserParamsServiceTraversal.java
index c383b4a73a..77cd65b946 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/UserParamsServiceTraversal.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/UserParamsServiceTraversal.java
@@ -38,6 +38,7 @@ import org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization;
import org.onap.so.db.catalog.beans.CvnfcCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.client.CatalogDbClient;
+import org.onap.so.serviceinstancebeans.ModelInfo;
import org.onap.so.serviceinstancebeans.Networks;
import org.onap.so.serviceinstancebeans.Pnfs;
import org.onap.so.serviceinstancebeans.Service;
@@ -93,6 +94,11 @@ public class UserParamsServiceTraversal {
List<Resource> resourceList = new ArrayList<>();
Resource serviceResource =
new Resource(WorkflowType.SERVICE, validate.getModelInfo().getModelVersionId(), false, null);
+ ModelInfo modelInfo = validate.getModelInfo();
+ if (modelInfo != null) {
+ serviceResource.setModelVersionId(modelInfo.getModelVersionId());
+ serviceResource.setModelInvariantId(modelInfo.getModelInvariantUuid());
+ }
resourceList.add(serviceResource);
if (validate.getResources().getVnfs() != null) {
setResourceListForVnfs(execution, resourceList, serviceResource, validate);
@@ -115,6 +121,11 @@ public class UserParamsServiceTraversal {
serviceResource);
vnfResource.setProcessingPriority(vnf.getProcessingPriority());
vnfResource.setInstanceName(vnf.getInstanceName());
+ ModelInfo modelInfo = vnf.getModelInfo();
+ if (modelInfo != null) {
+ vnfResource.setModelCustomizationId(modelInfo.getModelCustomizationUuid());
+ vnfResource.setModelVersionId(modelInfo.getModelVersionId());
+ }
resourceList.add(vnfResource);
setResourceListForVfModules(execution, resourceList, vnfResource, validate, vnf);
}
@@ -160,6 +171,11 @@ public class UserParamsServiceTraversal {
foundVfModuleOrVG = true;
Resource resource =
setVfModuleWorkFlowTypeToResourceList(resourceList, vnfResource, vfModuleCustomization, vfModule);
+ if (vnf.getModelInfo() != null) {
+ resource.setModelVersionId(vnf.getModelInfo().getModelVersionId());
+ }
+ resource.setVfModuleCustomizationId(vfModuleCustomization.getModelCustomizationUUID());
+ resource.setModelCustomizationId(vfModuleCustomization.getModelCustomizationUUID());
setConfigurationWorkFlowTypeToResourceList(resourceList, vnfResource, validate, vnf, vfModule, resource);
}
}
@@ -211,6 +227,11 @@ public class UserParamsServiceTraversal {
for (Pnfs pnf : validate.getResources().getPnfs()) {
Resource pnfResource = new Resource(WorkflowType.PNF, pnf.getModelInfo().getModelCustomizationId(), false,
serviceResource);
+ ModelInfo modelInfo = pnf.getModelInfo();
+ if (modelInfo != null) {
+ pnfResource.setModelCustomizationId(modelInfo.getModelCustomizationUuid());
+ pnfResource.setModelVersionId(modelInfo.getModelVersionId());
+ }
pnfResource.setProcessingPriority(pnf.getProcessingPriority());
resourceList.add(pnfResource);
}
@@ -222,6 +243,11 @@ public class UserParamsServiceTraversal {
Resource networkResource = new Resource(WorkflowType.NETWORK,
network.getModelInfo().getModelCustomizationId(), false, serviceResource);
networkResource.setProcessingPriority(network.getProcessingPriority());
+ ModelInfo modelInfo = network.getModelInfo();
+ if (modelInfo != null) {
+ networkResource.setModelCustomizationId(modelInfo.getModelCustomizationUuid());
+ networkResource.setModelVersionId(modelInfo.getModelVersionId());
+ }
resourceList.add(networkResource);
}
if (requestAction.equals(CREATE_INSTANCE)) {
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 b950eb41be..3778f64612 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,7 +40,6 @@ 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;
@@ -117,6 +116,9 @@ public class VnfEBBLoader {
if (vnf.getVnfId().equals(vnfId)) {
aaiResourceIds.add(new Pair<>(WorkflowType.VNF, vnf.getVnfId()));
Resource vnfResource = new Resource(WorkflowType.VNF, vnf.getVnfId(), false, serviceResource);
+ org.onap.aai.domain.yang.GenericVnf aaiGenericVnf = bbInputSetupUtils.getAAIGenericVnf(vnfId);
+ vnfResource.setModelCustomizationId(aaiGenericVnf.getModelCustomizationId());
+ vnfResource.setModelVersionId(aaiGenericVnf.getModelVersionId());
resourceList.add(vnfResource);
processVfModules(vnf, aaiResourceIds, resourceList, vnfResource, execution);
processVolumeGroups(vnf, aaiResourceIds, resourceList, vnfResource);
@@ -131,8 +133,11 @@ public class VnfEBBLoader {
for (GenericVnf vnf : serviceInstanceMSO.getVnfs()) {
if (vnf.getVnfId().equals(vnfId)) {
aaiResourceIds.add(new Pair<>(WorkflowType.VNF, vnf.getVnfId()));
- Resource vnfResource = new Resource(WorkflowType.VNF,
- bbInputSetupUtils.getAAIGenericVnf(vnfId).getModelCustomizationId(), false, serviceResource);
+ org.onap.aai.domain.yang.GenericVnf aaiGenericVnf = bbInputSetupUtils.getAAIGenericVnf(vnfId);
+ Resource vnfResource =
+ new Resource(WorkflowType.VNF, aaiGenericVnf.getModelCustomizationId(), false, serviceResource);
+ vnfResource.setModelCustomizationId(aaiGenericVnf.getModelCustomizationId());
+ vnfResource.setModelVersionId(aaiGenericVnf.getModelVersionId());
resourceList.add(vnfResource);
processVfModules(vnf, aaiResourceIds, resourceList, vnfResource, execution);
processVolumeGroups(vnf, aaiResourceIds, resourceList, vnfResource);
@@ -141,10 +146,10 @@ public class VnfEBBLoader {
}
}
- private void findConfigurationsInsideVfModule(DelegateExecution execution, String vnfId, String vfModuleId,
- List<Resource> resourceList, Resource vfModuleResource, List<Pair<WorkflowType, String>> aaiResourceIds) {
+ private void findConfigurationsInsideVfModule(DelegateExecution execution,
+ org.onap.aai.domain.yang.VfModule aaiVfModule, List<Resource> resourceList, Resource vfModuleResource,
+ List<Pair<WorkflowType, String>> aaiResourceIds) {
try {
- org.onap.aai.domain.yang.VfModule aaiVfModule = bbInputSetupUtils.getAAIVfModule(vnfId, vfModuleId);
AAIResultWrapper vfModuleWrapper = new AAIResultWrapper(
new AAICommonObjectMapperProvider().getMapper().writeValueAsString(aaiVfModule));
Optional<Relationships> relationshipsOp;
@@ -166,11 +171,14 @@ 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);
+ org.onap.aai.domain.yang.VfModule aaiVfModule =
+ bbInputSetupUtils.getAAIVfModule(vnf.getVnfId(), vfModule.getVfModuleId());
+ vfModuleResource.setModelInvariantId(aaiVfModule.getModelInvariantId());
+ vfModuleResource.setModelCustomizationId(aaiVfModule.getModelCustomizationId());
+ vfModuleResource.setBaseVfModule(aaiVfModule.isIsBaseVfModule());
resourceList.add(vfModuleResource);
- findConfigurationsInsideVfModule(execution, vnf.getVnfId(), vfModule.getVfModuleId(), resourceList,
- vfModuleResource, aaiResourceIds);
+ findConfigurationsInsideVfModule(execution, aaiVfModule, resourceList, vfModuleResource,
+ aaiResourceIds);
}
}
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java
index ff6c113af3..dc77ea1f0c 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java
@@ -24,12 +24,10 @@ import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.logging.log4j.util.Strings;
import org.onap.so.bpmn.common.BBConstants;
import org.onap.so.bpmn.common.BuildingBlockExecution;
-import org.onap.so.bpmn.common.listener.flowmanipulator.FlowManipulatorListenerRunner;
import org.onap.so.bpmn.common.listener.flowmanipulator.PreFlowManipulator;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
+import org.onap.so.bpmn.infrastructure.workflow.tasks.Resource;
import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.Service;
@@ -40,7 +38,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import org.springframework.util.CollectionUtils;
@Component
public class SkipCDSBuildingBlockListener implements PreFlowManipulator {
@@ -76,43 +73,37 @@ public class SkipCDSBuildingBlockListener implements PreFlowManipulator {
@Override
public void run(List<ExecuteBuildingBlock> flowsToExecute, ExecuteBuildingBlock currentBB,
BuildingBlockExecution execution) {
- String customizationUUID = currentBB.getBuildingBlock().getKey();
+ String resourceKey = currentBB.getBuildingBlock().getKey();
+ List<Resource> resources = execution.getVariable("resources");
+ Resource resource = resources.stream().filter(r -> resourceKey.equals(r.getResourceId())).findFirst()
+ .orElseThrow(() -> new IllegalArgumentException("Resource not found for key:" + resourceKey));
- if ("SERVICE".equalsIgnoreCase(currentBB.getBuildingBlock().getBpmnScope())) {
- String modelUUID = currentBB.getRequestDetails().getModelInfo().getModelUuid();
- Service service = catalogDbClient.getServiceByID(modelUUID);
- currentSequenceSkipCheck(execution, service.getSkipPostInstConf());
- } else if (currentBB.getBuildingBlock().getBpmnScope().equalsIgnoreCase("VNF")
- && containsIgnoreCaseAction(currentBB, vnfActions)) {
- List<VnfResourceCustomization> vnfResourceCustomizations =
- catalogDbClient.getVnfResourceCustomizationByModelUuid(
- currentBB.getRequestDetails().getModelInfo().getModelUuid());
- if (!CollectionUtils.isEmpty(vnfResourceCustomizations)) {
- VnfResourceCustomization vrc = catalogDbClient.findVnfResourceCustomizationInList(customizationUUID,
- vnfResourceCustomizations);
- if (null != vrc) {
- logger.debug("getSkipPostInstConf value: " + vrc.getSkipPostInstConf().booleanValue());
- boolean skipConfigVNF = vrc.getSkipPostInstConf().booleanValue();
- currentSequenceSkipCheck(execution, skipConfigVNF);
- }
+ String scope = currentBB.getBuildingBlock().getBpmnScope();
+ if ("SERVICE".equalsIgnoreCase(scope)) {
+ Service service = catalogDbClient.getServiceByID(resource.getModelVersionId());
+ currentSequenceSkipCheck(execution, service.getSkipPostInstConf());
+ } else if ("VNF".equalsIgnoreCase(scope) && containsIgnoreCaseAction(currentBB, vnfActions)) {
+ VnfResourceCustomization vrc = catalogDbClient
+ .getVnfResourceCustomizationByModelCustomizationUUID(resource.getModelCustomizationId());
+ if (vrc != null) {
+ logger.debug("getSkipPostInstConf value: " + vrc.getSkipPostInstConf());
+ boolean skipConfigVNF = vrc.getSkipPostInstConf();
+ currentSequenceSkipCheck(execution, skipConfigVNF);
}
} else if (currentBB.getBuildingBlock().getBpmnScope().equalsIgnoreCase("VFModule")
&& containsIgnoreCaseAction(currentBB, vFModuleAction)) {
-
- VfModuleCustomization vfc =
- catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID(customizationUUID);
-
+ VfModuleCustomization vfc = catalogDbClient
+ .getVfModuleCustomizationByModelCuztomizationUUID(resource.getModelCustomizationId());
if (null != vfc) {
logger.debug("getSkipPostInstConf value: " + vfc.getSkipPostInstConf().booleanValue());
boolean skipVfModule = vfc.getSkipPostInstConf();
currentSequenceSkipCheck(execution, skipVfModule);
}
-
} else if (currentBB.getBuildingBlock().getBpmnScope().equalsIgnoreCase("PNF")
&& containsIgnoreCaseAction(currentBB, pnfActions)) {
- PnfResourceCustomization pnfResourceCustomization =
- catalogDbClient.getPnfResourceCustomizationByModelCustomizationUUID(customizationUUID);
+ PnfResourceCustomization pnfResourceCustomization = catalogDbClient
+ .getPnfResourceCustomizationByModelCustomizationUUID(resource.getModelCustomizationId());
if (null != pnfResourceCustomization) {
logger.debug("getSkipPostInstConf value: " + pnfResourceCustomization.getSkipPostInstConf());
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 52196aae49..a044944f29 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
@@ -409,6 +409,10 @@ public class WorkflowActionTest extends BaseTaskTest {
serviceInstanceMSO.getVnfs().add(vnf);
+ VfModule aaiVfModule = new VfModule();
+ aaiVfModule.setIsBaseVfModule(false);
+
+ doReturn(aaiVfModule).when(bbSetupUtils).getAAIVfModule(any(), any());
doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("si0");
doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
doReturn(Mockito.mock(GenericVnf.class)).when(bbSetupUtils).getAAIGenericVnf(any());
@@ -932,6 +936,10 @@ public class WorkflowActionTest extends BaseTaskTest {
serviceInstanceMSO.getVnfs().add(vnf);
serviceInstanceMSO.getPnfs().add(pnf);
+ VfModule aaiVfModule = new VfModule();
+ aaiVfModule.setIsBaseVfModule(false);
+
+ doReturn(aaiVfModule).when(bbSetupUtils).getAAIVfModule(any(), any());
doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
doReturn(Mockito.mock(GenericVnf.class)).when(bbSetupUtils).getAAIGenericVnf(any());
@@ -1013,6 +1021,10 @@ public class WorkflowActionTest extends BaseTaskTest {
serviceInstanceMSO.getVnfs().add(vnf);
+ VfModule aaiVfModule = new VfModule();
+ aaiVfModule.setIsBaseVfModule(false);
+
+ doReturn(aaiVfModule).when(bbSetupUtils).getAAIVfModule(any(), any());
doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
doReturn(Mockito.mock(GenericVnf.class)).when(bbSetupUtils).getAAIGenericVnf(any());
@@ -1104,6 +1116,11 @@ public class WorkflowActionTest extends BaseTaskTest {
serviceInstanceMSO.getVnfs().add(vnf);
+ org.onap.aai.domain.yang.VfModule aaiVfModule = new org.onap.aai.domain.yang.VfModule();
+ aaiVfModule.setIsBaseVfModule(false);
+
+ doReturn(aaiVfModule).when(bbSetupUtils).getAAIVfModule(any(), any());
+ doReturn(new org.onap.aai.domain.yang.GenericVnf()).when(bbSetupUtils).getAAIGenericVnf(vnf.getVnfId());
doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScopeAndCloudOwner(gAction, resource,
@@ -1151,21 +1168,26 @@ public class WorkflowActionTest extends BaseTaskTest {
vfModule2.setVfModuleId("vfModule2");
vnf.getVfModules().add(vfModule2);
serviceInstanceMSO.getVnfs().add(vnf);
- VfModule vfModuleAAI = new VfModule();
- vfModuleAAI.setVfModuleId("vfModule2");
+ VfModule vfModuleAAI1 = new VfModule();
+ vfModuleAAI1.setIsBaseVfModule(false);
+ VfModule vfModuleAAI2 = new VfModule();
+ vfModuleAAI2.setIsBaseVfModule(false);
+ vfModuleAAI2.setVfModuleId("vfModule2");
RelationshipList relationshipList = new RelationshipList();
Relationship relationship = new Relationship();
relationshipList.getRelationship().add(relationship);
- vfModuleAAI.setRelationshipList(relationshipList);
+ vfModuleAAI2.setRelationshipList(relationshipList);
Relationships relationships = new Relationships("abc");
Configuration config = new Configuration();
config.setConfigurationId("configId");
Optional<Configuration> configOp = Optional.of(config);
Optional<Relationships> relationshipsOp = Optional.of(relationships);
+ doReturn(new org.onap.aai.domain.yang.GenericVnf()).when(bbSetupUtils).getAAIGenericVnf(vnf.getVnfId());
doReturn(relationshipsOp).when(workflowActionUtils).extractRelationshipsVnfc(isA(Relationships.class));
doReturn(configOp).when(workflowActionUtils).extractRelationshipsConfiguration(isA(Relationships.class));
- doReturn(vfModuleAAI).when(bbSetupUtils).getAAIVfModule("1234", "vfModule2");
+ doReturn(vfModuleAAI1).when(bbSetupUtils).getAAIVfModule("1234", "vfModule1");
+ doReturn(vfModuleAAI2).when(bbSetupUtils).getAAIVfModule("1234", "vfModule2");
doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScopeAndCloudOwner(gAction, resource,
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 2725626c1a..76763e8ca8 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
@@ -239,6 +239,9 @@ public class ServiceEBBLoaderTest extends BaseTaskTest {
aaiConfiguration2.setConfigurationId("testConfigurationId2");
aaiConfiguration2.setRelationshipList(relationshipList1);
+ org.onap.aai.domain.yang.VfModule aaiVfModule = new org.onap.aai.domain.yang.VfModule();
+ aaiVfModule.setIsBaseVfModule(true);
+
try {
doReturn(genericVnfAai).when(mockBbInputSetupUtils).getAAIGenericVnf(genericVnf.getVnfId());
doReturn(serviceInstanceAAI).when(mockBbInputSetupUtils).getAAIServiceInstanceById(resourceId);
@@ -247,6 +250,7 @@ public class ServiceEBBLoaderTest extends BaseTaskTest {
.getConfiguration("testConfigurationId");
doReturn(Optional.of(aaiConfiguration2)).when(mockAaiConfigurationResources)
.getConfiguration("testConfigurationId2");
+ doReturn(aaiVfModule).when(mockBbInputSetupUtils).getAAIVfModule(any(), any());
serviceEBBLoader.traverseAAIService(execution, resourceCounter, resourceId, aaiResourceIds);
assertEquals(8, resourceCounter.size());
assertTrue(resourceCounter.get(2).isBaseVfModule());
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 78a9628243..2775c6d7b9 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
@@ -47,12 +47,14 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.only;
public class VnfEBBLoaderTest {
private String serviceId;
private String vnfId;
+ private String vfModuleId;
private BBInputSetupUtils bbInputSetupUtils;
private BBInputSetup bbInputSetup;
private WorkflowActionExtractResourcesAAI workflowActionUtils;
@@ -67,6 +69,7 @@ public class VnfEBBLoaderTest {
public void setup() {
serviceId = "service123";
vnfId = "vnf123";
+ vfModuleId = "vfModule123";
serviceInstanceAAI = mock(org.onap.aai.domain.yang.ServiceInstance.class);
serviceInstanceMSO = mock(ServiceInstance.class);
bbInputSetupUtils = mock(BBInputSetupUtils.class);
@@ -95,11 +98,19 @@ public class VnfEBBLoaderTest {
GenericVnf genericVnf = mock(GenericVnf.class);
doReturn(vnfId).when(genericVnf).getVnfId();
+ org.onap.aai.domain.yang.GenericVnf aaiVnf = mock(org.onap.aai.domain.yang.GenericVnf.class);
+ doReturn(aaiVnf).when(bbInputSetupUtils).getAAIGenericVnf(vnfId);
+
VfModule vfModule = mock(VfModule.class);
+ doReturn(vfModuleId).when(vfModule).getVfModuleId();
ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
modelInfoVfModule.setIsBaseBoolean(true);
doReturn(modelInfoVfModule).when(vfModule).getModelInfoVfModule();
+ org.onap.aai.domain.yang.VfModule aaiVfModule = new org.onap.aai.domain.yang.VfModule();
+ aaiVfModule.setIsBaseVfModule(true);
+ doReturn(aaiVfModule).when(bbInputSetupUtils).getAAIVfModule(vnfId, vfModuleId);
+
doReturn(serviceInstanceAAI).when(bbInputSetupUtils).getAAIServiceInstanceById(serviceId);
doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
doReturn(List.of(genericVnf)).when(serviceInstanceMSO).getVnfs();
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java
index b23147e351..1fbee2dbc8 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake;
import org.junit.Before;
import org.junit.Test;
@@ -34,6 +35,8 @@ import org.mockito.junit.MockitoJUnitRunner;
import org.onap.so.bpmn.common.BBConstants;
import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.common.DelegateExecutionImpl;
+import org.onap.so.bpmn.infrastructure.workflow.tasks.Resource;
+import org.onap.so.bpmn.infrastructure.workflow.tasks.WorkflowType;
import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
import org.onap.so.db.catalog.beans.PnfResourceCustomization;
@@ -41,7 +44,6 @@ import org.onap.so.db.catalog.beans.Service;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
import org.onap.so.db.catalog.client.CatalogDbClient;
-import org.onap.so.serviceinstancebeans.ModelInfo;
import org.onap.so.serviceinstancebeans.RequestDetails;
@RunWith(MockitoJUnitRunner.Silent.class)
@@ -51,25 +53,24 @@ public class SkipCDSBuildingBlockListenerTest {
private static final String VNF_SCOPE = "VNF";
private static final String VF_SCOPE = "VFModule";
private static final String PNF_SCOPE = "pnf";
- private static final String TEST_MODELUUID = "123456789";
private static final String VNF_TEST_ACTION = "VnfConfigAssign";
private static final String VFModule_TEST_ACTION = "VfModuleConfigAssign";
private static final String PNFModule_TEST_ACTION = "config-assign";
- private static final String MODELCUSTOMIZATIONUUID = "123456789";
+ private static final String SERVICE_MODEL_VERSION_ID = UUID.randomUUID().toString();
+ private static final String VNF_MODEL_CUSTOMIZATION_ID = UUID.randomUUID().toString();
+ private static final String VF_MODULE_CUSTOMIZATION_ID = UUID.randomUUID().toString();
+ private static final String PNF_CUSTOMIZATION_ID = UUID.randomUUID().toString();
private static final String BBNAME = "ControllerExecutionBB";
private static final boolean ISFIRST = true;
- private int actual;
private List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
- private List<VnfResourceCustomization> vnfResourceCustomization;
- private List<VfModuleCustomization> vfModuleCustomization;
- private ExecuteBuildingBlock executeBuildingBlock = new ExecuteBuildingBlock();
+ private ExecuteBuildingBlock executeBuildingBlock;
private RequestDetails reqDetail = new RequestDetails();
private BuildingBlockExecution buildingBlockExecution = new DelegateExecutionImpl(new DelegateExecutionFake());
- private VnfResourceCustomization vnfCust = new VnfResourceCustomization();
- private VfModuleCustomization vfCust = new VfModuleCustomization();
- private PnfResourceCustomization pnfResourceCustomization = new PnfResourceCustomization();
- private BuildingBlock buildingBlock = new BuildingBlock();
+ private VnfResourceCustomization vnfCust;
+ private VfModuleCustomization vfCust;
+ private PnfResourceCustomization pnfResourceCustomization;
+ private BuildingBlock buildingBlock;
@InjectMocks
private SkipCDSBuildingBlockListener skipCDSBuildingBlockListener;
@@ -78,10 +79,27 @@ public class SkipCDSBuildingBlockListenerTest {
@Before
public void before() {
- ModelInfo model = new ModelInfo();
- model.setModelUuid(TEST_MODELUUID);
- reqDetail.setModelInfo(model);
- executeBuildingBlock.setRequestDetails(reqDetail);
+ executeBuildingBlock = new ExecuteBuildingBlock();
+ buildingBlock = new BuildingBlock();
+
+ ArrayList<Resource> resources = new ArrayList<>();
+ Resource service = new Resource(WorkflowType.SERVICE, SERVICE_MODEL_VERSION_ID, false, null);
+ service.setModelVersionId(SERVICE_MODEL_VERSION_ID);
+ resources.add(service);
+ Resource vnf = new Resource(WorkflowType.VNF, VNF_MODEL_CUSTOMIZATION_ID, false, null);
+ vnf.setModelCustomizationId(VNF_MODEL_CUSTOMIZATION_ID);
+ resources.add(vnf);
+ Resource vfModule = new Resource(WorkflowType.VFMODULE, VF_MODULE_CUSTOMIZATION_ID, false, null);
+ vfModule.setModelCustomizationId(VF_MODULE_CUSTOMIZATION_ID);
+ resources.add(vfModule);
+ Resource pnf = new Resource(WorkflowType.PNF, PNF_CUSTOMIZATION_ID, false, null);
+ pnf.setModelCustomizationId(PNF_CUSTOMIZATION_ID);
+ resources.add(pnf);
+ buildingBlockExecution.setVariable("resources", resources);
+
+ vnfCust = new VnfResourceCustomization();
+ vfCust = new VfModuleCustomization();
+ pnfResourceCustomization = new PnfResourceCustomization();
}
@Test
@@ -93,133 +111,83 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testSkipCDSforService() {
- setBuildingBlockAndCurrentSequence(SERVICE_SCOPE, "service-config-assign", 0);
- Service service = new Service();
- when(catalogDbClient.getServiceByID(TEST_MODELUUID)).thenReturn(service);
+ setBuildingBlockAndCurrentSequence(SERVICE_SCOPE, "service-config-assign", SERVICE_MODEL_VERSION_ID, 0);
+ when(catalogDbClient.getServiceByID(SERVICE_MODEL_VERSION_ID)).thenReturn(new Service());
skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
- actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- assertEquals(1, actual);
+ assertEquals(1, (int) buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE));
}
@Test
public void testProcessForVNFToSkipCDSBB() {
- // given
- setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, 0);
- vnfResourceCustomization = getVnfResourceCustomizationList(true);
+ setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, VNF_MODEL_CUSTOMIZATION_ID, 0);
+ when(catalogDbClient.getVnfResourceCustomizationByModelCustomizationUUID(VNF_MODEL_CUSTOMIZATION_ID))
+ .thenReturn(vnfCust);
- when(catalogDbClient.getVnfResourceCustomizationByModelUuid(
- executeBuildingBlock.getRequestDetails().getModelInfo().getModelUuid()))
- .thenReturn(vnfResourceCustomization);
- when(catalogDbClient.findVnfResourceCustomizationInList(executeBuildingBlock.getBuildingBlock().getKey(),
- vnfResourceCustomization)).thenReturn(vnfCust);
-
- // when
skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
- // then
- actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- assertEquals(1, actual);
-
+ assertEquals(1, (int) buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE));
}
@Test
public void testProcessForVNFNotToSkipCDSBB() {
- // given
- setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, 0);
- vnfResourceCustomization = getVnfResourceCustomizationList(false);
-
- when(catalogDbClient.getVnfResourceCustomizationByModelUuid(
- executeBuildingBlock.getRequestDetails().getModelInfo().getModelUuid()))
- .thenReturn(vnfResourceCustomization);
- when(catalogDbClient.findVnfResourceCustomizationInList(executeBuildingBlock.getBuildingBlock().getKey(),
- vnfResourceCustomization)).thenReturn(vnfCust);
+ setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, VNF_MODEL_CUSTOMIZATION_ID, 0);
+ vnfCust.setSkipPostInstConf(false);
+ when(catalogDbClient.getVnfResourceCustomizationByModelCustomizationUUID(VNF_MODEL_CUSTOMIZATION_ID))
+ .thenReturn(vnfCust);
- // when
skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
- // then
- actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- assertEquals(0, actual);
-
+ assertEquals(0, (int) buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE));
}
@Test
public void testProcessForVFToSkipCDSBB() {
- // given
- setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, 0);
- vfModuleCustomization = getVfModuleCustomizationList(true);
-
- when(catalogDbClient
- .getVfModuleCustomizationByModelCuztomizationUUID(executeBuildingBlock.getBuildingBlock().getKey()))
- .thenReturn(vfCust);
+ setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, VF_MODULE_CUSTOMIZATION_ID, 0);
+ when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID(VF_MODULE_CUSTOMIZATION_ID))
+ .thenReturn(vfCust);
- // when
skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
- // then
- actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- assertEquals(1, actual);
-
+ assertEquals(1, (int) buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE));
}
@Test
public void testProcessForVFNotToSkipCDSBB() {
- // given
- setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, 0);
- vfModuleCustomization = getVfModuleCustomizationList(false);
-
+ setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, VF_MODULE_CUSTOMIZATION_ID, 0);
+ vfCust.setSkipPostInstConf(false);
when(catalogDbClient
.getVfModuleCustomizationByModelCuztomizationUUID(executeBuildingBlock.getBuildingBlock().getKey()))
.thenReturn(vfCust);
- // when
skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
- // then
- actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- assertEquals(0, actual);
-
+ assertEquals(0, (int) buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE));
}
@Test
public void testProcessForPNFToSkipCDSBB() {
- // given
- setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
- pnfResourceCustomization = getPnfResourceCustomization(true);
-
- when(catalogDbClient
- .getPnfResourceCustomizationByModelCustomizationUUID(executeBuildingBlock.getBuildingBlock().getKey()))
- .thenReturn(pnfResourceCustomization);
+ setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, PNF_CUSTOMIZATION_ID, 0);
+ when(catalogDbClient.getPnfResourceCustomizationByModelCustomizationUUID(PNF_CUSTOMIZATION_ID))
+ .thenReturn(pnfResourceCustomization);
- // when
skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
- // then
- actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- assertEquals(1, actual);
-
+ assertEquals(1, (int) buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE));
}
@Test
public void testProcessForPNFNotToSkipCDSBB() {
- // given
- setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
- pnfResourceCustomization = getPnfResourceCustomization(false);
-
- when(catalogDbClient
- .getPnfResourceCustomizationByModelCustomizationUUID(executeBuildingBlock.getBuildingBlock().getKey()))
- .thenReturn(pnfResourceCustomization);
+ setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, PNF_CUSTOMIZATION_ID, 0);
+ pnfResourceCustomization.setSkipPostInstConf(false);
+ when(catalogDbClient.getPnfResourceCustomizationByModelCustomizationUUID(PNF_CUSTOMIZATION_ID))
+ .thenReturn(pnfResourceCustomization);
- // when
skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
- // then
- actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- assertEquals(0, actual);
-
+ assertEquals(0, (int) buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE));
}
/**
@@ -229,37 +197,13 @@ public class SkipCDSBuildingBlockListenerTest {
* @param action
* @param squence
*/
- private void setBuildingBlockAndCurrentSequence(String scope, String action, int sequence) {
+ private void setBuildingBlockAndCurrentSequence(String scope, String action, String key, int sequence) {
buildingBlock.setBpmnScope(scope);
buildingBlock.setBpmnAction(action);
buildingBlock.setBpmnFlowName("ControllerExecutionBB");
- buildingBlock.setKey(MODELCUSTOMIZATIONUUID);
+ buildingBlock.setKey(key);
executeBuildingBlock.setBuildingBlock(buildingBlock);
buildingBlockExecution.setVariable(BBConstants.G_CURRENT_SEQUENCE, sequence);
-
- }
-
- private List<VnfResourceCustomization> getVnfResourceCustomizationList(boolean setSkippost) {
- List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList<>();
- vnfCust.setModelCustomizationUUID(MODELCUSTOMIZATIONUUID);
- vnfCust.setSkipPostInstConf(setSkippost);
- vnfResourceCustomizations.add(vnfCust);
- return vnfResourceCustomizations;
- }
-
- private List<VfModuleCustomization> getVfModuleCustomizationList(boolean setSkippost) {
- List<VfModuleCustomization> vfModuleCustomizations = new ArrayList<>();
- vfCust.setModelCustomizationUUID(MODELCUSTOMIZATIONUUID);
- vfCust.setSkipPostInstConf(setSkippost);
- vfModuleCustomizations.add(vfCust);
- return vfModuleCustomizations;
- }
-
- private PnfResourceCustomization getPnfResourceCustomization(boolean setSkippost) {
- PnfResourceCustomization pnfResourceCustomization = new PnfResourceCustomization();
- pnfResourceCustomization.setModelCustomizationUUID(MODELCUSTOMIZATIONUUID);
- pnfResourceCustomization.setSkipPostInstConf(setSkippost);
- return pnfResourceCustomization;
}
}