summaryrefslogtreecommitdiffstats
path: root/bpmn/MSOInfrastructureBPMN/src
diff options
context:
space:
mode:
Diffstat (limited to 'bpmn/MSOInfrastructureBPMN/src')
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy642
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy96
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy24
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy8
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy31
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy27
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy28
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVnfInfra.groovy81
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy96
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy18
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstance.groovy22
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleInfra.groovy21
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy28
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVnfInfra.groovy10
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCompareModelVersions.groovy255
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy22
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceRollback.groovy12
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceV2.groovy57
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy74
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollback.groovy12
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy290
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollback.groovy12
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollbackV2.groovy51
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceV2.groovy101
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModule.groovy316
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy50
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy12
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy84
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnf.groovy67
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy21
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModulesRollback.groovy25
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy20
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2.groovy66
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy44
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollback.groovy10
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteServiceInstance.groovy100
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy22
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy112
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy28
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy16
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnf.groovy6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy94
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy24
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy62
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollback.groovy10
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy78
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy39
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/HealchCheckActivate.groovy6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy380
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/RollbackVnf.groovy153
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy12
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstance.groovy24
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModule.groovy16
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy20
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy41
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolume.groovy20
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy28
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy395
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy806
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfConfigUpdate.groovy503
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfInPlaceUpdate.groovy622
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy1482
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy26
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRG.groovy36
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollback.groovy16
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXC.groovy36
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollback.groovy16
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRG.groovy26
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXC.groovy26
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateOwningEntity.java50
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateProject.java50
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateServiceInstance.java50
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackAAIServiceInstance.java56
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackError.java38
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/SetupServiceDecomp.java112
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.java2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/SDNCTasks/SDNCCreateServiceInstance.java49
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java84
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIDeleteServiceInstance.java49
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIServiceInstance.java94
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java11
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/META-INF/persistence.xml2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn9
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateGenericALaCarteServiceInstance.bpmn281
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateNetworkInstance.bpmn55
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn8
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn3
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVnfInfra.bpmn78
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn74
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteNetworkInstance.bpmn264
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVfModuleInfra.bpmn1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/ReplaceVnfInfra.bpmn1705
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateVnfInfra.bpmn1563
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfConfigUpdate.bpmn1631
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfInPlaceUpdate.bpmn2290
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3.bpmn146
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3Rollback.bpmn97
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCompareModelVersions.bpmn330
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstance.bpmn252
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollback.bpmn68
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollbackV2.bpmn103
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceV2.bpmn197
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModule.bpmn856
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleRollback.bpmn255
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleVolumeV2.bpmn4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnf.bpmn1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModulesRollback.bpmn3
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteServiceInstance.bpmn14
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVfModule.bpmn228
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/RollbackVnf.bpmn343
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/SetRefactorServiceDecomp.bpmn68
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml9
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericAlaCarteServiceInstanceTest.groovy8
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstanceTest.groovy20
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstanceTest.groovy3
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericAlaCarteServiceInstanceTest.groovy6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstanceTest.groovy16
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollbackTest.groovy16
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceTest.groovy447
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2Test.groovy93
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceTest.groovy2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollbackTest.groovy646
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy48
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollbackTest.groovy630
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceTest.groovy182
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstanceTest.groovy20
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy5
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustServiceTest.groovy1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollbackTest.groovy1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGTest.groovy1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollbackTest.groovy1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCTest.groovy1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRGTest.groovy1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXCTest.groovy1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/GroovyTestBase.groovy1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateGenericALaCarteServiceInstanceTest.java10
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateNetworkInstanceTest.java12
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java57
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVnfInfraTest.java2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteNetworkInstanceTest.java6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleInfraTest.java76
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateSIRollbackTest.java8
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceTest.java18
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV2Test.java109
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV3Test.java70
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleTest.java183
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesTest.java4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfTest.java3
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleTest.java79
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfAndModulesTest.java144
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVfModuleTest.java13
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/ReplaceVnfInfraTest.java27
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/RollbackVnfTest.java134
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/SetupServiceDecompTest.java65
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateNetworkInstanceTest.java13
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVnfInfraTest.java21
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfConfigUpdateTest.java146
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfInPlaceUpdateTest.java159
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/CreateVcpeResCustServiceTest.java5
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_defaultCloudRegionByCloudRegionId.json12
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_genericVnfsByVnfId.json108
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/mockObject.json10
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/APPC/appc_error.json21
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetworkResponse_500.xml136
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml15
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetwork_queryVpnBindingList_AAIResponse_Success.xml57
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateServiceInstance/DoCreateServiceInstanceInput.json42
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateServiceInstance/SetupServiceDecompJson.json33
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json9
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request.json137
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request_noPreloads.json152
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request_userParam.json77
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/DoCreateVfModuleVolumeV1/createVfModuleVolume_VID_request.json72
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/ConfigVnf_VID_request.json39
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/CreateVnfInfraRequest.json9
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/DoCreateServiceInstance_request.json186
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVfModule_VID_request.json117
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVnf_VID_request.json10
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/VnfInPlaceUpdate_VID_request.json16
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/UpdateNetworkV2/updateNetworkResponse_500.xml136
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/UpdateNetworkV2/updateNetwork_queryVpnBindingList_AAIResponse_Success.xml57
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryBRGCallback.xml4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryTXCCallback.xml4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/request.json11
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncActivateRollbackReq.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncAssignRollbackReq.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncCreateRollbackReq.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncActivateRollbackReq.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncAssignRollbackReq.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncCreateRollbackReq.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesData.json94
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json5
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json5
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfData.json44
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfNoTwoPhasedForVfModule.json44
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfYesTwoPhasedForVfModule.json44
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/DoUpdateVfModuleRequest.xml29
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml9
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/VfModule-new-PendingActivation.xml9
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/camunda.cfg.xml15
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/mso.bpmn.urn.properties17
212 files changed, 19223 insertions, 5741 deletions
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy
index 450c5b1147..1464aedc5c 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy
@@ -1,321 +1,341 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.mso.bpmn.infrastructure.scripts;
-
-import static org.apache.commons.lang3.StringUtils.*;
-import groovy.xml.XmlUtil
-import groovy.json.*
-import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
-import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
-
-import org.openecomp.mso.bpmn.core.WorkflowException
-import org.openecomp.mso.bpmn.core.json.JsonUtils
-import org.openecomp.mso.rest.APIResponse
-
-import java.util.List;
-import java.util.UUID;
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
-import org.apache.commons.lang3.*
-import org.apache.commons.codec.binary.Base64;
-import org.springframework.web.util.UriUtils
-
-/**
- * This groovy class supports the <class>CreateServiceInstance.bpmn</class> process.
- * AlaCarte flow for 1702 ServiceInstance Create
- *
- */
-public class CreateCustomE2EServiceInstance extends AbstractServiceTaskProcessor {
- String Prefix="CRESI_"
- ExceptionUtil exceptionUtil = new ExceptionUtil()
- JsonUtils jsonUtil = new JsonUtils()
-
-
- public void preProcessRequest (Execution execution) {
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
- execution.setVariable("prefix",Prefix)
- String msg = ""
- utils.log("INFO", " *** preProcessRequest() *** ", isDebugEnabled)
-
- try {
-
- String siRequest = execution.getVariable("bpmnRequest")
- utils.logAudit(siRequest)
-
- String requestId = execution.getVariable("mso-request-id")
- execution.setVariable("msoRequestId", requestId)
- utils.log("INFO", "Input Request:" + siRequest + " reqId:" + requestId, isDebugEnabled)
-
- String serviceInstanceId = execution.getVariable("serviceInstanceId")
- if (isBlank(serviceInstanceId)) {
- serviceInstanceId = UUID.randomUUID().toString()
- }
- utils.log("INFO", "Generated new Service Instance:" + serviceInstanceId, isDebugEnabled)
- serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8")
- execution.setVariable("serviceInstanceId", serviceInstanceId)
-
- //subscriberInfo
- String globalSubscriberId = jsonUtil.getJsonValue(siRequest, "requestDetails.subscriberInfo.globalSubscriberId")
- if (isBlank(globalSubscriberId)) {
- msg = "Input globalSubscriberId' is null"
- exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
- } else {
- execution.setVariable("globalSubscriberId", globalSubscriberId)
- }
-
- //requestInfo
- execution.setVariable("source", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.source"))
- execution.setVariable("serviceInstanceName", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.instanceName"))
- execution.setVariable("disableRollback", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.suppressRollback"))
- String productFamilyId = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.productFamilyId")
- if (isBlank(productFamilyId))
- {
- msg = "Input productFamilyId is null"
- utils.log("INFO", msg, isDebugEnabled)
- //exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
- } else {
- execution.setVariable("productFamilyId", productFamilyId)
- }
- String userParams = jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.userParams")
- utils.log("INFO", "userParams:" + userParams, isDebugEnabled)
- List<String> paramList = jsonUtil.StringArrayToList(execution, userParams)
- String uuiRequest = jsonUtil.getJsonValue(paramList.get(0), "UUIRequest")
- //modelInfo
- if (isBlank(uuiRequest)) {
- msg = "Input uuiRequest is null"
- utils.log("INFO", msg, isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
- } else
- {
- execution.setVariable("uuiRequest", uuiRequest)
- }
-
- utils.log("INFO", "uuiRequest:\n" + uuiRequest, isDebugEnabled)
-
- //requestParameters
- String serviceType = jsonUtil.getJsonValue(uuiRequest, "service.parameters.serviceType")
- if (isBlank(serviceType)) {
- msg = "Input serviceType is null"
- utils.log("INFO", msg, isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
- } else {
- execution.setVariable("serviceType", serviceType)
- }
- execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
-
- } catch (BpmnError e) {
- throw e;
- } catch (Exception ex){
- msg = "Exception in preProcessRequest " + ex.getMessage()
- utils.log("INFO", msg, isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
- }
- utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled)
- }
-
- public void sendSyncResponse (Execution execution) {
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
- utils.log("INFO", " *** sendSyncResponse *** ", isDebugEnabled)
-
- try {
- String operationId = execution.getVariable("operationId")
- String serviceInstanceId = execution.getVariable("serviceInstanceId")
- // RESTResponse for API Handler (APIH) Reply Task
- String createServiceRestRequest = """{"service":{"serviceId":"${serviceInstanceId}","operationId":"${operationId}"}}""".trim()
- utils.log("INFO", " sendSyncResponse to APIH:" + "\n" + createServiceRestRequest, isDebugEnabled)
- sendWorkflowResponse(execution, 202, createServiceRestRequest)
- execution.setVariable("sentSyncResponse", true)
-
- } catch (Exception ex) {
- String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage()
- utils.log("INFO", msg, isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
- }
- utils.log("INFO"," ***** Exit sendSyncResopnse *****", isDebugEnabled)
- }
-
-
- public void sendSyncError (Execution execution) {
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
- utils.log("INFO", " *** sendSyncError *** ", isDebugEnabled)
-
- try {
- String errorMessage = ""
- if (execution.getVariable("WorkflowException") instanceof WorkflowException) {
- WorkflowException wfe = execution.getVariable("WorkflowException")
- errorMessage = wfe.getErrorMessage()
- } else {
- errorMessage = "Sending Sync Error."
- }
-
- String buildworkflowException =
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.scripts;
+
+import static org.apache.commons.lang3.StringUtils.*;
+import groovy.xml.XmlUtil
+import groovy.json.*
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.rest.APIResponse
+
+import java.util.UUID;
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.apache.commons.lang3.*
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.web.util.UriUtils
+
+/**
+ * This groovy class supports the <class>CreateServiceInstance.bpmn</class> process.
+ * AlaCarte flow for 1702 ServiceInstance Create
+ *
+ */
+public class CreateCustomE2EServiceInstance extends AbstractServiceTaskProcessor {
+ String Prefix="CRESI_"
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtil = new JsonUtils()
+
+
+ public void preProcessRequest (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ execution.setVariable("prefix",Prefix)
+ String msg = ""
+ utils.log("DEBUG", " *** preProcessRequest() *** ", isDebugEnabled)
+
+ try {
+
+ String siRequest = execution.getVariable("bpmnRequest")
+ utils.logAudit(siRequest)
+
+ String requestId = execution.getVariable("mso-request-id")
+ execution.setVariable("msoRequestId", requestId)
+ utils.log("DEBUG", "Input Request:" + siRequest + " reqId:" + requestId, isDebugEnabled)
+
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ if (isBlank(serviceInstanceId)) {
+ serviceInstanceId = UUID.randomUUID().toString()
+ }
+ utils.log("DEBUG", "Generated new Service Instance:" + serviceInstanceId, isDebugEnabled)
+ serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8")
+ execution.setVariable("serviceInstanceId", serviceInstanceId)
+
+ //subscriberInfo
+ String globalSubscriberId = jsonUtil.getJsonValue(siRequest, "requestDetails.subscriberInfo.globalSubscriberId")
+ if (isBlank(globalSubscriberId)) {
+ msg = "Input globalSubscriberId' is null"
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("globalSubscriberId", globalSubscriberId)
+ }
+
+ //requestInfo
+ execution.setVariable("source", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.source"))
+ execution.setVariable("serviceInstanceName", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.instanceName"))
+ execution.setVariable("disableRollback", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.suppressRollback"))
+ String productFamilyId = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.productFamilyId")
+ if (isBlank(productFamilyId))
+ {
+ msg = "Input productFamilyId is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("productFamilyId", productFamilyId)
+ }
+
+ //modelInfo
+ String serviceModelInfo = jsonUtil.getJsonValue(siRequest, "requestDetails.modelInfo")
+ if (isBlank(serviceModelInfo)) {
+ msg = "Input serviceModelInfo is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else
+ {
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+ }
+
+ utils.log("DEBUG", "modelInfo" + serviceModelInfo, isDebugEnabled)
+
+ //requestParameters
+ String subscriptionServiceType = jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.subscriptionServiceType")
+ if (isBlank(subscriptionServiceType)) {
+ msg = "Input subscriptionServiceType is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("subscriptionServiceType", subscriptionServiceType)
+ }
+
+
+ /*
+ * Extracting User Parameters from incoming Request and converting into a Map
+ */
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+
+ Map reqMap = jsonSlurper.parseText(siRequest)
+
+ //InputParams
+ def userParams = reqMap.requestDetails?.requestParameters?.userParams
+
+ Map<String, String> inputMap = [:]
+ if (userParams) {
+ userParams.each {
+ userParam -> inputMap.put(userParam.name, userParam.value.toString())
+ }
+ }
+
+ utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled)
+ execution.setVariable("serviceInputParams", inputMap)
+ execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
+ //TODO
+ //execution.setVariable("serviceInputParams", jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.userParams"))
+ //execution.setVariable("failExists", true)
+
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception ex){
+ msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
+ }
+
+ public void sendSyncResponse (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled)
+
+ try {
+ String operationId = execution.getVariable("operationId")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ // RESTResponse for API Handler (APIH) Reply Task
+ String createServiceRestRequest = """{"service":{"serviceId":"${serviceInstanceId}","operationId":"${operationId}"}}""".trim()
+ utils.log("DEBUG", " sendSyncResponse to APIH:" + "\n" + createServiceRestRequest, isDebugEnabled)
+ sendWorkflowResponse(execution, 202, createServiceRestRequest)
+ execution.setVariable("sentSyncResponse", true)
+
+ } catch (Exception ex) {
+ String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("DEBUG"," ***** Exit sendSyncResopnse *****", isDebugEnabled)
+ }
+
+
+ public void sendSyncError (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " *** sendSyncError *** ", isDebugEnabled)
+
+ try {
+ String errorMessage = ""
+ if (execution.getVariable("WorkflowException") instanceof WorkflowException) {
+ WorkflowException wfe = execution.getVariable("WorkflowException")
+ errorMessage = wfe.getErrorMessage()
+ } else {
+ errorMessage = "Sending Sync Error."
+ }
+
+ String buildworkflowException =
"""<aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">
- <aetgt:ErrorMessage>${errorMessage}</aetgt:ErrorMessage>
- <aetgt:ErrorCode>7000</aetgt:ErrorCode>
- </aetgt:WorkflowException>"""
-
- utils.logAudit(buildworkflowException)
- sendWorkflowResponse(execution, 500, buildworkflowException)
-
- } catch (Exception ex) {
- utils.log("INFO", " Sending Sync Error Activity Failed. " + "\n" + ex.getMessage(), isDebugEnabled)
- }
-
- }
-
- public void prepareCompletionRequest (Execution execution) {
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
- utils.log("INFO", " *** prepareCompletion *** ", isDebugEnabled)
-
- try {
- String requestId = execution.getVariable("msoRequestId")
- String serviceInstanceId = execution.getVariable("serviceInstanceId")
- String source = execution.getVariable("source")
-
- String msoCompletionRequest =
+ <aetgt:ErrorMessage>${errorMessage}</aetgt:ErrorMessage>
+ <aetgt:ErrorCode>7000</aetgt:ErrorCode>
+ </aetgt:WorkflowException>"""
+
+ utils.logAudit(buildworkflowException)
+ sendWorkflowResponse(execution, 500, buildworkflowException)
+
+ } catch (Exception ex) {
+ utils.log("DEBUG", " Sending Sync Error Activity Failed. " + "\n" + ex.getMessage(), isDebugEnabled)
+ }
+
+ }
+
+ public void prepareCompletionRequest (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " *** prepareCompletion *** ", isDebugEnabled)
+
+ try {
+ String requestId = execution.getVariable("msoRequestId")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ String source = execution.getVariable("source")
+
+ String msoCompletionRequest =
"""<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
xmlns:ns="http://org.openecomp/mso/request/types/v1">
<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
- <request-id>${requestId}</request-id>
- <action>CREATE</action>
- <source>${source}</source>
- </request-info>
- <status-message>Service Instance was created successfully.</status-message>
- <serviceInstanceId>${serviceInstanceId}</serviceInstanceId>
- <mso-bpel-name>CreateGenericALaCarteServiceInstance</mso-bpel-name>
- </aetgt:MsoCompletionRequest>"""
-
- // Format Response
- String xmlMsoCompletionRequest = utils.formatXml(msoCompletionRequest)
-
- execution.setVariable("completionRequest", xmlMsoCompletionRequest)
- utils.log("INFO", " Overall SUCCESS Response going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest, isDebugEnabled)
-
- } catch (Exception ex) {
- String msg = " Exception in prepareCompletion:" + ex.getMessage()
- utils.log("INFO", msg, isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
- }
- utils.log("INFO", "*** Exit prepareCompletionRequest ***", isDebugEnabled)
- }
-
- public void prepareFalloutRequest(Execution execution){
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
- utils.log("INFO", " *** prepareFalloutRequest *** ", isDebugEnabled)
-
- try {
- WorkflowException wfex = execution.getVariable("WorkflowException")
- utils.log("INFO", " Input Workflow Exception: " + wfex.toString(), isDebugEnabled)
- String requestId = execution.getVariable("msoRequestId")
- String source = execution.getVariable("source")
- String requestInfo =
+ <request-id>${requestId}</request-id>
+ <action>CREATE</action>
+ <source>${source}</source>
+ </request-info>
+ <status-message>Service Instance was created successfully.</status-message>
+ <serviceInstanceId>${serviceInstanceId}</serviceInstanceId>
+ <mso-bpel-name>CreateGenericALaCarteServiceInstance</mso-bpel-name>
+ </aetgt:MsoCompletionRequest>"""
+
+ // Format Response
+ String xmlMsoCompletionRequest = utils.formatXml(msoCompletionRequest)
+
+ execution.setVariable("completionRequest", xmlMsoCompletionRequest)
+ utils.log("DEBUG", " Overall SUCCESS Response going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest, isDebugEnabled)
+
+ } catch (Exception ex) {
+ String msg = " Exception in prepareCompletion:" + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("DEBUG", "*** Exit prepareCompletionRequest ***", isDebugEnabled)
+ }
+
+ public void prepareFalloutRequest(DelegateExecution execution){
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " *** prepareFalloutRequest *** ", isDebugEnabled)
+
+ try {
+ WorkflowException wfex = execution.getVariable("WorkflowException")
+ utils.log("DEBUG", " Input Workflow Exception: " + wfex.toString(), isDebugEnabled)
+ String requestId = execution.getVariable("msoRequestId")
+ String source = execution.getVariable("source")
+ String requestInfo =
"""<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
- <request-id>${requestId}</request-id>
- <action>CREATE</action>
- <source>${source}</source>
- </request-info>"""
-
- String falloutRequest = exceptionUtil.processMainflowsBPMNException(execution, requestInfo)
- execution.setVariable("falloutRequest", falloutRequest)
- } catch (Exception ex) {
- utils.log("INFO", "Exception prepareFalloutRequest:" + ex.getMessage(), isDebugEnabled)
- String errorException = " Bpmn error encountered in CreateGenericALaCarteServiceInstance flow. FalloutHandlerRequest, buildErrorResponse() - " + ex.getMessage()
- String requestId = execution.getVariable("msoRequestId")
- String falloutRequest =
+ <request-id>${requestId}</request-id>
+ <action>CREATE</action>
+ <source>${source}</source>
+ </request-info>"""
+
+ String falloutRequest = exceptionUtil.processMainflowsBPMNException(execution, requestInfo)
+ execution.setVariable("falloutRequest", falloutRequest)
+ } catch (Exception ex) {
+ utils.log("DEBUG", "Exception prepareFalloutRequest:" + ex.getMessage(), isDebugEnabled)
+ String errorException = " Bpmn error encountered in CreateGenericALaCarteServiceInstance flow. FalloutHandlerRequest, buildErrorResponse() - " + ex.getMessage()
+ String requestId = execution.getVariable("msoRequestId")
+ String falloutRequest =
"""<aetgt:FalloutHandlerRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
xmlns:ns="http://org.openecomp/mso/request/types/v1"
xmlns:wfsch="http://org.openecomp/mso/workflow/schema/v1">
<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
- <request-id>${requestId}</request-id>
- <action>CREATE</action>
- <source>UUI</source>
- </request-info>
+ <request-id>${requestId}</request-id>
+ <action>CREATE</action>
+ <source>UUI</source>
+ </request-info>
<aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">
- <aetgt:ErrorMessage>${errorException}</aetgt:ErrorMessage>
- <aetgt:ErrorCode>7000</aetgt:ErrorCode>
- </aetgt:WorkflowException>
- </aetgt:FalloutHandlerRequest>"""
-
- execution.setVariable("falloutRequest", falloutRequest)
- }
- utils.log("INFO", "*** Exit prepareFalloutRequest ***", isDebugEnabled)
- }
-
- /**
- * Init the service Operation Status
- */
- public void prepareInitServiceOperationStatus(Execution execution){
- def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO", " ======== STARTED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled)
- try{
- String serviceId = execution.getVariable("serviceInstanceId")
- String operationId = UUID.randomUUID().toString()
- String serviceName = execution.getVariable("serviceInstanceName")
- String operationType = "CREATE"
- String userId = ""
- String result = "processing"
- String progress = "0"
- String reason = ""
- String operationContent = "Prepare service creation"
- utils.log("INFO", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId, isDebugEnabled)
- serviceId = UriUtils.encode(serviceId,"UTF-8")
- execution.setVariable("serviceInstanceId", serviceId)
- execution.setVariable("operationId", operationId)
- execution.setVariable("operationType", operationType)
-
- def dbAdapterEndpoint = execution.getVariable("URN_mso_adapters_openecomp_db_endpoint")
- execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint)
- utils.log("INFO", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled)
-
- String payload =
- """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:ns="http://org.openecomp.mso/requestsdb">
- <soapenv:Header/>
- <soapenv:Body>
- <ns:updateServiceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb">
- <serviceId>${serviceId}</serviceId>
- <operationId>${operationId}</operationId>
- <serviceName>${serviceName}</serviceName>
- <operationType>${operationType}</operationType>
- <userId>${userId}</userId>
- <result>${result}</result>
- <operationContent>${operationContent}</operationContent>
- <progress>${progress}</progress>
- <reason>${reason}</reason>
- </ns:updateServiceOperationStatus>
- </soapenv:Body>
- </soapenv:Envelope>"""
-
- payload = utils.formatXml(payload)
- execution.setVariable("CVFMI_updateServiceOperStatusRequest", payload)
- utils.log("INFO", "Outgoing updateServiceOperStatusRequest: \n" + payload, isDebugEnabled)
- utils.logAudit("CreateVfModuleInfra Outgoing updateServiceOperStatusRequest Request: " + payload)
-
- }catch(Exception e){
- utils.log("ERROR", "Exception Occured Processing prepareInitServiceOperationStatus. Exception is:\n" + e, isDebugEnabled)
- execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during prepareInitServiceOperationStatus Method:\n" + e.getMessage())
- }
- utils.log("INFO", "======== COMPLETED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled)
- }
-
-}
+ <aetgt:ErrorMessage>${errorException}</aetgt:ErrorMessage>
+ <aetgt:ErrorCode>7000</aetgt:ErrorCode>
+ </aetgt:WorkflowException>
+ </aetgt:FalloutHandlerRequest>"""
+
+ execution.setVariable("falloutRequest", falloutRequest)
+ }
+ utils.log("DEBUG", "*** Exit prepareFalloutRequest ***", isDebugEnabled)
+ }
+
+ /**
+ * Init the service Operation Status
+ */
+ public void prepareInitServiceOperationStatus(DelegateExecution execution){
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " ======== STARTED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled)
+ try{
+ String serviceId = execution.getVariable("serviceInstanceId")
+ String operationId = UUID.randomUUID().toString()
+ String operationType = "CREATE"
+ String userId = ""
+ String result = "processing"
+ String progress = "0"
+ String reason = ""
+ String operationContent = "Prepare service creation"
+ utils.log("DEBUG", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId, isDebugEnabled)
+ serviceId = UriUtils.encode(serviceId,"UTF-8")
+ execution.setVariable("serviceInstanceId", serviceId)
+ execution.setVariable("operationId", operationId)
+ execution.setVariable("operationType", operationType)
+
+ def dbAdapterEndpoint = execution.getVariable("URN_mso_adapters_openecomp_db_endpoint")
+ execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint)
+ utils.log("DEBUG", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled)
+
+ String payload =
+ """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:ns="http://org.openecomp.mso/requestsdb">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <ns:updateServiceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb">
+ <serviceId>${serviceId}</serviceId>
+ <operationId>${operationId}</operationId>
+ <operationType>${operationType}</operationType>
+ <userId>${userId}</userId>
+ <result>${result}</result>
+ <operationContent>${operationContent}</operationContent>
+ <progress>${progress}</progress>
+ <reason>${reason}</reason>
+ </ns:updateServiceOperationStatus>
+ </soapenv:Body>
+ </soapenv:Envelope>"""
+
+ payload = utils.formatXml(payload)
+ execution.setVariable("CVFMI_updateServiceOperStatusRequest", payload)
+ utils.log("DEBUG", "Outgoing updateServiceOperStatusRequest: \n" + payload, isDebugEnabled)
+ utils.logAudit("CreateVfModuleInfra Outgoing updateServiceOperStatusRequest Request: " + payload)
+
+ }catch(Exception e){
+ utils.log("ERROR", "Exception Occured Processing prepareInitServiceOperationStatus. Exception is:\n" + e, isDebugEnabled)
+ execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during prepareInitServiceOperationStatus Method:\n" + e.getMessage())
+ }
+ utils.log("DEBUG", "======== COMPLETED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled)
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy
index 80d714893d..0de28f77ce 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy
@@ -25,7 +25,7 @@ import groovy.xml.XmlUtil
import groovy.json.*
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
-import org.openecomp.mso.bpmn.common.scripts.VidUtils
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
import org.openecomp.mso.bpmn.core.WorkflowException
import org.openecomp.mso.bpmn.core.json.JsonUtils
import org.openecomp.mso.rest.APIResponse
@@ -33,7 +33,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -48,13 +48,12 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro
String Prefix="CRESI_"
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- VidUtils vidUtils = new VidUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String msg = ""
- utils.log("DEBUG", " *** preProcessRequest() *** ", isDebugEnabled)
+ utils.log("DEBUG", " *** preProcessRequest() of CreateGenericALaCarteServiceInstance *** ", isDebugEnabled)
try {
@@ -68,8 +67,11 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro
String serviceInstanceId = execution.getVariable("serviceInstanceId")
if (isBlank(serviceInstanceId)) {
serviceInstanceId = UUID.randomUUID().toString()
+ utils.log("DEBUG", "Generated new Service Instance ID:" + serviceInstanceId, isDebugEnabled)
+ } else {
+ utils.log("DEBUG", "Using provided Service Instance ID:" + serviceInstanceId, isDebugEnabled)
}
- utils.log("DEBUG", "Generated new Service Instance:" + serviceInstanceId, isDebugEnabled)
+
serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8")
execution.setVariable("serviceInstanceId", serviceInstanceId)
@@ -113,7 +115,7 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro
}
utils.log("DEBUG", "modelInfo" + serviceModelInfo, isDebugEnabled)
-
+
//requestParameters
String subscriptionServiceType = jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.subscriptionServiceType")
if (isBlank(subscriptionServiceType)) {
@@ -139,7 +141,7 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro
Map<String, String> inputMap = [:]
if (userParams) {
userParams.each {
- userParam -> inputMap.put(userParam.name, userParam.value)
+ userParam -> inputMap.put(userParam.name, userParam.value.toString())
}
}
@@ -156,10 +158,10 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro
utils.log("DEBUG", msg, isDebugEnabled)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
- utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
+ utils.log("DEBUG"," ***** Exit preProcessRequest of CreateGenericALaCarteServiceInstance *****", isDebugEnabled)
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled)
@@ -181,7 +183,7 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro
}
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " *** sendSyncError *** ", isDebugEnabled)
@@ -209,7 +211,75 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro
}
- public void prepareCompletionRequest (Execution execution) {
+ // *******************************
+ //
+ // *******************************
+ public void prepareDecomposeService(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " ***** Inside prepareDecomposeService of CreateGenericALaCarteServiceInstance ***** ", isDebugEnabled)
+ try {
+ String siRequest = execution.getVariable("bpmnRequest")
+ String serviceModelInfo = jsonUtil.getJsonValue(siRequest, "requestDetails.modelInfo")
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in CreateGenericALaCarteServiceInstance flow. Unexpected Error from method prepareDecomposeService() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ utils.log("DEBUG", " ***** Completed prepareDecomposeService of CreateGenericALaCarteServiceInstance ***** ", isDebugEnabled)
+ }
+
+
+ // *******************************
+ //
+ // *******************************
+ public void prepareCreateServiceInstance(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareCreateServiceInstance of CreateGenericALaCarteServiceInstance ***** ", isDebugEnabled)
+
+ /*
+ * Extracting User Parameters from incoming Request and converting into a Map
+ */
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+ def siRequest = execution.getVariable("bpmnRequest")
+ Map reqMap = jsonSlurper.parseText(siRequest)
+ //InputParams
+ def userParams = reqMap.requestDetails?.requestParameters?.userParams
+ Map<String, String> inputMap = [:]
+ if (userParams != null) {
+ userParams.each {
+ userParam -> inputMap.put(userParam.name, userParam.value)
+ }
+ }
+
+ utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled)
+ execution.setVariable("serviceInputParams", inputMap)
+
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ serviceDecomposition.getServiceInstance().setInstanceId(serviceInstanceId)
+
+ String serviceInstanceName = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.instanceName")
+ serviceDecomposition.getServiceInstance().setInstanceName(serviceInstanceName)
+ execution.setVariable("serviceInstanceName", serviceInstanceName)
+ execution.setVariable("serviceDecomposition", serviceDecomposition)
+ execution.setVariable("serviceDecompositionString", serviceDecomposition.toJsonString())
+ utils.log("DEBUG", "serviceDecomposition.serviceInstanceName: " + serviceDecomposition.getServiceInstance().getInstanceName(), isDebugEnabled)
+
+ utils.log("DEBUG", " ***** Completed prepareCreateServiceInstance of CreateGenericALaCarteServiceInstance ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in CreateGenericALaCarteServiceInstance flow. Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+
+ public void prepareCompletionRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " *** prepareCompletion *** ", isDebugEnabled)
@@ -245,7 +315,7 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro
utils.log("DEBUG", "*** Exit prepareCompletionRequest ***", isDebugEnabled)
}
- public void prepareFalloutRequest(Execution execution){
+ public void prepareFalloutRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " *** prepareFalloutRequest *** ", isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy
index c37355ef3d..5f7d1e3452 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy
@@ -31,7 +31,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -45,7 +45,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
execution.setVariable(Prefix + "source", "")
execution.setVariable(Prefix + "Success", false)
@@ -69,7 +69,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>CreateNetworkInstance.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -154,7 +154,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
}
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -178,7 +178,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void getNetworkModelInfo (Execution execution) {
+ public void getNetworkModelInfo (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -203,7 +203,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -224,7 +224,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareDBRequestError (Execution execution) {
+ public void prepareDBRequestError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -272,7 +272,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareCompletion (Execution execution) {
+ public void prepareCompletion (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -320,7 +320,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
// Post or Validate Response Section
// **************************************************
- public void postProcessResponse (Execution execution) {
+ public void postProcessResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -354,7 +354,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
// Build Error Section
// *******************************
- public void processRollbackData (Execution execution) {
+ public void processRollbackData (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -375,7 +375,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
}
// Prepare for FalloutHandler
- public void buildErrorResponse (Execution execution) {
+ public void buildErrorResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -436,7 +436,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy
index 400b0d40d5..d2d93d5568 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy
@@ -32,7 +32,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -60,7 +60,7 @@ public class CreateSDNCCNetworkResource extends AbstractServiceTaskProcessor {
* generate the nsOperationKey
* generate the nsParameters
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String msg = ""
utils.log("INFO", " *** preProcessRequest() *** ", isDebugEnabled)
@@ -120,7 +120,7 @@ public class CreateSDNCCNetworkResource extends AbstractServiceTaskProcessor {
* url: the url of the request
* requestBody: the body of the request
*/
- private APIResponse postRequest(Execution execution, String url, String requestBody){
+ private APIResponse postRequest(DelegateExecution execution, String url, String requestBody){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** Started Execute VFC adapter Post Process *****", isDebugEnabled)
utils.log("INFO","url:"+url +"\nrequestBody:"+ requestBody, isDebugEnabled)
@@ -138,7 +138,7 @@ public class CreateSDNCCNetworkResource extends AbstractServiceTaskProcessor {
return apiResponse
}
- public void postCreateSDNCCall(Execution execution){
+ public void postCreateSDNCCall(DelegateExecution execution){
}
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy
index 970a4f7d07..0279c2cbc8 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy
@@ -32,7 +32,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -47,20 +47,21 @@ import org.openecomp.mso.rest.APIResponse;
public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
String vfcUrl = "/vfc/rest/v1/vfcadapter"
-
+
String host = "http://mso.mso.testlab.openecomp.org:8080"
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
-
- /**CreateVFCNSResource
+
+ /**
+ * CreateVFCNSResource
* Pre Process the BPMN Flow Request
* Inclouds:
* generate the nsOperationKey
* generate the nsParameters
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String msg = ""
utils.log("INFO", " *** preProcessRequest() *** ", isDebugEnabled)
@@ -117,7 +118,7 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
/**
* create NS task
*/
- public void createNetworkService(Execution execution) {
+ public void createNetworkService(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** createNetworkService *****", isDebugEnabled)
String nsOperationKey = execution.getVariable("nsOperationKey");
@@ -144,8 +145,8 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
/**
* instantiate NS task
*/
- public void instantiateNetworkService(Execution execution) {
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ public void instantiateNetworkService(DelegateExecution execution) {
+ def isDebugEnabled= execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** instantiateNetworkService *****", isDebugEnabled)
String nsOperationKey = execution.getVariable("nsOperationKey");
String nsParameters = execution.getVariable("nsParameters");
@@ -173,7 +174,7 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
/**
* query NS task
*/
- public void queryNSProgress(Execution execution) {
+ public void queryNSProgress(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** queryNSProgress *****", isDebugEnabled)
String jobId = execution.getVariable("jobId")
@@ -193,8 +194,8 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
/**
* delay 5 sec
*/
- public void timeDelay(Execution execution) {
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ public void timeDelay(DelegateExecution execution) {
+ def isDebugEnabled= execution.getVariable("isDebugLogEnabled")
try {
Thread.sleep(5000);
} catch(InterruptedException e) {
@@ -205,7 +206,7 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
/**
* finish NS task
*/
- public void addNSRelationship(Execution execution) {
+ public void addNSRelationship(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** addNSRelationship *****", isDebugEnabled)
String nsInstanceId = execution.getVariable("nsInstanceId")
@@ -241,7 +242,7 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
utils.log("INFO"," *****Exit addNSRelationship *****", isDebugEnabled)
}
- public APIResponse executeAAIPutCall(Execution execution, String url, String payload){
+ public APIResponse executeAAIPutCall(DelegateExecution execution, String url, String payload){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== Started Execute AAI Put Process ======== ", isDebugEnabled)
APIResponse apiResponse = null
@@ -265,13 +266,13 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
}
return apiResponse
}
-
+
/**
* post request
* url: the url of the request
* requestBody: the body of the request
*/
- private APIResponse postRequest(Execution execution, String url, String requestBody){
+ private APIResponse postRequest(DelegateExecution execution, String url, String requestBody){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** Started Execute VFC adapter Post Process *****", isDebugEnabled)
utils.log("INFO","url:"+url +"\nrequestBody:"+ requestBody, isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy
index 37ff4944ff..3b2c4ea2f8 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy
@@ -24,7 +24,7 @@ import groovy.json.JsonSlurper
import groovy.json.JsonOutput
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
@@ -44,7 +44,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
* Validates the request message and sets up the workflow.
* @param execution the execution
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -127,7 +127,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
Map<String, String> userParamsMap = [:]
if (userParams != null) {
userParams.each { userParam ->
- userParamsMap.put(userParam.name, userParam.value)
+ userParamsMap.put(userParam.name, jsonOutput.toJson(userParam.value).toString())
}
}
@@ -171,6 +171,9 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
def usePreload = reqMap.requestDetails?.requestParameters?.usePreload
execution.setVariable(prefix + 'usePreload', usePreload)
+ // This is aLaCarte flow, so aLaCarte flag is always on
+ execution.setVariable(prefix + 'aLaCarte', true)
+
def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
def lcpCloudRegionId = cloudConfiguration.lcpCloudRegionId
execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
@@ -239,7 +242,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
* @param responseCodeVar the execution variable in which the response code is stored
* @param errorResponseVar the execution variable in which the error response is stored
*/
- public void validateWorkflowResponse(Execution execution, String responseVar,
+ public void validateWorkflowResponse(DelegateExecution execution, String responseVar,
String responseCodeVar, String errorResponseVar) {
SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils(this)
sdncAdapterUtils.validateSDNCResponse(execution, responseVar, responseCodeVar, errorResponseVar)
@@ -250,7 +253,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
* Sends the empty, synchronous response back to the API Handler.
* @param execution the execution
*/
- public void sendResponse(Execution execution) {
+ public void sendResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendResponse(' +
'execution=' + execution.getId() +
')'
@@ -283,7 +286,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution the execution
*/
- public void postProcessResponse(Execution execution){
+ public void postProcessResponse(DelegateExecution execution){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " ======== STARTED PostProcessResponse Process ======== ", isDebugEnabled)
@@ -329,7 +332,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
* @param execution the execution
* @return the validated request
*/
- public String validateInfraRequest(Execution execution) {
+ public String validateInfraRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.validateInfraRequest(' +
'execution=' + execution.getId() +
')'
@@ -392,7 +395,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
}
}
- public void prepareUpdateInfraRequest(Execution execution){
+ public void prepareUpdateInfraRequest(DelegateExecution execution){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " ======== STARTED prepareUpdateInfraRequest Process ======== ", isDebugEnabled)
@@ -449,7 +452,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
* @param execution the execution
* @param resultVar the execution variable in which the result will be stored
*/
- public void falloutHandlerPrep(Execution execution, String resultVar) {
+ public void falloutHandlerPrep(DelegateExecution execution, String resultVar) {
def method = getClass().getSimpleName() + '.falloutHandlerPrep(' +
'execution=' + execution.getId() +
', resultVar=' + resultVar +
@@ -496,7 +499,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
}
}
- public void logAndSaveOriginalException(Execution execution) {
+ public void logAndSaveOriginalException(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.validateRollbackResponse(' +
'execution=' + execution.getId() +
')'
@@ -507,7 +510,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
saveWorkflowException(execution, 'CVFMI_originalWorkflowException')
}
- public void validateRollbackResponse(Execution execution) {
+ public void validateRollbackResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.validateRollbackResponse(' +
'execution=' + execution.getId() +
')'
@@ -521,7 +524,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
}
- public void sendErrorResponse(Execution execution){
+ public void sendErrorResponse(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " *** STARTED CreateVfModulenfra sendErrorResponse Process *** ", isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy
index a881ed228b..49d67cb097 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy
@@ -32,7 +32,7 @@ import groovy.json.JsonOutput
import groovy.json.JsonSlurper
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.apache.commons.lang3.*
class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
@@ -43,7 +43,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* Perform initial processing, such as request validation, initialization of variables, etc.
* * @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
setBasicDBAuthHeader(execution, isDebugEnabled)
preProcessRequest(execution, isDebugEnabled)
@@ -55,7 +55,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugEnabled
*/
- public void preProcessRequest (Execution execution, isDebugEnabled) {
+ public void preProcessRequest (DelegateExecution execution, isDebugEnabled) {
execution.setVariable("prefix",prefix)
setSuccessIndicator(execution, false)
@@ -87,7 +87,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* @param serviceInstanceId
* @param isDebugLogEnabled
*/
- public void setupVariables(Execution execution, Map requestMap, isDebugLogEnabled) {
+ public void setupVariables(DelegateExecution execution, Map requestMap, isDebugLogEnabled) {
def jsonOutput = new JsonOutput()
@@ -142,7 +142,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
Map<String, String> vfModuleInputMap = [:]
userParams.each { userParam ->
- vfModuleInputMap.put(userParam.name, userParam.value)
+ vfModuleInputMap.put(userParam.name, userParam.value.toString())
}
execution.setVariable('vfModuleInputParams', vfModuleInputMap)
@@ -155,7 +155,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
- public void sendSyncResponse (Execution execution, isDebugEnabled) {
+ public void sendSyncResponse (DelegateExecution execution, isDebugEnabled) {
def volumeGroupId = execution.getVariable('volumeGroupId')
def requestId = execution.getVariable("mso-request-id")
def serviceInstanceId = execution.getVariable("serviceInstanceId")
@@ -169,7 +169,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
}
- public void sendSyncError (Execution execution, isDebugEnabled) {
+ public void sendSyncError (DelegateExecution execution, isDebugEnabled) {
WorkflowException we = execution.getVariable('WorkflowException')
def errorCode = we?.getErrorCode()
def errorMessage = we?.getErrorMessage()
@@ -183,7 +183,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugEnabled
*/
- public void buildWorkflowException(Execution execution, int errorCode, errorMessage, isDebugEnabled) {
+ public void buildWorkflowException(DelegateExecution execution, int errorCode, errorMessage, isDebugEnabled) {
utils.log("DEBUG", errorMessage, isDebugEnabled)
(new ExceptionUtil()).buildWorkflowException(execution, 2500, errorMessage)
}
@@ -194,7 +194,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugEnabled
*/
- public void prepareDbInfraSuccessRequest(Execution execution, isDebugEnabled) {
+ public void prepareDbInfraSuccessRequest(DelegateExecution execution, isDebugEnabled) {
def dbVnfOutputs = execution.getVariable(prefix+'volumeOutputs')
def requestId = execution.getVariable('mso-request-id')
def statusMessage = "VolumeGroup successfully created."
@@ -237,7 +237,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugEnabled
*/
- public void postProcessResponse (Execution execution, isDebugEnabled) {
+ public void postProcessResponse (DelegateExecution execution, isDebugEnabled) {
def dbReturnCode = execution.getVariable(prefix+'dbReturnCode')
def createDBResponse = execution.getVariable(prefix+'createDBResponse')
@@ -270,7 +270,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
}
- public void prepareFalloutHandlerRequest(Execution execution, isDebugEnabled) {
+ public void prepareFalloutHandlerRequest(DelegateExecution execution, isDebugEnabled) {
WorkflowException we = execution.getVariable('WorkflowException')
def errorCode = we?.getErrorCode()
@@ -309,7 +309,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAIServiceInstance(Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAIServiceInstance(DelegateExecution execution, isDebugEnabled) {
def request = execution.getVariable(prefix+"Request")
def serviceInstanceId = utils.getNodeText1(request, "service-instance-id")
@@ -348,12 +348,12 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
}
}
- public void logAndSaveOriginalException(Execution execution, isDebugLogEnabled) {
+ public void logAndSaveOriginalException(DelegateExecution execution, isDebugLogEnabled) {
logWorkflowException(execution, 'CreateVfModuleVolumeInfraV1 caught an event')
saveWorkflowException(execution, 'CVMVINFRAV1_originalWorkflowException')
}
- public void validateRollbackResponse(Execution execution, isDebugLogEnabled) {
+ public void validateRollbackResponse(DelegateExecution execution, isDebugLogEnabled) {
def originalException = execution.getVariable("CVMVINFRAV1_originalWorkflowException")
execution.setVariable("WorkflowException", originalException)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVnfInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVnfInfra.groovy
index 1c98b87027..24487d5013 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVnfInfra.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVnfInfra.groovy
@@ -23,7 +23,7 @@ package org.openecomp.mso.bpmn.infrastructure.scripts
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
import static org.apache.commons.lang3.StringUtils.*;
import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils;
@@ -38,6 +38,7 @@ import org.openecomp.mso.bpmn.common.scripts.VidUtils;
import org.openecomp.mso.bpmn.core.WorkflowException
import org.openecomp.mso.bpmn.core.domain.VnfResource
import org.openecomp.mso.bpmn.core.json.JsonUtils;
+import org.openecomp.mso.bpmn.infrastructure.aai.AAICreateResources;
/**
@@ -52,6 +53,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
JsonUtils jsonUtil = new JsonUtils()
VidUtils vidUtils = new VidUtils(this)
CatalogDbUtils cutils = new CatalogDbUtils()
+ AAICreateResources aaiCR = new AAICreateResources()
/**
* This method gets and validates the incoming
@@ -60,7 +62,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
* @param - execution
*
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED CreateVnfInfra PreProcessRequest Process*** ", isDebugEnabled)
@@ -191,7 +193,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "*** COMPLETED CreateVnfInfra PreProcessRequest Process ***", isDebugEnabled)
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -218,7 +220,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
}
- public void preProcessSDNCAssignRequest(Execution execution){
+ public void preProcessSDNCAssignRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled)
@@ -244,7 +246,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCActivateRequest(Execution execution) {
+ public void preProcessSDNCActivateRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCActivateRequest(' +
'execution=' + execution.getId() +
')'
@@ -269,7 +271,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED preProcessSDNCActivateRequest Process ======== ", isDebugLogEnabled)
}
- public String buildSDNCRequest(Execution execution, String svcInstId, String action){
+ public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){
String uuid = execution.getVariable('testReqId') // for junits
if(uuid==null){
@@ -332,7 +334,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
return sdncRequest
}
- public void validateSDNCResponse(Execution execution, String response, String method){
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -358,7 +360,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
logDebug(" *** COMPLETED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
}
- public void prepareCompletionHandlerRequest(Execution execution){
+ public void prepareCompletionHandlerRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -391,7 +393,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "*** COMPLETED CreateVnfInfra PrepareCompletionHandlerRequest Process ***", isDebugEnabled)
}
- public void sendErrorResponse(Execution execution){
+ public void sendErrorResponse(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -416,7 +418,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "*** COMPLETED CreateVnfInfra sendErrorResponse Process ***", isDebugEnabled)
}
- public void prepareFalloutRequest(Execution execution){
+ public void prepareFalloutRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -442,7 +444,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
}
- public void queryCatalogDB (Execution execution) {
+ public void queryCatalogDB (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -455,8 +457,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
JSONArray vnfs = cutils.getAllVnfsByVnfModelCustomizationUuid(execution,
vnfModelCustomizationUuid, "v2")
- utils.log("DEBUG", "obtained VNF list: " + vnfs, isDebugEnabled)
- execution.setVariable("CREVI_vnfs", vnfs)
+ utils.log("DEBUG", "obtained VNF list: " + vnfs, isDebugEnabled)
if (vnfs == null) {
utils.log("ERROR", "No matching VNFs in Catalog DB for vnfModelCustomizationUuid=" + vnfModelCustomizationUuid, isDebugEnabled)
@@ -493,4 +494,58 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "*** COMPLETED CreateVnfInfra QueryCatalogDb Process ***", isDebugEnabled)
}
+ public void createPlatform (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG"," ***** START createPlatform *****", isDebugEnabled)
+
+ String request = execution.getVariable("bpmnRequest")
+ String platformName = jsonUtil.getJsonValue(request, "requestDetails.platform.platformName")
+ String vnfId = execution.getVariable("CREVI_vnfId")
+
+ utils.log("DEBUG","Platform NAME: " + platformName, isDebugEnabled)
+ utils.log("DEBUG","VnfID: " + vnfId, isDebugEnabled)
+
+ if(platformName == null||platformName.equals("")){
+ String msg = "Exception in createPlatform. platformName was not found in the request.";
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }else{
+ utils.log("DEBUG", "platformName was found.", isDebugEnabled)
+ try{
+ AAICreateResources aaiCR = new AAICreateResources()
+ aaiCR.createAAIPlatform(platformName, vnfId)
+ }catch(Exception ex){
+ String msg = "Exception in createPlatform. " + ex.getMessage();
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ }
+ utils.log("DEBUG"," *** Exit createPlatform *** ", isDebugEnabled)
+ }
+ public void createLineOfBusiness (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG"," ***** START createLineOfBusiness *****", isDebugEnabled)
+
+ String request = execution.getVariable("bpmnRequest")
+ String lineOfBusiness = jsonUtil.getJsonValue(request, "requestDetails.lineOfBusiness.lineOfBusinessName")
+ String vnfId = execution.getVariable("CREVI_vnfId")
+
+ utils.log("DEBUG","LineOfBusiness NAME: " + lineOfBusiness, isDebugEnabled)
+ utils.log("DEBUG","VnfID: " + vnfId, isDebugEnabled)
+
+ if(lineOfBusiness == null || lineOfBusiness.equals("")){
+ utils.log("DEBUG", "LineOfBusiness was not found. Continuing on with flow...", isDebugEnabled)
+ }else{
+ utils.log("DEBUG", "LineOfBusiness was found.", isDebugEnabled)
+ try{
+ AAICreateResources aaiCR = new AAICreateResources()
+ aaiCR.createAAILineOfBusiness(lineOfBusiness, vnfId)
+ }catch(Exception ex){
+ String msg = "Exception in LineOfBusiness. " + ex.getMessage();
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ }
+ utils.log("DEBUG"," *** Exit createLineOfBusiness *** ", isDebugEnabled)
+ }
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy
index 49e4cc9257..d4b853179c 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy
@@ -35,7 +35,7 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -59,7 +59,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
JsonUtils jsonUtil = new JsonUtils()
VidUtils vidUtils = new VidUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String msg = ""
@@ -81,17 +81,36 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
msg = "Input serviceInstanceId' is null"
exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
}
-
- String serviceType = execution.getVariable("serviceType")
- if (isBlank(serviceType)) {
- msg = "Input serviceType' is null"
+
+ //String xmlRequestDetails = vidUtils.getJsonRequestDetailstoXml(siRequest)
+ //execution.setVariable("requestDetails", xmlRequestDetails)
+
+ //modelInfo
+ String serviceModelInfo = jsonUtil.getJsonValue(siRequest, "requestDetails.modelInfo")
+ if (isBlank(serviceModelInfo)) {
+ msg = "Input serviceModelInfo is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ } else
+ {
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+ //utils.log("DEBUG", "modelInfo" + serviceModelInfo, isDebugEnabled)
+ }
+
+ //requestInfo
+ String productFamilyId = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.productFamilyId")
+ if (isBlank(productFamilyId))
+ {
+ msg = "Input productFamilyId is null"
utils.log("INFO", msg, isDebugEnabled)
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
} else {
- execution.setVariable("serviceType", serviceType)
+ execution.setVariable("productFamilyId", productFamilyId)
}
+ String source = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.source")
+ execution.setVariable("source", source)
//subscriberInfo
- String globalSubscriberId = jsonUtil.getJsonValue(siRequest, "globalSubscriberId")
+ String globalSubscriberId = jsonUtil.getJsonValue(siRequest, "requestDetails.subscriberInfo.globalSubscriberId")
if (isBlank(globalSubscriberId)) {
msg = "Input globalSubscriberId' is null"
utils.log("INFO", msg, isDebugEnabled)
@@ -99,16 +118,38 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
execution.setVariable("globalSubscriberId", globalSubscriberId)
}
- //operationId
- String operationId = jsonUtil.getJsonValue(siRequest, "operationId")
- if (isBlank(operationId)) {
- operationId = UUID.randomUUID().toString()
- }
- execution.setVariable("operationId", operationId)
- execution.setVariable("operationType", "DELETE")
+ //requestParameters
+ String subscriptionServiceType = jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.subscriptionServiceType")
+ if (isBlank(subscriptionServiceType)) {
+ msg = "Input subscriptionServiceType is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("subscriptionServiceType", subscriptionServiceType)
+ }
- execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
+ /*
+ * Extracting User Parameters from incoming Request and converting into a Map
+ */
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+
+ Map reqMap = jsonSlurper.parseText(siRequest)
+
+ //InputParams
+ def userParams = reqMap.requestDetails?.requestParameters?.userParams
+
+ Map<String, String> inputMap = [:]
+ if (userParams) {
+ userParams.each {
+ userParam -> inputMap.put(userParam.name, userParam.value.toString())
+ }
+ }
+ execution.setVariable("operationType", "DELETE")
+ utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled)
+ execution.setVariable("serviceInputParams", inputMap)
+
} catch (BpmnError e) {
throw e;
} catch (Exception ex){
@@ -119,15 +160,16 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** sendSyncResponse *** ", isDebugEnabled)
try {
- String operationId = execution.getVariable("operationId")
-
- // RESTResponse (for API Handler (APIH) Reply Task) : :
- String syncResponse = """{"operationId":"${operationId}"}""".trim()
+ String requestId = execution.getVariable("msoRequestId")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+
+ // RESTResponse (for API Handler (APIH) Reply Task)
+ String syncResponse = """{"requestReferences":{"instanceId":"${serviceInstanceId}","requestId":"${requestId}"}}""".trim()
utils.log("INFO", " sendSynchResponse: xmlSyncResponse - " + "\n" + syncResponse, isDebugEnabled)
sendWorkflowResponse(execution, 202, syncResponse)
@@ -138,7 +180,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
utils.log("INFO"," ***** Exit sendSyncResopnse *****", isDebugEnabled)
}
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** sendSyncError *** ", isDebugEnabled)
@@ -166,7 +208,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
}
- public void prepareCompletionRequest (Execution execution) {
+ public void prepareCompletionRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** prepareCompletion *** ", isDebugEnabled)
@@ -199,7 +241,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
utils.log("INFO", "*** Exit prepareCompletionRequest ***", isDebugEnabled)
}
- public void prepareFalloutRequest(Execution execution){
+ public void prepareFalloutRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** prepareFalloutRequest *** ", isDebugEnabled)
@@ -245,7 +287,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
// *******************************
// Build DB request Section
// *******************************
- public void prepareDBRequest (Execution execution) {
+ public void prepareDBRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -287,7 +329,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
// *******************************
// Build Error Section
// *******************************
- public void prepareDBRequestError (Execution execution) {
+ public void prepareDBRequestError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -332,7 +374,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor
}
- public void processJavaException(Execution execution) {
+ public void processJavaException(DelegateExecution execution) {
//TODO:
}
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy
index abf949e8e8..c731a613cc 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy
@@ -34,7 +34,7 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -58,7 +58,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
JsonUtils jsonUtil = new JsonUtils()
VidUtils vidUtils = new VidUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String msg = ""
@@ -141,7 +141,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
Map<String, String> inputMap = [:]
if (userParams) {
userParams.each {
- userParam -> inputMap.put(userParam.name, userParam.value)
+ userParam -> inputMap.put(userParam.name, userParam.value.toString())
}
}
@@ -158,7 +158,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled)
@@ -178,7 +178,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
utils.log("DEBUG"," ***** Exit sendSyncResopnse *****", isDebugEnabled)
}
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " *** sendSyncError *** ", isDebugEnabled)
@@ -206,7 +206,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
}
- public void prepareCompletionRequest (Execution execution) {
+ public void prepareCompletionRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " *** prepareCompletion *** ", isDebugEnabled)
@@ -239,7 +239,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
utils.log("DEBUG", "*** Exit prepareCompletionRequest ***", isDebugEnabled)
}
- public void prepareFalloutRequest(Execution execution){
+ public void prepareFalloutRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " *** prepareFalloutRequest *** ", isDebugEnabled)
@@ -285,7 +285,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
// *******************************
// Build DB request Section
// *******************************
- public void prepareDBRequest (Execution execution) {
+ public void prepareDBRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -327,7 +327,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
// *******************************
// Build Error Section
// *******************************
- public void prepareDBRequestError (Execution execution) {
+ public void prepareDBRequestError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstance.groovy
index dab189241c..a9aef7f3ee 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstance.groovy
@@ -29,7 +29,7 @@ import org.openecomp.mso.bpmn.core.json.JsonUtils;
import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -45,7 +45,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
NetworkUtils networkUtils = new NetworkUtils()
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
execution.setVariable(Prefix + "Success", false)
@@ -59,7 +59,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
// Pre or Prepare Request Section
// **************************************************
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -145,7 +145,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void getNetworkModelInfo (Execution execution) {
+ public void getNetworkModelInfo (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -169,7 +169,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -196,7 +196,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareCompletion (Execution execution) {
+ public void prepareCompletion (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -236,7 +236,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareDBRequestError (Execution execution) {
+ public void prepareDBRequestError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -284,7 +284,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
// Post or Validate Response Section
// **************************************************
- public void postProcessResponse (Execution execution) {
+ public void postProcessResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -318,7 +318,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
// *******************************
// Prepare for FalloutHandler
- public void buildErrorResponse (Execution execution) {
+ public void buildErrorResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -380,7 +380,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -400,7 +400,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
}
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleInfra.groovy
index c4c151f01f..0aef81770f 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleInfra.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleInfra.groovy
@@ -27,7 +27,7 @@ import groovy.xml.QName
import java.io.Serializable;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import groovy.json.JsonSlurper
@@ -49,7 +49,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'DELVfModI_')
execution.setVariable('DELVfModI_requestInfo', null)
execution.setVariable('DELVfModI_requestId', null)
@@ -70,7 +70,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -103,7 +103,10 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor {
execution.setVariable("vfModuleModelInfo", vfModuleModelInfo)
utils.log("DEBUG", "VfModuleModelInfo is: " + vfModuleModelInfo, isDebugLogEnabled)
-
+
+ // This is aLaCarte flow, so aLaCarte flag is always on
+ execution.setVariable('aLaCarte', true)
+
def vidUtils = new VidUtils(this)
String requestInXmlFormat = vidUtils.createXmlVfModuleRequest(execution, reqMap, 'DELETE_VF_MODULE', serviceInstanceId)
@@ -165,7 +168,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendResponse(' +
'execution=' + execution.getId() +
')'
@@ -208,7 +211,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void prepDoDeleteVfModule(Execution execution) {
+ public void prepDoDeleteVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDoDeleteVfModule(' +
'execution=' + execution.getId() +
')'
@@ -231,7 +234,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void prepUpdateInfraRequest(Execution execution) {
+ public void prepUpdateInfraRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateInfraRequest(' +
'execution=' + execution.getId() +
')'
@@ -280,7 +283,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor {
* @param execution the execution
* @param resultVar the execution variable in which the result will be stored
*/
- public void completionHandlerPrep(Execution execution, String resultVar) {
+ public void completionHandlerPrep(DelegateExecution execution, String resultVar) {
def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
'execution=' + execution.getId() +
', resultVar=' + resultVar +
@@ -324,7 +327,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor {
* @param execution the execution
* @param resultVar the execution variable in which the result will be stored
*/
- public void falloutHandlerPrep(Execution execution, String resultVar) {
+ public void falloutHandlerPrep(DelegateExecution execution, String resultVar) {
def method = getClass().getSimpleName() + '.falloutHandlerPrep(' +
'execution=' + execution.getId() +
', resultVar=' + resultVar +
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy
index 77a8f8e9c0..5a38d9f011 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy
@@ -26,7 +26,7 @@ import java.util.concurrent.ExecutionException;
import org.springframework.web.util.UriUtils
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.openecomp.mso.bpmn.common.scripts.AaiUtil;
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
@@ -45,7 +45,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>DeleteVfModuleVolume.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
execution.setVariable('prefix', 'DELVfModVol_')
execution.setVariable("DELVfModVol_volumeRequest", null)
execution.setVariable('DELVfModVol_requestInfo', null)
@@ -76,7 +76,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* Perform initial processing, such as request validation, initialization of variables, etc.
* * @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
preProcessRequest(execution, isDebugEnabled)
}
@@ -85,7 +85,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>DeleteVfModuleVolume.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution, isDebugLogEnabled) {
+ public void preProcessRequest (DelegateExecution execution, isDebugLogEnabled) {
InitializeProcessVariables(execution)
@@ -137,7 +137,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
logDebug('Request: ' + createVolumeIncoming, isDebugLogEnabled)
}
- public void sendSyncResponse (Execution execution, isDebugEnabled) {
+ public void sendSyncResponse (DelegateExecution execution, isDebugEnabled) {
String volumeRequest = execution.getVariable("DELVfModVol_volumeRequest")
utils.log("DEBUG", " DELVfModVol_volumeRequest - " + "\n" + volumeRequest, isDebugEnabled)
@@ -169,7 +169,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
}
- public void sendSyncError (Execution execution, isDebugEnabled) {
+ public void sendSyncError (DelegateExecution execution, isDebugEnabled) {
WorkflowException we = execution.getVariable('WorkflowException')
def errorCode = we?.getErrorCode()
def errorMessage = we?.getErrorMessage()
@@ -178,7 +178,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAICloudRegion (Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAICloudRegion (DelegateExecution execution, isDebugEnabled) {
String cloudRegion = execution.getVariable('DELVfModVol_cloudRegion')
@@ -216,7 +216,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
* Query volume group by id
* @param execution
*/
- public void queryAAIForVolumeGroup(Execution execution, isDebugLogEnabled) {
+ public void queryAAIForVolumeGroup(DelegateExecution execution, isDebugLogEnabled) {
ExceptionUtil exceptionUtil = new ExceptionUtil()
@@ -343,7 +343,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
return false
}
- public void prepareVnfAdapterDeleteRequest(Execution execution, isDebugLogEnabled) {
+ public void prepareVnfAdapterDeleteRequest(DelegateExecution execution, isDebugLogEnabled) {
def cloudRegion = execution.getVariable('DELVfModVol_cloudRegion')
def tenantId = execution.getVariable('DELVfModVol_tenantId')
def volumeGroupId = execution.getVariable('DELVfModVol_volumeGroupId')
@@ -379,7 +379,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
}
- public void deleteVolGrpId(Execution execution, isDebugEnabled) {
+ public void deleteVolGrpId(DelegateExecution execution, isDebugEnabled) {
// get variables
String queryAAIVolGrpIdResponse = execution.getVariable("DELVfModVol_queryAAIVolGrpResponse")
@@ -422,7 +422,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
}
- public void prepareDBRequest (Execution execution, isDebugLogEnabled) {
+ public void prepareDBRequest (DelegateExecution execution, isDebugLogEnabled) {
WorkflowException workflowExceptionObj = execution.getVariable("WorkflowException")
ExceptionUtil exceptionUtil = new ExceptionUtil();
@@ -464,7 +464,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
}
- public void prepareCompletionHandlerRequest (Execution execution, isDebugLogEnabled) {
+ public void prepareCompletionHandlerRequest (DelegateExecution execution, isDebugLogEnabled) {
def requestId = execution.getVariable("mso-request-id")
def source = execution.getVariable("DELVfModVol_source")
@@ -488,7 +488,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
- public void prepareFalloutHandler (Execution execution, isDebugEnabled) {
+ public void prepareFalloutHandler (DelegateExecution execution, isDebugEnabled) {
execution.setVariable("DELVfModVol_Success", false)
String requestId = execution.getVariable("DELVfModVol_requestId")
@@ -529,7 +529,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void handleTenantIdMismatch(Execution execution, isDebugLogEnabled) {
+ public void handleTenantIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
def volumeGroupId = execution.getVariable('DELVfModVol_volumeGroupId')
def aicCloudRegion = execution.getVariable('DELVfModVol_aicCloudRegion')
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVnfInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVnfInfra.groovy
index f1911accd7..c789769131 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVnfInfra.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVnfInfra.groovy
@@ -26,7 +26,7 @@ import javax.xml.parsers.DocumentBuilderFactory
import org.apache.commons.lang3.*
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.w3c.dom.Document
import org.w3c.dom.Element
import org.w3c.dom.Node
@@ -59,7 +59,7 @@ class DeleteVnfInfra extends AbstractServiceTaskProcessor {
*
* @param - execution
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DeleteVnfInfra PreProcessRequest Process*** ", isDebugEnabled)
@@ -129,7 +129,7 @@ class DeleteVnfInfra extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "*** COMPLETED DeleteVnfInfra PreProcessRequest Process ***", isDebugEnabled)
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -154,7 +154,7 @@ class DeleteVnfInfra extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "*** COMPLETED DeleteVnfInfra SendSyncResponse Process ***", isDebugEnabled)
}
- public void prepareCompletionHandlerRequest(Execution execution){
+ public void prepareCompletionHandlerRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -187,7 +187,7 @@ class DeleteVnfInfra extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "*** COMPLETED DeleteVnfInfra PrepareCompletionHandlerRequest Process ***", isDebugEnabled)
}
- public void sendErrorResponse(Execution execution){
+ public void sendErrorResponse(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCompareModelVersions.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCompareModelVersions.groovy
new file mode 100644
index 0000000000..a8af52a8f1
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCompareModelVersions.groovy
@@ -0,0 +1,255 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.mso.bpmn.infrastructure.scripts;
+
+import static org.apache.commons.lang3.StringUtils.*;
+import groovy.xml.XmlUtil
+import groovy.json.*
+
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.ServiceInstance
+import org.openecomp.mso.bpmn.core.domain.ModelInfo
+import org.openecomp.mso.bpmn.core.domain.Resource
+import org.openecomp.mso.bpmn.core.domain.AllottedResource
+import org.openecomp.mso.bpmn.core.domain.NetworkResource
+import org.openecomp.mso.bpmn.core.domain.VnfResource
+import org.openecomp.mso.bpmn.common.recipe.ResourceInput
+import org.openecomp.mso.bpmn.common.recipe.BpmnRestClient
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.common.scripts.AaiUtil
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
+import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils;
+import org.openecomp.mso.bpmn.core.RollbackData
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.rest.APIResponse;
+import org.openecomp.mso.rest.RESTClient
+import org.openecomp.mso.rest.RESTConfig
+
+import java.util.List;
+import java.util.UUID;
+
+import javax.mail.Quota.Resource;
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.runtime.Execution
+import org.json.JSONObject;
+import org.json.JSONArray;
+import org.apache.commons.lang3.*
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.web.util.UriUtils;
+
+/**
+ * This groovy class supports the <class>DoCompareModelVersions.bpmn</class> process.
+ *
+ * Inputs:
+ * @param - model-invariant-id-target
+ * @param - model-version-id-target
+ * @param - model-invariant-id-original
+ * @param - model-version-id-original
+ *
+ * Outputs:
+ * @param - addResourceList
+ * @param - delResourceList
+ *
+ */
+public class DoCompareModelVersions extends AbstractServiceTaskProcessor {
+
+ String Prefix="DCMPMDV_"
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtil = new JsonUtils()
+ CatalogDbUtils cutils = new CatalogDbUtils()
+
+ public void preProcessRequest (Execution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ String msg = ""
+ utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled)
+
+ try {
+ execution.setVariable("prefix", Prefix)
+
+ //Inputs
+ String modelInvariantUuid_target = execution.getVariable("model-invariant-id-target")
+ if (isBlank(modelInvariantUuid_target)) {
+ msg = "Input model-invariant-id-target is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ String modelUuid_target = execution.getVariable("model-version-id-target")
+ if (isBlank(modelUuid_target)) {
+ msg = "Input model-version-id-target is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ String modelInvariantUuid_original = execution.getVariable("model-invariant-id-original")
+ if (isBlank(modelInvariantUuid_original)) {
+ msg = "Input model-invariant-id-original is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ String modelUuid_original = execution.getVariable("model-version-id-original")
+ if (isBlank(modelUuid_original)) {
+ msg = "Input model-version-id-original is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ // Target and original modelInvariantUuid must to be the same
+ if(modelInvariantUuid_target != modelInvariantUuid_original){
+ msg = "Input model-invariant-id-target and model-invariant-id-original must to be the same"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ // Target and original modelUuid must not to be the same
+ if(modelUuid_target == modelUuid_original){
+ msg = "Input model-version-id-target and model-version-id-original must not to be the same"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ } catch (Exception ex){
+ msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled)
+ }
+
+ public void prepareDecomposeService_Target(Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareDecomposeService_Target of update generic e2e service ***** ", isDebugEnabled)
+ String modelInvariantUuid = execution.getVariable("model-invariant-id-target")
+ String modelUuid = execution.getVariable("model-version-id-target")
+ //here modelVersion is not set, we use modelUuid to decompose the service.
+ String serviceModelInfo = """{
+ "modelInvariantUuid":"${modelInvariantUuid}",
+ "modelUuid":"${modelUuid}",
+ "modelVersion":""
+ }"""
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+ execution.setVariable("serviceModelInfo_Target", serviceModelInfo)
+
+ utils.log("DEBUG", " ***** Completed prepareDecomposeService_Target of update generic e2e service ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in update generic e2e service flow. Unexpected Error from method prepareDecomposeService_Target() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void processDecomposition_Target(Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ utils.log("DEBUG", " ***** Inside processDecomposition_Target() of update generic e2e service flow ***** ", isDebugEnabled)
+ try {
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ execution.setVariable("serviceDecomposition_Target", serviceDecomposition)
+ } catch (Exception ex) {
+ String exceptionMessage = "Bpmn error encountered in update generic e2e service flow. Unexpected Error from method processDecomposition_Target() - " + ex.getMessage()
+ utils.log("DEBUG", exceptionMessage, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void prepareDecomposeService_Original(Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareDecomposeService_Original of update generic e2e service ***** ", isDebugEnabled)
+ String modelInvariantUuid = execution.getVariable("model-invariant-id-original")
+ String modelUuid = execution.getVariable("model-version-id-original")
+ //here modelVersion is not set, we use modelUuid to decompose the service.
+ String serviceModelInfo = """{
+ "modelInvariantUuid":"${modelInvariantUuid}",
+ "modelUuid":"${modelUuid}",
+ "modelVersion":""
+ }"""
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+ execution.setVariable("serviceModelInfo_Original", serviceModelInfo)
+
+ utils.log("DEBUG", " ***** Completed prepareDecomposeService_Original of update generic e2e service ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in update generic e2e service flow. Unexpected Error from method prepareDecomposeService_Original() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void processDecomposition_Original(Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ utils.log("DEBUG", " ***** Inside processDecomposition_Original() of update generic e2e service flow ***** ", isDebugEnabled)
+ try {
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ execution.setVariable("serviceDecomposition_Original", serviceDecomposition)
+ } catch (Exception ex) {
+ String exceptionMessage = "Bpmn error encountered in update generic e2e service flow. processDecomposition_Original() - " + ex.getMessage()
+ utils.log("DEBUG", exceptionMessage, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void doCompareModelVersions(execution){
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO", "======== Start doCompareModelVersions Process ======== ", isDebugEnabled)
+
+ ServiceDecomposition serviceDecomposition_Target = execution.getVariable("serviceDecomposition_Target")
+ ServiceDecomposition serviceDecomposition_Original = execution.getVariable("serviceDecomposition_Original")
+
+ List<Resource> allSR_target = serviceDecomposition_Target.getServiceResources();
+ List<Resource> allSR_original = serviceDecomposition_Original.getServiceResources();
+
+ List<Resource> addedResource = new ArrayList<String>()
+ List<Resource> delResource = new ArrayList<String>()
+
+ addResourceList.addAll(allSR_target)
+ delResourceList.addAll(allSR_original)
+
+ //Compare
+ for (Resource rc_t : allSR_target){
+ String muuid = rc_t.getModelInfo().getModelUuid()
+ String mIuuid = rc_t.getModelInfo().getModelInvariantUuid()
+ String mCuuid = rc_t.getModelInfo().getModelCustomizationUuid()
+ for (Resource rc_o : allSR_original){
+ if(rc_o.getModelInfo().getModelUuid() == muuid
+ && rc_o.getModelInfo().getModelInvariantUuid() == mIuuid
+ && rc_o.getModelInfo().getModelCustomizationUuid() == mCuuid) {
+ addResourceList.remove(rc_t);
+ delResourceList.remove(rc_o);
+ }
+ }
+ }
+
+ execution.setVariable("addResourceList", addResourceList)
+ execution.setVariable("delResourceList", delResourceList)
+ utils.log("INFO", "addResourceList: " + addResourceList, isDebugEnabled)
+ utils.log("INFO", "delResourceList: " + delResourceList, isDebugEnabled)
+
+ utils.log("INFO", "======== COMPLETED doCompareModelVersions Process ======== ", isDebugEnabled)
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy
index f8706cc2f0..7a7f7cf131 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy
@@ -52,7 +52,7 @@ import java.util.UUID;
import javax.mail.Quota.Resource;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.json.JSONArray;
import org.apache.commons.lang3.*
@@ -91,7 +91,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
JsonUtils jsonUtil = new JsonUtils()
CatalogDbUtils cutils = new CatalogDbUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
String msg = ""
utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled)
@@ -186,7 +186,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void prepareDecomposeService(Execution execution) {
+ public void prepareDecomposeService(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
try {
@@ -209,7 +209,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
}
}
- public void processDecomposition (Execution execution) {
+ public void processDecomposition(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG", " ***** Inside processDecomposition() of create generic e2e service flow ***** ", isDebugEnabled)
@@ -222,11 +222,11 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
}
}
- public void doServiceHoming(Execution execution) {
+ public void doServiceHoming(DelegateExecution execution) {
//Now Homing is not clear. So to be implemented.
}
- public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled)
String msg = ""
@@ -268,7 +268,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled)
}
- public void postProcessAAIPUT(Execution execution) {
+ public void postProcessAAIPUT(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessAAIPUT ***** ", isDebugEnabled)
String msg = ""
@@ -306,7 +306,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
utils.log("INFO"," *** Exit postProcessAAIPUT *** ", isDebugEnabled)
}
- public void postProcessAAIGET2(Execution execution) {
+ public void postProcessAAIGET2(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessAAIGET2 ***** ", isDebugEnabled)
String msg = ""
@@ -349,7 +349,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
utils.log("INFO"," *** Exit postProcessAAIGET2 *** ", isDebugEnabled)
}
- public void preProcessRollback (Execution execution) {
+ public void preProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** preProcessRollback ***** ", isDebugEnabled)
try {
@@ -370,7 +370,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
utils.log("INFO"," *** Exit preProcessRollback *** ", isDebugEnabled)
}
- public void postProcessRollback (Execution execution) {
+ public void postProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessRollback ***** ", isDebugEnabled)
String msg = ""
@@ -391,7 +391,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
utils.log("INFO"," *** Exit postProcessRollback *** ", isDebugEnabled)
}
- public void preInitResourcesOperStatus(Execution execution){
+ public void preInitResourcesOperStatus(DelegateExecution execution){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceRollback.groovy
index 743eb1a46e..84dd0e4d73 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceRollback.groovy
@@ -37,7 +37,7 @@ import org.openecomp.mso.rest.RESTConfig
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -66,7 +66,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce
String Prefix="DCRESIRB_"
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String msg = ""
@@ -136,7 +136,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce
utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void validateSDNCResponse(Execution execution, String response, String method) {
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** validateSDNCResponse ***** ", isDebugEnabled)
String msg = ""
@@ -169,7 +169,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce
utils.log("DEBUG"," ***** Exit validateSDNCResponse ***** ", isDebugEnabled)
}
- public void postProcessRequest(Execution execution) {
+ public void postProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled)
String msg = ""
@@ -203,7 +203,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce
}
- public void processRollbackException(Execution execution){
+ public void processRollbackException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled)
try{
@@ -221,7 +221,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce
utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled)
}
- public void processRollbackJavaException(Execution execution){
+ public void processRollbackJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceV2.groovy
index ea29de94d7..2d96ac771a 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceV2.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceV2.groovy
@@ -21,33 +21,22 @@
package org.openecomp.mso.bpmn.infrastructure.scripts;
import static org.apache.commons.lang3.StringUtils.*;
-import groovy.xml.XmlUtil
-import groovy.json.*
-import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
-import org.openecomp.mso.bpmn.core.domain.ServiceInstance
-import org.openecomp.mso.bpmn.core.domain.ModelInfo
-import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.apache.commons.lang3.*
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.json.JSONArray;
+import org.json.JSONObject;
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
-import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
import org.openecomp.mso.bpmn.core.RollbackData
import org.openecomp.mso.bpmn.core.WorkflowException
-import org.openecomp.mso.rest.APIResponse;
-import org.openecomp.mso.rest.RESTClient
-import org.openecomp.mso.rest.RESTConfig
-
-import java.util.UUID;
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
-import org.json.JSONObject;
-import org.json.JSONArray;
-import org.apache.commons.lang3.*
-import org.apache.commons.codec.binary.Base64;
+import org.openecomp.mso.bpmn.core.json.JsonUtils
import org.springframework.web.util.UriUtils;
+import groovy.json.*
+
/**
* This groovy class supports the <class>DoCreateServiceInstance.bpmn</class> process.
*
@@ -81,7 +70,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
//only for dug
execution.setVariable("isDebugLogEnabled","true")
execution.setVariable("unit_test", "true")
@@ -217,7 +206,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIGET(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -261,7 +250,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessAAIPUT(Execution execution) {
+ public void postProcessAAIPUT(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIPUT(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -301,7 +290,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessAAIGET2(Execution execution) {
+ public void postProcessAAIGET2(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIGET2(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -346,7 +335,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void preProcessRollback (Execution execution) {
+ public void preProcessRollback (DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRollback(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -369,7 +358,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessRollback (Execution execution) {
+ public void postProcessRollback (DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessRollback(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -395,7 +384,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
/**
* Init the service Operation Status
*/
- public void preUpdateServiceOperationStatus(Execution execution){
+ public void preUpdateServiceOperationStatus(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preUpdateServiceOperationStatus(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -460,7 +449,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
}
- public void preInitResourcesOperStatus(Execution execution){
+ public void preInitResourcesOperStatus(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preInitResourcesOperStatus(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -576,7 +565,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
/***********************************************************************************************/
- private void loadResourcesProperties(Execution execution) {
+ private void loadResourcesProperties(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.loadResourcesProperties(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -610,7 +599,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
}
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- private sortCreateResource(Execution execution) {
+ private sortCreateResource(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sortCreateResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -714,7 +703,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
/**
* get service resources
*/
- public void getServiceResources(Execution execution){
+ public void getServiceResources(DelegateExecution execution){
def method = getClass().getSimpleName() + '.getServiceResources(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -758,7 +747,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
/**
* prepare Decompose next resource to create request
*/
- public void preProcessDecomposeNextResource(Execution execution){
+ public void preProcessDecomposeNextResource(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preProcessDecomposeNextResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -808,7 +797,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
/**
* post Decompose next resource to create request
*/
- public void postProcessDecomposeNextResource(Execution execution){
+ public void postProcessDecomposeNextResource(DelegateExecution execution){
def method = getClass().getSimpleName() + '.postProcessDecomposeNextResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -849,7 +838,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
/**
* prepare check Resource Type
*/
- public void checkResourceType(Execution execution){
+ public void checkResourceType(DelegateExecution execution){
def method = getClass().getSimpleName() + '.checkResourceType(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -966,7 +955,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor {
/**
* prepare post Unkown Resource Type
*/
- public void postOtherControllerType(Execution execution){
+ public void postOtherControllerType(DelegateExecution execution){
def method = getClass().getSimpleName() + '.postOtherControllerType(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy
index e2bd1ddf04..7d21a06971 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy
@@ -38,7 +38,7 @@ import java.util.Map;
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -61,7 +61,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>DoCreateNetworkInstance.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "networkRequest", "")
@@ -174,7 +174,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>DoCreateNetworkInstance.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -312,7 +312,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAINetworkName (Execution execution) {
+ public void callRESTQueryAAINetworkName (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -388,7 +388,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAICloudRegion (Execution execution) {
+ public void callRESTQueryAAICloudRegion (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -438,7 +438,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAINetworkId(Execution execution) {
+ public void callRESTQueryAAINetworkId(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -481,7 +481,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
String aai_endpoint = execution.getVariable("URN_aai_endpoint")
AaiUtil aaiUriUtil = new AaiUtil(this)
String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
- String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1"
+ String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
utils.logAudit(queryIdAAIRequest)
execution.setVariable(Prefix + "queryIdAAIRequest", queryIdAAIRequest)
utils.log("DEBUG", Prefix + "queryIdAAIRequest - " + "\n" + queryIdAAIRequest, isDebugEnabled)
@@ -538,7 +538,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTReQueryAAINetworkId(Execution execution) {
+ public void callRESTReQueryAAINetworkId(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -554,7 +554,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
String aai_endpoint = execution.getVariable("URN_aai_endpoint")
AaiUtil aaiUriUtil = new AaiUtil(this)
String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
- String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1"
+ String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
utils.logAudit(requeryIdAAIRequest)
execution.setVariable(Prefix + "requeryIdAAIRequest", requeryIdAAIRequest)
utils.log("DEBUG", Prefix + "requeryIdAAIRequest - " + "\n" + requeryIdAAIRequest, isDebugEnabled)
@@ -614,7 +614,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAINetworkVpnBinding(Execution execution) {
+ public void callRESTQueryAAINetworkVpnBinding(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -686,9 +686,19 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG", " AAI Query Vpn Binding Success REST Response, , vpnBinding #" + counting + " : " + "\n" + aaiResponseAsString, isDebugEnabled)
String routeTarget = ""
- if (utils.nodeExists(aaiResponseAsString, "global-route-target")) {
- routeTarget = utils.getNodeText1(aaiResponseAsString, "global-route-target")
- routeTargets += "<routeTargets>" + routeTarget + "</routeTargets>" + '\n'
+ String routeRole = ""
+ if (utils.nodeExists(aaiResponseAsString, "route-targets")) {
+ String aaiRouteTargets = utils.getNodeXml(aaiResponseAsString, "route-targets", false)
+ def aaiRouteTargetsXml = new XmlSlurper().parseText(aaiRouteTargets)
+ def aaiRouteTarget = aaiRouteTargetsXml.'**'.findAll {it.name() == "route-target"}
+ for (j in 0..aaiRouteTarget.size()-1) {
+ routeTarget = utils.getNodeText1(XmlUtil.serialize(aaiRouteTarget[j]), "global-route-target")
+ routeRole = utils.getNodeText1(XmlUtil.serialize(aaiRouteTarget[j]), "route-target-role")
+ routeTargets += "<routeTargets>" + '\n' +
+ " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' +
+ " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' +
+ "</routeTargets>" + '\n'
+ }
}
} else {
@@ -748,7 +758,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAINetworkPolicy(Execution execution) {
+ public void callRESTQueryAAINetworkPolicy(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -884,7 +894,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAINetworkTableRef(Execution execution) {
+ public void callRESTQueryAAINetworkTableRef(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1021,7 +1031,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTUpdateContrailAAINetwork(Execution execution) {
+ public void callRESTUpdateContrailAAINetwork(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1038,7 +1048,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
String aai_endpoint = execution.getVariable("URN_aai_endpoint")
AaiUtil aaiUriUtil = new AaiUtil(this)
String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
- String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1"
+ String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
utils.logAudit(updateContrailAAIUrlRequest)
execution.setVariable(Prefix + "updateContrailAAIUrlRequest", updateContrailAAIUrlRequest)
@@ -1103,7 +1113,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareCreateNetworkRequest (Execution execution) {
+ public void prepareCreateNetworkRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1146,7 +1156,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareSDNCRequest (Execution execution) {
+ public void prepareSDNCRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1188,7 +1198,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRpcSDNCRequest (Execution execution) {
+ public void prepareRpcSDNCRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1221,7 +1231,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRpcSDNCActivateRequest (Execution execution) {
+ public void prepareRpcSDNCActivateRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1260,7 +1270,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
// Post or Validate Response Section
// **************************************************
- public void validateCreateNetworkResponse (Execution execution) {
+ public void validateCreateNetworkResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1333,7 +1343,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void validateSDNCResponse (Execution execution) {
+ public void validateSDNCResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1361,7 +1371,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void validateRpcSDNCActivateResponse (Execution execution) {
+ public void validateRpcSDNCActivateResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1390,7 +1400,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareSDNCRollbackRequest (Execution execution) {
+ public void prepareSDNCRollbackRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1422,7 +1432,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRpcSDNCRollbackRequest (Execution execution) {
+ public void prepareRpcSDNCRollbackRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1454,7 +1464,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRpcSDNCActivateRollback(Execution execution) {
+ public void prepareRpcSDNCActivateRollback(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1487,7 +1497,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRollbackData(Execution execution) {
+ public void prepareRollbackData(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1529,7 +1539,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void postProcessResponse(Execution execution) {
+ public void postProcessResponse(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1590,7 +1600,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareSuccessRollbackData(Execution execution) {
+ public void prepareSuccessRollbackData(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1639,7 +1649,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void setExceptionFlag(Execution execution){
+ public void setExceptionFlag(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1671,7 +1681,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollback.groovy
index 0bd5893cf5..760389ef43 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollback.groovy
@@ -36,7 +36,7 @@ import org.openecomp.mso.rest.RESTConfig
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -59,7 +59,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso
* This method is executed during the preProcessRequest task of the <class>DoCreateNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "rollbackNetworkRequest", null)
@@ -93,7 +93,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso
* This method is executed during the preProcessRequest task of the <class>DoCreateNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -180,7 +180,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso
}
- public void callPONetworkAdapter (Execution execution) {
+ public void callPONetworkAdapter (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -222,7 +222,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso
}
- public void validateRollbackResponses (Execution execution) {
+ public void validateRollbackResponses (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -365,7 +365,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy
index 91ecabcec3..5789e710e7 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy
@@ -19,28 +19,38 @@
*/
package org.openecomp.mso.bpmn.infrastructure.scripts;
-import static org.apache.commons.lang3.StringUtils.*;
-import groovy.xml.XmlUtil
-import groovy.json.*
-
-import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
-import org.openecomp.mso.bpmn.core.domain.ServiceInstance
-import org.openecomp.mso.bpmn.core.domain.ModelInfo
-import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
import org.openecomp.mso.bpmn.core.RollbackData
import org.openecomp.mso.bpmn.core.WorkflowException
-import org.openecomp.mso.rest.APIResponse;
+import org.openecomp.mso.bpmn.core.domain.ModelInfo
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.ServiceInstance
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.infrastructure.aai.AAICreateResources
+import org.openecomp.mso.rest.APIResponse
+import org.springframework.web.util.UriUtils
+
+import static org.apache.commons.lang3.StringUtils.*;
+import groovy.xml.XmlUtil
+import groovy.json.*
+
import org.openecomp.mso.rest.RESTClient
import org.openecomp.mso.rest.RESTConfig
+import org.openecomp.mso.client.aai.AAIResourcesClient
+
+import java.util.logging.Logger;
+import java.net.URI;
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -70,14 +80,16 @@ import org.springframework.web.util.UriUtils;
* @param - WorkflowException
* @param - serviceInstanceName - (GET from AAI if null in input)
*
+ * This BB processes Macros(except TRANSPORT all sent to sdnc) and Alacartes(sdncSvcs && nonSdncSvcs)
*/
public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
String Prefix="DCRESI_"
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
+ CatalogDbUtils cutils = new CatalogDbUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
String msg = ""
utils.log("DEBUG"," ***** preProcessRequest *****", isDebugEnabled)
@@ -131,31 +143,19 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
String serviceInstanceId = ""
String serviceType = ""
String serviceRole = ""
-
+
ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition")
if (serviceDecomp != null)
{
- serviceType = serviceDecomp.getServiceType()
- if (serviceType == null)
- {
- utils.log("DEBUG", "null serviceType", isDebugEnabled)
- serviceType = ""
- }
- else
- {
- utils.log("DEBUG", "serviceType:" + serviceType, isDebugEnabled)
- }
- serviceRole = serviceDecomp.getServiceRole()
- if (serviceRole == null)
- {
- serviceRole = ""
- }
+ serviceType = serviceDecomp.getServiceType() ?: ""
+ utils.log("DEBUG", "serviceType:" + serviceType, isDebugEnabled)
+ serviceRole = serviceDecomp.getServiceRole() ?: ""
ServiceInstance serviceInstance = serviceDecomp.getServiceInstance()
if (serviceInstance != null)
{
- serviceInstanceId = serviceInstance.getInstanceId()
- serviceInstanceName = serviceInstance.getInstanceName()
+ serviceInstanceId = serviceInstance.getInstanceId() ?: ""
+ serviceInstanceName = serviceInstance.getInstanceName() ?: ""
execution.setVariable("serviceInstanceId", serviceInstanceId)
execution.setVariable("serviceInstanceName", serviceInstanceName)
}
@@ -163,10 +163,10 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
ModelInfo modelInfo = serviceDecomp.getModelInfo()
if (modelInfo != null)
{
- modelInvariantUuid = modelInfo.getModelInvariantUuid()
- modelVersion = modelInfo.getModelVersion()
- modelUuid = modelInfo.getModelUuid()
- modelName = modelInfo.getModelName()
+ modelInvariantUuid = modelInfo.getModelInvariantUuid() ?: ""
+ modelVersion = modelInfo.getModelVersion() ?: ""
+ modelUuid = modelInfo.getModelUuid() ?: ""
+ modelName = modelInfo.getModelName() ?: ""
}
else
{
@@ -178,52 +178,78 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
else
{
//requestDetails.requestInfo. for AAI GET/PUT serviceInstanceData & SDNC assignToplology
- serviceInstanceName = execution.getVariable("serviceInstanceName")
- serviceInstanceId = execution.getVariable("serviceInstanceId")
+ serviceInstanceName = execution.getVariable("serviceInstanceName") ?: ""
+ serviceInstanceId = execution.getVariable("serviceInstanceId") ?: ""
String serviceModelInfo = execution.getVariable("serviceModelInfo")
if (isBlank(serviceModelInfo)) {
msg = "Input serviceModelInfo is null"
utils.log("DEBUG", msg, isDebugEnabled)
exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
- }
- modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid")
- modelVersion = jsonUtil.getJsonValue(serviceModelInfo, "modelVersion")
- modelUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelUuid")
- modelName = jsonUtil.getJsonValue(serviceModelInfo, "modelName")
+ }
+ modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid") ?: ""
+ modelVersion = jsonUtil.getJsonValue(serviceModelInfo, "modelVersion") ?: ""
+ modelUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelUuid") ?: ""
+ modelName = jsonUtil.getJsonValue(serviceModelInfo, "modelName") ?: ""
//modelCustomizationUuid NA for SI
}
+
execution.setVariable("serviceType", serviceType)
execution.setVariable("serviceRole", serviceRole)
+ execution.setVariable("serviceInstanceName", serviceInstanceName)
+
+ execution.setVariable("modelInvariantUuid", modelInvariantUuid)
+ execution.setVariable("modelVersion", modelVersion)
+ execution.setVariable("modelUuid", modelUuid)
+ execution.setVariable("modelName", modelName)
- if (serviceInstanceName == null) {
- execution.setVariable("serviceInstanceName", "")
- serviceInstanceName = ""
+ //alacarte SIs are NOT sent to sdnc. exceptions are listed in config variable
+ String svcTypes = execution.getVariable("URN_sdnc_si_svc_types") ?: ""
+ utils.log("DEBUG", "SDNC SI serviceTypes:" + svcTypes, isDebugEnabled)
+ List<String> svcList = Arrays.asList(svcTypes.split("\\s*,\\s*"));
+ boolean isSdncService= false
+ for (String listEntry : svcList){
+ if (listEntry.equalsIgnoreCase(serviceType)){
+ isSdncService = true
+ break;
+ }
}
+
+ //All Macros are sent to SDNC, TRANSPORT(Macro) is sent to SDNW
+ //Alacartes are sent to SDNC if they are listed in config variable above
+ execution.setVariable("sendToSDNC", true)
+ if(execution.getVariable("sdncVersion").equals("1610")) //alacarte
+ {
+ if(!isSdncService){
+ execution.setVariable("sendToSDNC", false)
+ //alacarte non-sdnc svcs must provide name (sdnc provides name for rest)
+ if (isBlank(execution.getVariable("serviceInstanceName" )))
+ {
+ msg = "Input serviceInstanceName must be provided for alacarte"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+ }
+ }
+
+ utils.log("DEBUG", "isSdncService: " + isSdncService, isDebugEnabled)
+ utils.log("DEBUG", "Send To SDNC: " + execution.getVariable("sendToSDNC"), isDebugEnabled)
+ utils.log("DEBUG", "Service Type: " + execution.getVariable("serviceType"), isDebugEnabled)
+
+ //macro may provide name and alacarte-portm may provide name
+ execution.setVariable("checkAAI", false)
+ if (!isBlank(execution.getVariable("serviceInstanceName" )))
+ {
+ execution.setVariable("checkAAI", true)
+ }
+
if (isBlank(serviceInstanceId)){
msg = "Input serviceInstanceId is null"
utils.log("DEBUG", msg, isDebugEnabled)
exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
}
- if (modelInvariantUuid == null) {
- modelInvariantUuid = ""
- }
- if (modelUuid == null) {
- modelUuid = ""
- }
- if (modelVersion == null) {
- modelVersion = ""
- }
- if (modelName == null) {
- modelName = ""
- }
-
- execution.setVariable("modelInvariantUuid", modelInvariantUuid)
- execution.setVariable("modelVersion", modelVersion)
- execution.setVariable("modelUuid", modelUuid)
- execution.setVariable("modelName", modelName)
StringBuilder sbParams = new StringBuilder()
Map<String, String> paramsMap = execution.getVariable("serviceInputParams")
@@ -250,7 +276,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
execution.setVariable("siParamsXml", siParamsXml)
//AAI PUT
- String oStatus = execution.getVariable("initialStatus") ?: ""
+ String oStatus = execution.getVariable("initialStatus") ?: "Active"
if ("TRANSPORT".equalsIgnoreCase(serviceType))
{
oStatus = "Created"
@@ -260,6 +286,28 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
String serviceTypeLine = isBlank(serviceType) ? "" : "<service-type>${serviceType}</service-type>"
String serviceRoleLine = isBlank(serviceRole) ? "" : "<service-role>${serviceRole}</service-role>"
+ //QUERY CATALOG DB AND GET WORKLOAD / ENVIRONMENT CONTEXT
+ String environmentContext = ""
+ String workloadContext =""
+
+ try{
+ String json = cutils.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid )
+
+ utils.log("DEBUG", "JSON IS: "+json, isDebugEnabled)
+
+ environmentContext = jsonUtil.getJsonValue(json, "serviceResources.environmentContext") ?: ""
+ workloadContext = jsonUtil.getJsonValue(json, "serviceResources.workloadContext") ?: ""
+ utils.log("DEBUG", "Env Context is: "+ environmentContext, isDebugEnabled)
+ utils.log("DEBUG", "Workload Context is: "+ workloadContext, isDebugEnabled)
+ }catch(BpmnError e){
+ throw e
+ } catch (Exception ex){
+ msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+
+ //Create AAI Payload
AaiUtil aaiUriUtil = new AaiUtil(this)
String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution)
String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri)
@@ -271,12 +319,14 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
${statusLine}
<model-invariant-id>${modelInvariantUuid}</model-invariant-id>
<model-version-id>${modelUuid}</model-version-id>
+ <environment-context>${environmentContext}</environment-context>
+ <workload-context>${workloadContext}</workload-context>
</service-instance>""".trim()
execution.setVariable("serviceInstanceData", serviceInstanceData)
utils.logAudit(serviceInstanceData)
utils.log("DEBUG", " 'payload' to create Service Instance in AAI - " + "\n" + serviceInstanceData, isDebugEnabled)
-
+
} catch (BpmnError e) {
throw e;
} catch (Exception ex){
@@ -288,7 +338,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
}
//TODO: Will be able to replace with call to GenericGetService
- public void getAAICustomerById (Execution execution) {
+ public void getAAICustomerById (DelegateExecution execution) {
// https://{aaiEP}/aai/v8/business/customers/customer/{globalCustomerId}
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
String msg = ""
@@ -360,7 +410,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
}
- public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessAAIGET ***** ", isDebugEnabled)
String msg = ""
@@ -402,7 +452,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *** Exit postProcessAAIGET *** ", isDebugEnabled)
}
- public void postProcessAAIPUT(Execution execution) {
+ public void postProcessAAIPUT(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessAAIPUT ***** ", isDebugEnabled)
String msg = ""
@@ -440,7 +490,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *** Exit postProcessAAIPUT *** ", isDebugEnabled)
}
- public void preProcessSDNCAssignRequest(Execution execution) {
+ public void preProcessSDNCAssignRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
String msg = ""
utils.log("DEBUG"," ***** preProcessSDNCAssignRequest *****", isDebugEnabled)
@@ -453,7 +503,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
def serviceId = execution.getVariable("productFamilyId")
def subscriptionServiceType = execution.getVariable("subscriptionServiceType")
def globalSubscriberId = execution.getVariable("globalSubscriberId") //globalCustomerId
- def serviceType = execution.getVariable("serviceType")
+ def msoAction = ""
def modelInvariantUuid = execution.getVariable("modelInvariantUuid")
def modelVersion = execution.getVariable("modelVersion")
@@ -464,6 +514,12 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
def siParamsXml = execution.getVariable("siParamsXml")
+ // special URL for SDNW, msoAction helps set diff url in SDNCA
+ if("TRANSPORT".equalsIgnoreCase(execution.getVariable("serviceType")))
+ {
+ msoAction = "TRANSPORT"
+ }
+
String sdncAssignRequest =
"""<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.openecomp/mso/request/types/v1"
xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
@@ -474,7 +530,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
<sdncadapter:SvcAction>assign</sdncadapter:SvcAction>
<sdncadapter:SvcOperation>service-topology-operation</sdncadapter:SvcOperation>
<sdncadapter:CallbackUrl>${callbackURL}</sdncadapter:CallbackUrl>
- <sdncadapter:MsoAction>${serviceType}</sdncadapter:MsoAction>
+ <sdncadapter:MsoAction>${msoAction}</sdncadapter:MsoAction>
</sdncadapter:RequestHeader>
<sdncadapterworkflow:SDNCRequestData>
<request-information>
@@ -488,12 +544,12 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
<service-information>
<service-id>${serviceId}</service-id>
<subscription-service-type>${subscriptionServiceType}</subscription-service-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>${modelInvariantUuid}</model-invariant-uuid>
<model-uuid>${modelUuid}</model-uuid>
<model-version>${modelVersion}</model-version>
<model-name>${modelName}</model-name>
- </onap-model-information>
+ </ecomp-model-information>
<service-instance-id>${serviceInstanceId}</service-instance-id>
<subscriber-name/>
<global-customer-id>${globalSubscriberId}</global-customer-id>
@@ -531,7 +587,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *****Exit preProcessSDNCAssignRequest *****", isDebugEnabled)
}
- public void postProcessSDNCAssign (Execution execution) {
+ public void postProcessSDNCAssign (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessSDNCAssign ***** ", isDebugEnabled)
try {
@@ -568,7 +624,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *** Exit postProcessSDNCAssign *** ", isDebugEnabled)
}
- public void postProcessAAIGET2(Execution execution) {
+ public void postProcessAAIGET2(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessAAIGET2 ***** ", isDebugEnabled)
String msg = ""
@@ -611,7 +667,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *** Exit postProcessAAIGET2 *** ", isDebugEnabled)
}
- public void preProcessRollback (Execution execution) {
+ public void preProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled)
try {
@@ -632,7 +688,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled)
}
- public void postProcessRollback (Execution execution) {
+ public void postProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled)
String msg = ""
@@ -652,5 +708,91 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
}
utils.log("DEBUG"," *** Exit postProcessRollback *** ", isDebugEnabled)
}
+
+ public void createProject(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " ***** createProject ***** ", isDebugEnabled)
+
+ String bpmnRequest = execution.getVariable("requestJson")
+ String projectName = jsonUtil.getJsonValue(bpmnRequest, "requestDetails.project.projectName")
+ String serviceInstance = execution.getVariable("serviceInstanceId")
+
+ utils.log("DEBUG", "BPMN REQUEST IS: "+ bpmnRequest, isDebugEnabled)
+ utils.log("DEBUG","PROJECT NAME: " + projectName, isDebugEnabled)
+ utils.log("DEBUG","Service Instance: " + serviceInstance, isDebugEnabled)
+
+ if(projectName == null||projectName.equals("")){
+ utils.log("DEBUG", "Project Name was not found in input. Skipping task...", isDebugEnabled)
+ }else{
+ try{
+ AAICreateResources aaiCR = new AAICreateResources()
+ aaiCR.createAAIProject(projectName, serviceInstance)
+ }catch(Exception ex){
+ String msg = "Exception in createProject. " + ex.getMessage();
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ }
+ utils.log("DEBUG"," *** Exit createProject *** ", isDebugEnabled)
+ }
+
+ public void createOwningEntity(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " ***** createOwningEntity ***** ", isDebugEnabled)
+ String msg = "";
+ String bpmnRequest = execution.getVariable("requestJson")
+ String owningEntityId = jsonUtil.getJsonValue(bpmnRequest, "requestDetails.owningEntity.owningEntityId")
+ String owningEntityName = jsonUtil.getJsonValue(bpmnRequest,"requestDetails.owningEntity.owningEntityName");
+ String serviceInstance = execution.getVariable("serviceInstanceId")
+
+ utils.log("DEBUG","owningEntity: " + owningEntityId, isDebugEnabled)
+ utils.log("DEBUG", "OwningEntityName: "+ owningEntityName, isDebugEnabled)
+ utils.log("DEBUG","Service Instance: " + serviceInstance, isDebugEnabled)
+
+ try{
+ AAICreateResources aaiCR = new AAICreateResources()
+ if(owningEntityId==null||owningEntityId.equals("")){
+ msg = "Exception in createOwningEntity. OwningEntityId is null in input.";
+ throw new IllegalStateException();
+ }else{
+ if(aaiCR.existsOwningEntity(owningEntityId)){
+ aaiCR.connectOwningEntityandServiceInstance(owningEntityId,serviceInstance)
+ }else{
+ if(owningEntityName==null||owningEntityName.equals("")){
+ msg = "Exception in createOwningEntity. Can't create an owningEntity without an owningEntityName in input.";
+ throw new IllegalStateException();
+ }else{
+ aaiCR.createAAIOwningEntity(owningEntityId, owningEntityName, serviceInstance)
+ }
+ }
+ }
+ }catch(Exception ex){
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("DEBUG"," *** Exit createOwningEntity *** ", isDebugEnabled)
+ }
+
+ // *******************************
+ // Build Error Section
+ // *******************************
+
+ public void processJavaException(DelegateExecution execution){
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ try{
+ utils.log("DEBUG", "Caught a Java Exception in DoCreateServiceInstance", isDebugEnabled)
+ utils.log("DEBUG", "Started processJavaException Method", isDebugEnabled)
+ utils.log("DEBUG", "Variables List: " + execution.getVariables(), isDebugEnabled)
+ execution.setVariable("UnexpectedError", "Caught a Java Lang Exception in DoCreateServiceInstance") // Adding this line temporarily until this flows error handling gets updated
+ exceptionUtil.buildWorkflowException(execution, 500, "Caught a Java Lang Exception in DoCreateServiceInstance")
+
+ }catch(Exception e){
+ utils.log("DEBUG", "Caught Exception during processJavaException Method: " + e, isDebugEnabled)
+ execution.setVariable("UnexpectedError", "Exception in processJavaException") // Adding this line temporarily until this flows error handling gets updated
+ exceptionUtil.buildWorkflowException(execution, 500, "Exception in processJavaException method")
+ }
+ utils.log("DEBUG", "Completed processJavaException Method in DoCreateServiceInstance", isDebugEnabled)
+ }
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollback.groovy
index 9a84c6b7b8..cb69121e4e 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollback.groovy
@@ -36,7 +36,7 @@ import org.openecomp.mso.rest.RESTConfig
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -65,7 +65,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso
String Prefix="DCRESIRB_"
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String msg = ""
@@ -135,7 +135,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso
utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void validateSDNCResponse(Execution execution, String response, String method) {
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** validateSDNCResponse ***** ", isDebugEnabled)
String msg = ""
@@ -168,7 +168,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso
utils.log("DEBUG"," ***** Exit validateSDNCResponse ***** ", isDebugEnabled)
}
- public void postProcessRequest(Execution execution) {
+ public void postProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled)
String msg = ""
@@ -202,7 +202,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso
}
- public void processRollbackException(Execution execution){
+ public void processRollbackException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled)
try{
@@ -220,7 +220,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso
utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled)
}
- public void processRollbackJavaException(Execution execution){
+ public void processRollbackJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollbackV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollbackV2.groovy
new file mode 100644
index 0000000000..fa4250df13
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollbackV2.groovy
@@ -0,0 +1,51 @@
+package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.client.orchestration.AAIOrchestrator
+import org.openecomp.mso.client.orchestration.SDNCOrchestrator
+
+public class DoCreateServiceInstanceRollbackV2 extends AbstractServiceTaskProcessor{
+
+ @Override
+ public void preProcessRequest(DelegateExecution execution) {
+
+ }
+
+ public void aaiServiceInstanceRollback (DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ def aaiServiceInstanceRollback = execution.getVariable("aaiServiceInstanceRollback")
+ if(aaiServiceInstanceRollback){
+ utils.log("DEBUG"," ***** Started aaiServiceInstanceRollback *****", isDebugEnabled)
+ try{
+ ServiceDecomposition serviceDecomp = execution.getVariable("ServiceDecomposition")
+ AAIOrchestrator aaiO = new AAIOrchestrator()
+ aaiO.deleteServiceInstance(serviceDecomp)
+ }catch (Exception ex) {
+ String msg = "Error Response from AAI for aaiServiceInstanceRollback"
+ execution.setVariable("rollbackError", msg)
+ utils.log("DEBUG", msg, isDebugEnabled)
+ throw new BpmnError("MSOWorkflowException")
+ }
+ utils.log("DEBUG"," ***** Completed aaiServiceInstanceRollback *****", isDebugEnabled)
+ }else{
+ utils.log("DEBUG", "***** SKIPPING A&AI ROLLBACK *****", isDebugEnabled)
+ }
+ }
+
+ public void rollbackError (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG"," ***** rollbackError ***** ", isDebugEnabled)
+ try{
+ utils.log("DEBUG", "Caught an Exception in DoCreateServiceInstanceRollbackV2", isDebugEnabled)
+ }catch(BpmnError b){
+ utils.log("DEBUG", "BPMN Error during rollbackError: " + b.getMessage(), isDebugEnabled)
+ }catch(Exception e){
+ utils.log("DEBUG", "Caught Exception during rollbackError: " + e.getMessage(), isDebugEnabled)
+ }
+ utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled)
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceV2.groovy
new file mode 100644
index 0000000000..c55ce547c2
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceV2.groovy
@@ -0,0 +1,101 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.mso.bpmn.infrastructure.scripts;
+
+import static org.apache.commons.lang3.StringUtils.*;
+
+import org.apache.commons.lang3.*
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.client.orchestration.AAIOrchestrator
+import org.openecomp.mso.client.orchestration.SDNCOrchestrator
+
+import groovy.json.*
+
+/**
+ * This groovy class supports the <class>DoCreateServiceInstanceV2.bpmn</class> process.
+ *
+*/
+
+public class DoCreateServiceInstanceV2 extends AbstractServiceTaskProcessor {
+
+ AAIOrchestrator aaiO = new AAIOrchestrator()
+ SDNCOrchestrator sdncO = new SDNCOrchestrator()
+
+ @Override
+ public void preProcessRequest(DelegateExecution execution) {
+ }
+
+ public void createServiceInstance(DelegateExecution execution) {
+ execution.setVariable("callSDNC",true)
+ if(execution.getVariable("serviceType").equalsIgnoreCase("PORT-MIRROR")== false){
+ if(execution.getVariable("sdncVersion").equals("1610")){
+ execution.setVariable("callSDNC",false);
+ }
+ }
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition")
+ try{
+ aaiO.createServiceInstance(serviceDecomp)
+ } catch (BpmnError e) {
+ throw e
+ }
+ }
+
+ public void createProject(DelegateExecution execution) {
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition")
+ if (serviceDecomp.getServiceInstance() != null && serviceDecomp.getProject() != null) {
+ try{
+ aaiO.createProjectandConnectServiceInstance(serviceDecomp)
+ } catch (BpmnError e) {
+ throw e
+ }
+ }
+ }
+
+ public void createOwningEntity(DelegateExecution execution) {
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition")
+ if (serviceDecomp.getServiceInstance() != null && serviceDecomp.getOwningEntity() != null) {
+ try{
+ aaiO.createOwningEntityandConnectServiceInstance(serviceDecomp)
+ } catch (BpmnError e) {
+ throw e
+ }
+ }
+ }
+
+ public void sdncAssignRequest(DelegateExecution execution) {
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition")
+ if (serviceDecomp != null) {
+ try {
+ sdncO.sendSyncResponse(serviceDecomp)
+ } catch (BpmnError e) {
+ throw e
+ }
+ }
+
+ }
+
+ public void rollback(DelegateExecution execution) {
+ //TODO
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModule.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModule.groovy
index 7f30fe25c7..b9319466d9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModule.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModule.groovy
@@ -20,20 +20,31 @@
package org.openecomp.mso.bpmn.infrastructure.scripts;
+import java.util.Map
+import java.util.Currency.CurrencyNameGetter
+
import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import org.apache.commons.lang3.*
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.json.JSONArray
+import org.json.JSONObject
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
+import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.common.scripts.NetworkUtils
import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
import org.openecomp.mso.bpmn.common.scripts.VfModuleBase
import org.openecomp.mso.bpmn.core.RollbackData
import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.VnfResource
+import org.openecomp.mso.bpmn.core.json.DecomposeJsonUtil
import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.client.aai.entities.AAIResultWrapper
+import org.openecomp.mso.client.aai.entities.uri.AAIUri
import org.openecomp.mso.rest.APIResponse
import org.openecomp.mso.rest.RESTClient
import org.openecomp.mso.rest.RESTConfig
@@ -44,6 +55,13 @@ import org.w3c.dom.NamedNodeMap
import org.w3c.dom.Node
import org.w3c.dom.NodeList
import org.xml.sax.InputSource
+import com.fasterxml.jackson.databind.ObjectMapper
+
+import com.fasterxml.jackson.databind.DeserializationFeature
+import com.fasterxml.jackson.databind.ObjectMapper
+import org.openecomp.mso.client.aai.AAIObjectType;
+import org.openecomp.mso.client.aai.AAIResourcesClient
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
@@ -53,12 +71,14 @@ public class DoCreateVfModule extends VfModuleBase {
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils(this)
+ CatalogDbUtils catalog = new CatalogDbUtils()
+ DecomposeJsonUtil decomposeJsonUtils = new DecomposeJsonUtil()
/**
* Validates the request message and sets up the workflow.
* @param execution the execution
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -85,8 +105,10 @@ public class DoCreateVfModule extends VfModuleBase {
def serviceModelInfo = execution.getVariable("serviceModelInfo")
logDebug("serviceModelInfo: " + serviceModelInfo, isDebugLogEnabled)
- def vnfModelInfo = execution.getVariable("vnfModelInfo")
+ String modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid")
+ logDebug("modelInvariantUuid: " + modelInvariantUuid, isDebugLogEnabled)
+ def vnfModelInfo = execution.getVariable("vnfModelInfo")
//tenantId
def tenantId = execution.getVariable("tenantId")
@@ -174,7 +196,7 @@ public class DoCreateVfModule extends VfModuleBase {
execution.setVariable("DCVFM_asdcServiceModelVersion", asdcServiceModelVersion)
logDebug("asdcServiceModelVersion: " + asdcServiceModelVersion, isDebugLogEnabled)
//personaModelId
- execution.setVariable("DCVFM_personaModelId", jsonUtil.getJsonValue(vfModuleModelInfo, "modelInvariantUuid"))
+ execution.setVariable("DCVFM_personaModelId", jsonUtil.getJsonValue(vfModuleModelInfo, "modelInvariantUuid"))
//personaModelVersion
execution.setVariable("DCVFM_personaModelVersion", jsonUtil.getJsonValue(vfModuleModelInfo, "modelUuid"))
//vfModuleLabel
@@ -210,7 +232,42 @@ public class DoCreateVfModule extends VfModuleBase {
def usePreload = execution.getVariable("usePreload")
execution.setVariable("DCVFM_usePreload", usePreload)
logDebug("usePreload: " + usePreload, isDebugLogEnabled)
-
+ //aLaCarte
+ def aLaCarte = execution.getVariable("aLaCarte")
+ execution.setVariable("DCVFM_aLaCarte", aLaCarte)
+ logDebug("aLaCarte: " + aLaCarte, isDebugLogEnabled)
+
+ //get workload and environment context from parent SI
+ String environmentContext = ""
+ String workloadContext =""
+ String serviceType =""
+
+ try{
+ String json = catalog.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid )
+ serviceType = jsonUtil.getJsonValue(json, "serviceResources.serviceType")
+ }catch(BpmnError e){
+ throw e
+ } catch (Exception ex){
+ String msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+
+ try{
+ AAIUri serviceInstanceURI = AAIUriFactory.create(AAIObjectType.SERVICE_INSTANCE, globalSubscriberId,serviceType,serviceInstanceId)
+ AAIResourcesClient aaiRC = new AAIResourcesClient()
+ AAIResultWrapper aaiRW = aaiRC.get(serviceInstanceURI)
+ Map<String, Object> aaiJson = aaiRW.asMap()
+ environmentContext = aaiJson.getOrDefault("environment-context","")
+ workloadContext = aaiJson.getOrDefault("workload-context","")
+
+ }catch (Exception ex) {
+ utils.log("DEBUG","Error retreiving parent service instance information", isDebugLogEnabled)
+ }
+
+ execution.setVariable("DCVFM_environmentContext",environmentContext)
+ execution.setVariable("DCVFM_workloadContext",workloadContext)
+
}
else {
// The info is inside the request - DEAD CODE
@@ -338,8 +395,7 @@ public class DoCreateVfModule extends VfModuleBase {
isBaseVfModule = utils.getNodeText(request, "is-base-vf-module")
}
execution.setVariable("DCVFM_isBaseVfModule", isBaseVfModule)
- logDebug("isBaseVfModule: " + isBaseVfModule, isDebugLogEnabled)
-
+ logDebug("isBaseVfModule: " + isBaseVfModule, isDebugLogEnabled)
//asdcServiceModelVersion
def asdcServiceModelVersion = ""
if (utils.nodeExists(request, "asdc-service-model-version")) {
@@ -426,6 +482,7 @@ public class DoCreateVfModule extends VfModuleBase {
rollbackData.put("VFMODULE", "rollbackCreateAAIVfModule", "false")
rollbackData.put("VFMODULE", "rollbackCreateNetworkPoliciesAAI", "false")
rollbackData.put("VFMODULE", "rollbackUpdateVnfAAI", "false")
+ rollbackData.put("VFMODULE", "heatstackid", "")
String sdncCallbackUrl = (String) execution.getVariable('URN_mso_workflow_sdncadapter_callback')
if (sdncCallbackUrl == null || sdncCallbackUrl.trim().isEmpty()) {
@@ -455,7 +512,7 @@ public class DoCreateVfModule extends VfModuleBase {
* @param responseCodeVar the execution variable in which the response code is stored
* @param errorResponseVar the execution variable in which the error response is stored
*/
- public void validateWorkflowResponse(Execution execution, String responseVar,
+ public void validateWorkflowResponse(DelegateExecution execution, String responseVar,
String responseCodeVar, String errorResponseVar) {
SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils(this)
sdncAdapterUtils.validateSDNCResponse(execution, responseVar, responseCodeVar, errorResponseVar)
@@ -466,7 +523,7 @@ public class DoCreateVfModule extends VfModuleBase {
* Sends the empty, synchronous response back to the API Handler.
* @param execution the execution
*/
- public void sendResponse(Execution execution) {
+ public void sendResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendResponse(' +
'execution=' + execution.getId() +
')'
@@ -491,7 +548,7 @@ public class DoCreateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void postProcessCreateAAIVfModule(Execution execution) {
+ public void postProcessCreateAAIVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.getVfModule(' +
'execution=' + execution.getId() +
')'
@@ -538,7 +595,7 @@ public class DoCreateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void queryAAIVfModule(Execution execution) {
+ public void queryAAIVfModule(DelegateExecution execution) {
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
def method = getClass().getSimpleName() + '.getVfModule(' +
'execution=' + execution.getId() +
@@ -618,9 +675,95 @@ public class DoCreateVfModule extends VfModuleBase {
exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIVfModule(): ' + e.getMessage())
}
}
+
+ /**
+ * Using the vnfId and vfModuleName provided in the inputs,
+ * query AAI to get the corresponding VF Module info.
+ * A 200 response is expected with the VF Module info in the response body,
+ * or a 404 response if the module does not exist yet. Will determine VF Module's
+ * orchestration status if one exists
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void queryAAIVfModuleForStatus(DelegateExecution execution) {
+ def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
+ def method = getClass().getSimpleName() + '.queryAAIVfModuleForStatus(' +
+ 'execution=' + execution.getId() +
+ ')'
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ execution.setVariable('DCVFM_orchestrationStatus', '')
+
+ try {
+ def vnfId = execution.getVariable('DCVFM_vnfId')
+ def vfModuleName = execution.getVariable('DCVFM_vfModuleName')
+
+ AaiUtil aaiUriUtil = new AaiUtil(this)
+ String aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
+ logDebug('AAI URI is: ' + aai_uri, isDebugLogEnabled)
+
+ String endPoint = execution.getVariable("URN_aai_endpoint") + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") +
+ "/vf-modules/vf-module?vf-module-name=" + UriUtils.encode(vfModuleName, "UTF-8")
+ utils.logAudit("AAI endPoint: " + endPoint)
+
+ try {
+ RESTConfig config = new RESTConfig(endPoint);
+ def responseData = ''
+ def aaiRequestId = UUID.randomUUID().toString()
+ RESTClient client = new RESTClient(config).
+ addHeader('X-TransactionId', aaiRequestId).
+ addHeader('X-FromAppId', 'MSO').
+ addHeader('Content-Type', 'application/xml').
+ addHeader('Accept','application/xml');
+ logDebug('sending GET to AAI endpoint \'' + endPoint + '\'', isDebugLogEnabled)
+ APIResponse response = client.httpGet()
+ utils.logAudit("createVfModule - invoking httpGet() to AAI")
+
+ responseData = response.getResponseBodyAsString()
+ if (responseData != null) {
+ logDebug("Received generic VNF data: " + responseData, isDebugLogEnabled)
+
+ }
+
+ utils.logAudit("createVfModule - queryAAIVfModule Response: " + responseData)
+ utils.logAudit("createVfModule - queryAAIVfModule ResponseCode: " + response.getStatusCode())
+
+ execution.setVariable('DCVFM_queryAAIVfModuleForStatusResponseCode', response.getStatusCode())
+ execution.setVariable('DCVFM_queryAAIVfModuleForStatusResponse', responseData)
+ logDebug('Response code:' + response.getStatusCode(), isDebugLogEnabled)
+ logDebug('Response:' + System.lineSeparator() + responseData, isDebugLogEnabled)
+ // Retrieve VF Module info and its orchestration status; if not found, do nothing
+ if (response.getStatusCode() == 200) {
+ // Parse the VNF record from A&AI to find base module info
+ logDebug('Parsing the VNF data to find orchestration status', isDebugLogEnabled)
+ if (responseData != null) {
+ def vfModuleText = utils.getNodeXml(responseData, "vf-module")
+ //def xmlVfModule= new XmlSlurper().parseText(vfModuleText)
+ def orchestrationStatus = utils.getNodeText1(vfModuleText, "orchestration-status")
+ execution.setVariable("DCVFM_orchestrationStatus", orchestrationStatus)
+ // Also retrieve vfModuleId
+ def vfModuleId = utils.getNodeText1(vfModuleText, "vf-module-id")
+ execution.setVariable("DCVFM_vfModuleId", vfModuleId)
+ logDebug("Received orchestration status from A&AI: " + orchestrationStatus, isDebugLogEnabled)
+
+ }
+ }
+ } catch (Exception ex) {
+ ex.printStackTrace()
+ logDebug('Exception occurred while executing AAI GET:' + ex.getMessage(),isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'AAI GET Failed:' + ex.getMessage())
+ }
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIVfModuleForStatus(): ' + e.getMessage())
+ }
+ }
- public void preProcessSDNCAssignRequest(Execution execution){
+ public void preProcessSDNCAssignRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled)
@@ -656,7 +799,7 @@ public class DoCreateVfModule extends VfModuleBase {
logDebug("======== COMPLETED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCGetRequest(Execution execution, String element){
+ public void preProcessSDNCGetRequest(DelegateExecution execution, String element){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
String sdncVersion = execution.getVariable("DCVFM_sdncVersion")
execution.setVariable("prefix", Prefix)
@@ -749,7 +892,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
- public void preProcessVNFAdapterRequest(Execution execution) {
+ public void preProcessVNFAdapterRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.VNFAdapterCreateVfModule(' +
'execution=' + execution.getId() +
')'
@@ -798,7 +941,13 @@ public class DoCreateVfModule extends VfModuleBase {
def volumeGroupStackId = execution.getVariable("DCVFM_volumeGroupStackId")
//modelCustomizationUuid
def modelCustomizationUuid = execution.getVariable("DCVFM_modelCustomizationUuid")
-
+ //environmentContext
+ String environmentContext = execution.getVariable("DCVFM_environmentContext")
+ //workloadContext
+ String workloadContext = execution.getVariable("DCVFM_workloadContext")
+ logDebug("workloadContext: " + workloadContext, isDebugLogEnabled)
+ logDebug("environmentContext: " + environmentContext, isDebugLogEnabled)
+
def messageId = execution.getVariable('mso-request-id') + '-' +
System.currentTimeMillis()
@@ -822,7 +971,7 @@ public class DoCreateVfModule extends VfModuleBase {
if (!sdncVersion.equals("1707")) {
vfModuleParams = buildVfModuleParams(vnfParamsMap, vfModuleSdncGetResponse, vnfId, vnfName,
- vfModuleId, vfModuleName, vfModuleIndex)
+ vfModuleId, vfModuleName, vfModuleIndex, environmentContext, workloadContext)
}
else {
//Get SDNC Response Data for Vnf Topology
@@ -830,7 +979,7 @@ public class DoCreateVfModule extends VfModuleBase {
utils.logAudit("vnfSdncGetResponse: " + vnfSdncGetResponse)
vfModuleParams = buildVfModuleParamsFromCombinedTopologies(vnfParamsMap, vnfSdncGetResponse, vfModuleSdncGetResponse, vnfId, vnfName,
- vfModuleId, vfModuleName, vfModuleIndex)
+ vfModuleId, vfModuleName, vfModuleIndex, environmentContext, workloadContext)
}
def svcInstId = ""
@@ -884,7 +1033,7 @@ public class DoCreateVfModule extends VfModuleBase {
* @param execution the execution
* @return the validated request
*/
- public String validateInfraRequest(Execution execution) {
+ public String validateInfraRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.validateInfraRequest(' +
'execution=' + execution.getId() +
')'
@@ -945,7 +1094,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
}
- public boolean isVolumeGroupIdPresent(Execution execution) {
+ public boolean isVolumeGroupIdPresent(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.isVolumeGroupIdPresent(' +
'execution=' + execution.getId() +
@@ -966,7 +1115,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
- public boolean isVolumeGroupNamePresent(Execution execution) {
+ public boolean isVolumeGroupNamePresent(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.isVolumeGroupNamePresent(' +
'execution=' + execution.getId() +
@@ -987,7 +1136,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
- public String buildSDNCRequest(Execution execution, String svcInstId, String action){
+ public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){
String uuid = execution.getVariable('testReqId') // for junits
if(uuid==null){
@@ -1176,7 +1325,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
- public void preProcessSDNCActivateRequest(Execution execution) {
+ public void preProcessSDNCActivateRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCActivateRequest(' +
'execution=' + execution.getId() +
')'
@@ -1209,7 +1358,7 @@ public class DoCreateVfModule extends VfModuleBase {
logDebug("======== COMPLETED preProcessSDNCActivateRequest Process ======== ", isDebugLogEnabled)
}
- public void postProcessVNFAdapterRequest(Execution execution) {
+ public void postProcessVNFAdapterRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessVNFAdapterRequest(' +
'execution=' + execution.getId() +
')'
@@ -1298,7 +1447,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
- public void preProcessUpdateAAIVfModuleRequestOrch(Execution execution) {
+ public void preProcessUpdateAAIVfModuleRequestOrch(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleRequestOrch(' +
'execution=' + execution.getId() +
')'
@@ -1315,6 +1464,8 @@ public class DoCreateVfModule extends VfModuleBase {
if (!contrailServiceInstanceFqdn.equals("")) {
setContrailServiceInstanceFqdn = true
}
+
+ execution.setVariable("DCVFM_orchestrationStatus", "Created")
String updateAAIVfModuleRequest = buildUpdateAAIVfModuleRequest(execution, false, true, true, setContrailServiceInstanceFqdn)
@@ -1330,8 +1481,38 @@ public class DoCreateVfModule extends VfModuleBase {
logDebug("======== COMPLETED preProcessUpdateAAIVfModuleRequestOrch ======== ", isDebugLogEnabled)
}
+
+ public void preProcessUpdateAAIVfModuleRequestStatus(DelegateExecution execution, String status) {
+ def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleStatus(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ execution.setVariable("prefix", Prefix)
+ logDebug(" ======== STARTED preProcessUpdateAAIVfModuleStatus ======== ", isDebugLogEnabled)
+
+ try{
+
+ //Build UpdateAAIVfModule Request
+ execution.setVariable("DCVFM_orchestrationStatus", status)
+
+ String updateAAIVfModuleRequest = buildUpdateAAIVfModuleRequest(execution, false, true, false, false)
+
+ updateAAIVfModuleRequest = utils.formatXml(updateAAIVfModuleRequest)
+ execution.setVariable("DCVFM_updateAAIVfModuleRequest", updateAAIVfModuleRequest)
+ logDebug("Outgoing UpdateAAIVfModuleRequest is: \n" + updateAAIVfModuleRequest, isDebugLogEnabled)
+ utils.logAudit("Outgoing UpdateAAIVfModuleRequest is: \n" + updateAAIVfModuleRequest)
+
+ }catch(Exception e){
+ utils.log("ERROR", "Exception Occured Processing preProcessUpdateAAIVfModuleStatus. Exception is:\n" + e, isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occured during preProcessUpdateAAIVfModuleStatus Method:\n" + e.getMessage())
+ }
+ logDebug("======== COMPLETED preProcessUpdateAAIVfModuleStatus ======== ", isDebugLogEnabled)
+
+ }
- public void preProcessUpdateAAIVfModuleRequestGroup(Execution execution) {
+
+ public void preProcessUpdateAAIVfModuleRequestGroup(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleRequestGroup(' +
'execution=' + execution.getId() +
')'
@@ -1359,7 +1540,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
- public void validateSDNCResponse(Execution execution, String response, String method){
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -1394,7 +1575,7 @@ public class DoCreateVfModule extends VfModuleBase {
logDebug(" *** COMPLETED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
}
- public void preProcessUpdateAfterCreateRequest(Execution execution){
+ public void preProcessUpdateAfterCreateRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
utils.log("DEBUG", " ======== STARTED preProcessRequest Process ======== ", isDebugLogEnabled)
@@ -1441,7 +1622,7 @@ public class DoCreateVfModule extends VfModuleBase {
utils.log("DEBUG", "======== COMPLETED preProcessSDNCGetRequest Process ======== ", isDebugLogEnabled)
}
- public String buildUpdateAAIVfModuleRequest(Execution execution, boolean updateVolumeGroupId,
+ public String buildUpdateAAIVfModuleRequest(DelegateExecution execution, boolean updateVolumeGroupId,
boolean updateOrchestrationStatus, boolean updateHeatStackId, boolean updateContrailFqdn){
def vnfId = execution.getVariable("DCVFM_vnfId")
@@ -1453,7 +1634,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
def orchestrationStatusString = ""
if (updateOrchestrationStatus) {
- orchestrationStatusString = "<orchestration-status>Created</orchestration-status>"
+ orchestrationStatusString = "<orchestration-status>" + execution.getVariable("DCVFM_orchestrationStatus") + "</orchestration-status>"
}
def heatStackIdString = ""
if (updateHeatStackId) {
@@ -1480,7 +1661,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
- public String buildSDNCParamsXml(Execution execution){
+ public String buildSDNCParamsXml(DelegateExecution execution){
String params = ""
StringBuilder sb = new StringBuilder()
@@ -1505,7 +1686,7 @@ public class DoCreateVfModule extends VfModuleBase {
return params
}
- public void queryCloudRegion (Execution execution) {
+ public void queryCloudRegion (DelegateExecution execution) {
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
utils.log("DEBUG", " ======== STARTED queryCloudRegion ======== ", isDebugLogEnabled)
@@ -1557,7 +1738,7 @@ public class DoCreateVfModule extends VfModuleBase {
*variables and ensures that the "WorkflowException" Variable is set.
*
*/
- public void processBPMNException(Execution execution){
+ public void processBPMNException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
try{
@@ -1574,7 +1755,7 @@ public class DoCreateVfModule extends VfModuleBase {
utils.log("DEBUG", "Completed processBPMNException Method", isDebugEnabled)
}
- public void prepareCreateAAIVfModuleVolumeGroupRequest(Execution execution) {
+ public void prepareCreateAAIVfModuleVolumeGroupRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepareCreateAAIVfModuleVolumeGroupRequest(' +
'execution=' + execution.getId() +
')'
@@ -1613,7 +1794,7 @@ public class DoCreateVfModule extends VfModuleBase {
}
- public void createNetworkPoliciesInAAI(Execution execution) {
+ public void createNetworkPoliciesInAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.createNetworkPoliciesInAAI(' +
'execution=' + execution.getId() +
')'
@@ -1763,7 +1944,7 @@ public class DoCreateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepUpdateAAIGenericVnf(Execution execution) {
+ public void prepUpdateAAIGenericVnf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' +
'execution=' + execution.getId() +
')'
@@ -1816,7 +1997,7 @@ public class DoCreateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void postProcessUpdateAAIGenericVnf(Execution execution) {
+ public void postProcessUpdateAAIGenericVnf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessUpdateAAIGenericVnf(' +
'execution=' + execution.getId() +
')'
@@ -1824,7 +2005,7 @@ public class DoCreateVfModule extends VfModuleBase {
logDebug('Entered ' + method, isDebugLogEnabled)
try {
- def rollbackData = execution.getVariable("RollbackData")
+ def rollbackData = execution.getVariable("rollbackData")
rollbackData.put("VFMODULE", "rollbackUpdateVnfAAI", "true")
@@ -1842,7 +2023,7 @@ public class DoCreateVfModule extends VfModuleBase {
rollbackData.put("VFMODULE", "oamManagementV6Address", oamManagementV6Address)
}
- execution.setVariable("RollbackData", rollbackData)
+ execution.setVariable("rollbackData", rollbackData)
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
@@ -1853,7 +2034,62 @@ public class DoCreateVfModule extends VfModuleBase {
}
}
- public void preProcessRollback (Execution execution) {
+ public void queryCatalogDB (DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ String msg = ""
+ utils.log("DEBUG"," ***** queryCatalogDB *****", isDebugEnabled)
+
+ try {
+ boolean twoPhaseDesign = false
+ // check for input
+
+ String vfModuleModelName = execution.getVariable("DCVFM_vfModuleModelName")
+ utils.log("DEBUG", "vfModuleModelName: " + vfModuleModelName, isDebugEnabled)
+ def vnfModelInfo = execution.getVariable("vnfModelInfo")
+ def vnfModelCustomizationUuid = jsonUtil.getJsonValue(vnfModelInfo, "modelCustomizationUuid")
+
+ utils.log("DEBUG", "vnfModelCustomizationUuid: " + vnfModelCustomizationUuid, isDebugEnabled)
+
+ JSONArray vnfs = catalog.getAllVnfsByVnfModelCustomizationUuid(execution, vnfModelCustomizationUuid, "v2")
+
+ utils.log("DEBUG", "Incoming Query Catalog DB for Vnf Response is: " + vnfModelCustomizationUuid, isDebugEnabled)
+ utils.logAudit("Incoming Query Catalog DB for Vf Module Response is: " + vnfModelCustomizationUuid)
+
+ utils.log("DEBUG", "obtained VNF list")
+ // Only one match here
+ if (vnfs != null) {
+ JSONObject vnfObject = vnfs.get(0)
+ if (vnfObject != null) {
+ String vnfJson = vnfObject.toString()
+ //
+ ObjectMapper om = new ObjectMapper();
+ VnfResource vnf = om.readValue(vnfJson, VnfResource.class);
+
+ // Get multiStageDesign flag
+
+ String multiStageDesignValue = vnf.getMultiStageDesign()
+ utils.log("DEBUG", "multiStageDesign value from Catalog DB is: " + multiStageDesignValue, isDebugEnabled)
+ if (multiStageDesignValue != null) {
+ if (multiStageDesignValue.equalsIgnoreCase("true")) {
+ twoPhaseDesign = true
+ }
+ }
+ }
+ }
+
+ utils.log("DEBUG", "setting twoPhaseDesign flag to: " + twoPhaseDesign, isDebugEnabled)
+
+ execution.setVariable("DCVFM_twoPhaseDesign", twoPhaseDesign)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in queryCatalogDB()', e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryCatalogDB(): ' + e.getMessage())
+ }
+ }
+
+
+ public void preProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled)
try {
@@ -1874,7 +2110,7 @@ public class DoCreateVfModule extends VfModuleBase {
utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled)
}
- public void postProcessRollback (Execution execution) {
+ public void postProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled)
String msg = ""
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy
index 3ed768aa54..f862a00ac2 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy
@@ -20,7 +20,7 @@
package org.openecomp.mso.bpmn.infrastructure.scripts
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
@@ -36,13 +36,13 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
def Prefix="DCVFMR_"
ExceptionUtil exceptionUtil = new ExceptionUtil()
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable("prefix",Prefix)
}
// parse the incoming DELETE_VF_MODULE request for the Generic Vnf and Vf Module Ids
// and formulate the outgoing request for PrepareUpdateAAIVfModuleRequest
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
initProcessVariables(execution)
@@ -141,7 +141,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
// build a SDNC vnf-topology-operation request for the specified action
// (note: the action passed is expected to be 'changedelete' or 'delete')
- public void prepSDNCAdapterRequest(Execution execution) {
+ public void prepSDNCAdapterRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String srvInstId = execution.getVariable("DCVFMR_serviceInstanceId")
@@ -232,7 +232,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
execution.setVariable("sdncAdapterWorkflowRequest", request)
}
- public void preProcessSDNCDeactivateRequest(Execution execution){
+ public void preProcessSDNCDeactivateRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
@@ -256,7 +256,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
logDebug("======== COMPLETED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCUnassignRequest(Execution execution) {
+ public void preProcessSDNCUnassignRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCUnassignRequest(' +
'execution=' + execution.getId() +
')'
@@ -280,7 +280,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
logDebug("======== COMPLETED preProcessSDNCUnassignRequest Process ======== ", isDebugLogEnabled)
}
- public String buildSDNCRequest(Execution execution, String svcInstId, String action){
+ public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){
String uuid = execution.getVariable('testReqId') // for junits
if(uuid==null){
@@ -340,7 +340,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
// parse the incoming DELETE_VF_MODULE request
// and formulate the outgoing VnfAdapterDeleteV1 request
- public void prepVNFAdapterRequest(Execution execution) {
+ public void prepVNFAdapterRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String requestId = UUID.randomUUID().toString()
String origRequestId = execution.getVariable("DCVFMR_requestId")
@@ -382,7 +382,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
// parse the incoming DELETE_VF_MODULE request
// and formulate the outgoing UpdateAAIVfModuleRequest request
- public void prepUpdateAAIVfModule(Execution execution) {
+ public void prepUpdateAAIVfModule(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String vnfId = execution.getVariable("DCVFMR_vnfId")
String vfModuleId = execution.getVariable("DCVFMR_vfModuleId")
@@ -397,10 +397,28 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
utils.logAudit("UpdateAAIVfModule Request: " + request)
execution.setVariable("UpdateAAIVfModuleRequest", request)
}
+
+ // parse the incoming DELETE_VF_MODULE request
+ // and formulate the outgoing UpdateAAIVfModuleRequest request
+ public void prepUpdateAAIVfModuleToAssigned(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ String vnfId = execution.getVariable("DCVFMR_vnfId")
+ String vfModuleId = execution.getVariable("DCVFMR_vfModuleId")
+ // formulate the request for UpdateAAIVfModule
+ String request = """<UpdateAAIVfModuleRequest>
+ <vnf-id>${vnfId}</vnf-id>
+ <vf-module-id>${vfModuleId}</vf-module-id>
+ <heat-stack-id></heat-stack-id>
+ <orchestration-status>Assigned</orchestration-status>
+ </UpdateAAIVfModuleRequest>""" as String
+ utils.log("DEBUG", "UpdateAAIVfModuleRequest :" + request, isDebugEnabled)
+ utils.logAudit("UpdateAAIVfModule Request: " + request)
+ execution.setVariable("UpdateAAIVfModuleRequest", request)
+ }
// parse the incoming DELETE_VF_MODULE request
// and formulate the outgoing DeleteAAIVfModuleRequest request
- public void prepDeleteAAIVfModule(Execution execution) {
+ public void prepDeleteAAIVfModule(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String vnfId = execution.getVariable("DCVFMR_vnfId")
String vfModuleId = execution.getVariable("DCVFMR_vfModuleId")
@@ -416,7 +434,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
// generates a WorkflowException if
// -
- public void handleDoDeleteVfModuleFailure(Execution execution) {
+ public void handleDoDeleteVfModuleFailure(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("ERROR", "AAI error occurred deleting the Generic Vnf: "
+ execution.getVariable("DoDVfMod_deleteGenericVnfResponse"), isDebugEnabled)
@@ -425,7 +443,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
}
- public void sdncValidateResponse(Execution execution, String response){
+ public void sdncValidateResponse(DelegateExecution execution, String response){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -442,7 +460,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
}
}
- public void deleteNetworkPoliciesFromAAI(Execution execution) {
+ public void deleteNetworkPoliciesFromAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.deleteNetworkPoliciesFromAAI(' +
'execution=' + execution.getId() +
')'
@@ -576,7 +594,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
*
* @param execution The flow's execution instance.
*/
- public void preProcessUpdateAAIGenericVnf(Execution execution) {
+ public void preProcessUpdateAAIGenericVnf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessUpdateAAIGenericVnf((' +
'execution=' + execution.getId() +
')'
@@ -621,7 +639,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
}
}
- public void setSuccessfulRollbackStatus (Execution execution){
+ public void setSuccessfulRollbackStatus (DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED setSuccessfulRollbackStatus ======== ", isDebugLogEnabled)
@@ -638,7 +656,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
logDebug("======== COMPLETED setSuccessfulRollbackStatus ======== ", isDebugLogEnabled)
}
- public void setFailedRollbackStatus (Execution execution){
+ public void setFailedRollbackStatus (DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED setFailedRollbackStatus ======== ", isDebugLogEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy
index 0cbcfabddd..e903a547f7 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy
@@ -26,7 +26,7 @@ import groovy.json.*
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
@@ -52,7 +52,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
* This method is executed during the preProcessRequest task of the <class>DoCreateVfModuleVolumeRollback.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "volumeGroupName", null)
@@ -68,7 +68,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
* This method is executed during the preProcessRequest task of the <class>DoCreateVfModuleVolumeRollback.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
InitializeProcessVariables(execution)
@@ -120,7 +120,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
* @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAIVolGrpName(Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAIVolGrpName(DelegateExecution execution, isDebugEnabled) {
def volumeGroupName = execution.getVariable('DCVFMODVOLRBK_volumeGroupName')
def cloudRegion = execution.getVariable('DCVFMODVOLRBK_lcpCloudRegionId')
@@ -169,7 +169,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
- public void callRESTDeleteAAIVolumeGroup(Execution execution, isDebugEnabled) {
+ public void callRESTDeleteAAIVolumeGroup(DelegateExecution execution, isDebugEnabled) {
callRESTQueryAAIVolGrpName(execution, isDebugEnabled)
@@ -216,7 +216,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy
index 2d004b88ac..13a7ffa498 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy
@@ -21,7 +21,7 @@ import org.springframework.web.util.UriUtils
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -35,12 +35,12 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* Perform initial processing, such as request validation, initialization of variables, etc.
* * @param execution
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
preProcessRequest(execution, isDebugEnabled)
}
- public void preProcessRequest(Execution execution, isDebugLogEnabled) {
+ public void preProcessRequest(DelegateExecution execution, isDebugLogEnabled) {
execution.setVariable("prefix",prefix)
execution.setVariable(prefix+'SuccessIndicator', false)
@@ -88,7 +88,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugLogEnabled
*/
- public void displayInput(Execution execution, isDebugLogEnabled) {
+ public void displayInput(DelegateExecution execution, isDebugLogEnabled) {
def input = ['mso-request-id', 'msoRequestId', 'isDebugLogEnabled', 'disableRollback', 'failIfExists', 'serviceInstanceId',
'vnfId', 'vnfName', 'tenantId', 'volumeGroupId', 'volumeGroupName', 'lcpCloudRegionId', 'vnfType', 'vfModuleModelInfo', 'asdcServiceModelVersion',
'test-volume-group-name', 'test-volume-group-id', 'vfModuleInputParams']
@@ -106,7 +106,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void setRollbackData(Execution execution, isDebugEnabled) {
+ public void setRollbackData(DelegateExecution execution, isDebugEnabled) {
def rollbackData = execution.getVariable("rollbackData")
if (rollbackData == null) {
rollbackData = new RollbackData()
@@ -122,7 +122,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void validateGetServiceInstanceCall(Execution execution, isDebugEnabled) {
+ public void validateGetServiceInstanceCall(DelegateExecution execution, isDebugEnabled) {
def found = execution.getVariable('GENGS_FoundIndicator')
def success = execution.getVariable('GENGS_SuccessIndicator')
def serviceInstanceId = execution.getVariable('serviceInstanceId')
@@ -141,7 +141,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAICloudRegion (Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAICloudRegion (DelegateExecution execution, isDebugEnabled) {
def cloudRegion = execution.getVariable("lcpCloudRegionId")
utils.log("DEBUG", 'Request cloud region is: ' + cloudRegion, isDebugEnabled)
@@ -184,7 +184,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAIVolGrpName(Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAIVolGrpName(DelegateExecution execution, isDebugEnabled) {
def volumeGroupName = execution.getVariable('volumeGroupName')
def cloudRegion = execution.getVariable('lcpCloudRegionId')
@@ -235,7 +235,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void buildWorkflowException(Execution execution, int errorCode, errorMessage, isDebugEnabled) {
+ public void buildWorkflowException(DelegateExecution execution, int errorCode, errorMessage, isDebugEnabled) {
utils.log("DEBUG", errorMessage, isDebugEnabled)
(new ExceptionUtil()).buildWorkflowException(execution, 2500, errorMessage)
}
@@ -246,7 +246,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void handleError(Execution execution, isDebugEnabled) {
+ public void handleError(DelegateExecution execution, isDebugEnabled) {
WorkflowException we = execution.getVariable('WorkflowException')
if (we == null) {
(new ExceptionUtil()).buildWorkflowException(execution, 2500, "Enexpected error encountered!")
@@ -260,7 +260,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void callRESTCreateAAIVolGrpName(Execution execution, isDebugEnabled) {
+ public void callRESTCreateAAIVolGrpName(DelegateExecution execution, isDebugEnabled) {
def vnfId = execution.getVariable('vnfId')
def volumeGroupId = execution.getVariable('volumeGroupId')
@@ -329,7 +329,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* Prepare VNF adapter create request XML
* @param execution
*/
- public void prepareVnfAdapterCreateRequest(Execution execution, isDebugEnabled) {
+ public void prepareVnfAdapterCreateRequest(DelegateExecution execution, isDebugEnabled) {
def aaiGenericVnfResponse = execution.getVariable(prefix+'AAIQueryGenericVfnResponse')
def vnfId = utils.getNodeText1(aaiGenericVnfResponse, 'vnf-id')
@@ -448,44 +448,60 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
execution.setVariable(prefix+"createVnfARequest", vnfSubCreateWorkflowRequestAsString)
// build rollback request for use later if needed
-
- String vnfSubRollbackWorkflowRequest =
- """<rollbackVolumeGroupRequest>
- <cloudSiteId>${cloudSiteId}</cloudSiteId>
- <tenantId>${tenantId}</tenantId>
- <volumeGroupId>${volumeGroupId}</volumeGroupId>
- <skipAAI>true</skipAAI>
- <volumeGroupCreated>true</volumeGroupCreated>
- <msoRequest>
- <requestId>${requestId}</requestId>
- <serviceInstanceId>${serviceId}</serviceInstanceId>
- </msoRequest>
- <messageId>${messageId}</messageId>
- <notificationUrl>${notificationUrl}</notificationUrl>
- </rollbackVolumeGroupRequest>"""
+ String vnfSubRollbackWorkflowRequest = buildRollbackVolumeGroupRequestXml(volumeGroupId, cloudSiteId, tenantId, requestId, serviceId, messageId, notificationUrl)
utils.log("DEBUG", "Sub Vnf flow rollback request: vnfSubRollbackWorkflowRequest " + "\n" + vnfSubRollbackWorkflowRequest, isDebugEnabled)
String vnfSubRollbackWorkflowRequestAsString = utils.formatXml(vnfSubRollbackWorkflowRequest)
execution.setVariable(prefix+"rollbackVnfARequest", vnfSubRollbackWorkflowRequestAsString)
}
+
+ public String buildRollbackVolumeGroupRequestXml(volumeGroupId, cloudSiteId, tenantId, requestId, serviceId, messageId, notificationUrl) {
+
+ def request = """
+ <rollbackVolumeGroupRequest>
+ <volumeGroupRollback>
+ <volumeGroupId>${volumeGroupId}</volumeGroupId>
+ <volumeGroupStackId>{{VOLUMEGROUPSTACKID}}</volumeGroupStackId>
+ <tenantId>${tenantId}</tenantId>
+ <cloudSiteId>${cloudSiteId}</cloudSiteId>
+ <volumeGroupCreated>true</volumeGroupCreated>
+ <msoRequest>
+ <requestId>${requestId}</requestId>
+ <serviceInstanceId>${serviceId}</serviceInstanceId>
+ </msoRequest>
+ <messageId>${messageId}</messageId>
+ </volumeGroupRollback>
+ <skipAAI>true</skipAAI>
+ <notificationUrl>${notificationUrl}</notificationUrl>
+ </rollbackVolumeGroupRequest>
+ """
+
+ return request
+ }
+ public String updateRollbackVolumeGroupRequestXml(String rollabackRequest, String heatStackId) {
+ String newRequest = rollabackRequest.replace("{{VOLUMEGROUPSTACKID}}", heatStackId)
+ return newRequest
+ }
/**
* Validate VNF adapter response
* @param execution
*/
- public void validateVnfResponse(Execution execution, isDebugEnabled) {
+ public void validateVnfResponse(DelegateExecution execution, isDebugEnabled) {
def vnfSuccess = execution.getVariable('VNFREST_SuccessIndicator')
utils.log("DEBUG", "vnfAdapterSuccessIndicator: "+ vnfSuccess, isDebugEnabled)
if(vnfSuccess==true) {
- def vnfRollbackRequest = execution.getVariable(prefix+"rollbackVnfARequest")
- utils.log("DEBUG", "vnfAdapter rollback request: "+ vnfRollbackRequest, isDebugEnabled)
+ String createVnfAResponse = execution.getVariable(prefix+"createVnfAResponse")
+ String heatStackID = utils.getNodeText1(createVnfAResponse, "volumeGroupStackId")
+ String vnfRollbackRequest = execution.getVariable(prefix+"rollbackVnfARequest")
+ String updatedVnfRollbackRequest = updateRollbackVolumeGroupRequestXml(vnfRollbackRequest, heatStackID)
+ utils.log("DEBUG", "vnfAdapter rollback request: "+ updatedVnfRollbackRequest, isDebugEnabled)
RollbackData rollbackData = execution.getVariable("rollbackData")
- rollbackData.put("DCVFMODULEVOL", "rollbackVnfARequest", vnfRollbackRequest)
+ rollbackData.put("DCVFMODULEVOL", "rollbackVnfARequest", updatedVnfRollbackRequest)
rollbackData.put("DCVFMODULEVOL", "isCreateVnfRollbackNeeded", "true")
}
-
}
@@ -495,7 +511,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void callRESTUpdateCreatedVolGrpName(Execution execution, isDebugEnabled) {
+ public void callRESTUpdateCreatedVolGrpName(DelegateExecution execution, isDebugEnabled) {
String requeryAAIVolGrpNameResponse = execution.getVariable(prefix+"queryAAIVolGrpNameResponse")
String volumeGroupId = utils.getNodeText1(requeryAAIVolGrpNameResponse, "volume-group-id")
@@ -554,7 +570,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAIGenericVnf(Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAIGenericVnf(DelegateExecution execution, isDebugEnabled) {
def vnfId = execution.getVariable('vnfId')
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnf.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnf.groovy
index 6b98782527..adc2b695ef 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnf.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnf.groovy
@@ -20,9 +20,10 @@
package org.openecomp.mso.bpmn.infrastructure.scripts
import static org.apache.commons.lang3.StringUtils.*
+
import org.openecomp.mso.bpmn.core.RollbackData
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.springframework.web.util.UriUtils
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
@@ -55,7 +56,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
* @param - execution
*
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoCreateVnf PreProcessRequest Process*** ", isDebugEnabled)
@@ -201,9 +202,9 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
utils.logAudit("SDNC Callback URL: " + sdncCallbackUrl)
logDebug("SDNC Callback URL is: " + sdncCallbackUrl, isDebugEnabled)
- VnfResource vnfResource = (VnfResource) execution.getVariable("vnfResourceDecomposition")
-
+ VnfResource vnfResource = (VnfResource) execution.getVariable((String)"vnfResourceDecomposition")
String nfRole = vnfResource.getNfRole()
+
execution.setVariable("DoCVNF_nfRole", nfRole)
logDebug("NF Role is: " + nfRole, isDebugEnabled)
@@ -235,37 +236,45 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
}
utils.log("DEBUG", "*** COMPLETED DoCreateVnf PreProcessRequest Process ***", isDebugEnabled)
}
-
- public void prepareCreateGenericVnf (Execution execution) {
+ private Object getVariableEnforced(DelegateExecution execution, String name){
+ Object enforced = execution.getVariable(name)
+ if(!enforced){
+ return "";
+ }
+ return enforced;
+ }
+
+ public void prepareCreateGenericVnf (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoCreateVnf PrepareCreateGenericVnf Process *** ", isDebugEnabled)
try {
//Get Vnf Info
- String vnfId = execution.getVariable("DoCVNF_vnfId")
- def vnfName = execution.getVariable("DoCVNF_vnfName")
+ String vnfId = getVariableEnforced(execution, "DoCVNF_vnfId")
+ String vnfName = getVariableEnforced(execution, "DoCVNF_vnfName")
if (vnfName == null) {
vnfName = "sdncGenerated"
utils.log("DEBUG", "Sending a dummy VNF name to AAI - the name will be generated by SDNC: " + vnfName, isDebugEnabled)
}
- def vnfType = execution.getVariable("DoCVNF_vnfType")
- def serviceId = execution.getVariable("DoCVNF_serviceId")
- def orchStatus = execution.getVariable("DoCVNF_orchStatus")
- def modelInvariantId = execution.getVariable("DoCVNF_modelInvariantId")
- def modelVersionId = execution.getVariable("DoCVNF_modelVersionId")
- def modelCustomizationId = execution.getVariable("DoCVNF_modelCustomizationId")
+ String vnfType = getVariableEnforced(execution, "DoCVNF_vnfType")
+ utils.log("DEBUG", "WE ARE HERE:" + vnfType, isDebugEnabled)
+ String serviceId = getVariableEnforced(execution, "DoCVNF_serviceId")
+ String orchStatus = getVariableEnforced(execution, "DoCVNF_orchStatus")
+ String modelInvariantId = getVariableEnforced(execution, "DoCVNF_modelInvariantId")
+ String modelVersionId = getVariableEnforced(execution, "DoCVNF_modelVersionId")
+ String modelCustomizationId = getVariableEnforced(execution, "DoCVNF_modelCustomizationId")
// TODO: 1702 Variable
- def equipmentRole = execution.getVariable("DoCVNF_equipmentRole")
- def nfType = execution.getVariable("DoCVNF_nfType")
- def nfRole = execution.getVariable("DoCVNF_nfRole")
- def nfFunction = execution.getVariable("DoCVNF_nfFunction")
- def nfNamingCode = execution.getVariable("DoCVNF_nfNamingCode")
-
+ String equipmentRole = getVariableEnforced(execution, "DoCVNF_equipmentRole")
+ String nfType = getVariableEnforced(execution, "DoCVNF_nfType")
+ String nfRole = getVariableEnforced(execution, "DoCVNF_nfRole")
+ String nfFunction = getVariableEnforced(execution, "DoCVNF_nfFunction")
+ String nfNamingCode = getVariableEnforced(execution, "DoCVNF_nfNamingCode")
+
//Get Service Instance Info
- def serviceInstanceId = execution.getVariable("DoCVNF_serviceInstanceId")
- String siRelatedLink = execution.getVariable("GENGS_siResourceLink")
+ String serviceInstanceId = getVariableEnforced(execution, "DoCVNF_serviceInstanceId")
+ String siRelatedLink = getVariableEnforced(execution, "GENGS_siResourceLink")
int custStart = siRelatedLink.indexOf("customer/")
int custEnd = siRelatedLink.indexOf("/service-subscriptions")
@@ -324,7 +333,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "*** COMPLETED DoCreateVnf PrepareCreateGenericVnf Process ***", isDebugEnabled)
}
- public void postProcessCreateGenericVnf (Execution execution) {
+ public void postProcessCreateGenericVnf (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -344,7 +353,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
}
- public void preProcessSDNCAssignRequest(Execution execution){
+ public void preProcessSDNCAssignRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled)
@@ -370,7 +379,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCActivateRequest(Execution execution) {
+ public void preProcessSDNCActivateRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCActivateRequest(' +
'execution=' + execution.getId() +
')'
@@ -395,7 +404,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED preProcessSDNCActivateRequest Process ======== ", isDebugLogEnabled)
}
- public String buildSDNCRequest(Execution execution, String svcInstId, String action){
+ public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){
String uuid = execution.getVariable('testReqId') // for junits
if(uuid==null){
@@ -477,7 +486,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
return sdncRequest
}
- public void validateSDNCResponse(Execution execution, String response, String method){
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -523,7 +532,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
logDebug(" *** COMPLETED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
}
- public void preProcessSDNCGetRequest(Execution execution){
+ public void preProcessSDNCGetRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
utils.log("DEBUG", " ======== STARTED preProcessSDNCGetRequest Process ======== ", isDebugLogEnabled)
@@ -596,7 +605,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void prepUpdateAAIGenericVnf(Execution execution) {
+ public void prepUpdateAAIGenericVnf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' +
'execution=' + execution.getId() +
')'
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy
index 308834038e..4e570f87a9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy
@@ -37,7 +37,7 @@ import org.openecomp.mso.bpmn.core.domain.VnfResource
import org.openecomp.mso.bpmn.core.json.DecomposeJsonUtil
import org.openecomp.mso.bpmn.core.json.JsonUtils
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
import static org.apache.commons.lang3.StringUtils.*;
@@ -61,7 +61,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor {
*
* @param - execution
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoCreateVnfAndModules PreProcessRequest Process*** ", isDebugLogEnabled)
@@ -114,6 +114,9 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor {
}
}
execution.setVariable("vnfId", vnfId)
+
+ // Set aLaCarte to false
+ execution.setVariable("aLaCarte", false)
def rollbackData = execution.getVariable("rollbackData")
if (rollbackData == null) {
@@ -145,7 +148,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor {
}
- public void queryCatalogDB (Execution execution) {
+ public void queryCatalogDB (DelegateExecution execution) {
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -251,7 +254,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "*** COMPLETED DoCreateVnfAndModules QueryCatalogDB Process ***", isDebugLogEnabled)
}
- public void preProcessAddOnModule(Execution execution){
+ public void preProcessAddOnModule(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessAddOnModule ======== ", isDebugLogEnabled)
@@ -289,7 +292,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED preProcessAddOnModule ======== ", isDebugLogEnabled)
}
- public void postProcessAddOnModule(Execution execution){
+ public void postProcessAddOnModule(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED postProcessAddOnModule ======== ", isDebugLogEnabled)
@@ -305,7 +308,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED postProcessAddOnModule ======== ", isDebugLogEnabled)
}
- public void validateBaseModule(Execution execution){
+ public void validateBaseModule(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED validateBaseModule ======== ", isDebugLogEnabled)
@@ -333,7 +336,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED validateBaseModule ======== ", isDebugLogEnabled)
}
- public void validateAddOnModule(Execution execution){
+ public void validateAddOnModule(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED validateAddOnModule ======== ", isDebugLogEnabled)
@@ -362,7 +365,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED validateAddOnModule ======== ", isDebugLogEnabled)
}
- public void preProcessRollback (Execution execution) {
+ public void preProcessRollback (DelegateExecution execution) {
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugLogEnabled)
try {
@@ -383,7 +386,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugLogEnabled)
}
- public void postProcessRollback (Execution execution) {
+ public void postProcessRollback (DelegateExecution execution) {
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugLogEnabled)
String msg = ""
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModulesRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModulesRollback.groovy
index c5d87d817a..e931903ea5 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModulesRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModulesRollback.groovy
@@ -25,7 +25,7 @@ import org.json.JSONObject;
import org.json.JSONArray;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
import static org.apache.commons.lang3.StringUtils.*;
@@ -55,7 +55,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
* @param - execution
*
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoCreateVnfAndModulesRollback PreProcessRequest Process*** ", isDebugEnabled)
@@ -117,7 +117,10 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
}
else {
execution.setVariable("DCVAMR_numOfModulesToDelete", numOfAddOnModules + 1)
- }
+ }
+
+ // Set aLaCarte to false
+ execution.setVariable("DCVAMR_aLaCarte", false)
}catch(BpmnError b){
utils.log("DEBUG", "Rethrowing MSOWorkflowException", isDebugEnabled)
@@ -132,7 +135,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
- public void preProcessCreateVfModuleRollback(Execution execution){
+ public void preProcessCreateVfModuleRollback(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessCreateVfModuleRollback ======== ", isDebugLogEnabled)
@@ -167,7 +170,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
}
- public void postProcessCreateVfModuleRollback(Execution execution){
+ public void postProcessCreateVfModuleRollback(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED postProcessCreateVfModuleRollback ======== ", isDebugLogEnabled)
@@ -190,7 +193,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
}
- public void preProcessSDNCDeactivateRequest(Execution execution){
+ public void preProcessSDNCDeactivateRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
@@ -214,7 +217,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCUnassignRequest(Execution execution) {
+ public void preProcessSDNCUnassignRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCUnassignRequest(' +
'execution=' + execution.getId() +
')'
@@ -239,7 +242,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED preProcessSDNCUnassignRequest Process ======== ", isDebugLogEnabled)
}
- public String buildSDNCRequest(Execution execution, String svcInstId, String action){
+ public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){
String uuid = execution.getVariable('testReqId') // for junits
if(uuid==null){
@@ -296,7 +299,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
return sdncRequest
}
- public void validateSDNCResponse(Execution execution, String response, String method){
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -321,7 +324,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
logDebug(" *** COMPLETED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
}
- public void setSuccessfulRollbackStatus (Execution execution){
+ public void setSuccessfulRollbackStatus (DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED setSuccessfulRollbackStatus ======== ", isDebugLogEnabled)
@@ -338,7 +341,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED setSuccessfulRollbackStatus ======== ", isDebugLogEnabled)
}
- public void setFailedRollbackStatus (Execution execution){
+ public void setFailedRollbackStatus (DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED setFailedRollbackStatus ======== ", isDebugLogEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy
index 40e2baab7f..a32fd7b538 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy
@@ -41,7 +41,7 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -79,7 +79,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled)
String msg = ""
@@ -155,13 +155,13 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess
}
- public void preProcessVFCDelete (Execution execution) {
+ public void preProcessVFCDelete (DelegateExecution execution) {
}
- public void postProcessVFCDelete(Execution execution, String response, String method) {
+ public void postProcessVFCDelete(DelegateExecution execution, String response, String method) {
}
- public void preProcessSDNCDelete (Execution execution) {
+ public void preProcessSDNCDelete (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** preProcessSDNCDelete *****", isDebugEnabled)
String msg = ""
@@ -275,7 +275,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess
utils.log("INFO"," *****Exit preProcessSDNCDelete *****", isDebugEnabled)
}
- public void postProcessSDNCDelete(Execution execution, String response, String method) {
+ public void postProcessSDNCDelete(DelegateExecution execution, String response, String method) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessSDNC " + method + " *****", isDebugEnabled)
@@ -307,7 +307,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess
utils.log("INFO"," *** Exit postProcessSDNC " + method + " ***", isDebugEnabled)
}
- public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled)
String msg = ""
@@ -439,7 +439,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess
utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled)
}
- public void postProcessAAIDEL(Execution execution) {
+ public void postProcessAAIDEL(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessAAIDEL ***** ", isDebugEnabled)
String msg = ""
@@ -469,7 +469,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess
utils.log("INFO"," *** Exit postProcessAAIDEL *** ", isDebugEnabled)
}
- public void preInitResourcesOperStatus(Execution execution){
+ public void preInitResourcesOperStatus(DelegateExecution execution){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled)
@@ -517,7 +517,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess
resourceTemplateUUIDs = resourceTemplateUUIDs + it.resourceInstanceId + ":"
}
}
- execution.setVariable("URN_mso_openecomp_adapters_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
+ execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
String payload =
"""<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2.groovy
index 4c3f6bc73c..03ba10a0c0 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2.groovy
@@ -20,40 +20,22 @@
*/
package org.openecomp.mso.bpmn.infrastructure.scripts
-import org.json.JSONArray;
-
import static org.apache.commons.lang3.StringUtils.*;
-import groovy.xml.XmlUtil
-import groovy.json.*
-import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.apache.commons.lang3.*
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
-import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.core.json.JsonUtils
import org.openecomp.mso.rest.APIResponse;
-import org.openecomp.mso.rest.RESTClient
-import org.openecomp.mso.rest.RESTConfig
-
-import org.openecomp.mso.bpmn.common.scripts.AaiUtil
-
-import java.util.UUID;
-import javax.xml.parsers.DocumentBuilder
-import javax.xml.parsers.DocumentBuilderFactory
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
-import org.json.JSONObject;
-import org.apache.commons.lang3.*
-import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils;
-import org.w3c.dom.Document
-import org.w3c.dom.Element
-import org.w3c.dom.Node
-import org.w3c.dom.NodeList
-import org.xml.sax.InputSource
-import com.fasterxml.jackson.jaxrs.json.annotation.JSONP.Def;
+import groovy.json.*
/**
* This groovy class supports the <class>DoDeleteE2EServiceInstance.bpmn</class> process.
@@ -81,7 +63,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def method = getClass().getSimpleName() + '.buildAPPCRequest(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
@@ -163,7 +145,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
- public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIGET(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -221,7 +203,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- private void loadResourcesProperties(Execution execution) {
+ private void loadResourcesProperties(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.loadResourcesProperties(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -255,7 +237,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
}
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- private void sortDeleteResource(Execution execution) {
+ private void sortDeleteResource(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sortDeleteResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -339,7 +321,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void prepareServiceDeleteResource(Execution execution) {
+ public void prepareServiceDeleteResource(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepareServiceDeleteResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -624,7 +606,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- private String getAaiAr(Execution execution, String relink) {
+ private String getAaiAr(DelegateExecution execution, String relink) {
def method = getClass().getSimpleName() + '.getAaiAr(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -650,7 +632,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
/**
* prepare Decompose next resource to create request
*/
- public void preProcessDecomposeNextResource(Execution execution){
+ public void preProcessDecomposeNextResource(DelegateExecution execution){
def method = getClass().getSimpleName() + '.getAaiAr(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -708,7 +690,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
/**
* post Decompose next resource to create request
*/
- public void postProcessDecomposeNextResource(Execution execution){
+ public void postProcessDecomposeNextResource(DelegateExecution execution){
def method = getClass().getSimpleName() + '.postProcessDecomposeNextResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -750,7 +732,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
/**
* prepare post Unkown Resource Type
*/
- public void postOtherControllerType(Execution execution){
+ public void postOtherControllerType(DelegateExecution execution){
def method = getClass().getSimpleName() + '.postOtherControllerType(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -805,7 +787,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
}
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void preProcessSDNCDelete (Execution execution) {
+ public void preProcessSDNCDelete (DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCDelete(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -921,7 +903,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessSDNCDelete(Execution execution, String response, String action) {
+ public void postProcessSDNCDelete(DelegateExecution execution, String response, String action) {
def method = getClass().getSimpleName() + '.postProcessSDNCDelete(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
@@ -955,7 +937,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessAAIDEL(Execution execution) {
+ public void postProcessAAIDEL(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIDEL(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -989,7 +971,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
/**
* Init the service Operation Status
*/
- public void preUpdateServiceOperationStatus(Execution execution){
+ public void preUpdateServiceOperationStatus(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preUpdateServiceOperationStatus(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -1053,7 +1035,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void preInitResourcesOperStatus(Execution execution){
+ public void preInitResourcesOperStatus(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preInitResourcesOperStatus(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -1166,7 +1148,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessVFCDelete(Execution execution, String response, String action) {
+ public void postProcessVFCDelete(DelegateExecution execution, String response, String action) {
def method = getClass().getSimpleName() + '.postProcessVFCDelete(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -1184,4 +1166,4 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
}
- \ No newline at end of file
+
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy
index a3407553c8..7ded1946b4 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy
@@ -34,7 +34,7 @@ import org.openecomp.mso.rest.RESTConfig
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -51,7 +51,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
NetworkUtils networkUtils = new NetworkUtils()
SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils()
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "networkRequest", "")
@@ -102,7 +102,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
// Pre or Prepare Request Section
// **************************************************
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -229,7 +229,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAI (Execution execution) {
+ public void callRESTQueryAAI (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -244,7 +244,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
String aai_endpoint = execution.getVariable("URN_aai_endpoint")
AaiUtil aaiUriUtil = new AaiUtil(this)
String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
- String queryAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1"
+ String queryAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
utils.logAudit(queryAAIRequest)
execution.setVariable(Prefix + "queryAAIRequest", queryAAIRequest)
utils.log("DEBUG", Prefix + "AAIRequest - " + "\n" + queryAAIRequest, isDebugEnabled)
@@ -328,7 +328,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAICloudRegion (Execution execution) {
+ public void callRESTQueryAAICloudRegion (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -375,7 +375,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareNetworkRequest (Execution execution) {
+ public void prepareNetworkRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -463,7 +463,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
* This method is used instead of an HTTP Connector task because the
* connector does not allow DELETE with a body.
*/
- public void sendRequestToVnfAdapter(Execution execution) {
+ public void sendRequestToVnfAdapter(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendRequestToVnfAdapter(' +
'execution=' + execution.getId() +
')'
@@ -498,7 +498,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareSDNCRequest (Execution execution) {
+ public void prepareSDNCRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -548,7 +548,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRpcSDNCRequest (Execution execution) {
+ public void prepareRpcSDNCRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -588,7 +588,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRpcSDNCDeactivate(Execution execution) {
+ public void prepareRpcSDNCDeactivate(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -626,7 +626,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
// Post or Validate Response Section
// **************************************************
- public void validateNetworkResponse (Execution execution) {
+ public void validateNetworkResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -700,7 +700,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void validateSDNCResponse (Execution execution) {
+ public void validateSDNCResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -728,7 +728,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void validateRpcSDNCDeactivateResponse (Execution execution) {
+ public void validateRpcSDNCDeactivateResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -756,7 +756,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRpcSDNCDeactivateRollback(Execution execution) {
+ public void prepareRpcSDNCDeactivateRollback(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -789,7 +789,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRollbackData(Execution execution) {
+ public void prepareRollbackData(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -825,7 +825,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void postProcessResponse (Execution execution) {
+ public void postProcessResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -886,7 +886,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareSuccessRollbackData(Execution execution) {
+ public void prepareSuccessRollbackData(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -935,7 +935,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRpcSDNCUnassignRollback(Execution execution) {
+ public void prepareRpcSDNCUnassignRollback(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -972,7 +972,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareSDNCRollback (Execution execution) {
+ public void prepareSDNCRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -1025,7 +1025,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void setExceptionFlag(Execution execution){
+ public void setExceptionFlag(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1055,7 +1055,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
// Build Error Section
// *******************************
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollback.groovy
index 4c455e743f..c45b90f953 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollback.groovy
@@ -36,7 +36,7 @@ import org.openecomp.mso.rest.RESTConfig
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -59,7 +59,7 @@ public class DoDeleteNetworkInstanceRollback extends AbstractServiceTaskProcesso
* This method is executed during the preProcessRequest task of the <class>DoDeleteNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "WorkflowException", null)
@@ -88,7 +88,7 @@ public class DoDeleteNetworkInstanceRollback extends AbstractServiceTaskProcesso
* This method is executed during the preProcessRequest task of the <class>DoDeleteNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -174,7 +174,7 @@ public class DoDeleteNetworkInstanceRollback extends AbstractServiceTaskProcesso
}
- public void validateRollbackResponses (Execution execution) {
+ public void validateRollbackResponses (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -313,7 +313,7 @@ public class DoDeleteNetworkInstanceRollback extends AbstractServiceTaskProcesso
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteServiceInstance.groovy
index fd4162fa5c..8fc1f41569 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteServiceInstance.groovy
@@ -37,7 +37,7 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -75,7 +75,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor {
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** preProcessRequest *****", isDebugEnabled)
String msg = ""
@@ -83,7 +83,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor {
try {
String requestId = execution.getVariable("msoRequestId")
execution.setVariable("prefix",Prefix)
-
+
//Inputs
//requestDetails.subscriberInfo. for AAI GET & PUT & SDNC assignToplology
String globalSubscriberId = execution.getVariable("globalSubscriberId") //globalCustomerId
@@ -150,57 +150,40 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void preProcessSDNCDelete (Execution execution) {
+ public void preProcessSDNCDelete (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** preProcessSDNCDelete *****", isDebugEnabled)
String msg = ""
try {
- def serviceInstanceId = execution.getVariable("serviceInstanceId")
- def serviceInstanceName = execution.getVariable("serviceInstanceName")
- def callbackURL = execution.getVariable("sdncCallbackUrl")
- def requestId = execution.getVariable("msoRequestId")
- def serviceId = execution.getVariable("productFamilyId")
- def subscriptionServiceType = execution.getVariable("subscriptionServiceType")
- def globalSubscriberId = execution.getVariable("globalSubscriberId") //globalCustomerId
-
- String serviceModelInfo = execution.getVariable("serviceModelInfo")
+ def serviceInstanceId = execution.getVariable("serviceInstanceId") ?: ""
+ def serviceInstanceName = execution.getVariable("serviceInstanceName") ?: ""
+ def callbackURL = execution.getVariable("sdncCallbackUrl") ?: ""
+ def requestId = execution.getVariable("msoRequestId") ?: ""
+ def serviceId = execution.getVariable("productFamilyId") ?: ""
+ def subscriptionServiceType = execution.getVariable("subscriptionServiceType") ?: ""
+ def globalSubscriberId = execution.getVariable("globalSubscriberId") ?: "" //globalCustomerId
+
+ String serviceModelInfo = execution.getVariable("serviceModelInfo") ?: ""
def modelInvariantUuid = ""
def modelVersion = ""
def modelUuid = ""
def modelName = ""
if (!isBlank(serviceModelInfo))
{
- modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid")
- modelVersion = jsonUtil.getJsonValue(serviceModelInfo, "modelVersion")
- modelUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelUuid")
- modelName = jsonUtil.getJsonValue(serviceModelInfo, "modelName")
+ modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid") ?: ""
+ modelVersion = jsonUtil.getJsonValue(serviceModelInfo, "modelVersion") ?: ""
+ modelUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelUuid") ?: ""
+ modelName = jsonUtil.getJsonValue(serviceModelInfo, "modelName") ?: ""
- if (modelInvariantUuid == null) {
- modelInvariantUuid = ""
- }
- if (modelVersion == null) {
- modelVersion = ""
- }
- if (modelUuid == null) {
- modelUuid = ""
- }
- if (modelName == null) {
- modelName = ""
- }
- }
- if (serviceInstanceName == null) {
- serviceInstanceName = ""
- }
- if (serviceId == null) {
- serviceId = ""
}
- def siParamsXml = execution.getVariable("siParamsXml")
- def serviceType = execution.getVariable("serviceType")
- if (serviceType == null)
+ def siParamsXml = execution.getVariable("siParamsXml") ?: ""
+ def msoAction = ""
+ // special URL for SDNW, msoAction helps set diff url in SDNCA
+ if("TRANSPORT".equalsIgnoreCase(execution.getVariable("serviceType")))
{
- serviceType = ""
+ msoAction = "TRANSPORT"
}
def sdncRequestId = UUID.randomUUID().toString()
@@ -215,7 +198,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor {
<sdncadapter:SvcAction>delete</sdncadapter:SvcAction>
<sdncadapter:SvcOperation>service-topology-operation</sdncadapter:SvcOperation>
<sdncadapter:CallbackUrl>${callbackURL}</sdncadapter:CallbackUrl>
- <sdncadapter:MsoAction>${serviceType}</sdncadapter:MsoAction>
+ <sdncadapter:MsoAction>${msoAction}</sdncadapter:MsoAction>
</sdncadapter:RequestHeader>
<sdncadapterworkflow:SDNCRequestData>
<request-information>
@@ -229,12 +212,12 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor {
<service-information>
<service-id>${serviceId}</service-id>
<subscription-service-type>${subscriptionServiceType}</subscription-service-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>${modelInvariantUuid}</model-invariant-uuid>
<model-uuid>${modelUuid}</model-uuid>
<model-version>${modelVersion}</model-version>
<model-name>${modelName}</model-name>
- </onap-model-information>
+ </ecomp-model-information>
<service-instance-id>${serviceInstanceId}</service-instance-id>
<subscriber-name/>
<global-customer-id>${globalSubscriberId}</global-customer-id>
@@ -264,7 +247,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *****Exit preProcessSDNCDelete *****", isDebugEnabled)
}
- public void postProcessSDNCDelete(Execution execution, String response, String method) {
+ public void postProcessSDNCDelete(DelegateExecution execution, String response, String method) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessSDNC " + method + " *****", isDebugEnabled)
@@ -297,7 +280,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *** Exit postProcessSDNC " + method + " ***", isDebugEnabled)
}
- public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessAAIGET ***** ", isDebugEnabled)
String msg = ""
@@ -406,6 +389,33 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor {
}
}
+
+ //alacarte SIs are NOT sent to sdnc. exceptions are listed in config variable
+ String svcTypes = execution.getVariable("URN_sdnc_si_svc_types") ?: ""
+ utils.log("DEBUG", "SDNC SI serviceTypes:" + svcTypes, isDebugEnabled)
+ List<String> svcList = Arrays.asList(svcTypes.split("\\s*,\\s*"));
+ boolean isSdncService= false
+ for (String listEntry : svcList){
+ if (listEntry.equalsIgnoreCase(serviceType)){
+ isSdncService = true
+ break;
+ }
+ }
+
+ //All Macros are sent to SDNC, TRANSPORT(Macro) is sent to SDNW
+ //Alacartes are sent to SDNC if they are listed in config variable above
+ execution.setVariable("sendToSDNC", true)
+ if(execution.getVariable("sdncVersion").equals("1610")) //alacarte
+ {
+ if(!isSdncService){
+ execution.setVariable("sendToSDNC", false)
+ }
+ }
+
+ utils.log("DEBUG", "isSdncService: " + isSdncService, isDebugEnabled)
+ utils.log("DEBUG", "Send To SDNC: " + execution.getVariable("sendToSDNC"), isDebugEnabled)
+ utils.log("DEBUG", "Service Type: " + execution.getVariable("serviceType"), isDebugEnabled)
+
}
}else{
boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator")
@@ -436,7 +446,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG"," *** Exit postProcessAAIGET *** ", isDebugEnabled)
}
- public void postProcessAAIDEL(Execution execution) {
+ public void postProcessAAIDEL(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessAAIDEL ***** ", isDebugEnabled)
String msg = ""
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy
index 7e957be00a..c71cb0521e 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy
@@ -32,7 +32,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -46,7 +46,7 @@ import org.openecomp.mso.rest.APIResponse;
*/
public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProcessor {
-
+
String vfcUrl = "/vfc/rest/v1/vfcadapter"
String host = "http://mso.mso.testlab.openecomp.org:8080"
@@ -60,7 +60,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
* Inclouds:
* generate the nsOperationKey
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String msg = ""
utils.log("INFO", " *** preProcessRequest() *** ", isDebugEnabled)
@@ -101,7 +101,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
/**
* delete NS task
*/
- public void deleteNetworkService(Execution execution) {
+ public void deleteNetworkService(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** deleteNetworkService start *** ", isDebugEnabled)
String nsOperationKey = execution.getVariable("nsOperationKey");
@@ -121,7 +121,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
/**
* instantiate NS task
*/
- public void terminateNetworkService(Execution execution) {
+ public void terminateNetworkService(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** terminateNetworkService start *** ", isDebugEnabled)
String nsOperationKey = execution.getVariable("nsOperationKey")
@@ -140,7 +140,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
/**
* query NS task
*/
- public void queryNSProgress(Execution execution) {
+ public void queryNSProgress(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** queryNSProgress start *** ", isDebugEnabled)
String jobId = execution.getVariable("jobId")
@@ -160,10 +160,10 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
/**
* delay 5 sec
*/
- public void timeDelay(Execution execution) {
+ public void timeDelay(DelegateExecution execution) {
try {
Thread.sleep(5000);
- } catch(InterruptedException e) {
+ } catch(InterruptedException e) {
utils.log("INFO", "Time Delay exception" + e, isDebugEnabled)
}
}
@@ -171,7 +171,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
/**
* finish NS task
*/
- public void finishNSDelete(Execution execution) {
+ public void finishNSDelete(DelegateExecution execution) {
//no need to do anything util now
}
@@ -180,7 +180,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
* url: the url of the request
* requestBody: the body of the request
*/
- private APIResponse postRequest(Execution execution, String url, String requestBody){
+ private APIResponse postRequest(DelegateExecution execution, String url, String requestBody){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== Started Execute VFC adapter Post Process ======== ", isDebugEnabled)
utils.log("INFO", "url:"+url +"\nrequestBody:"+ requestBody, isDebugEnabled)
@@ -202,7 +202,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
* url: the url of the request
* requestBody: the body of the request
*/
- private APIResponse deleteRequest(Execution execution, String url, String requestBody){
+ private APIResponse deleteRequest(DelegateExecution execution, String url, String requestBody){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== Started Execute VFC adapter Delete Process ======== ", isDebugEnabled)
utils.log("INFO", "url:"+url +"\nrequestBody:"+ requestBody, isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy
index 70a78f4837..a5c39b6998 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy
@@ -23,7 +23,7 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
@@ -38,6 +38,8 @@ import org.w3c.dom.Element
import org.xml.sax.InputSource
import org.w3c.dom.Node
import org.w3c.dom.NodeList;
+import org.openecomp.mso.rest.RESTClient
+import org.openecomp.mso.rest.RESTConfig
/* Subflow for Delete VF Module. When no DoDeleteVfModuleRequest is specified on input,
@@ -54,6 +56,7 @@ import org.w3c.dom.NodeList;
* @param - cloudConfiguration*
* @param - sdncVersion ("1610")
* @param - retainResources
+* @param - aLaCarte
*
* Outputs:
* @param - WorkflowException
@@ -66,7 +69,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable("prefix",Prefix)
execution.setVariable("DoDVfMod_contrailNetworkPolicyFqdnList", null)
execution.setVariable("DoDVfMod_oamManagementV4Address", null)
@@ -76,7 +79,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
// parse the incoming DELETE_VF_MODULE request for the Generic Vnf and Vf Module Ids
// and formulate the outgoing request for PrepareUpdateAAIVfModuleRequest
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
initProcessVariables(execution)
@@ -122,7 +125,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
if (retainResources == null) {
retainResources = false
}
- execution.setVariable("retainResources", retainResources)
+ execution.setVariable("retainResources", retainResources)
}
else {
@@ -184,7 +187,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
// build a SDNC vnf-topology-operation request for the specified action
// (note: the action passed is expected to be 'changedelete' or 'delete')
- public void prepSDNCAdapterRequest(Execution execution, String action) {
+ public void prepSDNCAdapterRequest(DelegateExecution execution, String action) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String uuid = execution.getVariable('testReqId') // for junits
@@ -262,7 +265,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
// parse the incoming DELETE_VF_MODULE request
// and formulate the outgoing VnfAdapterDeleteV1 request
- public void prepVNFAdapterRequest(Execution execution) {
+ public void prepVNFAdapterRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
def requestId = UUID.randomUUID().toString()
def origRequestId = execution.getVariable('requestId')
@@ -304,7 +307,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
// parse the incoming DELETE_VF_MODULE request
// and formulate the outgoing UpdateAAIVfModuleRequest request
- public void prepUpdateAAIVfModule(Execution execution) {
+ public void prepUpdateAAIVfModule(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
def vnfId = execution.getVariable("vnfId")
def vfModuleId = execution.getVariable("vfModuleId")
@@ -322,7 +325,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
// parse the incoming DELETE_VF_MODULE request
// and formulate the outgoing DeleteAAIVfModuleRequest request
- public void prepDeleteAAIVfModule(Execution execution) {
+ public void prepDeleteAAIVfModule(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
def vnfId = execution.getVariable("vnfId")
@@ -339,7 +342,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
// generates a WorkflowException if
// -
- public void handleDoDeleteVfModuleFailure(Execution execution) {
+ public void handleDoDeleteVfModuleFailure(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("ERROR", "AAI error occurred deleting the Generic Vnf: "
+ execution.getVariable("DoDVfMod_deleteGenericVnfResponse"), isDebugEnabled)
@@ -349,7 +352,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
execution.setVariable("WorkflowException", exception)
}
- public void sdncValidateResponse(Execution execution, String response){
+ public void sdncValidateResponse(DelegateExecution execution, String response){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -366,7 +369,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
}
}
- public void postProcessVNFAdapterRequest(Execution execution) {
+ public void postProcessVNFAdapterRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessVNFAdapterRequest(' +
'execution=' + execution.getId() +
')'
@@ -443,7 +446,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
logDebug(" *** COMPLETED postProcessVnfAdapterResponse Process*** ", isDebugLogEnabled)
}
- public void deleteNetworkPoliciesFromAAI(Execution execution) {
+ public void deleteNetworkPoliciesFromAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.deleteNetworkPoliciesFromAAI(' +
'execution=' + execution.getId() +
')'
@@ -571,7 +574,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
*
* @param execution The flow's execution instance.
*/
- public void prepUpdateAAIGenericVnf(Execution execution) {
+ public void prepUpdateAAIGenericVnf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' +
'execution=' + execution.getId() +
')'
@@ -615,6 +618,89 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in prepUpdateAAIGenericVnf(): ' + e.getMessage())
}
}
+
+ /**
+ * Using the vnfId and vfModuleId provided in the inputs,
+ * query AAI to get the corresponding VF Module info.
+ * A 200 response is expected with the VF Module info in the response body,
+ * Will determine VF Module's orchestration status if one exists
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void queryAAIVfModuleForStatus(DelegateExecution execution) {
+ def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
+ def method = getClass().getSimpleName() + '.queryAAIVfModuleForStatus(' +
+ 'execution=' + execution.getId() +
+ ')'
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ execution.setVariable(Prefix + 'orchestrationStatus', '')
+
+ try {
+ def vnfId = execution.getVariable('vnfId')
+ def vfModuleId = execution.getVariable('vfModuleId')
+
+ AaiUtil aaiUriUtil = new AaiUtil(this)
+ String aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
+ logDebug('AAI URI is: ' + aai_uri, isDebugLogEnabled)
+
+ String endPoint = execution.getVariable("URN_aai_endpoint") + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") +
+ "/vf-modules/vf-module/" + UriUtils.encode(vfModuleId, "UTF-8")
+ utils.logAudit("AAI endPoint: " + endPoint)
+
+ try {
+ RESTConfig config = new RESTConfig(endPoint);
+ def responseData = ''
+ def aaiRequestId = UUID.randomUUID().toString()
+ RESTClient client = new RESTClient(config).
+ addHeader('X-TransactionId', aaiRequestId).
+ addHeader('X-FromAppId', 'MSO').
+ addHeader('Content-Type', 'application/xml').
+ addHeader('Accept','application/xml');
+ logDebug('sending GET to AAI endpoint \'' + endPoint + '\'', isDebugLogEnabled)
+ APIResponse response = client.httpGet()
+ utils.logAudit("createVfModule - invoking httpGet() to AAI")
+
+ responseData = response.getResponseBodyAsString()
+ if (responseData != null) {
+ logDebug("Received generic VNF data: " + responseData, isDebugLogEnabled)
+
+ }
+
+ utils.logAudit("deleteVfModule - queryAAIVfModule Response: " + responseData)
+ utils.logAudit("deleteVfModule - queryAAIVfModule ResponseCode: " + response.getStatusCode())
+
+ execution.setVariable(Prefix + 'queryAAIVfModuleForStatusResponseCode', response.getStatusCode())
+ execution.setVariable(Prefix + 'queryAAIVfModuleForStatusResponse', responseData)
+ logDebug('Response code:' + response.getStatusCode(), isDebugLogEnabled)
+ logDebug('Response:' + System.lineSeparator() + responseData, isDebugLogEnabled)
+ // Retrieve VF Module info and its orchestration status; if not found, do nothing
+ if (response.getStatusCode() == 200) {
+ // Parse the VNF record from A&AI to find base module info
+ logDebug('Parsing the VNF data to find orchestration status', isDebugLogEnabled)
+ if (responseData != null) {
+ def vfModuleText = utils.getNodeXml(responseData, "vf-module")
+ //def xmlVfModule= new XmlSlurper().parseText(vfModuleText)
+ def orchestrationStatus = utils.getNodeText1(vfModuleText, "orchestration-status")
+ execution.setVariable(Prefix + "orchestrationStatus", orchestrationStatus)
+ logDebug("Received orchestration status from A&AI: " + orchestrationStatus, isDebugLogEnabled)
+
+ }
+ }
+ } catch (Exception ex) {
+ ex.printStackTrace()
+ logDebug('Exception occurred while executing AAI GET:' + ex.getMessage(),isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'AAI GET Failed:' + ex.getMessage())
+ }
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIVfModuleForStatus(): ' + e.getMessage())
+ }
+ }
+
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy
index 9d9f0bb25a..428f9aa1d9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy
@@ -4,7 +4,7 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
@@ -27,13 +27,13 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable("prefix",Prefix)
execution.setVariable("DDVFMV_contrailNetworkPolicyFqdnList", null)
}
// parse the incoming request
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
initProcessVariables(execution)
@@ -100,7 +100,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
}
}
- public void queryAAIForVfModule(Execution execution) {
+ public void queryAAIForVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.queryAAIForVfModule(' +
'execution=' + execution.getId() +
')'
@@ -155,7 +155,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void validateVfModule(Execution execution) {
+ public void validateVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.validateVfModule(' +
'execution=' + execution.getId() +
')'
@@ -200,7 +200,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
}
- public void preProcessSDNCDeactivateRequest(Execution execution){
+ public void preProcessSDNCDeactivateRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
@@ -224,7 +224,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
logDebug("======== COMPLETED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCUnassignRequest(Execution execution) {
+ public void preProcessSDNCUnassignRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCUnassignRequest(' +
'execution=' + execution.getId() +
')'
@@ -248,7 +248,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
logDebug("======== COMPLETED preProcessSDNCUnassignRequest Process ======== ", isDebugLogEnabled)
}
- public String buildSDNCRequest(Execution execution, String svcInstId, String action){
+ public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){
String uuid = execution.getVariable('testReqId') // for junits
if(uuid==null){
@@ -306,7 +306,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
return sdncRequest
}
- public void validateSDNCResponse(Execution execution, String response, String method){
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -334,7 +334,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
// parse the incoming DELETE_VF_MODULE request
// and formulate the outgoing VnfAdapterDeleteV1 request
- public void prepVNFAdapterRequest(Execution execution) {
+ public void prepVNFAdapterRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
def requestId = UUID.randomUUID().toString()
def origRequestId = execution.getVariable('requestId')
@@ -377,7 +377,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
// generates a WorkflowException if
// -
- public void handleDoDeleteVfModuleFailure(Execution execution) {
+ public void handleDoDeleteVfModuleFailure(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("ERROR", "AAI error occurred deleting the Generic Vnf: "
+ execution.getVariable("DDVFMV_deleteGenericVnfResponse"), isDebugEnabled)
@@ -387,7 +387,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
execution.setVariable("WorkflowException", exception)
}
- public void postProcessVNFAdapterRequest(Execution execution) {
+ public void postProcessVNFAdapterRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessVNFAdapterRequest(' +
'execution=' + execution.getId() +
')'
@@ -455,7 +455,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
logDebug(" *** COMPLETED postProcessVnfAdapterResponse Process*** ", isDebugLogEnabled)
}
- public void deleteNetworkPoliciesFromAAI(Execution execution) {
+ public void deleteNetworkPoliciesFromAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.deleteNetworkPoliciesFromAAI(' +
'execution=' + execution.getId() +
')'
@@ -579,7 +579,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
}
// and formulate the outgoing DeleteAAIVfModuleRequest request
- public void prepDeleteAAIVfModule(Execution execution) {
+ public void prepDeleteAAIVfModule(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
def vnfId = execution.getVariable("vnfId")
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy
index c303faafbe..7784e08958 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy
@@ -27,7 +27,7 @@ import java.util.concurrent.ExecutionException;
import org.springframework.web.util.UriUtils
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
@@ -44,7 +44,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor {
JsonUtils jsonUtil = new JsonUtils()
@Override
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
preProcessRequest(execution, isDebugEnabled)
}
@@ -54,7 +54,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugLogEnabled
*/
- public void preProcessRequest (Execution execution, isDebugEnabled) {
+ public void preProcessRequest (DelegateExecution execution, isDebugEnabled) {
//Input:
// msoRequestId
@@ -96,7 +96,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugLogEnabled
*/
- public void postProcess(Execution execution, isDebugLogEnabled) {
+ public void postProcess(DelegateExecution execution, isDebugLogEnabled) {
execution.setVariable('wasDeleted', 'true')
}
@@ -107,7 +107,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAICloudRegion(Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAICloudRegion(DelegateExecution execution, isDebugEnabled) {
String cloudRegion = execution.getVariable('lcpCloudRegionId')
String aai_endpoint = execution.getVariable("URN_aai_endpoint")
@@ -140,7 +140,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugLogEnabled
*/
- public void callRESTQueryAAIForVolumeGroup(Execution execution, isDebugLogEnabled) {
+ public void callRESTQueryAAIForVolumeGroup(DelegateExecution execution, isDebugLogEnabled) {
def tenantId = execution.getVariable('tenantId')
def volumeGroupId = execution.getVariable('volumeGroupId')
@@ -215,7 +215,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugLogEnabled
*/
- public void prepareVnfAdapterDeleteRequest(Execution execution, isDebugLogEnabled) {
+ public void prepareVnfAdapterDeleteRequest(DelegateExecution execution, isDebugLogEnabled) {
def cloudRegion = execution.getVariable(prefix+'aicCloudRegion')
def tenantId = execution.getVariable('tenantId') // input parameter (optional) - see preProcessRequest
def volumeGroupId = execution.getVariable('volumeGroupId') // input parameter (required)
@@ -256,7 +256,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor {
* @param execution
* @param isDebugEnabled
*/
- public void callRESTDeleteAAIVolumeGroup(Execution execution, isDebugEnabled) {
+ public void callRESTDeleteAAIVolumeGroup(DelegateExecution execution, isDebugEnabled) {
// get variables
String queryAAIVolGrpIdResponse = execution.getVariable(prefix+"queryAAIVolGrpResponse")
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnf.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnf.groovy
index fbbb07ec4d..5e6fff2fd4 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnf.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnf.groovy
@@ -25,7 +25,7 @@ import javax.xml.parsers.DocumentBuilderFactory
import org.apache.commons.lang3.*
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.common.scripts.VidUtils
@@ -57,7 +57,7 @@ class DoDeleteVnf extends AbstractServiceTaskProcessor {
* @param - execution
*
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoDeleteVnf PreProcessRequest Process*** ", isDebugEnabled)
@@ -86,7 +86,7 @@ class DoDeleteVnf extends AbstractServiceTaskProcessor {
}
- public void processGetVnfResponse(Execution execution){
+ public void processGetVnfResponse(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoDeleteVnf processGetVnfResponse Process *** ", isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy
index 3f7ffbf28c..7074df5a91 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy
@@ -19,12 +19,13 @@
*/
package org.openecomp.mso.bpmn.infrastructure.scripts
+import java.awt.Component.BaselineResizeBehavior
import java.util.UUID;
import org.json.JSONObject;
import org.json.JSONArray;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
import static org.apache.commons.lang3.StringUtils.*;
@@ -37,6 +38,10 @@ import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
import org.openecomp.mso.bpmn.common.scripts.VidUtils
+import org.openecomp.mso.bpmn.core.domain.ModelInfo
+import org.openecomp.mso.bpmn.core.domain.ModuleResource
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.VnfResource
import org.openecomp.mso.bpmn.core.RollbackData
import org.openecomp.mso.bpmn.core.WorkflowException
import org.springframework.web.util.UriUtils;
@@ -60,7 +65,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
* @param - execution
*
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoDeleteVnfAndModules PreProcessRequest Process*** ", isDebugEnabled)
@@ -95,6 +100,9 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
execution.setVariable("DDVAM_sdncVersion", sdncVersion)
utils.log("DEBUG", "Incoming Sdnc Version is: " + sdncVersion, isDebugEnabled)
+ // Set aLaCarte flag to false
+ execution.setVariable("aLaCarte", false)
+
String sdncCallbackUrl = (String) execution.getVariable('URN_mso_workflow_sdncadapter_callback')
if (sdncCallbackUrl == null || sdncCallbackUrl.trim().isEmpty()) {
def msg = 'Required variable \'URN_mso_workflow_sdncadapter_callback\' is missing'
@@ -103,7 +111,8 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
}
execution.setVariable("sdncCallbackUrl", sdncCallbackUrl)
utils.logAudit("SDNC Callback URL: " + sdncCallbackUrl)
- logDebug("SDNC Callback URL is: " + sdncCallbackUrl, isDebugEnabled)
+ logDebug("SDNC Callback URL is: " + sdncCallbackUrl, isDebugEnabled)
+
if (!sdncVersion.equals("1702")) {
//String vnfModelInfo = execution.getVariable("vnfModelInfo")
@@ -153,8 +162,32 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
globalSubscriberId = ""
}
execution.setVariable("DDVAM_globalSubscriberId", globalSubscriberId)
- utils.log("DEBUG", "Incoming Global Subscriber Id is: " + globalSubscriberId, isDebugEnabled)
+ utils.log("DEBUG", "Incoming Global Subscriber Id is: " + globalSubscriberId, isDebugEnabled)
+
+ }
+ execution.setVariable("DDVAM_vfModulesFromDecomposition", null)
+ // Retrieve serviceDecomposition if present
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ if (serviceDecomposition != null) {
+ utils.log("DEBUG", "Getting Catalog DB data from ServiceDecomposition object: " + serviceDecomposition.toJsonString(), isDebugEnabled)
+ List<VnfResource> vnfs = serviceDecomposition.getServiceVnfs()
+ utils.log("DEBUG", "Read vnfs", isDebugEnabled)
+ if (vnfs == null) {
+ utils.log("DEBUG", "Error - vnfs are empty in serviceDecomposition object", isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in preProcessRequest - vnfs are empty")
+ }
+ VnfResource vnf = vnfs[0]
+
+ if (vnf == null) {
+ utils.log("DEBUG", "Error - vnf is empty in serviceDecomposition object", isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in preProcessRequest - vnf is empty")
+ }
+
+ List<ModuleResource> vfModules = vnf.getAllVfModuleObjects()
+
+ execution.setVariable("DDVAM_vfModulesFromDecomposition", vfModules)
}
+
execution.setVariable("DDVAM_moduleCount", 0)
execution.setVariable("DDVAM_nextModule", 0)
@@ -172,7 +205,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
- public void preProcessAddOnModule(Execution execution){
+ public void preProcessAddOnModule(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessAddOnModule ======== ", isDebugLogEnabled)
@@ -212,7 +245,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void queryAAIVfModule(Execution execution) {
+ public void queryAAIVfModule(DelegateExecution execution) {
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
def method = getClass().getSimpleName() + '.queryAAIVfModule(' +
'execution=' + execution.getId() +
@@ -247,6 +280,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
logDebug('Response code:' + response.getStatusCode(), isDebugLogEnabled)
logDebug('Response:' + System.lineSeparator() + responseData, isDebugLogEnabled)
//Map<String, String>[] vfModules = new HashMap<String,String>[]
+ List<ModuleResource> vfModulesFromDecomposition = execution.getVariable("DDVAM_vfModulesFromDecomposition")
def vfModulesList = new ArrayList<Map<String,String>>()
def vfModules = null
def vfModuleBaseEntry = null
@@ -261,15 +295,44 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
vfModules = xmlVfModules.'**'.findAll {it.name() == "vf-module"}
execution.setVariable("DDVAM_moduleCount", vfModules.size())
int vfModulesSize = 0
+ ModelInfo vfModuleModelInfo = null
for (i in 0..vfModules.size()-1) {
def vfModuleXml = groovy.xml.XmlUtil.serialize(vfModules[i])
Map<String, String> vfModuleEntry = new HashMap<String, String>()
def vfModuleId = utils.getNodeText1(vfModuleXml, "vf-module-id")
vfModuleEntry.put("vfModuleId", vfModuleId)
- def vfModuleName = utils.getNodeText1(vfModuleXml, "vf-module-name")
+ def vfModuleName = utils.getNodeText1(vfModuleXml, "vf-module-name")
vfModuleEntry.put("vfModuleName", vfModuleName)
+ // Find the model for this vf module in decomposition if specified
+ if (vfModulesFromDecomposition != null) {
+ logDebug("vfModulesFromDecomposition is not null", isDebugLogEnabled)
+ def vfModuleUuid = utils.getNodeText1(vfModuleXml, "model-version-id")
+ if (vfModuleUuid == null) {
+ vfModuleUuid = utils.getNodeText1(vfModuleXml, "persona-model-version")
+ }
+ logDebug("vfModule UUID is: " + vfModuleUuid, isDebugLogEnabled)
+ for (j in 0..vfModulesFromDecomposition.size()-1) {
+ ModuleResource mr = vfModulesFromDecomposition[j]
+ if (mr.getModelInfo().getModelUuid() == vfModuleUuid) {
+ logDebug("Found modelInfo", isDebugLogEnabled)
+ vfModuleModelInfo = mr.getModelInfo()
+ break
+ }
+
+ }
+ }
+ if (vfModuleModelInfo != null) {
+ String vfModuleModelInfoString = vfModuleModelInfo.toString()
+ def vfModuleModelInfoValue = jsonUtil.getJsonValue(vfModuleModelInfoString, "modelInfo")
+ vfModuleEntry.put("vfModuleModelInfo", vfModuleModelInfoValue)
+ }
+ else {
+ vfModuleEntry.put("vfModuleModelInfo", null)
+ }
+
+
def isBaseVfModule = utils.getNodeText(vfModuleXml, "is-base-vf-module")
// Save base vf module for last
if (isBaseVfModule == "true") {
@@ -301,7 +364,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
}
}
- public void prepareNextModuleToDelete(Execution execution){
+ public void prepareNextModuleToDelete(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED prepareNextModuleToDelete ======== ", isDebugLogEnabled)
@@ -315,11 +378,10 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
execution.setVariable("DDVAM_vfModuleId", vfModuleId)
def vfModuleName = vfModule.get("vfModuleName")
- execution.setVariable("DDVAM_vfModuleName", vfModuleName)
-
+ execution.setVariable("DDVAM_vfModuleName", vfModuleName)
- // HARDCODED FOR NOW
- def vfModuleModelInfo = ""
+ def vfModuleModelInfo = vfModule.get("vfModuleModelInfo")
+ logDebug("vfModuleModelInfo for module delete: " + vfModuleModelInfo, isDebugLogEnabled)
execution.setVariable("DDVAM_vfModuleModelInfo", vfModuleModelInfo)
}catch(Exception e){
@@ -329,7 +391,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED prepareNextModuleToDelete ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCDeactivateRequest(Execution execution){
+ public void preProcessSDNCDeactivateRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
@@ -353,7 +415,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCUnassignRequest(Execution execution) {
+ public void preProcessSDNCUnassignRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCUnassignRequest(' +
'execution=' + execution.getId() +
')'
@@ -378,7 +440,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
logDebug("======== COMPLETED preProcessSDNCUnassignRequest Process ======== ", isDebugLogEnabled)
}
- public String buildSDNCRequest(Execution execution, String svcInstId, String action){
+ public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){
String uuid = execution.getVariable('testReqId') // for junits
if(uuid==null){
@@ -443,7 +505,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
return sdncRequest
}
- public void validateSDNCResponse(Execution execution, String response, String method){
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy
index 857ed8d21a..0372d955b5 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy
@@ -42,7 +42,7 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.json.JSONArray;
import org.apache.commons.lang3.*
@@ -87,7 +87,7 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor {
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
//only for dug
execution.setVariable("isDebugLogEnabled","true")
execution.setVariable("unit_test", "true")
@@ -231,7 +231,7 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor {
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled)
String msg = ""
@@ -378,7 +378,7 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor {
}
- public void preInitResourcesOperStatus(Execution execution){
+ public void preInitResourcesOperStatus(DelegateExecution execution){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled)
@@ -439,7 +439,7 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor {
/**
* Init the service Operation Status
*/
- public void preUpdateServiceOperationStatus(Execution execution){
+ public void preUpdateServiceOperationStatus(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preUpdateServiceOperationStatus(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -502,36 +502,36 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor {
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postResourcesOperStatus(Execution execution) {
+ public void postResourcesOperStatus(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
}
- public void preCompareModelVersions(Execution execution) {
+ public void preCompareModelVersions(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
}
- public void postCompareModelVersions(Execution execution) {
+ public void postCompareModelVersions(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
}
- public void preProcessForAddResource(Execution execution) {
+ public void preProcessForAddResource(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
}
- public void postProcessForAddResource(Execution execution) {
+ public void postProcessForAddResource(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
}
- public void preProcessForDeleteResource(Execution execution) {
+ public void preProcessForDeleteResource(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
}
- public void postProcessForDeleteResource(Execution execution) {
+ public void postProcessForDeleteResource(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy
index 36f2d9fa1f..829e4d9d4b 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy
@@ -34,7 +34,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -55,7 +55,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>DoUpdateNetworkInstance.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "messageId", "")
@@ -146,7 +146,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>DoUpdateNetworkInstance.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -303,7 +303,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
}
- public void callRESTQueryAAICloudRegion (Execution execution) {
+ public void callRESTQueryAAICloudRegion (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -353,7 +353,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAINetworkId(Execution execution) {
+ public void callRESTQueryAAINetworkId(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -370,7 +370,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
String aai_endpoint = execution.getVariable("URN_aai_endpoint")
AaiUtil aaiUriUtil = new AaiUtil(this)
String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
- String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1"
+ String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
utils.logAudit(queryIdAAIRequest)
execution.setVariable(Prefix + "queryIdAAIRequest", queryIdAAIRequest)
utils.log("DEBUG", Prefix + "queryIdAAIRequest - " + "\n" + queryIdAAIRequest, isDebugEnabled)
@@ -421,7 +421,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTReQueryAAINetworkId(Execution execution) {
+ public void callRESTReQueryAAINetworkId(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -437,7 +437,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
String aai_endpoint = execution.getVariable("URN_aai_endpoint")
AaiUtil aaiUriUtil = new AaiUtil(this)
String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
- String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1"
+ String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
utils.logAudit(requeryIdAAIRequest)
execution.setVariable(Prefix + "requeryIdAAIRequest", requeryIdAAIRequest)
utils.log("DEBUG", " UPDNETI_requeryIdAAIRequest - " + "\n" + requeryIdAAIRequest, isDebugEnabled)
@@ -498,7 +498,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAINetworkVpnBinding(Execution execution) {
+ public void callRESTQueryAAINetworkVpnBinding(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -570,9 +570,19 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
utils.log("DEBUG", " AAI Query Vpn Binding Success REST Response, , vpnBinding #" + counting + " : " + "\n" + aaiResponseAsString, isDebugEnabled)
String routeTarget = ""
- if (utils.nodeExists(aaiResponseAsString, "global-route-target")) {
- routeTarget = utils.getNodeText1(aaiResponseAsString, "global-route-target")
- routeTargets += "<routeTargets>" + routeTarget + "</routeTargets>" + '\n'
+ String routeRole = ""
+ if (utils.nodeExists(aaiResponseAsString, "route-targets")) {
+ String aaiRouteTargets = utils.getNodeXml(aaiResponseAsString, "route-targets", false)
+ def aaiRouteTargetsXml = new XmlSlurper().parseText(aaiRouteTargets)
+ def aaiRouteTarget = aaiRouteTargetsXml.'**'.findAll {it.name() == "route-target"}
+ for (j in 0..aaiRouteTarget.size()-1) {
+ routeTarget = utils.getNodeText1(XmlUtil.serialize(aaiRouteTarget[j]), "global-route-target")
+ routeRole = utils.getNodeText1(XmlUtil.serialize(aaiRouteTarget[j]), "route-target-role")
+ routeTargets += "<routeTargets>" + '\n' +
+ " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' +
+ " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' +
+ "</routeTargets>" + '\n'
+ }
}
} else {
@@ -632,7 +642,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAINetworkPolicy(Execution execution) {
+ public void callRESTQueryAAINetworkPolicy(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -768,7 +778,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTQueryAAINetworkTableRef(Execution execution) {
+ public void callRESTQueryAAINetworkTableRef(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -904,7 +914,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void callRESTUpdateContrailAAINetwork(Execution execution) {
+ public void callRESTUpdateContrailAAINetwork(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -922,7 +932,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
String aai_endpoint = execution.getVariable("URN_aai_endpoint")
AaiUtil aaiUriUtil = new AaiUtil(this)
String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
- String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1"
+ String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
utils.logAudit(updateContrailAAIUrlRequest)
execution.setVariable(Prefix + "updateContrailAAIUrlRequest", updateContrailAAIUrlRequest)
@@ -984,7 +994,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareUpdateNetworkRequest (Execution execution) {
+ public void prepareUpdateNetworkRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -1024,7 +1034,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareSDNCRequest (Execution execution) {
+ public void prepareSDNCRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -1069,7 +1079,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
// Post or Validate Response Section
// **************************************************
- public void validateUpdateNetworkResponse (Execution execution) {
+ public void validateUpdateNetworkResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -1142,7 +1152,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void validateSDNCResponse (Execution execution) {
+ public void validateSDNCResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -1178,7 +1188,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void postProcessResponse (Execution execution) {
+ public void postProcessResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -1230,7 +1240,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareSDNCRollbackRequest (Execution execution) {
+ public void prepareSDNCRollbackRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -1264,7 +1274,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareRollbackData(Execution execution) {
+ public void prepareRollbackData(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1300,7 +1310,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareSuccessRollbackData(Execution execution) {
+ public void prepareSuccessRollbackData(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1342,7 +1352,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void setExceptionFlag(Execution execution){
+ public void setExceptionFlag(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -1372,7 +1382,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
// Build Error Section
// *******************************
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollback.groovy
index 760b76ad10..7d326382cb 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollback.groovy
@@ -35,7 +35,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -58,7 +58,7 @@ public class DoUpdateNetworkInstanceRollback extends AbstractServiceTaskProcesso
* This method is executed during the preProcessRequest task of the <class>DoUpdateNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "rollbackNetworkRequest", null)
@@ -85,7 +85,7 @@ public class DoUpdateNetworkInstanceRollback extends AbstractServiceTaskProcesso
* This method is executed during the preProcessRequest task of the <class>DoUpdateNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -166,7 +166,7 @@ public class DoUpdateNetworkInstanceRollback extends AbstractServiceTaskProcesso
}
- public void validateRollbackResponses (Execution execution) {
+ public void validateRollbackResponses (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -282,7 +282,7 @@ public class DoUpdateNetworkInstanceRollback extends AbstractServiceTaskProcesso
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy
index f41c8bb876..a9a657eea1 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy
@@ -21,8 +21,9 @@
package org.openecomp.mso.bpmn.infrastructure.scripts
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
+import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.common.scripts.NetworkUtils
import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
@@ -30,20 +31,27 @@ import org.openecomp.mso.bpmn.common.scripts.VfModule
import org.openecomp.mso.bpmn.common.scripts.VfModuleBase
import org.openecomp.mso.bpmn.core.WorkflowException
import org.openecomp.mso.bpmn.core.json.JsonUtils;
+import org.openecomp.mso.client.aai.AAIResourcesClient
+import org.openecomp.mso.client.aai.entities.AAIResultWrapper
+import org.openecomp.mso.client.aai.entities.uri.AAIUri
import org.openecomp.mso.rest.APIResponse
import org.springframework.web.util.UriUtils
+import org.openecomp.mso.client.aai.AAIObjectType;
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
+
public class DoUpdateVfModule extends VfModuleBase {
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
+ CatalogDbUtils catalog = new CatalogDbUtils()
/**
* Initialize the flow's variables.
*
* @param execution The flow's execution instance.
*/
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'DOUPVfMod_')
execution.setVariable('DOUPVfMod_requestInfo', null)
execution.setVariable('DOUPVfMod_serviceInstanceId', null)
@@ -87,7 +95,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -108,9 +116,10 @@ public class DoUpdateVfModule extends VfModuleBase {
def serviceModelInfo = execution.getVariable("serviceModelInfo")
logDebug("serviceModelInfo: " + serviceModelInfo, isDebugLogEnabled)
+ String modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid")
+ logDebug("modelInvariantUuid: " + modelInvariantUuid, isDebugLogEnabled)
def vnfModelInfo = execution.getVariable("vnfModelInfo")
-
//tenantId
def tenantId = execution.getVariable("tenantId")
execution.setVariable("DOUPVfMod_tenantId", tenantId)
@@ -230,7 +239,37 @@ public class DoUpdateVfModule extends VfModuleBase {
Map<String,String> vfModuleInputParams = execution.getVariable("vfModuleInputParams")
if (vfModuleInputParams != null) {
execution.setVariable("DOUPVfMod_vnfParamsMap", vfModuleInputParams)
- }
+ }
+ //get workload and environment context from parent SI
+ String environmentContext = ""
+ String workloadContext =""
+ String serviceType =""
+
+ try{
+ String json = catalog.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid )
+ serviceType = jsonUtil.getJsonValue(json, "serviceResources.serviceType")
+ }catch(BpmnError e){
+ throw e
+ } catch (Exception ex){
+ String msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+
+ try{
+ AAIUri serviceInstanceURI = AAIUriFactory.create(AAIObjectType.SERVICE_INSTANCE, globalSubscriberId,serviceType,serviceInstanceId)
+ AAIResourcesClient aaiRC = new AAIResourcesClient()
+ AAIResultWrapper aaiRW = aaiRC.get(serviceInstanceURI)
+ Map<String, Object> aaiJson = aaiRW.asMap()
+ environmentContext = aaiJson.getOrDefault("environment-context","")
+ workloadContext = aaiJson.getOrDefault("workload-context","")
+
+ }catch (Exception ex) {
+ utils.log("DEBUG","Error retreiving parent service instance information", isDebugLogEnabled)
+ }
+
+ execution.setVariable("DCVFM_environmentContext",environmentContext)
+ execution.setVariable("DCVFM_workloadContext",workloadContext)
}
else {
@@ -296,7 +335,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepPrepareUpdateAAIVfModule(Execution execution) {
+ public void prepPrepareUpdateAAIVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preparePrepareUpdateAAIVfModule(' +
'execution=' + execution.getId() +
')'
@@ -335,7 +374,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepConfirmVolumeGroupTenant(Execution execution) {
+ public void prepConfirmVolumeGroupTenant(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepConfirmVolumeGroupTenant(' +
'execution=' + execution.getId() +
')'
@@ -393,7 +432,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepSDNCTopologyChg(Execution execution) {
+ public void prepSDNCTopologyChg(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepSDNCTopologyChg(' +
'execution=' + execution.getId() +
')'
@@ -493,7 +532,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepSDNCTopologyQuery(Execution execution) {
+ public void prepSDNCTopologyQuery(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepSDNCTopologyQuery(' +
'execution=' + execution.getId() +
')'
@@ -554,7 +593,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepVnfAdapterRest(Execution execution) {
+ public void prepVnfAdapterRest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepVnfAdapterRest(' +
'execution=' + execution.getId() +
')'
@@ -590,12 +629,17 @@ public class DoUpdateVfModule extends VfModuleBase {
notificationUrl = utils.getQualifiedHostNameForCallback(notificationUrl)
}
+ String environmentContext = execution.getVariable("DOUPVEnvironment_context")
+ String workloadContext = execution.getVariable("DOUPVWorkload_context")
+ logDebug("workloadContext: " + workloadContext, isDebugLogEnabled)
+ logDebug("environmentContext: " + environmentContext, isDebugLogEnabled)
+
Map<String, String> vnfParamsMap = execution.getVariable("DOUPVfMod_vnfParamsMap")
String sdncGetResponse = execution.getVariable('DOUPVfMod_sdncTopologyResponse')
String vfModuleParams = buildVfModuleParams(vnfParamsMap, sdncGetResponse, vnfId, vnfName,
- vfModuleId, vfModuleName, null)
+ vfModuleId, vfModuleName, null, environmentContext, workloadContext)
String vnfAdapterRestRequest = """
@@ -646,7 +690,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepUpdateAAIGenericVnf(Execution execution) {
+ public void prepUpdateAAIGenericVnf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' +
'execution=' + execution.getId() +
')'
@@ -694,7 +738,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepUpdateAAIVfModule(Execution execution) {
+ public void prepUpdateAAIVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateAAIVfModule(' +
'execution=' + execution.getId() +
')'
@@ -767,7 +811,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepSDNCTopologyAct(Execution execution) {
+ public void prepSDNCTopologyAct(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepSDNCTopologyAct(' +
'execution=' + execution.getId() +
')'
@@ -864,7 +908,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void handleWorkflowException(Execution execution) {
+ public void handleWorkflowException(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.handleWorkflowException(' +
'execution=' + execution.getId() +
')'
@@ -884,7 +928,7 @@ public class DoUpdateVfModule extends VfModuleBase {
}
}
- public void validateSDNCResponse(Execution execution, String response, String method){
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
def prefix = execution.getVariable("prefix")
@@ -916,7 +960,7 @@ public class DoUpdateVfModule extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void queryAAIVfModule(Execution execution) {
+ public void queryAAIVfModule(DelegateExecution execution) {
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
def method = getClass().getSimpleName() + '.getVfModule(' +
'execution=' + execution.getId() +
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy
index 7aa2ec696e..5d1bc01f1e 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy
@@ -25,7 +25,7 @@ import java.util.UUID;
import org.json.JSONObject;
import org.json.JSONArray;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.hibernate.jpa.criteria.predicate.IsEmptyPredicate
import static org.apache.commons.lang3.StringUtils.*;
@@ -60,7 +60,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
* @param - execution
*
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoUpdateVnfAndModules PreProcessRequest Process*** ", isDebugEnabled)
@@ -143,7 +143,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void queryAAIVfModule(Execution execution) {
+ public void queryAAIVfModule(DelegateExecution execution) {
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
def method = getClass().getSimpleName() + '.queryAAIVfModule(' +
'execution=' + execution.getId() +
@@ -218,6 +218,29 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
def isBaseVfModule = utils.getNodeText(vfModuleXml, "is-base-vf-module")
vfModuleEntry.put("isBaseVfModule", isBaseVfModule)
+
+ String volumeGroupId = ''
+
+ logDebug("Next module!", isDebugLogEnabled)
+ def vfModuleRelationships = vfModules[i].'**'.findAll {it.name() == 'relationship-data'}
+ if (vfModuleRelationships.size() > 0) {
+ for (j in 0..vfModuleRelationships.size()-1) {
+ if (vfModuleRelationships[j] != null) {
+
+ def relationshipKey = vfModuleRelationships[j].'**'.findAll {it.name() == 'relationship-key'}
+
+ if (relationshipKey[0] == 'volume-group.volume-group-id') {
+ def relationshipValue = vfModuleRelationships[j].'**'.findAll {it.name() == 'relationship-value'}
+ volumeGroupId = relationshipValue[0]
+ break
+ }
+ }
+ }
+ }
+
+ vfModuleEntry.put("volumeGroupId", volumeGroupId)
+ logDebug("volumeGroupId is: " + volumeGroupId, isDebugLogEnabled)
+
// Save base vf module to add it to the start of the list later
if (isBaseVfModule == "true") {
vfModuleBaseEntry = vfModuleEntry
@@ -253,7 +276,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
}
}
- public void prepareNextModuleToUpdate(Execution execution){
+ public void prepareNextModuleToUpdate(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED prepareNextModuleToUpdate ======== ", isDebugLogEnabled)
@@ -275,7 +298,9 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
String modelInvariantUuid = vfModule.get("modelInvariantUuid")
logDebug("ModelInvariantUuid: " + modelInvariantUuid, isDebugLogEnabled)
- execution.setVariable("DUVAM_volumeGroupId", "")
+ def volumeGroupId = vfModule.get("volumeGroupId")
+ execution.setVariable("DUVAM_volumeGroupId", volumeGroupId)
+
execution.setVariable("DUVAM_volumeGroupName", "")
VnfResource vnfResource = (VnfResource) execution.getVariable("vnfResourceDecomposition")
@@ -309,7 +334,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void prepUpdateAAIGenericVnf(Execution execution) {
+ public void prepUpdateAAIGenericVnf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' +
'execution=' + execution.getId() +
')'
@@ -381,7 +406,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void callAppCf(Execution execution) {
+ public void callAppCf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.callAppC(' +
'execution=' + execution.getId() +
')'
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/HealchCheckActivate.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/HealchCheckActivate.groovy
index a2d192f6f3..3ab1b17392 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/HealchCheckActivate.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/HealchCheckActivate.groovy
@@ -21,7 +21,7 @@
package org.openecomp.mso.bpmn.infrastructure.scripts;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
import org.apache.commons.lang3.*
@@ -32,7 +32,7 @@ public class HealthCheckActivate extends AbstractServiceTaskProcessor {
* Validates the request message and sets up the workflow.
* @param execution the execution
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
}
@@ -41,7 +41,7 @@ public class HealthCheckActivate extends AbstractServiceTaskProcessor {
* Sends the synchronous response back to the API Handler.
* @param execution the execution
*/
- public void sendResponse(Execution execution) {
+ public void sendResponse(DelegateExecution execution) {
def status = execution.getVariable("healthyStatus")
def healthcheckmessage = execution.getVariable("healthcheckmessage")
if (status == "true") {
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy
index 3a5a3b7e7b..c84c73cb96 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy
@@ -30,7 +30,7 @@ import java.util.UUID;
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.rest.APIResponse
import org.openecomp.mso.rest.RESTClient
import org.openecomp.mso.rest.RESTConfig
@@ -45,25 +45,22 @@ import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
import org.openecomp.mso.bpmn.core.domain.VnfResource
import org.openecomp.mso.client.aai.*
-import org.openecomp.mso.client.appc.ApplicationControllerClient;
-import org.openecomp.mso.client.appc.ApplicationControllerSupport;
-import org.openecomp.appc.client.lcm.model.Action;
-import org.openecomp.appc.client.lcm.model.ActionIdentifiers;
-import org.openecomp.appc.client.lcm.model.LockInput
-import org.openecomp.appc.client.lcm.model.UnlockInput
-import org.openecomp.appc.client.lcm.model.HealthCheckInput
-import org.openecomp.appc.client.lcm.model.StartInput
-import org.openecomp.appc.client.lcm.model.StopInput
-import org.openecomp.appc.client.lcm.model.Flags
-import org.openecomp.appc.client.lcm.model.Status
+import org.openecomp.mso.client.appc.ApplicationControllerOrchestrator
+import org.onap.appc.client.lcm.model.Action;
+import org.onap.appc.client.lcm.model.ActionIdentifiers;
+import org.onap.appc.client.lcm.model.LockInput
+import org.onap.appc.client.lcm.model.UnlockInput
+import org.onap.appc.client.lcm.model.HealthCheckInput
+import org.onap.appc.client.lcm.model.StartInput
+import org.onap.appc.client.lcm.model.Flags
+import org.onap.appc.client.lcm.model.Status
-public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
+public class ReplaceVnfInfra extends VnfCmBase {
ExceptionUtil exceptionUtil = new ExceptionUtil()
- JsonUtils jsonUtils = new JsonUtils()
- ApplicationControllerClient appcClient = new ApplicationControllerClient()
+ JsonUtils jsonUtils = new JsonUtils()
def prefix = "RPLVnfI_"
/**
@@ -71,26 +68,33 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'RPLVnfI_')
- execution.setVariable('RPLVnfI_Request', null)
- execution.setVariable('RPLVnfI_requestInfo', null)
- execution.setVariable('RPLVnfI_requestId', null)
- execution.setVariable('RPLVnfI_source', null)
- execution.setVariable('RPLVnfI_vnfInputs', null)
- execution.setVariable('RPLVnfI_vnfId', null)
- execution.setVariable('RPLVnfI_tenantId', null)
- execution.setVariable('RPLVnfI_vnfParams', null)
- execution.setVariable('RPLVnfI_cloudConfiguration', null)
+ execution.setVariable('Request', null)
+ execution.setVariable('requestInfo', null)
+ execution.setVariable('source', null)
+ execution.setVariable('vnfInputs', null)
+ execution.setVariable('tenantId', null)
+ execution.setVariable('vnfParams', null)
+ execution.setVariable('cloudConfiguration', null)
execution.setVariable('ReplaceVnfSuccessIndicator', false)
- execution.setVariable('RPLVnfI_serviceType', null)
- execution.setVariable('RPLVnfI_nfRole', null)
- execution.setVariable('RPLVnfI_currentActivity', 'RPLVnfI')
- execution.setVariable('RPLVnfI_workStep', null)
- execution.setVariable('RPLVnfI_failedActivity', null)
- execution.setVariable('RPLVnfI_errorCode', "0")
- execution.setVariable('RPLVnfI_errorText', null)
- execution.setVariable('RPLVnfI_healthCheckIndex', 1)
+ execution.setVariable('serviceType', null)
+ execution.setVariable('nfRole', null)
+ execution.setVariable('currentActivity', 'RPLVnfI')
+ execution.setVariable('workStep', null)
+ execution.setVariable('failedActivity', null)
+ execution.setVariable('errorCode', "0")
+ execution.setVariable('errorText', null)
+ execution.setVariable('healthCheckIndex', 1)
+ execution.setVariable('retainResources', true)
+ execution.setVariable('productFamilyId', null)
+ execution.setVariable('healthCheckIndex0', 0)
+ execution.setVariable('healthCheckIndex1', 1)
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", false)
+ execution.setVariable("rollbackVnfStop", false)
+ execution.setVariable("rollbackVnfLock", false)
+ execution.setVariable("rollbackQuiesceTraffic", false)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", false)
}
/**
@@ -98,7 +102,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -120,9 +124,17 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
def serviceInstanceId = execution.getVariable('serviceInstanceId')
def vnfId = execution.getVariable('vnfId')
- execution.setVariable(prefix + 'serviceInstanceId', serviceInstanceId)
- execution.setVariable(prefix + 'vnfId', vnfId)
- execution.setVariable("isVidRequest", "true")
+ execution.setVariable('serviceInstanceId', serviceInstanceId)
+ execution.setVariable("isVidRequest", "true")
+ execution.setVariable('serviceType', 'Mobility')
+ execution.setVariable('retainResources', true)
+ execution.setVariable('disableRollback', true)
+ execution.setVariable('payload', "")
+ execution.setVariable('actionLock', Action.Lock)
+ execution.setVariable('actionUnlock', Action.Unlock)
+ execution.setVariable('actionHealthCheck', Action.HealthCheck)
+ execution.setVariable('actionStart', Action.Start)
+ execution.setVariable('actionStop', Action.Stop)
def asdcServiceModelVersion = ''
def serviceModelInfo = null
@@ -143,61 +155,64 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
}
}
- execution.setVariable(prefix + 'asdcServiceModelVersion', asdcServiceModelVersion)
- execution.setVariable(prefix + 'serviceModelInfo', serviceModelInfo)
+ execution.setVariable('asdcServiceModelVersion', asdcServiceModelVersion)
+ execution.setVariable('serviceModelInfo', serviceModelInfo)
def vnfModelInfo = jsonOutput.toJson(reqMap.requestDetails?.modelInfo)
- execution.setVariable(prefix + 'vnfModelInfo', vnfModelInfo)
+ execution.setVariable('vnfModelInfo', vnfModelInfo)
def vnfModelInvariantUuid = jsonUtils.getJsonValue(vnfModelInfo, "modelInvariantUuid")
- execution.setVariable(prefix + 'vnfModelInvariantUuid', vnfModelInvariantUuid)
+ execution.setVariable('vnfModelInvariantUuid', vnfModelInvariantUuid)
logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled)
def vnfType = execution.getVariable('vnfType')
- execution.setVariable(prefix + 'vnfType', vnfType)
+ execution.setVariable('vnfType', vnfType)
def userParams = reqMap.requestDetails?.requestParameters?.userParams
Map<String, String> userParamsMap = [:]
if (userParams != null) {
userParams.each { userParam ->
- userParamsMap.put(userParam.name, userParam.value)
+ userParamsMap.put(userParam.name, userParam.value.toString())
}
}
utils.log("DEBUG", 'Processed user params: ' + userParamsMap, isDebugLogEnabled)
- execution.setVariable(prefix + 'vfModuleInputParams', userParamsMap)
+ execution.setVariable('vfModuleInputParams', userParamsMap)
- def requestId = execution.getVariable("mso-request-id")
- execution.setVariable(prefix + 'requestId', requestId)
-
+ def requestId = execution.getVariable("requestId")
+ execution.setVariable('msoRequestId', requestId)
+ utils.log("DEBUG", "requestId is: " + requestId, isDebugLogEnabled)
def vnfName = reqMap.requestDetails?.requestInfo?.instanceName ?: null
- execution.setVariable(prefix + 'vnfName', vnfName)
+ execution.setVariable('vnfName', vnfName)
def requestorId = reqMap.requestDetails?.requestInfo?.requestorId ?: null
- execution.setVariable(prefix + 'requestorId', requestorId)
+ execution.setVariable('requestorId', requestorId)
def usePreload = reqMap.requestDetails?.requestParameters?.usePreload
- execution.setVariable(prefix + 'usePreload', usePreload)
+ execution.setVariable('usePreload', usePreload)
+
+ def productFamilyId = reqMap.requestDetails?.requestInfo?.productFamilyId ?: null
+ execution.setVariable('productFamilyId', productFamilyId)
def cloudConfiguration = jsonOutput.toJson(reqMap.requestDetails?.cloudConfiguration)
- execution.setVariable(prefix + 'cloudConfiguration', cloudConfiguration)
+ execution.setVariable('cloudConfiguration', cloudConfiguration)
def lcpCloudRegionId = jsonUtils.getJsonValue(cloudConfiguration, "lcpCloudRegionId")
- execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
+ execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
def tenantId = jsonUtils.getJsonValue(cloudConfiguration, "tenantId")
- execution.setVariable(prefix + 'tenantId', tenantId)
+ execution.setVariable('tenantId', tenantId)
def globalSubscriberId = reqMap.requestDetails?.subscriberInfo?.globalSubscriberId ?: ''
- execution.setVariable(prefix + 'globalSubscriberId', globalSubscriberId)
+ execution.setVariable('globalSubscriberId', globalSubscriberId)
- execution.setVariable(prefix + 'sdncVersion', '1702')
+ execution.setVariable('sdncVersion', '1702')
execution.setVariable("ReplaceVnfInfraSuccessIndicator", false)
execution.setVariable("isDebugLogEnabled", isDebugLogEnabled)
def source = reqMap.requestDetails?.requestInfo?.source
- execution.setVariable(prefix + "source", source)
+ execution.setVariable("source", source)
//For Completion Handler & Fallout Handler
String requestInfo =
@@ -207,9 +222,9 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
<source>${source}</source>
</request-info>"""
- execution.setVariable(prefix + "requestInfo", requestInfo)
+ execution.setVariable("requestInfo", requestInfo)
- logDebug('RequestInfo: ' + execution.getVariable(prefix + "requestInfo"), isDebugLogEnabled)
+ logDebug('RequestInfo: ' + execution.getVariable("requestInfo"), isDebugLogEnabled)
logDebug('Exited ' + method, isDebugLogEnabled)
@@ -231,7 +246,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendSynchResponse(' +
'execution=' + execution.getId() +
')'
@@ -240,9 +255,9 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
try {
- def requestInfo = execution.getVariable('RPLVnfI_requestInfo')
- def requestId = execution.getVariable('RPLVnfI_requestId')
- def source = execution.getVariable('RPLVnfI_source')
+ def requestInfo = execution.getVariable('requestInfo')
+ def requestId = execution.getVariable('requestId')
+ def source = execution.getVariable('source')
def progress = getNodeTextForce(requestInfo, 'progress')
if (progress.isEmpty()) {
progress = '0'
@@ -275,7 +290,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void getVnfResourceDecomposition(Execution execution) {
+ public void getVnfResourceDecomposition(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.getVnfResourceDecomposition(' +
'execution=' + execution.getId() +
')'
@@ -284,7 +299,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
try {
ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
- String vnfModelInvariantUuid = execution.getVariable(prefix + 'vnfModelInvariantUuid')
+ String vnfModelInvariantUuid = execution.getVariable('vnfModelInvariantUuid')
logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled)
List<VnfResource> vnfResources = serviceDecomposition.getServiceVnfs()
@@ -295,9 +310,9 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
if (vnfModelInvariantUuid.equals(modelInvariantUuidFromDecomposition)) {
VnfResource vnfResourceDecomposition = vnfResources[i]
- execution.setVariable(prefix + 'vnfResourceDecomposition', vnfResourceDecomposition)
+ execution.setVariable('vnfResourceDecomposition', vnfResourceDecomposition)
def nfRole = vnfResourceDecomposition.getNfRole()
- execution.setVariable(prefix + 'nfRole', nfRole)
+ execution.setVariable('nfRole', nfRole)
logDebug("vnfResourceDecomposition: " + vnfResourceDecomposition.toJsonString(), isDebugLogEnabled)
break
}
@@ -322,13 +337,13 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void checkIfVnfInMaintInAAI(Execution execution) {
+ public void checkIfVnfInMaintInAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
- execution.setVariable(prefix + "workStep", "checkIfVnfInMaintInAAI")
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkIfVnfInMaintInAAI")
execution.setVariable("failedActivity", "AAI")
logDebug('Entered ' + method, isDebugLogEnabled)
@@ -340,15 +355,21 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
def vnfId = execution.getVariable("vnfId")
boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid)
logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled)
- execution.setVariable(prefix + 'isVnfInMaintenance', isInMaint)
+ execution.setVariable('isVnfInMaintenance', isInMaint)
+
+ if (isInMaint) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "VNF is in maintenance in A&AI")
+ }
+
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage())
}
}
@@ -360,14 +381,14 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void checkIfPserversInMaintInAAI(Execution execution) {
+ public void checkIfPserversInMaintInAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "checkIfPserversInMaintInAAI")
+ execution.setVariable("workStep", "checkIfPserversInMaintInAAI")
execution.setVariable("failedActivity", "AAI")
try {
@@ -378,15 +399,20 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
def vnfId = execution.getVariable("vnfId")
boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid)
logDebug("areLocked result: " + areLocked, isDebugLogEnabled)
- execution.setVariable(prefix + 'arePserversLocked', areLocked)
+ execution.setVariable('arePserversLocked', areLocked)
+
+ if (areLocked) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "pServers are locked in A&AI")
+ }
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage())
}
}
@@ -398,18 +424,18 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
* @param execution The flow's execution instance.
* @param inMaint The boolean value of the flag to set
*/
- public void setVnfInMaintFlagInAAI(Execution execution, boolean inMaint) {
+ public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) {
def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
if (inMaint) {
- execution.setVariable(prefix + "workStep", "setVnfInMaintFlagInAAI")
+ execution.setVariable("workStep", "setVnfInMaintFlagInAAI")
}
else {
- execution.setVariable(prefix + "workStep", "unsetVnfInMaintFlagInAAI")
+ execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI")
}
execution.setVariable("failedActivity", "AAI")
@@ -421,6 +447,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
def vnfId = execution.getVariable("vnfId")
if (inMaint) {
aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", true)
}
else {
aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid)
@@ -431,8 +458,8 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage())
}
}
@@ -444,50 +471,46 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
* @param execution The flow's execution instance.
* @param action The action to take in APP-C.
*/
- public void runAppcCommand(Execution execution, Action action) {
+ public void runAppcCommand(DelegateExecution execution, Action action) {
def method = getClass().getSimpleName() + '.runAppcCommand(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
- logDebug('Entered ' + method, isDebugLogEnabled)
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
try {
logDebug("Running APP-C action: " + action.toString(), isDebugLogEnabled)
String vnfId = execution.getVariable('vnfId')
- String msoRequestId = execution.getVariable(prefix + 'requestId')
+ String msoRequestId = execution.getVariable('requestId')
execution.setVariable('msoRequestId', msoRequestId)
- execution.setVariable(prefix + "failedActivity", "APP-C")
-
- ApplicationControllerSupport support = new ApplicationControllerSupport()
- appcClient.appCSupport=support
- org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", "org.openecomp.appc.client.lcm.model");
- Flags flags = new Flags();
- ActionIdentifiers actionIdentifiers = new ActionIdentifiers();
- actionIdentifiers.setVnfId(vnfId);
- Status appcStatus
+ execution.setVariable("failedActivity", "APP-C")
+ execution.setVariable("workStep", action.toString() + "VNF")
+
+ ApplicationControllerOrchestrator appcClient = new ApplicationControllerOrchestrator()
+ Status appcStatus = null
switch(action) {
case Action.Lock:
- execution.setVariable(prefix + 'workStep', "LockVNF")
- appcStatus = appcClient.runCommand(Action.Lock,actionIdentifiers,flags,null,msoRequestId)
+ execution.setVariable('workStep', "LockVNF")
+ appcStatus = appcClient.runCommand(Action.Lock,msoRequestId,vnfId,null)
break
case Action.Unlock:
- execution.setVariable(prefix + 'workStep', "UnlockVNF")
- appcStatus = appcClient.runCommand(Action.Unlock,actionIdentifiers,flags,null,msoRequestId)
+ execution.setVariable('workStep', "UnlockVNF")
+ appcStatus = appcClient.runCommand(Action.Unlock,msoRequestId,vnfId,null)
break
case Action.HealthCheck:
- def healthCheckIndex = execution.getVariable(prefix + 'healthCheckIndex')
- execution.setVariable(prefix + 'workStep', "HealthCheckVNF" + healthCheckIndex)
- execution.setVariable(prefix + 'healthCheckIndex', healthCheckIndex + 1)
- appcStatus = appcClient.runCommand(Action.HealthCheck,actionIdentifiers,flags,null,msoRequestId)
+ def healthCheckIndex = execution.getVariable('healthCheckIndex')
+ execution.setVariable('workStep', "HealthCheckVNF" + healthCheckIndex)
+ execution.setVariable('healthCheckIndex', healthCheckIndex + 1)
+ appcStatus = appcClient.runCommand(Action.HealthCheck,msoRequestId,vnfId,null)
break
case Action.Start:
- execution.setVariable(prefix + 'workStep', "StartVNF")
- appcStatus = appcClient.runCommand(Action.Start,actionIdentifiers,flags,null,msoRequestId)
+ execution.setVariable('workStep', "StartVNF")
+ appcStatus = appcClient.runCommand(Action.Start,msoRequestId,vnfId,null)
break
case Action.Stop:
- execution.setVariable(prefix + 'workStep', "StopVNF")
- appcStatus = appcClient.runCommand(Action.Stop,actionIdentifiers,flags,null,msoRequestId)
+ execution.setVariable('workStep', "StopVNF")
+ appcStatus = appcClient.runCommand(Action.Stop,msoRequestId,vnfId,null)
break
default:
break
@@ -497,86 +520,42 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
logDebug("AppC status code is: " + appcCode, isDebugLogEnabled)
logDebug("AppC status message is: " + appcStatus.getMessage(), isDebugLogEnabled)
if (support.getCategoryOf(appcStatus) == ApplicationControllerSupport.StatusCategory.ERROR) {
- execution.setVariable(prefix + "errorCode", Integer.toString(appcCode))
- execution.setVariable(prefix + "errorText", appcStatus.getMessage())
+ execution.setVariable("errorCode", Integer.toString(appcCode))
+ execution.setVariable("errorText", appcStatus.getMessage())
}
+
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
- //throw e;
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
} catch (java.lang.NoSuchMethodError e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
- //throw e;
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
-
- //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in ' + method + ': ' + e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
}
}
-
- /**
- * Builds a "CompletionHandler" request and stores it in the specified execution variable.
- *
- * @param execution the execution
- * @param resultVar the execution variable in which the result will be stored
- */
- public void completionHandlerPrep(Execution execution, String resultVar) {
- def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
- 'execution=' + execution.getId() +
- ', resultVar=' + resultVar +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- try {
- def requestInfo = getVariable(execution, 'RPLVnfI_requestInfo')
-
- appcClient.shutdownclient()
-
- String content = """
- <sdncadapterworkflow:MsoCompletionRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:reqtype="http://org.openecomp/mso/request/types/v1">
- ${requestInfo}
- <sdncadapterworkflow:mso-bpel-name>MSO_ACTIVATE_BPEL</sdncadapterworkflow:mso-bpel-name>
- </sdncadapterworkflow:MsoCompletionRequest>
- """
-
- content = utils.formatXml(content)
- logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
- execution.setVariable(resultVar, content)
-
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2000, 'Internal Error')
- }
- }
-
/**
* Prepare DoDeleteVnfAndModules call.
*
*
* @param execution The flow's execution instance.
*/
- public void prepDoDeleteVnfAndModules(Execution execution) {
+ public void prepDoDeleteVnfAndModules(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDoDeleteVnfAndModules(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "doDeleteVnfAndModules")
+ execution.setVariable("workStep", "doDeleteVnfAndModules")
execution.setVariable("failedActivity", "MSO Delete VNF")
logDebug('Exited ' + method, isDebugLogEnabled)
@@ -588,87 +567,34 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void prepDoCreateVnfAndModules(Execution execution) {
+ public void prepDoCreateVnfAndModules(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDoReplaceVnfAndModules(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "doReplaceVnfAndModules")
- execution.setVariable("failedActivity", "MSO Replace VNF")
+ execution.setVariable("workStep", "doCreateVnfAndModules")
+ execution.setVariable("failedActivity", "MSO Create VNF")
logDebug('Exited ' + method, isDebugLogEnabled)
}
- /**
- * Builds a "FalloutHandler" request and stores it in the specified execution variable.
- *
- * @param execution the execution
- * @param resultVar the execution variable in which the result will be stored
- */
- public void falloutHandlerPrep(Execution execution, String resultVar) {
- def method = getClass().getSimpleName() + '.falloutHandlerPrep(' +
- 'execution=' + execution.getId() +
- ', resultVar=' + resultVar +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- try {
- def prefix = execution.getVariable('prefix')
- def request = getVariable(execution, prefix+'Request')
- def requestInformation = execution.getVariable(prefix + "requestInfo")
-
- appcClient.shutdownclient()
-
- def WorkflowException workflowException = execution.getVariable("WorkflowException")
- def errorResponseCode = workflowException.getErrorCode()
- def errorResponseMsg = workflowException.getErrorMessage()
- def encErrorResponseMsg = ""
- if (errorResponseMsg != null) {
- encErrorResponseMsg = errorResponseMsg.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")
- }
-
- String content = """
- <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:reqtype="http://org.openecomp/mso/request/types/v1"
- xmlns:msoservtypes="http://org.openecomp/mso/request/types/v1"
- xmlns:structuredtypes="http://org.openecomp/mso/structured/types/v1">
- ${requestInformation}
- <sdncadapterworkflow:WorkflowException>
- <sdncadapterworkflow:ErrorMessage>${encErrorResponseMsg}</sdncadapterworkflow:ErrorMessage>
- <sdncadapterworkflow:ErrorCode>${errorResponseCode}</sdncadapterworkflow:ErrorCode>
- </sdncadapterworkflow:WorkflowException>
- </sdncadapterworkflow:FalloutHandlerRequest>
- """
- content = utils.formatXml(content)
- logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
- execution.setVariable(resultVar, content)
-
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- exceptionUtil.buildWorkflowException(execution, 2000, 'Internal Error')
- }
- }
/**
* Handle Abort disposition from RainyDayHandler
*
* @param execution The flow's execution instance.
*/
- public void abortProcessing(Execution execution) {
+ public void abortProcessing(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.abortProcessing(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
logDebug('Entered ' + method, isDebugLogEnabled)
- def errorText = execution.getVariable(prefix + "errorText")
- def errorCode = execution.getVariable(prefix + "errorCode")
+ def errorText = execution.getVariable("errorText")
+ def errorCode = execution.getVariable("errorCode")
exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText)
}
@@ -678,14 +604,14 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void manualProcessing(Execution execution) {
+ public void manualProcessing(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.manualProcessing(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
logDebug('Entered ' + method, isDebugLogEnabled)
- def taskId = execution.getVariable("RPLVnfI_taskId")
+ def taskId = execution.getVariable("taskId")
exceptionUtil.buildAndThrowWorkflowException(execution, 2000, "Processing halted - manual task created: " + taskId)
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/RollbackVnf.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/RollbackVnf.groovy
new file mode 100644
index 0000000000..b3ac195c7d
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/RollbackVnf.groovy
@@ -0,0 +1,153 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import groovy.json.JsonOutput
+import groovy.json.JsonSlurper
+import groovy.util.Node
+import groovy.util.XmlParser;
+import groovy.xml.QName
+
+import java.beans.MetaData.java_lang_Class_PersistenceDelegate
+import java.io.Serializable;
+import java.util.UUID;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.openecomp.mso.rest.APIResponse
+import org.openecomp.mso.rest.RESTClient
+import org.openecomp.mso.rest.RESTConfig
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
+import org.openecomp.mso.bpmn.common.scripts.VidUtils;
+import org.openecomp.mso.bpmn.core.RollbackData
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.core.domain.ModelInfo
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.VnfResource
+import org.openecomp.mso.client.aai.*
+
+import org.openecomp.mso.client.appc.ApplicationControllerClient;
+import org.openecomp.mso.client.appc.ApplicationControllerSupport;
+import org.openecomp.mso.client.aai.AAIResourcesClient
+import org.openecomp.mso.client.aai.entities.AAIResultWrapper
+import org.openecomp.mso.client.aai.entities.uri.AAIUri
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory
+import org.onap.appc.client.lcm.model.Action;
+import org.onap.appc.client.lcm.model.ActionIdentifiers;
+import org.onap.appc.client.lcm.model.LockInput
+import org.onap.appc.client.lcm.model.UnlockInput
+import org.onap.appc.client.lcm.model.HealthCheckInput
+import org.onap.appc.client.lcm.model.StartInput
+import org.onap.appc.client.lcm.model.StopInput
+import org.onap.appc.client.lcm.model.Flags
+import org.onap.appc.client.lcm.model.Status
+
+
+
+public class RollbackVnf extends VnfCmBase {
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtils = new JsonUtils()
+ def prefix = "VnfIPU_"
+
+ /**
+ * Initialize the flow's variables.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void initProcessVariables(DelegateExecution execution) {
+ execution.setVariable('prefix', 'RVnf_')
+
+ execution.setVariable('rollbackSuccessful', false)
+ execution.setVariable('currentActivity', 'RVnf')
+ execution.setVariable('workStep', null)
+ execution.setVariable('failedActivity', null)
+ execution.setVariable('errorCode', "0")
+ execution.setVariable('actionUnlock', Action.Unlock)
+ execution.setVariable('actionStart', Action.Start)
+ execution.setVariable('actionResumeTraffic', Action.ResumeTraffic)
+
+ }
+
+ /**
+ * Check for missing elements in the received request.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void preProcessRequest(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.preProcessRequest(' +
+ 'execution=' + execution.getId() +
+ ')'
+ initProcessVariables(execution)
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ initProcessVariables(execution)
+
+ try {
+
+ execution.setVariable("rollbackErrorCode", "0")
+
+ if (execution.getVariable("rollbackSetClosedLoopDisabledFlag") == true) {
+ logDebug("Will call setClosedLoopDisabledFlag", isDebugLogEnabled)
+ }
+
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+
+ }
+ catch(Exception e) {
+ String restFaultMessage = e.getMessage()
+ utils.log("ERROR", " Exception Encountered - " + "\n" + restFaultMessage, isDebugLogEnabled)
+ execution.setVariable("rollbackErrorCode", "1")
+ }
+ }
+
+ /**
+ * Determine success of rollback execution.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void setRollbackResult(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.setRollbackResult(' +
+ 'execution=' + execution.getId() +
+ ')'
+ initProcessVariables(execution)
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ def rollbackErrorCode = execution.getVariable('rollbackErrorCode')
+ if (rollbackErrorCode == "0") {
+ execution.setVariable('rollbackSuccessful', true)
+ logDebug("rollback successful", isDebugLogEnabled)
+ }
+ else {
+ execution.setVariable('rollbackSuccessful', false)
+ logDebug("rollback unsuccessful", isDebugLogEnabled)
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy
index 44eaa349b6..1c87c11ff3 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy
@@ -34,7 +34,7 @@ import java.util.List;
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -50,7 +50,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String msg = ""
@@ -139,7 +139,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor
utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** sendSyncResponse *** ", isDebugEnabled)
@@ -161,7 +161,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor
}
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** sendSyncError *** ", isDebugEnabled)
@@ -189,7 +189,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor
}
- public void prepareCompletionRequest (Execution execution) {
+ public void prepareCompletionRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** prepareCompletion *** ", isDebugEnabled)
@@ -225,7 +225,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor
utils.log("INFO", "*** Exit prepareCompletionRequest ***", isDebugEnabled)
}
- public void prepareFalloutRequest(Execution execution){
+ public void prepareFalloutRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** prepareFalloutRequest *** ", isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstance.groovy
index 05fde9d39f..33eb4f90bf 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstance.groovy
@@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -44,7 +44,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
execution.setVariable(Prefix + "source", "")
execution.setVariable(Prefix + "Success", false)
@@ -67,7 +67,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>UpdateNetworkInstance.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -150,7 +150,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -175,7 +175,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void getNetworkModelInfo (Execution execution) {
+ public void getNetworkModelInfo (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -200,7 +200,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -222,7 +222,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareDBRequestError (Execution execution) {
+ public void prepareDBRequestError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -270,7 +270,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void prepareCompletion (Execution execution) {
+ public void prepareCompletion (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -318,7 +318,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
// Post or Validate Response Section
// **************************************************
- public void postProcessResponse (Execution execution) {
+ public void postProcessResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -352,7 +352,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
// Build Error Section
// *******************************
- public void processRollbackData (Execution execution) {
+ public void processRollbackData (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -373,7 +373,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
// Prepare for FalloutHandler
- public void buildErrorResponse (Execution execution) {
+ public void buildErrorResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -434,7 +434,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor {
}
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModule.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModule.groovy
index 4fddced3f9..2acc550318 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModule.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModule.groovy
@@ -27,7 +27,7 @@ import groovy.xml.QName
import java.io.Serializable;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.core.WorkflowException
import org.openecomp.mso.bpmn.core.json.JsonUtils;
@@ -45,7 +45,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'UPDVfMod_')
execution.setVariable('UPDVfMod_Request', null)
execution.setVariable('UPDVfMod_requestInfo', null)
@@ -66,7 +66,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -107,7 +107,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendSynchResponse(' +
'execution=' + execution.getId() +
')'
@@ -165,7 +165,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void prepDoUpdateVfModule(Execution execution) {
+ public void prepDoUpdateVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDoUpdateVfModule(' +
'execution=' + execution.getId() +
')'
@@ -188,7 +188,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void prepUpdateInfraRequest(Execution execution) {
+ public void prepUpdateInfraRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateInfraRequest(' +
'execution=' + execution.getId() +
')'
@@ -243,7 +243,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor {
* @param execution the execution
* @param resultVar the execution variable in which the result will be stored
*/
- public void completionHandlerPrep(Execution execution, String resultVar) {
+ public void completionHandlerPrep(DelegateExecution execution, String resultVar) {
def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
'execution=' + execution.getId() +
', resultVar=' + resultVar +
@@ -282,7 +282,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor {
* @param execution the execution
* @param resultVar the execution variable in which the result will be stored
*/
- public void falloutHandlerPrep(Execution execution, String resultVar) {
+ public void falloutHandlerPrep(DelegateExecution execution, String resultVar) {
def method = getClass().getSimpleName() + '.falloutHandlerPrep(' +
'execution=' + execution.getId() +
', resultVar=' + resultVar +
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy
index 6ac35261c4..60e8ca4b88 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy
@@ -29,7 +29,7 @@ import groovy.xml.QName
import java.io.Serializable;
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.rest.APIResponse
import org.openecomp.mso.rest.RESTClient
import org.openecomp.mso.rest.RESTConfig
@@ -48,7 +48,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'UPDVfModI_')
execution.setVariable('UPDVfModI_Request', null)
execution.setVariable('UPDVfModI_requestInfo', null)
@@ -69,7 +69,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
@@ -134,7 +134,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
Map<String, String> userParamsMap = [:]
if (userParams != null) {
userParams.each { userParam ->
- userParamsMap.put(userParam.name, userParam.value)
+ userParamsMap.put(userParam.name, userParam.value.toString())
}
}
@@ -231,7 +231,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendSynchResponse(' +
'execution=' + execution.getId() +
')'
@@ -277,7 +277,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void prepDoUpdateVfModule(Execution execution) {
+ public void prepDoUpdateVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDoUpdateVfModule(' +
'execution=' + execution.getId() +
')'
@@ -300,7 +300,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void prepUpdateInfraRequest(Execution execution) {
+ public void prepUpdateInfraRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateInfraRequest(' +
'execution=' + execution.getId() +
')'
@@ -354,7 +354,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
* @param execution the execution
* @param resultVar the execution variable in which the result will be stored
*/
- public void completionHandlerPrep(Execution execution, String resultVar) {
+ public void completionHandlerPrep(DelegateExecution execution, String resultVar) {
def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
'execution=' + execution.getId() +
', resultVar=' + resultVar +
@@ -392,7 +392,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
* @param execution the execution
* @param resultVar the execution variable in which the result will be stored
*/
- public void falloutHandlerPrep(Execution execution, String resultVar) {
+ public void falloutHandlerPrep(DelegateExecution execution, String resultVar) {
def method = getClass().getSimpleName() + '.falloutHandlerPrep(' +
'execution=' + execution.getId() +
', resultVar=' + resultVar +
@@ -445,7 +445,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
* @param execution the execution
* @return the validated request
*/
- public String validateInfraRequest(Execution execution) {
+ public String validateInfraRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.validateInfraRequest(' +
'execution=' + execution.getId() +
')'
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy
index bdb89f0ec2..18f36b879b 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy
@@ -26,13 +26,10 @@ import groovy.json.JsonSlurper
import groovy.util.Node
import groovy.util.XmlParser;
import groovy.xml.QName
-import inventory.aai.att.com.v10.GenericVnf
-import inventory.aai.att.com.v10.GenericVnfs
-import inventory.aai.att.com.v10.Pserver
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import java.io.Serializable;
import java.util.List
@@ -76,7 +73,7 @@ public class UpdateVfModuleInfraV2 {
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'UPDVfModI_')
execution.setVariable('UPDVfModI_Request', null)
execution.setVariable('UPDVfModI_requestInfo', null)
@@ -98,7 +95,7 @@ public class UpdateVfModuleInfraV2 {
*
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
System.out.print("*****************************PreProcessRequest**************************")
def method = getClass().getSimpleName() + '.preProcessRequest(' +
@@ -164,7 +161,7 @@ public class UpdateVfModuleInfraV2 {
Map<String, String> userParamsMap = [:]
if (userParams != null) {
userParams.each { userParam ->
- userParamsMap.put(userParam.name, userParam.value)
+ userParamsMap.put(userParam.name, userParam.value.toString())
}
}
@@ -260,7 +257,7 @@ public class UpdateVfModuleInfraV2 {
*
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
System.out.print("*****************************SendSynchResponse**************************")
def method = getClass().getSimpleName() + '.sendSynchResponse(' +
@@ -297,7 +294,7 @@ public class UpdateVfModuleInfraV2 {
}
//check to see if the Pserver Flag is locked
- public void checkPserverFlag(Execution execution) {
+ public void checkPserverFlag(DelegateExecution execution) {
System.out.println("*****************************CheckingPserverFlag*************************")
String vnfId = (String)execution.getVariable('vnfId')
@@ -307,7 +304,7 @@ public class UpdateVfModuleInfraV2 {
}
//check to see if the VFFlag is locked
- public void vfFlagCheck(Execution execution) {
+ public void vfFlagCheck(DelegateExecution execution) {
System.out.print("*****************************VfFlagCheck*************************")
String vnfId = (String)execution.getVariable('vnfId')
@@ -317,7 +314,7 @@ public class UpdateVfModuleInfraV2 {
}
//lock the VF Flag
- public void vfFlagSet(Execution execution) {
+ public void vfFlagSet(DelegateExecution execution) {
System.out.print("*****************************VfFlagSet*************************")
String vnfId = (String)execution.getVariable('vnfId')
@@ -328,7 +325,7 @@ public class UpdateVfModuleInfraV2 {
}
//Lock AppC
- public void lockAppC(Execution execution) {
+ public void lockAppC(DelegateExecution execution) {
System.out.print("*****************************lockAppC*************************")
def vfModuleId = ""
@@ -338,7 +335,7 @@ public class UpdateVfModuleInfraV2 {
}
//run health check
- public void healthCheckAppC(Execution execution) {
+ public void healthCheckAppC(DelegateExecution execution) {
System.out.print("*****************************healthCheckAppC*************************")
def vfModuleId = ""
@@ -347,14 +344,14 @@ public class UpdateVfModuleInfraV2 {
}
//SDNO health diagnostic
- public void healthDiagnosticSDNO(Execution execution) {
+ public void healthDiagnosticSDNO(DelegateExecution execution) {
System.out.print("*****************************healthDiagnosticSDNO is currently ignored*************************")
//SDNOValidatorImpl.healthDiagnostic("","");
}
//stop VF module controller
- public void stopVfModuleController(Execution execution) {
+ public void stopVfModuleController(DelegateExecution execution) {
System.out.print("*****************************stopVfModuleController*************************")
def vfModuleId = ""
@@ -364,7 +361,7 @@ public class UpdateVfModuleInfraV2 {
}
- public void doUpdateVfModulePrep(Execution execution) {
+ public void doUpdateVfModulePrep(DelegateExecution execution) {
System.out.print("*****************************doUpdateVfModulePrep*************************")
def method = getClass().getSimpleName() + '.prepDoUpdateVfModule(' +
@@ -386,7 +383,7 @@ public class UpdateVfModuleInfraV2 {
}
- public void completionHandlerPrep(Execution execution,String resultVar) {
+ public void completionHandlerPrep(DelegateExecution execution,String resultVar) {
System.out.print("*****************************completionHandlerPrep*************************")
def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
@@ -422,7 +419,7 @@ public class UpdateVfModuleInfraV2 {
}
- public void healthCheckController(Execution execution) {
+ public void healthCheckController(DelegateExecution execution) {
System.out.print("*****************************healthCheckController*************************")
def vfModuleId = ""
@@ -431,7 +428,7 @@ public class UpdateVfModuleInfraV2 {
}
- public void startVfModuleController(Execution execution) {
+ public void startVfModuleController(DelegateExecution execution) {
System.out.print("*****************************startVfModuleController*************************")
def vfModuleId = ""
@@ -440,7 +437,7 @@ public class UpdateVfModuleInfraV2 {
}
- public void vFFlagUnset(Execution execution) {
+ public void vFFlagUnset(DelegateExecution execution) {
System.out.print("*****************************vFFlagUnset*************************")
String vnfId = (String)execution.getVariable('vnfId')
@@ -451,7 +448,7 @@ public class UpdateVfModuleInfraV2 {
}
- public void unlockAppC(Execution execution) {
+ public void unlockAppC(DelegateExecution execution) {
System.out.print("*****************************unlockAppC*************************")
def vfModuleId = ""
@@ -460,7 +457,7 @@ public class UpdateVfModuleInfraV2 {
}
- public void postUpgradeHealthCheckController(Execution execution) {
+ public void postUpgradeHealthCheckController(DelegateExecution execution) {
System.out.print("*****************************postUpgradeHealthCheckController*************************")
def vfModuleId = ""
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolume.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolume.groovy
index 9dca8df108..c68b04f3b1 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolume.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolume.groovy
@@ -23,7 +23,7 @@ package org.openecomp.mso.bpmn.infrastructure.scripts
import java.util.concurrent.ExecutionException;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.springframework.web.util.UriUtils
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
@@ -42,7 +42,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- private void initProcessVariables(Execution execution) {
+ private void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'UPDVfModVol_')
execution.setVariable('UPDVfModVol_Request', null)
execution.setVariable('UPDVfModVol_requestInfo', null)
@@ -66,7 +66,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
* @param execution The flow's execution instance.
*/
@Override
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -108,7 +108,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendSynchResponse(' +
'execution=' + execution.getId() +
')'
@@ -160,7 +160,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void queryAAIForVolumeGroup(Execution execution) {
+ public void queryAAIForVolumeGroup(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.queryAAIForVolumeGroup(' +
'execution=' + execution.getId() +
')'
@@ -218,7 +218,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepVnfAdapterRest(Execution execution) {
+ public void prepVnfAdapterRest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepVnfAdapterRest(' +
'execution=' + execution.getId() +
')'
@@ -285,7 +285,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepDbInfraDbRequest(Execution execution) {
+ public void prepDbInfraDbRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDbInfraDbRequest(' +
'execution=' + execution.getId() +
')'
@@ -329,7 +329,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepCompletionHandlerRequest(Execution execution) {
+ public void prepCompletionHandlerRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepCompletionHandlerRequest(' +
'execution=' + execution.getId() +
')'
@@ -366,7 +366,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepFalloutHandler(Execution execution) {
+ public void prepFalloutHandler(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepFalloutHandler(' +
'execution=' + execution.getId() +
')'
@@ -416,7 +416,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void handleTenantIdMismatch(Execution execution) {
+ public void handleTenantIdMismatch(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.handleTenantIdMismatch(' +
'execution=' + execution.getId() +
')'
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy
index 3d5a31c6e2..913046b247 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy
@@ -25,7 +25,7 @@ import groovy.json.JsonSlurper
import java.util.concurrent.ExecutionException;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.springframework.web.util.UriUtils
import org.openecomp.mso.bpmn.common.scripts.AaiUtil;
@@ -44,7 +44,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- private void initProcessVariables(Execution execution) {
+ private void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'UPDVfModVol_')
execution.setVariable('UPDVfModVol_Request', null)
execution.setVariable('UPDVfModVol_requestInfo', null)
@@ -67,12 +67,12 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
* Perform initial processing, such as request validation, initialization of variables, etc.
* * @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
preProcessRequest(execution, isDebugEnabled)
}
- public void preProcessRequest(Execution execution, isDebugLogEnabled) {
+ public void preProcessRequest(DelegateExecution execution, isDebugLogEnabled) {
initProcessVariables(execution)
String jsonRequest = validateRequest(execution)
@@ -135,7 +135,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution, isDebugLogEnabled) {
+ public void sendSynchResponse(DelegateExecution execution, isDebugLogEnabled) {
def requestInfo = execution.getVariable('UPDVfModVol_requestInfo')
def requestId = execution.getVariable('UPDVfModVol_requestId')
@@ -185,7 +185,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
* Volume Group Id and Aic Cloud Region.
* @param execution The flow's execution instance.
*/
- public void queryAAIForVolumeGroup(Execution execution, isDebugLogEnabled) {
+ public void queryAAIForVolumeGroup(DelegateExecution execution, isDebugLogEnabled) {
def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
@@ -244,7 +244,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
* @param execution
* @param isDebugEnabled
*/
- public void queryAAIForGenericVnf(Execution execution, isDebugEnabled) {
+ public void queryAAIForGenericVnf(DelegateExecution execution, isDebugEnabled) {
def vnfId = execution.getVariable('vnfId')
@@ -285,7 +285,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
* @param execution
* @param isDebugLogEnabled
*/
- public void queryAAIForVfModule(Execution execution, isDebugLogEnabled) {
+ public void queryAAIForVfModule(DelegateExecution execution, isDebugLogEnabled) {
AaiUtil aaiUtil = new AaiUtil(this)
String queryAAIVfModuleRequest = execution.getVariable('UPDVfModVol_relatedVfModuleLink')
@@ -346,7 +346,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepVnfAdapterRest(Execution execution, isDebugLogEnabled) {
+ public void prepVnfAdapterRest(DelegateExecution execution, isDebugLogEnabled) {
def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
def tenantId = execution.getVariable('UPDVfModVol_tenantId')
@@ -433,7 +433,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
*
* @param execution The flow's execution instance.
*/
- public void prepDbInfraDbRequest(Execution execution, isDebugLogEnabled) {
+ public void prepDbInfraDbRequest(DelegateExecution execution, isDebugLogEnabled) {
def requestId = execution.getVariable('UPDVfModVol_requestId')
ExceptionUtil exceptionUtil = new ExceptionUtil();
@@ -462,7 +462,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
* Build a "CompletionHandler" request.
* @param execution The flow's execution instance.
*/
- public void prepCompletionHandlerRequest(Execution execution, requestId, action, source, isDebugLogEnabled) {
+ public void prepCompletionHandlerRequest(DelegateExecution execution, requestId, action, source, isDebugLogEnabled) {
String content = """
<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
@@ -486,7 +486,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
* Build a "FalloutHandler" request.
* @param execution The flow's execution instance.
*/
- public void prepFalloutHandler(Execution execution, isDebugLogEnabled) {
+ public void prepFalloutHandler(DelegateExecution execution, isDebugLogEnabled) {
def requestId = execution.getVariable('UPDVfModVol_requestId')
def source = execution.getVariable('UPDVfModVol_source')
@@ -527,7 +527,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
* AAI did not match the Tenant Id in the incoming request.
* @param execution The flow's execution instance.
*/
- public void handleTenantIdMismatch(Execution execution, isDebugLogEnabled) {
+ public void handleTenantIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
@@ -547,7 +547,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
* AAI did not match the model invariant ID in the incoming request.
* @param execution The flow's execution instance.
*/
- public void handlePersonaModelIdMismatch(Execution execution, isDebugLogEnabled) {
+ public void handlePersonaModelIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
def modelInvariantId = execution.getVariable('UPDVfModVol_modelInvariantId')
def personaModelId = execution.getVariable('UPDVfModVol_personaModelId')
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy
index 4f574c42ba..0db7616d3d 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy
@@ -31,7 +31,7 @@ import java.util.UUID;
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.rest.APIResponse
import org.openecomp.mso.rest.RESTClient
import org.openecomp.mso.rest.RESTConfig
@@ -46,25 +46,23 @@ import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
import org.openecomp.mso.bpmn.core.domain.VnfResource
import org.openecomp.mso.client.aai.*
-import org.openecomp.mso.client.appc.ApplicationControllerClient;
-import org.openecomp.mso.client.appc.ApplicationControllerSupport;
-import org.openecomp.appc.client.lcm.model.Action;
-import org.openecomp.appc.client.lcm.model.ActionIdentifiers;
-import org.openecomp.appc.client.lcm.model.LockInput
-import org.openecomp.appc.client.lcm.model.UnlockInput
-import org.openecomp.appc.client.lcm.model.HealthCheckInput
-import org.openecomp.appc.client.lcm.model.StartInput
-import org.openecomp.appc.client.lcm.model.StopInput
-import org.openecomp.appc.client.lcm.model.Flags
-import org.openecomp.appc.client.lcm.model.Status
+import org.openecomp.mso.client.appc.ApplicationControllerOrchestrator
+import org.onap.appc.client.lcm.model.Action;
+import org.onap.appc.client.lcm.model.ActionIdentifiers;
+import org.onap.appc.client.lcm.model.LockInput
+import org.onap.appc.client.lcm.model.UnlockInput
+import org.onap.appc.client.lcm.model.HealthCheckInput
+import org.onap.appc.client.lcm.model.StartInput
+import org.onap.appc.client.lcm.model.StopInput
+import org.onap.appc.client.lcm.model.Flags
+import org.onap.appc.client.lcm.model.Status
-public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
+public class UpdateVnfInfra extends VnfCmBase {
ExceptionUtil exceptionUtil = new ExceptionUtil()
- JsonUtils jsonUtils = new JsonUtils()
- ApplicationControllerClient appcClient = new ApplicationControllerClient()
+ JsonUtils jsonUtils = new JsonUtils()
def prefix = "UPDVnfI_"
/**
@@ -72,25 +70,28 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'UPDVnfI_')
- execution.setVariable('UPDVnfI_Request', null)
- execution.setVariable('UPDVnfI_requestInfo', null)
- execution.setVariable('UPDVnfI_requestId', null)
- execution.setVariable('UPDVnfI_source', null)
- execution.setVariable('UPDVnfI_vnfInputs', null)
- execution.setVariable('UPDVnfI_vnfId', null)
- execution.setVariable('UPDVnfI_tenantId', null)
- execution.setVariable('UPDVnfI_vnfParams', null)
+ execution.setVariable('Request', null)
+ execution.setVariable('source', null)
+ execution.setVariable('vnfInputs', null)
+ execution.setVariable('tenantId', null)
+ execution.setVariable('vnfParams', null)
execution.setVariable('UpdateVnfSuccessIndicator', false)
- execution.setVariable('UPDVnfI_serviceType', null)
- execution.setVariable('UPDVnfI_nfRole', null)
- execution.setVariable('UPDVnfI_currentActivity', 'UPDVnfI')
- execution.setVariable('UPDVnfI_workStep', null)
- execution.setVariable('UPDVnfI_failedActivity', null)
- execution.setVariable('UPDVnfI_errorCode', "0")
- execution.setVariable('UPDVnfI_errorText', null)
- execution.setVariable('UPDVnfI_healthCheckIndex', 1)
+ execution.setVariable('serviceType', null)
+ execution.setVariable('nfRole', null)
+ execution.setVariable('currentActivity', 'UPDVnfI')
+ execution.setVariable('workStep', null)
+ execution.setVariable('failedActivity', null)
+ execution.setVariable('errorCode', "0")
+ execution.setVariable('errorText', null)
+ execution.setVariable('healthCheckIndex0', 0)
+ execution.setVariable('healthCheckIndex1', 1)
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", false)
+ execution.setVariable("rollbackVnfStop", false)
+ execution.setVariable("rollbackVnfLock", false)
+ execution.setVariable("rollbackQuiesceTraffic", false)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", false)
}
/**
@@ -98,7 +99,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -116,13 +117,14 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
def jsonOutput = new JsonOutput()
Map reqMap = jsonSlurper.parseText(incomingRequest)
utils.log("DEBUG", " Request is in JSON format.", isDebugLogEnabled)
-
- def serviceInstanceId = execution.getVariable('serviceInstanceId')
- def vnfId = execution.getVariable('vnfId')
- execution.setVariable(prefix + 'serviceInstanceId', serviceInstanceId)
- execution.setVariable(prefix + 'vnfId', vnfId)
- execution.setVariable("isVidRequest", "true")
+ execution.setVariable("isVidRequest", "true")
+ execution.setVariable('serviceType', 'Mobility')
+ execution.setVariable('actionLock', Action.Lock)
+ execution.setVariable('actionUnlock', Action.Unlock)
+ execution.setVariable('actionHealthCheck', Action.HealthCheck)
+ execution.setVariable('actionStart', Action.Start)
+ execution.setVariable('actionStop', Action.Stop)
def asdcServiceModelVersion = ''
def serviceModelInfo = null
@@ -143,61 +145,61 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
}
}
- execution.setVariable(prefix + 'asdcServiceModelVersion', asdcServiceModelVersion)
- execution.setVariable(prefix + 'serviceModelInfo', serviceModelInfo)
+ execution.setVariable('asdcServiceModelVersion', asdcServiceModelVersion)
+ execution.setVariable('serviceModelInfo', serviceModelInfo)
def vnfModelInfo = jsonOutput.toJson(reqMap.requestDetails?.modelInfo)
- execution.setVariable(prefix + 'vnfModelInfo', vnfModelInfo)
+ execution.setVariable('vnfModelInfo', vnfModelInfo)
def vnfModelInvariantUuid = jsonUtils.getJsonValue(vnfModelInfo, "modelInvariantUuid")
- execution.setVariable(prefix + 'vnfModelInvariantUuid', vnfModelInvariantUuid)
+ execution.setVariable('vnfModelInvariantUuid', vnfModelInvariantUuid)
logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled)
def vnfType = execution.getVariable('vnfType')
- execution.setVariable(prefix + 'vnfType', vnfType)
+ execution.setVariable('vnfType', vnfType)
def userParams = reqMap.requestDetails?.requestParameters?.userParams
Map<String, String> userParamsMap = [:]
if (userParams != null) {
userParams.each { userParam ->
- userParamsMap.put(userParam.name, userParam.value)
+ userParamsMap.put(userParam.name, userParam.value.toString())
}
}
utils.log("DEBUG", 'Processed user params: ' + userParamsMap, isDebugLogEnabled)
- execution.setVariable(prefix + 'vfModuleInputParams', userParamsMap)
+ execution.setVariable('vfModuleInputParams', userParamsMap)
def requestId = execution.getVariable("mso-request-id")
- execution.setVariable(prefix + 'requestId', requestId)
+ execution.setVariable('requestId', requestId)
execution.setVariable('msoRequestId', requestId)
def vnfName = reqMap.requestDetails?.requestInfo?.instanceName ?: null
- execution.setVariable(prefix + 'vnfName', vnfName)
+ execution.setVariable('vnfName', vnfName)
def requestorId = reqMap.requestDetails?.requestInfo?.requestorId ?: null
- execution.setVariable(prefix + 'requestorId', requestorId)
+ execution.setVariable('requestorId', requestorId)
def usePreload = reqMap.requestDetails?.requestParameters?.usePreload
- execution.setVariable(prefix + 'usePreload', usePreload)
+ execution.setVariable('usePreload', usePreload)
def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
def lcpCloudRegionId = cloudConfiguration.lcpCloudRegionId
- execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
+ execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
def tenantId = cloudConfiguration.tenantId
- execution.setVariable(prefix + 'tenantId', tenantId)
+ execution.setVariable('tenantId', tenantId)
def globalSubscriberId = reqMap.requestDetails?.subscriberInfo?.globalSubscriberId ?: ''
- execution.setVariable(prefix + 'globalSubscriberId', globalSubscriberId)
+ execution.setVariable('globalSubscriberId', globalSubscriberId)
- execution.setVariable(prefix + 'sdncVersion', '1702')
+ execution.setVariable('sdncVersion', '1702')
execution.setVariable("UpdateVnfInfraSuccessIndicator", false)
execution.setVariable("isDebugLogEnabled", isDebugLogEnabled)
def source = reqMap.requestDetails?.requestInfo?.source
- execution.setVariable(prefix + "source", source)
+ execution.setVariable("source", source)
//For Completion Handler & Fallout Handler
String requestInfo =
@@ -207,9 +209,9 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
<source>${source}</source>
</request-info>"""
- execution.setVariable(prefix + "requestInfo", requestInfo)
+ execution.setVariable("requestInfo", requestInfo)
- logDebug('RequestInfo: ' + execution.getVariable(prefix + "requestInfo"), isDebugLogEnabled)
+ logDebug('RequestInfo: ' + execution.getVariable("requestInfo"), isDebugLogEnabled)
logDebug('Exited ' + method, isDebugLogEnabled)
@@ -231,7 +233,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendSynchResponse(' +
'execution=' + execution.getId() +
')'
@@ -240,9 +242,9 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
try {
- def requestInfo = execution.getVariable('UPDVnfI_requestInfo')
- def requestId = execution.getVariable('UPDVnfI_requestId')
- def source = execution.getVariable('UPDVnfI_source')
+ def requestInfo = execution.getVariable('requestInfo')
+ def requestId = execution.getVariable('requestId')
+ def source = execution.getVariable('source')
def progress = getNodeTextForce(requestInfo, 'progress')
if (progress.isEmpty()) {
progress = '0'
@@ -275,7 +277,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void getVnfResourceDecomposition(Execution execution) {
+ public void getVnfResourceDecomposition(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.getVnfResourceDecomposition(' +
'execution=' + execution.getId() +
')'
@@ -284,7 +286,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
try {
ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
- String vnfModelInvariantUuid = execution.getVariable(prefix + 'vnfModelInvariantUuid')
+ String vnfModelInvariantUuid = execution.getVariable('vnfModelInvariantUuid')
logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled)
List<VnfResource> vnfResources = serviceDecomposition.getServiceVnfs()
@@ -295,9 +297,9 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
if (vnfModelInvariantUuid.equals(modelInvariantUuidFromDecomposition)) {
VnfResource vnfResourceDecomposition = vnfResources[i]
- execution.setVariable(prefix + 'vnfResourceDecomposition', vnfResourceDecomposition)
+ execution.setVariable('vnfResourceDecomposition', vnfResourceDecomposition)
def nfRole = vnfResourceDecomposition.getNfRole()
- execution.setVariable(prefix + 'nfRole', nfRole)
+ execution.setVariable('nfRole', nfRole)
logDebug("vnfResourceDecomposition: " + vnfResourceDecomposition.toJsonString(), isDebugLogEnabled)
break
}
@@ -322,14 +324,14 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void checkIfVnfInMaintInAAI(Execution execution) {
+ public void checkIfVnfInMaintInAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
- execution.setVariable(prefix + "workStep", "checkIfVnfInMaintInAAI")
- execution.setVariable(prefix + "failedActivity", "AAI")
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkIfVnfInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
logDebug('Entered ' + method, isDebugLogEnabled)
try {
@@ -340,15 +342,21 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
def vnfId = execution.getVariable("vnfId")
boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid)
logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled)
- execution.setVariable(prefix + 'isVnfInMaintenance', isInMaint)
+ execution.setVariable('isVnfInMaintenance', isInMaint)
+
+ if (isInMaint) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "VNF is in maintenance in A&AI")
+ }
+
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage())
}
}
@@ -360,15 +368,15 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
*
* @param execution The flow's execution instance.
*/
- public void checkIfPserversInMaintInAAI(Execution execution) {
+ public void checkIfPserversInMaintInAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "checkIfPserversInMaintInAAI")
- execution.setVariable(prefix + "failedActivity", "AAI")
+ execution.setVariable("workStep", "checkIfPserversInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
try {
def transactionLoggingUuid = UUID.randomUUID().toString()
@@ -378,15 +386,20 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
def vnfId = execution.getVariable("vnfId")
boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid)
logDebug("areLocked result: " + areLocked, isDebugLogEnabled)
- execution.setVariable(prefix + 'arePserversLocked', areLocked)
+ execution.setVariable('arePserversLocked', areLocked)
+
+ if (areLocked) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "pServers are locked in A&AI")
+ }
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage())
}
}
@@ -398,20 +411,20 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
* @param execution The flow's execution instance.
* @param inMaint The boolean value of the flag to set
*/
- public void setVnfInMaintFlagInAAI(Execution execution, boolean inMaint) {
+ public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) {
def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
if (inMaint) {
- execution.setVariable(prefix + "workStep", "setVnfInMaintFlagInAAI")
+ execution.setVariable("workStep", "setVnfInMaintFlagInAAI")
}
else {
- execution.setVariable(prefix + "workStep", "unsetVnfInMaintFlagInAAI")
+ execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI")
}
- execution.setVariable(prefix + "failedActivity", "AAI")
+ execution.setVariable("failedActivity", "AAI")
try {
def transactionLoggingUuid = UUID.randomUUID().toString()
@@ -421,6 +434,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
def vnfId = execution.getVariable("vnfId")
if (inMaint) {
aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", true)
}
else {
aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid)
@@ -431,246 +445,53 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage())
}
}
- /**
- * Call APP-C client to execute specified APP-C command for this VNF.
- *
- *
- * @param execution The flow's execution instance.
- * @param action The action to take in APP-C.
- */
- public void runAppcCommand(Execution execution, Action action) {
- def method = getClass().getSimpleName() + '.runAppcCommand(' +
- 'execution=' + execution.getId() +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- try {
- logDebug("Running APP-C action: " + action.toString(), isDebugLogEnabled)
- String vnfId = execution.getVariable('vnfId')
- String msoRequestId = execution.getVariable(prefix + 'requestId')
- execution.setVariable('msoRequestId', msoRequestId)
- execution.setVariable(prefix + "failedActivity", "APP-C")
-
- ApplicationControllerSupport support = new ApplicationControllerSupport()
- appcClient.appCSupport=support
- org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", "org.openecomp.appc.client.lcm.model");
- Flags flags = new Flags();
- ActionIdentifiers actionIdentifiers = new ActionIdentifiers();
- actionIdentifiers.setVnfId(vnfId);
- Status appcStatus
- switch(action) {
- case Action.Lock:
- execution.setVariable(prefix + 'workStep', "LockVNF")
- appcStatus = appcClient.runCommand(Action.Lock,actionIdentifiers,flags,null,msoRequestId)
- break
- case Action.Unlock:
- execution.setVariable(prefix + 'workStep', "UnlockVNF")
- appcStatus = appcClient.runCommand(Action.Unlock,actionIdentifiers,flags,null,msoRequestId)
- break
- case Action.HealthCheck:
- def healthCheckIndex = execution.getVariable(prefix + 'healthCheckIndex')
- execution.setVariable(prefix + 'workStep', "HealthCheckVNF" + healthCheckIndex)
- execution.setVariable(prefix + 'healthCheckIndex', healthCheckIndex + 1)
- appcStatus = appcClient.runCommand(Action.HealthCheck,actionIdentifiers,flags,null,msoRequestId)
- break
- case Action.Start:
- execution.setVariable(prefix + 'workStep', "StartVNF")
- appcStatus = appcClient.runCommand(Action.Start,actionIdentifiers,flags,null,msoRequestId)
- break
- case Action.Stop:
- execution.setVariable(prefix + 'workStep', "StopVNF")
- appcStatus = appcClient.runCommand(Action.Stop,actionIdentifiers,flags,null,msoRequestId)
- break
- default:
- break
- }
- logDebug("Completed AppC request", isDebugLogEnabled)
- int appcCode = appcStatus.getCode()
- logDebug("AppC status code is: " + appcCode, isDebugLogEnabled)
- logDebug("AppC status message is: " + appcStatus.getMessage(), isDebugLogEnabled)
- if (support.getCategoryOf(appcStatus) == ApplicationControllerSupport.StatusCategory.ERROR) {
- execution.setVariable(prefix + "errorCode", Integer.toString(appcCode))
- execution.setVariable(prefix + "errorText", appcStatus.getMessage())
- }
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
- //throw e;
- } catch (java.lang.NoSuchMethodError e) {
- logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
- //throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
-
- //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in ' + method + ': ' + e.getMessage())
- }
- }
-
-
-
/**
- * Builds a "CompletionHandler" request and stores it in the specified execution variable.
- *
- * @param execution the execution
- * @param resultVar the execution variable in which the result will be stored
- */
- public void completionHandlerPrep(Execution execution, String resultVar) {
- def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
- 'execution=' + execution.getId() +
- ', resultVar=' + resultVar +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
-
- try {
- appcClient.shutdownclient()
- def requestInfo = getVariable(execution, 'UPDVnfI_requestInfo')
-
- String content = """
- <sdncadapterworkflow:MsoCompletionRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:reqtype="http://org.openecomp/mso/request/types/v1">
- ${requestInfo}
- <sdncadapterworkflow:mso-bpel-name>MSO_ACTIVATE_BPEL</sdncadapterworkflow:mso-bpel-name>
- </sdncadapterworkflow:MsoCompletionRequest>
- """
-
- content = utils.formatXml(content)
- logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
- execution.setVariable(resultVar, content)
-
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2000, 'Internal Error')
- }
- }
-
- /**
* Prepare DoUpdateVnfAndModules call.
*
*
* @param execution The flow's execution instance.
*/
- public void prepDoUpdateVnfAndModules(Execution execution) {
+ public void prepDoUpdateVnfAndModules(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDoUpdateVnfAndModules(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "doUpdateVnfAndModules")
- execution.setVariable(prefix + "failedActivity", "MSO Update VNF")
+ execution.setVariable("workStep", "doUpdateVnfAndModules")
+ execution.setVariable("failedActivity", "MSO Update VNF")
logDebug('Exited ' + method, isDebugLogEnabled)
}
- /**
- * Builds a "FalloutHandler" request and stores it in the specified execution variable.
- *
- * @param execution the execution
- * @param resultVar the execution variable in which the result will be stored
- */
- public void falloutHandlerPrep(Execution execution, String resultVar) {
- def method = getClass().getSimpleName() + '.falloutHandlerPrep(' +
- 'execution=' + execution.getId() +
- ', resultVar=' + resultVar +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- try {
- def prefix = execution.getVariable('prefix')
- def request = getVariable(execution, prefix+'Request')
- def requestInformation = execution.getVariable(prefix + "requestInfo")
-
- appcClient.shutdownclient()
-
- def WorkflowException workflowException = execution.getVariable("WorkflowException")
- def errorResponseCode = workflowException.getErrorCode()
- def errorResponseMsg = workflowException.getErrorMessage()
- def encErrorResponseMsg = ""
- if (errorResponseMsg != null) {
- encErrorResponseMsg = errorResponseMsg.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")
- }
-
- String content = """
- <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:reqtype="http://org.openecomp/mso/request/types/v1"
- xmlns:msoservtypes="http://org.openecomp/mso/request/types/v1"
- xmlns:structuredtypes="http://org.openecomp/mso/structured/types/v1">
- ${requestInformation}
- <sdncadapterworkflow:WorkflowException>
- <sdncadapterworkflow:ErrorMessage>${encErrorResponseMsg}</sdncadapterworkflow:ErrorMessage>
- <sdncadapterworkflow:ErrorCode>${errorResponseCode}</sdncadapterworkflow:ErrorCode>
- </sdncadapterworkflow:WorkflowException>
- </sdncadapterworkflow:FalloutHandlerRequest>
- """
- content = utils.formatXml(content)
- logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
- execution.setVariable(resultVar, content)
-
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- exceptionUtil.buildWorkflowException(execution, 2000, 'Internal Error')
- }
- }
/**
* Handle Abort disposition from RainyDayHandler
*
* @param execution The flow's execution instance.
*/
- public void abortProcessing(Execution execution) {
+ public void abortProcessing(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.abortProcessing(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
logDebug('Entered ' + method, isDebugLogEnabled)
- def errorText = execution.getVariable(prefix + "errorText")
- def errorCode = execution.getVariable(prefix + "errorCode")
+ def errorText = execution.getVariable("errorText")
+ def errorCode = execution.getVariable("errorCode")
exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText)
}
- /**
- * Handle Manual disposition from RainyDayHandler
- *
- * @param execution The flow's execution instance.
- */
- public void manualProcessing(Execution execution) {
- def method = getClass().getSimpleName() + '.manualProcessing(' +
- 'execution=' + execution.getId() +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- def taskId = execution.getVariable("UPDVnfI_taskId")
-
- exceptionUtil.buildAndThrowWorkflowException(execution, 2000, "Processing halted - manual task created: " + taskId)
- }
+
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy
new file mode 100644
index 0000000000..c588d38946
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy
@@ -0,0 +1,806 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import groovy.json.JsonOutput
+import groovy.json.JsonSlurper
+import groovy.util.Node
+import groovy.util.XmlParser;
+import groovy.xml.QName
+
+import org.json.JSONArray
+import org.json.JSONObject
+
+import java.beans.MetaData.java_lang_Class_PersistenceDelegate
+import java.io.Serializable;
+import java.util.List
+import java.util.UUID;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.openecomp.mso.rest.APIResponse
+import org.openecomp.mso.rest.RESTClient
+import org.openecomp.mso.rest.RESTConfig
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
+import org.openecomp.mso.bpmn.common.scripts.VidUtils;
+import org.openecomp.mso.bpmn.core.RollbackData
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.core.domain.ModelInfo
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.VnfResource
+import org.openecomp.mso.client.aai.*
+
+import org.openecomp.mso.client.appc.ApplicationControllerClient;
+import org.openecomp.mso.client.appc.ApplicationControllerSupport;
+import org.openecomp.mso.client.aai.entities.AAIResultWrapper
+import org.openecomp.mso.client.aai.entities.Relationships
+import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri
+import org.openecomp.mso.client.aai.entities.uri.AAIUri
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory
+import org.onap.appc.client.lcm.model.Action;
+import org.onap.appc.client.lcm.model.ActionIdentifiers;
+import org.onap.appc.client.lcm.model.LockInput
+import org.onap.appc.client.lcm.model.UnlockInput
+import org.onap.appc.client.lcm.model.HealthCheckInput
+import org.onap.appc.client.lcm.model.StartInput
+import org.onap.appc.client.lcm.model.StopInput
+import org.onap.appc.client.lcm.model.Flags
+import org.onap.appc.client.lcm.model.Status
+
+
+
+public abstract class VnfCmBase extends AbstractServiceTaskProcessor {
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtils = new JsonUtils()
+ def prefix = "VnfIPU_"
+
+ /**
+ * Initialize the flow's variables.
+ *
+ * @param execution The flow's execution instance.
+ */
+
+ /**
+ * Prepare and send the sychronous response for this flow.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void sendSynchResponse(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.sendSynchResponse(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+
+ try {
+ def requestInfo = execution.getVariable('requestInfo')
+ def requestId = execution.getVariable('requestId')
+ def source = execution.getVariable('source')
+ def progress = getNodeTextForce(requestInfo, 'progress')
+ if (progress.isEmpty()) {
+ progress = '0'
+ }
+ def startTime = getNodeTextForce(requestInfo, 'start-time')
+ if (startTime.isEmpty()) {
+ startTime = System.currentTimeMillis()
+ }
+
+ // RESTResponse (for API Handler (APIH) Reply Task)
+ def vnfId = execution.getVariable("vnfId")
+ String synchResponse = """{"requestReferences":{"instanceId":"${vnfId}","requestId":"${requestId}"}}""".trim()
+
+ sendWorkflowResponse(execution, 200, synchResponse)
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in sendResponse(): ' + e.getMessage())
+ }
+ }
+
+
+
+ /**
+ * Get VnfResource decomposition object for this VNF.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void getVnfResourceDecomposition(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.getVnfResourceDecomposition(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ String vnfModelInvariantUuid = execution.getVariable('vnfModelInvariantUuid')
+ logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled)
+ List<VnfResource> vnfResources = serviceDecomposition.getServiceVnfs()
+
+ for (i in 0..vnfResources.size()-1) {
+ ModelInfo modelInfo = vnfResources[i].getModelInfo()
+ String modelInvariantUuidFromDecomposition = modelInfo.getModelInvariantUuid()
+ logDebug("modelInvariantUuidFromDecomposition: " + modelInvariantUuidFromDecomposition, isDebugLogEnabled)
+
+ if (vnfModelInvariantUuid.equals(modelInvariantUuidFromDecomposition)) {
+ VnfResource vnfResourceDecomposition = vnfResources[i]
+ execution.setVariable('vnfResourceDecomposition', vnfResourceDecomposition)
+ def nfRole = vnfResourceDecomposition.getNfRole()
+ execution.setVariable('nfRole', nfRole)
+ logDebug("vnfResourceDecomposition: " + vnfResourceDecomposition.toJsonString(), isDebugLogEnabled)
+ break
+ }
+ else {
+ //exception!
+ }
+
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in getVnfResourceDecomposition(): ' + e.getMessage())
+ }
+ }
+
+ /**
+ * Check if this VNF is already in maintenance in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void checkIfVnfInMaintInAAI(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkIfVnfInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ AAIRestClientImpl client = new AAIRestClientImpl()
+ AAIValidatorImpl aaiValidator = new AAIValidatorImpl()
+ aaiValidator.setClient(client)
+ def vnfId = execution.getVariable("vnfId")
+ boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid)
+ logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled)
+ execution.setVariable('isVnfInMaintenance', isInMaint)
+
+ if (isInMaint) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "VNF is in maintenance in A&AI")
+ }
+
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage())
+ }
+ }
+
+ /**
+ * Get VNF info from A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void queryAAIForVnf(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.queryAAIForVnf(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ def vnfId = execution.getVariable("vnfId")
+ logDebug("vnfId is: " + vnfId, isDebugLogEnabled)
+ def cloudRegionId = execution.getVariable("lcpCloudRegionId")
+ logDebug("cloudRegionId is: " + cloudRegionId, isDebugLogEnabled)
+
+ AAIResourcesClient client = new AAIResourcesClient()
+
+ AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+ // Check if this VNF exists
+ if (!client.exists(genericVnfUri)) {
+ logDebug("VNF with vnfId " + vnfId + " does not exist in A&AI", isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 404, "VNF with vnfId " + vnfId + " does not exist in A&AI")
+ }
+
+ AAIResultWrapper aaiRW = client.get(genericVnfUri)
+
+ Map<String, Object> result = aaiRW.asMap()
+
+ String vnfName = result.get("vnf-name")
+ logDebug("vnfName from A&AI is: " + vnfName, isDebugLogEnabled)
+ execution.setVariable("vnfName", vnfName)
+ String nfRole = result.get("nf-role")
+ logDebug("nfRole from A&AI is: " + nfRole, isDebugLogEnabled)
+ execution.setVariable("nfRole", nfRole)
+ String vnfHostIpAddress = result.get("ipv4-oam-address")
+ logDebug("vnfHostIpAddress from A&AI is: " + vnfHostIpAddress, isDebugLogEnabled)
+ execution.setVariable("vnfHostIpAddress", vnfHostIpAddress)
+ execution.setVariable("vmIdList", null)
+ if (aaiRW.getRelationships() != null) {
+ Relationships relationships = aaiRW.getRelationships().get()
+ if (relationships != null) {
+
+ List<AAIResourceUri> vserverUris = relationships.getRelatedAAIUris(AAIObjectType.VSERVER)
+ JSONArray vserverIds = new JSONArray()
+
+ for (AAIResourceUri j in vserverUris) {
+
+ String vserverId = j.getURIKeys().get('vserver-id')
+ vserverIds.put(vserverId)
+ }
+
+ JSONObject vmidsArray = new JSONObject()
+ vmidsArray.put("vmIds", vserverIds.toString())
+
+ logDebug("vmidsArray is: " + vmidsArray.toString(), isDebugLogEnabled)
+
+ execution.setVariable("vmIdList", vmidsArray.toString())
+ }
+ }
+
+ if (cloudRegionId != null) {
+ AAIUri cloudRegionUri = AAIUriFactory.createResourceUri(AAIObjectType.DEFAULT_CLOUD_REGION, cloudRegionId)
+ // Check if this client region exists
+ if (!client.exists(cloudRegionUri)) {
+ logDebug("Cloud Region with cloudRegionId " + cloudRegionId + " does not exist in A&AI", isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 404, "Cloud Region with cloudRegionId " + cloudRegionId + " does not exist in A&AI")
+ }
+
+ AAIResultWrapper aaiRWCloud = client.get(cloudRegionUri)
+
+ Map<String, Object> resultCloud = aaiRWCloud.asMap()
+
+ String aicIdentity = resultCloud.get("identity-url")
+ logDebug("aicIdentity from A&AI is: " + aicIdentity, isDebugLogEnabled)
+ execution.setVariable("aicIdentity", aicIdentity)
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIForVnf(): ' + e.getMessage())
+ }
+ }
+
+
+
+ /**
+ * Check if this VNF's pservers are locked in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void checkIfPserversInMaintInAAI(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ execution.setVariable("workStep", "checkIfPserversInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ AAIRestClientImpl client = new AAIRestClientImpl()
+ AAIValidatorImpl aaiValidator = new AAIValidatorImpl()
+ aaiValidator.setClient(client)
+ def vnfId = execution.getVariable("vnfId")
+ boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid)
+ logDebug("areLocked result: " + areLocked, isDebugLogEnabled)
+ execution.setVariable('arePserversLocked', areLocked)
+
+ if (areLocked) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "pServers are locked in A&AI")
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage())
+ }
+ }
+
+ /**
+ * Set inMaint flag for this VNF to the specified value in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ * @param inMaint The boolean value of the flag to set
+ */
+ public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) {
+ def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ if (inMaint) {
+ execution.setVariable("workStep", "setVnfInMaintFlagInAAI")
+ }
+ else {
+ execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI")
+ }
+ execution.setVariable("failedActivity", "AAI")
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ AAIRestClientImpl client = new AAIRestClientImpl()
+ AAIUpdatorImpl aaiUpdator = new AAIUpdatorImpl()
+ aaiUpdator.setClient(client)
+ def vnfId = execution.getVariable("vnfId")
+ if (inMaint) {
+ aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", true)
+ }
+ else {
+ aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", false)
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage())
+ }
+ }
+
+ /**
+ * Check if VF Closed Loop Disabled in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void checkIfClosedLoopDisabledInAAI(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.checkIfClosedLoopDisabledInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkClosedLoopDisabledFlagInAAI")
+ execution.setVariable("failedActivity", "AAI")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ def vnfId = execution.getVariable("vnfId")
+ logDebug("vnfId is: " + vnfId, isDebugLogEnabled)
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+ AAIResultWrapper aaiRW = client.get(genericVnfUri)
+ Map<String, Object> result = aaiRW.asMap()
+ boolean isClosedLoopDisabled = result.getOrDefault("is-closed-loop-disabled", false)
+
+ logDebug("isClosedLoopDisabled result: " + isClosedLoopDisabled, isDebugLogEnabled)
+ execution.setVariable('isClosedLoopDisabled', isClosedLoopDisabled)
+
+ if (isClosedLoopDisabled) {
+ execution.setVariable("errorCode", "1004")
+ execution.setVariable("errorText", "closedLoop is disabled in A&AI")
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ }
+ }
+
+ /**
+ * Set VF Closed Loop Disabled Flag in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void setClosedLoopDisabledInAAI(DelegateExecution execution, boolean setDisabled) {
+ def method = getClass().getSimpleName() + '.setClosedLoopDisabledInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ if (setDisabled) {
+ execution.setVariable("workStep", "setClosedLoopDisabledFlagInAAI")
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", true)
+ }
+ else {
+ execution.setVariable("workStep", "unsetClosedLoopDisabledFlagInAAI")
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", false)
+ }
+
+ execution.setVariable("failedActivity", "AAI")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ def vnfId = execution.getVariable("vnfId")
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+
+ Map<String, Boolean> request = new HashMap<>()
+ request.put("is-closed-loop-disabled", setDisabled)
+ client.update(genericVnfUri, request)
+ logDebug("set isClosedLoop to: " + setDisabled, isDebugLogEnabled)
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ }
+ }
+
+
+
+
+ /**
+ * Call APP-C client to execute specified APP-C command for this VNF.
+ *
+ *
+ * @param execution The flow's execution instance.
+ * @param action The action to take in APP-C.
+ */
+ public void runAppcCommand(DelegateExecution execution, Action action) {
+ def method = getClass().getSimpleName() + '.runAppcCommand(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ ApplicationControllerClient appcClient = null
+
+ try {
+ logDebug("Running APP-C action: " + action.toString(), isDebugLogEnabled)
+ String vnfId = execution.getVariable('vnfId')
+ String msoRequestId = execution.getVariable('requestId')
+ execution.setVariable('msoRequestId', msoRequestId)
+ execution.setVariable("failedActivity", "APP-C")
+
+ appcClient = new ApplicationControllerClient()
+ ApplicationControllerSupport support = new ApplicationControllerSupport()
+ appcClient.appCSupport=support
+ org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", "org.onap.appc.client.lcm.model");
+ Flags flags = new Flags();
+ ActionIdentifiers actionIdentifiers = new ActionIdentifiers();
+ actionIdentifiers.setVnfId(vnfId);
+ Status appcStatus
+ switch(action) {
+ case Action.Lock:
+ execution.setVariable('workStep', "LockVNF")
+ appcStatus = appcClient.runCommand(Action.Lock,actionIdentifiers,null,msoRequestId)
+ break
+ case Action.Unlock:
+ execution.setVariable('workStep', "UnlockVNF")
+ appcStatus = appcClient.runCommand(Action.Unlock,actionIdentifiers,null,msoRequestId)
+ break
+ case Action.HealthCheck:
+ def healthCheckIndex = execution.getVariable('healthCheckIndex')
+ execution.setVariable('workStep', "HealthCheckVNF" + healthCheckIndex)
+ execution.setVariable('healthCheckIndex', healthCheckIndex + 1)
+ appcStatus = appcClient.runCommand(Action.HealthCheck,actionIdentifiers,null,msoRequestId)
+ break
+ case Action.Start:
+ execution.setVariable('workStep', "StartVNF")
+ appcStatus = appcClient.runCommand(Action.Start,actionIdentifiers,null,msoRequestId)
+ break
+ case Action.Stop:
+ execution.setVariable('workStep', "StopVNF")
+ appcStatus = appcClient.runCommand(Action.Stop,actionIdentifiers,null,msoRequestId)
+ break
+ default:
+ break
+ }
+ logDebug("Completed AppC request", isDebugLogEnabled)
+ int appcCode = appcStatus.getCode()
+ logDebug("AppC status code is: " + appcCode, isDebugLogEnabled)
+ logDebug("AppC status message is: " + appcStatus.getMessage(), isDebugLogEnabled)
+ if (support.getCategoryOf(appcStatus) == ApplicationControllerSupport.StatusCategory.ERROR) {
+ execution.setVariable("errorCode", Integer.toString(appcCode))
+ execution.setVariable("errorText", appcStatus.getMessage())
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+
+ } catch (java.lang.NoSuchMethodError e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+
+ }
+ }
+
+ /**
+ * Placeholder for a call to APP-C client to execute specified APP-C command for this VNF.
+ *
+ *
+ * @param execution The flow's execution instance.
+ * @param action The action to take in APP-C.
+ */
+ public void runAppcCommandPlaceholder(DelegateExecution execution, String action) {
+ def method = getClass().getSimpleName() + '.runAppcCommandPlaceholder(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ execution.setVariable("failedActivity", "APP-C")
+ execution.setVariable("workStep", action)
+ }
+
+
+
+
+
+
+
+ /**
+ * Builds a "CompletionHandler" request and stores it in the specified execution variable.
+ *
+ * @param execution the execution
+ * @param resultVar the execution variable in which the result will be stored
+ */
+ public void completionHandlerPrep(DelegateExecution execution, String resultVar) {
+ def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
+ 'execution=' + execution.getId() +
+ ', resultVar=' + resultVar +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+
+ def requestInfo = execution.getVariable('requestInfo')
+
+ String content = """
+ <sdncadapterworkflow:MsoCompletionRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:reqtype="http://org.openecomp/mso/request/types/v1">
+ ${requestInfo}
+ <sdncadapterworkflow:status-message>Vnf has been updated successfully.</sdncadapterworkflow:status-message>
+ <sdncadapterworkflow:mso-bpel-name>MSO_ACTIVATE_BPEL</sdncadapterworkflow:mso-bpel-name>
+ </sdncadapterworkflow:MsoCompletionRequest>
+ """
+
+ content = utils.formatXml(content)
+ logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
+ execution.setVariable(resultVar, content)
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2000, 'Internal Error')
+ }
+ }
+
+ /**
+ * Prepare DoUpdateVnfAndModules call.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void prepDoUpdateVnfAndModules(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.prepDoUpdateVnfAndModules(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ execution.setVariable("workStep", "doUpdateVnfAndModules")
+ execution.setVariable("failedActivity", "MSO Update VNF")
+ logDebug('Exited ' + method, isDebugLogEnabled)
+
+ }
+
+ /**
+ * Builds a "FalloutHandler" request and stores it in the specified execution variable.
+ *
+ * @param execution the execution
+ * @param resultVar the execution variable in which the result will be stored
+ */
+ public void falloutHandlerPrep(DelegateExecution execution, String resultVar) {
+ def method = getClass().getSimpleName() + '.falloutHandlerPrep(' +
+ 'execution=' + execution.getId() +
+ ', resultVar=' + resultVar +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def prefix = execution.getVariable('prefix')
+ def requestInformation = execution.getVariable("requestInfo")
+
+ def WorkflowException workflowException = execution.getVariable("WorkflowException")
+ def errorResponseCode = workflowException.getErrorCode()
+ def errorResponseMsg = workflowException.getErrorMessage()
+ def encErrorResponseMsg = ""
+ if (errorResponseMsg != null) {
+ encErrorResponseMsg = errorResponseMsg.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")
+ }
+
+ String content = """
+ <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:reqtype="http://org.openecomp/mso/request/types/v1"
+ xmlns:msoservtypes="http://org.openecomp/mso/request/types/v1"
+ xmlns:structuredtypes="http://org.openecomp/mso/structured/types/v1">
+ ${requestInformation}
+ <sdncadapterworkflow:WorkflowException>
+ <sdncadapterworkflow:ErrorMessage>${encErrorResponseMsg}</sdncadapterworkflow:ErrorMessage>
+ <sdncadapterworkflow:ErrorCode>${errorResponseCode}</sdncadapterworkflow:ErrorCode>
+ </sdncadapterworkflow:WorkflowException>
+ </sdncadapterworkflow:FalloutHandlerRequest>
+ """
+ content = utils.formatXml(content)
+ logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
+ execution.setVariable(resultVar, content)
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildWorkflowException(execution, 2000, 'Internal Error')
+ }
+ }
+
+ /**
+ * Handle Abort disposition from RainyDayHandler
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void abortProcessing(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.abortProcessing(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ def errorText = execution.getVariable("errorText")
+ def errorCode = execution.getVariable("errorCode")
+
+ exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText)
+ }
+
+ /**
+ * Increment Retry Count for Current Work Step
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void incrementRetryCount(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.incrementRetryCount(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ String retryCountVariableName = execution.getVariable("workStep") + "RetryCount"
+ execution.setVariable("retryCountVariableName", retryCountVariableName)
+
+ def retryCountVariable = execution.getVariable(retryCountVariableName)
+ int retryCount = 0
+
+ if (retryCountVariable != null) {
+ retryCount = (int) retryCountVariable
+ }
+
+ retryCount += 1
+
+ execution.setVariable(retryCountVariableName, retryCount)
+
+ logDebug("value of " + retryCountVariableName + " is " + retryCount, isDebugLogEnabled)
+ logDebug('Exited ' + method, isDebugLogEnabled)
+
+
+ }
+
+ public void preProcessRollback (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled)
+ try {
+
+ Object workflowException = execution.getVariable("WorkflowException");
+
+ if (workflowException instanceof WorkflowException) {
+ utils.log("DEBUG", "Prev workflowException: " + workflowException.getErrorMessage(), isDebugEnabled)
+ execution.setVariable("prevWorkflowException", workflowException);
+ //execution.setVariable("WorkflowException", null);
+ }
+ } catch (BpmnError e) {
+ utils.log("DEBUG", "BPMN Error during preProcessRollback", isDebugEnabled)
+ } catch(Exception ex) {
+ String msg = "Exception in preProcessRollback. " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ }
+ utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled)
+ }
+
+ public void postProcessRollback (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled)
+ String msg = ""
+ try {
+ Object workflowException = execution.getVariable("prevWorkflowException");
+ if (workflowException instanceof WorkflowException) {
+ utils.log("DEBUG", "Setting prevException to WorkflowException: ", isDebugEnabled)
+ execution.setVariable("WorkflowException", workflowException);
+ }
+
+ } catch (BpmnError b) {
+ utils.log("DEBUG", "BPMN Error during postProcessRollback", isDebugEnabled)
+ throw b;
+ } catch(Exception ex) {
+ msg = "Exception in postProcessRollback. " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ }
+ utils.log("DEBUG"," *** Exit postProcessRollback *** ", isDebugEnabled)
+ }
+
+
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfConfigUpdate.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfConfigUpdate.groovy
new file mode 100644
index 0000000000..33aaef084c
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfConfigUpdate.groovy
@@ -0,0 +1,503 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import groovy.json.JsonOutput
+import groovy.json.JsonSlurper
+import groovy.util.Node
+import groovy.util.XmlParser;
+import groovy.xml.QName
+
+import java.beans.MetaData.java_lang_Class_PersistenceDelegate
+import java.io.Serializable;
+import java.util.UUID;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.openecomp.mso.rest.APIResponse
+import org.openecomp.mso.rest.RESTClient
+import org.openecomp.mso.rest.RESTConfig
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
+import org.openecomp.mso.bpmn.common.scripts.VidUtils;
+import org.openecomp.mso.bpmn.core.RollbackData
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.core.domain.ModelInfo
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.VnfResource
+import org.openecomp.mso.client.aai.*
+
+import org.openecomp.mso.client.appc.ApplicationControllerClient;
+import org.openecomp.mso.client.appc.ApplicationControllerSupport;
+import org.openecomp.mso.client.aai.AAIResourcesClient
+import org.openecomp.mso.client.aai.entities.AAIResultWrapper
+import org.openecomp.mso.client.aai.entities.uri.AAIUri
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory
+import org.onap.appc.client.lcm.model.Action;
+import org.onap.appc.client.lcm.model.ActionIdentifiers;
+import org.onap.appc.client.lcm.model.LockInput
+import org.onap.appc.client.lcm.model.UnlockInput
+import org.onap.appc.client.lcm.model.HealthCheckInput
+import org.onap.appc.client.lcm.model.StartInput
+import org.onap.appc.client.lcm.model.StopInput
+import org.onap.appc.client.lcm.model.Flags
+import org.onap.appc.client.lcm.model.Status
+
+
+public class VnfConfigUpdate extends VnfCmBase {
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtils = new JsonUtils()
+ def prefix = "VnfIPU_"
+
+ /**
+ * Initialize the flow's variables.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void initProcessVariables(DelegateExecution execution) {
+ execution.setVariable('prefix', 'VnfCU_')
+ execution.setVariable('Request', null)
+ execution.setVariable('source', null)
+ execution.setVariable('UpdateVnfSuccessIndicator', false)
+ execution.setVariable('serviceType', null)
+ execution.setVariable('nfRole', null)
+ execution.setVariable('currentActivity', 'VnfCU')
+ execution.setVariable('workStep', null)
+ execution.setVariable('failedActivity', null)
+ execution.setVariable('errorCode', "0")
+ execution.setVariable('errorText', null)
+ execution.setVariable('healthCheckIndex0', 0)
+ execution.setVariable('healthCheckIndex1', 1)
+ execution.setVariable('maxRetryCount', 3)
+ execution.setVariable('retryCount', 0)
+ execution.setVariable("lcpCloudRegionId", null)
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", false)
+ execution.setVariable("rollbackVnfStop", false)
+ execution.setVariable("rollbackVnfLock", false)
+ execution.setVariable("rollbackQuiesceTraffic", false)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", false)
+ }
+
+ /**
+ * Check for missing elements in the received request.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void preProcessRequest(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.preProcessRequest(' +
+ 'execution=' + execution.getId() +
+ ')'
+ initProcessVariables(execution)
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ initProcessVariables(execution)
+
+ def incomingRequest = execution.getVariable('bpmnRequest')
+
+ utils.log("DEBUG", "Incoming Infra Request: " + incomingRequest, isDebugLogEnabled)
+ try {
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+ Map reqMap = jsonSlurper.parseText(incomingRequest)
+ utils.log("DEBUG", " Request is in JSON format.", isDebugLogEnabled)
+
+ def serviceInstanceId = execution.getVariable('serviceInstanceId')
+ def vnfId = execution.getVariable('vnfId')
+
+ execution.setVariable('serviceInstanceId', serviceInstanceId)
+ execution.setVariable('vnfId', vnfId)
+ execution.setVariable('serviceType', 'Mobility')
+ execution.setVariable('payload', "")
+ execution.setVariable('actionHealthCheck', Action.HealthCheck)
+ execution.setVariable('actionConfigModify', Action.ConfigModify)
+
+ def payload = reqMap.requestDetails?.requestParameters?.payload
+ execution.setVariable('payload', payload)
+
+ utils.log("DEBUG", 'Processed payload: ' + payload, isDebugLogEnabled)
+
+ def requestId = execution.getVariable("mso-request-id")
+ execution.setVariable('requestId', requestId)
+ execution.setVariable('msoRequestId', requestId)
+
+ def requestorId = reqMap.requestDetails?.requestInfo?.requestorId ?: null
+ execution.setVariable('requestorId', requestorId)
+
+ execution.setVariable('sdncVersion', '1702')
+
+ execution.setVariable("UpdateVnfInfraSuccessIndicator", false)
+
+ execution.setVariable("isDebugLogEnabled", isDebugLogEnabled)
+
+ def source = reqMap.requestDetails?.requestInfo?.source
+ execution.setVariable("source", source)
+
+ //For Completion Handler & Fallout Handler
+ String requestInfo =
+ """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
+ <request-id>${requestId}</request-id>
+ <action>UPDATE</action>
+ <source>${source}</source>
+ </request-info>"""
+
+ execution.setVariable("requestInfo", requestInfo)
+
+ logDebug('RequestInfo: ' + execution.getVariable("requestInfo"), isDebugLogEnabled)
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+
+ }
+ catch(groovy.json.JsonException je) {
+ utils.log("DEBUG", " Request is not in JSON format.", isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 5000, "Invalid request format")
+
+ }
+ catch(Exception e) {
+ String restFaultMessage = e.getMessage()
+ utils.log("ERROR", " Exception Encountered - " + "\n" + restFaultMessage, isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 5000, restFaultMessage)
+ }
+ }
+
+ /**
+ * Prepare and send the sychronous response for this flow.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void sendSynchResponse(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.sendSynchResponse(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+
+ try {
+ def requestInfo = execution.getVariable('requestInfo')
+ def requestId = execution.getVariable('requestId')
+ def source = execution.getVariable('source')
+ def progress = getNodeTextForce(requestInfo, 'progress')
+ if (progress.isEmpty()) {
+ progress = '0'
+ }
+ def startTime = getNodeTextForce(requestInfo, 'start-time')
+ if (startTime.isEmpty()) {
+ startTime = System.currentTimeMillis()
+ }
+
+ // RESTResponse (for API Handler (APIH) Reply Task)
+ def vnfId = execution.getVariable("vnfId")
+ String synchResponse = """{"requestReferences":{"instanceId":"${vnfId}","requestId":"${requestId}"}}""".trim()
+
+ sendWorkflowResponse(execution, 200, synchResponse)
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in sendResponse(): ' + e.getMessage())
+ }
+ }
+
+
+ /**
+ * Check if this VNF is already in maintenance in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void checkIfVnfInMaintInAAI(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkIfVnfInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ AAIRestClientImpl client = new AAIRestClientImpl()
+ AAIValidatorImpl aaiValidator = new AAIValidatorImpl()
+ aaiValidator.setClient(client)
+ def vnfId = execution.getVariable("vnfId")
+ boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid)
+ logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled)
+ execution.setVariable('isVnfInMaintenance', isInMaint)
+
+ if (isInMaint) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "VNF is in maintenance in A&AI")
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage())
+ }
+ }
+
+
+ /**
+ * Check if this VNF's pservers are locked in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void checkIfPserversInMaintInAAI(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ execution.setVariable("workStep", "checkIfPserversInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ AAIRestClientImpl client = new AAIRestClientImpl()
+ AAIValidatorImpl aaiValidator = new AAIValidatorImpl()
+ aaiValidator.setClient(client)
+ def vnfId = execution.getVariable("vnfId")
+ boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid)
+ logDebug("areLocked result: " + areLocked, isDebugLogEnabled)
+ execution.setVariable('arePserversLocked', areLocked)
+
+ if (areLocked) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "pServers are locked in A&AI")
+ }
+
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage())
+ }
+ }
+
+ /**
+ * Set inMaint flag for this VNF to the specified value in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ * @param inMaint The boolean value of the flag to set
+ */
+ public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) {
+ def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ if (inMaint) {
+ execution.setVariable("workStep", "setVnfInMaintFlagInAAI")
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", true)
+ }
+ else {
+ execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI")
+ }
+ execution.setVariable("failedActivity", "AAI")
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ AAIRestClientImpl client = new AAIRestClientImpl()
+ AAIUpdatorImpl aaiUpdator = new AAIUpdatorImpl()
+ aaiUpdator.setClient(client)
+ def vnfId = execution.getVariable("vnfId")
+ if (inMaint) {
+ aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", true)
+ }
+ else {
+ aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid)
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage())
+ }
+ }
+
+ /**
+ * Check if VF Closed Loop Disabled in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void checkIfClosedLoopDisabledInAAI(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.checkIfClosedLoopDisabledInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkClosedLoopDisabledFlagInAAI")
+ execution.setVariable("failedActivity", "AAI")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ def vnfId = execution.getVariable("vnfId")
+ logDebug("vnfId is: " + vnfId, isDebugLogEnabled)
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+ AAIResultWrapper aaiRW = client.get(genericVnfUri)
+ Map<String, Object> result = aaiRW.asMap()
+ boolean isClosedLoopDisabled = result.getOrDefault("is-closed-loop-disabled", false)
+
+ logDebug("isClosedLoopDisabled result: " + isClosedLoopDisabled, isDebugLogEnabled)
+ execution.setVariable('isClosedLoopDisabled', isClosedLoopDisabled)
+
+ if (isClosedLoopDisabled) {
+ execution.setVariable("errorCode", "1004")
+ execution.setVariable("errorText", "closedLoop is disabled in A&AI")
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage())
+ }
+ }
+
+ /**
+ * Set VF Closed Loop Disabled Flag in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void setClosedLoopDisabledInAAI(DelegateExecution execution, boolean setDisabled) {
+ def method = getClass().getSimpleName() + '.setClosedLoopDisabledInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ if (setDisabled) {
+ execution.setVariable("workStep", "setClosedLoopDisabledFlagInAAI")
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", true)
+ }
+ else {
+ execution.setVariable("workStep", "unsetClosedLoopDisabledFlagInAAI")
+ }
+
+ execution.setVariable("failedActivity", "AAI")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ def vnfId = execution.getVariable("vnfId")
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+
+ Map<String, Boolean> request = new HashMap<>()
+ request.put("is-closed-loop-disabled", setDisabled)
+ client.update(genericVnfUri, request)
+ logDebug("set isClosedLoop to: " + setDisabled, isDebugLogEnabled)
+
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage())
+ }
+ }
+
+
+ /**
+ * Handle Abort disposition from RainyDayHandler
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void abortProcessing(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.abortProcessing(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ def errorText = execution.getVariable("errorText")
+ def errorCode = execution.getVariable("errorCode")
+
+ exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText)
+ }
+
+ /**
+ * Increment Retry Count for Current Work Step
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void incrementRetryCount(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.incrementRetryCount(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ String retryCountVariableName = execution.getVariable("workStep") + "RetryCount"
+ execution.setVariable("retryCountVariableName", retryCountVariableName)
+
+ def retryCountVariable = execution.getVariable(retryCountVariableName)
+ int retryCount = 0
+
+ if (retryCountVariable != null) {
+ retryCount = (int) retryCountVariable
+ }
+
+ retryCount += 1
+
+ execution.setVariable(retryCountVariableName, retryCount)
+
+ logDebug("value of " + retryCountVariableName + " is " + retryCount, isDebugLogEnabled)
+ logDebug('Exited ' + method, isDebugLogEnabled)
+
+
+ }
+
+
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfInPlaceUpdate.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfInPlaceUpdate.groovy
new file mode 100644
index 0000000000..2b336afa1e
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfInPlaceUpdate.groovy
@@ -0,0 +1,622 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import groovy.json.JsonOutput
+import groovy.json.JsonSlurper
+import groovy.util.Node
+import groovy.util.XmlParser;
+import groovy.xml.QName
+
+import java.beans.MetaData.java_lang_Class_PersistenceDelegate
+import java.io.Serializable;
+import java.util.UUID;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.openecomp.mso.rest.APIResponse
+import org.openecomp.mso.rest.RESTClient
+import org.openecomp.mso.rest.RESTConfig
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
+import org.openecomp.mso.bpmn.common.scripts.VidUtils;
+import org.openecomp.mso.bpmn.core.RollbackData
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.core.domain.ModelInfo
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.VnfResource
+import org.openecomp.mso.client.aai.*
+
+import org.openecomp.mso.client.appc.ApplicationControllerClient;
+import org.openecomp.mso.client.appc.ApplicationControllerSupport;
+import org.openecomp.mso.client.aai.AAIResourcesClient
+import org.openecomp.mso.client.aai.entities.AAIResultWrapper
+import org.openecomp.mso.client.aai.entities.uri.AAIUri
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory
+import org.onap.appc.client.lcm.model.Action;
+import org.onap.appc.client.lcm.model.ActionIdentifiers;
+import org.onap.appc.client.lcm.model.LockInput
+import org.onap.appc.client.lcm.model.UnlockInput
+import org.onap.appc.client.lcm.model.HealthCheckInput
+import org.onap.appc.client.lcm.model.StartInput
+import org.onap.appc.client.lcm.model.StopInput
+import org.onap.appc.client.lcm.model.Flags
+import org.onap.appc.client.lcm.model.Status
+
+
+
+public class VnfInPlaceUpdate extends VnfCmBase {
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtils = new JsonUtils()
+ def prefix = "VnfIPU_"
+
+ /**
+ * Initialize the flow's variables.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void initProcessVariables(DelegateExecution execution) {
+ execution.setVariable('prefix', 'VnfIPU_')
+ execution.setVariable('Request', null)
+ execution.setVariable('requestInfo', null)
+ execution.setVariable('source', null)
+ execution.setVariable('vnfInputs', null)
+ execution.setVariable('tenantId', null)
+ execution.setVariable('vnfParams', null)
+ execution.setVariable('UpdateVnfSuccessIndicator', false)
+ execution.setVariable('serviceType', null)
+ execution.setVariable('nfRole', null)
+ execution.setVariable('currentActivity', 'VnfIPU')
+ execution.setVariable('workStep', null)
+ execution.setVariable('failedActivity', null)
+ execution.setVariable('errorCode', "0")
+ execution.setVariable('errorText', null)
+ execution.setVariable('healthCheckIndex0', 0)
+ execution.setVariable('healthCheckIndex1', 1)
+ execution.setVariable('maxRetryCount', 3)
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", false)
+ execution.setVariable("rollbackVnfStop", false)
+ execution.setVariable("rollbackVnfLock", false)
+ execution.setVariable("rollbackQuiesceTraffic", false)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", false)
+ }
+
+ /**
+ * Check for missing elements in the received request.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void preProcessRequest(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.preProcessRequest(' +
+ 'execution=' + execution.getId() +
+ ')'
+ initProcessVariables(execution)
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ initProcessVariables(execution)
+
+ def incomingRequest = execution.getVariable('bpmnRequest')
+
+ utils.log("DEBUG", "Incoming Infra Request: " + incomingRequest, isDebugLogEnabled)
+ try {
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+ Map reqMap = jsonSlurper.parseText(incomingRequest)
+ utils.log("DEBUG", " Request is in JSON format.", isDebugLogEnabled)
+
+ def serviceInstanceId = execution.getVariable('serviceInstanceId')
+ def vnfId = execution.getVariable('vnfId')
+
+ execution.setVariable('serviceInstanceId', serviceInstanceId)
+ execution.setVariable('vnfId', vnfId)
+ execution.setVariable("isVidRequest", "true")
+ execution.setVariable('serviceType', 'Mobility')
+ execution.setVariable('payload', "")
+ execution.setVariable('actionSnapshot', Action.Snapshot)
+ execution.setVariable('actionLock', Action.Lock)
+ execution.setVariable('actionUnlock', Action.Unlock)
+ execution.setVariable('actionUpgradePreCheck', Action.UpgradePreCheck)
+ execution.setVariable('actionUpgradePostCheck', Action.UpgradePostCheck)
+ execution.setVariable('actionQuiesceTraffic', Action.QuiesceTraffic)
+ execution.setVariable('actionUpgradeBackup', Action.UpgradeBackup)
+ execution.setVariable('actionUpgradeSoftware', Action.UpgradeSoftware)
+ execution.setVariable('actionResumeTraffic', Action.ResumeTraffic)
+
+ def payload = reqMap.requestDetails?.requestParameters?.payload
+ execution.setVariable('payload', payload)
+
+ utils.log("DEBUG", 'Processed payload: ' + payload, isDebugLogEnabled)
+
+
+ def requestId = execution.getVariable("mso-request-id")
+ execution.setVariable('requestId', requestId)
+ execution.setVariable('msoRequestId', requestId)
+
+ def requestorId = reqMap.requestDetails?.requestInfo?.requestorId ?: null
+ execution.setVariable('requestorId', requestorId)
+
+ def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
+ def lcpCloudRegionId = cloudConfiguration.lcpCloudRegionId
+ execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
+ def tenantId = cloudConfiguration.tenantId
+ execution.setVariable('tenantId', tenantId)
+
+ execution.setVariable("UpdateVnfInfraSuccessIndicator", false)
+
+ execution.setVariable("isDebugLogEnabled", isDebugLogEnabled)
+
+ def source = reqMap.requestDetails?.requestInfo?.source
+ execution.setVariable("source", source)
+
+ //For Completion Handler & Fallout Handler
+ String requestInfo =
+ """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
+ <request-id>${requestId}</request-id>
+ <action>UPDATE</action>
+ <source>${source}</source>
+ </request-info>"""
+
+ execution.setVariable("requestInfo", requestInfo)
+
+ logDebug('RequestInfo: ' + execution.getVariable("requestInfo"), isDebugLogEnabled)
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+
+ }
+ catch(groovy.json.JsonException je) {
+ utils.log("DEBUG", " Request is not in JSON format.", isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 5000, "Invalid request format")
+
+ }
+ catch(Exception e) {
+ String restFaultMessage = e.getMessage()
+ utils.log("ERROR", " Exception Encountered - " + "\n" + restFaultMessage, isDebugLogEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 5000, restFaultMessage)
+ }
+ }
+
+ /**
+ * Prepare and send the sychronous response for this flow.
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void sendSynchResponse(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.sendSynchResponse(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+
+ try {
+ def requestInfo = execution.getVariable('requestInfo')
+ def requestId = execution.getVariable('requestId')
+ def source = execution.getVariable('source')
+ def progress = getNodeTextForce(requestInfo, 'progress')
+ if (progress.isEmpty()) {
+ progress = '0'
+ }
+ def startTime = getNodeTextForce(requestInfo, 'start-time')
+ if (startTime.isEmpty()) {
+ startTime = System.currentTimeMillis()
+ }
+
+ // RESTResponse (for API Handler (APIH) Reply Task)
+ def vnfId = execution.getVariable("vnfId")
+ String synchResponse = """{"requestReferences":{"instanceId":"${vnfId}","requestId":"${requestId}"}}""".trim()
+
+ sendWorkflowResponse(execution, 200, synchResponse)
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in sendResponse(): ' + e.getMessage())
+ }
+ }
+
+
+ /**
+ * Check if this VNF is already in maintenance in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void checkIfVnfInMaintInAAI(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkIfVnfInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ AAIRestClientImpl client = new AAIRestClientImpl()
+ AAIValidatorImpl aaiValidator = new AAIValidatorImpl()
+ aaiValidator.setClient(client)
+ def vnfId = execution.getVariable("vnfId")
+ boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid)
+ logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled)
+ execution.setVariable('isVnfInMaintenance', isInMaint)
+
+ if (isInMaint) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "VNF is in maintenance in A&AI")
+ }
+
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage())
+ }
+ }
+
+
+ /**
+ * Check if this VNF's pservers are locked in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void checkIfPserversInMaintInAAI(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ execution.setVariable("workStep", "checkIfPserversInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ AAIRestClientImpl client = new AAIRestClientImpl()
+ AAIValidatorImpl aaiValidator = new AAIValidatorImpl()
+ aaiValidator.setClient(client)
+ def vnfId = execution.getVariable("vnfId")
+ boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid)
+ logDebug("areLocked result: " + areLocked, isDebugLogEnabled)
+ execution.setVariable('arePserversLocked', areLocked)
+
+ if (areLocked) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "pServers are locked in A&AI")
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage())
+ }
+ }
+
+ /**
+ * Set inMaint flag for this VNF to the specified value in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ * @param inMaint The boolean value of the flag to set
+ */
+ public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) {
+ def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ if (inMaint) {
+ execution.setVariable("workStep", "setVnfInMaintFlagInAAI")
+ }
+ else {
+ execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI")
+ }
+ execution.setVariable("failedActivity", "AAI")
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ AAIRestClientImpl client = new AAIRestClientImpl()
+ AAIUpdatorImpl aaiUpdator = new AAIUpdatorImpl()
+ aaiUpdator.setClient(client)
+ def vnfId = execution.getVariable("vnfId")
+ if (inMaint) {
+ aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", true)
+ }
+ else {
+ aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid)
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage())
+ }
+ }
+
+ /**
+ * Check if VF Closed Loop Disabled in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void checkIfClosedLoopDisabledInAAI(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.checkIfClosedLoopDisabledInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkClosedLoopDisabledFlagInAAI")
+ execution.setVariable("failedActivity", "AAI")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ def vnfId = execution.getVariable("vnfId")
+ logDebug("vnfId is: " + vnfId, isDebugLogEnabled)
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+ AAIResultWrapper aaiRW = client.get(genericVnfUri)
+ Map<String, Object> result = aaiRW.asMap()
+ boolean isClosedLoopDisabled = result.getOrDefault("is-closed-loop-disabled", false)
+
+ logDebug("isClosedLoopDisabled result: " + isClosedLoopDisabled, isDebugLogEnabled)
+ execution.setVariable('isClosedLoopDisabled', isClosedLoopDisabled)
+
+ if (isClosedLoopDisabled) {
+ execution.setVariable("errorCode", "1004")
+ execution.setVariable("errorText", "closedLoop is disabled in A&AI")
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ }
+ }
+
+ /**
+ * Set VF Closed Loop Disabled Flag in A&AI.
+ *
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void setClosedLoopDisabledInAAI(DelegateExecution execution, boolean setDisabled) {
+ def method = getClass().getSimpleName() + '.setClosedLoopDisabledInAAI(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ if (setDisabled) {
+ execution.setVariable("workStep", "setClosedLoopDisabledFlagInAAI")
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", true)
+ }
+ else {
+ execution.setVariable("workStep", "unsetClosedLoopDisabledFlagInAAI")
+ }
+
+ execution.setVariable("failedActivity", "AAI")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ try {
+ def transactionLoggingUuid = UUID.randomUUID().toString()
+ def vnfId = execution.getVariable("vnfId")
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+
+ Map<String, Boolean> request = new HashMap<>()
+ request.put("is-closed-loop-disabled", setDisabled)
+ client.update(genericVnfUri, request)
+ logDebug("set isClosedLoop to: " + setDisabled, isDebugLogEnabled)
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+ }
+ }
+
+
+
+
+ /**
+ * Call APP-C client to execute specified APP-C command for this VNF.
+ *
+ *
+ * @param execution The flow's execution instance.
+ * @param action The action to take in APP-C.
+ */
+ public void runAppcCommand(DelegateExecution execution, Action action) {
+ def method = getClass().getSimpleName() + '.runAppcCommand(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ ApplicationControllerClient appcClient = null
+
+ try {
+ logDebug("Running APP-C action: " + action.toString(), isDebugLogEnabled)
+ String vnfId = execution.getVariable('vnfId')
+ String msoRequestId = execution.getVariable('requestId')
+ execution.setVariable('msoRequestId', msoRequestId)
+ execution.setVariable("failedActivity", "APP-C")
+
+ appcClient = new ApplicationControllerClient()
+ ApplicationControllerSupport support = new ApplicationControllerSupport()
+ appcClient.appCSupport=support
+ org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", "org.onap.appc.client.lcm.model");
+ Flags flags = new Flags();
+ ActionIdentifiers actionIdentifiers = new ActionIdentifiers();
+ actionIdentifiers.setVnfId(vnfId);
+ Status appcStatus
+ switch(action) {
+ case Action.Lock:
+ execution.setVariable('workStep', "LockVNF")
+ appcStatus = appcClient.runCommand(Action.Lock,actionIdentifiers,null,msoRequestId)
+ break
+ case Action.Unlock:
+ execution.setVariable('workStep', "UnlockVNF")
+ appcStatus = appcClient.runCommand(Action.Unlock,actionIdentifiers,null,msoRequestId)
+ break
+ case Action.HealthCheck:
+ def healthCheckIndex = execution.getVariable('healthCheckIndex')
+ execution.setVariable('workStep', "HealthCheckVNF" + healthCheckIndex)
+ execution.setVariable('healthCheckIndex', healthCheckIndex + 1)
+ appcStatus = appcClient.runCommand(Action.HealthCheck,actionIdentifiers,null,msoRequestId)
+ break
+ case Action.Start:
+ execution.setVariable('workStep', "StartVNF")
+ appcStatus = appcClient.runCommand(Action.Start,actionIdentifiers,null,msoRequestId)
+ break
+ case Action.Stop:
+ execution.setVariable('workStep', "StopVNF")
+ appcStatus = appcClient.runCommand(Action.Stop,actionIdentifiers,null,msoRequestId)
+ break
+ default:
+ break
+ }
+ logDebug("Completed AppC request", isDebugLogEnabled)
+ int appcCode = appcStatus.getCode()
+ logDebug("AppC status code is: " + appcCode, isDebugLogEnabled)
+ logDebug("AppC status message is: " + appcStatus.getMessage(), isDebugLogEnabled)
+ if (support.getCategoryOf(appcStatus) == ApplicationControllerSupport.StatusCategory.ERROR) {
+ execution.setVariable("errorCode", Integer.toString(appcCode))
+ execution.setVariable("errorText", appcStatus.getMessage())
+ }
+
+ logDebug('Exited ' + method, isDebugLogEnabled)
+ } catch (BpmnError e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+
+ } catch (java.lang.NoSuchMethodError e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
+
+ }
+ }
+
+ /**
+ * Placeholder for a call to APP-C client to execute specified APP-C command for this VNF.
+ *
+ *
+ * @param execution The flow's execution instance.
+ * @param action The action to take in APP-C.
+ */
+ public void runAppcCommandPlaceholder(DelegateExecution execution, String action) {
+ def method = getClass().getSimpleName() + '.runAppcCommandPlaceholder(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
+ execution.setVariable("failedActivity", "APP-C")
+ execution.setVariable("workStep", action)
+ }
+
+
+
+ /**
+ * Handle Abort disposition from RainyDayHandler
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void abortProcessing(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.abortProcessing(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ def errorText = execution.getVariable("errorText")
+ def errorCode = execution.getVariable("errorCode")
+
+ exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText)
+ }
+
+ /**
+ * Increment Retry Count for Current Work Step
+ *
+ * @param execution The flow's execution instance.
+ */
+ public void incrementRetryCount(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.incrementRetryCount(' +
+ 'execution=' + execution.getId() +
+ ')'
+ def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ String retryCountVariableName = execution.getVariable("workStep") + "RetryCount"
+ execution.setVariable("retryCountVariableName", retryCountVariableName)
+
+ def retryCountVariable = execution.getVariable(retryCountVariableName)
+ int retryCount = 0
+
+ if (retryCountVariable != null) {
+ retryCount = (int) retryCountVariable
+ }
+
+ retryCount += 1
+
+ execution.setVariable(retryCountVariableName, retryCount)
+
+ logDebug("value of " + retryCountVariableName + " is " + retryCount, isDebugLogEnabled)
+ logDebug('Exited ' + method, isDebugLogEnabled)
+
+
+ }
+
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy
index e1cae802e7..503cdfd034 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy
@@ -34,7 +34,7 @@ import org.openecomp.mso.bpmn.core.domain.*
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.json.JSONArray;
import org.apache.commons.lang3.*
@@ -50,786 +50,704 @@ import static org.apache.commons.lang3.StringUtils.*
*/
public class CreateVcpeResCustService extends AbstractServiceTaskProcessor {
- private static final String DebugFlag = "isDebugLogEnabled"
-
- String Prefix="CVRCS_"
- ExceptionUtil exceptionUtil = new ExceptionUtil()
- JsonUtils jsonUtil = new JsonUtils()
- VidUtils vidUtils = new VidUtils()
- CatalogDbUtils catalogDbUtils = new CatalogDbUtils()
-
- /**
- * This method is executed during the preProcessRequest task of the
- * <class>CreateServiceInstance.bpmn</class> process.
- * @param execution
- */
- public InitializeProcessVariables(Execution execution){
- /* Initialize all the process variables in this block */
-
- execution.setVariable("createVcpeServiceRequest", "")
- execution.setVariable("globalSubscriberId", "")
- execution.setVariable("serviceInstanceName", "")
- execution.setVariable("msoRequestId", "")
- execution.setVariable(Prefix+"VnfsCreatedCount", 0)
- execution.setVariable("productFamilyId", "")
- execution.setVariable("brgWanMacAddress", "")
- execution.setVariable("customerLocation", "")
-
- //TODO
- execution.setVariable("sdncVersion", "1707")
- }
-
- // **************************************************
- // Pre or Prepare Request Section
- // **************************************************
- /**
- * This method is executed during the preProcessRequest task of the
- * <class>CreateServiceInstance.bpmn</class> process.
- * @param execution
- */
- public void preProcessRequest (Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
- execution.setVariable("prefix",Prefix)
-
- utils.log("DEBUG", " ***** Inside preProcessRequest CreateVcpeResCustService Request ***** ", isDebugEnabled)
-
- try {
- // initialize flow variables
- InitializeProcessVariables(execution)
-
- //Config Inputs
- String aaiDistDelay = execution.getVariable('URN_mso_workflow_aai_distribution_delay')
- if (isBlank(aaiDistDelay)) {
- msg = "URN_mso_workflow_aai_distribution_delay is null"
- utils.log("DEBUG", msg, isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
- }
- execution.setVariable("aaiDistDelay", aaiDistDelay)
- utils.log("DEBUG","AAI distribution delay: " + aaiDistDelay, isDebugEnabled)
-
- // check for incoming json message/input
- String createVcpeServiceRequest = execution.getVariable("bpmnRequest")
- utils.logAudit(createVcpeServiceRequest)
- execution.setVariable("createVcpeServiceRequest", createVcpeServiceRequest);
- println 'createVcpeServiceRequest - ' + createVcpeServiceRequest
-
- // extract requestId
- String requestId = execution.getVariable("mso-request-id")
- execution.setVariable("msoRequestId", requestId)
-
- String serviceInstanceId = execution.getVariable("serviceInstanceId")
-
- if ((serviceInstanceId == null) || (serviceInstanceId.isEmpty())) {
- serviceInstanceId = UUID.randomUUID().toString()
- utils.log("DEBUG", " Generated new Service Instance: " + serviceInstanceId , isDebugEnabled)
- } else {
- utils.log("DEBUG", "Using provided Service Instance ID: " + serviceInstanceId , isDebugEnabled)
- }
-
- serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8")
- execution.setVariable("serviceInstanceId", serviceInstanceId)
-
- String requestAction = execution.getVariable("requestAction")
- execution.setVariable("requestAction", requestAction)
-
- setBasicDBAuthHeader(execution, isDebugEnabled)
-
- String source = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.source")
- if ((source == null) || (source.isEmpty())) {
- source = "VID"
- }
- execution.setVariable("source", source)
-
- // extract globalSubscriberId
- String globalSubscriberId = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.subscriberInfo.globalSubscriberId")
-
- // verify element global-customer-id is sent from JSON input, throw exception if missing
- if ((globalSubscriberId == null) || (globalSubscriberId.isEmpty())) {
- String dataErrorMessage = " Element 'globalSubscriberId' is missing. "
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
- } else {
- execution.setVariable("globalSubscriberId", globalSubscriberId)
- execution.setVariable("globalCustomerId", globalSubscriberId)
- }
-
- // extract subscriptionServiceType
- String subscriptionServiceType = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.requestParameters.subscriptionServiceType")
- execution.setVariable("subscriptionServiceType", subscriptionServiceType)
- utils.log("DEBUG", "Incoming subscriptionServiceType is: " + subscriptionServiceType, isDebugEnabled)
-
- String suppressRollback = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.requestInfo.suppressRollback")
- execution.setVariable("disableRollback", suppressRollback)
- utils.log("DEBUG", "Incoming Suppress/Disable Rollback is: " + suppressRollback, isDebugEnabled)
-
- String productFamilyId = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.requestInfo.productFamilyId")
- execution.setVariable("productFamilyId", productFamilyId)
- utils.log("DEBUG", "Incoming productFamilyId is: " + productFamilyId, isDebugEnabled)
-
- String subscriberInfo = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.subscriberInfo")
- execution.setVariable("subscriberInfo", subscriberInfo)
- utils.log("DEBUG", "Incoming subscriberInfo is: " + subscriberInfo, isDebugEnabled)
-
- /*
- * Extracting User Parameters from incoming Request and converting into a Map
- */
- def jsonSlurper = new JsonSlurper()
- def jsonOutput = new JsonOutput()
-
- Map reqMap = jsonSlurper.parseText(createVcpeServiceRequest)
-
-
- //InputParams
- def userParams = reqMap.requestDetails?.requestParameters?.userParams
+ private static final String DebugFlag = "isDebugLogEnabled"
+
+ String Prefix="CVRCS_"
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtil = new JsonUtils()
+ VidUtils vidUtils = new VidUtils()
+ CatalogDbUtils catalogDbUtils = new CatalogDbUtils()
+
+ /**
+ * This method is executed during the preProcessRequest task of the <class>CreateServiceInstance.bpmn</class> process.
+ * @param execution
+ */
+ public InitializeProcessVariables(DelegateExecution execution){
+ /* Initialize all the process variables in this block */
+
+ execution.setVariable("createVcpeServiceRequest", "")
+ execution.setVariable("globalSubscriberId", "")
+ execution.setVariable("serviceInstanceName", "")
+ execution.setVariable("msoRequestId", "")
+ execution.setVariable(Prefix+"VnfsCreatedCount", 0)
+ execution.setVariable("productFamilyId", "")
+ execution.setVariable("brgWanMacAddress", "")
+
+ //TODO
+ execution.setVariable("sdncVersion", "1707")
+ }
+
+ // **************************************************
+ // Pre or Prepare Request Section
+ // **************************************************
+ /**
+ * This method is executed during the preProcessRequest task of the <class>CreateServiceInstance.bpmn</class> process.
+ * @param execution
+ */
+ public void preProcessRequest (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+ execution.setVariable("prefix",Prefix)
+
+ utils.log("DEBUG", " ***** Inside preProcessRequest CreateVcpeResCustService Request ***** ", isDebugEnabled)
+
+ try {
+ // initialize flow variables
+ InitializeProcessVariables(execution)
+
+ //Config Inputs
+ String aaiDistDelay = execution.getVariable('URN_mso_workflow_aai_distribution_delay')
+ if (isBlank(aaiDistDelay)) {
+ msg = "URN_mso_workflow_aai_distribution_delay is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+ execution.setVariable("aaiDistDelay", aaiDistDelay)
+ utils.log("DEBUG","AAI distribution delay: " + aaiDistDelay, isDebugEnabled)
+
+ // check for incoming json message/input
+ String createVcpeServiceRequest = execution.getVariable("bpmnRequest")
+ utils.logAudit(createVcpeServiceRequest)
+ execution.setVariable("createVcpeServiceRequest", createVcpeServiceRequest);
+ println 'createVcpeServiceRequest - ' + createVcpeServiceRequest
+
+ // extract requestId
+ String requestId = execution.getVariable("mso-request-id")
+ execution.setVariable("msoRequestId", requestId)
+
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+
+ if ((serviceInstanceId == null) || (serviceInstanceId.isEmpty())) {
+ serviceInstanceId = UUID.randomUUID().toString()
+ utils.log("DEBUG", " Generated new Service Instance: " + serviceInstanceId , isDebugEnabled)
+ } else {
+ utils.log("DEBUG", "Using provided Service Instance ID: " + serviceInstanceId , isDebugEnabled)
+ }
+
+ serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8")
+ execution.setVariable("serviceInstanceId", serviceInstanceId)
+
+ String requestAction = execution.getVariable("requestAction")
+ execution.setVariable("requestAction", requestAction)
+
+ setBasicDBAuthHeader(execution, isDebugEnabled)
+
+ String source = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.source")
+ if ((source == null) || (source.isEmpty())) {
+ source = "VID"
+ }
+ execution.setVariable("source", source)
+
+ // extract globalSubscriberId
+ String globalSubscriberId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.subscriberInfo.globalSubscriberId")
+
+ // verify element global-customer-id is sent from JSON input, throw exception if missing
+ if ((globalSubscriberId == null) || (globalSubscriberId.isEmpty())) {
+ String dataErrorMessage = " Element 'globalSubscriberId' is missing. "
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
+
+ } else {
+ execution.setVariable("globalSubscriberId", globalSubscriberId)
+ execution.setVariable("globalCustomerId", globalSubscriberId)
+ }
+
+ // extract subscriptionServiceType
+ String subscriptionServiceType = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestParameters.subscriptionServiceType")
+ execution.setVariable("subscriptionServiceType", subscriptionServiceType)
+ utils.log("DEBUG", "Incoming subscriptionServiceType is: " + subscriptionServiceType, isDebugEnabled)
+
+ String suppressRollback = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.suppressRollback")
+ execution.setVariable("disableRollback", suppressRollback)
+ utils.log("DEBUG", "Incoming Suppress/Disable Rollback is: " + suppressRollback, isDebugEnabled)
+
+ String productFamilyId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.productFamilyId")
+ execution.setVariable("productFamilyId", productFamilyId)
+ utils.log("DEBUG", "Incoming productFamilyId is: " + productFamilyId, isDebugEnabled)
+
+ String subscriberInfo = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.subscriberInfo")
+ execution.setVariable("subscriberInfo", subscriberInfo)
+ utils.log("DEBUG", "Incoming subscriberInfo is: " + subscriberInfo, isDebugEnabled)
+
+ /*
+ * Extracting User Parameters from incoming Request and converting into a Map
+ */
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+
+ Map reqMap = jsonSlurper.parseText(createVcpeServiceRequest)
+
+ //InputParams
+ def userParams = reqMap.requestDetails?.requestParameters?.userParams
- Map<String, String> inputMap = [:]
-
-
- if (userParams) {
- userParams.each {
- userParam ->
- if("BRG_WAN_MAC_Address".equals(userParam?.name)) {
- execution.setVariable("brgWanMacAddress", userParam.value)
- inputMap.put("BRG_WAN_MAC_Address", userParam.value)
- }
- if("Customer_Location".equals(userParam?.name)) {
- execution.setVariable("customerLocation", userParam.value)
- userParam.value.each {
- customerLocParam ->
- inputMap.put(customerLocParam.key, customerLocParam.value)
- }
- }
- }
- }
-
- utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled)
- execution.setVariable("serviceInputParams", inputMap)
-
- utils.log("DEBUG", "Incoming brgWanMacAddress is: " +
- execution.getVariable('brgWanMacAddress'), isDebugEnabled)
- utils.log("DEBUG", "Incoming customerLocation is: " +
- execution.getVariable('customerLocation'), isDebugEnabled)
-
- //For Completion Handler & Fallout Handler
- String requestInfo =
- """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
- <request-id>${requestId}</request-id>
- <action>CREATE</action>
- <source>${source}</source>
- </request-info>"""
-
- execution.setVariable(Prefix+"requestInfo", requestInfo)
-
- utils.log("DEBUG",
- " ***** Completed preProcessRequest CreateVcpeResCustService Request ***** ", isDebugEnabled)
-
- } catch (BpmnError e) {
- throw e;
-
- } catch (Exception ex){
- String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow." +
- " Unexpected from method preProcessRequest() - " + ex.getMessage()
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
-
- public void sendSyncResponse(Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- utils.log("DEBUG", " ***** Inside sendSyncResponse of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- try {
- String serviceInstanceId = execution.getVariable("serviceInstanceId")
- String requestId = execution.getVariable("mso-request-id")
-
- // RESTResponse (for API Handler (APIH) Reply Task)
- String syncResponse ="""{"requestReferences":{
- "instanceId":"${serviceInstanceId}",
- "requestId":"${requestId}"
- }}""".trim()
-
- utils.log("DEBUG", " sendSynchResponse: xmlSyncResponse - " + "\n" + syncResponse, isDebugEnabled)
- sendWorkflowResponse(execution, 202, syncResponse)
-
- } catch (Exception ex) {
- String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " +
- "Unexpected from method sendSyncResponse() - " + ex.getMessage()
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
-
- // *******************************
- //
- // *******************************
- public void prepareDecomposeService(Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- try {
- utils.log("DEBUG",
- " ***** Inside prepareDecomposeService of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
-
- //serviceModelInfo JSON string will be used as-is for DoCreateServiceInstance BB
- String serviceModelInfo = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.modelInfo")
- execution.setVariable("serviceModelInfo", serviceModelInfo)
-
- utils.log("DEBUG",
- " ***** Completed prepareDecomposeService of CreateVcpeResCustService ***** ", isDebugEnabled)
- } catch (Exception ex) {
- // try error in method block
- String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " +
- "Unexpected Error from method prepareDecomposeService() - " + ex.getMessage()
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
-
- // *******************************
- //
- // *******************************
- public void prepareCreateServiceInstance(Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- try {
- utils.log("DEBUG",
- " ***** Inside prepareCreateServiceInstance of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- /*
- * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from
- * DecompositionObject
- * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
- * ModelInfo modelInfo = serviceDecomposition.getModelInfo()
- *
- */
- String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
-// String serviceInputParams = jsonUtil.getJsonValue(createVcpeServiceRequest,
-// "requestDetails.requestParameters")
-// execution.setVariable("serviceInputParams", serviceInputParams)
-
-
- String serviceInstanceName = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.requestInfo.instanceName")
- execution.setVariable("serviceInstanceName", serviceInstanceName)
-
- ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
- execution.setVariable("serviceDecompositionString", serviceDecomposition.toJsonStringNoRootName())
-
- utils.log("DEBUG",
- " ***** Completed prepareCreateServiceInstance of CreateVcpeResCustService ***** ", isDebugEnabled)
- } catch (Exception ex) {
- // try error in method block
- String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " +
- "Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage()
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
-
- public void postProcessServiceInstanceCreate (Execution execution){
- def method = getClass().getSimpleName() + '.postProcessServiceInstanceCreate(' +
- 'execution=' + execution.getId() +')'
- def isDebugLogEnabled = execution.getVariable(DebugFlag)
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- String requestId = execution.getVariable("mso-request-id")
- String serviceInstanceId = execution.getVariable("serviceInstanceId")
- String serviceInstanceName = execution.getVariable("serviceInstanceName")
-
- try {
-
- String payload = """
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
-xmlns:req="http://org.openecomp.mso/requestsdb">
- <soapenv:Header/>
- <soapenv:Body>
- <req:updateInfraRequest>
- <requestId>${requestId}</requestId>
- <lastModifiedBy>BPEL</lastModifiedBy>
- <serviceInstanceId>${serviceInstanceId}</serviceInstanceId>
- <serviceInstanceName>${serviceInstanceName}</serviceInstanceName>
- </req:updateInfraRequest>
- </soapenv:Body>
- </soapenv:Envelope>
- """
- execution.setVariable(Prefix+"setUpdateDbInstancePayload", payload)
- utils.logAudit(Prefix+"setUpdateDbInstancePayload: " + payload)
- logDebug('Exited ' + method, isDebugLogEnabled)
-
- } catch (BpmnError e) {
- throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2000, "Internal Error - Occured in" + method)
- }
- }
-
-
- public void processDecomposition (Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- utils.log("DEBUG", " ***** Inside processDecomposition() of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- try {
-
- ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
-
- // VNFs
- List<VnfResource> vnfList = serviceDecomposition.getServiceVnfs()
- filterVnfs(vnfList)
- serviceDecomposition.setServiceVnfs(vnfList)
-
- execution.setVariable("vnfList", vnfList)
- execution.setVariable("vnfListString", vnfList.toString())
-
- String vnfModelInfoString = ""
- if (vnfList != null && vnfList.size() > 0) {
- execution.setVariable(Prefix+"VNFsCount", vnfList.size())
- utils.log("DEBUG", "vnfs to create: "+ vnfList.size(), isDebugEnabled)
- ModelInfo vnfModelInfo = vnfList[0].getModelInfo()
-
- vnfModelInfoString = vnfModelInfo.toString()
- String vnfModelInfoWithRoot = vnfModelInfo.toString()
- vnfModelInfoString = jsonUtil.getJsonValue(vnfModelInfoWithRoot, "modelInfo")
- } else {
- execution.setVariable(Prefix+"VNFsCount", 0)
- utils.log("DEBUG", "no vnfs to create based upon serviceDecomposition content", isDebugEnabled)
- }
-
- execution.setVariable("vnfModelInfo", vnfModelInfoString)
- execution.setVariable("vnfModelInfoString", vnfModelInfoString)
- utils.log("DEBUG", " vnfModelInfoString :" + vnfModelInfoString, isDebugEnabled)
-
- utils.log("DEBUG",
- " ***** Completed processDecomposition() of CreateVcpeResCustService ***** ", isDebugEnabled)
- } catch (Exception ex) {
- sendSyncError(execution)
- String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " +
- "processDecomposition() - " + ex.getMessage()
- utils.log("DEBUG", exceptionMessage, isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
-
- private void filterVnfs(List<VnfResource> vnfList) {
- if(vnfList == null) {
- return
- }
-
- // remove BRG & TXC from VNF list
-
- Iterator<VnfResource> it = vnfList.iterator()
- while(it.hasNext()) {
- VnfResource vr = it.next()
-
- String role = vr.getNfRole()
- if(role == "BRG" || role == "TunnelXConn") {
- it.remove()
- }
- }
- }
-
-
- public void prepareCreateAllottedResourceTXC(Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- try {
- utils.log("DEBUG",
- " ***** Inside prepareCreateAllottedResourceTXC of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- /*
- * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from
- * DecompositionObject
- * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
- * ModelInfo modelInfo = serviceDecomposition.getModelInfo()
- *
- */
- String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
- ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
-
- //allottedResourceModelInfo
- //allottedResourceRole
- //The model Info parameters are a JSON structure as defined in the Service Instantiation API.
- //It would be sufficient to only include the service model UUID (i.e. the modelVersionId), since this
- //BB will query the full model from the Catalog DB.
- List<AllottedResource> allottedResources = serviceDecomposition.getServiceAllottedResources()
- if (allottedResources != null) {
- Iterator iter = allottedResources.iterator();
- while (iter.hasNext()){
- AllottedResource allottedResource = (AllottedResource)iter.next();
-
- utils.log("DEBUG", " getting model info for AllottedResource # :" +
- allottedResource.toJsonStringNoRootName(), isDebugEnabled)
- utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" +
- allottedResource.getAllottedResourceType(), isDebugEnabled)
- if("TunnelXConn".equalsIgnoreCase(allottedResource.getAllottedResourceType())){
- //set create flag to true
- execution.setVariable("createTXCAR", true)
- ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo()
- execution.setVariable("allottedResourceModelInfoTXC",
- allottedResourceModelInfo.toJsonStringNoRootName())
- execution.setVariable("allottedResourceRoleTXC", allottedResource.getAllottedResourceRole())
- execution.setVariable("allottedResourceTypeTXC", allottedResource.getAllottedResourceType())
- //After decomposition and homing BBs, there should be an allotted resource object in the
- // decomposition that represents the TXC,
- //and in its homingSolution section should be found the infraServiceInstanceId
- // (i.e. infraServiceInstanceId in TXC Allotted Resource structure) (which the Homing
- // BB would have populated).
- execution.setVariable("parentServiceInstanceIdTXC",
- allottedResource.getHomingSolution().getServiceInstanceId())
- }
- }
- }
-
- //unit test only
- String allottedResourceId = execution.getVariable("allottedResourceId")
- execution.setVariable("allottedResourceIdTXC", allottedResourceId)
- utils.log("DEBUG",
- "setting allottedResourceId CreateVcpeResCustService "+ allottedResourceId, isDebugEnabled)
-
- utils.log("DEBUG",
- " ***** Completed prepareCreateAllottedResourceTXC of CreateVcpeResCustService ***** ",
- isDebugEnabled)
- } catch (Exception ex) {
- // try error in method block
- String exceptionMessage = "Bpmn error encountered in prepareCreateAllottedResourceTXC flow. " +
- "Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage()
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
- public void prepareCreateAllottedResourceBRG(Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- try {
- utils.log("DEBUG",
- " ***** Inside prepareCreateAllottedResourceBRG of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- /*
- * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from
- * DecompositionObject
- * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
- * ModelInfo modelInfo = serviceDecomposition.getModelInfo()
- *
- */
- String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
- ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
-
- //allottedResourceModelInfo
- //allottedResourceRole
- //The model Info parameters are a JSON structure as defined in the Service Instantiation API.
- //It would be sufficient to only include the service model UUID (i.e. the modelVersionId), since this
- // BB will query the full model from the Catalog DB.
- List<AllottedResource> allottedResources = serviceDecomposition.getServiceAllottedResources()
- if (allottedResources != null) {
- Iterator iter = allottedResources.iterator();
- while (iter.hasNext()){
- AllottedResource allottedResource = (AllottedResource)iter.next();
-
- utils.log("DEBUG", " getting model info for AllottedResource # :" +
- allottedResource.toJsonStringNoRootName(), isDebugEnabled)
- utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" +
- allottedResource.getAllottedResourceType(), isDebugEnabled)
- if("BRG".equalsIgnoreCase(allottedResource.getAllottedResourceType())){
- //set create flag to true
- execution.setVariable("createBRGAR", true)
- ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo()
- execution.setVariable("allottedResourceModelInfoBRG",
- allottedResourceModelInfo.toJsonStringNoRootName())
- execution.setVariable("allottedResourceRoleBRG", allottedResource.getAllottedResourceRole())
- execution.setVariable("allottedResourceTypeBRG", allottedResource.getAllottedResourceType())
- //After decomposition and homing BBs, there should be an allotted resource object in the
- // decomposition that represents the BRG,
- //and in its homingSolution section should be found the infraServiceInstanceId
- // (i.e. infraServiceInstanceId in BRG Allotted Resource structure) (which the Homing
- // BB would have populated).
- execution.setVariable("parentServiceInstanceIdBRG",
- allottedResource.getHomingSolution().getServiceInstanceId())
- }
- }
- }
-
- //unit test only
- String allottedResourceId = execution.getVariable("allottedResourceId")
- execution.setVariable("allottedResourceIdBRG", allottedResourceId)
- utils.log("DEBUG",
- "setting allottedResourceId CreateVcpeResCustService " + allottedResourceId, isDebugEnabled)
-
- utils.log("DEBUG",
- " ***** Completed prepareCreateAllottedResourceBRG of CreateVcpeResCustService ***** ",
- isDebugEnabled)
- } catch (Exception ex) {
- // try error in method block
- String exceptionMessage = "Bpmn error encountered in prepareCreateAllottedResourceBRG flow. " +
- "Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage()
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
-
-
-
- // *******************************
- // Generate Network request Section
- // *******************************
- public void prepareVnfAndModulesCreate (Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- try {
- utils.log("DEBUG",
- " ***** Inside prepareVnfAndModulesCreate of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- // String disableRollback = execution.getVariable("disableRollback")
- // def backoutOnFailure = ""
- // if(disableRollback != null){
- // if ( disableRollback == true) {
- // backoutOnFailure = "false"
- // } else if ( disableRollback == false) {
- // backoutOnFailure = "true"
- // }
- // }
- //failIfExists - optional
-
- String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
- String productFamilyId = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.requestInfo.productFamilyId")
- execution.setVariable("productFamilyId", productFamilyId)
- utils.log("DEBUG","productFamilyId: "+ productFamilyId, isDebugEnabled)
-
- List<VnfResource> vnfList = execution.getVariable("vnfList")
-
- Integer vnfsCreatedCount = execution.getVariable(Prefix+"VnfsCreatedCount")
- String vnfModelInfoString = null;
-
- if (vnfList != null && vnfList.size() > 0 ) {
- utils.log("DEBUG", "getting model info for vnf # " + vnfsCreatedCount, isDebugEnabled)
- ModelInfo vnfModelInfo1 = vnfList[0].getModelInfo()
- utils.log("DEBUG", "got 0 ", isDebugEnabled)
- ModelInfo vnfModelInfo = vnfList[vnfsCreatedCount.intValue()].getModelInfo()
- vnfModelInfoString = vnfModelInfo.toString()
- } else {
- //TODO: vnfList does not contain data. Need to investigate why ... . Fro VCPE use model stored
- vnfModelInfoString = execution.getVariable("vnfModelInfo")
- }
-
- utils.log("DEBUG", " vnfModelInfoString :" + vnfModelInfoString, isDebugEnabled)
-
- // extract cloud configuration
- String lcpCloudRegionId = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.cloudConfiguration.lcpCloudRegionId")
- execution.setVariable("lcpCloudRegionId", lcpCloudRegionId)
- utils.log("DEBUG","lcpCloudRegionId: "+ lcpCloudRegionId, isDebugEnabled)
- String tenantId = jsonUtil.getJsonValue(createVcpeServiceRequest,
- "requestDetails.cloudConfiguration.tenantId")
- execution.setVariable("tenantId", tenantId)
- utils.log("DEBUG","tenantId: "+ tenantId, isDebugEnabled)
-
- String sdncVersion = execution.getVariable("sdncVersion")
- utils.log("DEBUG","sdncVersion: "+ sdncVersion, isDebugEnabled)
-
- utils.log("DEBUG",
- " ***** Completed prepareVnfAndModulesCreate of CreateVcpeResCustService ***** ", isDebugEnabled)
- } catch (Exception ex) {
- // try error in method block
- String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " +
- "Unexpected Error from method prepareVnfAndModulesCreate() - " + ex.getMessage()
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
-
- // *******************************
- // Validate Vnf request Section -> increment count
- // *******************************
- public void validateVnfCreate (Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- try {
- utils.log("DEBUG", " ***** Inside validateVnfCreate of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- Integer vnfsCreatedCount = execution.getVariable(Prefix+"VnfsCreatedCount")
- vnfsCreatedCount++
-
- execution.setVariable(Prefix+"VnfsCreatedCount", vnfsCreatedCount)
-
- utils.log("DEBUG",
- " ***** Completed validateVnfCreate of CreateVcpeResCustService ***** "+" vnf # "+vnfsCreatedCount, isDebugEnabled)
- } catch (Exception ex) {
- // try error in method block
- String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " +
- "Unexpected Error from method validateVnfCreate() - " + ex.getMessage()
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
-
- // *****************************************
- // Prepare Completion request Section
- // *****************************************
- public void postProcessResponse (Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- utils.log("DEBUG", " ***** Inside postProcessResponse of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- try {
- String source = execution.getVariable("source")
- String requestId = execution.getVariable("mso-request-id")
- String serviceInstanceId = execution.getVariable("serviceInstanceId")
-
- String msoCompletionRequest =
- """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:ns="http://org.openecomp/mso/request/types/v1">
- <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
- <request-id>${requestId}</request-id>
- <action>CREATE</action>
- <source>${source}</source>
- </request-info>
- <status-message>Service Instance has been created successfully via macro orchestration</status-message>
- <serviceInstanceId>${serviceInstanceId}</serviceInstanceId>
- <mso-bpel-name>BPMN macro create</mso-bpel-name>
- </aetgt:MsoCompletionRequest>"""
-
- // Format Response
- String xmlMsoCompletionRequest = utils.formatXml(msoCompletionRequest)
-
- utils.logAudit(xmlMsoCompletionRequest)
- execution.setVariable(Prefix+"Success", true)
- execution.setVariable(Prefix+"CompleteMsoProcessRequest", xmlMsoCompletionRequest)
- utils.log("DEBUG", " SUCCESS flow, going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest, isDebugEnabled)
- } catch (BpmnError e) {
- throw e;
- } catch (Exception ex) {
- // try error in method block
- String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " +
- "Unexpected Error from method postProcessResponse() - " + ex.getMessage()
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
- }
-
- public void preProcessRollback (Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
- utils.log("DEBUG"," ***** preProcessRollback of CreateVcpeResCustService ***** ", isDebugEnabled)
- try {
-
- Object workflowException = execution.getVariable("WorkflowException");
-
- if (workflowException instanceof WorkflowException) {
- utils.log("DEBUG", "Prev workflowException: " + workflowException.getErrorMessage(), isDebugEnabled)
- execution.setVariable("prevWorkflowException", workflowException);
- //execution.setVariable("WorkflowException", null);
- }
- } catch (BpmnError e) {
- utils.log("DEBUG", "BPMN Error during preProcessRollback", isDebugEnabled)
- } catch(Exception ex) {
- String msg = "Exception in preProcessRollback. " + ex.getMessage()
- utils.log("DEBUG", msg, isDebugEnabled)
- }
- utils.log("DEBUG"," *** Exit preProcessRollback of CreateVcpeResCustService *** ", isDebugEnabled)
- }
-
- public void postProcessRollback (Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
- utils.log("DEBUG"," ***** postProcessRollback of CreateVcpeResCustService ***** ", isDebugEnabled)
- String msg = ""
- try {
- Object workflowException = execution.getVariable("prevWorkflowException");
- if (workflowException instanceof WorkflowException) {
- utils.log("DEBUG", "Setting prevException to WorkflowException: ", isDebugEnabled)
- execution.setVariable("WorkflowException", workflowException);
- }
- } catch (BpmnError b) {
- utils.log("DEBUG", "BPMN Error during postProcessRollback", isDebugEnabled)
- throw b;
- } catch(Exception ex) {
- msg = "Exception in postProcessRollback. " + ex.getMessage()
- utils.log("DEBUG", msg, isDebugEnabled)
- }
- utils.log("DEBUG"," *** Exit postProcessRollback of CreateVcpeResCustService *** ", isDebugEnabled)
- }
-
- public void prepareFalloutRequest(Execution execution){
- def isDebugEnabled=execution.getVariable(DebugFlag)
-
- utils.log("DEBUG", " *** STARTED CreateVcpeResCustService prepareFalloutRequest Process *** ", isDebugEnabled)
-
- try {
- WorkflowException wfex = execution.getVariable("WorkflowException")
- utils.log("DEBUG", " Incoming Workflow Exception: " + wfex.toString(), isDebugEnabled)
- String requestInfo = execution.getVariable(Prefix+"requestInfo")
- utils.log("DEBUG", " Incoming Request Info: " + requestInfo, isDebugEnabled)
-
- //TODO. hmmm. there is no way to UPDATE error message.
-// String errorMessage = wfex.getErrorMessage()
-// boolean successIndicator = execution.getVariable("DCRESI_rolledBack")
-// if (successIndicator){
-// errorMessage = errorMessage + ". Rollback successful."
-// } else {
-// errorMessage = errorMessage + ". Rollback not completed."
-// }
-
- String falloutRequest = exceptionUtil.processMainflowsBPMNException(execution, requestInfo)
-
- execution.setVariable(Prefix+"falloutRequest", falloutRequest)
-
- } catch (Exception ex) {
- utils.log("DEBUG",
- "Error Occured in CreateVcpeResCustService prepareFalloutRequest Process " + ex.getMessage(),
- isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500,
- "Internal Error - Occured in CreateVcpeResCustService prepareFalloutRequest Process")
- }
- utils.log("DEBUG",
- "*** COMPLETED CreateVcpeResCustService prepareFalloutRequest Process ***", isDebugEnabled)
- }
-
-
- public void sendSyncError (Execution execution) {
- def isDebugEnabled=execution.getVariable(DebugFlag)
- execution.setVariable("prefix", Prefix)
-
- utils.log("DEBUG", " ***** Inside sendSyncError() of CreateVcpeResCustService ***** ", isDebugEnabled)
-
- try {
- String errorMessage = ""
- def wfe = execution.getVariable("WorkflowException")
- if (wfe instanceof WorkflowException) {
- errorMessage = wfe.getErrorMessage()
- } else {
- errorMessage = "Sending Sync Error."
- }
-
- String buildworkflowException =
- """<aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">
- <aetgt:ErrorMessage>${errorMessage}</aetgt:ErrorMessage>
- <aetgt:ErrorCode>7000</aetgt:ErrorCode>
- </aetgt:WorkflowException>"""
-
- utils.logAudit(buildworkflowException)
- sendWorkflowResponse(execution, 500, buildworkflowException)
- } catch (Exception ex) {
- utils.log("DEBUG", " Sending Sync Error Activity Failed. " + "\n" + ex.getMessage(), isDebugEnabled)
- }
- }
-
- public void processJavaException(Execution execution){
- def isDebugEnabled=execution.getVariable(DebugFlag)
- execution.setVariable("prefix",Prefix)
- try{
- utils.log("DEBUG", "Caught a Java Exception", isDebugEnabled)
- utils.log("DEBUG", "Started processJavaException Method", isDebugEnabled)
- utils.log("DEBUG", "Variables List: " + execution.getVariables(), isDebugEnabled)
- // Adding below line temporarily until this flows error handling gets updated
- execution.setVariable(Prefix+"unexpectedError", "Caught a Java Lang Exception")
- exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Caught a Java Lang Exception")
- }catch(BpmnError b){
- utils.log("ERROR", "Rethrowing MSOWorkflowException", isDebugEnabled)
- throw b
- }catch(Exception e){
- utils.log("DEBUG", "Caught Exception during processJavaException Method: " + e, isDebugEnabled)
- // Adding below line temporarily until this flows error handling gets updated
- execution.setVariable(Prefix+"unexpectedError", "Exception in processJavaException method")
- exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Exception in processJavaException method")
- }
- utils.log("DEBUG", "Completed processJavaException Method", isDebugEnabled)
- }
+ Map<String, String> inputMap = [:]
+
+
+ if (userParams) {
+ userParams.each {
+ userParam ->
+ if("BRG_WAN_MAC_Address".equals(userParam?.name)) {
+ execution.setVariable("brgWanMacAddress", userParam.value)
+ inputMap.put("BRG_WAN_MAC_Address", userParam.value)
+ }
+ }
+ }
+
+ utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled)
+ execution.setVariable("serviceInputParams", inputMap)
+
+ utils.log("DEBUG", "Incoming brgWanMacAddress is: " + execution.getVariable('brgWanMacAddress'), isDebugEnabled)
+
+ //For Completion Handler & Fallout Handler
+ String requestInfo =
+ """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
+ <request-id>${requestId}</request-id>
+ <action>CREATE</action>
+ <source>${source}</source>
+ </request-info>"""
+
+ execution.setVariable(Prefix+"requestInfo", requestInfo)
+
+ utils.log("DEBUG", " ***** Completed preProcessRequest CreateVcpeResCustService Request ***** ", isDebugEnabled)
+
+ } catch (BpmnError e) {
+ throw e;
+
+ } catch (Exception ex){
+ String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected from method preProcessRequest() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void sendSyncResponse(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ utils.log("DEBUG", " ***** Inside sendSyncResponse of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ try {
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ String requestId = execution.getVariable("mso-request-id")
+
+ // RESTResponse (for API Handler (APIH) Reply Task)
+ String syncResponse ="""{"requestReferences":{"instanceId":"${serviceInstanceId}","requestId":"${requestId}"}}""".trim()
+
+ utils.log("DEBUG", " sendSynchResponse: xmlSyncResponse - " + "\n" + syncResponse, isDebugEnabled)
+ sendWorkflowResponse(execution, 202, syncResponse)
+
+ } catch (Exception ex) {
+ String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected from method sendSyncResponse() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ // *******************************
+ //
+ // *******************************
+ public void prepareDecomposeService(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareDecomposeService of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
+
+ //serviceModelInfo JSON string will be used as-is for DoCreateServiceInstance BB
+ String serviceModelInfo = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.modelInfo")
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+
+ utils.log("DEBUG", " ***** Completed prepareDecomposeService of CreateVcpeResCustService ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method prepareDecomposeService() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ // *******************************
+ //
+ // *******************************
+ public void prepareCreateServiceInstance(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareCreateServiceInstance of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ /*
+ * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from DecompositionObject
+ * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ * ModelInfo modelInfo = serviceDecomposition.getModelInfo()
+ *
+ */
+ String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
+// String serviceInputParams = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestParameters")
+// execution.setVariable("serviceInputParams", serviceInputParams)
+
+
+ String serviceInstanceName = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.instanceName")
+ execution.setVariable("serviceInstanceName", serviceInstanceName)
+
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ execution.setVariable("serviceDecompositionString", serviceDecomposition.toJsonStringNoRootName())
+
+ utils.log("DEBUG", " ***** Completed prepareCreateServiceInstance of CreateVcpeResCustService ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void postProcessServiceInstanceCreate (DelegateExecution execution){
+ def method = getClass().getSimpleName() + '.postProcessServiceInstanceCreate(' +'execution=' + execution.getId() +')'
+ def isDebugLogEnabled = execution.getVariable(DebugFlag)
+ logDebug('Entered ' + method, isDebugLogEnabled)
+
+ String requestId = execution.getVariable("mso-request-id")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ String serviceInstanceName = execution.getVariable("serviceInstanceName")
+
+ try {
+
+ String payload = """
+ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req="http://org.openecomp.mso/requestsdb">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <req:updateInfraRequest>
+ <requestId>${requestId}</requestId>
+ <lastModifiedBy>BPEL</lastModifiedBy>
+ <serviceInstanceId>${serviceInstanceId}</serviceInstanceId>
+ <serviceInstanceName>${serviceInstanceName}</serviceInstanceName>
+ </req:updateInfraRequest>
+ </soapenv:Body>
+ </soapenv:Envelope>
+ """
+ execution.setVariable(Prefix+"setUpdateDbInstancePayload", payload)
+ utils.logAudit(Prefix+"setUpdateDbInstancePayload: " + payload)
+ logDebug('Exited ' + method, isDebugLogEnabled)
+
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception e) {
+ logError('Caught exception in ' + method, e)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2000, "Internal Error - Occured in" + method)
+ }
+ }
+
+
+ public void processDecomposition (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ utils.log("DEBUG", " ***** Inside processDecomposition() of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ try {
+
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+
+ // VNFs
+ List<VnfResource> vnfList = serviceDecomposition.getServiceVnfs()
+ filterVnfs(vnfList)
+ serviceDecomposition.setServiceVnfs(vnfList)
+
+ execution.setVariable("vnfList", vnfList)
+ execution.setVariable("vnfListString", vnfList.toString())
+
+ String vnfModelInfoString = ""
+ if (vnfList != null && vnfList.size() > 0) {
+ execution.setVariable(Prefix+"VNFsCount", vnfList.size())
+ utils.log("DEBUG", "vnfs to create: "+ vnfList.size(), isDebugEnabled)
+ ModelInfo vnfModelInfo = vnfList[0].getModelInfo()
+
+ vnfModelInfoString = vnfModelInfo.toString()
+ String vnfModelInfoWithRoot = vnfModelInfo.toString()
+ vnfModelInfoString = jsonUtil.getJsonValue(vnfModelInfoWithRoot, "modelInfo")
+ } else {
+ execution.setVariable(Prefix+"VNFsCount", 0)
+ utils.log("DEBUG", "no vnfs to create based upon serviceDecomposition content", isDebugEnabled)
+ }
+
+ execution.setVariable("vnfModelInfo", vnfModelInfoString)
+ execution.setVariable("vnfModelInfoString", vnfModelInfoString)
+ utils.log("DEBUG", " vnfModelInfoString :" + vnfModelInfoString, isDebugEnabled)
+
+ utils.log("DEBUG", " ***** Completed processDecomposition() of CreateVcpeResCustService ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ sendSyncError(execution)
+ String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. processDecomposition() - " + ex.getMessage()
+ utils.log("DEBUG", exceptionMessage, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ private void filterVnfs(List<VnfResource> vnfList) {
+ if(vnfList == null) {
+ return
+ }
+
+ // remove BRG & TXC from VNF list
+
+ Iterator<VnfResource> it = vnfList.iterator()
+ while(it.hasNext()) {
+ VnfResource vr = it.next()
+
+ String role = vr.getNfRole()
+ if(role == "BRG" || role == "TunnelXConn") {
+ it.remove()
+ }
+ }
+ }
+
+
+ public void prepareCreateAllottedResourceTXC(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareCreateAllottedResourceTXC of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ /*
+ * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from DecompositionObject
+ * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ * ModelInfo modelInfo = serviceDecomposition.getModelInfo()
+ *
+ */
+ String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+
+ //allottedResourceModelInfo
+ //allottedResourceRole
+ //The model Info parameters are a JSON structure as defined in the Service Instantiation API.
+ //It would be sufficient to only include the service model UUID (i.e. the modelVersionId), since this BB will query the full model from the Catalog DB.
+ List<AllottedResource> allottedResources = serviceDecomposition.getServiceAllottedResources()
+ if (allottedResources != null) {
+ Iterator iter = allottedResources.iterator();
+ while (iter.hasNext()){
+ AllottedResource allottedResource = (AllottedResource)iter.next();
+
+ utils.log("DEBUG", " getting model info for AllottedResource # :" + allottedResource.toJsonStringNoRootName(), isDebugEnabled)
+ utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" + allottedResource.getAllottedResourceType(), isDebugEnabled)
+ if("TunnelXConn".equalsIgnoreCase(allottedResource.getAllottedResourceType())){
+ //set create flag to true
+ execution.setVariable("createTXCAR", true)
+ ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo()
+ execution.setVariable("allottedResourceModelInfoTXC", allottedResourceModelInfo.toJsonStringNoRootName())
+ execution.setVariable("allottedResourceRoleTXC", allottedResource.getAllottedResourceRole())
+ execution.setVariable("allottedResourceTypeTXC", allottedResource.getAllottedResourceType())
+ //After decomposition and homing BBs, there should be an allotted resource object in the decomposition that represents the TXC,
+ //and in its homingSolution section should be found the infraServiceInstanceId (i.e. infraServiceInstanceId in TXC Allotted Resource structure) (which the Homing BB would have populated).
+ execution.setVariable("parentServiceInstanceIdTXC", allottedResource.getHomingSolution().getServiceInstanceId())
+ }
+ }
+ }
+
+ //unit test only
+ String allottedResourceId = execution.getVariable("allottedResourceId")
+ execution.setVariable("allottedResourceIdTXC", allottedResourceId)
+ utils.log("DEBUG", "setting allottedResourceId CreateVcpeResCustService "+allottedResourceId, isDebugEnabled)
+
+ utils.log("DEBUG", " ***** Completed prepareCreateAllottedResourceTXC of CreateVcpeResCustService ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in prepareCreateAllottedResourceTXC flow. Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+ public void prepareCreateAllottedResourceBRG(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareCreateAllottedResourceBRG of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ /*
+ * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from DecompositionObject
+ * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ * ModelInfo modelInfo = serviceDecomposition.getModelInfo()
+ *
+ */
+ String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+
+ //allottedResourceModelInfo
+ //allottedResourceRole
+ //The model Info parameters are a JSON structure as defined in the Service Instantiation API.
+ //It would be sufficient to only include the service model UUID (i.e. the modelVersionId), since this BB will query the full model from the Catalog DB.
+ List<AllottedResource> allottedResources = serviceDecomposition.getServiceAllottedResources()
+ if (allottedResources != null) {
+ Iterator iter = allottedResources.iterator();
+ while (iter.hasNext()){
+ AllottedResource allottedResource = (AllottedResource)iter.next();
+
+ utils.log("DEBUG", " getting model info for AllottedResource # :" + allottedResource.toJsonStringNoRootName(), isDebugEnabled)
+ utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" + allottedResource.getAllottedResourceType(), isDebugEnabled)
+ if("BRG".equalsIgnoreCase(allottedResource.getAllottedResourceType())){
+ //set create flag to true
+ execution.setVariable("createBRGAR", true)
+ ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo()
+ execution.setVariable("allottedResourceModelInfoBRG", allottedResourceModelInfo.toJsonStringNoRootName())
+ execution.setVariable("allottedResourceRoleBRG", allottedResource.getAllottedResourceRole())
+ execution.setVariable("allottedResourceTypeBRG", allottedResource.getAllottedResourceType())
+ //After decomposition and homing BBs, there should be an allotted resource object in the decomposition that represents the BRG,
+ //and in its homingSolution section should be found the infraServiceInstanceId (i.e. infraServiceInstanceId in BRG Allotted Resource structure) (which the Homing BB would have populated).
+ execution.setVariable("parentServiceInstanceIdBRG", allottedResource.getHomingSolution().getServiceInstanceId())
+ }
+ }
+ }
+
+ //unit test only
+ String allottedResourceId = execution.getVariable("allottedResourceId")
+ execution.setVariable("allottedResourceIdBRG", allottedResourceId)
+ utils.log("DEBUG", "setting allottedResourceId CreateVcpeResCustService "+allottedResourceId, isDebugEnabled)
+
+ utils.log("DEBUG", " ***** Completed prepareCreateAllottedResourceBRG of CreateVcpeResCustService ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in prepareCreateAllottedResourceBRG flow. Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+
+
+ // *******************************
+ // Generate Network request Section
+ // *******************************
+ public void prepareVnfAndModulesCreate (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareVnfAndModulesCreate of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ // String disableRollback = execution.getVariable("disableRollback")
+ // def backoutOnFailure = ""
+ // if(disableRollback != null){
+ // if ( disableRollback == true) {
+ // backoutOnFailure = "false"
+ // } else if ( disableRollback == false) {
+ // backoutOnFailure = "true"
+ // }
+ // }
+ //failIfExists - optional
+
+ String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest")
+ String productFamilyId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.productFamilyId")
+ execution.setVariable("productFamilyId", productFamilyId)
+ utils.log("DEBUG","productFamilyId: "+ productFamilyId, isDebugEnabled)
+
+ List<VnfResource> vnfList = execution.getVariable("vnfList")
+
+ Integer vnfsCreatedCount = execution.getVariable(Prefix+"VnfsCreatedCount")
+ String vnfModelInfoString = null;
+
+ if (vnfList != null && vnfList.size() > 0 ) {
+ utils.log("DEBUG", "getting model info for vnf # " + vnfsCreatedCount, isDebugEnabled)
+ ModelInfo vnfModelInfo1 = vnfList[0].getModelInfo()
+ utils.log("DEBUG", "got 0 ", isDebugEnabled)
+ ModelInfo vnfModelInfo = vnfList[vnfsCreatedCount.intValue()].getModelInfo()
+ vnfModelInfoString = vnfModelInfo.toString()
+ } else {
+ //TODO: vnfList does not contain data. Need to investigate why ... . Fro VCPE use model stored
+ vnfModelInfoString = execution.getVariable("vnfModelInfo")
+ }
+
+ utils.log("DEBUG", " vnfModelInfoString :" + vnfModelInfoString, isDebugEnabled)
+
+ // extract cloud configuration
+ String lcpCloudRegionId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.cloudConfiguration.lcpCloudRegionId")
+ execution.setVariable("lcpCloudRegionId", lcpCloudRegionId)
+ utils.log("DEBUG","lcpCloudRegionId: "+ lcpCloudRegionId, isDebugEnabled)
+ String tenantId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.cloudConfiguration.tenantId")
+ execution.setVariable("tenantId", tenantId)
+ utils.log("DEBUG","tenantId: "+ tenantId, isDebugEnabled)
+
+ String sdncVersion = execution.getVariable("sdncVersion")
+ utils.log("DEBUG","sdncVersion: "+ sdncVersion, isDebugEnabled)
+
+ utils.log("DEBUG", " ***** Completed prepareVnfAndModulesCreate of CreateVcpeResCustService ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method prepareVnfAndModulesCreate() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ // *******************************
+ // Validate Vnf request Section -> increment count
+ // *******************************
+ public void validateVnfCreate (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ try {
+ utils.log("DEBUG", " ***** Inside validateVnfCreate of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ Integer vnfsCreatedCount = execution.getVariable(Prefix+"VnfsCreatedCount")
+ vnfsCreatedCount++
+
+ execution.setVariable(Prefix+"VnfsCreatedCount", vnfsCreatedCount)
+
+ utils.log("DEBUG", " ***** Completed validateVnfCreate of CreateVcpeResCustService ***** "+" vnf # "+vnfsCreatedCount, isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method validateVnfCreate() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ // *****************************************
+ // Prepare Completion request Section
+ // *****************************************
+ public void postProcessResponse (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ utils.log("DEBUG", " ***** Inside postProcessResponse of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ try {
+ String source = execution.getVariable("source")
+ String requestId = execution.getVariable("mso-request-id")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+
+ String msoCompletionRequest =
+ """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:ns="http://org.openecomp/mso/request/types/v1">
+ <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
+ <request-id>${requestId}</request-id>
+ <action>CREATE</action>
+ <source>${source}</source>
+ </request-info>
+ <status-message>Service Instance has been created successfully via macro orchestration</status-message>
+ <serviceInstanceId>${serviceInstanceId}</serviceInstanceId>
+ <mso-bpel-name>BPMN macro create</mso-bpel-name>
+ </aetgt:MsoCompletionRequest>"""
+
+ // Format Response
+ String xmlMsoCompletionRequest = utils.formatXml(msoCompletionRequest)
+
+ utils.logAudit(xmlMsoCompletionRequest)
+ execution.setVariable(Prefix+"Success", true)
+ execution.setVariable(Prefix+"CompleteMsoProcessRequest", xmlMsoCompletionRequest)
+ utils.log("DEBUG", " SUCCESS flow, going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest, isDebugEnabled)
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method postProcessResponse() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void preProcessRollback (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+ utils.log("DEBUG"," ***** preProcessRollback of CreateVcpeResCustService ***** ", isDebugEnabled)
+ try {
+
+ Object workflowException = execution.getVariable("WorkflowException");
+
+ if (workflowException instanceof WorkflowException) {
+ utils.log("DEBUG", "Prev workflowException: " + workflowException.getErrorMessage(), isDebugEnabled)
+ execution.setVariable("prevWorkflowException", workflowException);
+ //execution.setVariable("WorkflowException", null);
+ }
+ } catch (BpmnError e) {
+ utils.log("DEBUG", "BPMN Error during preProcessRollback", isDebugEnabled)
+ } catch(Exception ex) {
+ String msg = "Exception in preProcessRollback. " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ }
+ utils.log("DEBUG"," *** Exit preProcessRollback of CreateVcpeResCustService *** ", isDebugEnabled)
+ }
+
+ public void postProcessRollback (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+ utils.log("DEBUG"," ***** postProcessRollback of CreateVcpeResCustService ***** ", isDebugEnabled)
+ String msg = ""
+ try {
+ Object workflowException = execution.getVariable("prevWorkflowException");
+ if (workflowException instanceof WorkflowException) {
+ utils.log("DEBUG", "Setting prevException to WorkflowException: ", isDebugEnabled)
+ execution.setVariable("WorkflowException", workflowException);
+ }
+ } catch (BpmnError b) {
+ utils.log("DEBUG", "BPMN Error during postProcessRollback", isDebugEnabled)
+ throw b;
+ } catch(Exception ex) {
+ msg = "Exception in postProcessRollback. " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ }
+ utils.log("DEBUG"," *** Exit postProcessRollback of CreateVcpeResCustService *** ", isDebugEnabled)
+ }
+
+ public void prepareFalloutRequest(DelegateExecution execution){
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+
+ utils.log("DEBUG", " *** STARTED CreateVcpeResCustService prepareFalloutRequest Process *** ", isDebugEnabled)
+
+ try {
+ WorkflowException wfex = execution.getVariable("WorkflowException")
+ utils.log("DEBUG", " Incoming Workflow Exception: " + wfex.toString(), isDebugEnabled)
+ String requestInfo = execution.getVariable(Prefix+"requestInfo")
+ utils.log("DEBUG", " Incoming Request Info: " + requestInfo, isDebugEnabled)
+
+ //TODO. hmmm. there is no way to UPDATE error message.
+// String errorMessage = wfex.getErrorMessage()
+// boolean successIndicator = execution.getVariable("DCRESI_rolledBack")
+// if (successIndicator){
+// errorMessage = errorMessage + ". Rollback successful."
+// } else {
+// errorMessage = errorMessage + ". Rollback not completed."
+// }
+
+ String falloutRequest = exceptionUtil.processMainflowsBPMNException(execution, requestInfo)
+
+ execution.setVariable(Prefix+"falloutRequest", falloutRequest)
+
+ } catch (Exception ex) {
+ utils.log("DEBUG", "Error Occured in CreateVcpeResCustService prepareFalloutRequest Process " + ex.getMessage(), isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in CreateVcpeResCustService prepareFalloutRequest Process")
+ }
+ utils.log("DEBUG", "*** COMPLETED CreateVcpeResCustService prepareFalloutRequest Process ***", isDebugEnabled)
+ }
+
+
+ public void sendSyncError (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+ execution.setVariable("prefix", Prefix)
+
+ utils.log("DEBUG", " ***** Inside sendSyncError() of CreateVcpeResCustService ***** ", isDebugEnabled)
+
+ try {
+ String errorMessage = ""
+ def wfe = execution.getVariable("WorkflowException")
+ if (wfe instanceof WorkflowException) {
+ errorMessage = wfe.getErrorMessage()
+ } else {
+ errorMessage = "Sending Sync Error."
+ }
+
+ String buildworkflowException =
+ """<aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">
+ <aetgt:ErrorMessage>${errorMessage}</aetgt:ErrorMessage>
+ <aetgt:ErrorCode>7000</aetgt:ErrorCode>
+ </aetgt:WorkflowException>"""
+
+ utils.logAudit(buildworkflowException)
+ sendWorkflowResponse(execution, 500, buildworkflowException)
+ } catch (Exception ex) {
+ utils.log("DEBUG", " Sending Sync Error Activity Failed. " + "\n" + ex.getMessage(), isDebugEnabled)
+ }
+ }
+
+ public void processJavaException(DelegateExecution execution){
+ def isDebugEnabled=execution.getVariable(DebugFlag)
+ execution.setVariable("prefix",Prefix)
+ try{
+ utils.log("DEBUG", "Caught a Java Exception", isDebugEnabled)
+ utils.log("DEBUG", "Started processJavaException Method", isDebugEnabled)
+ utils.log("DEBUG", "Variables List: " + execution.getVariables(), isDebugEnabled)
+ execution.setVariable(Prefix+"unexpectedError", "Caught a Java Lang Exception") // Adding this line temporarily until this flows error handling gets updated
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Caught a Java Lang Exception")
+ }catch(BpmnError b){
+ utils.log("ERROR", "Rethrowing MSOWorkflowException", isDebugEnabled)
+ throw b
+ }catch(Exception e){
+ utils.log("DEBUG", "Caught Exception during processJavaException Method: " + e, isDebugEnabled)
+ execution.setVariable(Prefix+"unexpectedError", "Exception in processJavaException method") // Adding this line temporarily until this flows error handling gets updated
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Exception in processJavaException method")
+ }
+ utils.log("DEBUG", "Completed processJavaException Method", isDebugEnabled)
+ }
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy
index 16fb22a6d3..aa16d3b280 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy
@@ -35,7 +35,7 @@ import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.json.JSONArray;
import org.apache.commons.lang3.*
@@ -64,7 +64,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>DeleteVcpeResCustService.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable("DeleteVcpeResCustServiceRequest", "")
@@ -80,7 +80,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
* This method is executed during the preProcessRequest task of the <class>CreateServiceInstance.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
execution.setVariable("prefix",Prefix)
@@ -174,7 +174,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
}
}
- public void sendSyncResponse(Execution execution) {
+ public void sendSyncResponse(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside sendSyncResponse of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -189,12 +189,12 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
utils.log("DEBUG", " sendSynchResponse: xmlSyncResponse - " + "\n" + syncResponse, isDebugEnabled)
sendWorkflowResponse(execution, 202, syncResponse)
} catch (Exception ex) {
- String exceptionMessage = "Bpmn error encountered in DeleteVcpeResCustService flow. Unexpected from method preProcessRequest() - " + ex.getMessage()
+ String exceptionMessage = "Bpmn error encountered in DeleteVcpeResCustService flow. Unexpected from method preProcessRequest() - " + ex.getMessage()
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
}
- public void prepareServiceDelete(Execution execution) {
+ public void prepareServiceDelete(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside prepareServiceDelete() of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -281,7 +281,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
}
}
- private getAaiAr(Execution execution, String relink) {
+ private getAaiAr(DelegateExecution execution, String relink) {
def isDebugEnabled = execution.getVariable(DebugFlag)
AaiUtil aaiUtil = new AaiUtil(this)
String aaiEndpoint = execution.getVariable("URN_aai_endpoint") + relink
@@ -309,7 +309,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
// *******************************
//
// *******************************
- public void prepareVnfAndModulesDelete (Execution execution) {
+ public void prepareVnfAndModulesDelete (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside prepareVnfAndModulesDelete of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -336,7 +336,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
// *******************************
// Validate Vnf request Section -> increment count
// *******************************
- public void validateVnfDelete (Execution execution) {
+ public void validateVnfDelete (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside validateVnfDelete of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -358,7 +358,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
// *****************************************
// Prepare Completion request Section
// *****************************************
- public void postProcessResponse (Execution execution) {
+ public void postProcessResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside postProcessResponse of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -395,7 +395,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
}
}
- public void prepareFalloutRequest(Execution execution){
+ public void prepareFalloutRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** STARTED DeleteVcpeResCustService prepareFalloutRequest Process *** ", isDebugEnabled)
@@ -416,7 +416,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
}
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside sendSyncError() of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -442,7 +442,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
}
}
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable(DebugFlag)
execution.setVariable("prefix",Prefix)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRG.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRG.groovy
index 997757aa2c..7d7c862a0b 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRG.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRG.groovy
@@ -28,7 +28,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.springframework.web.util.UriUtils;
import static org.apache.commons.lang3.StringUtils.*
@@ -72,7 +72,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -152,7 +152,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void getAaiAR (Execution execution) {
+ public void getAaiAR (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** getAaiAR ***** ", isDebugEnabled)
@@ -190,7 +190,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit getAaiAR *****", isDebugEnabled)
}
- public void createAaiAR(Execution execution) {
+ public void createAaiAR(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** createAaiAR ***** ", isDebugEnabled)
@@ -312,7 +312,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *** Exit createAaiAR*** ", isDebugEnabled)
}
- public String buildSDNCRequest(Execution execution, String action, String sdncRequestId) {
+ public String buildSDNCRequest(DelegateExecution execution, String action, String sdncRequestId) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -379,7 +379,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
<service-information>
<service-id></service-id>
<subscription-service-type>${subscriptionServiceType}</subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>${serviceInstanceId}</service-instance-id>
<subscriber-name/>
<global-customer-id>${globalCustomerId}</global-customer-id>
@@ -388,13 +388,13 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
<allotted-resource-id>${allottedResourceId}</allotted-resource-id>
<allotted-resource-type>brg</allotted-resource-type>
<parent-service-instance-id>${parentServiceInstanceId}</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>${modelInvariantId}</model-invariant-uuid>
<model-uuid>${modelUUId}</model-uuid>
<model-customization-uuid>${modelCustomizationId}</model-customization-uuid>
<model-version>${modelVersion}</model-version>
<model-name>${modelName}</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<brg-request-input>
<brg-wan-mac-address>${brgWanMacAddress}</brg-wan-mac-address>
@@ -416,7 +416,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
return sdncReq
}
- public void preProcessSDNCAssign(Execution execution) {
+ public void preProcessSDNCAssign(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -446,7 +446,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCAssign *****", isDebugEnabled)
}
- public void preProcessSDNCCreate(Execution execution) {
+ public void preProcessSDNCCreate(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -476,7 +476,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCCreate *****", isDebugEnabled)
}
- public void preProcessSDNCActivate(Execution execution) {
+ public void preProcessSDNCActivate(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -506,7 +506,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCActivate *****", isDebugEnabled)
}
- public void validateSDNCResp(Execution execution, String response, String method){
+ public void validateSDNCResp(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -546,7 +546,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled)
}
- public void preProcessSDNCGet(Execution execution){
+ public void preProcessSDNCGet(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG", "*** preProcessSDNCGet *** ", isDebugLogEnabled)
try{
@@ -575,7 +575,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
String serviceInstanceId = execution.getVariable("serviceInstanceId")
String sdncRequestId = UUID.randomUUID().toString()
-
+
//neeed the same url as used by vfmodules
String SDNCGetRequest =
"""<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.openecomp/mso/request/types/v1"
@@ -601,7 +601,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG", "*** Exit preProcessSDNCGet *** ", isDebugLogEnabled)
}
- public void updateAaiAROrchStatus(Execution execution, String status){
+ public void updateAaiAROrchStatus(DelegateExecution execution, String status){
def isDebugEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** updateAaiAROrchStatus *** ", isDebugEnabled)
String aaiARPath = execution.getVariable("aaiARPath") //set during query (existing AR) or create
@@ -610,7 +610,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled)
}
- public void generateOutputs(Execution execution)
+ public void generateOutputs(DelegateExecution execution)
{
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** generateOutputs ***** ", isDebugEnabled)
@@ -633,7 +633,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
}
- public void preProcessRollback (Execution execution) {
+ public void preProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled)
try {
@@ -654,7 +654,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled)
}
- public void postProcessRollback (Execution execution) {
+ public void postProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled)
String msg = ""
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollback.groovy
index cac2ad871a..4d27b82287 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollback.groovy
@@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.springframework.web.util.UriUtils;
import static org.apache.commons.lang3.StringUtils.*
@@ -58,7 +58,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc
String Prefix="DCARBRGRB_"
ExceptionUtil exceptionUtil = new ExceptionUtil()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -131,7 +131,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc
}
// aaiARPath set during query (existing AR)
- public void updateAaiAROrchStatus(Execution execution, String status){
+ public void updateAaiAROrchStatus(DelegateExecution execution, String status){
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = null;
utils.log("DEBUG", " *** updateAaiAROrchStatus ***", isDebugEnabled)
@@ -153,7 +153,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc
utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled)
}
- public void validateSDNCResp(Execution execution, String response, String method){
+ public void validateSDNCResp(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -194,7 +194,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc
logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled)
}
- public void deleteAaiAR(Execution execution){
+ public void deleteAaiAR(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable(DebugFlag)
try{
utils.log("DEBUG", " *** deleteAaiAR *** ", isDebugLogEnabled)
@@ -215,7 +215,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc
utils.log("DEBUG", " *** Exit deleteAaiAR *** ", isDebugLogEnabled)
}
- public void postProcessRequest(Execution execution) {
+ public void postProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled)
String msg = ""
@@ -239,7 +239,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc
}
- public void processRollbackException(Execution execution){
+ public void processRollbackException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled)
try{
@@ -258,7 +258,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc
utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled)
}
- public void processRollbackJavaException(Execution execution){
+ public void processRollbackJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXC.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXC.groovy
index 602df6bc1f..2240c605af 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXC.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXC.groovy
@@ -28,7 +28,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.springframework.web.util.UriUtils;
import static org.apache.commons.lang3.StringUtils.*
@@ -73,7 +73,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -146,7 +146,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void getAaiAR (Execution execution) {
+ public void getAaiAR (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** getAaiAR ***** ", isDebugEnabled)
@@ -184,7 +184,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit getAaiAR *****", isDebugEnabled)
}
- public void createAaiAR(Execution execution) {
+ public void createAaiAR(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** createAaiAR ***** ", isDebugEnabled)
@@ -307,7 +307,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *** Exit createAaiAR*** ", isDebugEnabled)
}
- public String buildSDNCRequest(Execution execution, String action, String sdncRequestId) {
+ public String buildSDNCRequest(DelegateExecution execution, String action, String sdncRequestId) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -373,7 +373,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
<service-information>
<service-id></service-id>
<subscription-service-type>${subscriptionServiceType}</subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>${serviceInstanceId}</service-instance-id>
<subscriber-name/>
<global-customer-id>${globalCustomerId}</global-customer-id>
@@ -382,13 +382,13 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
<allotted-resource-id>${allottedResourceId}</allotted-resource-id>
<allotted-resource-type>tunnelxconn</allotted-resource-type>
<parent-service-instance-id>${parentServiceInstanceId}</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>${modelInvariantId}</model-invariant-uuid>
<model-uuid>${modelUUId}</model-uuid>
<model-customization-uuid>${modelCustomizationId}</model-customization-uuid>
<model-version>${modelVersion}</model-version>
<model-name>${modelName}</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<tunnelxconn-request-input>
<brg-wan-mac-address>${brgWanMacAddress}</brg-wan-mac-address>
@@ -408,7 +408,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
return sdncReq
}
- public void preProcessSDNCAssign(Execution execution) {
+ public void preProcessSDNCAssign(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -438,7 +438,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCAssign *****", isDebugEnabled)
}
- public void preProcessSDNCCreate(Execution execution) {
+ public void preProcessSDNCCreate(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -468,7 +468,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCCreate *****", isDebugEnabled)
}
- public void preProcessSDNCActivate(Execution execution) {
+ public void preProcessSDNCActivate(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -498,7 +498,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCActivate *****", isDebugEnabled)
}
- public void validateSDNCResp(Execution execution, String response, String method){
+ public void validateSDNCResp(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -538,7 +538,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled)
}
- public void preProcessSDNCGet(Execution execution){
+ public void preProcessSDNCGet(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG", "*** preProcessSDNCGet *** ", isDebugLogEnabled)
try{
@@ -567,7 +567,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
String serviceInstanceId = execution.getVariable("serviceInstanceId")
String sdncRequestId = UUID.randomUUID().toString()
-
+
//neeed the same url as used by vfmodules
String SDNCGetRequest =
"""<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.openecomp/mso/request/types/v1"
@@ -593,7 +593,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG", "*** Exit preProcessSDNCGet *** ", isDebugLogEnabled)
}
- public void updateAaiAROrchStatus(Execution execution, String status){
+ public void updateAaiAROrchStatus(DelegateExecution execution, String status){
def isDebugEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** updateAaiAROrchStatus *** ", isDebugEnabled)
String aaiARPath = execution.getVariable("aaiARPath") //set during query (existing AR) or create
@@ -602,7 +602,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled)
}
- public void generateOutputs(Execution execution)
+ public void generateOutputs(DelegateExecution execution)
{
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** generateOutputs ***** ", isDebugEnabled)
@@ -629,7 +629,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
}
- public void preProcessRollback (Execution execution) {
+ public void preProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled)
try {
@@ -650,7 +650,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled)
}
- public void postProcessRollback (Execution execution) {
+ public void postProcessRollback (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled)
String msg = ""
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollback.groovy
index 08f2df2d09..b6efced8fe 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollback.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollback.groovy
@@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.springframework.web.util.UriUtils;
import static org.apache.commons.lang3.StringUtils.*
@@ -58,7 +58,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc
String Prefix="DCARTXCRB_"
ExceptionUtil exceptionUtil = new ExceptionUtil()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -131,7 +131,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc
}
// aaiARPath set during query (existing AR)
- public void updateAaiAROrchStatus(Execution execution, String status){
+ public void updateAaiAROrchStatus(DelegateExecution execution, String status){
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = null;
utils.log("DEBUG", " *** updateAaiAROrchStatus ***", isDebugEnabled)
@@ -153,7 +153,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc
utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled)
}
- public void validateSDNCResp(Execution execution, String response, String method){
+ public void validateSDNCResp(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -194,7 +194,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc
logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled)
}
- public void deleteAaiAR(Execution execution){
+ public void deleteAaiAR(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable(DebugFlag)
try{
utils.log("DEBUG", " *** deleteAaiAR *** ", isDebugLogEnabled)
@@ -215,7 +215,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc
utils.log("DEBUG", " *** Exit deleteAaiAR *** ", isDebugLogEnabled)
}
- public void postProcessRequest(Execution execution) {
+ public void postProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled)
String msg = ""
@@ -239,7 +239,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc
}
- public void processRollbackException(Execution execution){
+ public void processRollbackException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled)
try{
@@ -258,7 +258,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc
utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled)
}
- public void processRollbackJavaException(Execution execution){
+ public void processRollbackJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRG.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRG.groovy
index 38ac23e5a1..839766eabc 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRG.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRG.groovy
@@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.springframework.web.util.UriUtils;
import static org.apache.commons.lang3.StringUtils.*
@@ -65,7 +65,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
String Prefix="DDARBRG_"
ExceptionUtil exceptionUtil = new ExceptionUtil()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -107,7 +107,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void getAaiAR (Execution execution) {
+ public void getAaiAR (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** getAaiAR ***** ", isDebugEnabled)
@@ -137,7 +137,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
}
// aaiARPath set during query (existing AR)
- public void updateAaiAROrchStatus(Execution execution, String status){
+ public void updateAaiAROrchStatus(DelegateExecution execution, String status){
def isDebugEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** updateAaiAROrchStatus *** ", isDebugEnabled)
AllottedResourceUtils arUtils = new AllottedResourceUtils(this)
@@ -146,7 +146,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled)
}
- public String buildSDNCRequest(Execution execution, String action, String sdncRequestId) {
+ public String buildSDNCRequest(DelegateExecution execution, String action, String sdncRequestId) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -200,7 +200,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
<service-information>
<service-id></service-id>
<subscription-service-type>${subscriptionServiceType}</subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>${serviceInstanceId}</service-instance-id>
<subscriber-name/>
<global-customer-id>${globalCustomerId}</global-customer-id>
@@ -209,13 +209,13 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
<allotted-resource-id>${allottedResourceId}</allotted-resource-id>
<allotted-resource-type>brg</allotted-resource-type>
<parent-service-instance-id>${parentServiceInstanceId}</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>${modelInvariantId}</model-invariant-uuid>
<model-uuid>${modelUUId}</model-uuid>
<model-customization-uuid>${modelCustomizationId}</model-customization-uuid>
<model-version>${modelVersion}</model-version>
<model-name>${modelName}</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<brg-request-input>
</brg-request-input>
@@ -234,7 +234,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
return sdncReq
}
- public void preProcessSDNCUnassign(Execution execution) {
+ public void preProcessSDNCUnassign(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -255,7 +255,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCUnassign *****", isDebugEnabled)
}
- public void preProcessSDNCDelete(Execution execution) {
+ public void preProcessSDNCDelete(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -276,7 +276,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCDelete *****", isDebugEnabled)
}
- public void preProcessSDNCDeactivate(Execution execution) {
+ public void preProcessSDNCDeactivate(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -297,7 +297,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCDeactivate *****", isDebugEnabled)
}
- public void validateSDNCResp(Execution execution, String response, String method){
+ public void validateSDNCResp(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -348,7 +348,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{
logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled)
}
- public void deleteAaiAR(Execution execution){
+ public void deleteAaiAR(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable(DebugFlag)
try{
utils.log("DEBUG", " *** deleteAaiAR *** ", isDebugLogEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXC.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXC.groovy
index a5b7c1350d..c1b0eb5fff 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXC.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXC.groovy
@@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse
import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.springframework.web.util.UriUtils;
import static org.apache.commons.lang3.StringUtils.*
@@ -65,7 +65,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
String Prefix="DDARTXC_"
ExceptionUtil exceptionUtil = new ExceptionUtil()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -107,7 +107,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void getAaiAR (Execution execution) {
+ public void getAaiAR (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG"," ***** getAaiAR ***** ", isDebugEnabled)
@@ -137,7 +137,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
}
// aaiARPath set during query (existing AR)
- public void updateAaiAROrchStatus(Execution execution, String status){
+ public void updateAaiAROrchStatus(DelegateExecution execution, String status){
def isDebugEnabled = execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** updateAaiAROrchStatus *** ", isDebugEnabled)
AllottedResourceUtils arUtils = new AllottedResourceUtils(this)
@@ -146,7 +146,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled)
}
- public String buildSDNCRequest(Execution execution, String action, String sdncRequestId) {
+ public String buildSDNCRequest(DelegateExecution execution, String action, String sdncRequestId) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -200,7 +200,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
<service-information>
<service-id></service-id>
<subscription-service-type>${subscriptionServiceType}</subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>${serviceInstanceId}</service-instance-id>
<subscriber-name/>
<global-customer-id>${globalCustomerId}</global-customer-id>
@@ -209,13 +209,13 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
<allotted-resource-id>${allottedResourceId}</allotted-resource-id>
<allotted-resource-type>tunnelxconn</allotted-resource-type>
<parent-service-instance-id>${parentServiceInstanceId}</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>${modelInvariantId}</model-invariant-uuid>
<model-uuid>${modelUUId}</model-uuid>
<model-customization-uuid>${modelCustomizationId}</model-customization-uuid>
<model-version>${modelVersion}</model-version>
<model-name>${modelName}</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<tunnelxconn-request-input>
</tunnelxconn-request-input>
@@ -234,7 +234,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
return sdncReq
}
- public void preProcessSDNCUnassign(Execution execution) {
+ public void preProcessSDNCUnassign(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -255,7 +255,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCUnassign *****", isDebugEnabled)
}
- public void preProcessSDNCDelete(Execution execution) {
+ public void preProcessSDNCDelete(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -276,7 +276,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCDelete *****", isDebugEnabled)
}
- public void preProcessSDNCDeactivate(Execution execution) {
+ public void preProcessSDNCDeactivate(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable(DebugFlag)
String msg = ""
@@ -297,7 +297,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
utils.log("DEBUG"," *****Exit preProcessSDNCDeactivate *****", isDebugEnabled)
}
- public void validateSDNCResp(Execution execution, String response, String method){
+ public void validateSDNCResp(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -348,7 +348,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{
logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled)
}
- public void deleteAaiAR(Execution execution){
+ public void deleteAaiAR(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable(DebugFlag)
try{
utils.log("DEBUG", " *** deleteAaiAR *** ", isDebugLogEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateOwningEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateOwningEntity.java
new file mode 100644
index 0000000000..8ba4589ebc
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateOwningEntity.java
@@ -0,0 +1,50 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.AAITasks;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.AAIOrchestrator;
+
+public class AAICreateOwningEntity implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("AAICreateOwningEntity");
+ AAIOrchestrator aaiO = new AAIOrchestrator();
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("**** Started AAICreateOwningEntity ****");
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition");
+ if (serviceDecomp.getServiceInstance() != null && serviceDecomp.getOwningEntity() != null) {
+ try {
+ aaiO.createOwningEntityandConnectServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Exception in AAICreateOwningEntity. " + ex.getMessage();
+ LOGGER.info(msg);
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ }
+ LOGGER.info("**** Finished AAICreateOwningEntity ****");
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateProject.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateProject.java
new file mode 100644
index 0000000000..fe7006f530
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateProject.java
@@ -0,0 +1,50 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.AAITasks;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.AAIOrchestrator;
+
+public class AAICreateProject implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("AAICreateProject");
+ AAIOrchestrator aaiO = new AAIOrchestrator();
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("**** Started AAICreateProject ****");
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition");
+ if (serviceDecomp.getServiceInstance() != null && serviceDecomp.getProject() != null) {
+ try {
+ aaiO.createProjectandConnectServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Exception in AAICreateProject. " + ex.getMessage();
+ LOGGER.info(msg);
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ }
+ LOGGER.info("**** Finished AAICreateProject ****");
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateServiceInstance.java
new file mode 100644
index 0000000000..b76675d0fc
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateServiceInstance.java
@@ -0,0 +1,50 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.AAITasks;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.AAIOrchestrator;
+
+public class AAICreateServiceInstance implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("AAICreateServiceInstance");
+ AAIOrchestrator aaiO = new AAIOrchestrator();
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("**** Started AAICreateServiceInstance ****");
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition");
+ execution.setVariable("aaiServiceInstanceRollback", false);
+ try {
+ aaiO.createServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Exception in AAICreateServiceInstance. " + ex.getMessage();
+ LOGGER.info(msg);
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ execution.setVariable("aaiServiceInstanceRollback", true);
+ LOGGER.info("**** Finished AAICreateServiceInstance ****");
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackAAIServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackAAIServiceInstance.java
new file mode 100644
index 0000000000..496ad6a1ff
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackAAIServiceInstance.java
@@ -0,0 +1,56 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.DoCreateServiceInstance;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.BpmnError;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.AAIOrchestrator;
+
+public class RollbackAAIServiceInstance implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("RollbackAAIServiceInstance");
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ boolean aaiServiceInstanceRollback = (boolean) execution.getVariable("aaiServiceInstanceRollback");
+ if (aaiServiceInstanceRollback) {
+ LOGGER.info("**** Starting RollbackAAIServiceInstance ****");
+ try {
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("ServiceDecomposition");
+ AAIOrchestrator aaiO = new AAIOrchestrator();
+ aaiO.deleteServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Error Response from AAI for aaiServiceInstanceRollback";
+ execution.setVariable("rollbackError", msg);
+ LOGGER.info(msg);
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ LOGGER.info("**** Finished RollbackAAIServiceInstance ****");
+ } else {
+ LOGGER.info("**** Skipping RollbackAAIServiceInstance ****");
+ }
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackError.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackError.java
new file mode 100644
index 0000000000..68ea713963
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackError.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.DoCreateServiceInstance;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+
+public class RollbackError implements JavaDelegate {
+
+ private static Logger LOGGER = Logger.getLogger("RollbackError");
+
+ @Override
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("Caught an Exception in DoCreateServiceInstanceRollbackV3");
+ LOGGER.info("Unable to rollback DoCreateServiceInstanceV3");
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/SetupServiceDecomp.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/SetupServiceDecomp.java
new file mode 100644
index 0000000000..4edb4058e8
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/SetupServiceDecomp.java
@@ -0,0 +1,112 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.DoCreateServiceInstance;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.json.JSONObject;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.Customer;
+import org.openecomp.mso.bpmn.core.domain.ModelInfo;
+import org.openecomp.mso.bpmn.core.domain.OwningEntity;
+import org.openecomp.mso.bpmn.core.domain.Project;
+import org.openecomp.mso.bpmn.core.domain.Request;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.bpmn.core.domain.ServiceInstance;
+
+public class SetupServiceDecomp implements JavaDelegate {
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+ private static Logger LOGGER = Logger.getLogger("SetupServiceDecomp");
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("Starting SetupServiceDecomp");
+ try {
+ String json = (String) execution.getVariable("bpmnRequest");
+ JSONObject jsonObj = new JSONObject(json);
+ JSONObject jsonReq = jsonObj.getJSONObject("requestDetails");
+ JSONObject jsonServ = jsonReq.getJSONObject("serviceInstance");
+ String serviceInstanceId = jsonServ.getString("serviceInstanceId");
+ System.out.println("servInstId: "+serviceInstanceId);
+ String serviceInstanceName = jsonServ.getString("serviceInstanceName");
+ String serviceType = jsonServ.getString("serviceType");
+ String serviceRole = jsonServ.getString("serviceRole");
+ String modelInvariantUuid = jsonServ.getString("modelInvariantUuid");
+ String modelUuid = jsonServ.getString("modelUuid");
+ String modelVersion = jsonServ.getString("modelVersion");
+ String modelName = jsonServ.getString("modelName");
+ String environmentContext = jsonServ.getString("environmentContext");
+ String workloadContext = jsonServ.getString("workloadContext");
+ JSONObject jsonProject = jsonReq.getJSONObject("project");
+ String projectName = jsonProject.getString("projectName");
+ JSONObject jsonOwningEntity = jsonReq.getJSONObject("owningEntity");
+ String owningEntityId = jsonOwningEntity.getString("owningEntityId");
+ String owningEntityName = jsonOwningEntity.getString("owningEntityName");
+ JSONObject jsonCustomer = jsonReq.getJSONObject("customer");
+ String subscriptionServiceType = jsonCustomer.getString("subscriptionServiceType");
+ String globalSubscriberId = jsonCustomer.getString("globalSubscriberId");
+ JSONObject jsonRequest = jsonReq.getJSONObject("request");
+ String sdncRequestId = jsonRequest.getString("sdncRequestId");
+ String callbackURL = jsonRequest.getString("callbackURL");
+ String requestId = jsonRequest.getString("requestId");
+ String productFamilyId = jsonRequest.getString("productFamilyId");
+ ServiceDecomposition serviceDecomp = new ServiceDecomposition("{}");
+ serviceDecomp.setCallbackURN(callbackURL);
+ serviceDecomp.setServiceRole(serviceRole);
+ ModelInfo modelInfo = new ModelInfo();
+ modelInfo.setModelInvariantUuid(modelInvariantUuid);
+ modelInfo.setModelName(modelName);
+ modelInfo.setModelVersion(modelVersion);
+ modelInfo.setModelUuid(modelUuid);
+ ServiceInstance serviceInstance = new ServiceInstance();
+ serviceInstance.setInstanceId(serviceInstanceId);
+ serviceInstance.setInstanceName(serviceInstanceName);
+ serviceInstance.setServiceType(serviceType);
+ serviceInstance.setModelInfo(modelInfo);
+ serviceInstance.setEnvironmentContext(environmentContext);
+ serviceInstance.setWorkloadContext(workloadContext);
+ Project project = new Project();
+ project.setProjectName(projectName);
+ OwningEntity owningEntity = new OwningEntity();
+ owningEntity.setOwningEntityId(owningEntityId);
+ owningEntity.setOwningEntityName(owningEntityName);
+ Customer customer = new Customer();
+ customer.setGlobalSubscriberId(globalSubscriberId);
+ customer.setSubscriptionServiceType(subscriptionServiceType);
+ Request request = new Request();
+ request.setRequestId(requestId);
+ request.setSdncRequestId(sdncRequestId);
+ request.setProductFamilyId(productFamilyId);
+ serviceDecomp.setCustomer(customer);
+ serviceDecomp.setServiceInstance(serviceInstance);
+ serviceDecomp.setRequest(request);
+ serviceDecomp.setProject(project);
+ serviceDecomp.setOwningEntity(owningEntity);
+ execution.setVariable("ServiceDecomposition", serviceDecomp);
+ } catch (Exception ex) {
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "ERROR IN SET UP SERVICE DECOMP");
+ }
+ LOGGER.info("Finished SetupServiceDecomp");
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.java
index c7420c3a03..a4a7edefe7 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.java
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.java
@@ -35,7 +35,7 @@ import org.openecomp.mso.logger.MsoLogger;
* @since Version 1.0
*
*/
-@ProcessApplication("MSO Infrastructure Application")
+@ProcessApplication(name="MSO Infrastructure Application", deploymentDescriptors={"../processes.xml"})
public class MSOInfrastructureApplication extends ServletProcessApplication {
private MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/SDNCTasks/SDNCCreateServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/SDNCTasks/SDNCCreateServiceInstance.java
new file mode 100644
index 0000000000..549ae36612
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/SDNCTasks/SDNCCreateServiceInstance.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.SDNCTasks;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.SDNCOrchestrator;
+
+public class SDNCCreateServiceInstance implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("SDNCCreateServiceInstance");
+ SDNCOrchestrator sdncO = new SDNCOrchestrator();
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("**** Started SDNCCreateServiceInstance ****");
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition");
+ if (serviceDecomp != null) {
+ try {
+ sdncO.createServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Exception in sdncCreateServiceInstance. " + ex.getMessage();
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ }
+ LOGGER.info("**** Finished SDNCCreateServiceInstance ****");
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java
new file mode 100644
index 0000000000..93ba0ae5a4
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java
@@ -0,0 +1,84 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.aai;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+
+import org.openecomp.mso.client.aai.AAIObjectType;
+import org.openecomp.mso.client.aai.AAIResourcesClient;
+import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri;
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
+
+public class AAICreateResources {
+
+
+ public void createAAIProject (String projectName, String serviceInstance){
+ AAIResourceUri projectURI = AAIUriFactory.createResourceUri(AAIObjectType.PROJECT, projectName);
+ AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstance);
+ AAIResourcesClient aaiRC = new AAIResourcesClient();
+ aaiRC.createIfNotExists(projectURI, Optional.empty()).connect(projectURI, serviceInstanceURI);
+
+ }
+
+ public void createAAIOwningEntity(String owningEntityId, String owningEntityName,String serviceInstance){
+ AAIResourceUri owningEntityURI = AAIUriFactory.createResourceUri(AAIObjectType.OWNING_ENTITY, owningEntityId);
+ AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstance);
+ Map<String, String> hashMap= new HashMap<>();
+ hashMap.put("owning-entity-name", owningEntityName);
+ AAIResourcesClient aaiRC = new AAIResourcesClient();
+ aaiRC.createIfNotExists(owningEntityURI, Optional.of(hashMap)).connect(owningEntityURI, serviceInstanceURI);
+ }
+
+ public boolean existsOwningEntity(String owningEntityId){
+ AAIResourceUri owningEntityURI = AAIUriFactory.createResourceUri(AAIObjectType.OWNING_ENTITY, owningEntityId);
+ AAIResourcesClient aaiRC = new AAIResourcesClient();
+ return aaiRC.exists(owningEntityURI);
+ }
+
+ public void connectOwningEntityandServiceInstance (String owningEntityId, String serviceInstance){
+ AAIResourceUri owningEntityURI = AAIUriFactory.createResourceUri(AAIObjectType.OWNING_ENTITY, owningEntityId);
+ AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstance);
+ AAIResourcesClient aaiRC = new AAIResourcesClient();
+ aaiRC.connect(owningEntityURI, serviceInstanceURI);
+ }
+
+ public void createAAIPlatform(String platformName,String vnfId){
+ AAIResourceUri platformURI = AAIUriFactory.createResourceUri(AAIObjectType.PLATFORM, platformName);
+ AAIResourceUri genericVnfURI = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF,vnfId);
+ AAIResourcesClient aaiRC = new AAIResourcesClient();
+ aaiRC.createIfNotExists(platformURI, Optional.empty()).connect(platformURI, genericVnfURI);
+ }
+
+ public void createAAILineOfBusiness(String lineOfBusiness,String vnfId){
+ AAIResourceUri lineOfBusinessURI = AAIUriFactory.createResourceUri(AAIObjectType.LINE_OF_BUSINESS, lineOfBusiness);
+ AAIResourceUri genericVnfURI = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF,vnfId);
+ AAIResourcesClient aaiRC = new AAIResourcesClient();
+ aaiRC.createIfNotExists(lineOfBusinessURI, Optional.empty()).connect(lineOfBusinessURI, genericVnfURI);
+ }
+ public void createAAIServiceInstance(String globalCustomerId, String serviceType, String serviceInstanceId){
+ AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, globalCustomerId,serviceType,serviceInstanceId);
+ AAIResourcesClient aaiRC = new AAIResourcesClient();
+ aaiRC.createIfNotExists(serviceInstanceURI, Optional.empty());
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIDeleteServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIDeleteServiceInstance.java
new file mode 100644
index 0000000000..483c057f3e
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIDeleteServiceInstance.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.aai;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.client.aai.AAIObjectType;
+import org.openecomp.mso.client.aai.AAIResourcesClient;
+import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri;
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
+
+public class AAIDeleteServiceInstance implements JavaDelegate{
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+ public void execute(DelegateExecution execution) throws Exception {
+ try{
+ String serviceInstanceId = (String) execution.getVariable("serviceInstanceId");
+ AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE,
+ serviceInstanceId);
+ AAIResourcesClient aaiRC = new AAIResourcesClient();
+ aaiRC.delete(serviceInstanceURI);
+ execution.setVariable("GENDS_SuccessIndicator",true);
+ } catch(Exception ex){
+ String msg = "Exception in Delete Serivce Instance. Service Instance could not be deleted in AAI." + ex.getMessage();
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIServiceInstance.java
new file mode 100644
index 0000000000..7370208f5e
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIServiceInstance.java
@@ -0,0 +1,94 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.aai;
+
+public class AAIServiceInstance {
+ String serviceInstanceName;
+ String serviceType;
+ String serviceRole;
+ String orchestrationStatus;
+ String modelInvariantUuid;
+ String modelVersionId;
+ String environmentContext;
+ String workloadContext;
+ public AAIServiceInstance(String serviceInstanceName, String serviceType, String serviceRole,
+ String orchestrationStatus, String modelInvariantUuid, String modelVersionId, String environmentContext,
+ String workloadContext) {
+ this.serviceInstanceName = serviceInstanceName;
+ this.serviceType = serviceType;
+ this.serviceRole = serviceRole;
+ this.orchestrationStatus = orchestrationStatus;
+ this.modelInvariantUuid = modelInvariantUuid;
+ this.modelVersionId = modelVersionId;
+ this.environmentContext = environmentContext;
+ this.workloadContext = workloadContext;
+ }
+ public String getServiceInstanceName() {
+ return serviceInstanceName;
+ }
+ public void setServiceInstanceName(String serviceInstanceName) {
+ this.serviceInstanceName = serviceInstanceName;
+ }
+ public String getServiceType() {
+ return serviceType;
+ }
+ public void setServiceType(String serviceType) {
+ this.serviceType = serviceType;
+ }
+ public String getServiceRole() {
+ return serviceRole;
+ }
+ public void setServiceRole(String serviceRole) {
+ this.serviceRole = serviceRole;
+ }
+ public String getOrchestrationStatus() {
+ return orchestrationStatus;
+ }
+ public void setOrchestrationStatus(String orchestrationStatus) {
+ this.orchestrationStatus = orchestrationStatus;
+ }
+ public String getModelInvariantUuid() {
+ return modelInvariantUuid;
+ }
+ public void setModelInvariantUuid(String modelInvariantUuid) {
+ this.modelInvariantUuid = modelInvariantUuid;
+ }
+ public String getModelVersionId() {
+ return modelVersionId;
+ }
+ public void setModelVersionId(String modelVersionId) {
+ this.modelVersionId = modelVersionId;
+ }
+ public String getEnvironmentContext() {
+ return environmentContext;
+ }
+ public void setEnvironmentContext(String environmentContext) {
+ this.environmentContext = environmentContext;
+ }
+ public String getWorkloadContext() {
+ return workloadContext;
+ }
+ public void setWorkloadContext(String workloadContext) {
+ this.workloadContext = workloadContext;
+ }
+
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java
index 25c85f7394..646ed92705 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java
@@ -60,8 +60,8 @@ public class SdncNetworkTopologyOperationTask extends AbstractSdncOperationTask
if (!isSend2SdncDirectly()) {
outputEntity = genericResourceApiClient.postNetworkTopologyOperation
(HeaderUtil.DefaulAuth, inputEntity).execute().body();
- updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!");
- saveOutput(execution, outputEntity);
+ updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!");
+ saveOutput(execution, outputEntity);
} else {
send2SdncDirectly(HeaderUtil.DefaulAuth, inputEntity);
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java
index 130c97e273..dab96b0613 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java
@@ -33,6 +33,7 @@ import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builder
import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.RpcServiceTopologyOperationInputEntity;
import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.RpcServiceTopologyOperationOutputEntity;
import org.openecomp.mso.logger.MessageEnum;
+import org.openecomp.mso.requestsdb.RequestsDbConstant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,16 +53,16 @@ public class SdncServiceTopologyOperationTask extends AbstractSdncOperationTask
Map<String, String> inputs,
GenericResourceApi genericResourceApiClient) throws Exception {
sdncLogger.info("SdncServiceTopologyOperationTask.sendRestrequestAndHandleResponse begin!");
-// updateProgress(execution, null, null, "40", "sendRestrequestAndHandleResponse begin!");
+ updateProgress(execution, null, null, "40", "sendRestrequestAndHandleResponse begin!");
ServiceRpcInputEntityBuilder builder = new ServiceRpcInputEntityBuilder();
RpcServiceTopologyOperationInputEntity inputEntity = builder.build(execution, inputs);
-// updateProgress(execution, null, null, "50", "RequestBody build finished!");
+ updateProgress(execution, null, null, "50", "RequestBody build finished!");
RpcServiceTopologyOperationOutputEntity outputEntity;
if (!isSend2SdncDirectly()) {
outputEntity = genericResourceApiClient.postServiceTopologyOperation
(HeaderUtil.DefaulAuth, inputEntity).execute().body();
-// updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!");
- saveOutput(execution, outputEntity);
+ updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!");
+ saveOutput(execution, outputEntity);
} else {
send2SdncDirectly(HeaderUtil.DefaulAuth, inputEntity);
}
@@ -92,7 +93,7 @@ public class SdncServiceTopologyOperationTask extends AbstractSdncOperationTask
String errorMessage = output.getOutput().getResponseMessage();
WorkflowException workflowException = new WorkflowException(processKey, errorCode, errorMessage);
execution.setVariable("SDNCA_SuccessIndicator", workflowException);
-// updateProgress(execution, RequestsDbConstant.Status.ERROR, String.valueOf(errorCode), null, errorMessage);
+ updateProgress(execution, RequestsDbConstant.Status.ERROR, String.valueOf(errorCode), null, errorMessage);
sdncLogger.info("exception: SdncServiceTopologyOperationTask.saveOutput fail!");
throw new RouteException();
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java
index 869c7783ef..90effd39e3 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java
@@ -43,7 +43,7 @@ public class SdncUnderlayVpnPreprocessTask extends BaseTask {
String serviceId = (String) execution.getVariable("serviceId");
serviceId = StringUtils.isBlank(serviceId) ? (String) execution.getVariable("serviceInstanceId") : serviceId;
String operationId = (String) execution.getVariable("operationId");
- String resourceTemplateUUID = (String) execution.getVariable("resourceUUID");
+ String resourceTemplateUUID = (String) execution.getVariable("resourceTemplateUUID");
resourceTemplateUUID = StringUtils.isBlank(resourceTemplateUUID) ? (String) execution.getVariable("resourceTemplateId") : resourceTemplateUUID;
ResourceOperationStatus resourceOperationStatus = requestsDB.getResourceOperationStatus(serviceId, operationId, resourceTemplateUUID);
return resourceOperationStatus.getOperType();
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/META-INF/persistence.xml b/bpmn/MSOInfrastructureBPMN/src/main/resources/META-INF/persistence.xml
index 8e87f47ddc..3bfafacbef 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/META-INF/persistence.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/META-INF/persistence.xml
@@ -25,7 +25,7 @@
http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
- <persistence-unit name="infrastructure">
+ <persistence-unit name="default">
<jta-data-source>java:jboss/datasources/ProcessEngine</jta-data-source>
<properties>
<!-- Properties for Hibernate -->
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn
index 8fc761c0d3..ce17615679 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn
@@ -29,18 +29,17 @@ ex.processJavaException(execution)]]></bpmn:script>
<camunda:out source="rollbackData" target="rollbackData" />
<camunda:in source="serviceInstanceId" target="serviceInstanceId" />
<camunda:in source="serviceInstanceName" target="serviceInstanceName" />
+ <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
<camunda:in source="productFamilyId" target="productFamilyId" />
<camunda:in source="disableRollback" target="disableRollback" />
- <camunda:in source="uuiRequest" target="uuiRequest" />
+ <camunda:in source="serviceInputParams" target="serviceInputParams" />
<camunda:out source="rolledBack" target="rolledBack" />
<camunda:out source="serviceInstanceName" target="serviceInstanceName" />
<camunda:in source="failIfExists" target="failIfExists" />
<camunda:in source="globalSubscriberId" target="globalSubscriberId" />
- <camunda:in source="serviceType" target="serviceType" />
+ <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" />
+ <camunda:in sourceExpression="1610" target="sdncVersion" />
<camunda:in source="initialStatus" target="initialStatus" />
- <camunda:in source="operationId" target="operationId" />
- <camunda:in source="operationType" target="operationType" />
- <camunda:in source="URN_mso_adapters_openecomp_db_endpoint" target="URN_mso_adapters_openecomp_db_endpoint" />
</bpmn:extensionElements>
<bpmn:incoming>SequenceFlow_19eilro</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_0klbpxx</bpmn:outgoing>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateGenericALaCarteServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateGenericALaCarteServiceInstance.bpmn
index acf380f866..6088fda4a3 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateGenericALaCarteServiceInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateGenericALaCarteServiceInstance.bpmn
@@ -27,9 +27,6 @@ ex.processJavaException(execution)]]></bpmn2:script>
<camunda:out source="WorkflowException" target="WorkflowException" />
<camunda:in source="msoRequestId" target="msoRequestId" />
<camunda:out source="rollbackData" target="rollbackData" />
- <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
- <camunda:in source="serviceInstanceName" target="serviceInstanceName" />
- <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
<camunda:in source="productFamilyId" target="productFamilyId" />
<camunda:in source="disableRollback" target="disableRollback" />
<camunda:in source="serviceInputParams" target="serviceInputParams" />
@@ -39,9 +36,10 @@ ex.processJavaException(execution)]]></bpmn2:script>
<camunda:in source="globalSubscriberId" target="globalSubscriberId" />
<camunda:in source="subscriptionServiceType" target="subscriptionServiceType" />
<camunda:in sourceExpression="1610" target="sdncVersion" />
- <camunda:in source="initialStatus" target="initialStatus" />
+ <camunda:in source="serviceDecomposition" target="serviceDecomposition" />
+ <camunda:in source="bpmnRequest" target="requestJson" />
</bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_0eto8sn</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1hjh5zy</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1lj31zp</bpmn2:outgoing>
</bpmn2:callActivity>
<bpmn2:endEvent id="EndEvent_0o440av" name="End">
@@ -52,7 +50,7 @@ ex.processJavaException(execution)]]></bpmn2:script>
<bpmn2:incoming>SequenceFlow_0lp2z7l</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0ktadna</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def csi= new CreateGenericALaCarteServiceInstance()
+def csi = new CreateGenericALaCarteServiceInstance()
csi.preProcessRequest(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_0lp2z7l" sourceRef="createSI_startEvent" targetRef="ScriptTask_0pvcr6j" />
@@ -116,10 +114,9 @@ csi.sendSyncError(execution)]]></bpmn2:script>
<bpmn2:sequenceFlow id="SequenceFlow_14eadeb" sourceRef="ScriptTask_0o4smqp" targetRef="ScriptTask_1hql91g" />
</bpmn2:subProcess>
<bpmn2:sequenceFlow id="SequenceFlow_095crcd" sourceRef="CallActivity_0sevgre" targetRef="EndEvent_0o440av" />
- <bpmn2:sequenceFlow id="SequenceFlow_0eto8sn" sourceRef="Task_1nko5zz" targetRef="doCreateServiceInstance_CallActivity" />
<bpmn2:scriptTask id="Task_1nko5zz" name="Send Sync Ack Response" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_0ktadna</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0eto8sn</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_16vhtu8</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def csi = new CreateGenericALaCarteServiceInstance()
csi.sendSyncResponse(execution)]]></bpmn2:script>
@@ -140,6 +137,54 @@ csi.sendSyncResponse(execution)]]></bpmn2:script>
<bpmn2:sequenceFlow id="SequenceFlow_1mdnv3l" name="no" sourceRef="ExclusiveGateway_1x5i9c1" targetRef="EndEvent_143akoz">
<bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") != null}]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0y5991s" name="GoDecompose">
+ <bpmn2:incoming>SequenceFlow_16vhtu8</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="Decompose" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_16vhtu8" sourceRef="Task_1nko5zz" targetRef="IntermediateThrowEvent_0y5991s" />
+ <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_00tv706" name="Decompose">
+ <bpmn2:outgoing>SequenceFlow_1tfe975</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="Decompose" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1aouco1" name="CreateSI">
+ <bpmn2:outgoing>SequenceFlow_1hjh5zy</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="CreateSI" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1tbopzu" name="GoToCreateSI">
+ <bpmn2:incoming>SequenceFlow_14ajbme</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="CreateSI" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:scriptTask id="ScriptTask_1vr3ks5" name="Prepare&#10;Decompose&#10;Service&#10;" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1tfe975</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0xhu1k3</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def csi= new CreateGenericALaCarteServiceInstance()
+csi.prepareDecomposeService(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="CallActivity_1oc1h9q" name="DecomposeService" calledElement="DecomposeService">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+ <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="serviceDecomposition" target="serviceDecomposition" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0xhu1k3</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1o3ihrh</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:scriptTask id="ScriptTask_04zaa1o" name="Prepare&#10;Create&#10;Service&#10;" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1o3ihrh</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_14ajbme</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def csi= new CreateGenericALaCarteServiceInstance()
+csi.prepareCreateServiceInstance(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0xhu1k3" sourceRef="ScriptTask_1vr3ks5" targetRef="CallActivity_1oc1h9q" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1o3ihrh" sourceRef="CallActivity_1oc1h9q" targetRef="ScriptTask_04zaa1o" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1tfe975" sourceRef="IntermediateCatchEvent_00tv706" targetRef="ScriptTask_1vr3ks5" />
+ <bpmn2:sequenceFlow id="SequenceFlow_14ajbme" sourceRef="ScriptTask_04zaa1o" targetRef="IntermediateThrowEvent_1tbopzu" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1hjh5zy" sourceRef="IntermediateCatchEvent_1aouco1" targetRef="doCreateServiceInstance_CallActivity" />
</bpmn2:process>
<bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
<bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
@@ -152,51 +197,51 @@ csi.sendSyncResponse(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_SubProcess_28" bpmnElement="unexpectedErrors_SubProcess" isExpanded="true">
- <dc:Bounds x="222" y="531" width="394" height="188" />
+ <dc:Bounds x="300" y="880" width="394" height="188" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_71" bpmnElement="StartEvent_1">
- <dc:Bounds x="255" y="608" width="36" height="36" />
+ <dc:Bounds x="333" y="957" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="273" y="649" width="0" height="0" />
+ <dc:Bounds x="351" y="998" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_270" bpmnElement="ScriptTask_1">
- <dc:Bounds x="370" y="586" width="100" height="80" />
+ <dc:Bounds x="448" y="935" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_220" bpmnElement="EndEvent_1">
- <dc:Bounds x="531" y="608" width="36" height="36" />
+ <dc:Bounds x="609" y="957" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="549" y="649" width="0" height="0" />
+ <dc:Bounds x="627" y="998" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_StartEvent_71" targetElement="_BPMNShape_ScriptTask_270">
- <di:waypoint xsi:type="dc:Point" x="291" y="626" />
- <di:waypoint xsi:type="dc:Point" x="370" y="626" />
+ <di:waypoint xsi:type="dc:Point" x="369" y="975" />
+ <di:waypoint xsi:type="dc:Point" x="448" y="975" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="333" y="626" width="0" height="0" />
+ <dc:Bounds x="411" y="975" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_270" targetElement="_BPMNShape_EndEvent_220">
- <di:waypoint xsi:type="dc:Point" x="470" y="626" />
- <di:waypoint xsi:type="dc:Point" x="531" y="626" />
+ <di:waypoint xsi:type="dc:Point" x="548" y="975" />
+ <di:waypoint xsi:type="dc:Point" x="609" y="975" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="505" y="626" width="0" height="0" />
+ <dc:Bounds x="583" y="975" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_72" bpmnElement="doCreateServiceInstance_CallActivity">
- <dc:Bounds x="460" y="57" width="100" height="80" />
+ <dc:Bounds x="112" y="452" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_0o440av_di" bpmnElement="EndEvent_0o440av">
- <dc:Bounds x="1017" y="185" width="36" height="36" />
+ <dc:Bounds x="852" y="474" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1028" y="221" width="20" height="14" />
+ <dc:Bounds x="863" y="510" width="20" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1lj31zp_di" bpmnElement="SequenceFlow_1lj31zp">
- <di:waypoint xsi:type="dc:Point" x="560" y="97" />
- <di:waypoint xsi:type="dc:Point" x="662" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="212" y="492" />
+ <di:waypoint xsi:type="dc:Point" x="314" y="492" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="611" y="82" width="0" height="0" />
+ <dc:Bounds x="263" y="477" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0pvcr6j_di" bpmnElement="ScriptTask_0pvcr6j">
@@ -210,128 +255,198 @@ csi.sendSyncResponse(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0cihgpv_di" bpmnElement="ScriptTask_0cihgpv">
- <dc:Bounds x="797" y="57" width="100" height="80" />
+ <dc:Bounds x="449" y="452" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_0sevgre_di" bpmnElement="CallActivity_0sevgre">
- <dc:Bounds x="985" y="57" width="100" height="80" />
+ <dc:Bounds x="637" y="452" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0xxvjxq_di" bpmnElement="SequenceFlow_0xxvjxq">
- <di:waypoint xsi:type="dc:Point" x="897" y="97" />
- <di:waypoint xsi:type="dc:Point" x="985" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="549" y="492" />
+ <di:waypoint xsi:type="dc:Point" x="637" y="492" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="941" y="82" width="0" height="0" />
+ <dc:Bounds x="593" y="477" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_1hql91g_di" bpmnElement="ScriptTask_1hql91g">
- <dc:Bounds x="380" y="333" width="100" height="80" />
+ <dc:Bounds x="443" y="731" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_1ksm1dz_di" bpmnElement="CallActivity_1ksm1dz">
- <dc:Bounds x="557" y="333" width="100" height="80" />
+ <dc:Bounds x="620" y="731" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="SubProcess_1k2112i_di" bpmnElement="SubProcess_1k2112i" isExpanded="true">
- <dc:Bounds x="107" y="269" width="679" height="194" />
+ <dc:Bounds x="170" y="667" width="679" height="194" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="StartEvent_110xxgx_di" bpmnElement="StartEvent_110xxgx">
- <dc:Bounds x="122" y="355" width="36" height="36" />
+ <dc:Bounds x="185" y="753" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="140" y="396" width="0" height="0" />
+ <dc:Bounds x="203" y="794" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_1rqikib_di" bpmnElement="EndEvent_1rqikib">
- <dc:Bounds x="701" y="355" width="36" height="36" />
+ <dc:Bounds x="764" y="753" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="719" y="396" width="0" height="0" />
+ <dc:Bounds x="782" y="794" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1reso2f_di" bpmnElement="SequenceFlow_1reso2f">
- <di:waypoint xsi:type="dc:Point" x="480" y="373" />
- <di:waypoint xsi:type="dc:Point" x="557" y="373" />
+ <di:waypoint xsi:type="dc:Point" x="543" y="771" />
+ <di:waypoint xsi:type="dc:Point" x="620" y="771" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="519" y="358" width="0" height="0" />
+ <dc:Bounds x="582" y="756" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1ghqolv_di" bpmnElement="SequenceFlow_1ghqolv">
- <di:waypoint xsi:type="dc:Point" x="657" y="373" />
- <di:waypoint xsi:type="dc:Point" x="701" y="373" />
+ <di:waypoint xsi:type="dc:Point" x="720" y="771" />
+ <di:waypoint xsi:type="dc:Point" x="764" y="771" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="679" y="358" width="0" height="0" />
+ <dc:Bounds x="742" y="756" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_095crcd_di" bpmnElement="SequenceFlow_095crcd">
- <di:waypoint xsi:type="dc:Point" x="1035" y="137" />
- <di:waypoint xsi:type="dc:Point" x="1035" y="185" />
+ <di:waypoint xsi:type="dc:Point" x="737" y="492" />
+ <di:waypoint xsi:type="dc:Point" x="852" y="492" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1050" y="161" width="0" height="0" />
+ <dc:Bounds x="795" y="477" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0n4umjf_di" bpmnElement="SequenceFlow_0n4umjf">
- <di:waypoint xsi:type="dc:Point" x="158" y="373" />
- <di:waypoint xsi:type="dc:Point" x="180" y="373" />
- <di:waypoint xsi:type="dc:Point" x="180" y="373" />
- <di:waypoint xsi:type="dc:Point" x="201" y="373" />
+ <di:waypoint xsi:type="dc:Point" x="221" y="771" />
+ <di:waypoint xsi:type="dc:Point" x="243" y="771" />
+ <di:waypoint xsi:type="dc:Point" x="243" y="771" />
+ <di:waypoint xsi:type="dc:Point" x="264" y="771" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="195" y="373" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0eto8sn_di" bpmnElement="SequenceFlow_0eto8sn">
- <di:waypoint xsi:type="dc:Point" x="380" y="97" />
- <di:waypoint xsi:type="dc:Point" x="460" y="97" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="420" y="82" width="0" height="0" />
+ <dc:Bounds x="258" y="771" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_1rb2dsd_di" bpmnElement="Task_1nko5zz">
- <dc:Bounds x="280" y="57" width="100" height="80" />
+ <dc:Bounds x="342" y="57" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0ktadna_di" bpmnElement="SequenceFlow_0ktadna">
<di:waypoint xsi:type="dc:Point" x="212" y="97" />
- <di:waypoint xsi:type="dc:Point" x="280" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="342" y="97" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="246" y="82" width="0" height="0" />
+ <dc:Bounds x="277" y="82" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0o4smqp_di" bpmnElement="ScriptTask_0o4smqp">
- <dc:Bounds x="202" y="333" width="100" height="80" />
+ <dc:Bounds x="265" y="731" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_14eadeb_di" bpmnElement="SequenceFlow_14eadeb">
- <di:waypoint xsi:type="dc:Point" x="302" y="373" />
- <di:waypoint xsi:type="dc:Point" x="329" y="373" />
- <di:waypoint xsi:type="dc:Point" x="329" y="373" />
- <di:waypoint xsi:type="dc:Point" x="380" y="373" />
+ <di:waypoint xsi:type="dc:Point" x="365" y="771" />
+ <di:waypoint xsi:type="dc:Point" x="392" y="771" />
+ <di:waypoint xsi:type="dc:Point" x="392" y="771" />
+ <di:waypoint xsi:type="dc:Point" x="443" y="771" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="344" y="373" width="0" height="0" />
+ <dc:Bounds x="407" y="771" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1x5i9c1_di" bpmnElement="ExclusiveGateway_1x5i9c1" isMarkerVisible="true">
- <dc:Bounds x="662" y="72" width="50" height="50" />
+ <dc:Bounds x="314" y="467" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="662" y="44" width="50" height="14" />
+ <dc:Bounds x="314" y="439" width="50" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_143akoz_di" bpmnElement="EndEvent_143akoz">
- <dc:Bounds x="669" y="185" width="36" height="36" />
+ <dc:Bounds x="321" y="580" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="687" y="221" width="0" height="0" />
+ <dc:Bounds x="417" y="965" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1o4wwba_di" bpmnElement="SequenceFlow_1o4wwba">
- <di:waypoint xsi:type="dc:Point" x="712" y="97" />
- <di:waypoint xsi:type="dc:Point" x="749" y="97" />
- <di:waypoint xsi:type="dc:Point" x="749" y="97" />
- <di:waypoint xsi:type="dc:Point" x="797" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="364" y="492" />
+ <di:waypoint xsi:type="dc:Point" x="401" y="492" />
+ <di:waypoint xsi:type="dc:Point" x="401" y="492" />
+ <di:waypoint xsi:type="dc:Point" x="449" y="492" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="747" y="94" width="18" height="14" />
+ <dc:Bounds x="399" y="489" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1mdnv3l_di" bpmnElement="SequenceFlow_1mdnv3l">
- <di:waypoint xsi:type="dc:Point" x="687" y="122" />
- <di:waypoint xsi:type="dc:Point" x="687" y="149" />
- <di:waypoint xsi:type="dc:Point" x="687" y="149" />
- <di:waypoint xsi:type="dc:Point" x="687" y="185" />
+ <di:waypoint xsi:type="dc:Point" x="339" y="517" />
+ <di:waypoint xsi:type="dc:Point" x="339" y="544" />
+ <di:waypoint xsi:type="dc:Point" x="339" y="544" />
+ <di:waypoint xsi:type="dc:Point" x="339" y="580" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="313" y="522" width="12" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0y5991s_di" bpmnElement="IntermediateThrowEvent_0y5991s">
+ <dc:Bounds x="587" y="79" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="568" y="120" width="74" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16vhtu8_di" bpmnElement="SequenceFlow_16vhtu8">
+ <di:waypoint xsi:type="dc:Point" x="442" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="587" y="97" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="515" y="82" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_00tv706_di" bpmnElement="IntermediateCatchEvent_00tv706">
+ <dc:Bounds x="-6" y="272" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-19" y="308" width="59" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1aouco1_di" bpmnElement="IntermediateCatchEvent_1aouco1">
+ <dc:Bounds x="-6" y="474" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-11" y="510" width="43" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1tbopzu_di" bpmnElement="IntermediateThrowEvent_1tbopzu">
+ <dc:Bounds x="852" y="272" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="835" y="313" width="70" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1vr3ks5_di" bpmnElement="ScriptTask_1vr3ks5">
+ <dc:Bounds x="112" y="250" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1oc1h9q_di" bpmnElement="CallActivity_1oc1h9q">
+ <dc:Bounds x="342" y="250" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_04zaa1o_di" bpmnElement="ScriptTask_04zaa1o">
+ <dc:Bounds x="555" y="250" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0xhu1k3_di" bpmnElement="SequenceFlow_0xhu1k3">
+ <di:waypoint xsi:type="dc:Point" x="212" y="290" />
+ <di:waypoint xsi:type="dc:Point" x="342" y="290" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="277" y="275" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1o3ihrh_di" bpmnElement="SequenceFlow_1o3ihrh">
+ <di:waypoint xsi:type="dc:Point" x="442" y="290" />
+ <di:waypoint xsi:type="dc:Point" x="555" y="290" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="499" y="275" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1tfe975_di" bpmnElement="SequenceFlow_1tfe975">
+ <di:waypoint xsi:type="dc:Point" x="30" y="290" />
+ <di:waypoint xsi:type="dc:Point" x="69" y="290" />
+ <di:waypoint xsi:type="dc:Point" x="69" y="290" />
+ <di:waypoint xsi:type="dc:Point" x="112" y="290" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="84" y="290" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_14ajbme_di" bpmnElement="SequenceFlow_14ajbme">
+ <di:waypoint xsi:type="dc:Point" x="655" y="290" />
+ <di:waypoint xsi:type="dc:Point" x="852" y="290" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="754" y="265" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1hjh5zy_di" bpmnElement="SequenceFlow_1hjh5zy">
+ <di:waypoint xsi:type="dc:Point" x="30" y="492" />
+ <di:waypoint xsi:type="dc:Point" x="112" y="492" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="661" y="126.56139708236196" width="12" height="12" />
+ <dc:Bounds x="71" y="467" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn2:definitions>
+</bpmn2:definitions> \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateNetworkInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateNetworkInstance.bpmn
index 0316e26d9a..c9d4720628 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateNetworkInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateNetworkInstance.bpmn
@@ -112,30 +112,8 @@ CreateNetworkInstance.prepareCompletion(execution)]]></bpmn2:script>
def CreateNetworkInstance = new CreateNetworkInstance()
CreateNetworkInstance.prepareDBRequestError(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
- <bpmn2:serviceTask id="ServiceTask_0sztuly" name="Call DB Infra Error Update">
- <bpmn2:extensionElements>
- <camunda:connector>
- <camunda:inputOutput>
- <camunda:inputParameter name="url">${URN_mso_adapters_openecomp_db_endpoint}</camunda:inputParameter>
- <camunda:inputParameter name="payload">${CRENI_createDBRequest}</camunda:inputParameter>
- <camunda:inputParameter name="headers">
- <camunda:map>
- <camunda:entry key="content-type">application/soap+xml</camunda:entry>
- <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry>
- </camunda:map>
- </camunda:inputParameter>
- <camunda:inputParameter name="method">POST</camunda:inputParameter>
- <camunda:outputParameter name="CRENI_createDBResponse">${response}</camunda:outputParameter>
- <camunda:outputParameter name="CRENI_dbReturnCode">${statusCode}</camunda:outputParameter>
- </camunda:inputOutput>
- <camunda:connectorId>http-connector</camunda:connectorId>
- </camunda:connector>
- </bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_1s5niqb</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_06s5eu4</bpmn2:outgoing>
- </bpmn2:serviceTask>
<bpmn2:scriptTask id="ScriptTask_1hql91g" name="Prepare FalloutHandler" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_06s5eu4</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1s5niqb</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1reso2f</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def CreateNetworkInstance = new CreateNetworkInstance()
@@ -153,8 +131,7 @@ CreateNetworkInstance.buildErrorResponse(execution)]]></bpmn2:script>
<bpmn2:incoming>SequenceFlow_1reso2f</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1ghqolv</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_1s5niqb" sourceRef="ScriptTask_1akfe0b" targetRef="ServiceTask_0sztuly" />
- <bpmn2:sequenceFlow id="SequenceFlow_06s5eu4" sourceRef="ServiceTask_0sztuly" targetRef="ScriptTask_1hql91g" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1s5niqb" sourceRef="ScriptTask_1akfe0b" targetRef="ScriptTask_1hql91g" />
<bpmn2:sequenceFlow id="SequenceFlow_1reso2f" sourceRef="ScriptTask_1hql91g" targetRef="CallActivity_1ksm1dz" />
<bpmn2:sequenceFlow id="SequenceFlow_1ghqolv" sourceRef="CallActivity_1ksm1dz" targetRef="EndEvent_1rqikib" />
<bpmn2:sequenceFlow id="SequenceFlow_0n4umjf" sourceRef="StartEvent_110xxgx" targetRef="ScriptTask_1akfe0b" />
@@ -273,10 +250,7 @@ CreateNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script>
<dc:Bounds x="1071" y="57" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_1akfe0b_di" bpmnElement="ScriptTask_1akfe0b">
- <dc:Bounds x="258" y="520" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_0sztuly_di" bpmnElement="ServiceTask_0sztuly">
- <dc:Bounds x="453" y="520" width="100" height="80" />
+ <dc:Bounds x="300" y="520" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0xxvjxq_di" bpmnElement="SequenceFlow_0xxvjxq">
<di:waypoint xsi:type="dc:Point" x="1007" y="97" />
@@ -286,7 +260,7 @@ CreateNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_1hql91g_di" bpmnElement="ScriptTask_1hql91g">
- <dc:Bounds x="632" y="520" width="100" height="80" />
+ <dc:Bounds x="543" y="520" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_1ksm1dz_di" bpmnElement="CallActivity_1ksm1dz">
<dc:Bounds x="807" y="520" width="100" height="80" />
@@ -307,24 +281,17 @@ CreateNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1s5niqb_di" bpmnElement="SequenceFlow_1s5niqb">
- <di:waypoint xsi:type="dc:Point" x="358" y="560" />
- <di:waypoint xsi:type="dc:Point" x="453" y="560" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="406" y="545" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_06s5eu4_di" bpmnElement="SequenceFlow_06s5eu4">
- <di:waypoint xsi:type="dc:Point" x="553" y="560" />
- <di:waypoint xsi:type="dc:Point" x="632" y="560" />
+ <di:waypoint xsi:type="dc:Point" x="400" y="560" />
+ <di:waypoint xsi:type="dc:Point" x="543" y="560" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="593" y="545" width="0" height="0" />
+ <dc:Bounds x="472" y="545" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1reso2f_di" bpmnElement="SequenceFlow_1reso2f">
- <di:waypoint xsi:type="dc:Point" x="732" y="560" />
+ <di:waypoint xsi:type="dc:Point" x="643" y="560" />
<di:waypoint xsi:type="dc:Point" x="807" y="560" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="770" y="545" width="0" height="0" />
+ <dc:Bounds x="725" y="545" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1ghqolv_di" bpmnElement="SequenceFlow_1ghqolv">
@@ -343,9 +310,9 @@ CreateNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0n4umjf_di" bpmnElement="SequenceFlow_0n4umjf">
<di:waypoint xsi:type="dc:Point" x="188" y="560" />
- <di:waypoint xsi:type="dc:Point" x="258" y="560" />
+ <di:waypoint xsi:type="dc:Point" x="300" y="560" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="223" y="545" width="0" height="0" />
+ <dc:Bounds x="244" y="545" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0rt8wax_di" bpmnElement="SequenceFlow_0rt8wax">
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn
index e6d4af3a6b..e4254f2d9e 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn
@@ -34,10 +34,10 @@ dcsi.instantiateNetworkService(execution)]]></bpmn:script>
<bpmn:outgoing>createNSFailed_SequenceFlow</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="createNSSuccess_SequenceFlow" name="yes" sourceRef="ExclusiveGateway_0zfksms" targetRef="instantiate_NSTask">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("nsInstanceId" ) != null && execution.getVariable("nsInstanceId" ) != "" )}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("nsInstanceName" ) != null && execution.getVariable("nsInstanceName" ) != "" )}]]></bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="createNSFailed_SequenceFlow" name="no" sourceRef="ExclusiveGateway_0zfksms" targetRef="createNSFailed_EndEvent">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("nsInstanceId" ) == null || execution.getVariable("nsInstanceId" ) == "" )}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("nsInstanceName" ) == null || execution.getVariable("nsInstanceName" ) == "" )}]]></bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:exclusiveGateway id="ExclusiveGateway_1is7zys" name="Instantiate NS Success?">
<bpmn:incoming>SequenceFlow_1ywe21t</bpmn:incoming>
@@ -80,7 +80,7 @@ dcsi.instantiateNetworkService(execution)]]></bpmn:script>
def dcsi = new CreateVFCNSResource()
dcsi.queryNSProgress(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:scriptTask id="finishNSCreate_Task" name="Add NS RelationShip" scriptFormat="groovy">
+ <bpmn:scriptTask id="finishNSCreate_Task" name="Finish NS Create">
<bpmn:incoming>operationFinished_SequenceFlow</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_0cq2q6g</bpmn:outgoing>
<bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
@@ -258,4 +258,4 @@ dcsi.timeDelay(execution)]]></bpmn:script>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn:definitions> \ No newline at end of file
+</bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn
index 9fe6815570..2120e120a9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
<bpmn2:process id="CreateVcpeResCustService" name="CreateVcpeResCustService" isExecutable="true">
<bpmn2:scriptTask id="sendSyncAckResponse_ScriptTask" name="Send Sync Ack Response" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
@@ -101,6 +101,7 @@ ex.processJavaException(execution)]]></bpmn2:script>
<camunda:in source="subscriptionServiceType" target="subscriptionServiceType" />
<camunda:in source="productFamilyId" target="productFamilyId" />
<camunda:in source="sdncVersion" target="sdncVersion" />
+ <camunda:in source="bpmnRequest" target="requestJson" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_0j6sjye</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1ky2sv9</bpmn2:outgoing>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn
index 84ab4177e2..0abbdd1c6d 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn
@@ -37,6 +37,7 @@
<camunda:in source="CVFMI_vfModuleModelInfo" target="vfModuleModelInfo" />
<camunda:in source="CVFMI_usePreload" target="usePreload" />
<camunda:in source="CVFMI_vfModuleInputParams" target="vfModuleInputParams" />
+ <camunda:in source="CVFMI_aLaCarte" target="aLaCarte" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVnfInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVnfInfra.bpmn
index e78bde6f29..441e684b89 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVnfInfra.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVnfInfra.bpmn
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_DkzPAHB4EeaJwpcpVN5gXw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_DkzPAHB4EeaJwpcpVN5gXw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
<bpmn2:process id="CreateVnfInfra" name="CreateVnfInfra" isExecutable="true">
<bpmn2:startEvent id="StartEvent_1">
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
@@ -41,7 +41,7 @@ createVnf.sendSyncResponse(execution)]]></bpmn2:script>
<camunda:in source="CREVI_vnfResourceDecomposition" target="vnfResourceDecomposition" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_0ed0uiq</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0lso26t</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0w0m5fr</bpmn2:outgoing>
</bpmn2:callActivity>
<bpmn2:subProcess id="javaErrorHandlingSubProcess" name="Java Exception Handling Sub Process" triggeredByEvent="true">
<bpmn2:scriptTask id="processJavaError" name="Process Error" scriptFormat="groovy">
@@ -100,7 +100,7 @@ createVnf.sendErrorResponse(execution)]]></bpmn2:script>
<bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="StartEvent_3" targetRef="sendErrorResponse" />
</bpmn2:subProcess>
<bpmn2:scriptTask id="postProcess" name="Prepare Completion Handler" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0lso26t</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_01mjjk3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
CreateVnfInfra createVnf = new CreateVnfInfra()
@@ -122,7 +122,6 @@ createVnf.prepareCompletionHandlerRequest(execution)]]></bpmn2:script>
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
</bpmn2:callActivity>
<bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="callCompletionHandler" targetRef="EndEvent_3" />
- <bpmn2:sequenceFlow id="SequenceFlow_0lso26t" sourceRef="CreateVNF" targetRef="postProcess" />
<bpmn2:sequenceFlow id="SequenceFlow_0ed0uiq" sourceRef="QueryCatalogDB" targetRef="CreateVNF" />
<bpmn2:scriptTask id="QueryCatalogDB" name="Query Catalog DB" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
@@ -131,6 +130,23 @@ createVnf.prepareCompletionHandlerRequest(execution)]]></bpmn2:script>
CreateVnfInfra createVnf = new CreateVnfInfra()
createVnf.queryCatalogDB(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0w0m5fr" sourceRef="CreateVNF" targetRef="Task_1gmhhag" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0s4i7px" sourceRef="Task_1gmhhag" targetRef="Task_1307onz" />
+ <bpmn2:sequenceFlow id="SequenceFlow_01mjjk3" sourceRef="Task_1307onz" targetRef="postProcess" />
+ <bpmn2:scriptTask id="Task_1gmhhag" name="Create Platform" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0w0m5fr</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0s4i7px</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+CreateVnfInfra createVnf = new CreateVnfInfra()
+createVnf.createPlatform(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_1307onz" name="Create Line-of-Business" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0s4i7px</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_01mjjk3</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+CreateVnfInfra createVnf = new CreateVnfInfra()
+createVnf.createLineOfBusiness(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
</bpmn2:process>
<bpmn2:error id="Error_1" name="Java Lang Exception" errorCode="java.lang.Exception" />
<bpmn2:error id="Error_2" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
@@ -173,9 +189,9 @@ createVnf.queryCatalogDB(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_228" bpmnElement="EndEvent_3">
- <dc:Bounds x="1090" y="222" width="36" height="36" />
+ <dc:Bounds x="1340" y="222" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1108" y="263" width="0" height="0" />
+ <dc:Bounds x="1313" y="263" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_SubProcess_32" bpmnElement="javaErrorHandlingSubProcess" isExpanded="true">
@@ -263,30 +279,23 @@ createVnf.queryCatalogDB(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_325" bpmnElement="postProcess">
- <dc:Bounds x="766" y="200" width="100" height="80" />
+ <dc:Bounds x="1042" y="200" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_ScriptTask_325" targetElement="_BPMNShape_CallActivity_69">
- <di:waypoint xsi:type="dc:Point" x="866" y="240" />
- <di:waypoint xsi:type="dc:Point" x="907" y="240" />
+ <di:waypoint xsi:type="dc:Point" x="1142" y="240" />
+ <di:waypoint xsi:type="dc:Point" x="1192" y="240" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="887" y="225" width="0" height="0" />
+ <dc:Bounds x="1122" y="225" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_69" bpmnElement="callCompletionHandler">
- <dc:Bounds x="907" y="200" width="100" height="80" />
+ <dc:Bounds x="1192" y="200" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_CallActivity_69" targetElement="_BPMNShape_EndEvent_228">
- <di:waypoint xsi:type="dc:Point" x="1007" y="240" />
- <di:waypoint xsi:type="dc:Point" x="1090" y="240" />
+ <di:waypoint xsi:type="dc:Point" x="1292" y="240" />
+ <di:waypoint xsi:type="dc:Point" x="1340" y="240" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1049" y="225" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0lso26t_di" bpmnElement="SequenceFlow_0lso26t">
- <di:waypoint xsi:type="dc:Point" x="718" y="240" />
- <di:waypoint xsi:type="dc:Point" x="766" y="240" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="742" y="225" width="0" height="0" />
+ <dc:Bounds x="1271" y="225" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0ed0uiq_di" bpmnElement="SequenceFlow_0ed0uiq">
@@ -299,6 +308,33 @@ createVnf.queryCatalogDB(execution)]]></bpmn2:script>
<bpmndi:BPMNShape id="ScriptTask_0z4xe39_di" bpmnElement="QueryCatalogDB">
<dc:Bounds x="478" y="200" width="100" height="80" />
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0w0m5fr_di" bpmnElement="SequenceFlow_0w0m5fr">
+ <di:waypoint xsi:type="dc:Point" x="718" y="240" />
+ <di:waypoint xsi:type="dc:Point" x="757" y="240" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="737.5" y="219" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0s4i7px_di" bpmnElement="SequenceFlow_0s4i7px">
+ <di:waypoint xsi:type="dc:Point" x="857" y="240" />
+ <di:waypoint xsi:type="dc:Point" x="889" y="240" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="873" y="219" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_01mjjk3_di" bpmnElement="SequenceFlow_01mjjk3">
+ <di:waypoint xsi:type="dc:Point" x="989" y="240" />
+ <di:waypoint xsi:type="dc:Point" x="1042" y="240" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1015.5" y="219" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1wah48v_di" bpmnElement="Task_1gmhhag">
+ <dc:Bounds x="757" y="200" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0fy16oq_di" bpmnElement="Task_1307onz">
+ <dc:Bounds x="889" y="200" width="100" height="80" />
+ </bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn
index 2983589699..289128d95f 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn
@@ -139,7 +139,7 @@ csi.sendSyncResponse(execution)]]></bpmn:script>
</bpmn:process>
<bpmn:error id="Error_1erlsmy" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
- <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DeleteCustomE2EServiceInstance">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
<bpmndi:BPMNShape id="StartEvent_00m8zen_di" bpmnElement="StartEvent_00m8zen">
<dc:Bounds x="577" y="209" width="36" height="36" />
<bpmndi:BPMNLabel>
@@ -150,95 +150,99 @@ csi.sendSyncResponse(execution)]]></bpmn:script>
<dc:Bounds x="834" y="660" width="394" height="188" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_1vyx9hu_di" bpmnElement="CallActivity_1vyx9hu">
- <dc:Bounds x="1159" y="187" width="100" height="80" />
+ <dc:Bounds x="1121" y="187" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_0db8bs6_di" bpmnElement="EndEvent_0db8bs6">
- <dc:Bounds x="1686" y="304" width="36" height="36" />
+ <dc:Bounds x="1646" y="304" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1696" y="340" width="22" height="12" />
+ <dc:Bounds x="1657" y="340" width="19" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_0a63hms_di" bpmnElement="ScriptTask_0a63hms">
- <dc:Bounds x="724" y="187" width="100" height="80" />
+ <dc:Bounds x="741" y="187" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_1fzpbop_di" bpmnElement="ScriptTask_1fzpbop">
- <dc:Bounds x="1493" y="187" width="100" height="80" />
+ <dc:Bounds x="1453" y="187" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_1wx4ihe_di" bpmnElement="CallActivity_1wx4ihe">
- <dc:Bounds x="1654" y="187" width="100" height="80" />
+ <dc:Bounds x="1614" y="187" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="SubProcess_1vbcima_di" bpmnElement="SubProcess_1vbcima" isExpanded="true">
<dc:Bounds x="736" y="374" width="679" height="194" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_1mao77y_di" bpmnElement="ScriptTask_1mao77y">
- <dc:Bounds x="936" y="187" width="100" height="80" />
+ <dc:Bounds x="920" y="187" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_0vu8gx6_di" bpmnElement="ExclusiveGateway_0vu8gx6" isMarkerVisible="true">
- <dc:Bounds x="1358" y="202" width="50" height="50" />
+ <dc:Bounds x="1318" y="202" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1358" y="174" width="50" height="12" />
+ <dc:Bounds x="1318" y="174" width="49" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_1i1g9s6_di" bpmnElement="EndEvent_1i1g9s6">
- <dc:Bounds x="1365" y="304" width="36" height="36" />
+ <dc:Bounds x="1325" y="304" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1293" y="340" width="90" height="12" />
+ <dc:Bounds x="1298" y="340" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1wxumid_di" bpmnElement="SequenceFlow_1wxumid">
<di:waypoint xsi:type="dc:Point" x="613" y="227" />
- <di:waypoint xsi:type="dc:Point" x="724" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="741" y="227" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="623.5" y="206" width="90" height="12" />
+ <dc:Bounds x="587" y="212" width="90" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0zf2qyk_di" bpmnElement="SequenceFlow_0zf2qyk">
- <di:waypoint xsi:type="dc:Point" x="1036" y="227" />
- <di:waypoint xsi:type="dc:Point" x="1159" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1020" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1073" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1073" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1121" y="227" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1052.5" y="206" width="90" height="12" />
+ <dc:Bounds x="1043" y="227" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_07hrbs0_di" bpmnElement="SequenceFlow_07hrbs0">
- <di:waypoint xsi:type="dc:Point" x="1259" y="227" />
- <di:waypoint xsi:type="dc:Point" x="1358" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1221" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1318" y="227" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1263.5" y="206" width="90" height="12" />
+ <dc:Bounds x="1225.5" y="212" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1ab5l2q_di" bpmnElement="SequenceFlow_1ab5l2q">
- <di:waypoint xsi:type="dc:Point" x="1704" y="267" />
- <di:waypoint xsi:type="dc:Point" x="1704" y="304" />
+ <di:waypoint xsi:type="dc:Point" x="1664" y="267" />
+ <di:waypoint xsi:type="dc:Point" x="1664" y="304" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1674" y="280" width="90" height="12" />
+ <dc:Bounds x="1634" y="279.5" width="90" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0yowshs_di" bpmnElement="SequenceFlow_0yowshs">
- <di:waypoint xsi:type="dc:Point" x="824" y="227" />
- <di:waypoint xsi:type="dc:Point" x="936" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="841" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="920" y="227" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="835" y="206" width="90" height="12" />
+ <dc:Bounds x="835.5" y="206" width="90" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_04urx2e_di" bpmnElement="SequenceFlow_04urx2e">
- <di:waypoint xsi:type="dc:Point" x="1408" y="227" />
- <di:waypoint xsi:type="dc:Point" x="1493" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1368" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1453" y="227" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1410" y="203" width="20" height="12" />
+ <dc:Bounds x="1370.25" y="203" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1ii935p_di" bpmnElement="SequenceFlow_1ii935p">
- <di:waypoint xsi:type="dc:Point" x="1593" y="227" />
- <di:waypoint xsi:type="dc:Point" x="1654" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1553" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="1614" y="227" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1535" y="212" width="90" height="12" />
+ <dc:Bounds x="1495" y="212" width="90" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1t6ekab_di" bpmnElement="SequenceFlow_1t6ekab">
- <di:waypoint xsi:type="dc:Point" x="1383" y="252" />
- <di:waypoint xsi:type="dc:Point" x="1383" y="304" />
+ <di:waypoint xsi:type="dc:Point" x="1343" y="252" />
+ <di:waypoint xsi:type="dc:Point" x="1343" y="277" />
+ <di:waypoint xsi:type="dc:Point" x="1343" y="277" />
+ <di:waypoint xsi:type="dc:Point" x="1343" y="304" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1391" y="277" width="15" height="12" />
+ <dc:Bounds x="1352" y="277" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_1c6ogpt_di" bpmnElement="ScriptTask_1c6ogpt">
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteNetworkInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteNetworkInstance.bpmn
index 3b5c629182..1e868def58 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteNetworkInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteNetworkInstance.bpmn
@@ -1,113 +1,113 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
- <bpmn2:process id="DeleteNetworkInstance" name="DeleteNetworkInstance" isExecutable="true">
- <bpmn2:startEvent id="createNetwork_startEvent" name="Start Flow">
- <bpmn2:outgoing>SequenceFlow_0lp2z7l</bpmn2:outgoing>
- </bpmn2:startEvent>
- <bpmn2:subProcess id="unexpectedErrors_SubProcess" name="Sub-process for UnexpectedErrors" triggeredByEvent="true">
- <bpmn2:scriptTask id="ScriptTask_1" name="Log / Print Unexpected Error" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+ <bpmn2:process id="DeleteNetworkInstance" name="DeleteNetworkInstance" isExecutable="true">
+ <bpmn2:startEvent id="createNetwork_startEvent" name="Start Flow">
+ <bpmn2:outgoing>SequenceFlow_0lp2z7l</bpmn2:outgoing>
+ </bpmn2:startEvent>
+ <bpmn2:subProcess id="unexpectedErrors_SubProcess" name="Sub-process for UnexpectedErrors" triggeredByEvent="true">
+ <bpmn2:scriptTask id="ScriptTask_1" name="Log / Print Unexpected Error" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def networkMod = new DeleteNetworkInstance()
-networkMod.processJavaException(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="ScriptTask_1" targetRef="EndEvent_1" />
- <bpmn2:startEvent id="StartEvent_1">
- <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
- <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" errorRef="Error_1" />
- </bpmn2:startEvent>
- <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_1" />
- <bpmn2:endEvent id="EndEvent_1">
- <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
- </bpmn2:endEvent>
- </bpmn2:subProcess>
- <bpmn2:callActivity id="doDeleteNetworkInstance_CallActivity" name="DoDelete Network Instance&#10;" calledElement="DoDeleteNetworkInstance">
- <bpmn2:extensionElements>
- <camunda:out source="WorkflowException" target="WorkflowException" />
- <camunda:in source="msoRequestId" target="msoRequestId" />
- <camunda:out source="rollbackData" target="rollbackData" />
- <camunda:in source="networkId" target="networkId" />
- <camunda:in source="networkName" target="networkName" />
- <camunda:in source="networkModelInfo" target="networkModelInfo" />
- <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
- <camunda:in source="tenantId" target="tenantId" />
- <camunda:in source="productFamilyId" target="productFamilyId" />
- <camunda:in source="disableRollback" target="disableRollback" />
- <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
- <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
- <camunda:in source="networkInputParams" target="networkInputParams" />
- <camunda:out source="rolledBack" target="rolledBack" />
- <camunda:out source="networkId" target="networkId" />
- <camunda:out source="networkName" target="networkName" />
- <camunda:out source="networkOutputParams" target="networkOutputParams" />
- <camunda:in source="bpmnRequest" target="bpmnRequest" />
- <camunda:in source="failIfExists" target="failIfExists" />
- <camunda:in source="sdncVersion" target="sdncVersion" />
- <camunda:in source="requestId" target="requestId" />
- <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
- <camunda:in source="requestAction" target="requestAction" />
- <camunda:in source="mso-request-id" target="mso-request-id" />
- <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" />
- <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
- <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
- </bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_0eto8sn</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1lj31zp</bpmn2:outgoing>
- </bpmn2:callActivity>
- <bpmn2:endEvent id="EndEvent_0o440av" name="End">
- <bpmn2:incoming>SequenceFlow_0x3znm5</bpmn2:incoming>
- </bpmn2:endEvent>
- <bpmn2:scriptTask id="ScriptTask_09qt0pi" name="DeleteNetwork PostProcess Success&#10;" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_095crcd</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0x3znm5</bpmn2:outgoing>
+networkMod.processJavaException(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="ScriptTask_1" targetRef="EndEvent_1" />
+ <bpmn2:startEvent id="StartEvent_1">
+ <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
+ <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" errorRef="Error_1" />
+ </bpmn2:startEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_1" />
+ <bpmn2:endEvent id="EndEvent_1">
+ <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
+ </bpmn2:endEvent>
+ </bpmn2:subProcess>
+ <bpmn2:callActivity id="doDeleteNetworkInstance_CallActivity" name="DoDelete Network Instance&#10;" calledElement="DoDeleteNetworkInstance">
+ <bpmn2:extensionElements>
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:out source="rollbackData" target="rollbackData" />
+ <camunda:in source="networkId" target="networkId" />
+ <camunda:in source="networkName" target="networkName" />
+ <camunda:in source="networkModelInfo" target="networkModelInfo" />
+ <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
+ <camunda:in source="tenantId" target="tenantId" />
+ <camunda:in source="productFamilyId" target="productFamilyId" />
+ <camunda:in source="disableRollback" target="disableRollback" />
+ <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="networkInputParams" target="networkInputParams" />
+ <camunda:out source="rolledBack" target="rolledBack" />
+ <camunda:out source="networkId" target="networkId" />
+ <camunda:out source="networkName" target="networkName" />
+ <camunda:out source="networkOutputParams" target="networkOutputParams" />
+ <camunda:in source="bpmnRequest" target="bpmnRequest" />
+ <camunda:in source="failIfExists" target="failIfExists" />
+ <camunda:in source="sdncVersion" target="sdncVersion" />
+ <camunda:in source="requestId" target="requestId" />
+ <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+ <camunda:in source="requestAction" target="requestAction" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" />
+ <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
+ <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0eto8sn</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1lj31zp</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:endEvent id="EndEvent_0o440av" name="End">
+ <bpmn2:incoming>SequenceFlow_0x3znm5</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:scriptTask id="ScriptTask_09qt0pi" name="DeleteNetwork PostProcess Success&#10;" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_095crcd</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0x3znm5</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.postProcessResponse(execution)
-]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_1lj31zp" sourceRef="doDeleteNetworkInstance_CallActivity" targetRef="ScriptTask_0cihgpv" />
- <bpmn2:sequenceFlow id="SequenceFlow_0x3znm5" sourceRef="ScriptTask_09qt0pi" targetRef="EndEvent_0o440av" />
- <bpmn2:scriptTask id="ScriptTask_0pvcr6j" name="PreProcess Incoming Request" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0lp2z7l</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1ablr60</bpmn2:outgoing>
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_1lj31zp" sourceRef="doDeleteNetworkInstance_CallActivity" targetRef="ScriptTask_0cihgpv" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0x3znm5" sourceRef="ScriptTask_09qt0pi" targetRef="EndEvent_0o440av" />
+ <bpmn2:scriptTask id="ScriptTask_0pvcr6j" name="PreProcess Incoming Request" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0lp2z7l</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1ablr60</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def preProcess = new DeleteNetworkInstance()
-preProcess.preProcessRequest(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_0lp2z7l" sourceRef="createNetwork_startEvent" targetRef="ScriptTask_0pvcr6j" />
- <bpmn2:sequenceFlow id="SequenceFlow_1ablr60" sourceRef="ScriptTask_0pvcr6j" targetRef="Task_19xbdbu" />
- <bpmn2:scriptTask id="ScriptTask_0cihgpv" name="Prepare Completion Request" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1lj31zp</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0xxvjxq</bpmn2:outgoing>
+preProcess.preProcessRequest(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0lp2z7l" sourceRef="createNetwork_startEvent" targetRef="ScriptTask_0pvcr6j" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1ablr60" sourceRef="ScriptTask_0pvcr6j" targetRef="Task_19xbdbu" />
+ <bpmn2:scriptTask id="ScriptTask_0cihgpv" name="Prepare Completion Request" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1lj31zp</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0xxvjxq</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
-DeleteNetworkInstance.prepareCompletion(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:callActivity id="CallActivity_0sevgre" name="Call CompleteMsoProcess" calledElement="CompleteMsoProcess">
- <bpmn2:extensionElements>
- <camunda:in source="DELNI_CompleteMsoProcessRequest" target="CompleteMsoProcessRequest" />
- <camunda:in source="mso-request-id" target="mso-request-id" />
- <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
- <camunda:out source="CMSO_ResponseCode" target="CMSO_ResponseCode" />
- <camunda:out source="CompleteMsoProcessResponse" target="CompleteMsoProcessResponse" />
- <camunda:out source="CMSO_ErrorResponse" target="CMSO_ErrorResponse" />
- </bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_0xxvjxq</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_095crcd</bpmn2:outgoing>
- </bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_0xxvjxq" sourceRef="ScriptTask_0cihgpv" targetRef="CallActivity_0sevgre" />
- <bpmn2:subProcess id="SubProcess_1k2112i" name="Sub-process for FalloutHandler" triggeredByEvent="true">
- <bpmn2:startEvent id="StartEvent_110xxgx">
- <bpmn2:outgoing>SequenceFlow_0n4umjf</bpmn2:outgoing>
- <bpmn2:errorEventDefinition errorRef="Error_2" />
- </bpmn2:startEvent>
- <bpmn2:endEvent id="EndEvent_1rqikib">
- <bpmn2:incoming>SequenceFlow_1ghqolv</bpmn2:incoming>
- </bpmn2:endEvent>
- <bpmn2:scriptTask id="ScriptTask_1akfe0b" name="Prepare DB Infra Error" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0n4umjf</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1s5niqb</bpmn2:outgoing>
+DeleteNetworkInstance.prepareCompletion(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="CallActivity_0sevgre" name="Call CompleteMsoProcess" calledElement="CompleteMsoProcess">
+ <bpmn2:extensionElements>
+ <camunda:in source="DELNI_CompleteMsoProcessRequest" target="CompleteMsoProcessRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:out source="CMSO_ResponseCode" target="CMSO_ResponseCode" />
+ <camunda:out source="CompleteMsoProcessResponse" target="CompleteMsoProcessResponse" />
+ <camunda:out source="CMSO_ErrorResponse" target="CMSO_ErrorResponse" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0xxvjxq</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_095crcd</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_0xxvjxq" sourceRef="ScriptTask_0cihgpv" targetRef="CallActivity_0sevgre" />
+ <bpmn2:subProcess id="SubProcess_1k2112i" name="Sub-process for FalloutHandler" triggeredByEvent="true">
+ <bpmn2:startEvent id="StartEvent_110xxgx">
+ <bpmn2:outgoing>SequenceFlow_0n4umjf</bpmn2:outgoing>
+ <bpmn2:errorEventDefinition errorRef="Error_2" />
+ </bpmn2:startEvent>
+ <bpmn2:endEvent id="EndEvent_1rqikib">
+ <bpmn2:incoming>SequenceFlow_1ghqolv</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:scriptTask id="ScriptTask_1akfe0b" name="Prepare DB Infra Error" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0n4umjf</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1s5niqb</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.prepareDBRequestError(execution)]]></bpmn2:script>
@@ -139,39 +139,39 @@ DeleteNetworkInstance.prepareDBRequestError(execution)]]></bpmn2:script>
<bpmn2:outgoing>SequenceFlow_1reso2f</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
-DeleteNetworkInstance.buildErrorResponse(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:callActivity id="CallActivity_1ksm1dz" name="Call FalloutHandlerV1" calledElement="FalloutHandler">
- <bpmn2:extensionElements>
- <camunda:in source="DELNI_FalloutHandlerRequest" target="FalloutHandlerRequest" />
- <camunda:in source="mso-request-id" target="mso-request-id" />
- <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
- <camunda:out source="FH_ResponseCode" target="FH_ResponseCode" />
- <camunda:out source="FalloutHandlerResponse" target="FalloutHandlerResponse" />
- <camunda:out source="FH_ErrorResponse" target="FH_ErrorResponse" />
- </bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_1reso2f</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1ghqolv</bpmn2:outgoing>
- </bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_1s5niqb" sourceRef="ScriptTask_1akfe0b" targetRef="ServiceTask_0sztuly" />
- <bpmn2:sequenceFlow id="SequenceFlow_06s5eu4" sourceRef="ServiceTask_0sztuly" targetRef="ScriptTask_1hql91g" />
- <bpmn2:sequenceFlow id="SequenceFlow_1reso2f" sourceRef="ScriptTask_1hql91g" targetRef="CallActivity_1ksm1dz" />
- <bpmn2:sequenceFlow id="SequenceFlow_1ghqolv" sourceRef="CallActivity_1ksm1dz" targetRef="EndEvent_1rqikib" />
- <bpmn2:sequenceFlow id="SequenceFlow_0n4umjf" sourceRef="StartEvent_110xxgx" targetRef="ScriptTask_1akfe0b" />
- </bpmn2:subProcess>
- <bpmn2:sequenceFlow id="SequenceFlow_095crcd" sourceRef="CallActivity_0sevgre" targetRef="ScriptTask_09qt0pi" />
- <bpmn2:sequenceFlow id="SequenceFlow_0rt8wax" sourceRef="Task_19xbdbu" targetRef="Task_1nko5zz" />
- <bpmn2:sequenceFlow id="SequenceFlow_0eto8sn" sourceRef="Task_1nko5zz" targetRef="doDeleteNetworkInstance_CallActivity" />
- <bpmn2:scriptTask id="Task_19xbdbu" name="Get Network Model Info&#10;" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1ablr60</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0rt8wax</bpmn2:outgoing>
+DeleteNetworkInstance.buildErrorResponse(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="CallActivity_1ksm1dz" name="Call FalloutHandlerV1" calledElement="FalloutHandler">
+ <bpmn2:extensionElements>
+ <camunda:in source="DELNI_FalloutHandlerRequest" target="FalloutHandlerRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:out source="FH_ResponseCode" target="FH_ResponseCode" />
+ <camunda:out source="FalloutHandlerResponse" target="FalloutHandlerResponse" />
+ <camunda:out source="FH_ErrorResponse" target="FH_ErrorResponse" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1reso2f</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1ghqolv</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_1s5niqb" sourceRef="ScriptTask_1akfe0b" targetRef="ServiceTask_0sztuly" />
+ <bpmn2:sequenceFlow id="SequenceFlow_06s5eu4" sourceRef="ServiceTask_0sztuly" targetRef="ScriptTask_1hql91g" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1reso2f" sourceRef="ScriptTask_1hql91g" targetRef="CallActivity_1ksm1dz" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1ghqolv" sourceRef="CallActivity_1ksm1dz" targetRef="EndEvent_1rqikib" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0n4umjf" sourceRef="StartEvent_110xxgx" targetRef="ScriptTask_1akfe0b" />
+ </bpmn2:subProcess>
+ <bpmn2:sequenceFlow id="SequenceFlow_095crcd" sourceRef="CallActivity_0sevgre" targetRef="ScriptTask_09qt0pi" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0rt8wax" sourceRef="Task_19xbdbu" targetRef="Task_1nko5zz" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0eto8sn" sourceRef="Task_1nko5zz" targetRef="doDeleteNetworkInstance_CallActivity" />
+ <bpmn2:scriptTask id="Task_19xbdbu" name="Get Network Model Info&#10;" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1ablr60</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0rt8wax</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
-DeleteNetworkInstance.getNetworkModelInfo(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:scriptTask id="Task_1nko5zz" name="Send Sync Ack Response" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0rt8wax</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0eto8sn</bpmn2:outgoing>
+DeleteNetworkInstance.getNetworkModelInfo(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_1nko5zz" name="Send Sync Ack Response" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0rt8wax</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0eto8sn</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVfModuleInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVfModuleInfra.bpmn
index e19ea1bd86..81e759b8a9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVfModuleInfra.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVfModuleInfra.bpmn
@@ -38,6 +38,7 @@ dvfm.prepDoDeleteVfModule(execution)]]></bpmn2:script>
<camunda:in source="cloudConfiguration" target="cloudConfiguration" />
<camunda:in source="&#34;1610&#34;" target="sdncVersion" />
<camunda:in source="isVidRequest" target="isVidRequest" />
+ <camunda:in source="aLaCarte" target="aLaCarte" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/ReplaceVnfInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/ReplaceVnfInfra.bpmn
index 6c5e8f6522..c15c391558 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/ReplaceVnfInfra.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/ReplaceVnfInfra.bpmn
@@ -20,7 +20,7 @@ uvfm.preProcessRequest(execution)
<bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessRequest" targetRef="ScriptTask_1" />
<bpmn2:callActivity id="CallActivity_1" name="Completion Handler" calledElement="CompleteMsoProcess">
<bpmn2:extensionElements>
- <camunda:in source="RPLVnfI_CompletionHandlerRequest" target="CompleteMsoProcessRequest" />
+ <camunda:in source="CompletionHandlerRequest" target="CompleteMsoProcessRequest" />
<camunda:in source="mso-request-id" target="mso-request-id" />
<camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
@@ -42,10 +42,11 @@ execution.setVariable("UpdateVfModuleInfraSuccessIndicator", true)]]></bpmn2:scr
<bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_1" />
<bpmn2:scriptTask id="ScriptTask_10" name="Completion Handler (prep)" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_19rrss6</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new ReplaceVnfInfra()
-uvfm.completionHandlerPrep(execution, 'RPLVnfI_CompletionHandlerRequest')
+uvfm.completionHandlerPrep(execution, 'CompletionHandlerRequest')
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_10" targetRef="CallActivity_1" />
@@ -54,19 +55,19 @@ uvfm.completionHandlerPrep(execution, 'RPLVnfI_CompletionHandlerRequest')
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
<bpmn2:errorEventDefinition id="ErrorEventDefinition_1" />
</bpmn2:startEvent>
- <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="ScriptTask_3" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="Task_1cl8ayk" />
<bpmn2:scriptTask id="ScriptTask_3" name="Fallout Handler (prep)" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0ph6862</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new UpdateVfModuleInfra()
-uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest')
+def uvfm = new ReplaceVnfInfra()
+uvfm.falloutHandlerPrep(execution, 'FalloutHandlerRequest')
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="ScriptTask_3" targetRef="CallActivity_2" />
<bpmn2:callActivity id="CallActivity_2" name="Fallout Handler" calledElement="FalloutHandler">
<bpmn2:extensionElements>
- <camunda:in source="RPLVnfI_FalloutHandlerRequest" target="FalloutHandlerRequest" />
+ <camunda:in source="FalloutHandlerRequest" target="FalloutHandlerRequest" />
<camunda:in source="mso-request-id" target="mso-request-id" />
<camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
@@ -79,6 +80,39 @@ uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest')
<bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" />
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="CallActivity_2" targetRef="EndEvent_2" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0msgw6c" sourceRef="Task_1cl8ayk" targetRef="Task_1xw8w6a" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0uhssvq" sourceRef="Task_1xw8w6a" targetRef="Task_0dc1x7g" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0ph6862" sourceRef="Task_0dc1x7g" targetRef="ScriptTask_3" />
+ <bpmn2:scriptTask id="Task_1cl8ayk" name="PreProcess Rollback" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0msgw6c</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.preProcessRollback(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_0dc1x7g" name="PostProcess Rollback" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0uhssvq</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0ph6862</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.postProcessRollback(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="Task_1xw8w6a" name="Rollback Processing" calledElement="RollbackVnf">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" />
+ <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" />
+ <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" />
+ <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" />
+ <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0msgw6c</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0uhssvq</bpmn2:outgoing>
+ </bpmn2:callActivity>
</bpmn2:subProcess>
<bpmn2:endEvent id="EndEvent_3">
<bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
@@ -95,13 +129,15 @@ uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest')
<bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" />
<bpmn2:callActivity id="ScriptTask_6" name="DoDeleteVnfAndModules" calledElement="DoDeleteVnfAndModules">
<bpmn2:extensionElements>
- <camunda:in source="RPLVnfI_requestId" target="msoRequestId" />
+ <camunda:in source="msoRequestId" target="msoRequestId" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
<camunda:out source="WorkflowException" target="WorkflowException" />
- <camunda:in source="RPLVnfI_vnfId" target="vnfId" />
- <camunda:in source="RPLVnfI_serviceInstanceId" target="serviceInstanceId" />
- <camunda:in source="RPLVnfI_sdncVersion" target="sdncVersion" />
- <camunda:in source="RPLVnfI_cloudConfiguration" target="cloudConfiguration" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+ <camunda:in source="sdncVersion" target="sdncVersion" />
+ <camunda:in source="cloudConfiguration" target="cloudConfiguration" />
+ <camunda:in source="retainResources" target="retainResources" />
+ <camunda:in source="serviceDecomposition" target="serviceDecomposition" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_19ba94v</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0gzzeru</bpmn2:outgoing>
@@ -112,7 +148,7 @@ uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest')
<bpmn2:extensionElements>
<camunda:in source="msoRequestId" target="msoRequestId" />
<camunda:in source="serviceInstanceId" target="serviceInstanceId" />
- <camunda:in source="RPLVnfI_serviceModelInfo" target="serviceModelInfo" />
+ <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
<camunda:out source="WorkflowException" target="WorkflowException" />
<camunda:out source="serviceDecomposition" target="serviceDecomposition" />
@@ -120,7 +156,7 @@ uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest')
<bpmn2:incoming>SequenceFlow_0y0jt4l</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1w35ov3</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0vy2zge" />
+ <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0iydw5o" />
<bpmn2:scriptTask id="Task_1opcb4j" name="Get VnfResourceDecomposition" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_1w35ov3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_053qjfy</bpmn2:outgoing>
@@ -131,7 +167,7 @@ uvfm.getVnfResourceDecomposition(execution)]]></bpmn2:script>
<bpmn2:sequenceFlow id="SequenceFlow_0y0jt4l" sourceRef="ScriptTask_1" targetRef="Task_1gg76h7" />
<bpmn2:scriptTask id="Task_1rxiqe1" name="Check If VNF Is In Maintenance in A&#38;AI" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_16mo99z</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_193t8ts</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0jph3mt</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new ReplaceVnfInfra()
@@ -143,7 +179,7 @@ uvfm.checkIfVnfInMaintInAAI(execution)
<bpmn2:sequenceFlow id="SequenceFlow_0gzzeru" sourceRef="ScriptTask_6" targetRef="ExclusiveGateway_0ulrq9g" />
<bpmn2:scriptTask id="Task_0ap39ka" name="Set VNF inMaintenance Flag in A&#38;AI" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_0baosqi</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_18u8p2k</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1nodcf9</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0k3fx7p</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new ReplaceVnfInfra()
@@ -152,7 +188,7 @@ uvfm.setVnfInMaintFlagInAAI(execution, true)
</bpmn2:scriptTask>
<bpmn2:scriptTask id="Task_1drglpt" name="Unset VNF In Maintenance Flag in A&#38;AI" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_19lg15d</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1lsfn19</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0usoiza</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_12mfil6</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new ReplaceVnfInfra()
@@ -160,7 +196,7 @@ uvfm.setVnfInMaintFlagInAAI(execution, false)
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:scriptTask id="Task_0vy2zge" name="Check If Physical Servers Are Locked in A&#38;AI" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_14yy8v4</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0usxnlk</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new ReplaceVnfInfra()
@@ -170,202 +206,105 @@ uvfm.checkIfPserversInMaintInAAI(execution)
<bpmn2:sequenceFlow id="SequenceFlow_0xx8y1s" sourceRef="Task_1dtbnuy" targetRef="ExclusiveGateway_1slvyx2" />
<bpmn2:sequenceFlow id="SequenceFlow_0a6pdza" sourceRef="Task_1fj63ov" targetRef="ExclusiveGateway_1ichg7h" />
<bpmn2:sequenceFlow id="SequenceFlow_13h26h9" sourceRef="Task_1cfkcss" targetRef="ExclusiveGateway_1etgtgi" />
- <bpmn2:scriptTask id="Task_1dtbnuy" name="Call APP-C VNF Lock" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1bkhs8m</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0eueu1t</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new ReplaceVnfInfra()
-uvfm.runAppcCommand(execution, Action.Lock)
-]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:scriptTask id="Task_1fj63ov" name="Call APP-C Health Check" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1sla5dr</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new ReplaceVnfInfra()
-uvfm.runAppcCommand(execution, Action.HealthCheck)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:scriptTask id="Task_1cfkcss" name="Call APP-C VNF Graceful Stop" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0iektwg</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new ReplaceVnfInfra()
-uvfm.runAppcCommand(execution, Action.Stop)]]></bpmn2:script>
- </bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1uno5rs" sourceRef="Task_1hdg951" targetRef="ExclusiveGateway_02tj4dw" />
<bpmn2:sequenceFlow id="SequenceFlow_1c79909" sourceRef="Task_1ca5ctq" targetRef="ExclusiveGateway_1gn5lab" />
- <bpmn2:scriptTask id="Task_1hdg951" name="Call APP-C VNF Start" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_04zwhw4</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new ReplaceVnfInfra()
-uvfm.runAppcCommand(execution, Action.Start)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:scriptTask id="Task_1ca5ctq" name="Call APP-C Health Check" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1hx1ur7</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new ReplaceVnfInfra()
-uvfm.runAppcCommand(execution, Action.HealthCheck)]]></bpmn2:script>
- </bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1xfbwpi" sourceRef="Task_1sove95" targetRef="ExclusiveGateway_06mv93h" />
- <bpmn2:scriptTask id="Task_1sove95" name="Call APP-C VNF Unlock" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_197t3qk</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0ukzynj</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new ReplaceVnfInfra()
-uvfm.runAppcCommand(execution, Action.Unlock)]]></bpmn2:script>
- </bpmn2:scriptTask>
<bpmn2:exclusiveGateway id="ExclusiveGateway_0q323wc" name="Error on PServers Check?" default="SequenceFlow_16mo99z">
<bpmn2:incoming>SequenceFlow_0usxnlk</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_16mo99z</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1qmz2ez</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_12hm1ks</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_16mo99z" name="no" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_1rxiqe1" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_045e1uz" name="Error On inMaintenance Check?" default="SequenceFlow_0baosqi">
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0baosqi</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_03rkfbo</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0etr76r</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_0baosqi" name="no" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0ap39ka" />
<bpmn2:callActivity id="Task_0q5cdit" name="Rainy Day Handler" calledElement="RainyDayHandler">
<bpmn2:extensionElements>
<camunda:in source="msoRequestId" target="msoRequestId" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
- <camunda:in source="RPLVnfI_serviceType" target="serviceType" />
- <camunda:in source="RPLVnfI_nfRole" target="vnfType" />
- <camunda:in source="RPLVnfI_currentActivity" target="currentActivity" />
- <camunda:in source="RPLVnfI_workStep" target="workStep" />
- <camunda:in source="RPLVnfI_failedActivity" target="failedActivity" />
- <camunda:in source="RPLVnfI_errorCode" target="errorCode" />
- <camunda:in source="RPLVnfI_errorText" target="errorText" />
+ <camunda:in source="serviceType" target="serviceType" />
+ <camunda:in source="nfRole" target="vnfType" />
+ <camunda:in source="currentActivity" target="currentActivity" />
+ <camunda:in source="workStep" target="workStep" />
+ <camunda:in source="failedActivity" target="failedActivity" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:in source="errorText" target="errorText" />
<camunda:out source="WorkflowException" target="WorkflowException" />
- <camunda:out source="handlingCode" target="RPLVnfI_disposition" />
- <camunda:in source="RPLVnfI_requestorId" target="requestorId" />
- <camunda:out source="taskId" target="RPLVnfI_taskId" />
+ <camunda:out source="handlingCode" target="disposition" />
+ <camunda:in source="requestorId" target="requestorId" />
+ <camunda:out source="taskId" target="taskId" />
+ <camunda:in source="vnfName" target="vnfName" />
</bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_1qmz2ez</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_03rkfbo</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1lsm3bn</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0bduwog</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0uwar5b</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0i7hfj2</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_13yjc85</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0waedj5</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1hg9c2l</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0gej71y</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0pfydeg</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_10ek8l4</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1cezgw4</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0v0u7mf</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_1qmz2ez" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_03rkfbo" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_0v0u7mf" sourceRef="Task_0q5cdit" targetRef="ExclusiveGateway_0xlxgl0" />
<bpmn2:task id="Task_0zbogrm" name="Rollback Processing">
<bpmn2:incoming>SequenceFlow_1qr8msw</bpmn2:incoming>
</bpmn2:task>
<bpmn2:sequenceFlow id="SequenceFlow_0vpd06n" name="Abort" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_1tg549h">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_disposition") == "Abort"]]></bpmn2:conditionExpression>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Abort"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_1qr8msw" name="Rollback" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0zbogrm">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_disposition") == "Rollback"]]></bpmn2:conditionExpression>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Rollback"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway id="ExclusiveGateway_0ud5uwa" name="Eror on inMaintenance Set?" default="SequenceFlow_1bkhs8m">
<bpmn2:incoming>SequenceFlow_0k3fx7p</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1bkhs8m</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1lsm3bn</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_11b00u2</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_0k3fx7p" sourceRef="Task_0ap39ka" targetRef="ExclusiveGateway_0ud5uwa" />
- <bpmn2:sequenceFlow id="SequenceFlow_1lsm3bn" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway id="ExclusiveGateway_1slvyx2" name="Error on VNF Lock?" default="SequenceFlow_0qy68ib">
<bpmn2:incoming>SequenceFlow_0xx8y1s</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0qy68ib</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0bduwog</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1ck3v34</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_0qy68ib" name="no" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_1fj63ov" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_1ichg7h" name="Error on Pre Health Check?" default="SequenceFlow_0q0qan8">
<bpmn2:incoming>SequenceFlow_0a6pdza</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0q0qan8</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0uwar5b</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_079nix0</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_0q0qan8" name="no" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_1cfkcss" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_1etgtgi" name="Error on VNF Stop?" default="SequenceFlow_1c0vdki">
<bpmn2:incoming>SequenceFlow_13h26h9</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1c0vdki</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0i7hfj2</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_032i8t0</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_1c0vdki" name="no" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0eae8go" />
- <bpmn2:sequenceFlow id="SequenceFlow_0bduwog" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0uwar5b" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0i7hfj2" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:exclusiveGateway id="ExclusiveGateway_0ulrq9g" name="Error on DoDeleteVnfAndNModules?" default="SequenceFlow_0bxgny0">
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0ulrq9g" name="Error on DoDeleteVnfAndNModules?" camunda:asyncBefore="true" default="SequenceFlow_0bxgny0">
<bpmn2:incoming>SequenceFlow_0gzzeru</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_10ek8l4</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_0bxgny0</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1f0c5lj</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_04zwhw4" name="no" sourceRef="ExclusiveGateway_084iffr" targetRef="Task_1hdg951" />
- <bpmn2:sequenceFlow id="SequenceFlow_10ek8l4" name="yes" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway id="ExclusiveGateway_02tj4dw" name="Error on VNF Start?" default="SequenceFlow_162mm0m">
<bpmn2:incoming>SequenceFlow_1uno5rs</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_162mm0m</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0waedj5</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_17vwb2h</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_162mm0m" name="no" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_1ca5ctq" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_1gn5lab" name="Error on Post Health Check?" default="SequenceFlow_197t3qk">
<bpmn2:incoming>SequenceFlow_1c79909</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_197t3qk</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1hg9c2l</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0ba08lt</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_197t3qk" name="no" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_1sove95" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_06mv93h" name="Error on VNF Unlock?" default="SequenceFlow_19lg15d">
<bpmn2:incoming>SequenceFlow_1xfbwpi</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_19lg15d</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0gej71y</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1akvi72</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_19lg15d" name="no" sourceRef="ExclusiveGateway_06mv93h" targetRef="Task_1drglpt" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_0l2z6wc" name="Erorr on inMaintenance Unset?" default="SequenceFlow_3">
<bpmn2:incoming>SequenceFlow_12mfil6</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_13yjc85</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1sdol24</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_12mfil6" sourceRef="Task_1drglpt" targetRef="ExclusiveGateway_0l2z6wc" />
- <bpmn2:sequenceFlow id="SequenceFlow_13yjc85" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0waedj5" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1hg9c2l" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0gej71y" name="yes" sourceRef="ExclusiveGateway_06mv93h" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:scriptTask id="Task_1tg549h" name="Abort Processing" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_0vpd06n</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_051zp79</bpmn2:incoming>
@@ -381,42 +320,27 @@ uvfm.abortProcessing(execution)]]></bpmn2:script>
</bpmn2:exclusiveGateway>
<bpmn2:exclusiveGateway id="ExclusiveGateway_0y82zzx" name="Which step to skip?" default="SequenceFlow_051zp79">
<bpmn2:incoming>SequenceFlow_05gpym3</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1sla5dr</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0iektwg</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1ttepat</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1hx1ur7</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0ukzynj</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1lsfn19</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_051zp79</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_193t8ts</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_18u8p2k</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0eueu1t</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1ei7at5</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0kg02xg</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1i6p53b</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1yy7o24</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0sqmtpl</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1shdmrj</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1v1i5w4</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1h8rscx</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1xzq6jb</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_165q14c</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0wp1a6g</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0vymfh9</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_05gpym3" name="Skip" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ExclusiveGateway_0y82zzx">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_disposition") == "Skip"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1sla5dr" name="Skip APP-C VNF Lock" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1fj63ov">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "LockVNF"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0iektwg" name="Skip APP-C VNF Pre Health Check" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1cfkcss">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "HealthCheckVNF1"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1ttepat" name="Skip APP-C VNF Stop" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_0eae8go">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "StopVNF"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1hx1ur7" name="Skip APP-C VNF Start" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1ca5ctq">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "StartVNF"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0ukzynj" name="Skip APP-C Post Health Check" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1sove95">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "HealthCheckVNF2"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1lsfn19" name="Skip APP-C VNF Unlock" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1drglpt">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "UnlockVNF"]]></bpmn2:conditionExpression>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Skip"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_19ba94v" sourceRef="Task_0eae8go" targetRef="ScriptTask_6" />
<bpmn2:scriptTask id="Task_0eae8go" name="Prepare DoDeleteVnfAndModules" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_1c0vdki</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1ttepat</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0aldwvz</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_19ba94v</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new ReplaceVnfInfra()
@@ -424,36 +348,387 @@ uvfm.prepDoDeleteVnfAndModules(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:scriptTask id="Task_040hi91" name="Prepare DoCreateVnfAndModules" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_0bxgny0</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_111z6w4</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1qm0ygo</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new ReplaceVnfInfra()
uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:callActivity id="Task_15hpowt" name="DoCreateVnfAndModules" calledElement="DoCreateVnfAndModules">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="disableRollback" target="disableRollback" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="productFamilyId" target="productFamilyId" />
+ <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
+ <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
+ <camunda:in source="tenantId" target="tenantId" />
+ <camunda:in source="sdncVersion" target="sdncVersion" />
+ <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
+ <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
+ <camunda:in source="serviceDecomposition" target="serviceDecomposition" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="vnfName" target="vnfName" />
+ </bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_1qm0ygo</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0he2w4b</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:exclusiveGateway id="ExclusiveGateway_084iffr" name="Error on DoCreateVnfModules?">
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_084iffr" name="Error on DoCreateVnfModules?" default="SequenceFlow_04zwhw4">
<bpmn2:incoming>SequenceFlow_0he2w4b</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0pfydeg</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_04zwhw4</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0pfvulx</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
- <bpmn2:sequenceFlow id="SequenceFlow_0pfydeg" name="yes" sourceRef="ExclusiveGateway_084iffr" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_0bxgny0" name="no" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="Task_040hi91" />
<bpmn2:sequenceFlow id="SequenceFlow_1qm0ygo" sourceRef="Task_040hi91" targetRef="Task_15hpowt" />
<bpmn2:sequenceFlow id="SequenceFlow_0he2w4b" sourceRef="Task_15hpowt" targetRef="ExclusiveGateway_084iffr" />
<bpmn2:sequenceFlow id="SequenceFlow_051zp79" name="" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" />
- <bpmn2:sequenceFlow id="SequenceFlow_193t8ts" name="Skip Check if PServers Locked in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1rxiqe1">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression>
+ <bpmn2:callActivity id="Task_1dtbnuy" name="Call APP-C VNF Lock" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionLock" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1bkhs8m</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1qfjlt7</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1fj63ov" name="Call APP-C Health Check" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionHealthCheck" target="action" />
+ <camunda:in source="healthCheckIndex0" target="healthCheckIndex" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0x7iupc</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1cfkcss" name="Call APP-C VNF Graceful Stop" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionStop" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="aicIdentity" target="aicIdentity" />
+ <camunda:out source="rollbackVnfStop" target="rollbackVnfStop" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0hp0w6k</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1hdg951" name="Call APP-C VNF Start" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionStart" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="aicIdentity" target="aicIdentity" />
+ <camunda:out source="rollbackVnfStop" target="rollbackVnfStop" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_04zwhw4</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1lrbndo</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1ca5ctq" name="Call APP-C Health Check" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionHealthCheck" target="action" />
+ <camunda:in source="healthCheckIndex1" target="healthCheckIndex" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_14mblvp</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_11iqe6n" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_12hm1ks</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_16f09ke" name="To inMaintenance Check">
+ <bpmn2:outgoing>SequenceFlow_0jph3mt</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To inMaintenance Check" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1mtokuy" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0etr76r</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1h8oi7w" name="To inMaintenance Set">
+ <bpmn2:outgoing>SequenceFlow_1nodcf9</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To inMaintenance Set" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0pwcatt" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_11b00u2</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_12hm1ks" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="IntermediateThrowEvent_11iqe6n">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0jph3mt" sourceRef="IntermediateThrowEvent_16f09ke" targetRef="Task_1rxiqe1" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0etr76r" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="IntermediateThrowEvent_1mtokuy">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_18u8p2k" name="Skip If VNF Is in Maint in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_0ap39ka">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "checkIfVnfInMaintInAAI"]]></bpmn2:conditionExpression>
+ <bpmn2:sequenceFlow id="SequenceFlow_1nodcf9" sourceRef="IntermediateThrowEvent_1h8oi7w" targetRef="Task_0ap39ka" />
+ <bpmn2:sequenceFlow id="SequenceFlow_11b00u2" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="IntermediateThrowEvent_0pwcatt">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0eueu1t" name="Skip Set VNF In Maint in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1dtbnuy">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "setVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1w8dvxw" name="To VNF Lock">
+ <bpmn2:outgoing>SequenceFlow_1qfjlt7</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Lock" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0mqqagp" name="To Rainy Day Hnadling">
+ <bpmn2:incoming>SequenceFlow_1ck3v34</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0vyfpwj" name="To Health PreCheck">
+ <bpmn2:outgoing>SequenceFlow_0x7iupc</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Health PreCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_12187dz" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_079nix0</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0c7rese" name="To VNF Stop">
+ <bpmn2:outgoing>SequenceFlow_0hp0w6k</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Stop" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_18grbwz" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_032i8t0</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1qfjlt7" sourceRef="IntermediateThrowEvent_1w8dvxw" targetRef="Task_1dtbnuy" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1ck3v34" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="IntermediateThrowEvent_0mqqagp">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0x7iupc" sourceRef="IntermediateThrowEvent_0vyfpwj" targetRef="Task_1fj63ov" />
+ <bpmn2:sequenceFlow id="SequenceFlow_079nix0" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="IntermediateThrowEvent_12187dz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0hp0w6k" sourceRef="IntermediateThrowEvent_0c7rese" targetRef="Task_1cfkcss" />
+ <bpmn2:sequenceFlow id="SequenceFlow_032i8t0" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="IntermediateThrowEvent_18grbwz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0r8kzqa" name="To DoDeleteVnfAndModules">
+ <bpmn2:outgoing>SequenceFlow_0aldwvz</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To DoDeleteVnfAndModules" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_169eg4j" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1f0c5lj</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0tenxiw" name="To DoCreateVnfAndModules">
+ <bpmn2:outgoing>SequenceFlow_111z6w4</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To DoCreateVnfAndModules" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1mocak0" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0pfvulx</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0aldwvz" sourceRef="IntermediateThrowEvent_0r8kzqa" targetRef="Task_0eae8go" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1f0c5lj" name="yes" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="IntermediateThrowEvent_169eg4j">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_111z6w4" sourceRef="IntermediateThrowEvent_0tenxiw" targetRef="Task_040hi91" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0pfvulx" name="yes" sourceRef="ExclusiveGateway_084iffr" targetRef="IntermediateThrowEvent_1mocak0">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:callActivity id="Task_1sove95" name="Call APP-C VNF Unlock" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionUnlock" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_197t3qk</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_18e0jz0</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_15yev7i" name="To VNF Start">
+ <bpmn2:outgoing>SequenceFlow_1lrbndo</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Start" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0osnva5" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_17vwb2h</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0gluaxf" name="To Health PostCheck">
+ <bpmn2:outgoing>SequenceFlow_14mblvp</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Health PostCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1chu5lh" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0ba08lt</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0p7wh09" name="To VNF Unlock">
+ <bpmn2:outgoing>SequenceFlow_18e0jz0</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Unlock" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0uh8zti" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1akvi72</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1dei2gz" name="To inMaintenance Unset">
+ <bpmn2:outgoing>SequenceFlow_0usoiza</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To inMaintenance Unset" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0fobhuu" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1sdol24</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1lrbndo" sourceRef="IntermediateThrowEvent_15yev7i" targetRef="Task_1hdg951" />
+ <bpmn2:sequenceFlow id="SequenceFlow_17vwb2h" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="IntermediateThrowEvent_0osnva5">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_14mblvp" sourceRef="IntermediateThrowEvent_0gluaxf" targetRef="Task_1ca5ctq" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0ba08lt" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="IntermediateThrowEvent_1chu5lh">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_18e0jz0" sourceRef="IntermediateThrowEvent_0p7wh09" targetRef="Task_1sove95" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1akvi72" name="yes" sourceRef="ExclusiveGateway_06mv93h" targetRef="IntermediateThrowEvent_0uh8zti">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0usoiza" sourceRef="IntermediateThrowEvent_1dei2gz" targetRef="Task_1drglpt" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1sdol24" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="IntermediateThrowEvent_0fobhuu">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1lc72r4" name="To Completion Handler Prep">
+ <bpmn2:outgoing>SequenceFlow_19rrss6</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Completion Handler Prep" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_19rrss6" sourceRef="IntermediateThrowEvent_1lc72r4" targetRef="ScriptTask_10" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0a9mn5c" name="To Rainy Day Handling">
+ <bpmn2:outgoing>SequenceFlow_1cezgw4</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1cezgw4" sourceRef="IntermediateThrowEvent_0a9mn5c" targetRef="Task_0q5cdit" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0x4bho9" name="To inMaintenance Check">
+ <bpmn2:incoming>SequenceFlow_1ei7at5</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To inMaintenance Check" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0jervei" name="To inMaintenance Set">
+ <bpmn2:incoming>SequenceFlow_0kg02xg</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To inMaintenance Set" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1vju4tj" name="To VNF Lock">
+ <bpmn2:incoming>SequenceFlow_1i6p53b</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Lock" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1fzppfz" name="To Health PreCheck">
+ <bpmn2:incoming>SequenceFlow_1yy7o24</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Health PreCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1e0qowf" name="To VNF Stop">
+ <bpmn2:incoming>SequenceFlow_0sqmtpl</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Stop" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1v93roi" name="To DoDeleteVnfAndModules">
+ <bpmn2:incoming>SequenceFlow_1shdmrj</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To DoDeleteVnfAndModules" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_04a1dfz" name="To DoCreateVnfAndModules">
+ <bpmn2:incoming>SequenceFlow_1v1i5w4</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To DoCreateVnfAndModules" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_151z73b" name="To VNF Start">
+ <bpmn2:incoming>SequenceFlow_1h8rscx</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Start" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_10bre7q" name="To Health PostCheck">
+ <bpmn2:incoming>SequenceFlow_1xzq6jb</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Health PostCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1fl945a" name="To VNF Unlock">
+ <bpmn2:incoming>SequenceFlow_165q14c</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Unlock" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1lljtoh" name="To inMaintenance Unset">
+ <bpmn2:incoming>SequenceFlow_0wp1a6g</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To inMaintenance Unset" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0sub2cf" name="To Completion Handler Prep">
+ <bpmn2:incoming>SequenceFlow_0vymfh9</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Completion Handler Prep" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1ei7at5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0x4bho9">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0kg02xg" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0jervei">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "checkIfVnfInMaintInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1i6p53b" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1vju4tj">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "setVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1yy7o24" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1fzppfz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Lock"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0sqmtpl" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1e0qowf">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "HealthCheck0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1shdmrj" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1v93roi">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Stop"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1v1i5w4" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_04a1dfz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "doDeleteVnfAndModules"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1h8rscx" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_151z73b">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "doCreateVnfAndModules"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1xzq6jb" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_10bre7q">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Start"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_165q14c" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1fl945a">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "HealthCheck1"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0wp1a6g" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1lljtoh">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Unlock"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0vymfh9" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0sub2cf">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_14yy8v4" sourceRef="Task_0iydw5o" targetRef="Task_0vy2zge" />
+ <bpmn2:scriptTask id="Task_0iydw5o" name="Query A&#38;AI for VNF" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_14yy8v4</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new ReplaceVnfInfra()
+uvfm.queryAAIForVnf(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
</bpmn2:process>
<bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
@@ -465,9 +740,9 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_125" bpmnElement="EndEvent_1">
- <dc:Bounds x="595" y="975" width="36" height="36" />
+ <dc:Bounds x="599" y="1249" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="594" y="1016" width="38" height="12" />
+ <dc:Bounds x="598" y="1290" width="38" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124">
@@ -498,107 +773,110 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_127" bpmnElement="ScriptTask_4">
- <dc:Bounds x="439" y="953" width="100" height="80" />
+ <dc:Bounds x="434" y="1227" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_127" targetElement="_BPMNShape_EndEvent_125">
- <di:waypoint xsi:type="dc:Point" x="539" y="993" />
- <di:waypoint xsi:type="dc:Point" x="595" y="993" />
+ <di:waypoint xsi:type="dc:Point" x="534" y="1267" />
+ <di:waypoint xsi:type="dc:Point" x="560" y="1267" />
+ <di:waypoint xsi:type="dc:Point" x="560" y="1267" />
+ <di:waypoint xsi:type="dc:Point" x="599" y="1267" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="716" y="834" width="0" height="0" />
+ <dc:Bounds x="575" y="1267" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_133" bpmnElement="ScriptTask_10">
- <dc:Bounds x="139" y="953" width="100" height="80" />
+ <dc:Bounds x="134" y="1227" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_27" bpmnElement="CallActivity_1">
- <dc:Bounds x="289" y="953" width="100" height="80" />
+ <dc:Bounds x="284" y="1227" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_133" targetElement="_BPMNShape_CallActivity_27">
- <di:waypoint xsi:type="dc:Point" x="239" y="993" />
- <di:waypoint xsi:type="dc:Point" x="289" y="993" />
+ <di:waypoint xsi:type="dc:Point" x="234" y="1267" />
+ <di:waypoint xsi:type="dc:Point" x="284" y="1267" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="264" y="999" width="0" height="0" />
+ <dc:Bounds x="256" y="1509" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_SubProcess_17" bpmnElement="SubProcess_1" isExpanded="true">
- <dc:Bounds x="85" y="1189" width="565" height="241" />
+ <dc:Bounds x="105" y="1469" width="1047" height="239" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_3">
- <dc:Bounds x="149" y="1283" width="36" height="36" />
+ <dc:Bounds x="169" y="1563" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="128" y="1324" width="77" height="12" />
+ <dc:Bounds x="148" y="1604" width="77" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_136" bpmnElement="ScriptTask_3">
- <dc:Bounds x="229" y="1261" width="100" height="80" />
+ <dc:Bounds x="748" y="1541" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_136">
- <di:waypoint xsi:type="dc:Point" x="185" y="1301" />
- <di:waypoint xsi:type="dc:Point" x="229" y="1301" />
+ <di:waypoint xsi:type="dc:Point" x="205" y="1581" />
+ <di:waypoint xsi:type="dc:Point" x="248" y="1581" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="232" y="1601" width="0" height="0" />
+ <dc:Bounds x="227" y="1566" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_136" targetElement="_BPMNShape_CallActivity_28">
- <di:waypoint xsi:type="dc:Point" x="329" y="1301" />
- <di:waypoint xsi:type="dc:Point" x="397" y="1301" />
+ <di:waypoint xsi:type="dc:Point" x="848" y="1581" />
+ <di:waypoint xsi:type="dc:Point" x="916" y="1581" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="345" y="1301" width="0" height="0" />
+ <dc:Bounds x="864" y="1581" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_126" bpmnElement="EndEvent_2">
- <dc:Bounds x="553" y="1283" width="36" height="36" />
+ <dc:Bounds x="1072" y="1563" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="571" y="1324" width="0" height="0" />
+ <dc:Bounds x="1090" y="1604" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_43" bpmnElement="BoundaryEvent_1">
- <dc:Bounds x="632" y="1283" width="36" height="36" />
+ <dc:Bounds x="1134" y="1562" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="650" y="1324" width="0" height="0" />
+ <dc:Bounds x="1152" y="1603" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_127" bpmnElement="EndEvent_3">
- <dc:Bounds x="726" y="1283" width="36" height="36" />
+ <dc:Bounds x="1205" y="1561" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="744" y="1324" width="0" height="0" />
+ <dc:Bounds x="1223" y="1602" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_BoundaryEvent_43" targetElement="_BPMNShape_EndEvent_127">
- <di:waypoint xsi:type="dc:Point" x="668" y="1301" />
- <di:waypoint xsi:type="dc:Point" x="726" y="1301" />
+ <di:waypoint xsi:type="dc:Point" x="1170" y="1580" />
+ <di:waypoint xsi:type="dc:Point" x="1205" y="1579" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="697" y="1286" width="0" height="0" />
+ <dc:Bounds x="1188" y="1564.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_28" bpmnElement="CallActivity_2">
- <dc:Bounds x="397" y="1261" width="100" height="80" />
+ <dc:Bounds x="916" y="1541" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_CallActivity_27" targetElement="_BPMNShape_ScriptTask_127">
- <di:waypoint xsi:type="dc:Point" x="389" y="993" />
- <di:waypoint xsi:type="dc:Point" x="439" y="993" />
+ <di:waypoint xsi:type="dc:Point" x="384" y="1267" />
+ <di:waypoint xsi:type="dc:Point" x="434" y="1267" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="432" y="961" width="0" height="0" />
+ <dc:Bounds x="406" y="1509" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_CallActivity_28" targetElement="_BPMNShape_EndEvent_126">
- <di:waypoint xsi:type="dc:Point" x="497" y="1301" />
- <di:waypoint xsi:type="dc:Point" x="553" y="1301" />
+ <di:waypoint xsi:type="dc:Point" x="1016" y="1581" />
+ <di:waypoint xsi:type="dc:Point" x="1072" y="1581" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="390" y="1361" width="0" height="0" />
+ <dc:Bounds x="909" y="1641" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_181" bpmnElement="ScriptTask_6">
- <dc:Bounds x="289" y="559" width="100" height="80" />
+ <dc:Bounds x="305" y="695" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_181" targetElement="_BPMNShape_ScriptTask_133">
- <di:waypoint xsi:type="dc:Point" x="1130" y="835" />
- <di:waypoint xsi:type="dc:Point" x="1130" y="900" />
- <di:waypoint xsi:type="dc:Point" x="99" y="900" />
- <di:waypoint xsi:type="dc:Point" x="99" y="993" />
- <di:waypoint xsi:type="dc:Point" x="139" y="993" />
+ <di:waypoint xsi:type="dc:Point" x="1181" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="1275" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="1275" y="1171" />
+ <di:waypoint xsi:type="dc:Point" x="96" y="1171" />
+ <di:waypoint xsi:type="dc:Point" x="96" y="1267" />
+ <di:waypoint xsi:type="dc:Point" x="134" y="1267" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1109" y="862" width="12" height="12" />
+ <dc:Bounds x="1218" y="964.4017408047539" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1w35ov3_di" bpmnElement="SequenceFlow_1w35ov3">
@@ -613,13 +891,9 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_053qjfy_di" bpmnElement="SequenceFlow_053qjfy">
<di:waypoint xsi:type="dc:Point" x="818" y="90" />
- <di:waypoint xsi:type="dc:Point" x="982" y="90" />
- <di:waypoint xsi:type="dc:Point" x="982" y="156" />
- <di:waypoint xsi:type="dc:Point" x="103" y="156" />
- <di:waypoint xsi:type="dc:Point" x="103" y="237" />
- <di:waypoint xsi:type="dc:Point" x="131" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="863" y="90" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="543" y="141" width="0" height="0" />
+ <dc:Bounds x="841" y="75" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_08xzuox_di" bpmnElement="Task_1opcb4j">
@@ -636,102 +910,87 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script>
<dc:Bounds x="425" y="197" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0usxnlk_di" bpmnElement="SequenceFlow_0usxnlk">
- <di:waypoint xsi:type="dc:Point" x="231" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="239" y="237" />
<di:waypoint xsi:type="dc:Point" x="292" y="237" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="262" y="222" width="0" height="0" />
+ <dc:Bounds x="266" y="222" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1bkhs8m_di" bpmnElement="SequenceFlow_1bkhs8m">
- <di:waypoint xsi:type="dc:Point" x="896" y="264" />
- <di:waypoint xsi:type="dc:Point" x="896" y="339" />
- <di:waypoint xsi:type="dc:Point" x="98" y="339" />
- <di:waypoint xsi:type="dc:Point" x="98" y="427" />
- <di:waypoint xsi:type="dc:Point" x="139" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="921" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="988" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="988" y="402" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="402" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="490" />
+ <di:waypoint xsi:type="dc:Point" x="139" y="490" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="905" y="313.95238095238096" width="12" height="12" />
+ <dc:Bounds x="951" y="208.69353020889844" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0gzzeru_di" bpmnElement="SequenceFlow_0gzzeru">
- <di:waypoint xsi:type="dc:Point" x="389" y="599" />
- <di:waypoint xsi:type="dc:Point" x="441" y="599" />
+ <di:waypoint xsi:type="dc:Point" x="405" y="735" />
+ <di:waypoint xsi:type="dc:Point" x="464" y="735" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="415" y="584" width="0" height="0" />
+ <dc:Bounds x="435" y="720" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0wa4zya_di" bpmnElement="Task_0ap39ka">
- <dc:Bounds x="714" y="197" width="100" height="80" />
+ <dc:Bounds x="718" y="197" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_0sgm9bu_di" bpmnElement="Task_1drglpt">
- <dc:Bounds x="960" y="770" width="100" height="80" />
+ <dc:Bounds x="982" y="949" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_16jtt5t_di" bpmnElement="Task_0vy2zge">
- <dc:Bounds x="131" y="197" width="100" height="80" />
+ <dc:Bounds x="139" y="197" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0xx8y1s_di" bpmnElement="SequenceFlow_0xx8y1s">
- <di:waypoint xsi:type="dc:Point" x="239" y="427" />
- <di:waypoint xsi:type="dc:Point" x="292" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="239" y="490" />
+ <di:waypoint xsi:type="dc:Point" x="292" y="490" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="266" y="412" width="0" height="0" />
+ <dc:Bounds x="266" y="475" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0a6pdza_di" bpmnElement="SequenceFlow_0a6pdza">
- <di:waypoint xsi:type="dc:Point" x="525" y="427" />
- <di:waypoint xsi:type="dc:Point" x="601" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="525" y="490" />
+ <di:waypoint xsi:type="dc:Point" x="601" y="490" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="563" y="412" width="0" height="0" />
+ <dc:Bounds x="563" y="475" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_13h26h9_di" bpmnElement="SequenceFlow_13h26h9">
- <di:waypoint xsi:type="dc:Point" x="814" y="427" />
- <di:waypoint xsi:type="dc:Point" x="871" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="818" y="490" />
+ <di:waypoint xsi:type="dc:Point" x="871" y="490" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="843" y="412" width="0" height="0" />
+ <dc:Bounds x="845" y="475" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_02wc9i0_di" bpmnElement="Task_1dtbnuy">
- <dc:Bounds x="139" y="387" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0mz2hdm_di" bpmnElement="Task_1fj63ov">
- <dc:Bounds x="425" y="387" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_1wagy2o_di" bpmnElement="Task_1cfkcss">
- <dc:Bounds x="714" y="387" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1uno5rs_di" bpmnElement="SequenceFlow_1uno5rs">
- <di:waypoint xsi:type="dc:Point" x="239" y="810" />
- <di:waypoint xsi:type="dc:Point" x="292" y="810" />
+ <di:waypoint xsi:type="dc:Point" x="259" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="295" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="295" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="330" y="989" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="266" y="795" width="0" height="0" />
+ <dc:Bounds x="310" y="989" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1c79909_di" bpmnElement="SequenceFlow_1c79909">
- <di:waypoint xsi:type="dc:Point" x="525" y="810" />
- <di:waypoint xsi:type="dc:Point" x="601" y="810" />
+ <di:waypoint xsi:type="dc:Point" x="539" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="601" y="989" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="563" y="795" width="0" height="0" />
+ <dc:Bounds x="570" y="974" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_13zephm_di" bpmnElement="Task_1hdg951">
- <dc:Bounds x="139" y="770" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_11xqphb_di" bpmnElement="Task_1ca5ctq">
- <dc:Bounds x="425" y="770" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1xfbwpi_di" bpmnElement="SequenceFlow_1xfbwpi">
- <di:waypoint xsi:type="dc:Point" x="814" y="810" />
- <di:waypoint xsi:type="dc:Point" x="871" y="810" />
+ <di:waypoint xsi:type="dc:Point" x="818" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="880" y="989" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="843" y="795" width="0" height="0" />
+ <dc:Bounds x="849" y="974" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_0a4ovfa_di" bpmnElement="Task_1sove95">
- <dc:Bounds x="714" y="770" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_0q323wc_di" bpmnElement="ExclusiveGateway_0q323wc" isMarkerVisible="true">
<dc:Bounds x="291.803" y="212" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="274" y="262" width="86" height="24" />
+ <dc:Bounds x="273" y="170" width="87" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_16mo99z_di" bpmnElement="SequenceFlow_16mo99z">
@@ -744,434 +1003,804 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script>
<bpmndi:BPMNShape id="ExclusiveGateway_045e1uz_di" bpmnElement="ExclusiveGateway_045e1uz" isMarkerVisible="true">
<dc:Bounds x="601" y="212" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="589" y="262" width="73" height="36" />
+ <dc:Bounds x="589" y="161" width="73" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0baosqi_di" bpmnElement="SequenceFlow_0baosqi">
<di:waypoint xsi:type="dc:Point" x="651" y="237" />
- <di:waypoint xsi:type="dc:Point" x="714" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="718" y="237" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="673" y="214" width="12" height="12" />
+ <dc:Bounds x="675" y="214" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="CallActivity_1k5n5d1_di" bpmnElement="Task_0q5cdit">
- <dc:Bounds x="1132" y="470" width="100" height="80" />
+ <dc:Bounds x="1173" y="609" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_1qmz2ez_di" bpmnElement="SequenceFlow_1qmz2ez">
- <di:waypoint xsi:type="dc:Point" x="317" y="212" />
- <di:waypoint xsi:type="dc:Point" x="317" y="191" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="191" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="378" y="196" width="18" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_03rkfbo_di" bpmnElement="SequenceFlow_03rkfbo">
- <di:waypoint xsi:type="dc:Point" x="626" y="212" />
- <di:waypoint xsi:type="dc:Point" x="626" y="187" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="187" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="683" y="166" width="18" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0v0u7mf_di" bpmnElement="SequenceFlow_0v0u7mf">
- <di:waypoint xsi:type="dc:Point" x="1232" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1314" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1273" y="649" />
+ <di:waypoint xsi:type="dc:Point" x="1315" y="649" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1273" y="495" width="0" height="0" />
+ <dc:Bounds x="1294" y="634" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Task_0zbogrm_di" bpmnElement="Task_0zbogrm">
- <dc:Bounds x="1438" y="470" width="100" height="80" />
+ <dc:Bounds x="1290" y="768" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0vpd06n_di" bpmnElement="SequenceFlow_0vpd06n">
- <di:waypoint xsi:type="dc:Point" x="1339" y="485" />
- <di:waypoint xsi:type="dc:Point" x="1339" y="373" />
- <di:waypoint xsi:type="dc:Point" x="1438" y="373" />
+ <di:waypoint xsi:type="dc:Point" x="1340" y="624" />
+ <di:waypoint xsi:type="dc:Point" x="1340" y="551" />
+ <di:waypoint xsi:type="dc:Point" x="1340" y="551" />
+ <di:waypoint xsi:type="dc:Point" x="1340" y="502" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1390" y="377" width="26" height="12" />
+ <dc:Bounds x="1351" y="556.9998593756898" width="26" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1qr8msw_di" bpmnElement="SequenceFlow_1qr8msw">
- <di:waypoint xsi:type="dc:Point" x="1364" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1405" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1405" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1438" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1340" y="674" />
+ <di:waypoint xsi:type="dc:Point" x="1340" y="722" />
+ <di:waypoint xsi:type="dc:Point" x="1340" y="722" />
+ <di:waypoint xsi:type="dc:Point" x="1340" y="768" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1380" y="515" width="42" height="12" />
+ <dc:Bounds x="1344" y="718.1219512195122" width="42" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_0ud5uwa_di" bpmnElement="ExclusiveGateway_0ud5uwa" isMarkerVisible="true">
<dc:Bounds x="871.1194471865745" y="211.86673247778873" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="904" y="257.86673247778873" width="73" height="36" />
+ <dc:Bounds x="859" y="164" width="73" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0k3fx7p_di" bpmnElement="SequenceFlow_0k3fx7p">
- <di:waypoint xsi:type="dc:Point" x="814" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="818" y="237" />
<di:waypoint xsi:type="dc:Point" x="871" y="237" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="843" y="222" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1lsm3bn_di" bpmnElement="SequenceFlow_1lsm3bn">
- <di:waypoint xsi:type="dc:Point" x="921" y="237" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="237" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1044" y="214" width="18" height="12" />
+ <dc:Bounds x="845" y="222" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1slvyx2_di" bpmnElement="ExclusiveGateway_1slvyx2" isMarkerVisible="true">
- <dc:Bounds x="292" y="402" width="50" height="50" />
+ <dc:Bounds x="292" y="465" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="283" y="452" width="68" height="24" />
+ <dc:Bounds x="283" y="428" width="68" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0qy68ib_di" bpmnElement="SequenceFlow_0qy68ib">
- <di:waypoint xsi:type="dc:Point" x="342" y="427" />
- <di:waypoint xsi:type="dc:Point" x="425" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="342" y="490" />
+ <di:waypoint xsi:type="dc:Point" x="425" y="490" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="378" y="412" width="12" height="12" />
+ <dc:Bounds x="378" y="475" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1ichg7h_di" bpmnElement="ExclusiveGateway_1ichg7h" isMarkerVisible="true">
- <dc:Bounds x="601" y="402" width="50" height="50" />
+ <dc:Bounds x="601" y="465" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="590" y="452" width="72" height="24" />
+ <dc:Bounds x="590" y="428" width="72" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0q0qan8_di" bpmnElement="SequenceFlow_0q0qan8">
- <di:waypoint xsi:type="dc:Point" x="651" y="427" />
- <di:waypoint xsi:type="dc:Point" x="714" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="651" y="490" />
+ <di:waypoint xsi:type="dc:Point" x="718" y="490" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="677" y="412" width="12" height="12" />
+ <dc:Bounds x="680" y="475" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1etgtgi_di" bpmnElement="ExclusiveGateway_1etgtgi" isMarkerVisible="true">
- <dc:Bounds x="870.9141164856861" y="402" width="50" height="50" />
+ <dc:Bounds x="871" y="465" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="909" y="445" width="68" height="24" />
+ <dc:Bounds x="862" y="430" width="68" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1c0vdki_di" bpmnElement="SequenceFlow_1c0vdki">
- <di:waypoint xsi:type="dc:Point" x="896" y="452" />
- <di:waypoint xsi:type="dc:Point" x="896" y="507" />
- <di:waypoint xsi:type="dc:Point" x="90" y="507" />
- <di:waypoint xsi:type="dc:Point" x="90" y="599" />
- <di:waypoint xsi:type="dc:Point" x="131" y="599" />
+ <di:waypoint xsi:type="dc:Point" x="921" y="490" />
+ <di:waypoint xsi:type="dc:Point" x="995" y="490" />
+ <di:waypoint xsi:type="dc:Point" x="995" y="643" />
+ <di:waypoint xsi:type="dc:Point" x="96" y="643" />
+ <di:waypoint xsi:type="dc:Point" x="96" y="735" />
+ <di:waypoint xsi:type="dc:Point" x="139" y="735" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="906" y="484" width="12" height="12" />
+ <dc:Bounds x="949" y="466" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0bduwog_di" bpmnElement="SequenceFlow_0bduwog">
- <di:waypoint xsi:type="dc:Point" x="317" y="402" />
- <di:waypoint xsi:type="dc:Point" x="317" y="354" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="354" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_0ulrq9g_di" bpmnElement="ExclusiveGateway_0ulrq9g" isMarkerVisible="true">
+ <dc:Bounds x="464" y="710" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="375" y="356" width="18" height="12" />
+ <dc:Bounds x="445" y="660" width="88" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_04zwhw4_di" bpmnElement="SequenceFlow_04zwhw4">
+ <di:waypoint xsi:type="dc:Point" x="921" y="735" />
+ <di:waypoint xsi:type="dc:Point" x="1004" y="735" />
+ <di:waypoint xsi:type="dc:Point" x="1004" y="900" />
+ <di:waypoint xsi:type="dc:Point" x="95" y="900" />
+ <di:waypoint xsi:type="dc:Point" x="95" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="159" y="989" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="953" y="712" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0uwar5b_di" bpmnElement="SequenceFlow_0uwar5b">
- <di:waypoint xsi:type="dc:Point" x="626" y="402" />
- <di:waypoint xsi:type="dc:Point" x="626" y="359" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="359" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true">
+ <dc:Bounds x="330" y="964" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="321" y="923" width="68" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m">
+ <di:waypoint xsi:type="dc:Point" x="380" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="410" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="410" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="439" y="989" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="676" y="367" width="18" height="12" />
+ <dc:Bounds x="402" y="966.0361567790148" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0i7hfj2_di" bpmnElement="SequenceFlow_0i7hfj2">
- <di:waypoint xsi:type="dc:Point" x="921" y="427" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="427" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true">
+ <dc:Bounds x="601" y="964" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="590" y="927" width="72" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_197t3qk_di" bpmnElement="SequenceFlow_197t3qk">
+ <di:waypoint xsi:type="dc:Point" x="651" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="718" y="989" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1044" y="412" width="18" height="12" />
+ <dc:Bounds x="677" y="963.1314236383614" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_0ulrq9g_di" bpmnElement="ExclusiveGateway_0ulrq9g" isMarkerVisible="true">
- <dc:Bounds x="441" y="574" width="50" height="50" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_06mv93h_di" bpmnElement="ExclusiveGateway_06mv93h" isMarkerVisible="true">
+ <dc:Bounds x="880" y="964" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="445" y="631" width="88" height="36" />
+ <dc:Bounds x="879" y="928" width="68" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_04zwhw4_di" bpmnElement="SequenceFlow_04zwhw4">
- <di:waypoint xsi:type="dc:Point" x="896" y="625" />
- <di:waypoint xsi:type="dc:Point" x="896" y="683" />
- <di:waypoint xsi:type="dc:Point" x="91" y="683" />
- <di:waypoint xsi:type="dc:Point" x="91" y="810" />
- <di:waypoint xsi:type="dc:Point" x="139" y="810" />
+ <bpmndi:BPMNEdge id="SequenceFlow_19lg15d_di" bpmnElement="SequenceFlow_19lg15d">
+ <di:waypoint xsi:type="dc:Point" x="930" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="953" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="953" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="989" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="94" y="740.2320415029827" width="12" height="12" />
+ <dc:Bounds x="948" y="964.6410256410256" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_10ek8l4_di" bpmnElement="SequenceFlow_10ek8l4">
- <di:waypoint xsi:type="dc:Point" x="466" y="574" />
- <di:waypoint xsi:type="dc:Point" x="466" y="530" />
- <di:waypoint xsi:type="dc:Point" x="1132" y="530" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true">
+ <dc:Bounds x="1131" y="964" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1039" y="503.5367415795749" width="18" height="12" />
+ <dc:Bounds x="1119" y="916" width="73" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6">
+ <di:waypoint xsi:type="dc:Point" x="1082" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="1131" y="989" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1107" y="974" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true">
- <dc:Bounds x="292.1076011846002" y="785" width="50" height="50" />
+ <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h">
+ <dc:Bounds x="1290" y="422" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true">
+ <dc:Bounds x="1315" y="624" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="284" y="835" width="68" height="24" />
+ <dc:Bounds x="1296" y="596" width="88" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m">
- <di:waypoint xsi:type="dc:Point" x="342" y="810" />
- <di:waypoint xsi:type="dc:Point" x="425" y="810" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true">
+ <dc:Bounds x="1468" y="624" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1424" y="593" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3">
+ <di:waypoint xsi:type="dc:Point" x="1365" y="649" />
+ <di:waypoint xsi:type="dc:Point" x="1417" y="649" />
+ <di:waypoint xsi:type="dc:Point" x="1417" y="649" />
+ <di:waypoint xsi:type="dc:Point" x="1468" y="649" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="378" y="795" width="12" height="12" />
+ <dc:Bounds x="1388" y="626" width="21" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true">
- <dc:Bounds x="601.1076011846002" y="785" width="50" height="50" />
+ <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v">
+ <di:waypoint xsi:type="dc:Point" x="239" y="735" />
+ <di:waypoint xsi:type="dc:Point" x="305" y="735" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="591" y="835" width="72" height="24" />
+ <dc:Bounds x="272" y="720" width="0" height="0" />
</bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0rqgdju_di" bpmnElement="Task_0eae8go">
+ <dc:Bounds x="139" y="695" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_197t3qk_di" bpmnElement="SequenceFlow_197t3qk">
- <di:waypoint xsi:type="dc:Point" x="651.1076011846002" y="810" />
- <di:waypoint xsi:type="dc:Point" x="714" y="810" />
+ <bpmndi:BPMNShape id="ScriptTask_13zzxzd_di" bpmnElement="Task_040hi91">
+ <dc:Bounds x="567" y="695" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1qpajth_di" bpmnElement="Task_15hpowt">
+ <dc:Bounds x="726" y="695" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_084iffr_di" bpmnElement="ExclusiveGateway_084iffr" isMarkerVisible="true">
+ <dc:Bounds x="871" y="710" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="677" y="795" width="12" height="12" />
+ <dc:Bounds x="854" y="659" width="84" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0bxgny0_di" bpmnElement="SequenceFlow_0bxgny0">
+ <di:waypoint xsi:type="dc:Point" x="514" y="735" />
+ <di:waypoint xsi:type="dc:Point" x="567" y="735" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="535" y="710" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_06mv93h_di" bpmnElement="ExclusiveGateway_06mv93h" isMarkerVisible="true">
- <dc:Bounds x="871" y="785" width="50" height="50" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1qm0ygo_di" bpmnElement="SequenceFlow_1qm0ygo">
+ <di:waypoint xsi:type="dc:Point" x="667" y="735" />
+ <di:waypoint xsi:type="dc:Point" x="726" y="735" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="862" y="835" width="68" height="24" />
+ <dc:Bounds x="697" y="720" width="0" height="0" />
</bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0he2w4b_di" bpmnElement="SequenceFlow_0he2w4b">
+ <di:waypoint xsi:type="dc:Point" x="826" y="735" />
+ <di:waypoint xsi:type="dc:Point" x="871" y="735" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="849" y="720" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_051zp79_di" bpmnElement="SequenceFlow_051zp79">
+ <di:waypoint xsi:type="dc:Point" x="1493" y="624" />
+ <di:waypoint xsi:type="dc:Point" x="1493" y="462" />
+ <di:waypoint xsi:type="dc:Point" x="1390" y="462" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1508" y="543" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1r1hua0_di" bpmnElement="Task_1dtbnuy">
+ <dc:Bounds x="139" y="450" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_19lg15d_di" bpmnElement="SequenceFlow_19lg15d">
- <di:waypoint xsi:type="dc:Point" x="921" y="810" />
- <di:waypoint xsi:type="dc:Point" x="960" y="810" />
+ <bpmndi:BPMNShape id="CallActivity_0ce9xg6_di" bpmnElement="Task_1fj63ov">
+ <dc:Bounds x="425" y="450" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0iib61o_di" bpmnElement="Task_1cfkcss">
+ <dc:Bounds x="718" y="450" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1xyvwmi_di" bpmnElement="Task_1hdg951">
+ <dc:Bounds x="159" y="949" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0sghju2_di" bpmnElement="Task_1ca5ctq">
+ <dc:Bounds x="439" y="949" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1qrk3gs_di" bpmnElement="IntermediateThrowEvent_11iqe6n">
+ <dc:Bounds x="299" y="325" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="282" y="361" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_144j68y_di" bpmnElement="IntermediateThrowEvent_16f09ke">
+ <dc:Bounds x="457" y="325" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="432" y="361" width="85" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1rpfbr6_di" bpmnElement="IntermediateThrowEvent_1mtokuy">
+ <dc:Bounds x="608" y="325" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="591" y="361" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1k1fpg2_di" bpmnElement="IntermediateThrowEvent_1h8oi7w">
+ <dc:Bounds x="750" y="325" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="935" y="795" width="12" height="12" />
+ <dc:Bounds x="724" y="361" width="88" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_04ykz47_di" bpmnElement="IntermediateThrowEvent_0pwcatt">
+ <dc:Bounds x="878" y="325" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="861" y="361" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_12hm1ks_di" bpmnElement="SequenceFlow_12hm1ks">
+ <di:waypoint xsi:type="dc:Point" x="317" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="317" y="325" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="323" y="283.5" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true">
- <dc:Bounds x="1105.1076011846003" y="785" width="50" height="50" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0jph3mt_di" bpmnElement="SequenceFlow_0jph3mt">
+ <di:waypoint xsi:type="dc:Point" x="475" y="325" />
+ <di:waypoint xsi:type="dc:Point" x="475" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="490" y="291" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0etr76r_di" bpmnElement="SequenceFlow_0etr76r">
+ <di:waypoint xsi:type="dc:Point" x="626" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="626" y="325" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1145" y="833" width="73" height="36" />
+ <dc:Bounds x="632" y="283.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1nodcf9_di" bpmnElement="SequenceFlow_1nodcf9">
+ <di:waypoint xsi:type="dc:Point" x="768" y="325" />
+ <di:waypoint xsi:type="dc:Point" x="768" y="301" />
+ <di:waypoint xsi:type="dc:Point" x="768" y="301" />
+ <di:waypoint xsi:type="dc:Point" x="768" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="783" y="301" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_11b00u2_di" bpmnElement="SequenceFlow_11b00u2">
+ <di:waypoint xsi:type="dc:Point" x="896" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="896" y="325" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="902" y="283.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0u1c12l_di" bpmnElement="IntermediateThrowEvent_1w8dvxw">
+ <dc:Bounds x="171" y="571" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="158" y="606.255" width="62" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6">
- <di:waypoint xsi:type="dc:Point" x="1060" y="810" />
- <di:waypoint xsi:type="dc:Point" x="1105" y="810" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1w4kuh4_di" bpmnElement="IntermediateThrowEvent_0mqqagp">
+ <dc:Bounds x="299" y="571" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1083" y="785" width="0" height="0" />
+ <dc:Bounds x="282" y="607" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_15qyo7b_di" bpmnElement="IntermediateThrowEvent_0vyfpwj">
+ <dc:Bounds x="457" y="571" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="450" y="607" width="50" height="26" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0gui5k9_di" bpmnElement="IntermediateThrowEvent_12187dz">
+ <dc:Bounds x="608" y="571" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="591" y="607" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1aj9q5v_di" bpmnElement="IntermediateThrowEvent_0c7rese">
+ <dc:Bounds x="750" y="571" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="737" y="607" width="62" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0glqip0_di" bpmnElement="IntermediateThrowEvent_18grbwz">
+ <dc:Bounds x="878" y="571" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="861" y="607" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1qfjlt7_di" bpmnElement="SequenceFlow_1qfjlt7">
+ <di:waypoint xsi:type="dc:Point" x="189" y="571" />
+ <di:waypoint xsi:type="dc:Point" x="189" y="551" />
+ <di:waypoint xsi:type="dc:Point" x="189" y="551" />
+ <di:waypoint xsi:type="dc:Point" x="189" y="530" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="204" y="551" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_13yjc85_di" bpmnElement="SequenceFlow_13yjc85">
- <di:waypoint xsi:type="dc:Point" x="1155" y="810" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="810" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1ck3v34_di" bpmnElement="SequenceFlow_1ck3v34">
+ <di:waypoint xsi:type="dc:Point" x="317" y="515" />
+ <di:waypoint xsi:type="dc:Point" x="317" y="571" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1160" y="795" width="18" height="12" />
+ <dc:Bounds x="323" y="533" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0waedj5_di" bpmnElement="SequenceFlow_0waedj5">
- <di:waypoint xsi:type="dc:Point" x="317" y="785" />
- <di:waypoint xsi:type="dc:Point" x="317" y="711" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="711" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0x7iupc_di" bpmnElement="SequenceFlow_0x7iupc">
+ <di:waypoint xsi:type="dc:Point" x="475" y="571" />
+ <di:waypoint xsi:type="dc:Point" x="475" y="551" />
+ <di:waypoint xsi:type="dc:Point" x="475" y="551" />
+ <di:waypoint xsi:type="dc:Point" x="475" y="530" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="370" y="716" width="18" height="12" />
+ <dc:Bounds x="490" y="551" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1hg9c2l_di" bpmnElement="SequenceFlow_1hg9c2l">
- <di:waypoint xsi:type="dc:Point" x="626" y="785" />
- <di:waypoint xsi:type="dc:Point" x="626" y="714" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="714" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNEdge id="SequenceFlow_079nix0_di" bpmnElement="SequenceFlow_079nix0">
+ <di:waypoint xsi:type="dc:Point" x="626" y="515" />
+ <di:waypoint xsi:type="dc:Point" x="626" y="571" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="669" y="717" width="18" height="12" />
+ <dc:Bounds x="632" y="533" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0gej71y_di" bpmnElement="SequenceFlow_0gej71y">
- <di:waypoint xsi:type="dc:Point" x="896" y="785" />
- <di:waypoint xsi:type="dc:Point" x="896" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0hp0w6k_di" bpmnElement="SequenceFlow_0hp0w6k">
+ <di:waypoint xsi:type="dc:Point" x="768" y="571" />
+ <di:waypoint xsi:type="dc:Point" x="768" y="551" />
+ <di:waypoint xsi:type="dc:Point" x="768" y="551" />
+ <di:waypoint xsi:type="dc:Point" x="768" y="530" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="905" y="738" width="18" height="12" />
+ <dc:Bounds x="783" y="551" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h">
- <dc:Bounds x="1438" y="333" width="100" height="80" />
+ <bpmndi:BPMNEdge id="SequenceFlow_032i8t0_di" bpmnElement="SequenceFlow_032i8t0">
+ <di:waypoint xsi:type="dc:Point" x="896" y="515" />
+ <di:waypoint xsi:type="dc:Point" x="896" y="571" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="902" y="533" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_11xo4q3_di" bpmnElement="IntermediateThrowEvent_0r8kzqa">
+ <dc:Bounds x="171" y="818" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="144" y="853.255" width="90" height="38" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true">
- <dc:Bounds x="1314" y="485" width="50" height="50" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0u4mlb8_di" bpmnElement="IntermediateThrowEvent_169eg4j">
+ <dc:Bounds x="471" y="818" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1295" y="534.2201382033564" width="87" height="12" />
+ <dc:Bounds x="454" y="854" width="69" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true">
- <dc:Bounds x="1463" y="671" width="50" height="50" />
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1pdmno6_di" bpmnElement="IntermediateThrowEvent_0tenxiw">
+ <dc:Bounds x="599" y="818" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1522" y="684" width="69" height="24" />
+ <dc:Bounds x="576" y="854" width="81" height="38" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3">
- <di:waypoint xsi:type="dc:Point" x="1339" y="535" />
- <di:waypoint xsi:type="dc:Point" x="1339" y="648" />
- <di:waypoint xsi:type="dc:Point" x="1490" y="648" />
- <di:waypoint xsi:type="dc:Point" x="1489" y="672" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_07n59qs_di" bpmnElement="IntermediateThrowEvent_1mocak0">
+ <dc:Bounds x="878" y="818" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="861" y="854" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0aldwvz_di" bpmnElement="SequenceFlow_0aldwvz">
+ <di:waypoint xsi:type="dc:Point" x="189" y="818" />
+ <di:waypoint xsi:type="dc:Point" x="189" y="775" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1404" y="633" width="21" height="12" />
+ <dc:Bounds x="204" y="796.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1sla5dr_di" bpmnElement="SequenceFlow_1sla5dr">
- <di:waypoint xsi:type="dc:Point" x="1463" y="696" />
- <di:waypoint xsi:type="dc:Point" x="440" y="696" />
- <di:waypoint xsi:type="dc:Point" x="440" y="467" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1f0c5lj_di" bpmnElement="SequenceFlow_1f0c5lj">
+ <di:waypoint xsi:type="dc:Point" x="489" y="760" />
+ <di:waypoint xsi:type="dc:Point" x="489" y="818" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1227" y="699.0112438804176" width="85" height="24" />
+ <dc:Bounds x="495" y="779.6376811594203" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0iektwg_di" bpmnElement="SequenceFlow_0iektwg">
- <di:waypoint xsi:type="dc:Point" x="1467" y="692" />
- <di:waypoint xsi:type="dc:Point" x="1323" y="667" />
- <di:waypoint xsi:type="dc:Point" x="764" y="667" />
- <di:waypoint xsi:type="dc:Point" x="764" y="467" />
+ <bpmndi:BPMNEdge id="SequenceFlow_111z6w4_di" bpmnElement="SequenceFlow_111z6w4">
+ <di:waypoint xsi:type="dc:Point" x="617" y="818" />
+ <di:waypoint xsi:type="dc:Point" x="617" y="775" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1214" y="631" width="87" height="24" />
+ <dc:Bounds x="632" y="796.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1ttepat_di" bpmnElement="SequenceFlow_1ttepat">
- <di:waypoint xsi:type="dc:Point" x="1468" y="701" />
- <di:waypoint xsi:type="dc:Point" x="1346" y="735" />
- <di:waypoint xsi:type="dc:Point" x="189" y="735" />
- <di:waypoint xsi:type="dc:Point" x="189" y="639" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0pfvulx_di" bpmnElement="SequenceFlow_0pfvulx">
+ <di:waypoint xsi:type="dc:Point" x="896" y="760" />
+ <di:waypoint xsi:type="dc:Point" x="896" y="818" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1230" y="743" width="85" height="24" />
+ <dc:Bounds x="902" y="779.6376811594203" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1hx1ur7_di" bpmnElement="SequenceFlow_1hx1ur7">
- <di:waypoint xsi:type="dc:Point" x="1488" y="721" />
- <di:waypoint xsi:type="dc:Point" x="1488" y="789" />
- <di:waypoint xsi:type="dc:Point" x="1322" y="883" />
- <di:waypoint xsi:type="dc:Point" x="475" y="883" />
- <di:waypoint xsi:type="dc:Point" x="475" y="850" />
+ <bpmndi:BPMNShape id="CallActivity_0xi77mq_di" bpmnElement="Task_1sove95">
+ <dc:Bounds x="718" y="949" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0t5q3v6_di" bpmnElement="IntermediateThrowEvent_15yev7i">
+ <dc:Bounds x="191" y="1089" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="178" y="1124.255" width="61" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0yid2k4_di" bpmnElement="IntermediateThrowEvent_0osnva5">
+ <dc:Bounds x="337" y="1088" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="320" y="1124" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0rlfyt9_di" bpmnElement="IntermediateThrowEvent_0gluaxf">
+ <dc:Bounds x="471" y="1089" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="462" y="1125" width="54" height="26" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1sk17yj_di" bpmnElement="IntermediateThrowEvent_1chu5lh">
+ <dc:Bounds x="608" y="1088" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="591" y="1124" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0nmz72e_di" bpmnElement="IntermediateThrowEvent_0p7wh09">
+ <dc:Bounds x="750" y="1088" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="731" y="1124" width="74" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1okzqsq_di" bpmnElement="IntermediateThrowEvent_0uh8zti">
+ <dc:Bounds x="887" y="1088" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="870" y="1124" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1944cw1_di" bpmnElement="IntermediateThrowEvent_1dei2gz">
+ <dc:Bounds x="1014" y="1088" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="989" y="1124" width="85" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0ynnoam_di" bpmnElement="IntermediateThrowEvent_0fobhuu">
+ <dc:Bounds x="1138" y="1088" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1316" y="811" width="85" height="24" />
+ <dc:Bounds x="1121" y="1124" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1lrbndo_di" bpmnElement="SequenceFlow_1lrbndo">
+ <di:waypoint xsi:type="dc:Point" x="209" y="1089" />
+ <di:waypoint xsi:type="dc:Point" x="209" y="1029" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="224" y="1049" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0ukzynj_di" bpmnElement="SequenceFlow_0ukzynj">
- <di:waypoint xsi:type="dc:Point" x="1488" y="721" />
- <di:waypoint xsi:type="dc:Point" x="1488" y="818" />
- <di:waypoint xsi:type="dc:Point" x="1346" y="918" />
- <di:waypoint xsi:type="dc:Point" x="764" y="918" />
- <di:waypoint xsi:type="dc:Point" x="764" y="850" />
+ <bpmndi:BPMNEdge id="SequenceFlow_17vwb2h_di" bpmnElement="SequenceFlow_17vwb2h">
+ <di:waypoint xsi:type="dc:Point" x="355" y="1014" />
+ <di:waypoint xsi:type="dc:Point" x="355" y="1088" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1374" y="853.0052048946286" width="85" height="24" />
+ <dc:Bounds x="361" y="1041" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1lsfn19_di" bpmnElement="SequenceFlow_1lsfn19">
- <di:waypoint xsi:type="dc:Point" x="1488" y="721" />
- <di:waypoint xsi:type="dc:Point" x="1488" y="858" />
- <di:waypoint xsi:type="dc:Point" x="1368" y="952" />
- <di:waypoint xsi:type="dc:Point" x="1010" y="952" />
- <di:waypoint xsi:type="dc:Point" x="1010" y="850" />
+ <bpmndi:BPMNEdge id="SequenceFlow_14mblvp_di" bpmnElement="SequenceFlow_14mblvp">
+ <di:waypoint xsi:type="dc:Point" x="489" y="1089" />
+ <di:waypoint xsi:type="dc:Point" x="489" y="1059" />
+ <di:waypoint xsi:type="dc:Point" x="489" y="1059" />
+ <di:waypoint xsi:type="dc:Point" x="489" y="1029" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1402" y="937.143889853408" width="85" height="24" />
+ <dc:Bounds x="504" y="1059" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v">
- <di:waypoint xsi:type="dc:Point" x="231" y="599" />
- <di:waypoint xsi:type="dc:Point" x="289" y="599" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0ba08lt_di" bpmnElement="SequenceFlow_0ba08lt">
+ <di:waypoint xsi:type="dc:Point" x="626" y="1014" />
+ <di:waypoint xsi:type="dc:Point" x="626" y="1088" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="260" y="584" width="0" height="0" />
+ <dc:Bounds x="632" y="1041" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_0rqgdju_di" bpmnElement="Task_0eae8go">
- <dc:Bounds x="131" y="559" width="100" height="80" />
+ <bpmndi:BPMNEdge id="SequenceFlow_18e0jz0_di" bpmnElement="SequenceFlow_18e0jz0">
+ <di:waypoint xsi:type="dc:Point" x="768" y="1088" />
+ <di:waypoint xsi:type="dc:Point" x="768" y="1029" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="783" y="1048.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1akvi72_di" bpmnElement="SequenceFlow_1akvi72">
+ <di:waypoint xsi:type="dc:Point" x="905" y="1014" />
+ <di:waypoint xsi:type="dc:Point" x="905" y="1088" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="911" y="1041" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0usoiza_di" bpmnElement="SequenceFlow_0usoiza">
+ <di:waypoint xsi:type="dc:Point" x="1032" y="1088" />
+ <di:waypoint xsi:type="dc:Point" x="1032" y="1029" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1047" y="1048.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1sdol24_di" bpmnElement="SequenceFlow_1sdol24">
+ <di:waypoint xsi:type="dc:Point" x="1156" y="1014" />
+ <di:waypoint xsi:type="dc:Point" x="1156" y="1088" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1162" y="1041" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0pacmdm_di" bpmnElement="IntermediateThrowEvent_1lc72r4">
+ <dc:Bounds x="166" y="1366" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="147" y="1401.255" width="73" height="26" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_13zzxzd_di" bpmnElement="Task_040hi91">
- <dc:Bounds x="513" y="559" width="100" height="80" />
+ <bpmndi:BPMNEdge id="SequenceFlow_19rrss6_di" bpmnElement="SequenceFlow_19rrss6">
+ <di:waypoint xsi:type="dc:Point" x="184" y="1366" />
+ <di:waypoint xsi:type="dc:Point" x="184" y="1307" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="199" y="1326.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0123x9c_di" bpmnElement="IntermediateThrowEvent_0a9mn5c">
+ <dc:Bounds x="1070" y="631" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1053" y="667" width="69" height="24" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="CallActivity_1qpajth_di" bpmnElement="Task_15hpowt">
- <dc:Bounds x="645" y="559" width="100" height="80" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1cezgw4_di" bpmnElement="SequenceFlow_1cezgw4">
+ <di:waypoint xsi:type="dc:Point" x="1106" y="649" />
+ <di:waypoint xsi:type="dc:Point" x="1173" y="649" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1140" y="624" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0ahp5f8_di" bpmnElement="IntermediateThrowEvent_0x4bho9">
+ <dc:Bounds x="1524" y="417" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1499" y="380.30139720558884" width="85" height="24" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_084iffr_di" bpmnElement="ExclusiveGateway_084iffr" isMarkerVisible="true">
- <dc:Bounds x="871" y="574" width="50" height="50" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0yx79m8_di" bpmnElement="IntermediateThrowEvent_0jervei">
+ <dc:Bounds x="1562" y="445" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1565" y="413.30139720558884" width="88" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_06h1zmt_di" bpmnElement="IntermediateThrowEvent_1vju4tj">
+ <dc:Bounds x="1601" y="473" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1636" y="455.30139720558884" width="62" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0n245lm_di" bpmnElement="IntermediateThrowEvent_1fzppfz">
+ <dc:Bounds x="1636" y="514" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1672" y="494.30139720558884" width="50" height="26" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0hnmgom_di" bpmnElement="IntermediateThrowEvent_1e0qowf">
+ <dc:Bounds x="1662" y="562" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1706" y="561.3013972055888" width="61" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0g27srb_di" bpmnElement="IntermediateThrowEvent_1v93roi">
+ <dc:Bounds x="1679" y="614" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1724" y="604.3013972055888" width="90" height="38" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_14fm060_di" bpmnElement="IntermediateThrowEvent_04a1dfz">
+ <dc:Bounds x="1679" y="670" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1732" y="660.3013972055888" width="81" height="38" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_183osb4_di" bpmnElement="IntermediateThrowEvent_151z73b">
+ <dc:Bounds x="1663" y="717" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1709" y="728" width="61" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0d49blq_di" bpmnElement="IntermediateThrowEvent_10bre7q">
+ <dc:Bounds x="1636" y="756" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="924" y="599" width="84" height="36" />
+ <dc:Bounds x="1682" y="774.3013972055888" width="54" height="26" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_0pfydeg_di" bpmnElement="SequenceFlow_0pfydeg">
- <di:waypoint xsi:type="dc:Point" x="921" y="599" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="599" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_13jsvce_di" bpmnElement="IntermediateThrowEvent_1fl945a">
+ <dc:Bounds x="1601" y="791" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1043" y="584" width="18" height="12" />
+ <dc:Bounds x="1643" y="818.3013972055888" width="73" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_04zlwpn_di" bpmnElement="IntermediateThrowEvent_1lljtoh">
+ <dc:Bounds x="1562" y="819" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1603" y="851.3013972055888" width="86" height="26" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1ge1m93_di" bpmnElement="IntermediateThrowEvent_0sub2cf">
+ <dc:Bounds x="1524" y="846" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1505" y="881.3013972055888" width="73" height="26" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ei7at5_di" bpmnElement="SequenceFlow_1ei7at5">
+ <di:waypoint xsi:type="dc:Point" x="1498" y="629" />
+ <di:waypoint xsi:type="dc:Point" x="1538" y="452" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1518" y="525.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0bxgny0_di" bpmnElement="SequenceFlow_0bxgny0">
- <di:waypoint xsi:type="dc:Point" x="491" y="599" />
- <di:waypoint xsi:type="dc:Point" x="513" y="599" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0kg02xg_di" bpmnElement="SequenceFlow_0kg02xg">
+ <di:waypoint xsi:type="dc:Point" x="1501" y="632" />
+ <di:waypoint xsi:type="dc:Point" x="1572" y="479" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="496" y="574" width="12" height="12" />
+ <dc:Bounds x="1537" y="540.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1qm0ygo_di" bpmnElement="SequenceFlow_1qm0ygo">
- <di:waypoint xsi:type="dc:Point" x="613" y="599" />
- <di:waypoint xsi:type="dc:Point" x="645" y="599" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1i6p53b_di" bpmnElement="SequenceFlow_1i6p53b">
+ <di:waypoint xsi:type="dc:Point" x="1504" y="635" />
+ <di:waypoint xsi:type="dc:Point" x="1608" y="504" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="629" y="574" width="0" height="0" />
+ <dc:Bounds x="1556" y="554.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0he2w4b_di" bpmnElement="SequenceFlow_0he2w4b">
- <di:waypoint xsi:type="dc:Point" x="745" y="599" />
- <di:waypoint xsi:type="dc:Point" x="871" y="599" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1yy7o24_di" bpmnElement="SequenceFlow_1yy7o24">
+ <di:waypoint xsi:type="dc:Point" x="1508" y="639" />
+ <di:waypoint xsi:type="dc:Point" x="1640" y="542" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="808" y="574" width="0" height="0" />
+ <dc:Bounds x="1574" y="575.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_051zp79_di" bpmnElement="SequenceFlow_051zp79">
- <di:waypoint xsi:type="dc:Point" x="1499" y="682" />
- <di:waypoint xsi:type="dc:Point" x="1627" y="512" />
- <di:waypoint xsi:type="dc:Point" x="1627" y="373" />
- <di:waypoint xsi:type="dc:Point" x="1538" y="373" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0sqmtpl_di" bpmnElement="SequenceFlow_0sqmtpl">
+ <di:waypoint xsi:type="dc:Point" x="1511" y="642" />
+ <di:waypoint xsi:type="dc:Point" x="1663" y="586" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1728" y="551.5" width="0" height="0" />
+ <dc:Bounds x="1587" y="599" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_193t8ts_di" bpmnElement="SequenceFlow_193t8ts">
- <di:waypoint xsi:type="dc:Point" x="1505" y="688" />
- <di:waypoint xsi:type="dc:Point" x="1677" y="614" />
- <di:waypoint xsi:type="dc:Point" x="1677" y="310" />
- <di:waypoint xsi:type="dc:Point" x="475" y="310" />
- <di:waypoint xsi:type="dc:Point" x="475" y="277" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1shdmrj_di" bpmnElement="SequenceFlow_1shdmrj">
+ <di:waypoint xsi:type="dc:Point" x="1518" y="649" />
+ <di:waypoint xsi:type="dc:Point" x="1679" y="634" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1599" y="626.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1v1i5w4_di" bpmnElement="SequenceFlow_1v1i5w4">
+ <di:waypoint xsi:type="dc:Point" x="1514" y="653" />
+ <di:waypoint xsi:type="dc:Point" x="1680" y="685" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1597" y="654" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1h8rscx_di" bpmnElement="SequenceFlow_1h8rscx">
+ <di:waypoint xsi:type="dc:Point" x="1510" y="657" />
+ <di:waypoint xsi:type="dc:Point" x="1665" y="727" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1588" y="677" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1xzq6jb_di" bpmnElement="SequenceFlow_1xzq6jb">
+ <di:waypoint xsi:type="dc:Point" x="1507" y="660" />
+ <di:waypoint xsi:type="dc:Point" x="1640" y="764" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1575" y="581" width="88" height="36" />
+ <dc:Bounds x="1574" y="697" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_18u8p2k_di" bpmnElement="SequenceFlow_18u8p2k">
- <di:waypoint xsi:type="dc:Point" x="1508" y="691" />
- <di:waypoint xsi:type="dc:Point" x="1776" y="618" />
- <di:waypoint xsi:type="dc:Point" x="1776" y="311" />
- <di:waypoint xsi:type="dc:Point" x="764" y="311" />
- <di:waypoint xsi:type="dc:Point" x="764" y="277" />
+ <bpmndi:BPMNEdge id="SequenceFlow_165q14c_di" bpmnElement="SequenceFlow_165q14c">
+ <di:waypoint xsi:type="dc:Point" x="1504" y="663" />
+ <di:waypoint xsi:type="dc:Point" x="1608" y="795" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1689" y="577.5" width="81" height="24" />
+ <dc:Bounds x="1556" y="714" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0eueu1t_di" bpmnElement="SequenceFlow_0eueu1t">
- <di:waypoint xsi:type="dc:Point" x="1510" y="693" />
- <di:waypoint xsi:type="dc:Point" x="1865" y="635" />
- <di:waypoint xsi:type="dc:Point" x="1865" y="309" />
- <di:waypoint xsi:type="dc:Point" x="189" y="309" />
- <di:waypoint xsi:type="dc:Point" x="189" y="387" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0wp1a6g_di" bpmnElement="SequenceFlow_0wp1a6g">
+ <di:waypoint xsi:type="dc:Point" x="1501" y="666" />
+ <di:waypoint xsi:type="dc:Point" x="1573" y="821" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1784" y="579" width="80" height="24" />
+ <dc:Bounds x="1537" y="728.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0vymfh9_di" bpmnElement="SequenceFlow_0vymfh9">
+ <di:waypoint xsi:type="dc:Point" x="1497" y="670" />
+ <di:waypoint xsi:type="dc:Point" x="1537" y="847" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1517" y="743.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_14yy8v4_di" bpmnElement="SequenceFlow_14yy8v4">
+ <di:waypoint xsi:type="dc:Point" x="963" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="139" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="543" y="141" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0o7degu_di" bpmnElement="Task_0iydw5o">
+ <dc:Bounds x="863" y="50" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0msgw6c_di" bpmnElement="SequenceFlow_0msgw6c">
+ <di:waypoint xsi:type="dc:Point" x="348" y="1581" />
+ <di:waypoint xsi:type="dc:Point" x="421" y="1581" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="385" y="1566" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0uhssvq_di" bpmnElement="SequenceFlow_0uhssvq">
+ <di:waypoint xsi:type="dc:Point" x="521" y="1581" />
+ <di:waypoint xsi:type="dc:Point" x="588" y="1581" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="555" y="1566" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ph6862_di" bpmnElement="SequenceFlow_0ph6862">
+ <di:waypoint xsi:type="dc:Point" x="688" y="1581" />
+ <di:waypoint xsi:type="dc:Point" x="748" y="1581" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="718" y="1566" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_10ii2tr_di" bpmnElement="Task_1cl8ayk">
+ <dc:Bounds x="248" y="1541" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_09qi8yg_di" bpmnElement="Task_0dc1x7g">
+ <dc:Bounds x="588" y="1541" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0bv5v50_di" bpmnElement="Task_1xw8w6a">
+ <dc:Bounds x="421" y="1541" width="100" height="80" />
+ </bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateVnfInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateVnfInfra.bpmn
index 2631da1987..fa58c0b21b 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateVnfInfra.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateVnfInfra.bpmn
@@ -20,7 +20,7 @@ uvfm.preProcessRequest(execution)
<bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessRequest" targetRef="ScriptTask_1" />
<bpmn2:callActivity id="CallActivity_1" name="Completion Handler" calledElement="CompleteMsoProcess">
<bpmn2:extensionElements>
- <camunda:in source="UPDVnfI_CompletionHandlerRequest" target="CompleteMsoProcessRequest" />
+ <camunda:in source="CompletionHandlerRequest" target="CompleteMsoProcessRequest" />
<camunda:in source="mso-request-id" target="mso-request-id" />
<camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
@@ -42,10 +42,11 @@ execution.setVariable("UpdateVfModuleInfraSuccessIndicator", true)]]></bpmn2:scr
<bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_1" />
<bpmn2:scriptTask id="ScriptTask_10" name="Completion Handler (prep)" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1dqbqqx</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new UpdateVnfInfra()
-uvfm.completionHandlerPrep(execution, 'UPDVnfI_CompletionHandlerRequest')
+uvfm.completionHandlerPrep(execution, 'CompletionHandlerRequest')
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_10" targetRef="CallActivity_1" />
@@ -54,19 +55,19 @@ uvfm.completionHandlerPrep(execution, 'UPDVnfI_CompletionHandlerRequest')
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
<bpmn2:errorEventDefinition id="ErrorEventDefinition_1" />
</bpmn2:startEvent>
- <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="ScriptTask_3" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="Task_07rej8l" />
<bpmn2:scriptTask id="ScriptTask_3" name="Fallout Handler (prep)" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0slcwxc</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new UpdateVfModuleInfra()
-uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest')
+def uvfm = new UpdateVnfInfra()
+uvfm.falloutHandlerPrep(execution, 'FalloutHandlerRequest')
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="ScriptTask_3" targetRef="CallActivity_2" />
<bpmn2:callActivity id="CallActivity_2" name="Fallout Handler" calledElement="FalloutHandler">
<bpmn2:extensionElements>
- <camunda:in source="UPDVnfI_FalloutHandlerRequest" target="FalloutHandlerRequest" />
+ <camunda:in source="FalloutHandlerRequest" target="FalloutHandlerRequest" />
<camunda:in source="mso-request-id" target="mso-request-id" />
<camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
@@ -79,6 +80,39 @@ uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest')
<bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" />
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="CallActivity_2" targetRef="EndEvent_2" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0a0lfh8" sourceRef="Task_07rej8l" targetRef="Task_18twhln" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0r0o5yt" sourceRef="Task_18twhln" targetRef="Task_16v4gow" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0slcwxc" sourceRef="Task_16v4gow" targetRef="ScriptTask_3" />
+ <bpmn2:scriptTask id="Task_07rej8l" name="PreProcess Rollback" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0a0lfh8</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.preProcessRollback(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_16v4gow" name="PostProcess Rollback" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0r0o5yt</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0slcwxc</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.postProcessRollback(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="Task_18twhln" name="Rollback Processing" calledElement="RollbackVnf">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" />
+ <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" />
+ <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" />
+ <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" />
+ <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0a0lfh8</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0r0o5yt</bpmn2:outgoing>
+ </bpmn2:callActivity>
</bpmn2:subProcess>
<bpmn2:endEvent id="EndEvent_3">
<bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
@@ -95,23 +129,24 @@ uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest')
<bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" />
<bpmn2:callActivity id="ScriptTask_6" name="DoUpdateVnfAndModules" calledElement="DoUpdateVnfAndModules">
<bpmn2:extensionElements>
- <camunda:in source="UPDVnfI_requestId" target="msoRequestId" />
+ <camunda:in source="requestId" target="msoRequestId" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
<camunda:out source="WorkflowException" target="WorkflowException" />
<camunda:in source="isVidRequest" target="isVidRequest" />
- <camunda:in source="UPDVnfI_vnfType" target="vnfType" />
- <camunda:in source="UPDVnfI_vnfName" target="vnfName" />
- <camunda:in source="UPDVnfI_vnfId" target="vnfId" />
- <camunda:in source="UPDVnfI_asdcServiceModelVersion" target="asdcServiceModelVersion" />
- <camunda:in source="UPDVnfI_serviceInstanceId" target="serviceInstanceId" />
- <camunda:in source="UPDVnfI_serviceModelInfo" target="serviceModelInfo" />
- <camunda:in source="UPDVnfI_vnfModelInfo" target="vnfModelInfo" />
- <camunda:in source="UPDVnfI_globalSubscriberId" target="globalSubscriberId" />
- <camunda:in source="UPDVnfI_lcpCloudRegionId" target="lcpCloudRegionId" />
- <camunda:in source="UPDVnfI_tenantId" target="tenantId" />
- <camunda:in source="UPDVnfI_sdncVersion" target="sdncVersion" />
- <camunda:in source="UPDVnfI_usePreload" target="usePreload" />
- <camunda:in source="UPDVnfI_vnfResourceDecomposition" target="vnfResourceDecomposition" />
+ <camunda:in source="vnfType" target="vnfType" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="asdcServiceModelVersion" target="asdcServiceModelVersion" />
+ <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+ <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
+ <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
+ <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
+ <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
+ <camunda:in source="tenantId" target="tenantId" />
+ <camunda:in source="sdncVersion" target="sdncVersion" />
+ <camunda:in source="usePreload" target="usePreload" />
+ <camunda:in source="vnfResourceDecomposition" target="vnfResourceDecomposition" />
+ <camunda:in source="vfModuleInputParams" target="vfModuleInputParams" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_19ba94v</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0gzzeru</bpmn2:outgoing>
@@ -122,7 +157,7 @@ uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest')
<bpmn2:extensionElements>
<camunda:in source="msoRequestId" target="msoRequestId" />
<camunda:in source="serviceInstanceId" target="serviceInstanceId" />
- <camunda:in source="UPDVnfI_serviceModelInfo" target="serviceModelInfo" />
+ <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
<camunda:out source="WorkflowException" target="WorkflowException" />
<camunda:out source="serviceDecomposition" target="serviceDecomposition" />
@@ -130,7 +165,7 @@ uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest')
<bpmn2:incoming>SequenceFlow_0y0jt4l</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1w35ov3</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0vy2zge" />
+ <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_155eyrq" />
<bpmn2:scriptTask id="Task_1opcb4j" name="Get VnfResourceDecomposition" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_1w35ov3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_053qjfy</bpmn2:outgoing>
@@ -141,7 +176,7 @@ uvfm.getVnfResourceDecomposition(execution)]]></bpmn2:script>
<bpmn2:sequenceFlow id="SequenceFlow_0y0jt4l" sourceRef="ScriptTask_1" targetRef="Task_1gg76h7" />
<bpmn2:scriptTask id="Task_1rxiqe1" name="Check If VNF Is In Maintenance in A&#38;AI" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_16mo99z</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0fxuur5</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1pj72fw</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new UpdateVnfInfra()
@@ -153,7 +188,7 @@ uvfm.checkIfVnfInMaintInAAI(execution)
<bpmn2:sequenceFlow id="SequenceFlow_0gzzeru" sourceRef="ScriptTask_6" targetRef="ExclusiveGateway_0ulrq9g" />
<bpmn2:scriptTask id="Task_0ap39ka" name="Set VNF inMaintenance Flag in A&#38;AI" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_0baosqi</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1wax44p</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1lmijmb</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0k3fx7p</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new UpdateVnfInfra()
@@ -162,7 +197,7 @@ uvfm.setVnfInMaintFlagInAAI(execution, true)
</bpmn2:scriptTask>
<bpmn2:scriptTask id="Task_1drglpt" name="Unset VNF In Maintenance Flag in A&#38;AI" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_19lg15d</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1lsfn19</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_11p8elx</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_12mfil6</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new UpdateVnfInfra()
@@ -170,7 +205,7 @@ uvfm.setVnfInMaintFlagInAAI(execution, false)
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:scriptTask id="Task_0vy2zge" name="Check If Physical Servers Are Locked in A&#38;AI" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_178fxkj</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0usxnlk</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new UpdateVnfInfra()
@@ -180,201 +215,105 @@ uvfm.checkIfPserversInMaintInAAI(execution)
<bpmn2:sequenceFlow id="SequenceFlow_0xx8y1s" sourceRef="Task_1dtbnuy" targetRef="ExclusiveGateway_1slvyx2" />
<bpmn2:sequenceFlow id="SequenceFlow_0a6pdza" sourceRef="Task_1fj63ov" targetRef="ExclusiveGateway_1ichg7h" />
<bpmn2:sequenceFlow id="SequenceFlow_13h26h9" sourceRef="Task_1cfkcss" targetRef="ExclusiveGateway_1etgtgi" />
- <bpmn2:scriptTask id="Task_1dtbnuy" name="Call APP-C VNF Lock" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1bkhs8m</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1nlqlwn</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new UpdateVnfInfra()
-uvfm.runAppcCommand(execution, Action.Lock)
-]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:scriptTask id="Task_1fj63ov" name="Call APP-C Health Check" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1sla5dr</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new UpdateVnfInfra()
-uvfm.runAppcCommand(execution, Action.HealthCheck)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:scriptTask id="Task_1cfkcss" name="Call APP-C VNF Graceful Stop" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0iektwg</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new UpdateVnfInfra()
-uvfm.runAppcCommand(execution, Action.Stop)]]></bpmn2:script>
- </bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1uno5rs" sourceRef="Task_1hdg951" targetRef="ExclusiveGateway_02tj4dw" />
<bpmn2:sequenceFlow id="SequenceFlow_1c79909" sourceRef="Task_1ca5ctq" targetRef="ExclusiveGateway_1gn5lab" />
- <bpmn2:scriptTask id="Task_1hdg951" name="Call APP-C VNF Start" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_04zwhw4</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new UpdateVnfInfra()
-uvfm.runAppcCommand(execution, Action.Start)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:scriptTask id="Task_1ca5ctq" name="Call APP-C Health Check" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1hx1ur7</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new UpdateVnfInfra()
-uvfm.runAppcCommand(execution, Action.HealthCheck)]]></bpmn2:script>
- </bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1xfbwpi" sourceRef="Task_1sove95" targetRef="ExclusiveGateway_06mv93h" />
- <bpmn2:scriptTask id="Task_1sove95" name="Call APP-C VNF Unlock" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_197t3qk</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0ukzynj</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action
-import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def uvfm = new UpdateVnfInfra()
-uvfm.runAppcCommand(execution, Action.Unlock)]]></bpmn2:script>
- </bpmn2:scriptTask>
<bpmn2:exclusiveGateway id="ExclusiveGateway_0q323wc" name="Error on PServers Check?" default="SequenceFlow_16mo99z">
<bpmn2:incoming>SequenceFlow_0usxnlk</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_16mo99z</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1qmz2ez</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1esmtgy</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_16mo99z" name="no" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_1rxiqe1" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_045e1uz" name="Error On inMaintenance Check?" default="SequenceFlow_0baosqi">
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0baosqi</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_03rkfbo</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1jmzl1j</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_0baosqi" name="no" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0ap39ka" />
<bpmn2:callActivity id="Task_0q5cdit" name="Rainy Day Handler" calledElement="RainyDayHandler">
<bpmn2:extensionElements>
<camunda:in source="msoRequestId" target="msoRequestId" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
- <camunda:in source="UPDVnfI_serviceType" target="serviceType" />
- <camunda:in source="UPDVnfI_nfRole" target="vnfType" />
- <camunda:in source="UPDVnfI_currentActivity" target="currentActivity" />
- <camunda:in source="UPDVnfI_workStep" target="workStep" />
- <camunda:in source="UPDVnfI_failedActivity" target="failedActivity" />
- <camunda:in source="UPDVnfI_errorCode" target="errorCode" />
- <camunda:in source="UPDVnfI_errorText" target="errorText" />
+ <camunda:in source="serviceType" target="serviceType" />
+ <camunda:in source="nfRole" target="vnfType" />
+ <camunda:in source="currentActivity" target="currentActivity" />
+ <camunda:in source="workStep" target="workStep" />
+ <camunda:in source="failedActivity" target="failedActivity" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:in source="errorText" target="errorText" />
<camunda:out source="WorkflowException" target="WorkflowException" />
- <camunda:out source="handlingCode" target="UPDVnfI_disposition" />
- <camunda:in source="UPDVnfI_requestorId" target="requestorId" />
- <camunda:out source="taskId" target="UPDVnfI_taskId" />
+ <camunda:out source="handlingCode" target="disposition" />
+ <camunda:in source="requestorId" target="requestorId" />
+ <camunda:out source="taskId" target="taskId" />
+ <camunda:in source="vnfName" target="vnfName" />
</bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_1qmz2ez</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_03rkfbo</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1lsm3bn</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0bduwog</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0uwar5b</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0i7hfj2</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_10ek8l4</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_13yjc85</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0waedj5</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1hg9c2l</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_0gej71y</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1nplvhi</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0v0u7mf</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_1qmz2ez" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_03rkfbo" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_0v0u7mf" sourceRef="Task_0q5cdit" targetRef="ExclusiveGateway_0xlxgl0" />
<bpmn2:task id="Task_0zbogrm" name="Rollback Processing">
<bpmn2:incoming>SequenceFlow_1qr8msw</bpmn2:incoming>
</bpmn2:task>
<bpmn2:sequenceFlow id="SequenceFlow_0vpd06n" name="Abort" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_1tg549h">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_disposition") == "Abort"]]></bpmn2:conditionExpression>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Abort"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_1qr8msw" name="Rollback" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0zbogrm">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_disposition") == "Rollback"]]></bpmn2:conditionExpression>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Rollback"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway id="ExclusiveGateway_0ud5uwa" name="Eror on inMaintenance Set?" default="SequenceFlow_1bkhs8m">
<bpmn2:incoming>SequenceFlow_0k3fx7p</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1bkhs8m</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1lsm3bn</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_010ynjs</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_0k3fx7p" sourceRef="Task_0ap39ka" targetRef="ExclusiveGateway_0ud5uwa" />
- <bpmn2:sequenceFlow id="SequenceFlow_1lsm3bn" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway id="ExclusiveGateway_1slvyx2" name="Error on VNF Lock?" default="SequenceFlow_0qy68ib">
<bpmn2:incoming>SequenceFlow_0xx8y1s</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0qy68ib</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0bduwog</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1qsxbp4</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_0qy68ib" name="no" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_1fj63ov" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_1ichg7h" name="Error on Pre Health Check?" default="SequenceFlow_0q0qan8">
<bpmn2:incoming>SequenceFlow_0a6pdza</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0q0qan8</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0uwar5b</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_15bl7wd</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_0q0qan8" name="no" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_1cfkcss" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_1etgtgi" name="Error on VNF Stop?" default="SequenceFlow_1c0vdki">
<bpmn2:incoming>SequenceFlow_13h26h9</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1c0vdki</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0i7hfj2</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1m84lq5</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_1c0vdki" name="no" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0eae8go" />
- <bpmn2:sequenceFlow id="SequenceFlow_0bduwog" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0uwar5b" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0i7hfj2" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway id="ExclusiveGateway_0ulrq9g" name="Error on DoUpdateVnfAndNModules?" default="SequenceFlow_04zwhw4">
<bpmn2:incoming>SequenceFlow_0gzzeru</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_04zwhw4</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_10ek8l4</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0fog99f</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_04zwhw4" name="no" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="Task_1hdg951" />
- <bpmn2:sequenceFlow id="SequenceFlow_10ek8l4" name="yes" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway id="ExclusiveGateway_02tj4dw" name="Error on VNF Start?" default="SequenceFlow_162mm0m">
<bpmn2:incoming>SequenceFlow_1uno5rs</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_162mm0m</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0waedj5</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_12g63pl</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_162mm0m" name="no" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_1ca5ctq" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_1gn5lab" name="Error on Post Health Check?" default="SequenceFlow_197t3qk">
<bpmn2:incoming>SequenceFlow_1c79909</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_197t3qk</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1hg9c2l</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0l83v2k</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_197t3qk" name="no" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_1sove95" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_06mv93h" name="Error on VNF Unlock?" default="SequenceFlow_19lg15d">
<bpmn2:incoming>SequenceFlow_1xfbwpi</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_19lg15d</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0gej71y</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_07fhkt4</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_19lg15d" name="no" sourceRef="ExclusiveGateway_06mv93h" targetRef="Task_1drglpt" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_0l2z6wc" name="Erorr on inMaintenance Unset?" default="SequenceFlow_3">
<bpmn2:incoming>SequenceFlow_12mfil6</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_13yjc85</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0p94lgv</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_12mfil6" sourceRef="Task_1drglpt" targetRef="ExclusiveGateway_0l2z6wc" />
- <bpmn2:sequenceFlow id="SequenceFlow_13yjc85" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0waedj5" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1hg9c2l" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0gej71y" name="yes" sourceRef="ExclusiveGateway_06mv93h" targetRef="Task_0q5cdit">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:scriptTask id="Task_1tg549h" name="Abort Processing" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_0vpd06n</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_1c022sy</bpmn2:incoming>
@@ -390,57 +329,358 @@ uvfm.abortProcessing(execution)]]></bpmn2:script>
</bpmn2:exclusiveGateway>
<bpmn2:exclusiveGateway id="ExclusiveGateway_0y82zzx" name="Which step to skip?" default="SequenceFlow_1c022sy">
<bpmn2:incoming>SequenceFlow_05gpym3</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1sla5dr</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0iektwg</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1ttepat</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1hx1ur7</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0ukzynj</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1lsfn19</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_0fxuur5</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1wax44p</bpmn2:outgoing>
- <bpmn2:outgoing>SequenceFlow_1nlqlwn</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_1c022sy</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0tqrgop</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_126nlmw</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0mw3mwl</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_13md9cw</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0xylem3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1c5mxd5</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0u8hiu2</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0fs7ay9</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_00qwx4v</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_14s8ji9</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0kricor</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_05gpym3" name="Skip" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ExclusiveGateway_0y82zzx">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_disposition") == "Skip"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1sla5dr" name="Skip APP-C VNF Lock" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1fj63ov">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "LockVNF"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0iektwg" name="Skip APP-C VNF Pre Health Check" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1cfkcss">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "HealthCheckVNF1"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1ttepat" name="Skip APP-C VNF Stop" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_0eae8go">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "StopVNF"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1hx1ur7" name="Skip APP-C VNF Start" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1ca5ctq">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "StartVNF"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_0ukzynj" name="Skip APP-C Post Health Check" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1sove95">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "HealthCheckVNF2"]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1lsfn19" name="Skip APP-C VNF Unlock" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1drglpt">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "UnlockVNF"]]></bpmn2:conditionExpression>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Skip"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_19ba94v" sourceRef="Task_0eae8go" targetRef="ScriptTask_6" />
<bpmn2:scriptTask id="Task_0eae8go" name="Prepare DoUpdateVnfAndModules" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_1c0vdki</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_1ttepat</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1hldqvv</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_19ba94v</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def uvfm = new UpdateVnfInfra()
uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_0fxuur5" name="Skip Check if PServers Locked in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1rxiqe1">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression>
+ <bpmn2:sequenceFlow id="SequenceFlow_1c022sy" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" />
+ <bpmn2:callActivity id="Task_1dtbnuy" name="Call APP-C VNF Lock" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionLock" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1bkhs8m</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0qmpjgv</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1fj63ov" name="Call APP-C Health Check" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionHealthCheck" target="action" />
+ <camunda:in source="healthCheckIndex0" target="healthCheckIndex" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0tld38t</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1cfkcss" name="Call APP-C VNF Graceful Stop" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionStop" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="aicIdentity" target="aicIdentity" />
+ <camunda:out source="rollbackVnfStop" target="rollbackVnfStop" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_08dyt3l</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1hdg951" name="Call APP-C VNF Start" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionStart" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="aicIdentity" target="aicIdentity" />
+ <camunda:out source="rollbackVnfStop" target="rollbackVnfStop" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_04zwhw4</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0ye8oij</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1ca5ctq" name="Call APP-C Health Check" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionHealthCheck" target="action" />
+ <camunda:in source="healthCheckIndex1" target="healthCheckIndex" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_08kn9ok</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1sove95" name="Call APP-C VNF Unlock" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionUnlock" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_197t3qk</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_02uiht9</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0wc37af" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1esmtgy</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1r18wa8" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1jmzl1j</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1esmtgy" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="IntermediateThrowEvent_0wc37af">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1wax44p" name="Skip If VNF Is in Maint in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_0ap39ka">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "checkIfVnfInMaintInAAI"]]></bpmn2:conditionExpression>
+ <bpmn2:sequenceFlow id="SequenceFlow_1jmzl1j" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="IntermediateThrowEvent_1r18wa8">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1nlqlwn" name="Skip Set VNF In Maint in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1dtbnuy">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "setVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0k7j3qf" name="To inMaintenance Check">
+ <bpmn2:outgoing>SequenceFlow_1pj72fw</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To inMaintenance Check" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1pj72fw" sourceRef="IntermediateThrowEvent_0k7j3qf" targetRef="Task_1rxiqe1" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1urs7gm" name="To inMaintenance Set">
+ <bpmn2:outgoing>SequenceFlow_1lmijmb</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To inMaintenance Set" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1lmijmb" sourceRef="IntermediateThrowEvent_1urs7gm" targetRef="Task_0ap39ka" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0wx980v" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_010ynjs</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_010ynjs" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="IntermediateThrowEvent_0wx980v">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1c022sy" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1khl6dg" name="To VNF Lock">
+ <bpmn2:outgoing>SequenceFlow_0qmpjgv</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Lock" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_11rri8p" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1qsxbp4</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0frizqo" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_15bl7wd</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gmhr39" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1m84lq5</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1m2d0qt" name="To Health PreCheck">
+ <bpmn2:outgoing>SequenceFlow_0tld38t</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Health PreCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0p4hkug" name="To VNF Stop">
+ <bpmn2:outgoing>SequenceFlow_08dyt3l</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Stop" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1qsxbp4" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="IntermediateThrowEvent_11rri8p">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0qmpjgv" sourceRef="IntermediateThrowEvent_1khl6dg" targetRef="Task_1dtbnuy" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0tld38t" sourceRef="IntermediateThrowEvent_1m2d0qt" targetRef="Task_1fj63ov" />
+ <bpmn2:sequenceFlow id="SequenceFlow_15bl7wd" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="IntermediateThrowEvent_0frizqo">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_08dyt3l" sourceRef="IntermediateThrowEvent_0p4hkug" targetRef="Task_1cfkcss" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1m84lq5" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="IntermediateThrowEvent_1gmhr39">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1s7fnzf" name="To DoUpdateVnfAndModules">
+ <bpmn2:outgoing>SequenceFlow_1hldqvv</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To DoUpdateVnfAndModules" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1p2yktm" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0fog99f</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_17j7yap" name="To VNF Start">
+ <bpmn2:outgoing>SequenceFlow_0ye8oij</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Start" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gjzx99" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_12g63pl</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1hldqvv" sourceRef="IntermediateThrowEvent_1s7fnzf" targetRef="Task_0eae8go" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0fog99f" name="yes" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="IntermediateThrowEvent_1p2yktm">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0ye8oij" sourceRef="IntermediateThrowEvent_17j7yap" targetRef="Task_1hdg951" />
+ <bpmn2:sequenceFlow id="SequenceFlow_12g63pl" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="IntermediateThrowEvent_1gjzx99">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_03lb8ti" name="To Health PostCheck">
+ <bpmn2:outgoing>SequenceFlow_08kn9ok</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Health PostCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1umr8ik" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0l83v2k</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_044oajb" name="To VNF Unlock">
+ <bpmn2:outgoing>SequenceFlow_02uiht9</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Unlock" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1c1s0hp" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_07fhkt4</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_11i6md0" name="To inMaintenance Unset">
+ <bpmn2:outgoing>SequenceFlow_11p8elx</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To inMaintenance Unset" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1d8c9i0" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0p94lgv</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_08kn9ok" sourceRef="IntermediateThrowEvent_03lb8ti" targetRef="Task_1ca5ctq" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0l83v2k" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="IntermediateThrowEvent_1umr8ik">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_02uiht9" sourceRef="IntermediateThrowEvent_044oajb" targetRef="Task_1sove95" />
+ <bpmn2:sequenceFlow id="SequenceFlow_07fhkt4" name="yes" sourceRef="ExclusiveGateway_06mv93h" targetRef="IntermediateThrowEvent_1c1s0hp">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_11p8elx" sourceRef="IntermediateThrowEvent_11i6md0" targetRef="Task_1drglpt" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0p94lgv" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="IntermediateThrowEvent_1d8c9i0">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1dqbqqx" sourceRef="IntermediateThrowEvent_0xv558x" targetRef="ScriptTask_10" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0xv558x" name="To Completion Handler Prep">
+ <bpmn2:outgoing>SequenceFlow_1dqbqqx</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Completion Handler Prep" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0hljxy3" name="To Rainy Day Handling">
+ <bpmn2:outgoing>SequenceFlow_1nplvhi</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1nplvhi" sourceRef="IntermediateThrowEvent_0hljxy3" targetRef="Task_0q5cdit" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0tqrgop" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_08j8zjs">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_126nlmw" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0tj8iiy">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "checkIfVnfInMaintInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0mw3mwl" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0oeqjo1">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "setVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_13md9cw" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1939dn7">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Lock"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0xylem3" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1rn3nlo">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "HealthCheck0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1c5mxd5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0weaigg">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Stop"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0u8hiu2" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1q8mns4">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "doUpdateVnfAndModules"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0fs7ay9" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_16kgzdv">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Start"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_00qwx4v" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_18v3win">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "HealthCheck1"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_14s8ji9" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0kypyu0">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Unlock"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0kricor" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_024m4nk">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_08j8zjs" name="To inMaintenance Check">
+ <bpmn2:incoming>SequenceFlow_0tqrgop</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To inMaintenance Check" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0tj8iiy" name="To inMaintenance Set">
+ <bpmn2:incoming>SequenceFlow_126nlmw</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To inMaintenance Set" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0oeqjo1" name="To VNF Lock">
+ <bpmn2:incoming>SequenceFlow_0mw3mwl</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Lock" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1939dn7" name="To Health PreCheck">
+ <bpmn2:incoming>SequenceFlow_13md9cw</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Health PreCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1rn3nlo" name="To VNF Stop">
+ <bpmn2:incoming>SequenceFlow_0xylem3</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Stop" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0weaigg" name="To DoUpdateVnfAndModules">
+ <bpmn2:incoming>SequenceFlow_1c5mxd5</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To DoUpdateVnfAndModules" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1q8mns4" name="To VNF Start">
+ <bpmn2:incoming>SequenceFlow_0u8hiu2</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Start" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_16kgzdv" name="To Health PostCheck">
+ <bpmn2:incoming>SequenceFlow_0fs7ay9</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Health PostCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_18v3win" name="To VNF Unlock">
+ <bpmn2:incoming>SequenceFlow_00qwx4v</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Unlock" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0kypyu0" name="To inMaintenance Unset">
+ <bpmn2:incoming>SequenceFlow_14s8ji9</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To inMaintenance Unset" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_024m4nk" name="To Completion Handler Prep">
+ <bpmn2:incoming>SequenceFlow_0kricor</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Completion Handler Prep" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_178fxkj" sourceRef="Task_155eyrq" targetRef="Task_0vy2zge" />
+ <bpmn2:scriptTask id="Task_155eyrq" name="Query A&#38;AI for VNF" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_178fxkj</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new UpdateVnfInfra()
+uvfm.queryAAIForVnf(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
</bpmn2:process>
<bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
@@ -452,9 +692,9 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_125" bpmnElement="EndEvent_1">
- <dc:Bounds x="595" y="975" width="36" height="36" />
+ <dc:Bounds x="589" y="1222" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="594" y="1016" width="38" height="12" />
+ <dc:Bounds x="588" y="1263" width="38" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124">
@@ -485,107 +725,108 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_127" bpmnElement="ScriptTask_4">
- <dc:Bounds x="439" y="953" width="100" height="80" />
+ <dc:Bounds x="433" y="1200" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_127" targetElement="_BPMNShape_EndEvent_125">
- <di:waypoint xsi:type="dc:Point" x="539" y="993" />
- <di:waypoint xsi:type="dc:Point" x="595" y="993" />
+ <di:waypoint xsi:type="dc:Point" x="533" y="1240" />
+ <di:waypoint xsi:type="dc:Point" x="589" y="1240" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="716" y="834" width="0" height="0" />
+ <dc:Bounds x="710" y="1081" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_133" bpmnElement="ScriptTask_10">
- <dc:Bounds x="139" y="953" width="100" height="80" />
+ <dc:Bounds x="133" y="1200" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_27" bpmnElement="CallActivity_1">
- <dc:Bounds x="289" y="953" width="100" height="80" />
+ <dc:Bounds x="283" y="1200" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_133" targetElement="_BPMNShape_CallActivity_27">
- <di:waypoint xsi:type="dc:Point" x="239" y="993" />
- <di:waypoint xsi:type="dc:Point" x="289" y="993" />
+ <di:waypoint xsi:type="dc:Point" x="233" y="1240" />
+ <di:waypoint xsi:type="dc:Point" x="283" y="1240" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="264" y="999" width="0" height="0" />
+ <dc:Bounds x="258" y="1246" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_SubProcess_17" bpmnElement="SubProcess_1" isExpanded="true">
- <dc:Bounds x="85" y="1189" width="565" height="241" />
+ <dc:Bounds x="88" y="1464" width="966" height="240" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_3">
- <dc:Bounds x="149" y="1283" width="36" height="36" />
+ <dc:Bounds x="152" y="1558" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="128" y="1324" width="77" height="12" />
+ <dc:Bounds x="131" y="1599" width="77" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_136" bpmnElement="ScriptTask_3">
- <dc:Bounds x="229" y="1261" width="100" height="80" />
+ <dc:Bounds x="621" y="1536" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_136">
- <di:waypoint xsi:type="dc:Point" x="185" y="1301" />
- <di:waypoint xsi:type="dc:Point" x="229" y="1301" />
+ <di:waypoint xsi:type="dc:Point" x="188" y="1576" />
+ <di:waypoint xsi:type="dc:Point" x="220" y="1576" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="232" y="1601" width="0" height="0" />
+ <dc:Bounds x="204" y="1561" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_136" targetElement="_BPMNShape_CallActivity_28">
- <di:waypoint xsi:type="dc:Point" x="329" y="1301" />
- <di:waypoint xsi:type="dc:Point" x="397" y="1301" />
+ <di:waypoint xsi:type="dc:Point" x="721" y="1576" />
+ <di:waypoint xsi:type="dc:Point" x="789" y="1576" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="345" y="1301" width="0" height="0" />
+ <dc:Bounds x="737" y="1576" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_126" bpmnElement="EndEvent_2">
- <dc:Bounds x="553" y="1283" width="36" height="36" />
+ <dc:Bounds x="945" y="1558" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="571" y="1324" width="0" height="0" />
+ <dc:Bounds x="963" y="1599" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_43" bpmnElement="BoundaryEvent_1">
- <dc:Bounds x="632" y="1283" width="36" height="36" />
+ <dc:Bounds x="1036" y="1558" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="650" y="1324" width="0" height="0" />
+ <dc:Bounds x="1054" y="1599" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_127" bpmnElement="EndEvent_3">
- <dc:Bounds x="726" y="1283" width="36" height="36" />
+ <dc:Bounds x="1164" y="1558" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="744" y="1324" width="0" height="0" />
+ <dc:Bounds x="1182" y="1599" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_BoundaryEvent_43" targetElement="_BPMNShape_EndEvent_127">
- <di:waypoint xsi:type="dc:Point" x="668" y="1301" />
- <di:waypoint xsi:type="dc:Point" x="726" y="1301" />
+ <di:waypoint xsi:type="dc:Point" x="1072" y="1576" />
+ <di:waypoint xsi:type="dc:Point" x="1164" y="1576" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="697" y="1286" width="0" height="0" />
+ <dc:Bounds x="1118" y="1561" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_28" bpmnElement="CallActivity_2">
- <dc:Bounds x="397" y="1261" width="100" height="80" />
+ <dc:Bounds x="789" y="1536" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_CallActivity_27" targetElement="_BPMNShape_ScriptTask_127">
- <di:waypoint xsi:type="dc:Point" x="389" y="993" />
- <di:waypoint xsi:type="dc:Point" x="439" y="993" />
+ <di:waypoint xsi:type="dc:Point" x="383" y="1240" />
+ <di:waypoint xsi:type="dc:Point" x="433" y="1240" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="432" y="961" width="0" height="0" />
+ <dc:Bounds x="426" y="1208" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_CallActivity_28" targetElement="_BPMNShape_EndEvent_126">
- <di:waypoint xsi:type="dc:Point" x="497" y="1301" />
- <di:waypoint xsi:type="dc:Point" x="553" y="1301" />
+ <di:waypoint xsi:type="dc:Point" x="889" y="1576" />
+ <di:waypoint xsi:type="dc:Point" x="945" y="1576" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="390" y="1361" width="0" height="0" />
+ <dc:Bounds x="782" y="1636" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_181" bpmnElement="ScriptTask_6">
- <dc:Bounds x="454" y="559" width="100" height="80" />
+ <dc:Bounds x="419" y="685" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_181" targetElement="_BPMNShape_ScriptTask_133">
- <di:waypoint xsi:type="dc:Point" x="1130" y="835" />
- <di:waypoint xsi:type="dc:Point" x="1130" y="900" />
- <di:waypoint xsi:type="dc:Point" x="99" y="900" />
- <di:waypoint xsi:type="dc:Point" x="99" y="993" />
- <di:waypoint xsi:type="dc:Point" x="139" y="993" />
+ <di:waypoint xsi:type="dc:Point" x="932" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="1007" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="1007" y="1158" />
+ <di:waypoint xsi:type="dc:Point" x="89" y="1160" />
+ <di:waypoint xsi:type="dc:Point" x="89" y="1240" />
+ <di:waypoint xsi:type="dc:Point" x="133" y="1240" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1109" y="862" width="12" height="12" />
+ <dc:Bounds x="961" y="954.3909136697287" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1w35ov3_di" bpmnElement="SequenceFlow_1w35ov3">
@@ -600,13 +841,9 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_053qjfy_di" bpmnElement="SequenceFlow_053qjfy">
<di:waypoint xsi:type="dc:Point" x="818" y="90" />
- <di:waypoint xsi:type="dc:Point" x="982" y="90" />
- <di:waypoint xsi:type="dc:Point" x="982" y="156" />
- <di:waypoint xsi:type="dc:Point" x="103" y="156" />
- <di:waypoint xsi:type="dc:Point" x="103" y="237" />
- <di:waypoint xsi:type="dc:Point" x="131" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="871" y="90" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="543" y="141" width="0" height="0" />
+ <dc:Bounds x="845" y="75" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_08xzuox_di" bpmnElement="Task_1opcb4j">
@@ -630,95 +867,80 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1bkhs8m_di" bpmnElement="SequenceFlow_1bkhs8m">
- <di:waypoint xsi:type="dc:Point" x="896" y="264" />
- <di:waypoint xsi:type="dc:Point" x="896" y="339" />
- <di:waypoint xsi:type="dc:Point" x="98" y="339" />
- <di:waypoint xsi:type="dc:Point" x="98" y="427" />
- <di:waypoint xsi:type="dc:Point" x="139" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="921" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="994" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="994" y="391" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="391" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="139" y="474" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="905" y="313.95238095238096" width="12" height="12" />
+ <dc:Bounds x="950" y="212" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0gzzeru_di" bpmnElement="SequenceFlow_0gzzeru">
- <di:waypoint xsi:type="dc:Point" x="554" y="599" />
- <di:waypoint xsi:type="dc:Point" x="617" y="599" />
+ <di:waypoint xsi:type="dc:Point" x="519" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="595" y="725" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="586" y="584" width="0" height="0" />
+ <dc:Bounds x="557" y="710" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0wa4zya_di" bpmnElement="Task_0ap39ka">
<dc:Bounds x="714" y="197" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_0sgm9bu_di" bpmnElement="Task_1drglpt">
- <dc:Bounds x="960" y="770" width="100" height="80" />
+ <dc:Bounds x="718" y="943" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_16jtt5t_di" bpmnElement="Task_0vy2zge">
<dc:Bounds x="131" y="197" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0xx8y1s_di" bpmnElement="SequenceFlow_0xx8y1s">
- <di:waypoint xsi:type="dc:Point" x="239" y="427" />
- <di:waypoint xsi:type="dc:Point" x="292" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="239" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="292" y="474" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="266" y="412" width="0" height="0" />
+ <dc:Bounds x="266" y="459" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0a6pdza_di" bpmnElement="SequenceFlow_0a6pdza">
- <di:waypoint xsi:type="dc:Point" x="525" y="427" />
- <di:waypoint xsi:type="dc:Point" x="601" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="525" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="601" y="474" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="563" y="412" width="0" height="0" />
+ <dc:Bounds x="563" y="459" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_13h26h9_di" bpmnElement="SequenceFlow_13h26h9">
- <di:waypoint xsi:type="dc:Point" x="814" y="427" />
- <di:waypoint xsi:type="dc:Point" x="871" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="814" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="871" y="474" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="843" y="412" width="0" height="0" />
+ <dc:Bounds x="843" y="459" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_02wc9i0_di" bpmnElement="Task_1dtbnuy">
- <dc:Bounds x="139" y="387" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0mz2hdm_di" bpmnElement="Task_1fj63ov">
- <dc:Bounds x="425" y="387" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_1wagy2o_di" bpmnElement="Task_1cfkcss">
- <dc:Bounds x="714" y="387" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1uno5rs_di" bpmnElement="SequenceFlow_1uno5rs">
- <di:waypoint xsi:type="dc:Point" x="239" y="810" />
- <di:waypoint xsi:type="dc:Point" x="292" y="810" />
+ <di:waypoint xsi:type="dc:Point" x="812" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="850" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="850" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="876" y="725" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="266" y="795" width="0" height="0" />
+ <dc:Bounds x="865" y="725" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1c79909_di" bpmnElement="SequenceFlow_1c79909">
- <di:waypoint xsi:type="dc:Point" x="525" y="810" />
- <di:waypoint xsi:type="dc:Point" x="601" y="810" />
+ <di:waypoint xsi:type="dc:Point" x="239" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="292" y="983" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="563" y="795" width="0" height="0" />
+ <dc:Bounds x="266" y="968" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_13zephm_di" bpmnElement="Task_1hdg951">
- <dc:Bounds x="139" y="770" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_11xqphb_di" bpmnElement="Task_1ca5ctq">
- <dc:Bounds x="425" y="770" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1xfbwpi_di" bpmnElement="SequenceFlow_1xfbwpi">
- <di:waypoint xsi:type="dc:Point" x="814" y="810" />
- <di:waypoint xsi:type="dc:Point" x="871" y="810" />
+ <di:waypoint xsi:type="dc:Point" x="515" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="601" y="983" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="843" y="795" width="0" height="0" />
+ <dc:Bounds x="558" y="968" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_0a4ovfa_di" bpmnElement="Task_1sove95">
- <dc:Bounds x="714" y="770" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_0q323wc_di" bpmnElement="ExclusiveGateway_0q323wc" isMarkerVisible="true">
<dc:Bounds x="291.803" y="212" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="274" y="262" width="86" height="24" />
+ <dc:Bounds x="273" y="175" width="87" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_16mo99z_di" bpmnElement="SequenceFlow_16mo99z">
@@ -731,7 +953,7 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script>
<bpmndi:BPMNShape id="ExclusiveGateway_045e1uz_di" bpmnElement="ExclusiveGateway_045e1uz" isMarkerVisible="true">
<dc:Bounds x="601" y="212" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="589" y="262" width="73" height="36" />
+ <dc:Bounds x="589" y="168" width="73" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0baosqi_di" bpmnElement="SequenceFlow_0baosqi">
@@ -744,24 +966,6 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script>
<bpmndi:BPMNShape id="CallActivity_1k5n5d1_di" bpmnElement="Task_0q5cdit">
<dc:Bounds x="1132" y="470" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_1qmz2ez_di" bpmnElement="SequenceFlow_1qmz2ez">
- <di:waypoint xsi:type="dc:Point" x="317" y="212" />
- <di:waypoint xsi:type="dc:Point" x="317" y="191" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="191" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="378" y="196" width="18" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_03rkfbo_di" bpmnElement="SequenceFlow_03rkfbo">
- <di:waypoint xsi:type="dc:Point" x="626" y="212" />
- <di:waypoint xsi:type="dc:Point" x="626" y="187" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="187" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="683" y="166" width="18" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0v0u7mf_di" bpmnElement="SequenceFlow_0v0u7mf">
<di:waypoint xsi:type="dc:Point" x="1232" y="510" />
<di:waypoint xsi:type="dc:Point" x="1314" y="510" />
@@ -770,29 +974,30 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Task_0zbogrm_di" bpmnElement="Task_0zbogrm">
- <dc:Bounds x="1438" y="470" width="100" height="80" />
+ <dc:Bounds x="1289" y="645" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0vpd06n_di" bpmnElement="SequenceFlow_0vpd06n">
<di:waypoint xsi:type="dc:Point" x="1339" y="485" />
- <di:waypoint xsi:type="dc:Point" x="1339" y="373" />
- <di:waypoint xsi:type="dc:Point" x="1438" y="373" />
+ <di:waypoint xsi:type="dc:Point" x="1339" y="441" />
+ <di:waypoint xsi:type="dc:Point" x="1339" y="441" />
+ <di:waypoint xsi:type="dc:Point" x="1339" y="395" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1390" y="377" width="26" height="12" />
+ <dc:Bounds x="1347" y="419.2626464646465" width="26" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1qr8msw_di" bpmnElement="SequenceFlow_1qr8msw">
- <di:waypoint xsi:type="dc:Point" x="1364" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1405" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1405" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1438" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1339" y="535" />
+ <di:waypoint xsi:type="dc:Point" x="1339" y="599" />
+ <di:waypoint xsi:type="dc:Point" x="1339" y="599" />
+ <di:waypoint xsi:type="dc:Point" x="1339" y="645" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1379" y="516" width="42" height="12" />
+ <dc:Bounds x="1348" y="578.1951219512196" width="42" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_0ud5uwa_di" bpmnElement="ExclusiveGateway_0ud5uwa" isMarkerVisible="true">
<dc:Bounds x="871.1194471865745" y="211.86673247778873" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="904" y="257.86673247778873" width="73" height="36" />
+ <dc:Bounds x="859" y="167" width="73" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0k3fx7p_di" bpmnElement="SequenceFlow_0k3fx7p">
@@ -802,322 +1007,672 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script>
<dc:Bounds x="843" y="222" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1lsm3bn_di" bpmnElement="SequenceFlow_1lsm3bn">
- <di:waypoint xsi:type="dc:Point" x="921" y="237" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="237" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1044" y="214" width="18" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1slvyx2_di" bpmnElement="ExclusiveGateway_1slvyx2" isMarkerVisible="true">
- <dc:Bounds x="292" y="402" width="50" height="50" />
+ <dc:Bounds x="292" y="449" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="283" y="452" width="68" height="24" />
+ <dc:Bounds x="283" y="413" width="68" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0qy68ib_di" bpmnElement="SequenceFlow_0qy68ib">
- <di:waypoint xsi:type="dc:Point" x="342" y="427" />
- <di:waypoint xsi:type="dc:Point" x="425" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="342" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="425" y="474" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="378" y="412" width="12" height="12" />
+ <dc:Bounds x="378" y="459" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1ichg7h_di" bpmnElement="ExclusiveGateway_1ichg7h" isMarkerVisible="true">
- <dc:Bounds x="601" y="402" width="50" height="50" />
+ <dc:Bounds x="601" y="449" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="590" y="452" width="72" height="24" />
+ <dc:Bounds x="590" y="414" width="72" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0q0qan8_di" bpmnElement="SequenceFlow_0q0qan8">
- <di:waypoint xsi:type="dc:Point" x="651" y="427" />
- <di:waypoint xsi:type="dc:Point" x="714" y="427" />
+ <di:waypoint xsi:type="dc:Point" x="651" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="714" y="474" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="677" y="412" width="12" height="12" />
+ <dc:Bounds x="677" y="459" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1etgtgi_di" bpmnElement="ExclusiveGateway_1etgtgi" isMarkerVisible="true">
- <dc:Bounds x="870.9141164856861" y="402" width="50" height="50" />
+ <dc:Bounds x="871" y="449" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="909" y="445" width="68" height="24" />
+ <dc:Bounds x="862" y="411" width="68" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1c0vdki_di" bpmnElement="SequenceFlow_1c0vdki">
- <di:waypoint xsi:type="dc:Point" x="896" y="452" />
- <di:waypoint xsi:type="dc:Point" x="896" y="507" />
- <di:waypoint xsi:type="dc:Point" x="90" y="507" />
- <di:waypoint xsi:type="dc:Point" x="90" y="599" />
- <di:waypoint xsi:type="dc:Point" x="219" y="599" />
+ <di:waypoint xsi:type="dc:Point" x="921" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="1003" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="1003" y="640" />
+ <di:waypoint xsi:type="dc:Point" x="102" y="640" />
+ <di:waypoint xsi:type="dc:Point" x="102" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="195" y="725" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="906" y="484" width="12" height="12" />
+ <dc:Bounds x="964" y="444.0001202928146" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0bduwog_di" bpmnElement="SequenceFlow_0bduwog">
- <di:waypoint xsi:type="dc:Point" x="317" y="402" />
- <di:waypoint xsi:type="dc:Point" x="317" y="354" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="354" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_0ulrq9g_di" bpmnElement="ExclusiveGateway_0ulrq9g" isMarkerVisible="true">
+ <dc:Bounds x="595" y="700" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="375" y="356" width="18" height="12" />
+ <dc:Bounds x="578" y="658" width="84" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_04zwhw4_di" bpmnElement="SequenceFlow_04zwhw4">
+ <di:waypoint xsi:type="dc:Point" x="645" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="712" y="725" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="679" y="707.4465803421167" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0uwar5b_di" bpmnElement="SequenceFlow_0uwar5b">
- <di:waypoint xsi:type="dc:Point" x="626" y="402" />
- <di:waypoint xsi:type="dc:Point" x="626" y="359" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="359" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true">
+ <dc:Bounds x="876" y="700" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="676" y="367" width="18" height="12" />
+ <dc:Bounds x="867" y="665" width="68" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m">
+ <di:waypoint xsi:type="dc:Point" x="926" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="1002" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="1002" y="903" />
+ <di:waypoint xsi:type="dc:Point" x="94" y="903" />
+ <di:waypoint xsi:type="dc:Point" x="94" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="139" y="983" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="961" y="701.1887293946602" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0i7hfj2_di" bpmnElement="SequenceFlow_0i7hfj2">
- <di:waypoint xsi:type="dc:Point" x="921" y="427" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="427" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="470" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true">
+ <dc:Bounds x="292" y="958" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="281" y="920" width="72" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_197t3qk_di" bpmnElement="SequenceFlow_197t3qk">
+ <di:waypoint xsi:type="dc:Point" x="342" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="384" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="384" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="415" y="983" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1044" y="412" width="18" height="12" />
+ <dc:Bounds x="367" y="955.268406786947" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_0ulrq9g_di" bpmnElement="ExclusiveGateway_0ulrq9g" isMarkerVisible="true">
- <dc:Bounds x="617" y="574" width="50" height="50" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_06mv93h_di" bpmnElement="ExclusiveGateway_06mv93h" isMarkerVisible="true">
+ <dc:Bounds x="601" y="958" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="654" y="618" width="83" height="36" />
+ <dc:Bounds x="592" y="918" width="68" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_04zwhw4_di" bpmnElement="SequenceFlow_04zwhw4">
- <di:waypoint xsi:type="dc:Point" x="642" y="624" />
- <di:waypoint xsi:type="dc:Point" x="642" y="694" />
- <di:waypoint xsi:type="dc:Point" x="91" y="694" />
- <di:waypoint xsi:type="dc:Point" x="91" y="810" />
- <di:waypoint xsi:type="dc:Point" x="139" y="810" />
+ <bpmndi:BPMNEdge id="SequenceFlow_19lg15d_di" bpmnElement="SequenceFlow_19lg15d">
+ <di:waypoint xsi:type="dc:Point" x="651" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="718" y="983" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="361" y="679" width="12" height="12" />
+ <dc:Bounds x="676" y="955.051282051282" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_10ek8l4_di" bpmnElement="SequenceFlow_10ek8l4">
- <di:waypoint xsi:type="dc:Point" x="667" y="599" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="599" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true">
+ <dc:Bounds x="882" y="958" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="916" y="584" width="18" height="12" />
+ <dc:Bounds x="870" y="915" width="73" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6">
+ <di:waypoint xsi:type="dc:Point" x="818" y="983" />
+ <di:waypoint xsi:type="dc:Point" x="882" y="983" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="850" y="968" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true">
- <dc:Bounds x="292.1076011846002" y="785" width="50" height="50" />
+ <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h">
+ <dc:Bounds x="1289" y="315" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true">
+ <dc:Bounds x="1314" y="485" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="284" y="835" width="68" height="24" />
+ <dc:Bounds x="1303" y="468" width="88" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m">
- <di:waypoint xsi:type="dc:Point" x="342" y="810" />
- <di:waypoint xsi:type="dc:Point" x="425" y="810" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true">
+ <dc:Bounds x="1431" y="485" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="378" y="795" width="12" height="12" />
+ <dc:Bounds x="1421" y="542" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3">
+ <di:waypoint xsi:type="dc:Point" x="1364" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1431" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1387" y="486.98705320489466" width="21" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true">
- <dc:Bounds x="601.1076011846002" y="785" width="50" height="50" />
+ <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v">
+ <di:waypoint xsi:type="dc:Point" x="295" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="361" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="361" y="725" />
+ <di:waypoint xsi:type="dc:Point" x="419" y="725" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="591" y="835" width="72" height="24" />
+ <dc:Bounds x="376" y="725" width="0" height="0" />
</bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0rqgdju_di" bpmnElement="Task_0eae8go">
+ <dc:Bounds x="195" y="685" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_197t3qk_di" bpmnElement="SequenceFlow_197t3qk">
- <di:waypoint xsi:type="dc:Point" x="651.1076011846002" y="810" />
- <di:waypoint xsi:type="dc:Point" x="714" y="810" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1c022sy_di" bpmnElement="SequenceFlow_1c022sy">
+ <di:waypoint xsi:type="dc:Point" x="1456" y="485" />
+ <di:waypoint xsi:type="dc:Point" x="1456" y="355" />
+ <di:waypoint xsi:type="dc:Point" x="1389" y="355" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="677" y="795" width="12" height="12" />
+ <dc:Bounds x="1471" y="420" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_06mv93h_di" bpmnElement="ExclusiveGateway_06mv93h" isMarkerVisible="true">
- <dc:Bounds x="871" y="785" width="50" height="50" />
+ <bpmndi:BPMNShape id="CallActivity_0tz2nj7_di" bpmnElement="Task_1dtbnuy">
+ <dc:Bounds x="139" y="434" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0m9b4r4_di" bpmnElement="Task_1fj63ov">
+ <dc:Bounds x="425" y="434" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1131t0j_di" bpmnElement="Task_1cfkcss">
+ <dc:Bounds x="714" y="434" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0x0eohw_di" bpmnElement="Task_1hdg951">
+ <dc:Bounds x="712" y="685" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1hv52rh_di" bpmnElement="Task_1ca5ctq">
+ <dc:Bounds x="139" y="943" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1wftk6z_di" bpmnElement="Task_1sove95">
+ <dc:Bounds x="415" y="943" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_09rkic6_di" bpmnElement="IntermediateThrowEvent_0wc37af">
+ <dc:Bounds x="299" y="308" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="862" y="835" width="68" height="24" />
+ <dc:Bounds x="282" y="351.616" width="69" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_19lg15d_di" bpmnElement="SequenceFlow_19lg15d">
- <di:waypoint xsi:type="dc:Point" x="921" y="810" />
- <di:waypoint xsi:type="dc:Point" x="960" y="810" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1mk2rqe_di" bpmnElement="IntermediateThrowEvent_1r18wa8">
+ <dc:Bounds x="608" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="591" y="352" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1esmtgy_di" bpmnElement="SequenceFlow_1esmtgy">
+ <di:waypoint xsi:type="dc:Point" x="317" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="317" y="308" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="935" y="795" width="12" height="12" />
+ <dc:Bounds x="329" y="274" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true">
- <dc:Bounds x="1105.1076011846003" y="785" width="50" height="50" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1jmzl1j_di" bpmnElement="SequenceFlow_1jmzl1j">
+ <di:waypoint xsi:type="dc:Point" x="626" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="626" y="308" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1145" y="833" width="73" height="36" />
+ <dc:Bounds x="631" y="275" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0r5r5re_di" bpmnElement="IntermediateThrowEvent_0k7j3qf">
+ <dc:Bounds x="457" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="432" y="344" width="85" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6">
- <di:waypoint xsi:type="dc:Point" x="1060" y="810" />
- <di:waypoint xsi:type="dc:Point" x="1105" y="810" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1pj72fw_di" bpmnElement="SequenceFlow_1pj72fw">
+ <di:waypoint xsi:type="dc:Point" x="475" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="475" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="490" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_04ceksx_di" bpmnElement="IntermediateThrowEvent_1urs7gm">
+ <dc:Bounds x="746" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="720" y="344" width="88" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1lmijmb_di" bpmnElement="SequenceFlow_1lmijmb">
+ <di:waypoint xsi:type="dc:Point" x="764" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="764" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="779" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0rq7l0k_di" bpmnElement="IntermediateThrowEvent_0wx980v">
+ <dc:Bounds x="878" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="861" y="344" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_010ynjs_di" bpmnElement="SequenceFlow_010ynjs">
+ <di:waypoint xsi:type="dc:Point" x="896" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="896" y="308" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="902" y="275" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0lpduhk_di" bpmnElement="IntermediateThrowEvent_1khl6dg">
+ <dc:Bounds x="171" y="566" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="157" y="601.2375249500998" width="64" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1c2pwwh_di" bpmnElement="IntermediateThrowEvent_11rri8p">
+ <dc:Bounds x="299" y="566" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="282" y="602" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0vz2acu_di" bpmnElement="IntermediateThrowEvent_0frizqo">
+ <dc:Bounds x="608" y="566" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="591" y="602" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0tybfsi_di" bpmnElement="IntermediateThrowEvent_1gmhr39">
+ <dc:Bounds x="878" y="566" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1083" y="785" width="0" height="0" />
+ <dc:Bounds x="861" y="602" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1k86ayn_di" bpmnElement="IntermediateThrowEvent_1m2d0qt">
+ <dc:Bounds x="457" y="566" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="449" y="602" width="51" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0apaw6k_di" bpmnElement="IntermediateThrowEvent_0p4hkug">
+ <dc:Bounds x="746" y="566" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="733" y="602" width="62" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1qsxbp4_di" bpmnElement="SequenceFlow_1qsxbp4">
+ <di:waypoint xsi:type="dc:Point" x="317" y="499" />
+ <di:waypoint xsi:type="dc:Point" x="317" y="566" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="323" y="522.5" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_13yjc85_di" bpmnElement="SequenceFlow_13yjc85">
- <di:waypoint xsi:type="dc:Point" x="1155" y="810" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="810" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0qmpjgv_di" bpmnElement="SequenceFlow_0qmpjgv">
+ <di:waypoint xsi:type="dc:Point" x="189" y="566" />
+ <di:waypoint xsi:type="dc:Point" x="189" y="541" />
+ <di:waypoint xsi:type="dc:Point" x="189" y="541" />
+ <di:waypoint xsi:type="dc:Point" x="189" y="514" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1160" y="795" width="18" height="12" />
+ <dc:Bounds x="204" y="541" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0waedj5_di" bpmnElement="SequenceFlow_0waedj5">
- <di:waypoint xsi:type="dc:Point" x="317" y="785" />
- <di:waypoint xsi:type="dc:Point" x="317" y="711" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="711" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0tld38t_di" bpmnElement="SequenceFlow_0tld38t">
+ <di:waypoint xsi:type="dc:Point" x="475" y="566" />
+ <di:waypoint xsi:type="dc:Point" x="475" y="540" />
+ <di:waypoint xsi:type="dc:Point" x="475" y="540" />
+ <di:waypoint xsi:type="dc:Point" x="475" y="514" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="370" y="716" width="18" height="12" />
+ <dc:Bounds x="490" y="540" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1hg9c2l_di" bpmnElement="SequenceFlow_1hg9c2l">
- <di:waypoint xsi:type="dc:Point" x="626" y="785" />
- <di:waypoint xsi:type="dc:Point" x="626" y="714" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="714" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNEdge id="SequenceFlow_15bl7wd_di" bpmnElement="SequenceFlow_15bl7wd">
+ <di:waypoint xsi:type="dc:Point" x="626" y="499" />
+ <di:waypoint xsi:type="dc:Point" x="626" y="566" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="669" y="717" width="18" height="12" />
+ <dc:Bounds x="632" y="522.5" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0gej71y_di" bpmnElement="SequenceFlow_0gej71y">
- <di:waypoint xsi:type="dc:Point" x="896" y="785" />
- <di:waypoint xsi:type="dc:Point" x="896" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1182" y="550" />
+ <bpmndi:BPMNEdge id="SequenceFlow_08dyt3l_di" bpmnElement="SequenceFlow_08dyt3l">
+ <di:waypoint xsi:type="dc:Point" x="764" y="566" />
+ <di:waypoint xsi:type="dc:Point" x="764" y="540" />
+ <di:waypoint xsi:type="dc:Point" x="764" y="540" />
+ <di:waypoint xsi:type="dc:Point" x="764" y="514" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="905" y="738" width="18" height="12" />
+ <dc:Bounds x="779" y="540" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h">
- <dc:Bounds x="1438" y="333" width="100" height="80" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1m84lq5_di" bpmnElement="SequenceFlow_1m84lq5">
+ <di:waypoint xsi:type="dc:Point" x="896" y="499" />
+ <di:waypoint xsi:type="dc:Point" x="896" y="566" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="902" y="522.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0v6yl7l_di" bpmnElement="IntermediateThrowEvent_1s7fnzf">
+ <dc:Bounds x="227" y="819" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="203" y="854.0179640718563" width="84" height="36" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true">
- <dc:Bounds x="1314" y="485" width="50" height="50" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0jr8fuh_di" bpmnElement="IntermediateThrowEvent_1p2yktm">
+ <dc:Bounds x="602" y="819" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1295" y="534.2201382033564" width="87" height="12" />
+ <dc:Bounds x="585" y="855" width="69" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true">
- <dc:Bounds x="1463" y="671" width="50" height="50" />
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_15k8xfs_di" bpmnElement="IntermediateThrowEvent_17j7yap">
+ <dc:Bounds x="744" y="819" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1499" y="715" width="69" height="24" />
+ <dc:Bounds x="730" y="855" width="63" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3">
- <di:waypoint xsi:type="dc:Point" x="1339" y="535" />
- <di:waypoint xsi:type="dc:Point" x="1339" y="648" />
- <di:waypoint xsi:type="dc:Point" x="1490" y="648" />
- <di:waypoint xsi:type="dc:Point" x="1489" y="672" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1kue0lc_di" bpmnElement="IntermediateThrowEvent_1gjzx99">
+ <dc:Bounds x="883" y="819" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="866" y="855" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1hldqvv_di" bpmnElement="SequenceFlow_1hldqvv">
+ <di:waypoint xsi:type="dc:Point" x="245" y="819" />
+ <di:waypoint xsi:type="dc:Point" x="245" y="765" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1404" y="633" width="21" height="12" />
+ <dc:Bounds x="260" y="792" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1sla5dr_di" bpmnElement="SequenceFlow_1sla5dr">
- <di:waypoint xsi:type="dc:Point" x="1463" y="696" />
- <di:waypoint xsi:type="dc:Point" x="440" y="696" />
- <di:waypoint xsi:type="dc:Point" x="440" y="467" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0fog99f_di" bpmnElement="SequenceFlow_0fog99f">
+ <di:waypoint xsi:type="dc:Point" x="620" y="750" />
+ <di:waypoint xsi:type="dc:Point" x="620" y="819" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1228" y="699" width="85" height="24" />
+ <dc:Bounds x="626" y="784.5" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0iektwg_di" bpmnElement="SequenceFlow_0iektwg">
- <di:waypoint xsi:type="dc:Point" x="1467" y="692" />
- <di:waypoint xsi:type="dc:Point" x="1323" y="667" />
- <di:waypoint xsi:type="dc:Point" x="764" y="667" />
- <di:waypoint xsi:type="dc:Point" x="764" y="467" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0ye8oij_di" bpmnElement="SequenceFlow_0ye8oij">
+ <di:waypoint xsi:type="dc:Point" x="762" y="819" />
+ <di:waypoint xsi:type="dc:Point" x="762" y="765" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1214" y="631" width="87" height="24" />
+ <dc:Bounds x="777" y="792" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1ttepat_di" bpmnElement="SequenceFlow_1ttepat">
- <di:waypoint xsi:type="dc:Point" x="1468" y="701" />
- <di:waypoint xsi:type="dc:Point" x="1346" y="735" />
- <di:waypoint xsi:type="dc:Point" x="243" y="735" />
- <di:waypoint xsi:type="dc:Point" x="243" y="639" />
+ <bpmndi:BPMNEdge id="SequenceFlow_12g63pl_di" bpmnElement="SequenceFlow_12g63pl">
+ <di:waypoint xsi:type="dc:Point" x="901" y="750" />
+ <di:waypoint xsi:type="dc:Point" x="901" y="819" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1233" y="743" width="85" height="24" />
+ <dc:Bounds x="907" y="784.5" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1hx1ur7_di" bpmnElement="SequenceFlow_1hx1ur7">
- <di:waypoint xsi:type="dc:Point" x="1488" y="721" />
- <di:waypoint xsi:type="dc:Point" x="1488" y="789" />
- <di:waypoint xsi:type="dc:Point" x="1322" y="883" />
- <di:waypoint xsi:type="dc:Point" x="475" y="883" />
- <di:waypoint xsi:type="dc:Point" x="475" y="850" />
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1ad2ab4_di" bpmnElement="IntermediateThrowEvent_03lb8ti">
+ <dc:Bounds x="171" y="1083" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1316" y="811" width="85" height="24" />
+ <dc:Bounds x="162" y="1118.566866267465" width="54" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1bj88jr_di" bpmnElement="IntermediateThrowEvent_1umr8ik">
+ <dc:Bounds x="299" y="1083" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="282" y="1118.566866267465" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1a795jb_di" bpmnElement="IntermediateThrowEvent_044oajb">
+ <dc:Bounds x="447" y="1083" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="428" y="1119" width="74" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0l74cfl_di" bpmnElement="IntermediateThrowEvent_1c1s0hp">
+ <dc:Bounds x="608" y="1083" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="591" y="1119" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1vgxxf3_di" bpmnElement="IntermediateThrowEvent_11i6md0">
+ <dc:Bounds x="750" y="1083" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="725" y="1119" width="85" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_08t3cq7_di" bpmnElement="IntermediateThrowEvent_1d8c9i0">
+ <dc:Bounds x="889" y="1083" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="872" y="1119" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_08kn9ok_di" bpmnElement="SequenceFlow_08kn9ok">
+ <di:waypoint xsi:type="dc:Point" x="189" y="1083" />
+ <di:waypoint xsi:type="dc:Point" x="189" y="1023" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="204" y="1043" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0ukzynj_di" bpmnElement="SequenceFlow_0ukzynj">
- <di:waypoint xsi:type="dc:Point" x="1488" y="721" />
- <di:waypoint xsi:type="dc:Point" x="1488" y="818" />
- <di:waypoint xsi:type="dc:Point" x="1346" y="918" />
- <di:waypoint xsi:type="dc:Point" x="764" y="918" />
- <di:waypoint xsi:type="dc:Point" x="764" y="850" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0l83v2k_di" bpmnElement="SequenceFlow_0l83v2k">
+ <di:waypoint xsi:type="dc:Point" x="317" y="1008" />
+ <di:waypoint xsi:type="dc:Point" x="317" y="1083" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1374" y="853.0052048946286" width="85" height="24" />
+ <dc:Bounds x="323" y="1035.5" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1lsfn19_di" bpmnElement="SequenceFlow_1lsfn19">
- <di:waypoint xsi:type="dc:Point" x="1488" y="721" />
- <di:waypoint xsi:type="dc:Point" x="1488" y="858" />
- <di:waypoint xsi:type="dc:Point" x="1368" y="952" />
- <di:waypoint xsi:type="dc:Point" x="1010" y="952" />
- <di:waypoint xsi:type="dc:Point" x="1010" y="850" />
+ <bpmndi:BPMNEdge id="SequenceFlow_02uiht9_di" bpmnElement="SequenceFlow_02uiht9">
+ <di:waypoint xsi:type="dc:Point" x="465" y="1083" />
+ <di:waypoint xsi:type="dc:Point" x="465" y="1023" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1402" y="937.143889853408" width="85" height="24" />
+ <dc:Bounds x="480" y="1043" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v">
- <di:waypoint xsi:type="dc:Point" x="319" y="599" />
- <di:waypoint xsi:type="dc:Point" x="454" y="599" />
+ <bpmndi:BPMNEdge id="SequenceFlow_07fhkt4_di" bpmnElement="SequenceFlow_07fhkt4">
+ <di:waypoint xsi:type="dc:Point" x="626" y="1008" />
+ <di:waypoint xsi:type="dc:Point" x="626" y="1083" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="387" y="584" width="0" height="0" />
+ <dc:Bounds x="632" y="1035.5" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_0rqgdju_di" bpmnElement="Task_0eae8go">
- <dc:Bounds x="219" y="559" width="100" height="80" />
+ <bpmndi:BPMNEdge id="SequenceFlow_11p8elx_di" bpmnElement="SequenceFlow_11p8elx">
+ <di:waypoint xsi:type="dc:Point" x="768" y="1083" />
+ <di:waypoint xsi:type="dc:Point" x="768" y="1023" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="783" y="1043" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0p94lgv_di" bpmnElement="SequenceFlow_0p94lgv">
+ <di:waypoint xsi:type="dc:Point" x="907" y="1008" />
+ <di:waypoint xsi:type="dc:Point" x="907" y="1083" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="913" y="1035.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1dqbqqx_di" bpmnElement="SequenceFlow_1dqbqqx">
+ <di:waypoint xsi:type="dc:Point" x="181" y="1320" />
+ <di:waypoint xsi:type="dc:Point" x="182" y="1280" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="182" y="1285" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_11t1f0p_di" bpmnElement="IntermediateThrowEvent_0xv558x">
+ <dc:Bounds x="163" y="1320" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="145" y="1355.045908183633" width="72" height="24" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_0fxuur5_di" bpmnElement="SequenceFlow_0fxuur5">
- <di:waypoint xsi:type="dc:Point" x="1505" y="688" />
- <di:waypoint xsi:type="dc:Point" x="1700" y="587" />
- <di:waypoint xsi:type="dc:Point" x="1700" y="307" />
- <di:waypoint xsi:type="dc:Point" x="475" y="307" />
- <di:waypoint xsi:type="dc:Point" x="475" y="277" />
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0rgn1jk_di" bpmnElement="IntermediateThrowEvent_0hljxy3">
+ <dc:Bounds x="1051" y="492" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1034" y="528" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1nplvhi_di" bpmnElement="SequenceFlow_1nplvhi">
+ <di:waypoint xsi:type="dc:Point" x="1087" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1132" y="510" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1563" y="581.1817056243242" width="88" height="36" />
+ <dc:Bounds x="1110" y="485" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1wax44p_di" bpmnElement="SequenceFlow_1wax44p">
- <di:waypoint xsi:type="dc:Point" x="1507" y="690" />
- <di:waypoint xsi:type="dc:Point" x="1804" y="594" />
- <di:waypoint xsi:type="dc:Point" x="1804" y="307" />
- <di:waypoint xsi:type="dc:Point" x="743" y="307" />
- <di:waypoint xsi:type="dc:Point" x="743" y="277" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0tqrgop_di" bpmnElement="SequenceFlow_0tqrgop">
+ <di:waypoint xsi:type="dc:Point" x="1462" y="491" />
+ <di:waypoint xsi:type="dc:Point" x="1523" y="299" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1671" y="596.5" width="81" height="24" />
+ <dc:Bounds x="1493" y="380" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1nlqlwn_di" bpmnElement="SequenceFlow_1nlqlwn">
- <di:waypoint xsi:type="dc:Point" x="1510" y="693" />
- <di:waypoint xsi:type="dc:Point" x="1904" y="635" />
- <di:waypoint xsi:type="dc:Point" x="1904" y="307" />
- <di:waypoint xsi:type="dc:Point" x="175" y="307" />
- <di:waypoint xsi:type="dc:Point" x="175" y="387" />
+ <bpmndi:BPMNEdge id="SequenceFlow_126nlmw_di" bpmnElement="SequenceFlow_126nlmw">
+ <di:waypoint xsi:type="dc:Point" x="1466" y="495" />
+ <di:waypoint xsi:type="dc:Point" x="1569" y="327" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1762" y="612.956397371246" width="80" height="24" />
+ <dc:Bounds x="1518" y="396" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1c022sy_di" bpmnElement="SequenceFlow_1c022sy">
- <di:waypoint xsi:type="dc:Point" x="1499" y="682" />
- <di:waypoint xsi:type="dc:Point" x="1657" y="478" />
- <di:waypoint xsi:type="dc:Point" x="1657" y="373" />
- <di:waypoint xsi:type="dc:Point" x="1538" y="373" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0mw3mwl_di" bpmnElement="SequenceFlow_0mw3mwl">
+ <di:waypoint xsi:type="dc:Point" x="1469" y="498" />
+ <di:waypoint xsi:type="dc:Point" x="1614" y="360" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1542" y="414" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_13md9cw_di" bpmnElement="SequenceFlow_13md9cw">
+ <di:waypoint xsi:type="dc:Point" x="1472" y="501" />
+ <di:waypoint xsi:type="dc:Point" x="1652" y="403" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1562" y="437" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0xylem3_di" bpmnElement="SequenceFlow_0xylem3">
+ <di:waypoint xsi:type="dc:Point" x="1476" y="505" />
+ <di:waypoint xsi:type="dc:Point" x="1682" y="451" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1579" y="463" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1c5mxd5_di" bpmnElement="SequenceFlow_1c5mxd5">
+ <di:waypoint xsi:type="dc:Point" x="1481" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1697" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1589" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0u8hiu2_di" bpmnElement="SequenceFlow_0u8hiu2">
+ <di:waypoint xsi:type="dc:Point" x="1477" y="514" />
+ <di:waypoint xsi:type="dc:Point" x="1682" y="559" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1580" y="521.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0fs7ay9_di" bpmnElement="SequenceFlow_0fs7ay9">
+ <di:waypoint xsi:type="dc:Point" x="1473" y="518" />
+ <di:waypoint xsi:type="dc:Point" x="1652" y="610" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1563" y="549" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_00qwx4v_di" bpmnElement="SequenceFlow_00qwx4v">
+ <di:waypoint xsi:type="dc:Point" x="1469" y="522" />
+ <di:waypoint xsi:type="dc:Point" x="1615" y="661" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1542" y="576.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_14s8ji9_di" bpmnElement="SequenceFlow_14s8ji9">
+ <di:waypoint xsi:type="dc:Point" x="1466" y="525" />
+ <di:waypoint xsi:type="dc:Point" x="1570" y="692" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1518" y="593.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0kricor_di" bpmnElement="SequenceFlow_0kricor">
+ <di:waypoint xsi:type="dc:Point" x="1462" y="529" />
+ <di:waypoint xsi:type="dc:Point" x="1524" y="722" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1493" y="610.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_11fq8y0_di" bpmnElement="IntermediateThrowEvent_08j8zjs">
+ <dc:Bounds x="1511" y="265" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1486" y="233.41716566866268" width="85" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0s02puh_di" bpmnElement="IntermediateThrowEvent_0tj8iiy">
+ <dc:Bounds x="1561" y="294" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1561" y="259.4171656686627" width="88" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0jpplot_di" bpmnElement="IntermediateThrowEvent_0oeqjo1">
+ <dc:Bounds x="1609" y="330" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1672" y="425.5" width="0" height="0" />
+ <dc:Bounds x="1625" y="306.4171656686627" width="64" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_002ei8c_di" bpmnElement="IntermediateThrowEvent_1939dn7">
+ <dc:Bounds x="1650" y="377" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1689" y="354.4171656686627" width="51" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0mfh44i_di" bpmnElement="IntermediateThrowEvent_1rn3nlo">
+ <dc:Bounds x="1681" y="429" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1724" y="427.4171656686627" width="62" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0nuhjay_di" bpmnElement="IntermediateThrowEvent_0weaigg">
+ <dc:Bounds x="1697" y="493" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1744" y="492.4171656686626" width="84" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_178560e_di" bpmnElement="IntermediateThrowEvent_1q8mns4">
+ <dc:Bounds x="1681" y="546" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1730" y="558.2894211576846" width="63" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1iiwg3y_di" bpmnElement="IntermediateThrowEvent_16kgzdv">
+ <dc:Bounds x="1650" y="601" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1698" y="607.2894211576846" width="54" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0q4aaqn_di" bpmnElement="IntermediateThrowEvent_18v3win">
+ <dc:Bounds x="1609" y="656" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1654" y="679.2894211576846" width="74" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0x5j21r_di" bpmnElement="IntermediateThrowEvent_0kypyu0">
+ <dc:Bounds x="1562" y="689" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1595" y="727.2894211576846" width="85" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_130x96w_di" bpmnElement="IntermediateThrowEvent_024m4nk">
+ <dc:Bounds x="1511" y="721" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1507" y="763.2894211576846" width="72" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_178fxkj_di" bpmnElement="SequenceFlow_178fxkj">
+ <di:waypoint xsi:type="dc:Point" x="971" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="131" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="543" y="141" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0d7vlr8_di" bpmnElement="Task_155eyrq">
+ <dc:Bounds x="871" y="50" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0a0lfh8_di" bpmnElement="SequenceFlow_0a0lfh8">
+ <di:waypoint xsi:type="dc:Point" x="320" y="1576" />
+ <di:waypoint xsi:type="dc:Point" x="353" y="1576" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="337" y="1561" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0r0o5yt_di" bpmnElement="SequenceFlow_0r0o5yt">
+ <di:waypoint xsi:type="dc:Point" x="453" y="1576" />
+ <di:waypoint xsi:type="dc:Point" x="490" y="1576" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="472" y="1561" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0slcwxc_di" bpmnElement="SequenceFlow_0slcwxc">
+ <di:waypoint xsi:type="dc:Point" x="590" y="1576" />
+ <di:waypoint xsi:type="dc:Point" x="621" y="1576" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="606" y="1561" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1gdinh5_di" bpmnElement="Task_07rej8l">
+ <dc:Bounds x="220" y="1536" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0l1xjdz_di" bpmnElement="Task_16v4gow">
+ <dc:Bounds x="490" y="1536" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1e4qhkx_di" bpmnElement="Task_18twhln">
+ <dc:Bounds x="353" y="1536" width="100" height="80" />
+ </bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfConfigUpdate.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfConfigUpdate.bpmn
new file mode 100644
index 0000000000..5915b9b592
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfConfigUpdate.bpmn
@@ -0,0 +1,1631 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_F0omAMXGEeW834CKd-K10Q" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+ <bpmn2:process id="VnfConfigUpdate" name="VnfConfigUpdate" isExecutable="true">
+ <bpmn2:scriptTask id="ScriptTask_1" name="Send Synch Response" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0y0jt4l</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.sendSynchResponse(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="Task_1rxiqe1" targetRef="ExclusiveGateway_045e1uz" />
+ <bpmn2:scriptTask id="PreProcessRequest" name="Pre-Process Request" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.preProcessRequest(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessRequest" targetRef="ScriptTask_1" />
+ <bpmn2:callActivity id="CallActivity_1" name="Completion Handler" calledElement="CompleteMsoProcess">
+ <bpmn2:extensionElements>
+ <camunda:in source="CompletionHandlerRequest" target="CompleteMsoProcessRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="CallActivity_1" targetRef="ScriptTask_4" />
+ <bpmn2:endEvent id="EndEvent_1" name="TheEnd">
+ <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
+ <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_5" />
+ </bpmn2:endEvent>
+ <bpmn2:scriptTask id="ScriptTask_4" name="Set Success Indicator" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[// The following variable is checked by the unit test
+execution.setVariable("VnfConfigUpdateSuccessIndicator", true)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_1" />
+ <bpmn2:scriptTask id="ScriptTask_10" name="Completion Handler (prep)" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_07uuj2d</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.completionHandlerPrep(execution, 'CompletionHandlerRequest')
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_10" targetRef="CallActivity_1" />
+ <bpmn2:subProcess id="SubProcess_1" name="Error Handler" triggeredByEvent="true">
+ <bpmn2:startEvent id="StartEvent_3" name="Catch All Errors">
+ <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
+ <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" />
+ </bpmn2:startEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="Task_1tx7e9s" />
+ <bpmn2:scriptTask id="ScriptTask_3" name="Fallout Handler (prep)" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0xt2xvx</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.falloutHandlerPrep(execution, 'FalloutHandlerRequest')
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="ScriptTask_3" targetRef="CallActivity_2" />
+ <bpmn2:callActivity id="CallActivity_2" name="Fallout Handler" calledElement="FalloutHandler">
+ <bpmn2:extensionElements>
+ <camunda:in source="FalloutHandlerRequest" target="FalloutHandlerRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:endEvent id="EndEvent_2">
+ <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming>
+ <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" />
+ </bpmn2:endEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="CallActivity_2" targetRef="EndEvent_2" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1vxpbd0" sourceRef="Task_1tx7e9s" targetRef="Task_02avn81" />
+ <bpmn2:sequenceFlow id="SequenceFlow_03ayqeh" sourceRef="Task_02avn81" targetRef="Task_0b707rs" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0xt2xvx" sourceRef="Task_0b707rs" targetRef="ScriptTask_3" />
+ <bpmn2:scriptTask id="Task_1tx7e9s" name="PreProcess Rollback" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1vxpbd0</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.preProcessRollback(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_0b707rs" name="PostProcess Rollback" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_03ayqeh</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0xt2xvx</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.postProcessRollback(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="Task_02avn81" name="Rollback Processing" calledElement="RollbackVnf">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" />
+ <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" />
+ <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" />
+ <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" />
+ <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1vxpbd0</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_03ayqeh</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ </bpmn2:subProcess>
+ <bpmn2:endEvent id="EndEvent_3">
+ <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
+ <bpmn2:terminateEventDefinition id="TerminateEventDefinition_2" />
+ </bpmn2:endEvent>
+ <bpmn2:boundaryEvent id="BoundaryEvent_1" name="" attachedToRef="SubProcess_1">
+ <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing>
+ <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" />
+ </bpmn2:boundaryEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="BoundaryEvent_1" targetRef="EndEvent_3" />
+ <bpmn2:startEvent id="StartEvent_1" name="Start">
+ <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
+ </bpmn2:startEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" />
+ <bpmn2:sequenceFlow id="SequenceFlow_3" name="no" sourceRef="ExclusiveGateway_18j1ow5" targetRef="ScriptTask_10" />
+ <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0vy2zge" />
+ <bpmn2:scriptTask id="Task_1opcb4j" name="Query A&#38;AI for VNF" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0y0jt4l</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_053qjfy</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.queryAAIForVnf(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0y0jt4l" sourceRef="ScriptTask_1" targetRef="Task_1opcb4j" />
+ <bpmn2:scriptTask id="Task_1rxiqe1" name="Check If VNF Is In Maintenance in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_16mo99z</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_09lrk4q</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.checkIfVnfInMaintInAAI(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0usxnlk" sourceRef="Task_0vy2zge" targetRef="ExclusiveGateway_0q323wc" />
+ <bpmn2:scriptTask id="Task_0ap39ka" name="Set VNF inMaintenance Flag in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0baosqi</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1eezqx8</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0k3fx7p</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.setVnfInMaintFlagInAAI(execution, true)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_1drglpt" name="Unset VNF In Maintenance Flag in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_16ff86u</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_08m0j98</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_12mfil6</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.setVnfInMaintFlagInAAI(execution, false)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_0vy2zge" name="Check If Physical Servers Are Locked in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_179tyul</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0usxnlk</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.checkIfPserversInMaintInAAI(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0q323wc" name="Error on PServers Check?" default="SequenceFlow_16mo99z">
+ <bpmn2:incoming>SequenceFlow_0usxnlk</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_16mo99z</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_06ev8or</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_16mo99z" name="no" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_1rxiqe1" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_045e1uz" name="Error On inMaintenance Check?" default="SequenceFlow_0baosqi">
+ <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0baosqi</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1cdfjed</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0baosqi" name="no" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0ap39ka" />
+ <bpmn2:callActivity id="Task_0q5cdit" name="Rainy Day Handler" calledElement="RainyDayHandler">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="serviceType" target="serviceType" />
+ <camunda:in source="nfRole" target="vnfType" />
+ <camunda:in source="currentActivity" target="currentActivity" />
+ <camunda:in source="workStep" target="workStep" />
+ <camunda:in source="failedActivity" target="failedActivity" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:in source="errorText" target="errorText" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:out source="handlingCode" target="disposition" />
+ <camunda:in source="requestorId" target="requestorId" />
+ <camunda:out source="taskId" target="taskId" />
+ <camunda:in source="vnfName" target="vnfName" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0nob5cp</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0v0u7mf</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_0v0u7mf" sourceRef="Task_0q5cdit" targetRef="ExclusiveGateway_0xlxgl0" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0vpd06n" name="Abort" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_1tg549h">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Abort"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1qr8msw" name="Rollback" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0zbogrm">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Rollback"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0ud5uwa" name="Eror on inMaintenance Set?" default="SequenceFlow_06ajc11">
+ <bpmn2:incoming>SequenceFlow_0k3fx7p</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_17g62fl</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_06ajc11</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0k3fx7p" sourceRef="Task_0ap39ka" targetRef="ExclusiveGateway_0ud5uwa" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1gn5lab" name="Error on Health PostCheck?" default="SequenceFlow_08m0j98">
+ <bpmn2:incoming>SequenceFlow_1c79909</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1urpp94</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_08m0j98</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0l2z6wc" name="Erorr on inMaintenance Unset?" default="SequenceFlow_0u6ho2p">
+ <bpmn2:incoming>SequenceFlow_12mfil6</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0u6ho2p</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0k3zxpd</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_12mfil6" sourceRef="Task_1drglpt" targetRef="ExclusiveGateway_0l2z6wc" />
+ <bpmn2:scriptTask id="Task_1tg549h" name="Abort Processing" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0vpd06n</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1c022sy</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_05omwbu</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_18lemf9</bpmn2:incoming>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.abortProcessing(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0xlxgl0" name="Check Disposition">
+ <bpmn2:incoming>SequenceFlow_0v0u7mf</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1qr8msw</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_05gpym3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0vpd06n</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0rlmex7</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0y82zzx" name="Next Step?&#10;&#10;" default="SequenceFlow_1c022sy">
+ <bpmn2:incoming>SequenceFlow_05gpym3</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_19myx3o</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1c022sy</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0ueoglv</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_15fqlwe</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0yuj0l5</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1abb030</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0ls3ej5</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1ar6ikk</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0t53vux</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_11ck4qe</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_16d2ln4</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1quapjx</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_101n488</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_05gpym3" name="Skip" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ExclusiveGateway_0y82zzx">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Skip" ]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1c022sy" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" />
+ <bpmn2:sequenceFlow id="SequenceFlow_06ev8or" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="IntermediateThrowEvent_0zmqbae">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0zmqbae" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_06ev8or</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0nob5cp" sourceRef="IntermediateThrowEvent_0z0t7rn" targetRef="Task_0q5cdit" />
+ <bpmn2:sequenceFlow id="SequenceFlow_076leae" sourceRef="Task_0e313zv" targetRef="ExclusiveGateway_1rglbmr" />
+ <bpmn2:scriptTask id="Task_0e313zv" name="Check If VF Closed Loop Disabled in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0zzwdwf</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_06ajc11</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_076leae</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.checkIfClosedLoopDisabledInAAI(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1rglbmr" name="Error on isClosedLoopDisabled Check?" default="SequenceFlow_0du9273">
+ <bpmn2:incoming>SequenceFlow_076leae</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0du9273</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0zh8r6j</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0du9273" name="no&#10;&#10;" sourceRef="ExclusiveGateway_1rglbmr" targetRef="Task_0n1d5f2" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0z0t7rn" name="To Rainy Day Handling" camunda:asyncBefore="true">
+ <bpmn2:outgoing>SequenceFlow_0nob5cp</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1qkzlba" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1cdfjed</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1cdfjed" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="IntermediateThrowEvent_1qkzlba">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rnlvmz" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_17g62fl</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_17g62fl" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="IntermediateThrowEvent_0rnlvmz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0v69raz" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0zh8r6j</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0zh8r6j" name="yes&#10;&#10;" sourceRef="ExclusiveGateway_1rglbmr" targetRef="IntermediateThrowEvent_0v69raz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_15hlkuq" name="To inMaintenanceCheck">
+ <bpmn2:outgoing>SequenceFlow_09lrk4q</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To inMaintenanceCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_09lrk4q" sourceRef="IntermediateThrowEvent_15hlkuq" targetRef="Task_1rxiqe1" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1eezqx8" sourceRef="IntermediateThrowEvent_1lrkrsn" targetRef="Task_0ap39ka" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1lrkrsn" name="To InMaintenance Set">
+ <bpmn2:outgoing>SequenceFlow_1eezqx8</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To InMaintenance Set" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1wdxgjm" name="To check if Closed Loop Disabled">
+ <bpmn2:outgoing>SequenceFlow_0zzwdwf</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To check if Closed Loop Disabled" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0zzwdwf" sourceRef="IntermediateThrowEvent_1wdxgjm" targetRef="Task_0e313zv" />
+ <bpmn2:sequenceFlow id="SequenceFlow_06ajc11" name="no" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="Task_0e313zv" />
+ <bpmn2:sequenceFlow id="SequenceFlow_179z9vl" sourceRef="Task_0n1d5f2" targetRef="ExclusiveGateway_148eo7w" />
+ <bpmn2:scriptTask id="Task_0n1d5f2" name="Set VF Is Closed Loop Disabled Flag in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0du9273</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_032tm9y</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_179z9vl</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.setClosedLoopDisabledInAAI(execution, true)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_032tm9y" sourceRef="IntermediateThrowEvent_1552q1o" targetRef="Task_0n1d5f2" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1552q1o" name="To set Closed Loop Disabled">
+ <bpmn2:outgoing>SequenceFlow_032tm9y</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To set Closed Loop Disabled" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_148eo7w" name="Error on Set IsClosedLoopDisabled Flag in A&#38;AI?" default="SequenceFlow_1cjiv6i">
+ <bpmn2:incoming>SequenceFlow_179z9vl</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1cjiv6i</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1q3oxtf</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1cjiv6i" name="no&#10;&#10;" sourceRef="ExclusiveGateway_148eo7w" targetRef="Task_1hdg951" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_16r1jxm" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1q3oxtf</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1q3oxtf" name="yes" sourceRef="ExclusiveGateway_148eo7w" targetRef="IntermediateThrowEvent_16r1jxm">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_02hirbh" name="To ConfigModify">
+ <bpmn2:outgoing>SequenceFlow_1wqinjh</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To ConfigModify" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1urpp94" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="IntermediateThrowEvent_0vf0a28">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0vf0a28" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1urpp94</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pk24h2" name="To Health PreCheck">
+ <bpmn2:outgoing>SequenceFlow_1colra4</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Health PreCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_18j1ow5" name="Error on Unset Closed Loop Disabled?" default="SequenceFlow_3">
+ <bpmn2:incoming>SequenceFlow_1tzax6l</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0w8mkkn</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0u6ho2p" name="no" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="Task_0y1h8go" />
+ <bpmn2:scriptTask id="Task_0y1h8go" name="Unset VF Is Closed Loop DisabledFlag in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0u6ho2p</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_09xxorv</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1tzax6l</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.setClosedLoopDisabledInAAI(execution, false)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_1tzax6l" sourceRef="Task_0y1h8go" targetRef="ExclusiveGateway_18j1ow5" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pmevcz" name="To unset inMaintenance">
+ <bpmn2:outgoing>SequenceFlow_16ff86u</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To unset inMaintenance" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_16ff86u" sourceRef="IntermediateThrowEvent_0pmevcz" targetRef="Task_1drglpt" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0k3zxpd" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="IntermediateThrowEvent_1awckg7">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1awckg7" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0k3zxpd</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1b3smly" name="To unset Closed Loop Disabled">
+ <bpmn2:outgoing>SequenceFlow_09xxorv</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To unset Closed Loop Disabled" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_09xxorv" sourceRef="IntermediateThrowEvent_1b3smly" targetRef="Task_0y1h8go" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0w8mkkn" name="yes" sourceRef="ExclusiveGateway_18j1ow5" targetRef="IntermediateThrowEvent_1cw8gsw">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1cw8gsw" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0w8mkkn</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0x846wp" name="To Completion Handler Prep">
+ <bpmn2:outgoing>SequenceFlow_07uuj2d</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Completion Handler Prep" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_07uuj2d" sourceRef="IntermediateThrowEvent_0x846wp" targetRef="ScriptTask_10" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0ueoglv" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0rz6jh4">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkIfPserversInMaintInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkIfVnfInMaintInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_15fqlwe" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1wip9vc">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkIfVnfInMaintInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "setVnfInMaintFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0yuj0l5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1hki8xj">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "setVnfInMaintFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1abb030" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1gfnt9b">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkClosedLoopDisabledFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "setClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0ls3ej5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1gzhs1a">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "setClosedLoopDisabledFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "HealthCheck0")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1ar6ikk" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1p9i2bi">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "ConfigModify") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "HealthCheck1")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0t53vux" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1cp0hkt">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "HealthCheck1") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_11ck4qe" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_184w0i8">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "unsetClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_16d2ln4" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1u9f9kp">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "unsetClosedLoopDisabledFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "completionHandlerPrep")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rz6jh4" name="To inMaintenanceCheck">
+ <bpmn2:incoming>SequenceFlow_0ueoglv</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To inMaintenanceCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1wip9vc" name="To InMaintenance Set">
+ <bpmn2:incoming>SequenceFlow_15fqlwe</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To InMaintenance Set" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1hki8xj" name="To check if Closed Loop Disabled">
+ <bpmn2:incoming>SequenceFlow_0yuj0l5</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To check if Closed Loop Disabled" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gfnt9b" name="To set Closed Loop Disabled">
+ <bpmn2:incoming>SequenceFlow_1abb030</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To set Closed Loop Disabled" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gzhs1a" name="To Health PreCheck">
+ <bpmn2:incoming>SequenceFlow_0ls3ej5</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Health PreCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0385ons" name="To ConfigModify">
+ <bpmn2:incoming>SequenceFlow_1quapjx</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To ConfigModify" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1quapjx" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0385ons">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "HealthCheck0") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "ConfigModify")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1p9i2bi" name="To Health PostCheck">
+ <bpmn2:incoming>SequenceFlow_1ar6ikk</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Health PostCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1cp0hkt" name="To unset inMaintenance">
+ <bpmn2:incoming>SequenceFlow_0t53vux</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To unset inMaintenance" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_184w0i8" name="To unset Closed Loop Disabled">
+ <bpmn2:incoming>SequenceFlow_11ck4qe</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To unset Closed Loop Disabled" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1u9f9kp" name="To Completion Handler Prep">
+ <bpmn2:incoming>SequenceFlow_16d2ln4</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Completion Handler Prep" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_18wrvcy" name="To check if Physical Servers Are Locked">
+ <bpmn2:outgoing>SequenceFlow_179tyul</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To check if Physical Servers Are Locked" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_179tyul" sourceRef="IntermediateThrowEvent_18wrvcy" targetRef="Task_0vy2zge" />
+ <bpmn2:sequenceFlow id="SequenceFlow_101n488" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_17k1fmk">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_17k1fmk" name="To check if Physical Servers Are Locked">
+ <bpmn2:incoming>SequenceFlow_101n488</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To check if Physical Servers Are Locked" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1colra4" sourceRef="IntermediateThrowEvent_0pk24h2" targetRef="Task_1hdg951" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0fhmhsk" name="To Health PostCheck">
+ <bpmn2:outgoing>SequenceFlow_16igl7b</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Health PostCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_16igl7b" sourceRef="IntermediateThrowEvent_0fhmhsk" targetRef="Task_1ca5ctq" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1c79909" sourceRef="Task_1ca5ctq" targetRef="ExclusiveGateway_1gn5lab" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_16eos6z" name="Error on Health PreCheck?" default="SequenceFlow_188a7lk">
+ <bpmn2:incoming>SequenceFlow_0wfzjs1</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_188a7lk</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_12konw1</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1nettij" name="Error on ConfigModify?" default="SequenceFlow_0q1skau">
+ <bpmn2:incoming>SequenceFlow_0lpreg4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0q1skau</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1s3pbww</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0wfzjs1" sourceRef="Task_1hdg951" targetRef="ExclusiveGateway_16eos6z" />
+ <bpmn2:sequenceFlow id="SequenceFlow_188a7lk" name="no" sourceRef="ExclusiveGateway_16eos6z" targetRef="Task_1fj63ov" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0lpreg4" sourceRef="Task_1fj63ov" targetRef="ExclusiveGateway_1nettij" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0q1skau" name="no" sourceRef="ExclusiveGateway_1nettij" targetRef="Task_1ca5ctq" />
+ <bpmn2:sequenceFlow id="SequenceFlow_08m0j98" name="no" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_1drglpt" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1wqinjh" sourceRef="IntermediateThrowEvent_02hirbh" targetRef="Task_1fj63ov" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0s8cdpt" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_12konw1</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_12konw1" name="yes" sourceRef="ExclusiveGateway_16eos6z" targetRef="IntermediateThrowEvent_0s8cdpt">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0e2ibog" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1s3pbww</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1s3pbww" name="yes" sourceRef="ExclusiveGateway_1nettij" targetRef="IntermediateThrowEvent_0e2ibog">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:callActivity id="Task_1hdg951" name="Call APP-C Health PreCheck" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionHealthCheck" target="action" />
+ <camunda:in source="healthCheckIndex0" target="healthCheckIndex" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1cjiv6i</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1colra4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0wfzjs1</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1ca5ctq" name="Call APP-C Health PostCheck" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionHealthCheck" target="action" />
+ <camunda:in source="healthCheckIndex1" target="healthCheckIndex" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_16igl7b</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0q1skau</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1fj63ov" name="Call APP-C ConfigModify" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionConfigModify" target="action" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_188a7lk</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1wqinjh</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0lpreg4</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_0rlmex7" name="Retry" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0em349i">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Retry"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:scriptTask id="Task_0em349i" name="Increment Retry Count" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0rlmex7</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1xwgemy</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfConfigUpdate()
+uvfm.incrementRetryCount(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0yu25qy" name="Retries Left?" default="SequenceFlow_05omwbu">
+ <bpmn2:incoming>SequenceFlow_1nm4wr1</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_19myx3o</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_05omwbu</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_19myx3o" name="yes" sourceRef="ExclusiveGateway_0yu25qy" targetRef="ExclusiveGateway_0y82zzx">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[String retryVariableName = execution.getVariable('retryCountVariableName')
+
+execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_05omwbu" name="no" sourceRef="ExclusiveGateway_0yu25qy" targetRef="Task_1tg549h" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0u8jlsq" name="RetryTimer">
+ <bpmn2:incoming>SequenceFlow_1xwgemy</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1nm4wr1</bpmn2:outgoing>
+ <bpmn2:timerEventDefinition>
+ <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">PT1M</bpmn2:timeDuration>
+ </bpmn2:timerEventDefinition>
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1xwgemy" sourceRef="Task_0em349i" targetRef="IntermediateThrowEvent_0u8jlsq" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1nm4wr1" sourceRef="IntermediateThrowEvent_0u8jlsq" targetRef="ExclusiveGateway_0yu25qy" />
+ <bpmn2:callActivity id="Task_0zbogrm" name="Rollback Processing" calledElement="RollbackVnf">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" />
+ <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" />
+ <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" />
+ <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1qr8msw</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_18lemf9</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_18lemf9" sourceRef="Task_0zbogrm" targetRef="Task_1tg549h" />
+ </bpmn2:process>
+ <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="VnfConfigUpdate">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_50" bpmnElement="StartEvent_1">
+ <dc:Bounds x="97" y="72" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="103" y="113" width="23" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_EndEvent_125" bpmnElement="EndEvent_1">
+ <dc:Bounds x="574" y="734" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="572" y="775" width="39" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124">
+ <di:waypoint xsi:type="dc:Point" x="133" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="209" y="90" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="171" y="75" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_124" bpmnElement="PreProcessRequest">
+ <dc:Bounds x="209" y="50" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_124" targetElement="_BPMNShape_ScriptTask_125">
+ <di:waypoint xsi:type="dc:Point" x="309" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="373" y="90" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="341" y="75" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_125" bpmnElement="ScriptTask_1">
+ <dc:Bounds x="373" y="50" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_125">
+ <di:waypoint xsi:type="dc:Point" x="473" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="513" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="493" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_127" bpmnElement="ScriptTask_4">
+ <dc:Bounds x="420" y="712" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_127" targetElement="_BPMNShape_EndEvent_125">
+ <di:waypoint xsi:type="dc:Point" x="520" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="554" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="554" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="574" y="752" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="569" y="752" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_133" bpmnElement="ScriptTask_10">
+ <dc:Bounds x="131" y="712" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_CallActivity_27" bpmnElement="CallActivity_1">
+ <dc:Bounds x="274" y="712" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_133" targetElement="_BPMNShape_CallActivity_27">
+ <di:waypoint xsi:type="dc:Point" x="231" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="253" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="253" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="274" y="752" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="268" y="752" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_SubProcess_17" bpmnElement="SubProcess_1" isExpanded="true">
+ <dc:Bounds x="109" y="1075" width="1139" height="244" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_3">
+ <dc:Bounds x="173" y="1169" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="152" y="1210" width="78" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_136" bpmnElement="ScriptTask_3">
+ <dc:Bounds x="795" y="1147" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_136">
+ <di:waypoint xsi:type="dc:Point" x="209" y="1187" />
+ <di:waypoint xsi:type="dc:Point" x="265" y="1187" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="237" y="1172" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_136" targetElement="_BPMNShape_CallActivity_28">
+ <di:waypoint xsi:type="dc:Point" x="895" y="1187" />
+ <di:waypoint xsi:type="dc:Point" x="963" y="1187" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="911" y="1187" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_EndEvent_126" bpmnElement="EndEvent_2">
+ <dc:Bounds x="1119" y="1169" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1137" y="1210" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_43" bpmnElement="BoundaryEvent_1">
+ <dc:Bounds x="1230" y="1170" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1248" y="1211" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_EndEvent_127" bpmnElement="EndEvent_3">
+ <dc:Bounds x="1333" y="1169" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1351" y="1210" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_BoundaryEvent_43" targetElement="_BPMNShape_EndEvent_127">
+ <di:waypoint xsi:type="dc:Point" x="1266" y="1188" />
+ <di:waypoint xsi:type="dc:Point" x="1333" y="1187" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1300" y="1172.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_CallActivity_28" bpmnElement="CallActivity_2">
+ <dc:Bounds x="963" y="1147" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_CallActivity_27" targetElement="_BPMNShape_ScriptTask_127">
+ <di:waypoint xsi:type="dc:Point" x="374" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="397" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="397" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="420" y="752" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="412" y="752" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_CallActivity_28" targetElement="_BPMNShape_EndEvent_126">
+ <di:waypoint xsi:type="dc:Point" x="1063" y="1187" />
+ <di:waypoint xsi:type="dc:Point" x="1119" y="1187" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="956" y="1247" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" targetElement="_BPMNShape_ScriptTask_133">
+ <di:waypoint xsi:type="dc:Point" x="1227" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="1293" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="1293" y="662" />
+ <di:waypoint xsi:type="dc:Point" x="97" y="662" />
+ <di:waypoint xsi:type="dc:Point" x="97" y="752" />
+ <di:waypoint xsi:type="dc:Point" x="131" y="752" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1251" y="459" width="12" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_053qjfy_di" bpmnElement="SequenceFlow_053qjfy">
+ <di:waypoint xsi:type="dc:Point" x="642" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="131" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="543" y="141" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_08xzuox_di" bpmnElement="Task_1opcb4j">
+ <dc:Bounds x="542" y="50" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0y0jt4l_di" bpmnElement="SequenceFlow_0y0jt4l">
+ <di:waypoint xsi:type="dc:Point" x="473" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="542" y="90" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="508" y="75" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_19pf9z8_di" bpmnElement="Task_1rxiqe1">
+ <dc:Bounds x="373" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0usxnlk_di" bpmnElement="SequenceFlow_0usxnlk">
+ <di:waypoint xsi:type="dc:Point" x="231" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="279" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="255" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0wa4zya_di" bpmnElement="Task_0ap39ka">
+ <dc:Bounds x="608" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0sgm9bu_di" bpmnElement="Task_1drglpt">
+ <dc:Bounds x="826" y="444" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_16jtt5t_di" bpmnElement="Task_0vy2zge">
+ <dc:Bounds x="131" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0q323wc_di" bpmnElement="ExclusiveGateway_0q323wc" isMarkerVisible="true">
+ <dc:Bounds x="279" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="260" y="173" width="87" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16mo99z_di" bpmnElement="SequenceFlow_16mo99z">
+ <di:waypoint xsi:type="dc:Point" x="329" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="373" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="345" y="213" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_045e1uz_di" bpmnElement="ExclusiveGateway_045e1uz" isMarkerVisible="true">
+ <dc:Bounds x="513" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="501" y="163" width="73" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0baosqi_di" bpmnElement="SequenceFlow_0baosqi">
+ <di:waypoint xsi:type="dc:Point" x="563" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="608" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="579" y="214" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1k5n5d1_di" bpmnElement="Task_0q5cdit">
+ <dc:Bounds x="1491" y="390" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0v0u7mf_di" bpmnElement="SequenceFlow_0v0u7mf">
+ <di:waypoint xsi:type="dc:Point" x="1591" y="430" />
+ <di:waypoint xsi:type="dc:Point" x="1673" y="430" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1632" y="415" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0vpd06n_di" bpmnElement="SequenceFlow_0vpd06n">
+ <di:waypoint xsi:type="dc:Point" x="1698" y="405" />
+ <di:waypoint xsi:type="dc:Point" x="1698" y="312" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1704" y="351" width="27" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1qr8msw_di" bpmnElement="SequenceFlow_1qr8msw">
+ <di:waypoint xsi:type="dc:Point" x="1698" y="455" />
+ <di:waypoint xsi:type="dc:Point" x="1698" y="482" />
+ <di:waypoint xsi:type="dc:Point" x="1698" y="482" />
+ <di:waypoint xsi:type="dc:Point" x="1698" y="524" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1677" y="473" width="42" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0ud5uwa_di" bpmnElement="ExclusiveGateway_0ud5uwa" isMarkerVisible="true">
+ <dc:Bounds x="735" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="731" y="166" width="73" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0k3fx7p_di" bpmnElement="SequenceFlow_0k3fx7p">
+ <di:waypoint xsi:type="dc:Point" x="708" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="735" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="722" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true">
+ <dc:Bounds x="735" y="459" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="721" y="419" width="77" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true">
+ <dc:Bounds x="963" y="459" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="951" y="412" width="73" height="37" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6">
+ <di:waypoint xsi:type="dc:Point" x="926" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="963" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="945" y="469" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h">
+ <dc:Bounds x="1648" y="232" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true">
+ <dc:Bounds x="1673" y="405" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1654" y="387" width="87" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true">
+ <dc:Bounds x="1967" y="405" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1927" y="397" width="54" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3">
+ <di:waypoint xsi:type="dc:Point" x="1723" y="430" />
+ <di:waypoint xsi:type="dc:Point" x="1967" y="430" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1813" y="436" width="21" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1c022sy_di" bpmnElement="SequenceFlow_1c022sy">
+ <di:waypoint xsi:type="dc:Point" x="1992" y="405" />
+ <di:waypoint xsi:type="dc:Point" x="1992" y="272" />
+ <di:waypoint xsi:type="dc:Point" x="1748" y="272" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2007" y="338.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_06ev8or_di" bpmnElement="SequenceFlow_06ev8or">
+ <di:waypoint xsi:type="dc:Point" x="304" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="304" y="288" />
+ <di:waypoint xsi:type="dc:Point" x="304" y="288" />
+ <di:waypoint xsi:type="dc:Point" x="304" y="308" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="314" y="273" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0o6fb4f_di" bpmnElement="IntermediateThrowEvent_0zmqbae">
+ <dc:Bounds x="286" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="269" y="343.609" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0nob5cp_di" bpmnElement="SequenceFlow_0nob5cp">
+ <di:waypoint xsi:type="dc:Point" x="1405" y="430" />
+ <di:waypoint xsi:type="dc:Point" x="1491" y="430" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1448" y="415" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_076leae_di" bpmnElement="SequenceFlow_076leae">
+ <di:waypoint xsi:type="dc:Point" x="926" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="955" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="941" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0cbpm7l_di" bpmnElement="Task_0e313zv">
+ <dc:Bounds x="826" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1rglbmr_di" bpmnElement="ExclusiveGateway_1rglbmr" isMarkerVisible="true">
+ <dc:Bounds x="955.192" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="936" y="164" width="88" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0du9273_di" bpmnElement="SequenceFlow_0du9273">
+ <di:waypoint xsi:type="dc:Point" x="1005" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1046" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1020" y="212" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1p06jf5_di" bpmnElement="IntermediateThrowEvent_0z0t7rn">
+ <dc:Bounds x="1369" y="412" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1354" y="458" width="66" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0xwlxk9_di" bpmnElement="IntermediateThrowEvent_1qkzlba">
+ <dc:Bounds x="520" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="503" y="344" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1cdfjed_di" bpmnElement="SequenceFlow_1cdfjed">
+ <di:waypoint xsi:type="dc:Point" x="538" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="538" y="308" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="544" y="275" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_113xxsl_di" bpmnElement="IntermediateThrowEvent_0rnlvmz">
+ <dc:Bounds x="742" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="725" y="344" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_17g62fl_di" bpmnElement="SequenceFlow_17g62fl">
+ <di:waypoint xsi:type="dc:Point" x="760" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="760" y="308" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="766" y="275" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0iyegh1_di" bpmnElement="IntermediateThrowEvent_0v69raz">
+ <dc:Bounds x="962" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="945" y="343.609" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0zh8r6j_di" bpmnElement="SequenceFlow_0zh8r6j">
+ <di:waypoint xsi:type="dc:Point" x="980" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="980" y="308" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="986" y="285" width="17" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_07pur50_di" bpmnElement="IntermediateThrowEvent_15hlkuq">
+ <dc:Bounds x="405" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="381" y="344" width="83" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_09lrk4q_di" bpmnElement="SequenceFlow_09lrk4q">
+ <di:waypoint xsi:type="dc:Point" x="423" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="423" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="438" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1eezqx8_di" bpmnElement="SequenceFlow_1eezqx8">
+ <di:waypoint xsi:type="dc:Point" x="658" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="658" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="673" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1pog9t5_di" bpmnElement="IntermediateThrowEvent_1lrkrsn">
+ <dc:Bounds x="640" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="614" y="343.609" width="88" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1rtf0em_di" bpmnElement="IntermediateThrowEvent_1wdxgjm">
+ <dc:Bounds x="858" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="844" y="344" width="64" height="37" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0zzwdwf_di" bpmnElement="SequenceFlow_0zzwdwf">
+ <di:waypoint xsi:type="dc:Point" x="876" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="876" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="891" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_06ajc11_di" bpmnElement="SequenceFlow_06ajc11">
+ <di:waypoint xsi:type="dc:Point" x="785" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="826" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="800" y="212" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_179z9vl_di" bpmnElement="SequenceFlow_179z9vl">
+ <di:waypoint xsi:type="dc:Point" x="1146" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1184" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1165" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1iio503_di" bpmnElement="Task_0n1d5f2">
+ <dc:Bounds x="1046" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_032tm9y_di" bpmnElement="SequenceFlow_032tm9y">
+ <di:waypoint xsi:type="dc:Point" x="1096" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="1096" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1111" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0jhmy9d_di" bpmnElement="IntermediateThrowEvent_1552q1o">
+ <dc:Bounds x="1078" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1061" y="344" width="70" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_148eo7w_di" bpmnElement="ExclusiveGateway_148eo7w" isMarkerVisible="true">
+ <dc:Bounds x="1184.192" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1167" y="149" width="83" height="48" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1cjiv6i_di" bpmnElement="SequenceFlow_1cjiv6i">
+ <di:waypoint xsi:type="dc:Point" x="1234" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1285" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1285" y="401" />
+ <di:waypoint xsi:type="dc:Point" x="105" y="401" />
+ <di:waypoint xsi:type="dc:Point" x="105" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="131" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1249" y="211" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1qtnv6e_di" bpmnElement="IntermediateThrowEvent_16r1jxm">
+ <dc:Bounds x="1191" y="299" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1174" y="334.609" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1q3oxtf_di" bpmnElement="SequenceFlow_1q3oxtf">
+ <di:waypoint xsi:type="dc:Point" x="1209" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="1209" y="299" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1215" y="270.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1ogs7t2_di" bpmnElement="IntermediateThrowEvent_02hirbh">
+ <dc:Bounds x="405" y="577" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="383" y="613" width="79" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1urpp94_di" bpmnElement="SequenceFlow_1urpp94">
+ <di:waypoint xsi:type="dc:Point" x="760" y="509" />
+ <di:waypoint xsi:type="dc:Point" x="760" y="577" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="772" y="528.3097560975609" width="17" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1vi3wf9_di" bpmnElement="IntermediateThrowEvent_0vf0a28">
+ <dc:Bounds x="742" y="577" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="726" y="613" width="68" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1bsxf5o_di" bpmnElement="IntermediateThrowEvent_0pk24h2">
+ <dc:Bounds x="163" y="577" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="156" y="613" width="50" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_18j1ow5_di" bpmnElement="ExclusiveGateway_18j1ow5" isMarkerVisible="true">
+ <dc:Bounds x="1177" y="459" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1172" y="407" width="75" height="37" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0u6ho2p_di" bpmnElement="SequenceFlow_0u6ho2p">
+ <di:waypoint xsi:type="dc:Point" x="1013" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="1043" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1022" y="459" width="13" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_08r89q9_di" bpmnElement="Task_0y1h8go">
+ <dc:Bounds x="1043" y="444" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1tzax6l_di" bpmnElement="SequenceFlow_1tzax6l">
+ <di:waypoint xsi:type="dc:Point" x="1143" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="1177" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1333" y="455" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_06j33fe_di" bpmnElement="IntermediateThrowEvent_0pmevcz">
+ <dc:Bounds x="858" y="570" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="841" y="606" width="70" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16ff86u_di" bpmnElement="SequenceFlow_16ff86u">
+ <di:waypoint xsi:type="dc:Point" x="876" y="570" />
+ <di:waypoint xsi:type="dc:Point" x="876" y="524" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="891" y="537" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0k3zxpd_di" bpmnElement="SequenceFlow_0k3zxpd">
+ <di:waypoint xsi:type="dc:Point" x="988" y="509" />
+ <di:waypoint xsi:type="dc:Point" x="988" y="570" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="994" y="540" width="17" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_105mp22_di" bpmnElement="IntermediateThrowEvent_1awckg7">
+ <dc:Bounds x="970" y="570" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="954" y="606" width="68" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0kglv4e_di" bpmnElement="IntermediateThrowEvent_1b3smly">
+ <dc:Bounds x="1075" y="570" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1052" y="606" width="81" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_09xxorv_di" bpmnElement="SequenceFlow_09xxorv">
+ <di:waypoint xsi:type="dc:Point" x="1093" y="570" />
+ <di:waypoint xsi:type="dc:Point" x="1093" y="524" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1108" y="537" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0w8mkkn_di" bpmnElement="SequenceFlow_0w8mkkn">
+ <di:waypoint xsi:type="dc:Point" x="1202" y="509" />
+ <di:waypoint xsi:type="dc:Point" x="1202" y="570" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1208" y="540" width="17" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0jwgx1d_di" bpmnElement="IntermediateThrowEvent_1cw8gsw">
+ <dc:Bounds x="1184" y="570" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1168" y="606" width="68" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0zw87jy_di" bpmnElement="IntermediateThrowEvent_0x846wp">
+ <dc:Bounds x="163" y="847" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="144" y="883" width="73" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_07uuj2d_di" bpmnElement="SequenceFlow_07uuj2d">
+ <di:waypoint xsi:type="dc:Point" x="181" y="847" />
+ <di:waypoint xsi:type="dc:Point" x="181" y="821" />
+ <di:waypoint xsi:type="dc:Point" x="181" y="821" />
+ <di:waypoint xsi:type="dc:Point" x="181" y="792" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="197" y="821" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ueoglv_di" bpmnElement="SequenceFlow_0ueoglv">
+ <di:waypoint xsi:type="dc:Point" x="1999" y="412" />
+ <di:waypoint xsi:type="dc:Point" x="2079" y="197" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2039" y="290" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_15fqlwe_di" bpmnElement="SequenceFlow_15fqlwe">
+ <di:waypoint xsi:type="dc:Point" x="2002" y="415" />
+ <di:waypoint xsi:type="dc:Point" x="2127" y="232" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2066" y="309" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0yuj0l5_di" bpmnElement="SequenceFlow_0yuj0l5">
+ <di:waypoint xsi:type="dc:Point" x="2006" y="419" />
+ <di:waypoint xsi:type="dc:Point" x="2172" y="283" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2089" y="336" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1abb030_di" bpmnElement="SequenceFlow_1abb030">
+ <di:waypoint xsi:type="dc:Point" x="2010" y="423" />
+ <di:waypoint xsi:type="dc:Point" x="2203" y="349" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2107" y="371" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ls3ej5_di" bpmnElement="SequenceFlow_0ls3ej5">
+ <di:waypoint xsi:type="dc:Point" x="2016" y="429" />
+ <di:waypoint xsi:type="dc:Point" x="2221" y="429" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2119" y="414" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ar6ikk_di" bpmnElement="SequenceFlow_1ar6ikk">
+ <di:waypoint xsi:type="dc:Point" x="2006" y="441" />
+ <di:waypoint xsi:type="dc:Point" x="2172" y="565" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2089" y="488" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0t53vux_di" bpmnElement="SequenceFlow_0t53vux">
+ <di:waypoint xsi:type="dc:Point" x="2003" y="444" />
+ <di:waypoint xsi:type="dc:Point" x="2128" y="605" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2066" y="510" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_11ck4qe_di" bpmnElement="SequenceFlow_11ck4qe">
+ <di:waypoint xsi:type="dc:Point" x="1999" y="448" />
+ <di:waypoint xsi:type="dc:Point" x="2078" y="644" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2039" y="531" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_16d2ln4_di" bpmnElement="SequenceFlow_16d2ln4">
+ <di:waypoint xsi:type="dc:Point" x="1996" y="451" />
+ <di:waypoint xsi:type="dc:Point" x="2033" y="670" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2015" y="546" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_17syve1_di" bpmnElement="IntermediateThrowEvent_0rz6jh4">
+ <dc:Bounds x="2067" y="163" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2073" y="123" width="84" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0nv8aic_di" bpmnElement="IntermediateThrowEvent_1wip9vc">
+ <dc:Bounds x="2120" y="200" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2169" y="196" width="89" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1g4pmwc_di" bpmnElement="IntermediateThrowEvent_1hki8xj">
+ <dc:Bounds x="2168" y="254" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2208" y="223" width="64" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1ypnogn_di" bpmnElement="IntermediateThrowEvent_1gfnt9b">
+ <dc:Bounds x="2202" y="326" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2248" y="312" width="71" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1i9ttzs_di" bpmnElement="IntermediateThrowEvent_1gzhs1a">
+ <dc:Bounds x="2221" y="412" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2273" y="409" width="51" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0840e02_di" bpmnElement="IntermediateThrowEvent_0385ons">
+ <dc:Bounds x="2202" y="486" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2250" y="484" width="78" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1quapjx_di" bpmnElement="SequenceFlow_1quapjx">
+ <di:waypoint xsi:type="dc:Point" x="2011" y="436" />
+ <di:waypoint xsi:type="dc:Point" x="2204" y="498" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2108" y="452" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1xq4kx8_di" bpmnElement="IntermediateThrowEvent_1p9i2bi">
+ <dc:Bounds x="2168" y="558" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2227" y="559" width="54" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1vcx5cz_di" bpmnElement="IntermediateThrowEvent_1cp0hkt">
+ <dc:Bounds x="2120" y="601" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2154" y="625" width="70" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1y8fmlw_di" bpmnElement="IntermediateThrowEvent_184w0i8">
+ <dc:Bounds x="2067" y="642" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2107" y="679" width="82" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_024zi9r_di" bpmnElement="IntermediateThrowEvent_1u9f9kp">
+ <dc:Bounds x="2016" y="670" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2021" y="711" width="72" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_08x53cb_di" bpmnElement="IntermediateThrowEvent_18wrvcy">
+ <dc:Bounds x="158" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="134" y="343.09862671660426" width="83" height="37" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_179tyul_di" bpmnElement="SequenceFlow_179tyul">
+ <di:waypoint xsi:type="dc:Point" x="180" y="309" />
+ <di:waypoint xsi:type="dc:Point" x="181" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="181" y="278" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_101n488_di" bpmnElement="SequenceFlow_101n488">
+ <di:waypoint xsi:type="dc:Point" x="1996" y="409" />
+ <di:waypoint xsi:type="dc:Point" x="2033" y="177" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2015" y="278" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1fnxvhb_di" bpmnElement="IntermediateThrowEvent_17k1fmk">
+ <dc:Bounds x="2016" y="141" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1991" y="91" width="86" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1colra4_di" bpmnElement="SequenceFlow_1colra4">
+ <di:waypoint xsi:type="dc:Point" x="181" y="577" />
+ <di:waypoint xsi:type="dc:Point" x="181" y="524" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="196" y="550.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_174wgan_di" bpmnElement="IntermediateThrowEvent_0fhmhsk">
+ <dc:Bounds x="640" y="577" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="631" y="613" width="53" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16igl7b_di" bpmnElement="SequenceFlow_16igl7b">
+ <di:waypoint xsi:type="dc:Point" x="658" y="577" />
+ <di:waypoint xsi:type="dc:Point" x="658" y="524" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="673" y="550.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1c79909_di" bpmnElement="SequenceFlow_1c79909">
+ <di:waypoint xsi:type="dc:Point" x="708" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="735" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="722" y="469" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_16eos6z_di" bpmnElement="ExclusiveGateway_16eos6z" isMarkerVisible="true">
+ <dc:Bounds x="279" y="459" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="265" y="422" width="77" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1nettij_di" bpmnElement="ExclusiveGateway_1nettij" isMarkerVisible="true">
+ <dc:Bounds x="513" y="459" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="502" y="417" width="71" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0wfzjs1_di" bpmnElement="SequenceFlow_0wfzjs1">
+ <di:waypoint xsi:type="dc:Point" x="231" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="279" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="255" y="469" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_188a7lk_di" bpmnElement="SequenceFlow_188a7lk">
+ <di:waypoint xsi:type="dc:Point" x="329" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="373" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="345" y="459" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0lpreg4_di" bpmnElement="SequenceFlow_0lpreg4">
+ <di:waypoint xsi:type="dc:Point" x="473" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="513" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="493" y="469" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0q1skau_di" bpmnElement="SequenceFlow_0q1skau">
+ <di:waypoint xsi:type="dc:Point" x="563" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="608" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="580" y="459" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_08m0j98_di" bpmnElement="SequenceFlow_08m0j98">
+ <di:waypoint xsi:type="dc:Point" x="785" y="484" />
+ <di:waypoint xsi:type="dc:Point" x="826" y="484" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="799" y="459" width="13" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1wqinjh_di" bpmnElement="SequenceFlow_1wqinjh">
+ <di:waypoint xsi:type="dc:Point" x="423" y="577" />
+ <di:waypoint xsi:type="dc:Point" x="423" y="524" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="438" y="550.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0jgks05_di" bpmnElement="IntermediateThrowEvent_0s8cdpt">
+ <dc:Bounds x="286" y="577" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="269" y="613" width="69" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_12konw1_di" bpmnElement="SequenceFlow_12konw1">
+ <di:waypoint xsi:type="dc:Point" x="304" y="509" />
+ <di:waypoint xsi:type="dc:Point" x="304" y="577" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="310" y="532.5983606557377" width="18" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1jys13n_di" bpmnElement="IntermediateThrowEvent_0e2ibog">
+ <dc:Bounds x="520" y="577" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="503" y="613" width="69" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1s3pbww_di" bpmnElement="SequenceFlow_1s3pbww">
+ <di:waypoint xsi:type="dc:Point" x="538" y="509" />
+ <di:waypoint xsi:type="dc:Point" x="538" y="577" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="544" y="533" width="18" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_0iywyn3_di" bpmnElement="Task_1hdg951">
+ <dc:Bounds x="131" y="444" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0pzya8j_di" bpmnElement="Task_1ca5ctq">
+ <dc:Bounds x="608" y="444" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0ck1c9r_di" bpmnElement="Task_1fj63ov">
+ <dc:Bounds x="373" y="444" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0rlmex7_di" bpmnElement="SequenceFlow_0rlmex7">
+ <di:waypoint xsi:type="dc:Point" x="1712" y="441" />
+ <di:waypoint xsi:type="dc:Point" x="1823" y="528" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1778" y="468.1344841912912" width="27" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0dqs9kj_di" bpmnElement="Task_0em349i">
+ <dc:Bounds x="1823" y="489" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0yu25qy_di" bpmnElement="ExclusiveGateway_0yu25qy" isMarkerVisible="true">
+ <dc:Bounds x="1909" y="626" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1903" y="676" width="62" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_19myx3o_di" bpmnElement="SequenceFlow_19myx3o">
+ <di:waypoint xsi:type="dc:Point" x="1959" y="651" />
+ <di:waypoint xsi:type="dc:Point" x="1968" y="651" />
+ <di:waypoint xsi:type="dc:Point" x="1968" y="431" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1975" y="589.1802690904609" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_05omwbu_di" bpmnElement="SequenceFlow_05omwbu">
+ <di:waypoint xsi:type="dc:Point" x="1934" y="626" />
+ <di:waypoint xsi:type="dc:Point" x="1934" y="170" />
+ <di:waypoint xsi:type="dc:Point" x="1698" y="170" />
+ <di:waypoint xsi:type="dc:Point" x="1698" y="232" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1938" y="581.649978474545" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0e4c19r_di" bpmnElement="IntermediateThrowEvent_0u8jlsq">
+ <dc:Bounds x="1855" y="601" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1790" y="613" width="55" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1xwgemy_di" bpmnElement="SequenceFlow_1xwgemy">
+ <di:waypoint xsi:type="dc:Point" x="1873" y="569" />
+ <di:waypoint xsi:type="dc:Point" x="1873" y="601" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1888" y="575" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1nm4wr1_di" bpmnElement="SequenceFlow_1nm4wr1">
+ <di:waypoint xsi:type="dc:Point" x="1873" y="637" />
+ <di:waypoint xsi:type="dc:Point" x="1873" y="651" />
+ <di:waypoint xsi:type="dc:Point" x="1909" y="651" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1888" y="644" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_0b2drei_di" bpmnElement="Task_0zbogrm">
+ <dc:Bounds x="1648" y="524" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_18lemf9_di" bpmnElement="SequenceFlow_18lemf9">
+ <di:waypoint xsi:type="dc:Point" x="1648" y="564" />
+ <di:waypoint xsi:type="dc:Point" x="1617" y="564" />
+ <di:waypoint xsi:type="dc:Point" x="1617" y="272" />
+ <di:waypoint xsi:type="dc:Point" x="1648" y="272" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1632" y="418" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1vxpbd0_di" bpmnElement="SequenceFlow_1vxpbd0">
+ <di:waypoint xsi:type="dc:Point" x="365" y="1187" />
+ <di:waypoint xsi:type="dc:Point" x="431" y="1187" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="398" y="1172" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_03ayqeh_di" bpmnElement="SequenceFlow_03ayqeh">
+ <di:waypoint xsi:type="dc:Point" x="531" y="1187" />
+ <di:waypoint xsi:type="dc:Point" x="614" y="1187" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="573" y="1172" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0xt2xvx_di" bpmnElement="SequenceFlow_0xt2xvx">
+ <di:waypoint xsi:type="dc:Point" x="714" y="1187" />
+ <di:waypoint xsi:type="dc:Point" x="795" y="1187" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="755" y="1172" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1w171si_di" bpmnElement="Task_1tx7e9s">
+ <dc:Bounds x="265" y="1147" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0c9vk4v_di" bpmnElement="Task_0b707rs">
+ <dc:Bounds x="614" y="1147" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_02c6e2e_di" bpmnElement="Task_02avn81">
+ <dc:Bounds x="431" y="1147" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfInPlaceUpdate.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfInPlaceUpdate.bpmn
new file mode 100644
index 0000000000..b6361aaa20
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfInPlaceUpdate.bpmn
@@ -0,0 +1,2290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_F0omAMXGEeW834CKd-K10Q" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+ <bpmn2:process id="VnfInPlaceUpdate" name="VnfInPlaceUpdate" isExecutable="true">
+ <bpmn2:scriptTask id="ScriptTask_1" name="Send Synch Response" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0y0jt4l</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.sendSynchResponse(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="Task_1rxiqe1" targetRef="ExclusiveGateway_045e1uz" />
+ <bpmn2:scriptTask id="PreProcessRequest" name="Pre-Process Request" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.preProcessRequest(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessRequest" targetRef="ScriptTask_1" />
+ <bpmn2:callActivity id="CallActivity_1" name="Completion Handler" calledElement="CompleteMsoProcess">
+ <bpmn2:extensionElements>
+ <camunda:in source="CompletionHandlerRequest" target="CompleteMsoProcessRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="CallActivity_1" targetRef="ScriptTask_4" />
+ <bpmn2:endEvent id="EndEvent_1" name="TheEnd">
+ <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
+ <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_5" />
+ </bpmn2:endEvent>
+ <bpmn2:scriptTask id="ScriptTask_4" name="Set Success Indicator" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[// The following variable is checked by the unit test
+execution.setVariable("VnfInPlaceUpdateSuccessIndicator", true)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_1" />
+ <bpmn2:scriptTask id="ScriptTask_10" name="Completion Handler (prep)" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_07uuj2d</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.completionHandlerPrep(execution, 'CompletionHandlerRequest')
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_10" targetRef="CallActivity_1" />
+ <bpmn2:subProcess id="SubProcess_1" name="Error Handler" triggeredByEvent="true">
+ <bpmn2:startEvent id="StartEvent_3" name="Catch All Errors">
+ <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
+ <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" />
+ </bpmn2:startEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="Task_0ilgwhw" />
+ <bpmn2:scriptTask id="ScriptTask_3" name="Fallout Handler (prep)" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0ib8gb8</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.falloutHandlerPrep(execution, 'FalloutHandlerRequest')
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="ScriptTask_3" targetRef="CallActivity_2" />
+ <bpmn2:callActivity id="CallActivity_2" name="Fallout Handler" calledElement="FalloutHandler">
+ <bpmn2:extensionElements>
+ <camunda:in source="FalloutHandlerRequest" target="FalloutHandlerRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:endEvent id="EndEvent_2">
+ <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming>
+ <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" />
+ </bpmn2:endEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="CallActivity_2" targetRef="EndEvent_2" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1qnzi6i" sourceRef="Task_13sybx8" targetRef="Task_1mt62gu" />
+ <bpmn2:callActivity id="Task_13sybx8" name="Rollback Processing" calledElement="RollbackVnf">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" />
+ <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" />
+ <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" />
+ <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0hvg70o</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1qnzi6i</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_0hvg70o" sourceRef="Task_0ilgwhw" targetRef="Task_13sybx8" />
+ <bpmn2:scriptTask id="Task_0ilgwhw" name="PreProcess Rollback" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0hvg70o</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.preProcessRollback(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0ib8gb8" sourceRef="Task_1mt62gu" targetRef="ScriptTask_3" />
+ <bpmn2:scriptTask id="Task_1mt62gu" name="PostProcess Rollback" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1qnzi6i</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0ib8gb8</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.postProcessRollback(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ </bpmn2:subProcess>
+ <bpmn2:endEvent id="EndEvent_3">
+ <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
+ <bpmn2:terminateEventDefinition id="TerminateEventDefinition_2" />
+ </bpmn2:endEvent>
+ <bpmn2:boundaryEvent id="BoundaryEvent_1" name="" attachedToRef="SubProcess_1">
+ <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing>
+ <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" />
+ </bpmn2:boundaryEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="BoundaryEvent_1" targetRef="EndEvent_3" />
+ <bpmn2:startEvent id="StartEvent_1" name="Start">
+ <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
+ </bpmn2:startEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" />
+ <bpmn2:sequenceFlow id="SequenceFlow_3" name="no" sourceRef="ExclusiveGateway_18j1ow5" targetRef="ScriptTask_10" />
+ <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0vy2zge" />
+ <bpmn2:scriptTask id="Task_1opcb4j" name="Query A&#38;AI for VNF" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0y0jt4l</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_053qjfy</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.queryAAIForVnf(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0y0jt4l" sourceRef="ScriptTask_1" targetRef="Task_1opcb4j" />
+ <bpmn2:scriptTask id="Task_1rxiqe1" name="Check If VNF Is In Maintenance in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_16mo99z</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_09lrk4q</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.checkIfVnfInMaintInAAI(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0usxnlk" sourceRef="Task_0vy2zge" targetRef="ExclusiveGateway_0q323wc" />
+ <bpmn2:scriptTask id="Task_0ap39ka" name="Set VNF inMaintenance Flag in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0baosqi</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1eezqx8</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0k3fx7p</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.setVnfInMaintFlagInAAI(execution, true)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_1drglpt" name="Unset VNF In Maintenance Flag in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1nr9o85</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_16ff86u</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_12mfil6</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.setVnfInMaintFlagInAAI(execution, false)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_0vy2zge" name="Check If Physical Servers Are Locked in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_179tyul</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0usxnlk</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.checkIfPserversInMaintInAAI(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0xx8y1s" sourceRef="Task_1dtbnuy" targetRef="ExclusiveGateway_1slvyx2" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0a6pdza" sourceRef="Task_1fj63ov" targetRef="ExclusiveGateway_1ichg7h" />
+ <bpmn2:sequenceFlow id="SequenceFlow_13h26h9" sourceRef="Task_1cfkcss" targetRef="ExclusiveGateway_1etgtgi" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1uno5rs" sourceRef="Task_1hdg951" targetRef="ExclusiveGateway_02tj4dw" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1c79909" sourceRef="Task_1ca5ctq" targetRef="ExclusiveGateway_1gn5lab" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1xfbwpi" sourceRef="Task_1sove95" targetRef="ExclusiveGateway_123vjyo" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0q323wc" name="Error on PServers Check?" default="SequenceFlow_16mo99z">
+ <bpmn2:incoming>SequenceFlow_0usxnlk</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_16mo99z</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_06ev8or</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_16mo99z" name="no" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_1rxiqe1" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_045e1uz" name="Error On inMaintenance Check?" default="SequenceFlow_0baosqi">
+ <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0baosqi</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1cdfjed</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0baosqi" name="no" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0ap39ka" />
+ <bpmn2:callActivity id="Task_0q5cdit" name="Rainy Day Handler" calledElement="RainyDayHandler">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="serviceType" target="serviceType" />
+ <camunda:in source="nfRole" target="vnfType" />
+ <camunda:in source="currentActivity" target="currentActivity" />
+ <camunda:in source="workStep" target="workStep" />
+ <camunda:in source="failedActivity" target="failedActivity" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:in source="errorText" target="errorText" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:out source="handlingCode" target="disposition" />
+ <camunda:in source="requestorId" target="requestorId" />
+ <camunda:out source="taskId" target="taskId" />
+ <camunda:in source="vnfName" target="vnfName" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0nob5cp</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0v0u7mf</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_0v0u7mf" sourceRef="Task_0q5cdit" targetRef="ExclusiveGateway_0xlxgl0" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0vpd06n" name="Abort" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_1tg549h">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Abort"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1qr8msw" name="Rollback" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0zbogrm">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Rollback"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0ud5uwa" name="Eror on inMaintenance Set?" default="SequenceFlow_06ajc11">
+ <bpmn2:incoming>SequenceFlow_0k3fx7p</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_17g62fl</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_06ajc11</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0k3fx7p" sourceRef="Task_0ap39ka" targetRef="ExclusiveGateway_0ud5uwa" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0qy68ib" name="no" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_1fj63ov" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1ichg7h" name="Error on Upgrade PreCheck?" default="SequenceFlow_0q0qan8">
+ <bpmn2:incoming>SequenceFlow_0a6pdza</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0q0qan8</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_02mk8vs</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0q0qan8" name="no" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_1cfkcss" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1etgtgi" name="Error on Quiesce Traffic?" default="SequenceFlow_1c0vdki">
+ <bpmn2:incoming>SequenceFlow_13h26h9</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1c0vdki</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_11o5j55</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1c0vdki" name="no" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0eae8go" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_02tj4dw" name="Error on Upgrade Software?" default="SequenceFlow_162mm0m">
+ <bpmn2:incoming>SequenceFlow_1uno5rs</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_162mm0m</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1gagrha</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_162mm0m" name="no" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_1ca5ctq" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1gn5lab" name="Error on Post Health Check?" default="SequenceFlow_1c2xyhk">
+ <bpmn2:incoming>SequenceFlow_1c79909</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1urpp94</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1c2xyhk</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0l2z6wc" name="Erorr on inMaintenance Unset?" default="SequenceFlow_0u6ho2p">
+ <bpmn2:incoming>SequenceFlow_12mfil6</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0u6ho2p</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0k3zxpd</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_12mfil6" sourceRef="Task_1drglpt" targetRef="ExclusiveGateway_0l2z6wc" />
+ <bpmn2:scriptTask id="Task_1tg549h" name="Abort Processing" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0vpd06n</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1c022sy</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0h64c4o</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0syfgbo</bpmn2:incoming>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.abortProcessing(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0xlxgl0" name="Check Disposition">
+ <bpmn2:incoming>SequenceFlow_0v0u7mf</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1qr8msw</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_05gpym3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0vpd06n</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1ijc733</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0y82zzx" name="Next Step?&#10;&#10;" default="SequenceFlow_1c022sy">
+ <bpmn2:incoming>SequenceFlow_05gpym3</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1kntfys</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1nlqlwn</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1c022sy</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0ueoglv</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_15fqlwe</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0yuj0l5</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1abb030</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0ls3ej5</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1ar6ikk</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_171iq7e</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1553o9f</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0dmxwel</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1id2p8y</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0t53vux</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_11ck4qe</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_16d2ln4</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1quapjx</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_101n488</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_021ah63</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_05gpym3" name="Skip" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ExclusiveGateway_0y82zzx">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Skip"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_19ba94v" sourceRef="Task_0eae8go" targetRef="ExclusiveGateway_19an3h2" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1nlqlwn" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0ee7wot">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "QuiesceTraffic") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Snapshot")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1c022sy" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" />
+ <bpmn2:sequenceFlow id="SequenceFlow_06ev8or" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="IntermediateThrowEvent_0zmqbae">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0zmqbae" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_06ev8or</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0nob5cp" sourceRef="IntermediateThrowEvent_0z0t7rn" targetRef="Task_0q5cdit" />
+ <bpmn2:sequenceFlow id="SequenceFlow_076leae" sourceRef="Task_0e313zv" targetRef="ExclusiveGateway_1rglbmr" />
+ <bpmn2:scriptTask id="Task_0e313zv" name="Check If VF Closed Loop Disabled in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0zzwdwf</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_06ajc11</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_076leae</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.checkIfClosedLoopDisabledInAAI(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1rglbmr" name="Error on isClosedLoopDisabled Check?" default="SequenceFlow_0du9273">
+ <bpmn2:incoming>SequenceFlow_076leae</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0du9273</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0zh8r6j</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0du9273" name="no&#10;&#10;" sourceRef="ExclusiveGateway_1rglbmr" targetRef="Task_0n1d5f2" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0z0t7rn" name="To Rainy Day Handling" camunda:asyncBefore="true">
+ <bpmn2:outgoing>SequenceFlow_0nob5cp</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1qkzlba" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1cdfjed</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1cdfjed" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="IntermediateThrowEvent_1qkzlba">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rnlvmz" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_17g62fl</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_17g62fl" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="IntermediateThrowEvent_0rnlvmz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0v69raz" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0zh8r6j</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0zh8r6j" name="yes&#10;&#10;" sourceRef="ExclusiveGateway_1rglbmr" targetRef="IntermediateThrowEvent_0v69raz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_15hlkuq" name="To inMaintenanceCheck">
+ <bpmn2:outgoing>SequenceFlow_09lrk4q</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To inMaintenanceCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_09lrk4q" sourceRef="IntermediateThrowEvent_15hlkuq" targetRef="Task_1rxiqe1" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1eezqx8" sourceRef="IntermediateThrowEvent_1lrkrsn" targetRef="Task_0ap39ka" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1lrkrsn" name="To InMaintenance Set">
+ <bpmn2:outgoing>SequenceFlow_1eezqx8</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To InMaintenance Set" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1wdxgjm" name="To check if Closed Loop Disabled">
+ <bpmn2:outgoing>SequenceFlow_0zzwdwf</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To check if Closed Loop Disabled" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0zzwdwf" sourceRef="IntermediateThrowEvent_1wdxgjm" targetRef="Task_0e313zv" />
+ <bpmn2:sequenceFlow id="SequenceFlow_06ajc11" name="no" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="Task_0e313zv" />
+ <bpmn2:sequenceFlow id="SequenceFlow_179z9vl" sourceRef="Task_0n1d5f2" targetRef="ExclusiveGateway_148eo7w" />
+ <bpmn2:scriptTask id="Task_0n1d5f2" name="Set VF Is Closed Loop Disabled Flag in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0du9273</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_032tm9y</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_179z9vl</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.setClosedLoopDisabledInAAI(execution, true)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_032tm9y" sourceRef="IntermediateThrowEvent_1552q1o" targetRef="Task_0n1d5f2" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1552q1o" name="To set Closed Loop Disabled">
+ <bpmn2:outgoing>SequenceFlow_032tm9y</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To set Closed Loop Disabled" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_148eo7w" name="Error on Set IsClosedLoopDisabled Flag in A&#38;AI?" default="SequenceFlow_1cjiv6i">
+ <bpmn2:incoming>SequenceFlow_179z9vl</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1cjiv6i</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1q3oxtf</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1cjiv6i" name="no&#10;&#10;" sourceRef="ExclusiveGateway_148eo7w" targetRef="Task_1dtbnuy" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_16r1jxm" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1q3oxtf</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1q3oxtf" name="yes" sourceRef="ExclusiveGateway_148eo7w" targetRef="IntermediateThrowEvent_16r1jxm">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1agn6fn" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1j81s6b</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1j81s6b" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="IntermediateThrowEvent_1agn6fn">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_02hirbh" name="To Upgrade PreCheck">
+ <bpmn2:outgoing>SequenceFlow_16t9vai</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Upgrade PreCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_16t9vai" sourceRef="IntermediateThrowEvent_02hirbh" targetRef="Task_1fj63ov" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0pnzq4y" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_02mk8vs</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_02mk8vs" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="IntermediateThrowEvent_0pnzq4y">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1s7qalx" name="To Quiesce Traffic">
+ <bpmn2:outgoing>SequenceFlow_1urt6le</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Quiesce Traffic" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1urt6le" sourceRef="IntermediateThrowEvent_1s7qalx" targetRef="Task_1cfkcss" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0l0rp9y" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_11o5j55</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_11o5j55" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="IntermediateThrowEvent_0l0rp9y">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_19an3h2" name="Error on SnapShot?" default="SequenceFlow_1fuaq5k">
+ <bpmn2:incoming>SequenceFlow_19ba94v</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1fuaq5k</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_04gth9f</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1fuaq5k" name="no" sourceRef="ExclusiveGateway_19an3h2" targetRef="Task_1mdr1nd" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0a1s69h" name="To SnapShot">
+ <bpmn2:outgoing>SequenceFlow_0if6xj4</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To SnapShot" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0if6xj4" sourceRef="IntermediateThrowEvent_0a1s69h" targetRef="Task_0eae8go" />
+ <bpmn2:sequenceFlow id="SequenceFlow_04gth9f" name="yes" sourceRef="ExclusiveGateway_19an3h2" targetRef="IntermediateThrowEvent_11vs7u4">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_11vs7u4" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_04gth9f</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1v59be9" sourceRef="IntermediateThrowEvent_162mb2a" targetRef="Task_1mdr1nd" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_162mb2a" name="To Upgrade Backup">
+ <bpmn2:outgoing>SequenceFlow_1v59be9</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Upgrade Backup" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0ssvndw" name="Error on UpgradeBackup?" default="SequenceFlow_0txgesu">
+ <bpmn2:incoming>SequenceFlow_04rprct</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1uceq96</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0txgesu</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_04rprct" sourceRef="Task_1mdr1nd" targetRef="ExclusiveGateway_0ssvndw" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1yfd3sz" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1uceq96</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1uceq96" name="yes" sourceRef="ExclusiveGateway_0ssvndw" targetRef="IntermediateThrowEvent_1yfd3sz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0txgesu" name="no" sourceRef="ExclusiveGateway_0ssvndw" targetRef="Task_1hdg951" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0trguug" sourceRef="Task_0h2nq31" targetRef="ExclusiveGateway_1ozuicc" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1ozuicc" name="Error on Resume Traffic?" default="SequenceFlow_1q3bwlt">
+ <bpmn2:incoming>SequenceFlow_0trguug</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1q3bwlt</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1xg6pwh</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1q3bwlt" name="no" sourceRef="ExclusiveGateway_1ozuicc" targetRef="Task_1sove95" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_123vjyo" name="Error on VNF Unlock?" default="SequenceFlow_1nr9o85">
+ <bpmn2:incoming>SequenceFlow_1xfbwpi</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1nr9o85</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0ttowkv</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1nr9o85" name="no" sourceRef="ExclusiveGateway_123vjyo" targetRef="Task_1drglpt" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1nij04n" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1gagrha</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1gagrha" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="IntermediateThrowEvent_1nij04n">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_16igl7b" sourceRef="IntermediateThrowEvent_0fhmhsk" targetRef="Task_1ca5ctq" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0fhmhsk" name="To Upgrade PostCheck">
+ <bpmn2:outgoing>SequenceFlow_16igl7b</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Upgrade PostCheck" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1urpp94" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="IntermediateThrowEvent_0vf0a28">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0vf0a28" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1urpp94</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1c2xyhk" name="no" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_0h2nq31" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pxvl24" name="To Resume Traffic">
+ <bpmn2:outgoing>SequenceFlow_0yja56j</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Resume Traffic" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0yja56j" sourceRef="IntermediateThrowEvent_0pxvl24" targetRef="Task_0h2nq31" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1xg6pwh" name="yes" sourceRef="ExclusiveGateway_1ozuicc" targetRef="IntermediateThrowEvent_1vjqksl">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1vjqksl" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1xg6pwh</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1vwqesb" name="To VNF Unlock">
+ <bpmn2:outgoing>SequenceFlow_1hwtq9x</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Unlock" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1hwtq9x" sourceRef="IntermediateThrowEvent_1vwqesb" targetRef="Task_1sove95" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0ttowkv" name="yes" sourceRef="ExclusiveGateway_123vjyo" targetRef="IntermediateThrowEvent_0m9jtv2">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0m9jtv2" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0ttowkv</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pk24h2" name="To Upgrade Software">
+ <bpmn2:outgoing>SequenceFlow_1colra4</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Upgrade Software" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1colra4" sourceRef="IntermediateThrowEvent_0pk24h2" targetRef="Task_1hdg951" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_18j1ow5" name="Error on Unset Closed Loop Disabled?" default="SequenceFlow_3">
+ <bpmn2:incoming>SequenceFlow_1tzax6l</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0w8mkkn</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0u6ho2p" name="no" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="Task_0y1h8go" />
+ <bpmn2:scriptTask id="Task_0y1h8go" name="Unset VF Is Closed Loop DisabledFlag in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0u6ho2p</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_09xxorv</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1tzax6l</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.setClosedLoopDisabledInAAI(execution, false)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_1tzax6l" sourceRef="Task_0y1h8go" targetRef="ExclusiveGateway_18j1ow5" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pmevcz" name="To unset inMaintenance">
+ <bpmn2:outgoing>SequenceFlow_16ff86u</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To unset inMaintenance" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_16ff86u" sourceRef="IntermediateThrowEvent_0pmevcz" targetRef="Task_1drglpt" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0k3zxpd" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="IntermediateThrowEvent_1awckg7">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1awckg7" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0k3zxpd</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1b3smly" name="To unset Closed Loop Disabled">
+ <bpmn2:outgoing>SequenceFlow_09xxorv</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To unset Closed Loop Disabled" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_09xxorv" sourceRef="IntermediateThrowEvent_1b3smly" targetRef="Task_0y1h8go" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0w8mkkn" name="yes" sourceRef="ExclusiveGateway_18j1ow5" targetRef="IntermediateThrowEvent_1cw8gsw">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1cw8gsw" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_0w8mkkn</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0x846wp" name="To Completion Handler Prep">
+ <bpmn2:outgoing>SequenceFlow_07uuj2d</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Completion Handler Prep" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_07uuj2d" sourceRef="IntermediateThrowEvent_0x846wp" targetRef="ScriptTask_10" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0ueoglv" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0rz6jh4">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkIfPserversInMaintInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkIfVnfInMaintInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_15fqlwe" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1wip9vc">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkIfVnfInMaintInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "setVnfInMaintFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0yuj0l5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1hki8xj">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "setVnfInMaintFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1abb030" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1gfnt9b">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkClosedLoopDisabledFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "setClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0ls3ej5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1gzhs1a">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "setClosedLoopDisabledFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Lock")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1ar6ikk" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1p9i2bi">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradePreCheck") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "QuiesceTraffic")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_171iq7e" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0rp1ax0">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Snapshot") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradeBackup")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1553o9f" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_01ngkx2">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradeBackup") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradeSoftware")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0dmxwel" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0lbd0cs">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradePostCheck") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "ResumeTraffic")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1id2p8y" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1ycbds3">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "ResumeTraffic") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Unlock")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0t53vux" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1cp0hkt">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Unlock") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_11ck4qe" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_184w0i8">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "unsetClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_16d2ln4" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1u9f9kp">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "unsetClosedLoopDisabledFlagInAAI") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "completionHandlerPrep")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rz6jh4" name="To inMaintenanceCheck">
+ <bpmn2:incoming>SequenceFlow_0ueoglv</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To inMaintenanceCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1wip9vc" name="To InMaintenance Set">
+ <bpmn2:incoming>SequenceFlow_15fqlwe</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To InMaintenance Set" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1hki8xj" name="To check if Closed Loop Disabled">
+ <bpmn2:incoming>SequenceFlow_0yuj0l5</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To check if Closed Loop Disabled" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gfnt9b" name="To set Closed Loop Disabled">
+ <bpmn2:incoming>SequenceFlow_1abb030</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To set Closed Loop Disabled" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gzhs1a" name="To VNF Lock">
+ <bpmn2:incoming>SequenceFlow_0ls3ej5</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Lock" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0385ons" name="To Upgrade PreCheck">
+ <bpmn2:incoming>SequenceFlow_1quapjx</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Upgrade PreCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1quapjx" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0385ons">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Lock") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradePreCheck")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1p9i2bi" name="To Quiesce Traffic">
+ <bpmn2:incoming>SequenceFlow_1ar6ikk</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Quiesce Traffic" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0ee7wot" name="To SnapShot">
+ <bpmn2:incoming>SequenceFlow_1nlqlwn</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To SnapShot" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rp1ax0" name="To Upgrade Backup">
+ <bpmn2:incoming>SequenceFlow_171iq7e</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Upgrade Backup" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_01ngkx2" name="To Upgrade Software">
+ <bpmn2:incoming>SequenceFlow_1553o9f</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Upgrade Software" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0lbd0cs" name="To Resume Traffic">
+ <bpmn2:incoming>SequenceFlow_0dmxwel</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Resume Traffic" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1ycbds3" name="To VNF Unlock">
+ <bpmn2:incoming>SequenceFlow_1id2p8y</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To VNF Unlock" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1cp0hkt" name="To unset inMaintenance">
+ <bpmn2:incoming>SequenceFlow_0t53vux</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To unset inMaintenance" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_184w0i8" name="To unset Closed Loop Disabled">
+ <bpmn2:incoming>SequenceFlow_11ck4qe</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To unset Closed Loop Disabled" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1u9f9kp" name="To Completion Handler Prep">
+ <bpmn2:incoming>SequenceFlow_16d2ln4</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Completion Handler Prep" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_18wrvcy" name="To check if Physical Servers Are Locked">
+ <bpmn2:outgoing>SequenceFlow_179tyul</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To check if Physical Servers Are Locked" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_179tyul" sourceRef="IntermediateThrowEvent_18wrvcy" targetRef="Task_0vy2zge" />
+ <bpmn2:sequenceFlow id="SequenceFlow_101n488" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_17k1fmk">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_17k1fmk" name="To check if Physical Servers Are Locked">
+ <bpmn2:incoming>SequenceFlow_101n488</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To check if Physical Servers Are Locked" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1m7fq7a" name="To VNF Lock">
+ <bpmn2:outgoing>SequenceFlow_1ood2pr</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To VNF Lock" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1ood2pr" sourceRef="IntermediateThrowEvent_1m7fq7a" targetRef="Task_1dtbnuy" />
+ <bpmn2:callActivity id="Task_0eae8go" name="Call APP-C SnapShot" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionSnapshot" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vmIdList" target="vmIdList" />
+ <camunda:in source="aicIdentity" target="identityUrl" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1c0vdki</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0if6xj4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_19ba94v</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1dtbnuy" name="Call APP-C VNF Lock" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionLock" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1cjiv6i</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1ood2pr</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1sove95" name="Call APP-C VNF Unlock" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionUnlock" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1q3bwlt</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1hwtq9x</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1fj63ov" name="Call APP-C UpgradePreCheck" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionUpgradePreCheck" target="action" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_16t9vai</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1ca5ctq" name="Call APP-C Upgrade PostCheck" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionUpgradePostCheck" target="action" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_16igl7b</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1kbtw2p" name="To Upgrade PostCheck">
+ <bpmn2:incoming>SequenceFlow_021ah63</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Upgrade PostCheck" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_021ah63" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1kbtw2p">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradeSoftware") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradePostCheck")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:scriptTask id="ScriptTask_1qr054i" name="Increment Retry Count" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1ijc733</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0ai205d</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.incrementRetryCount(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1g8h3lt" name="Retries Left?" default="SequenceFlow_0h64c4o">
+ <bpmn2:incoming>SequenceFlow_0a2cv6d</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1kntfys</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0h64c4o</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1bv97n4" name="RetryTimer">
+ <bpmn2:incoming>SequenceFlow_0ai205d</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0a2cv6d</bpmn2:outgoing>
+ <bpmn2:timerEventDefinition>
+ <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">PT1M</bpmn2:timeDuration>
+ </bpmn2:timerEventDefinition>
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0ai205d" sourceRef="ScriptTask_1qr054i" targetRef="IntermediateCatchEvent_1bv97n4" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0a2cv6d" sourceRef="IntermediateCatchEvent_1bv97n4" targetRef="ExclusiveGateway_1g8h3lt" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1ijc733" name="Retry" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ScriptTask_1qr054i">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Retry"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1kntfys" name="yes" sourceRef="ExclusiveGateway_1g8h3lt" targetRef="ExclusiveGateway_0y82zzx">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[String retryVariableName = execution.getVariable('retryCountVariableName')
+
+execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0h64c4o" name="no" sourceRef="ExclusiveGateway_1g8h3lt" targetRef="Task_1tg549h" />
+ <bpmn2:callActivity id="Task_0zbogrm" name="Rollback Processing" calledElement="RollbackVnf">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" />
+ <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" />
+ <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" />
+ <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" />
+ <camunda:in source="errorCode" target="errorCode" />
+ <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" />
+ <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfName" target="vnfName" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1qr8msw</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0syfgbo</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_0syfgbo" sourceRef="Task_0zbogrm" targetRef="Task_1tg549h" />
+ <bpmn2:callActivity id="Task_1cfkcss" name="Call APP-C QuiesceTraffic" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionQuiesceTraffic" target="action" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:out source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1urt6le</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1mdr1nd" name="Call APP-C Upgrade Backup" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionUpgradeBackup" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1fuaq5k</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1v59be9</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_04rprct</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_1hdg951" name="Call APP-C Upgrade Software" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionUpgradeSoftware" target="action" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0txgesu</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1colra4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:callActivity id="Task_0h2nq31" name="Call APP-C Resume Traffic" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionResumeTraffic" target="action" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:out source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1c2xyhk</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0yja56j</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0trguug</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1slvyx2" name="Error on VNF Lock?" default="SequenceFlow_0qy68ib">
+ <bpmn2:incoming>SequenceFlow_0xx8y1s</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1j81s6b</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0qy68ib</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ </bpmn2:process>
+ <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="VnfInPlaceUpdate">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_50" bpmnElement="StartEvent_1">
+ <dc:Bounds x="97" y="72" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="103" y="113" width="23" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_EndEvent_125" bpmnElement="EndEvent_1">
+ <dc:Bounds x="569" y="1073" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="568" y="1114" width="38" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124">
+ <di:waypoint xsi:type="dc:Point" x="133" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="209" y="90" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="171" y="75" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_124" bpmnElement="PreProcessRequest">
+ <dc:Bounds x="209" y="50" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_124" targetElement="_BPMNShape_ScriptTask_125">
+ <di:waypoint xsi:type="dc:Point" x="309" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="373" y="90" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="341" y="75" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_125" bpmnElement="ScriptTask_1">
+ <dc:Bounds x="373" y="50" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_125">
+ <di:waypoint xsi:type="dc:Point" x="473" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="513" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="493" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_127" bpmnElement="ScriptTask_4">
+ <dc:Bounds x="415" y="1051" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_127" targetElement="_BPMNShape_EndEvent_125">
+ <di:waypoint xsi:type="dc:Point" x="515" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="549" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="549" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="569" y="1091" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="564" y="1091" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_133" bpmnElement="ScriptTask_10">
+ <dc:Bounds x="126" y="1051" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_CallActivity_27" bpmnElement="CallActivity_1">
+ <dc:Bounds x="269" y="1051" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_133" targetElement="_BPMNShape_CallActivity_27">
+ <di:waypoint xsi:type="dc:Point" x="226" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="248" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="248" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="269" y="1091" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="263" y="1091" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_SubProcess_17" bpmnElement="SubProcess_1" isExpanded="true">
+ <dc:Bounds x="103" y="1374" width="836" height="242" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_3">
+ <dc:Bounds x="167" y="1468" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="146" y="1509" width="77" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_136" bpmnElement="ScriptTask_3">
+ <dc:Bounds x="613" y="1446" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_136">
+ <di:waypoint xsi:type="dc:Point" x="203" y="1486" />
+ <di:waypoint xsi:type="dc:Point" x="233" y="1486" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="218" y="1471" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_136" targetElement="_BPMNShape_CallActivity_28">
+ <di:waypoint xsi:type="dc:Point" x="713" y="1486" />
+ <di:waypoint xsi:type="dc:Point" x="748" y="1486" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="731" y="1471" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_EndEvent_126" bpmnElement="EndEvent_2">
+ <dc:Bounds x="880" y="1468" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="898" y="1509" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_43" bpmnElement="BoundaryEvent_1">
+ <dc:Bounds x="921" y="1468" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="939" y="1509" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_EndEvent_127" bpmnElement="EndEvent_3">
+ <dc:Bounds x="997" y="1468" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1015" y="1509" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_BoundaryEvent_43" targetElement="_BPMNShape_EndEvent_127">
+ <di:waypoint xsi:type="dc:Point" x="957" y="1486" />
+ <di:waypoint xsi:type="dc:Point" x="997" y="1486" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="977" y="1471" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="_BPMNShape_CallActivity_28" bpmnElement="CallActivity_2">
+ <dc:Bounds x="748" y="1446" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_CallActivity_27" targetElement="_BPMNShape_ScriptTask_127">
+ <di:waypoint xsi:type="dc:Point" x="369" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="392" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="392" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="415" y="1091" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="407" y="1091" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_CallActivity_28" targetElement="_BPMNShape_EndEvent_126">
+ <di:waypoint xsi:type="dc:Point" x="848" y="1486" />
+ <di:waypoint xsi:type="dc:Point" x="880" y="1486" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="864" y="1471" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" targetElement="_BPMNShape_ScriptTask_133">
+ <di:waypoint xsi:type="dc:Point" x="1459" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1561" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1561" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="99" y="989" />
+ <di:waypoint xsi:type="dc:Point" x="99" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="126" y="1091" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1482" y="772.5275881403734" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_053qjfy_di" bpmnElement="SequenceFlow_053qjfy">
+ <di:waypoint xsi:type="dc:Point" x="671" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="131" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="543" y="141" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_08xzuox_di" bpmnElement="Task_1opcb4j">
+ <dc:Bounds x="571" y="50" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0y0jt4l_di" bpmnElement="SequenceFlow_0y0jt4l">
+ <di:waypoint xsi:type="dc:Point" x="473" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="571" y="90" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="522" y="75" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_19pf9z8_di" bpmnElement="Task_1rxiqe1">
+ <dc:Bounds x="373" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0usxnlk_di" bpmnElement="SequenceFlow_0usxnlk">
+ <di:waypoint xsi:type="dc:Point" x="231" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="279" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="255" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0wa4zya_di" bpmnElement="Task_0ap39ka">
+ <dc:Bounds x="608" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0sgm9bu_di" bpmnElement="Task_1drglpt">
+ <dc:Bounds x="1058" y="760" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_16jtt5t_di" bpmnElement="Task_0vy2zge">
+ <dc:Bounds x="131" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0xx8y1s_di" bpmnElement="SequenceFlow_0xx8y1s">
+ <di:waypoint xsi:type="dc:Point" x="226" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="266" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="246" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0a6pdza_di" bpmnElement="SequenceFlow_0a6pdza">
+ <di:waypoint xsi:type="dc:Point" x="464" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="513" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="489" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_13h26h9_di" bpmnElement="SequenceFlow_13h26h9">
+ <di:waypoint xsi:type="dc:Point" x="700" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="735" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="718" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1uno5rs_di" bpmnElement="SequenceFlow_1uno5rs">
+ <di:waypoint xsi:type="dc:Point" x="223" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="266" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="245" y="785" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1c79909_di" bpmnElement="SequenceFlow_1c79909">
+ <di:waypoint xsi:type="dc:Point" x="464" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="513" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="489" y="785" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1xfbwpi_di" bpmnElement="SequenceFlow_1xfbwpi">
+ <di:waypoint xsi:type="dc:Point" x="926" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="955" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="941" y="785" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0q323wc_di" bpmnElement="ExclusiveGateway_0q323wc" isMarkerVisible="true">
+ <dc:Bounds x="279" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="260" y="173" width="87" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16mo99z_di" bpmnElement="SequenceFlow_16mo99z">
+ <di:waypoint xsi:type="dc:Point" x="329" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="373" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="345" y="213" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_045e1uz_di" bpmnElement="ExclusiveGateway_045e1uz" isMarkerVisible="true">
+ <dc:Bounds x="513" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="501" y="163" width="73" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0baosqi_di" bpmnElement="SequenceFlow_0baosqi">
+ <di:waypoint xsi:type="dc:Point" x="563" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="608" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="579" y="214" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1k5n5d1_di" bpmnElement="Task_0q5cdit">
+ <dc:Bounds x="1592" y="470" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0v0u7mf_di" bpmnElement="SequenceFlow_0v0u7mf">
+ <di:waypoint xsi:type="dc:Point" x="1692" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1774" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1733" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0vpd06n_di" bpmnElement="SequenceFlow_0vpd06n">
+ <di:waypoint xsi:type="dc:Point" x="1799" y="485" />
+ <di:waypoint xsi:type="dc:Point" x="1799" y="392" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1806" y="430.60504201680675" width="26" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1qr8msw_di" bpmnElement="SequenceFlow_1qr8msw">
+ <di:waypoint xsi:type="dc:Point" x="1799" y="535" />
+ <di:waypoint xsi:type="dc:Point" x="1799" y="562" />
+ <di:waypoint xsi:type="dc:Point" x="1799" y="562" />
+ <di:waypoint xsi:type="dc:Point" x="1799" y="604" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1778" y="553" width="42" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0ud5uwa_di" bpmnElement="ExclusiveGateway_0ud5uwa" isMarkerVisible="true">
+ <dc:Bounds x="735" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="731" y="166" width="73" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0k3fx7p_di" bpmnElement="SequenceFlow_0k3fx7p">
+ <di:waypoint xsi:type="dc:Point" x="708" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="735" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="722" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0qy68ib_di" bpmnElement="SequenceFlow_0qy68ib">
+ <di:waypoint xsi:type="dc:Point" x="316" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="341" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="341" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="364" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="333" y="487" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1ichg7h_di" bpmnElement="ExclusiveGateway_1ichg7h" isMarkerVisible="true">
+ <dc:Bounds x="513" y="485" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="495" y="443" width="85" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0q0qan8_di" bpmnElement="SequenceFlow_0q0qan8">
+ <di:waypoint xsi:type="dc:Point" x="563" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="600" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="573" y="491" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1etgtgi_di" bpmnElement="ExclusiveGateway_1etgtgi" isMarkerVisible="true">
+ <dc:Bounds x="735" y="485" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="716" y="445" width="87" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1c0vdki_di" bpmnElement="SequenceFlow_1c0vdki">
+ <di:waypoint xsi:type="dc:Point" x="785" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="826" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="804" y="487" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true">
+ <dc:Bounds x="266" y="775" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="247" y="735" width="88" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m">
+ <di:waypoint xsi:type="dc:Point" x="316" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="364" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="333" y="780" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true">
+ <dc:Bounds x="513" y="775" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="502" y="735" width="72" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true">
+ <dc:Bounds x="1195" y="775" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1183" y="728" width="73" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6">
+ <di:waypoint xsi:type="dc:Point" x="1158" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1195" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1178" y="785" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h">
+ <dc:Bounds x="1749" y="312" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true">
+ <dc:Bounds x="1774" y="485" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1755" y="467" width="88" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true">
+ <dc:Bounds x="2087" y="485" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2047" y="477" width="54" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3">
+ <di:waypoint xsi:type="dc:Point" x="1824" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="2087" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1922" y="516" width="21" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v">
+ <di:waypoint xsi:type="dc:Point" x="926" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="955" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="941" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1nlqlwn_di" bpmnElement="SequenceFlow_1nlqlwn">
+ <di:waypoint xsi:type="dc:Point" x="2137" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="2261" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="2261" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="2385" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2249" y="459" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1c022sy_di" bpmnElement="SequenceFlow_1c022sy">
+ <di:waypoint xsi:type="dc:Point" x="2112" y="485" />
+ <di:waypoint xsi:type="dc:Point" x="2112" y="352" />
+ <di:waypoint xsi:type="dc:Point" x="1849" y="352" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2127" y="418.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_06ev8or_di" bpmnElement="SequenceFlow_06ev8or">
+ <di:waypoint xsi:type="dc:Point" x="304" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="304" y="288" />
+ <di:waypoint xsi:type="dc:Point" x="304" y="288" />
+ <di:waypoint xsi:type="dc:Point" x="304" y="308" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="314" y="273" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0o6fb4f_di" bpmnElement="IntermediateThrowEvent_0zmqbae">
+ <dc:Bounds x="286" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="269" y="343.609" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0nob5cp_di" bpmnElement="SequenceFlow_0nob5cp">
+ <di:waypoint xsi:type="dc:Point" x="1506" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1592" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1549" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_076leae_di" bpmnElement="SequenceFlow_076leae">
+ <di:waypoint xsi:type="dc:Point" x="926" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="955" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="941" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0cbpm7l_di" bpmnElement="Task_0e313zv">
+ <dc:Bounds x="826" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1rglbmr_di" bpmnElement="ExclusiveGateway_1rglbmr" isMarkerVisible="true">
+ <dc:Bounds x="955.192" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="936" y="164" width="88" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0du9273_di" bpmnElement="SequenceFlow_0du9273">
+ <di:waypoint xsi:type="dc:Point" x="1005" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1046" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1020" y="212" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1p06jf5_di" bpmnElement="IntermediateThrowEvent_0z0t7rn">
+ <dc:Bounds x="1470" y="492" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1455" y="538" width="65" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0xwlxk9_di" bpmnElement="IntermediateThrowEvent_1qkzlba">
+ <dc:Bounds x="520" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="503" y="344" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1cdfjed_di" bpmnElement="SequenceFlow_1cdfjed">
+ <di:waypoint xsi:type="dc:Point" x="538" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="538" y="308" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="544" y="275" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_113xxsl_di" bpmnElement="IntermediateThrowEvent_0rnlvmz">
+ <dc:Bounds x="742" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="725" y="344" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_17g62fl_di" bpmnElement="SequenceFlow_17g62fl">
+ <di:waypoint xsi:type="dc:Point" x="760" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="760" y="308" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="766" y="275" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0iyegh1_di" bpmnElement="IntermediateThrowEvent_0v69raz">
+ <dc:Bounds x="962" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="945" y="343.609" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0zh8r6j_di" bpmnElement="SequenceFlow_0zh8r6j">
+ <di:waypoint xsi:type="dc:Point" x="980" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="980" y="308" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="986" y="285" width="17" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_07pur50_di" bpmnElement="IntermediateThrowEvent_15hlkuq">
+ <dc:Bounds x="405" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="381" y="344" width="83" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_09lrk4q_di" bpmnElement="SequenceFlow_09lrk4q">
+ <di:waypoint xsi:type="dc:Point" x="423" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="423" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="438" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1eezqx8_di" bpmnElement="SequenceFlow_1eezqx8">
+ <di:waypoint xsi:type="dc:Point" x="658" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="658" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="673" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1pog9t5_di" bpmnElement="IntermediateThrowEvent_1lrkrsn">
+ <dc:Bounds x="640" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="614" y="343.609" width="88" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1rtf0em_di" bpmnElement="IntermediateThrowEvent_1wdxgjm">
+ <dc:Bounds x="858" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="844" y="344" width="64" height="37" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0zzwdwf_di" bpmnElement="SequenceFlow_0zzwdwf">
+ <di:waypoint xsi:type="dc:Point" x="876" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="876" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="891" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_06ajc11_di" bpmnElement="SequenceFlow_06ajc11">
+ <di:waypoint xsi:type="dc:Point" x="785" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="826" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="800" y="212" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_179z9vl_di" bpmnElement="SequenceFlow_179z9vl">
+ <di:waypoint xsi:type="dc:Point" x="1146" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1184" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1165" y="222" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1iio503_di" bpmnElement="Task_0n1d5f2">
+ <dc:Bounds x="1046" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_032tm9y_di" bpmnElement="SequenceFlow_032tm9y">
+ <di:waypoint xsi:type="dc:Point" x="1096" y="308" />
+ <di:waypoint xsi:type="dc:Point" x="1096" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1111" y="292.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0jhmy9d_di" bpmnElement="IntermediateThrowEvent_1552q1o">
+ <dc:Bounds x="1078" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1061" y="344" width="70" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_148eo7w_di" bpmnElement="ExclusiveGateway_148eo7w" isMarkerVisible="true">
+ <dc:Bounds x="1184.192" y="212" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1167" y="149" width="83" height="48" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1cjiv6i_di" bpmnElement="SequenceFlow_1cjiv6i">
+ <di:waypoint xsi:type="dc:Point" x="1234" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1285" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1285" y="401" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="401" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="126" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1249" y="211" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1qtnv6e_di" bpmnElement="IntermediateThrowEvent_16r1jxm">
+ <dc:Bounds x="1191" y="299" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1174" y="334.609" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1q3oxtf_di" bpmnElement="SequenceFlow_1q3oxtf">
+ <di:waypoint xsi:type="dc:Point" x="1209" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="1209" y="299" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1215" y="270.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1uscpd8_di" bpmnElement="IntermediateThrowEvent_1agn6fn">
+ <dc:Bounds x="273" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="256" y="617" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1j81s6b_di" bpmnElement="SequenceFlow_1j81s6b">
+ <di:waypoint xsi:type="dc:Point" x="291" y="535" />
+ <di:waypoint xsi:type="dc:Point" x="291" y="581" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="297" y="548" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1ogs7t2_di" bpmnElement="IntermediateThrowEvent_02hirbh">
+ <dc:Bounds x="396" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="384" y="617" width="59" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16t9vai_di" bpmnElement="SequenceFlow_16t9vai">
+ <di:waypoint xsi:type="dc:Point" x="414" y="581" />
+ <di:waypoint xsi:type="dc:Point" x="414" y="550" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="429" y="565.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0f6lh1n_di" bpmnElement="IntermediateThrowEvent_0pnzq4y">
+ <dc:Bounds x="520" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="503" y="617" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_02mk8vs_di" bpmnElement="SequenceFlow_02mk8vs">
+ <di:waypoint xsi:type="dc:Point" x="538" y="535" />
+ <di:waypoint xsi:type="dc:Point" x="538" y="558" />
+ <di:waypoint xsi:type="dc:Point" x="538" y="558" />
+ <di:waypoint xsi:type="dc:Point" x="538" y="581" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="544" y="558" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_17zqxs1_di" bpmnElement="IntermediateThrowEvent_1s7qalx">
+ <dc:Bounds x="632" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="607" y="617" width="85" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1urt6le_di" bpmnElement="SequenceFlow_1urt6le">
+ <di:waypoint xsi:type="dc:Point" x="650" y="581" />
+ <di:waypoint xsi:type="dc:Point" x="650" y="550" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="665" y="565.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_077262y_di" bpmnElement="IntermediateThrowEvent_0l0rp9y">
+ <dc:Bounds x="742" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="725" y="617" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_11o5j55_di" bpmnElement="SequenceFlow_11o5j55">
+ <di:waypoint xsi:type="dc:Point" x="760" y="535" />
+ <di:waypoint xsi:type="dc:Point" x="760" y="581" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="766" y="548" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_19an3h2_di" bpmnElement="ExclusiveGateway_19an3h2" isMarkerVisible="true">
+ <dc:Bounds x="955" y="485" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="953" y="441" width="53" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1fuaq5k_di" bpmnElement="SequenceFlow_1fuaq5k">
+ <di:waypoint xsi:type="dc:Point" x="1005" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1064" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1030" y="485" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_199cotj_di" bpmnElement="IntermediateThrowEvent_0a1s69h">
+ <dc:Bounds x="858" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="844" y="617" width="63" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0if6xj4_di" bpmnElement="SequenceFlow_0if6xj4">
+ <di:waypoint xsi:type="dc:Point" x="876" y="581" />
+ <di:waypoint xsi:type="dc:Point" x="876" y="550" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="891" y="565.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_04gth9f_di" bpmnElement="SequenceFlow_04gth9f">
+ <di:waypoint xsi:type="dc:Point" x="980" y="535" />
+ <di:waypoint xsi:type="dc:Point" x="980" y="581" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="986" y="558" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1ly7m7x_di" bpmnElement="IntermediateThrowEvent_11vs7u4">
+ <dc:Bounds x="962" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="945" y="617" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1v59be9_di" bpmnElement="SequenceFlow_1v59be9">
+ <di:waypoint xsi:type="dc:Point" x="1114" y="581" />
+ <di:waypoint xsi:type="dc:Point" x="1114" y="550" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1129" y="565.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0gvhqjf_di" bpmnElement="IntermediateThrowEvent_162mb2a">
+ <dc:Bounds x="1096" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1084" y="617" width="60" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0ssvndw_di" bpmnElement="ExclusiveGateway_0ssvndw" isMarkerVisible="true">
+ <dc:Bounds x="1195.192" y="485" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1177" y="439" width="85" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_04rprct_di" bpmnElement="SequenceFlow_04rprct">
+ <di:waypoint xsi:type="dc:Point" x="1164" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1195" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1180" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_14s9cw9_di" bpmnElement="IntermediateThrowEvent_1yfd3sz">
+ <dc:Bounds x="1202" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1185" y="617" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1uceq96_di" bpmnElement="SequenceFlow_1uceq96">
+ <di:waypoint xsi:type="dc:Point" x="1220" y="535" />
+ <di:waypoint xsi:type="dc:Point" x="1220" y="581" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1226" y="548" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0txgesu_di" bpmnElement="SequenceFlow_0txgesu">
+ <di:waypoint xsi:type="dc:Point" x="1245" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1286" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1286" y="676" />
+ <di:waypoint xsi:type="dc:Point" x="95" y="676" />
+ <di:waypoint xsi:type="dc:Point" x="95" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="123" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1259" y="488" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0trguug_di" bpmnElement="SequenceFlow_0trguug">
+ <di:waypoint xsi:type="dc:Point" x="701" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="735" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="718" y="785" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1ozuicc_di" bpmnElement="ExclusiveGateway_1ozuicc" isMarkerVisible="true">
+ <dc:Bounds x="735.304" y="775" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="716" y="735" width="87" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1q3bwlt_di" bpmnElement="SequenceFlow_1q3bwlt">
+ <di:waypoint xsi:type="dc:Point" x="785.304" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="826" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="800" y="775" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_123vjyo_di" bpmnElement="ExclusiveGateway_123vjyo" isMarkerVisible="true">
+ <dc:Bounds x="955" y="775" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="946" y="735" width="68" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1nr9o85_di" bpmnElement="SequenceFlow_1nr9o85">
+ <di:waypoint xsi:type="dc:Point" x="1005" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1037" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1037" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1058" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1024" y="772" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_11ot6vh_di" bpmnElement="IntermediateThrowEvent_1nij04n">
+ <dc:Bounds x="273" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="256" y="921.6089999999999" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1gagrha_di" bpmnElement="SequenceFlow_1gagrha">
+ <di:waypoint xsi:type="dc:Point" x="291" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="291" y="886" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="297" y="845.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_16igl7b_di" bpmnElement="SequenceFlow_16igl7b">
+ <di:waypoint xsi:type="dc:Point" x="414" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="414" y="840" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="429" y="863" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_174wgan_di" bpmnElement="IntermediateThrowEvent_0fhmhsk">
+ <dc:Bounds x="396" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="384" y="922" width="59" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1urpp94_di" bpmnElement="SequenceFlow_1urpp94">
+ <di:waypoint xsi:type="dc:Point" x="538" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="538" y="886" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="544" y="855.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1vi3wf9_di" bpmnElement="IntermediateThrowEvent_0vf0a28">
+ <dc:Bounds x="520" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="503" y="922" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1c2xyhk_di" bpmnElement="SequenceFlow_1c2xyhk">
+ <di:waypoint xsi:type="dc:Point" x="563" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="601" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="577" y="775" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_165ve6q_di" bpmnElement="IntermediateThrowEvent_0pxvl24">
+ <dc:Bounds x="632" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="607" y="922" width="85" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0yja56j_di" bpmnElement="SequenceFlow_0yja56j">
+ <di:waypoint xsi:type="dc:Point" x="650" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="651" y="840" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="651" y="848" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1xg6pwh_di" bpmnElement="SequenceFlow_1xg6pwh">
+ <di:waypoint xsi:type="dc:Point" x="760" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="760" y="886" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="766" y="855.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0unfhc9_di" bpmnElement="IntermediateThrowEvent_1vjqksl">
+ <dc:Bounds x="742" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="725" y="922" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1om2udh_di" bpmnElement="IntermediateThrowEvent_1vwqesb">
+ <dc:Bounds x="859" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="842" y="922" width="70" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1hwtq9x_di" bpmnElement="SequenceFlow_1hwtq9x">
+ <di:waypoint xsi:type="dc:Point" x="877" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="876" y="840" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="877" y="848" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ttowkv_di" bpmnElement="SequenceFlow_0ttowkv">
+ <di:waypoint xsi:type="dc:Point" x="980" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="980" y="886" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="986" y="855.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1u04oef_di" bpmnElement="IntermediateThrowEvent_0m9jtv2">
+ <dc:Bounds x="962" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="945" y="922" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1bsxf5o_di" bpmnElement="IntermediateThrowEvent_0pk24h2">
+ <dc:Bounds x="155" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="143" y="922" width="59" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1colra4_di" bpmnElement="SequenceFlow_1colra4">
+ <di:waypoint xsi:type="dc:Point" x="173" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="173" y="863" />
+ <di:waypoint xsi:type="dc:Point" x="173" y="863" />
+ <di:waypoint xsi:type="dc:Point" x="173" y="840" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="188" y="863" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_18j1ow5_di" bpmnElement="ExclusiveGateway_18j1ow5" isMarkerVisible="true">
+ <dc:Bounds x="1409.304" y="775" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1396" y="724" width="75" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0u6ho2p_di" bpmnElement="SequenceFlow_0u6ho2p">
+ <di:waypoint xsi:type="dc:Point" x="1245" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1275" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1255" y="775" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_08r89q9_di" bpmnElement="Task_0y1h8go">
+ <dc:Bounds x="1275" y="760" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1tzax6l_di" bpmnElement="SequenceFlow_1tzax6l">
+ <di:waypoint xsi:type="dc:Point" x="1375" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1409" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1392" y="775" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_06j33fe_di" bpmnElement="IntermediateThrowEvent_0pmevcz">
+ <dc:Bounds x="1090" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1072" y="922" width="72" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16ff86u_di" bpmnElement="SequenceFlow_16ff86u">
+ <di:waypoint xsi:type="dc:Point" x="1108" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="1108" y="840" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1123" y="853" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0k3zxpd_di" bpmnElement="SequenceFlow_0k3zxpd">
+ <di:waypoint xsi:type="dc:Point" x="1220" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="1220" y="886" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1226" y="855.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_105mp22_di" bpmnElement="IntermediateThrowEvent_1awckg7">
+ <dc:Bounds x="1202" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1185" y="922" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0kglv4e_di" bpmnElement="IntermediateThrowEvent_1b3smly">
+ <dc:Bounds x="1307" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1285" y="922" width="79" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_09xxorv_di" bpmnElement="SequenceFlow_09xxorv">
+ <di:waypoint xsi:type="dc:Point" x="1325" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="1325" y="840" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1340" y="853" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0w8mkkn_di" bpmnElement="SequenceFlow_0w8mkkn">
+ <di:waypoint xsi:type="dc:Point" x="1434" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="1434" y="886" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1440" y="855.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0jwgx1d_di" bpmnElement="IntermediateThrowEvent_1cw8gsw">
+ <dc:Bounds x="1416" y="886" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1399" y="922" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0zw87jy_di" bpmnElement="IntermediateThrowEvent_0x846wp">
+ <dc:Bounds x="158" y="1186" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="140" y="1221.609" width="72" height="25" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_07uuj2d_di" bpmnElement="SequenceFlow_07uuj2d">
+ <di:waypoint xsi:type="dc:Point" x="176" y="1186" />
+ <di:waypoint xsi:type="dc:Point" x="176" y="1160" />
+ <di:waypoint xsi:type="dc:Point" x="176" y="1160" />
+ <di:waypoint xsi:type="dc:Point" x="176" y="1131" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="191" y="1160" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ueoglv_di" bpmnElement="SequenceFlow_0ueoglv">
+ <di:waypoint xsi:type="dc:Point" x="2117" y="490" />
+ <di:waypoint xsi:type="dc:Point" x="2173" y="264" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2145" y="362" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_15fqlwe_di" bpmnElement="SequenceFlow_15fqlwe">
+ <di:waypoint xsi:type="dc:Point" x="2120" y="493" />
+ <di:waypoint xsi:type="dc:Point" x="2209" y="290" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2165" y="377" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0yuj0l5_di" bpmnElement="SequenceFlow_0yuj0l5">
+ <di:waypoint xsi:type="dc:Point" x="2122" y="495" />
+ <di:waypoint xsi:type="dc:Point" x="2247" y="319" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2185" y="392" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1abb030_di" bpmnElement="SequenceFlow_1abb030">
+ <di:waypoint xsi:type="dc:Point" x="2125" y="498" />
+ <di:waypoint xsi:type="dc:Point" x="2284" y="348" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2205" y="408" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ls3ej5_di" bpmnElement="SequenceFlow_0ls3ej5">
+ <di:waypoint xsi:type="dc:Point" x="2127" y="500" />
+ <di:waypoint xsi:type="dc:Point" x="2313" y="386" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2220" y="428" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ar6ikk_di" bpmnElement="SequenceFlow_1ar6ikk">
+ <di:waypoint xsi:type="dc:Point" x="2133" y="506" />
+ <di:waypoint xsi:type="dc:Point" x="2372" y="460" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2253" y="468" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_171iq7e_di" bpmnElement="SequenceFlow_171iq7e">
+ <di:waypoint xsi:type="dc:Point" x="2134" y="513" />
+ <di:waypoint xsi:type="dc:Point" x="2372" y="553" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2253" y="518" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1553o9f_di" bpmnElement="SequenceFlow_1553o9f">
+ <di:waypoint xsi:type="dc:Point" x="2129" y="518" />
+ <di:waypoint xsi:type="dc:Point" x="2353" y="595" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2241" y="541.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0dmxwel_di" bpmnElement="SequenceFlow_0dmxwel">
+ <di:waypoint xsi:type="dc:Point" x="2125" y="522" />
+ <di:waypoint xsi:type="dc:Point" x="2294" y="685" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2210" y="588.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1id2p8y_di" bpmnElement="SequenceFlow_1id2p8y">
+ <di:waypoint xsi:type="dc:Point" x="2121" y="526" />
+ <di:waypoint xsi:type="dc:Point" x="2247" y="717" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2184" y="607" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0t53vux_di" bpmnElement="SequenceFlow_0t53vux">
+ <di:waypoint xsi:type="dc:Point" x="2119" y="528" />
+ <di:waypoint xsi:type="dc:Point" x="2210" y="737" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2165" y="618" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_11ck4qe_di" bpmnElement="SequenceFlow_11ck4qe">
+ <di:waypoint xsi:type="dc:Point" x="2117" y="530" />
+ <di:waypoint xsi:type="dc:Point" x="2172" y="760" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2145" y="630" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_16d2ln4_di" bpmnElement="SequenceFlow_16d2ln4">
+ <di:waypoint xsi:type="dc:Point" x="2113" y="534" />
+ <di:waypoint xsi:type="dc:Point" x="2128" y="782" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2121" y="643" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_17syve1_di" bpmnElement="IntermediateThrowEvent_0rz6jh4">
+ <dc:Bounds x="2159" y="229" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2165" y="189" width="84" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0nv8aic_di" bpmnElement="IntermediateThrowEvent_1wip9vc">
+ <dc:Bounds x="2199" y="256" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2213" y="235" width="89" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1g4pmwc_di" bpmnElement="IntermediateThrowEvent_1hki8xj">
+ <dc:Bounds x="2240" y="287" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2280" y="256" width="64" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1ypnogn_di" bpmnElement="IntermediateThrowEvent_1gfnt9b">
+ <dc:Bounds x="2279" y="319" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2325" y="305" width="71" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1i9ttzs_di" bpmnElement="IntermediateThrowEvent_1gzhs1a">
+ <dc:Bounds x="2311" y="359" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2357" y="356" width="64" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0840e02_di" bpmnElement="IntermediateThrowEvent_0385ons">
+ <dc:Bounds x="2343" y="392" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2393" y="383" width="60" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1quapjx_di" bpmnElement="SequenceFlow_1quapjx">
+ <di:waypoint xsi:type="dc:Point" x="2130" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="2345" y="416" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2239" y="445" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1xq4kx8_di" bpmnElement="IntermediateThrowEvent_1p9i2bi">
+ <dc:Bounds x="2371" y="439" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2412" y="440" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_03b4y60_di" bpmnElement="IntermediateThrowEvent_0ee7wot">
+ <dc:Bounds x="2385" y="493" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2433" y="503" width="62" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1ghdnpx_di" bpmnElement="IntermediateThrowEvent_0rp1ax0">
+ <dc:Bounds x="2371" y="538" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2424" y="544" width="60" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1nls1oo_di" bpmnElement="IntermediateThrowEvent_01ngkx2">
+ <dc:Bounds x="2352" y="582" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2401" y="587" width="60" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0qt249a_di" bpmnElement="IntermediateThrowEvent_0lbd0cs">
+ <dc:Bounds x="2289" y="679" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2337" y="706" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0frwxx8_di" bpmnElement="IntermediateThrowEvent_1ycbds3">
+ <dc:Bounds x="2240" y="713" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2276" y="741" width="74" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1vcx5cz_di" bpmnElement="IntermediateThrowEvent_1cp0hkt">
+ <dc:Bounds x="2199" y="735" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2233" y="759" width="70" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1y8fmlw_di" bpmnElement="IntermediateThrowEvent_184w0i8">
+ <dc:Bounds x="2159" y="759" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2199" y="796" width="82" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_024zi9r_di" bpmnElement="IntermediateThrowEvent_1u9f9kp">
+ <dc:Bounds x="2111" y="782" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2116" y="823" width="72" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_08x53cb_di" bpmnElement="IntermediateThrowEvent_18wrvcy">
+ <dc:Bounds x="158" y="308" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="134" y="343.09862671660426" width="83" height="37" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_179tyul_di" bpmnElement="SequenceFlow_179tyul">
+ <di:waypoint xsi:type="dc:Point" x="180" y="309" />
+ <di:waypoint xsi:type="dc:Point" x="181" y="277" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="181" y="278" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_101n488_di" bpmnElement="SequenceFlow_101n488">
+ <di:waypoint xsi:type="dc:Point" x="2113" y="486" />
+ <di:waypoint xsi:type="dc:Point" x="2127" y="255" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2120" y="356" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1fnxvhb_di" bpmnElement="IntermediateThrowEvent_17k1fmk">
+ <dc:Bounds x="2111" y="220" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2086" y="170" width="86" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1g6967r_di" bpmnElement="IntermediateThrowEvent_1m7fq7a">
+ <dc:Bounds x="158" y="582" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="146" y="617.147315855181" width="60" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ood2pr_di" bpmnElement="SequenceFlow_1ood2pr">
+ <di:waypoint xsi:type="dc:Point" x="176" y="582" />
+ <di:waypoint xsi:type="dc:Point" x="176" y="550" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="191" y="566" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1y81g09_di" bpmnElement="Task_0eae8go">
+ <dc:Bounds x="826" y="470" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0n20gvh_di" bpmnElement="Task_1dtbnuy">
+ <dc:Bounds x="126" y="470" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_08wyi5l_di" bpmnElement="Task_1sove95">
+ <dc:Bounds x="826" y="760" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1a5n5ff_di" bpmnElement="Task_1fj63ov">
+ <dc:Bounds x="364" y="470" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0mp082m_di" bpmnElement="Task_1ca5ctq">
+ <dc:Bounds x="364" y="760" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_07dp1m8_di" bpmnElement="IntermediateThrowEvent_1kbtw2p">
+ <dc:Bounds x="2324" y="634" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2345" y="668" width="60" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_021ah63_di" bpmnElement="SequenceFlow_021ah63">
+ <di:waypoint xsi:type="dc:Point" x="2127" y="520" />
+ <di:waypoint xsi:type="dc:Point" x="2327" y="643" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2227" y="566.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1qr054i_di" bpmnElement="ScriptTask_1qr054i">
+ <dc:Bounds x="1922" y="559" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1g8h3lt_di" bpmnElement="ExclusiveGateway_1g8h3lt" isMarkerVisible="true">
+ <dc:Bounds x="2008" y="696" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2002" y="746" width="62" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1bv97n4_di" bpmnElement="IntermediateCatchEvent_1bv97n4">
+ <dc:Bounds x="1954" y="671" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1889" y="683" width="55" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ai205d_di" bpmnElement="SequenceFlow_0ai205d">
+ <di:waypoint xsi:type="dc:Point" x="1972" y="639" />
+ <di:waypoint xsi:type="dc:Point" x="1972" y="671" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1987" y="645" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0a2cv6d_di" bpmnElement="SequenceFlow_0a2cv6d">
+ <di:waypoint xsi:type="dc:Point" x="1972" y="707" />
+ <di:waypoint xsi:type="dc:Point" x="1972" y="721" />
+ <di:waypoint xsi:type="dc:Point" x="2008" y="721" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1987" y="714" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ijc733_di" bpmnElement="SequenceFlow_1ijc733">
+ <di:waypoint xsi:type="dc:Point" x="1816" y="518" />
+ <di:waypoint xsi:type="dc:Point" x="1922" y="572" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1852" y="550" width="27" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1kntfys_di" bpmnElement="SequenceFlow_1kntfys">
+ <di:waypoint xsi:type="dc:Point" x="2058" y="721" />
+ <di:waypoint xsi:type="dc:Point" x="2085" y="721" />
+ <di:waypoint xsi:type="dc:Point" x="2085" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2063" y="706" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0h64c4o_di" bpmnElement="SequenceFlow_0h64c4o">
+ <di:waypoint xsi:type="dc:Point" x="2033" y="696" />
+ <di:waypoint xsi:type="dc:Point" x="2033" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1799" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="1799" y="312" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2041" y="646" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1ahvtrx_di" bpmnElement="Task_0zbogrm">
+ <dc:Bounds x="1749" y="604" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0syfgbo_di" bpmnElement="SequenceFlow_0syfgbo">
+ <di:waypoint xsi:type="dc:Point" x="1749" y="644" />
+ <di:waypoint xsi:type="dc:Point" x="1710" y="644" />
+ <di:waypoint xsi:type="dc:Point" x="1710" y="352" />
+ <di:waypoint xsi:type="dc:Point" x="1749" y="352" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1725" y="498" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_0k9fydp_di" bpmnElement="Task_1cfkcss">
+ <dc:Bounds x="600" y="470" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1kw9f96_di" bpmnElement="Task_1mdr1nd">
+ <dc:Bounds x="1064" y="470" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0d1uai9_di" bpmnElement="Task_1hdg951">
+ <dc:Bounds x="123" y="760" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1onqhy5_di" bpmnElement="Task_0h2nq31">
+ <dc:Bounds x="601" y="760" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1slvyx2_di" bpmnElement="ExclusiveGateway_1slvyx2" isMarkerVisible="true">
+ <dc:Bounds x="266" y="485" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="257" y="439" width="68" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1qnzi6i_di" bpmnElement="SequenceFlow_1qnzi6i">
+ <di:waypoint xsi:type="dc:Point" x="458" y="1486" />
+ <di:waypoint xsi:type="dc:Point" x="491" y="1486" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="475" y="1471" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1ufdbl8_di" bpmnElement="Task_13sybx8">
+ <dc:Bounds x="358" y="1446" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0hvg70o_di" bpmnElement="SequenceFlow_0hvg70o">
+ <di:waypoint xsi:type="dc:Point" x="333" y="1486" />
+ <di:waypoint xsi:type="dc:Point" x="358" y="1486" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="346" y="1471" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1qacr3e_di" bpmnElement="Task_0ilgwhw">
+ <dc:Bounds x="233" y="1446" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ib8gb8_di" bpmnElement="SequenceFlow_0ib8gb8">
+ <di:waypoint xsi:type="dc:Point" x="591" y="1486" />
+ <di:waypoint xsi:type="dc:Point" x="613" y="1486" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="602" y="1471" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_032b6ij_di" bpmnElement="Task_1mt62gu">
+ <dc:Bounds x="491" y="1446" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3.bpmn
new file mode 100644
index 0000000000..dcb5323fa5
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3.bpmn
@@ -0,0 +1,146 @@
+<?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:di="http://www.omg.org/spec/DD/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" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2">
+ <bpmn:process id="CreateServiceInstanceV3" name="CreateServiceInstanceV3" isExecutable="true">
+ <bpmn:startEvent id="StartEvent_1" name="start">
+ <bpmn:outgoing>SequenceFlow_055igqy</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_055igqy" sourceRef="StartEvent_1" targetRef="ServiceTask_1" />
+ <bpmn:serviceTask id="ServiceTask_1" name="Create Service Instance (AAI)" camunda:class="org.openecomp.mso.bpmn.infrastructure.AAITasks.AAICreateServiceInstance">
+ <bpmn:incoming>SequenceFlow_055igqy</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0n3aqvm</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:endEvent id="EndEvent_0czacld" name="end">
+ <bpmn:incoming>SequenceFlow_011vkoq</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0n3aqvm" sourceRef="ServiceTask_1" targetRef="ServiceTask_2" />
+ <bpmn:serviceTask id="ServiceTask_2" name="Create Project (AAI)" camunda:class="org.openecomp.mso.bpmn.infrastructure.AAITasks.AAICreateProject">
+ <bpmn:incoming>SequenceFlow_0n3aqvm</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1knhaka</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:sequenceFlow id="SequenceFlow_1knhaka" sourceRef="ServiceTask_2" targetRef="ServiceTask_3" />
+ <bpmn:sequenceFlow id="SequenceFlow_1wvh54c" sourceRef="ServiceTask_3" targetRef="ServiceTask_4" />
+ <bpmn:sequenceFlow id="SequenceFlow_011vkoq" sourceRef="ServiceTask_4" targetRef="EndEvent_0czacld" />
+ <bpmn:serviceTask id="ServiceTask_3" name="Create Owning Entity (AAI)" camunda:class="org.openecomp.mso.bpmn.infrastructure.AAITasks.AAICreateOwningEntity">
+ <bpmn:incoming>SequenceFlow_1knhaka</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1wvh54c</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:serviceTask id="ServiceTask_4" name="Create Service Instance (SDNC)" camunda:class="org.openecomp.mso.bpmn.infrastructure.SDNCTasks.SDNCCreateServiceInstance">
+ <bpmn:incoming>SequenceFlow_1wvh54c</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_011vkoq</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:subProcess id="SubProcess_0li0k0e" triggeredByEvent="true">
+ <bpmn:sequenceFlow id="SequenceFlow_1hm0qrs" sourceRef="StartEvent_0c0kf3c" targetRef="Task_0g6f9wo" />
+ <bpmn:endEvent id="EndEvent_0vqclsg" name="end">
+ <bpmn:incoming>SequenceFlow_1lli2e6</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_1lli2e6" sourceRef="Task_0g6f9wo" targetRef="EndEvent_0vqclsg" />
+ <bpmn:startEvent id="StartEvent_0c0kf3c" name="error">
+ <bpmn:outgoing>SequenceFlow_1hm0qrs</bpmn:outgoing>
+ <bpmn:errorEventDefinition />
+ </bpmn:startEvent>
+ <bpmn:callActivity id="Task_0g6f9wo" name="Rollback" calledElement="CreateServiceInstanceV3Rollback">
+ <bpmn:extensionElements>
+ <camunda:in source="aaiServiceInstanceRollback" target="aaiServiceInstanceRollback" />
+ <camunda:in source="ServiceDecomposition" target="ServiceDecomposition" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_1hm0qrs</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1lli2e6</bpmn:outgoing>
+ </bpmn:callActivity>
+ </bpmn:subProcess>
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateServiceInstanceV3">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+ <dc:Bounds x="173" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="180" y="138" width="22" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_055igqy_di" bpmnElement="SequenceFlow_055igqy">
+ <di:waypoint xsi:type="dc:Point" x="209" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="245" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="182" y="99" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_131yzgl_di" bpmnElement="ServiceTask_1">
+ <dc:Bounds x="245" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0czacld_di" bpmnElement="EndEvent_0czacld">
+ <dc:Bounds x="815" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="824" y="142" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0n3aqvm_di" bpmnElement="SequenceFlow_0n3aqvm">
+ <di:waypoint xsi:type="dc:Point" x="345" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="386" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="320.5" y="99" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_1n62tc6_di" bpmnElement="ServiceTask_2">
+ <dc:Bounds x="386" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1knhaka_di" bpmnElement="SequenceFlow_1knhaka">
+ <di:waypoint xsi:type="dc:Point" x="486" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="532" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="464" y="99" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1wvh54c_di" bpmnElement="SequenceFlow_1wvh54c">
+ <di:waypoint xsi:type="dc:Point" x="632" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="674" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="608" y="99" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_011vkoq_di" bpmnElement="SequenceFlow_011vkoq">
+ <di:waypoint xsi:type="dc:Point" x="774" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="815" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="749.5" y="99" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0ulwzil_di" bpmnElement="ServiceTask_3">
+ <dc:Bounds x="532" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_1qe7j08_di" bpmnElement="ServiceTask_4">
+ <dc:Bounds x="674" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="SubProcess_0mrwlu0_di" bpmnElement="SubProcess_0li0k0e" isExpanded="true">
+ <dc:Bounds x="315" y="204" width="350" height="200" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1hm0qrs_di" bpmnElement="SequenceFlow_1hm0qrs">
+ <di:waypoint xsi:type="dc:Point" x="381" y="287" />
+ <di:waypoint xsi:type="dc:Point" x="433" y="287" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="362" y="266" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_0vqclsg_di" bpmnElement="EndEvent_0vqclsg">
+ <dc:Bounds x="571" y="269" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="580" y="309" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1lli2e6_di" bpmnElement="SequenceFlow_1lli2e6">
+ <di:waypoint xsi:type="dc:Point" x="533" y="287" />
+ <di:waypoint xsi:type="dc:Point" x="571" y="287" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="507" y="266" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="StartEvent_070db75_di" bpmnElement="StartEvent_0c0kf3c">
+ <dc:Bounds x="345" y="269" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="351" y="309" width="24" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0lsbpos_di" bpmnElement="Task_0g6f9wo">
+ <dc:Bounds x="433" y="247" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3Rollback.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3Rollback.bpmn
new file mode 100644
index 0000000000..392ebd7ac8
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3Rollback.bpmn
@@ -0,0 +1,97 @@
+<?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:di="http://www.omg.org/spec/DD/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" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2">
+ <bpmn:process id="CreateServiceInstanceV3Rollback" name="CreateServiceInstanceV3Rollback" isExecutable="true">
+ <bpmn:startEvent id="StartEvent_1" name="start">
+ <bpmn:outgoing>SequenceFlow_15a3kpo</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_15a3kpo" sourceRef="StartEvent_1" targetRef="ServiceTask_1" />
+ <bpmn:endEvent id="EndEvent_0646ypz" name="end">
+ <bpmn:incoming>SequenceFlow_0dqe5xo</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0dqe5xo" sourceRef="ServiceTask_1" targetRef="EndEvent_0646ypz" />
+ <bpmn:serviceTask id="ServiceTask_1" name="Rollback AAI Service Instance" camunda:class="org.openecomp.mso.bpmn.infrastructure.DoCreateServiceInstance.RollbackAAIServiceInstance">
+ <bpmn:incoming>SequenceFlow_15a3kpo</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0dqe5xo</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:subProcess id="SubProcess_1omnzt2" triggeredByEvent="true">
+ <bpmn:startEvent id="StartEvent_1y39m1e" name="error">
+ <bpmn:outgoing>SequenceFlow_10szwpv</bpmn:outgoing>
+ <bpmn:errorEventDefinition />
+ </bpmn:startEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_10szwpv" sourceRef="StartEvent_1y39m1e" targetRef="ServiceTask_2" />
+ <bpmn:endEvent id="EndEvent_0j0lea1" name="end">
+ <bpmn:incoming>SequenceFlow_05g9m3e</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_05g9m3e" sourceRef="ServiceTask_2" targetRef="EndEvent_0j0lea1" />
+ <bpmn:serviceTask id="ServiceTask_2" name="Rollback Error" camunda:class="org.openecomp.mso.bpmn.infrastructure.DoCreateServiceInstance.RollbackError">
+ <bpmn:incoming>SequenceFlow_10szwpv</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_05g9m3e</bpmn:outgoing>
+ </bpmn:serviceTask>
+ </bpmn:subProcess>
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateServiceInstanceV3Rollback">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+ <dc:Bounds x="173" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="180" y="138" width="22" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_15a3kpo_di" bpmnElement="SequenceFlow_15a3kpo">
+ <di:waypoint xsi:type="dc:Point" x="209" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="266" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="237.5" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_0646ypz_di" bpmnElement="EndEvent_0646ypz">
+ <dc:Bounds x="427" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="436" y="142" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0dqe5xo_di" bpmnElement="SequenceFlow_0dqe5xo">
+ <di:waypoint xsi:type="dc:Point" x="366" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="427" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="396.5" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_16utus7_di" bpmnElement="ServiceTask_1">
+ <dc:Bounds x="266" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="SubProcess_17vvj4f_di" bpmnElement="SubProcess_1omnzt2" isExpanded="true">
+ <dc:Bounds x="141" y="199" width="350" height="200" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_08j7gdd_di" bpmnElement="StartEvent_1y39m1e">
+ <dc:Bounds x="172" y="277" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="178" y="317" width="24" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_10szwpv_di" bpmnElement="SequenceFlow_10szwpv">
+ <di:waypoint xsi:type="dc:Point" x="208" y="295" />
+ <di:waypoint xsi:type="dc:Point" x="268" y="295" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="238" y="274" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_0j0lea1_di" bpmnElement="EndEvent_0j0lea1">
+ <dc:Bounds x="423" y="277" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="432" y="317" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_05g9m3e_di" bpmnElement="SequenceFlow_05g9m3e">
+ <di:waypoint xsi:type="dc:Point" x="368" y="295" />
+ <di:waypoint xsi:type="dc:Point" x="423" y="295" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="395.5" y="274" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_074yl77_di" bpmnElement="ServiceTask_2">
+ <dc:Bounds x="268" y="255" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCompareModelVersions.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCompareModelVersions.bpmn
new file mode 100644
index 0000000000..4779b0acde
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCompareModelVersions.bpmn
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+ <bpmn2:process id="DoCompareModelVersions" name="DoCompareModelVersions" isExecutable="true">
+ <bpmn2:scriptTask id="ScriptTask_04rn9mp" name="DoCompareModelVersions" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1rebkae</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1lkpfe2</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def csi = new DoCompareModelVersions()
+csi.doCompareModelVersions(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_1rebkae" sourceRef="StartEvent_0jhv664" targetRef="ScriptTask_04rn9mp" />
+ <bpmn2:intermediateCatchEvent id="StartEvent_0jhv664" name="StartCompare">
+ <bpmn2:outgoing>SequenceFlow_1rebkae</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="StartCompare" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:endEvent id="EndEvent_0x8im5g">
+ <bpmn2:incoming>SequenceFlow_1lkpfe2</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1lkpfe2" sourceRef="ScriptTask_04rn9mp" targetRef="EndEvent_0x8im5g" />
+ <bpmn2:subProcess id="SubProcess_0roysbg" name="Sub-process for UnexpectedErrors" triggeredByEvent="true">
+ <bpmn2:startEvent id="StartEvent_0xtpw6j">
+ <bpmn2:outgoing>SequenceFlow_19sogyb</bpmn2:outgoing>
+ <bpmn2:errorEventDefinition />
+ </bpmn2:startEvent>
+ <bpmn2:endEvent id="EndEvent_05a2pr9">
+ <bpmn2:incoming>SequenceFlow_17mr4jl</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:scriptTask id="ScriptTask_0xk9fk3" name="Log / Print Unexpected Error" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_19sogyb</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_17mr4jl</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
+ExceptionUtil ex = new ExceptionUtil()
+ex.processJavaException(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_19sogyb" name="" sourceRef="StartEvent_0xtpw6j" targetRef="ScriptTask_0xk9fk3" />
+ <bpmn2:sequenceFlow id="SequenceFlow_17mr4jl" name="" sourceRef="ScriptTask_0xk9fk3" targetRef="EndEvent_05a2pr9" />
+ </bpmn2:subProcess>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0se5nzs" name="GoTo Decompose_Service_Original">
+ <bpmn2:incoming>SequenceFlow_0enm2cg</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="Decompose_Service_Original" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:scriptTask id="ScriptTask_1odhh8p" name="PostProcess&#10;Decompose&#10;Service&#10;" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1pe6r93</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0enm2cg</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi= new DoCompareModelVersions()
+dcsi.processDecomposition_Target(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="CallActivity_1va14ul" name="Call Decompose Service" calledElement="DecomposeService">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+ <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="serviceDecomposition" target="serviceDecomposition" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1lta49u</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1pe6r93</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:scriptTask id="ScriptTask_1fau2rr" name="Prepare&#10;Decompose&#10;Service&#10;" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0frea3k</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1lta49u</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi= new DoCompareModelVersions()
+dcsi.prepareDecomposeService_Target(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_07fy2ke" name="Decompose_Service_Target">
+ <bpmn2:outgoing>SequenceFlow_0frea3k</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="Decompose_Service_Target" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1pe6r93" sourceRef="CallActivity_1va14ul" targetRef="ScriptTask_1odhh8p" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0enm2cg" sourceRef="ScriptTask_1odhh8p" targetRef="IntermediateThrowEvent_0se5nzs" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1lta49u" sourceRef="ScriptTask_1fau2rr" targetRef="CallActivity_1va14ul" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0frea3k" sourceRef="IntermediateCatchEvent_07fy2ke" targetRef="ScriptTask_1fau2rr" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0b436w1" name="GoTo StartCompare">
+ <bpmn2:incoming>SequenceFlow_08zjjzw</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="StartCompare" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:scriptTask id="ScriptTask_1d9qb54" name="PostProcess&#10;Decompose&#10;Service&#10;" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1wudpuj</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_08zjjzw</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi= new DoCompareModelVersions()
+dcsi.processDecomposition_Original(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="CallActivity_1fc56sd" name="Call Decompose Service" calledElement="DecomposeService">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+ <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="serviceDecomposition" target="serviceDecomposition" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_04ciw70</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1wudpuj</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:scriptTask id="ScriptTask_1i06996" name="Prepare&#10;Decompose&#10;Service&#10;" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1fgkvpr</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_04ciw70</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi= new DoCompareModelVersions()
+dcsi.prepareDecomposeService_Original(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1m9q0j7" name="Decompose_Service_Original">
+ <bpmn2:outgoing>SequenceFlow_1fgkvpr</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="Decompose_Service_Original" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_08zjjzw" sourceRef="ScriptTask_1d9qb54" targetRef="IntermediateThrowEvent_0b436w1" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1wudpuj" sourceRef="CallActivity_1fc56sd" targetRef="ScriptTask_1d9qb54" />
+ <bpmn2:sequenceFlow id="SequenceFlow_04ciw70" sourceRef="ScriptTask_1i06996" targetRef="CallActivity_1fc56sd" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1fgkvpr" sourceRef="IntermediateCatchEvent_1m9q0j7" targetRef="ScriptTask_1i06996" />
+ <bpmn2:startEvent id="StartEvent_13da9hl" name="Start Flow">
+ <bpmn2:outgoing>SequenceFlow_1chfao3</bpmn2:outgoing>
+ </bpmn2:startEvent>
+ <bpmn2:scriptTask id="ScriptTask_0nie46r" name="PreProcess Incoming Request" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1chfao3</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_164yb3r</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCompareModelVersions()
+dcsi.preProcessRequest(execution)
+]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1dhdmdy" name="GoTo Decompose_Service_Target">
+ <bpmn2:incoming>SequenceFlow_164yb3r</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="Decompose_Service_Target" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1chfao3" name="" sourceRef="StartEvent_13da9hl" targetRef="ScriptTask_0nie46r" />
+ <bpmn2:sequenceFlow id="SequenceFlow_164yb3r" name="" sourceRef="ScriptTask_0nie46r" targetRef="IntermediateThrowEvent_1dhdmdy" />
+ </bpmn2:process>
+ <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
+ <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCompareModelVersions">
+ <bpmndi:BPMNShape id="ScriptTask_04rn9mp_di" bpmnElement="ScriptTask_04rn9mp">
+ <dc:Bounds x="426" y="426" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1rebkae_di" bpmnElement="SequenceFlow_1rebkae">
+ <di:waypoint xsi:type="dc:Point" x="10" y="466" />
+ <di:waypoint xsi:type="dc:Point" x="426" y="466" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="173" y="445" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_05z1jyy_di" bpmnElement="StartEvent_0jhv664">
+ <dc:Bounds x="-26" y="448" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-42" y="488" width="68" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0x8im5g_di" bpmnElement="EndEvent_0x8im5g">
+ <dc:Bounds x="1040" y="448" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1013" y="488" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1lkpfe2_di" bpmnElement="SequenceFlow_1lkpfe2">
+ <di:waypoint xsi:type="dc:Point" x="526" y="466" />
+ <di:waypoint xsi:type="dc:Point" x="1040" y="466" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="738" y="445" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="SubProcess_0roysbg_di" bpmnElement="SubProcess_0roysbg" isExpanded="true">
+ <dc:Bounds x="221" y="751" width="467" height="193" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_0xtpw6j_di" bpmnElement="StartEvent_0xtpw6j">
+ <dc:Bounds x="289" y="818" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="172" y="859" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_05a2pr9_di" bpmnElement="EndEvent_05a2pr9">
+ <dc:Bounds x="582" y="818" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="465" y="859" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0xk9fk3_di" bpmnElement="ScriptTask_0xk9fk3">
+ <dc:Bounds x="393" y="796" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_19sogyb_di" bpmnElement="SequenceFlow_19sogyb">
+ <di:waypoint xsi:type="dc:Point" x="325" y="836" />
+ <di:waypoint xsi:type="dc:Point" x="393" y="836" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="224" y="821" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_17mr4jl_di" bpmnElement="SequenceFlow_17mr4jl">
+ <di:waypoint xsi:type="dc:Point" x="493" y="836" />
+ <di:waypoint xsi:type="dc:Point" x="582" y="836" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="405" y="821" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0se5nzs_di" bpmnElement="IntermediateThrowEvent_0se5nzs">
+ <dc:Bounds x="1048" y="189" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1022" y="230" width="88" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1odhh8p_di" bpmnElement="ScriptTask_1odhh8p">
+ <dc:Bounds x="711" y="167" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1va14ul_di" bpmnElement="CallActivity_1va14ul">
+ <dc:Bounds x="426" y="167" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1fau2rr_di" bpmnElement="ScriptTask_1fau2rr">
+ <dc:Bounds x="144" y="167" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_07fy2ke_di" bpmnElement="IntermediateCatchEvent_07fy2ke">
+ <dc:Bounds x="-26" y="189" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-49" y="225" width="88" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1pe6r93_di" bpmnElement="SequenceFlow_1pe6r93">
+ <di:waypoint xsi:type="dc:Point" x="526" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="711" y="207" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="573.5" y="186" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0enm2cg_di" bpmnElement="SequenceFlow_0enm2cg">
+ <di:waypoint xsi:type="dc:Point" x="811" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="906" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="906" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="1048" y="207" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="876" y="201" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1lta49u_di" bpmnElement="SequenceFlow_1lta49u">
+ <di:waypoint xsi:type="dc:Point" x="244" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="426" y="207" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="290" y="186" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0frea3k_di" bpmnElement="SequenceFlow_0frea3k">
+ <di:waypoint xsi:type="dc:Point" x="10" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="144" y="207" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="32" y="186" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0b436w1_di" bpmnElement="IntermediateThrowEvent_0b436w1">
+ <dc:Bounds x="1047" y="311" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1032" y="352" width="68" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1d9qb54_di" bpmnElement="ScriptTask_1d9qb54">
+ <dc:Bounds x="711" y="290" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1fc56sd_di" bpmnElement="CallActivity_1fc56sd">
+ <dc:Bounds x="426" y="290" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1i06996_di" bpmnElement="ScriptTask_1i06996">
+ <dc:Bounds x="144" y="290" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_1m9q0j7_di" bpmnElement="IntermediateCatchEvent_1m9q0j7">
+ <dc:Bounds x="-26" y="312" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-50" y="348" width="88" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_08zjjzw_di" bpmnElement="SequenceFlow_08zjjzw">
+ <di:waypoint xsi:type="dc:Point" x="811" y="330" />
+ <di:waypoint xsi:type="dc:Point" x="1047" y="329" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="929" y="308.5" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1wudpuj_di" bpmnElement="SequenceFlow_1wudpuj">
+ <di:waypoint xsi:type="dc:Point" x="526" y="330" />
+ <di:waypoint xsi:type="dc:Point" x="711" y="330" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="618.5" y="309" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_04ciw70_di" bpmnElement="SequenceFlow_04ciw70">
+ <di:waypoint xsi:type="dc:Point" x="244" y="330" />
+ <di:waypoint xsi:type="dc:Point" x="426" y="330" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="245" y="309" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1fgkvpr_di" bpmnElement="SequenceFlow_1fgkvpr">
+ <di:waypoint xsi:type="dc:Point" x="10" y="330" />
+ <di:waypoint xsi:type="dc:Point" x="144" y="330" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-13" y="309" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="StartEvent_13da9hl_di" bpmnElement="StartEvent_13da9hl">
+ <dc:Bounds x="-20" y="83" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-26" y="124" width="50" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0nie46r_di" bpmnElement="ScriptTask_0nie46r">
+ <dc:Bounds x="340" y="61" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1dhdmdy_di" bpmnElement="IntermediateThrowEvent_1dhdmdy">
+ <dc:Bounds x="1048" y="83" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1023" y="123" width="88" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1chfao3_di" bpmnElement="SequenceFlow_1chfao3">
+ <di:waypoint xsi:type="dc:Point" x="16" y="101" />
+ <di:waypoint xsi:type="dc:Point" x="181" y="101" />
+ <di:waypoint xsi:type="dc:Point" x="181" y="101" />
+ <di:waypoint xsi:type="dc:Point" x="340" y="101" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="196" y="95" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_164yb3r_di" bpmnElement="SequenceFlow_164yb3r">
+ <di:waypoint xsi:type="dc:Point" x="440" y="101" />
+ <di:waypoint xsi:type="dc:Point" x="1048" y="101" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="744" y="80" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstance.bpmn
index 19fd490b9f..7b2ededb6f 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstance.bpmn
@@ -9,7 +9,7 @@
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance()
+def dcsi = new DoCreateServiceInstance()
dcsi.getAAICustomerById(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="getAAICustomerById_scriptTask" targetRef="ExclusiveGateway_09wkav2" />
@@ -17,8 +17,8 @@ dcsi.getAAICustomerById(execution)]]></bpmn2:script>
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance()
-dcsi.preProcessRequest(execution)
+def dcsi = new DoCreateServiceInstance()
+dcsi.preProcessRequest(execution)
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="callGenericGetService" targetRef="ScriptTask_0i8cqdy" />
@@ -26,14 +26,14 @@ dcsi.preProcessRequest(execution)
<bpmn2:incoming>SequenceFlow_156ih25</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance()
+def dcsi = new DoCreateServiceInstance()
dcsi.preProcessSDNCAssignRequest(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:scriptTask id="PostProcessSDNCAssignRequest" name="Post Process SDNC Assign Request" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance()
+def dcsi = new DoCreateServiceInstance()
dcsi.postProcessSDNCAssign(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:callActivity id="CallSDNCAdapterServiceTopologyAssign" name="Call SDNC Adapter Service Topology Assign" calledElement="sdncAdapter">
@@ -80,22 +80,21 @@ dcsi.postProcessSDNCAssign(execution)]]></bpmn2:script>
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_1uw2p9a</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_1w01tqs</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_129ih1g</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1jhzmzn</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_129ih1g" sourceRef="callGenericPutService" targetRef="ScriptTask_0q37vn9" />
- <bpmn2:exclusiveGateway id="ExclusiveGateway_09wkav2" name="sdncVersion is 1610 or serviceInstance name is populated?" default="SequenceFlow_1uw2p9a">
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_09wkav2" name="need to check SI name in AAI?" default="SequenceFlow_1uw2p9a">
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_11fnnkb</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_1uw2p9a</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_11fnnkb" name="yes" sourceRef="ExclusiveGateway_09wkav2" targetRef="callGenericGetService">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("serviceInstanceName" ) != null && execution.getVariable("serviceInstanceName" ) != "" ) || execution.getVariable("sdncVersion" ) == "1610" }]]></bpmn2:conditionExpression>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("checkAAI" ) == true }]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_1uw2p9a" name="no" sourceRef="ExclusiveGateway_09wkav2" targetRef="callGenericPutService" />
<bpmn2:subProcess id="SubProcess_06d8lk8" name="Sub-process for Application Errors" triggeredByEvent="true">
<bpmn2:startEvent id="StartEvent_0yljq9y">
<bpmn2:outgoing>SequenceFlow_0tgrn11</bpmn2:outgoing>
- <bpmn2:errorEventDefinition />
+ <bpmn2:errorEventDefinition errorRef="Error_2" />
</bpmn2:startEvent>
<bpmn2:endEvent id="EndEvent_117lkk3">
<bpmn2:incoming>SequenceFlow_1xzgv5k</bpmn2:incoming>
@@ -117,8 +116,8 @@ dcsi.postProcessSDNCAssign(execution)]]></bpmn2:script>
<bpmn2:incoming>SequenceFlow_0tgrn11</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1lqktwf</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance()
-dcsi.preProcessRollback(execution)
+def dcsi = new DoCreateServiceInstance()
+dcsi.preProcessRollback(execution)
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1lqktwf" sourceRef="ScriptTask_0ocetux" targetRef="CallActivity_1srx6p6" />
@@ -126,14 +125,14 @@ dcsi.preProcessRollback(execution)
<bpmn2:incoming>SequenceFlow_0eumzpf</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1xzgv5k</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance()
-dcsi.postProcessRollback(execution)
+def dcsi = new DoCreateServiceInstance()
+dcsi.postProcessRollback(execution)
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1xzgv5k" sourceRef="ScriptTask_1p0vyip" targetRef="EndEvent_117lkk3" />
</bpmn2:subProcess>
- <bpmn2:exclusiveGateway id="ExclusiveGateway_1nk6aol" name="sdncVersion is 1610?" default="SequenceFlow_156ih25">
- <bpmn2:incoming>SequenceFlow_1dd86x8</bpmn2:incoming>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1nk6aol" name="sdncVersion is 1610 and not port mirror?" default="SequenceFlow_156ih25">
+ <bpmn2:incoming>SequenceFlow_0w5i6vf</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_156ih25</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_00v4npo</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
@@ -142,24 +141,16 @@ dcsi.postProcessRollback(execution)
<bpmn2:incoming>SequenceFlow_00v4npo</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_00v4npo" name="yes" sourceRef="ExclusiveGateway_1nk6aol" targetRef="EndEvent_10659gr">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("sdncVersion" ) == "1610"}]]></bpmn2:conditionExpression>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{!execution.getVariable("sendToSDNC")}]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:scriptTask id="ScriptTask_0i8cqdy" name="Post Process AAI GET" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1w01tqs</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance()
+def dcsi = new DoCreateServiceInstance()
dcsi.postProcessAAIGET(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1w01tqs" sourceRef="ScriptTask_0i8cqdy" targetRef="callGenericPutService" />
- <bpmn2:scriptTask id="ScriptTask_0q37vn9" name="Post Process AAI PUT" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_129ih1g</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1dd86x8</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def ddsi = new DoCreateServiceInstance()
-ddsi.postProcessAAIPUT(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_1dd86x8" sourceRef="ScriptTask_0q37vn9" targetRef="ExclusiveGateway_1nk6aol" />
<bpmn2:callActivity id="CallActivity_1707jgc" name="Call GenericGetService2" calledElement="GenericGetService">
<bpmn2:extensionElements>
<camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" />
@@ -179,10 +170,53 @@ ddsi.postProcessAAIPUT(execution)]]></bpmn2:script>
<bpmn2:scriptTask id="ScriptTask_1tp0fcx" name="Post Process AAI GET2" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_0tx5frq</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_01q6pl4</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance()
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstance()
dcsi.postProcessAAIGET2(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
+ <bpmn2:scriptTask id="ScriptTask_0q37vn9" name="Post Process AAI PUT" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1jhzmzn</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_16sdyz9</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def ddsi = new DoCreateServiceInstance()
+ddsi.postProcessAAIPUT(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0k0wn03" sourceRef="Task_0wj9ajs" targetRef="Task_1g8wthf" />
+ <bpmn2:scriptTask id="Task_0wj9ajs" name="Create Project" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_16sdyz9</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0k0wn03</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstance()
+dcsi.createProject(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_1g8wthf" name="Create Owning Entity" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0k0wn03</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0w5i6vf</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstance()
+dcsi.createOwningEntity(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_1jhzmzn" sourceRef="callGenericPutService" targetRef="ScriptTask_0q37vn9" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0w5i6vf" sourceRef="Task_1g8wthf" targetRef="ExclusiveGateway_1nk6aol" />
+ <bpmn2:sequenceFlow id="SequenceFlow_16sdyz9" sourceRef="ScriptTask_0q37vn9" targetRef="Task_0wj9ajs" />
+ <bpmn2:subProcess id="SubProcess_1awd8cm" name="Sub-process for UnexpectedErrors" triggeredByEvent="true">
+ <bpmn2:scriptTask id="ScriptTask_1thtxi5" name="Log / Print Unexpected Error" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0x48any</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_052o4xc</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstance()
+dcsi.processJavaException(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:startEvent id="StartEvent_0xjnqhv">
+ <bpmn2:outgoing>SequenceFlow_0x48any</bpmn2:outgoing>
+ <bpmn2:errorEventDefinition errorRef="Error_1" />
+ </bpmn2:startEvent>
+ <bpmn2:endEvent id="EndEvent_0eikrc1">
+ <bpmn2:incoming>SequenceFlow_052o4xc</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0x48any" name="" sourceRef="StartEvent_0xjnqhv" targetRef="ScriptTask_1thtxi5" />
+ <bpmn2:sequenceFlow id="SequenceFlow_052o4xc" name="" sourceRef="ScriptTask_1thtxi5" targetRef="EndEvent_0eikrc1" />
+ </bpmn2:subProcess>
</bpmn2:process>
<bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
<bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
@@ -215,9 +249,9 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_3">
- <dc:Bounds x="1115" y="1165" width="36" height="36" />
+ <dc:Bounds x="1122" y="1297" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1133" y="1206" width="0" height="0" />
+ <dc:Bounds x="1095" y="1338" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_4">
@@ -228,13 +262,13 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_334" bpmnElement="PreProcessSDNCAssignRequest">
- <dc:Bounds x="972" y="578" width="100" height="80" />
+ <dc:Bounds x="972" y="810" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_335" bpmnElement="PostProcessSDNCAssignRequest">
- <dc:Bounds x="972" y="864" width="100" height="80" />
+ <dc:Bounds x="972" y="1054" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_74" bpmnElement="CallSDNCAdapterServiceTopologyAssign">
- <dc:Bounds x="972" y="721" width="100" height="80" />
+ <dc:Bounds x="972" y="930" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_61" targetElement="_BPMNShape_ScriptTask_62">
<di:waypoint xsi:type="dc:Point" x="345" y="97" />
@@ -244,28 +278,24 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_334" targetElement="_BPMNShape_CallActivity_74">
- <di:waypoint xsi:type="dc:Point" x="1020" y="658" />
- <di:waypoint xsi:type="dc:Point" x="1020" y="692" />
- <di:waypoint xsi:type="dc:Point" x="1020" y="692" />
- <di:waypoint xsi:type="dc:Point" x="1020" y="715" />
+ <di:waypoint xsi:type="dc:Point" x="1020" y="890" />
+ <di:waypoint xsi:type="dc:Point" x="1020" y="930" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1035" y="692" width="0" height="0" />
+ <dc:Bounds x="990" y="910" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_CallActivity_74" targetElement="_BPMNShape_ScriptTask_335">
- <di:waypoint xsi:type="dc:Point" x="1022" y="801" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="840" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="840" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="864" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="1010" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="1054" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1037" y="840" width="0" height="0" />
+ <dc:Bounds x="992" y="1032" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_335">
- <di:waypoint xsi:type="dc:Point" x="1024" y="944" />
- <di:waypoint xsi:type="dc:Point" x="1024" y="994" />
+ <di:waypoint xsi:type="dc:Point" x="1024" y="1134" />
+ <di:waypoint xsi:type="dc:Point" x="1024" y="1162" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1039" y="969" width="0" height="0" />
+ <dc:Bounds x="994" y="1148" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="CallActivity_1md4kyb_di" bpmnElement="callGenericGetService">
@@ -274,17 +304,10 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script>
<bpmndi:BPMNShape id="CallActivity_0khp0qc_di" bpmnElement="callGenericPutService">
<dc:Bounds x="972" y="206" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_129ih1g_di" bpmnElement="SequenceFlow_129ih1g">
- <di:waypoint xsi:type="dc:Point" x="1023" y="286" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="336" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1023" y="296" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_09wkav2_di" bpmnElement="ExclusiveGateway_09wkav2" isMarkerVisible="true">
<dc:Bounds x="565" y="72" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="547" y="7" width="81" height="62" />
+ <dc:Bounds x="547" y="27" width="85" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_11fnnkb_di" bpmnElement="SequenceFlow_11fnnkb">
@@ -335,31 +358,31 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1nk6aol_di" bpmnElement="ExclusiveGateway_1nk6aol" isMarkerVisible="true">
- <dc:Bounds x="997" y="460" width="50" height="50" />
+ <dc:Bounds x="997" y="717" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="903" y="472" width="75" height="24" />
+ <dc:Bounds x="898" y="729" width="86" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_156ih25_di" bpmnElement="SequenceFlow_156ih25">
- <di:waypoint xsi:type="dc:Point" x="1022" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="545" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="545" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="575" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="767" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="810" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1039" y="510.8721806797853" width="12" height="12" />
+ <dc:Bounds x="1039" y="770" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="EndEvent_10659gr_di" bpmnElement="EndEvent_10659gr">
- <dc:Bounds x="1103" y="467" width="36" height="36" />
+ <dc:Bounds x="1105" y="724" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1121" y="508" width="0" height="0" />
+ <dc:Bounds x="1078" y="765" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_00v4npo_di" bpmnElement="SequenceFlow_00v4npo">
- <di:waypoint xsi:type="dc:Point" x="1047" y="485" />
- <di:waypoint xsi:type="dc:Point" x="1103" y="485" />
+ <di:waypoint xsi:type="dc:Point" x="1047" y="742" />
+ <di:waypoint xsi:type="dc:Point" x="1075" y="742" />
+ <di:waypoint xsi:type="dc:Point" x="1075" y="742" />
+ <di:waypoint xsi:type="dc:Point" x="1105" y="742" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1063" y="461" width="18" height="12" />
+ <dc:Bounds x="1050.5" y="718" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0i8cqdy_di" bpmnElement="ScriptTask_0i8cqdy">
@@ -374,16 +397,6 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script>
<dc:Bounds x="1036" y="172" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_0q37vn9_di" bpmnElement="ScriptTask_0q37vn9">
- <dc:Bounds x="972" y="336" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_1dd86x8_di" bpmnElement="SequenceFlow_1dd86x8">
- <di:waypoint xsi:type="dc:Point" x="1022" y="416" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="460" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1037" y="438" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0ocetux_di" bpmnElement="ScriptTask_0ocetux">
<dc:Bounds x="330" y="586" width="100" height="80" />
</bpmndi:BPMNShape>
@@ -407,25 +420,96 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="CallActivity_1707jgc_di" bpmnElement="CallActivity_1707jgc">
- <dc:Bounds x="972" y="994" width="100" height="80" />
+ <dc:Bounds x="972" y="1162" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0tx5frq_di" bpmnElement="SequenceFlow_0tx5frq">
- <di:waypoint xsi:type="dc:Point" x="1022" y="1074" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="1143" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="1242" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="1275" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1037" y="1108.5" width="0" height="0" />
+ <dc:Bounds x="992" y="1258.5" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_01q6pl4_di" bpmnElement="SequenceFlow_01q6pl4">
- <di:waypoint xsi:type="dc:Point" x="1072" y="1183" />
- <di:waypoint xsi:type="dc:Point" x="1115" y="1183" />
+ <di:waypoint xsi:type="dc:Point" x="1072" y="1315" />
+ <di:waypoint xsi:type="dc:Point" x="1094" y="1315" />
+ <di:waypoint xsi:type="dc:Point" x="1094" y="1315" />
+ <di:waypoint xsi:type="dc:Point" x="1122" y="1315" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1094" y="1168" width="0" height="0" />
+ <dc:Bounds x="1064" y="1315" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_1tp0fcx_di" bpmnElement="ScriptTask_1tp0fcx">
- <dc:Bounds x="972" y="1143" width="100" height="80" />
+ <dc:Bounds x="972" y="1275" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0q37vn9_di" bpmnElement="ScriptTask_0q37vn9">
+ <dc:Bounds x="972" y="336" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0k0wn03_di" bpmnElement="SequenceFlow_0k0wn03">
+ <di:waypoint xsi:type="dc:Point" x="1022" y="541" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="589" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="992" y="559" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0v8y3ex_di" bpmnElement="Task_0wj9ajs">
+ <dc:Bounds x="972" y="461" width="100" height="80" />
</bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0lndrbk_di" bpmnElement="Task_1g8wthf">
+ <dc:Bounds x="972" y="589" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1jhzmzn_di" bpmnElement="SequenceFlow_1jhzmzn">
+ <di:waypoint xsi:type="dc:Point" x="1022" y="286" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="336" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1037" y="305" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0w5i6vf_di" bpmnElement="SequenceFlow_0w5i6vf">
+ <di:waypoint xsi:type="dc:Point" x="1022" y="669" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="717" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1037" y="687" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_16sdyz9_di" bpmnElement="SequenceFlow_16sdyz9">
+ <di:waypoint xsi:type="dc:Point" x="1022" y="416" />
+ <di:waypoint xsi:type="dc:Point" x="1022" y="461" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1037" y="432.5" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="SubProcess_1awd8cm_di" bpmnElement="SubProcess_1awd8cm" isExpanded="true">
+ <dc:Bounds x="98" y="304" width="394" height="188" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1thtxi5_di" bpmnElement="ScriptTask_1thtxi5">
+ <dc:Bounds x="246" y="359" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_0xjnqhv_di" bpmnElement="StartEvent_0xjnqhv">
+ <dc:Bounds x="131" y="381" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="149" y="422" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0eikrc1_di" bpmnElement="EndEvent_0eikrc1">
+ <dc:Bounds x="407" y="381" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="425" y="422" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0x48any_di" bpmnElement="SequenceFlow_0x48any">
+ <di:waypoint xsi:type="dc:Point" x="167" y="399" />
+ <di:waypoint xsi:type="dc:Point" x="246" y="399" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="209" y="399" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_052o4xc_di" bpmnElement="SequenceFlow_052o4xc">
+ <di:waypoint xsi:type="dc:Point" x="346" y="399" />
+ <di:waypoint xsi:type="dc:Point" x="407" y="399" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="381" y="399" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollback.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollback.bpmn
index 6c24696cbd..ef5ce351d2 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollback.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollback.bpmn
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
<bpmn2:process id="DoCreateServiceInstanceRollback" name="DoCreateServiceInstanceRollback" isExecutable="true">
<bpmn2:startEvent id="createSIRollback_startEvent" name="Start Flow">
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
@@ -35,20 +35,6 @@ rbk.processRollbackException(execution)]]></bpmn2:script>
<bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ScriptTask_1" targetRef="EndEvent_1" />
</bpmn2:subProcess>
<bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="preProcessRequest_ScriptTask" targetRef="ExclusiveGateway_19tbjgn" />
- <bpmn2:callActivity id="callGenericDeleteService" name="Call AAI GenericDelete Service " calledElement="GenericDeleteService">
- <bpmn2:extensionElements>
- <camunda:in source="serviceInstanceId" target="GENDS_serviceInstanceId" />
- <camunda:in source="subscriptionServiceType" target="GENDS_serviceType" />
- <camunda:in source="globalSubscriberId" target="GENDS_globalCustomerId" />
- <camunda:in sourceExpression="service-instance" target="GENDS_type" />
- <camunda:out source="GENDS_FoundIndicator" target="GENDS_FoundIndicator" />
- <camunda:in sourceExpression="&#34;&#34;" target="GENGS_serviceType" />
- <camunda:out source="GENDS_SuccessIndicator" target="GENDS_SuccessIndicator" />
- <camunda:out source="WorkflowException" target="WorkflowExecption" />
- </bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_1x9eh33</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_05wu9i7</bpmn2:outgoing>
- </bpmn2:callActivity>
<bpmn2:exclusiveGateway id="ExclusiveGateway_09wkav2" name="RollbackSDNC?" default="SequenceFlow_1uw2p9a">
<bpmn2:incoming>SequenceFlow_06aasqh</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_11fnnkb</bpmn2:outgoing>
@@ -66,10 +52,6 @@ rbk.processRollbackException(execution)]]></bpmn2:script>
<bpmn2:outgoing>SequenceFlow_1x9eh33</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_1n7wade" name="no" sourceRef="ExclusiveGateway_0ii31dq" targetRef="PostProcess_ScriptTask" />
- <bpmn2:sequenceFlow id="SequenceFlow_05wu9i7" sourceRef="callGenericDeleteService" targetRef="PostProcess_ScriptTask" />
- <bpmn2:sequenceFlow id="SequenceFlow_1x9eh33" name="yes" sourceRef="ExclusiveGateway_0ii31dq" targetRef="callGenericDeleteService">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("rollbackAAI" ) == "true"}]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_0k28xib" sourceRef="CallActivity_0ak0ezb" targetRef="ScriptTask_1uxr0cx" />
<bpmn2:callActivity id="CallActivity_0ak0ezb" name="Call SDNC Service Topology Deactivate" calledElement="sdncAdapter">
<bpmn2:extensionElements>
@@ -98,9 +80,9 @@ rbk.validateSDNCResponse(execution, response, "deactivate")]]></bpmn2:script>
<bpmn2:outgoing>SequenceFlow_1rzlaoy</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:scriptTask id="PostProcess_ScriptTask" name="Post Process Request" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_05wu9i7</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_1n7wade</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_1rzlaoy</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0h3wkj4</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_01l4ssl</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def rbk = new DoCreateServiceInstanceRollback()
@@ -152,6 +134,14 @@ rbk.validateSDNCResponse(execution, response, "delete")]]></bpmn2:script>
</bpmn2:callActivity>
<bpmn2:sequenceFlow id="SequenceFlow_006g9e8" sourceRef="CallActivity_0ppz9nd" targetRef="ScriptTask_1awt1ds" />
<bpmn2:sequenceFlow id="SequenceFlow_1njogr1" sourceRef="ScriptTask_1awt1ds" targetRef="ExclusiveGateway_0ii31dq" />
+ <bpmn2:serviceTask id="Task_06o1aio" name="AAI Delete Service" camunda:class="org.openecomp.mso.bpmn.infrastructure.aai.AAIDeleteServiceInstance">
+ <bpmn2:incoming>SequenceFlow_1x9eh33</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0h3wkj4</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0h3wkj4" sourceRef="Task_06o1aio" targetRef="PostProcess_ScriptTask" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1x9eh33" name="yes" sourceRef="ExclusiveGateway_0ii31dq" targetRef="Task_06o1aio">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("rollbackAAI" ) == "true"}]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
</bpmn2:process>
<bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
<bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
@@ -208,9 +198,6 @@ rbk.validateSDNCResponse(execution, response, "delete")]]></bpmn2:script>
<dc:Bounds x="350" y="82" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="CallActivity_1md4kyb_di" bpmnElement="callGenericDeleteService">
- <dc:Bounds x="1167" y="57" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_09wkav2_di" bpmnElement="ExclusiveGateway_09wkav2" isMarkerVisible="true">
<dc:Bounds x="448" y="72" width="50" height="50" />
<bpmndi:BPMNLabel>
@@ -247,20 +234,6 @@ rbk.validateSDNCResponse(execution, response, "delete")]]></bpmn2:script>
<dc:Bounds x="1081" y="124.63709677419354" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_05wu9i7_di" bpmnElement="SequenceFlow_05wu9i7">
- <di:waypoint xsi:type="dc:Point" x="1217" y="137" />
- <di:waypoint xsi:type="dc:Point" x="1217" y="201" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1232" y="169" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1x9eh33_di" bpmnElement="SequenceFlow_1x9eh33">
- <di:waypoint xsi:type="dc:Point" x="1096" y="97" />
- <di:waypoint xsi:type="dc:Point" x="1167" y="97" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1126" y="82" width="18" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0k28xib_di" bpmnElement="SequenceFlow_0k28xib">
<di:waypoint xsi:type="dc:Point" x="639" y="97" />
<di:waypoint xsi:type="dc:Point" x="671" y="97" />
@@ -374,6 +347,27 @@ rbk.validateSDNCResponse(execution, response, "delete")]]></bpmn2:script>
<dc:Bounds x="1034" y="82" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0e780gv_di" bpmnElement="Task_06o1aio">
+ <dc:Bounds x="1176" y="57" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0h3wkj4_di" bpmnElement="SequenceFlow_0h3wkj4">
+ <di:waypoint xsi:type="dc:Point" x="1276" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="1296" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="1296" y="241" />
+ <di:waypoint xsi:type="dc:Point" x="1276" y="241" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1311" y="163" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1x9eh33_di" bpmnElement="SequenceFlow_1x9eh33">
+ <di:waypoint xsi:type="dc:Point" x="1096" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="1136" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="1136" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="1176" y="97" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1115.9718309859154" y="71" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollbackV2.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollbackV2.bpmn
new file mode 100644
index 0000000000..7853aa9586
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollbackV2.bpmn
@@ -0,0 +1,103 @@
+<?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:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2">
+ <bpmn:process id="DoCreateServiceInstanceRollbackV2" name="DoCreateServiceInstanceRollbackV2" isExecutable="true">
+ <bpmn:startEvent id="StartEvent_1" name="start">
+ <bpmn:outgoing>SequenceFlow_0r35zfs</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0r35zfs" sourceRef="StartEvent_1" targetRef="ScriptTask_2" />
+ <bpmn:endEvent id="EndEvent_1uwvw04" name="end">
+ <bpmn:incoming>SequenceFlow_1f949uf</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_1f949uf" sourceRef="ScriptTask_2" targetRef="EndEvent_1uwvw04" />
+ <bpmn:scriptTask id="ScriptTask_2" name="ServiceInstance Rollback (A&#38;AI)" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0r35zfs</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1f949uf</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsir = new DoCreateServiceInstanceRollbackV2()
+dcsir.aaiServiceInstanceRollback(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:subProcess id="SubProcess_06tpqag" triggeredByEvent="true">
+ <bpmn:startEvent id="StartEvent_1n34l5n" name="error start">
+ <bpmn:outgoing>SequenceFlow_1tnfu1n</bpmn:outgoing>
+ <bpmn:errorEventDefinition />
+ </bpmn:startEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_1tnfu1n" sourceRef="StartEvent_1n34l5n" targetRef="Task_11sf5id" />
+ <bpmn:endEvent id="EndEvent_1ldhg44" name="end">
+ <bpmn:incoming>SequenceFlow_0hi9120</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0hi9120" sourceRef="Task_11sf5id" targetRef="EndEvent_1ldhg44" />
+ <bpmn:scriptTask id="Task_11sf5id" name="Rollback ERROR" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_1tnfu1n</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0hi9120</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsir = new DoCreateServiceInstanceRollbackV2()
+dcsir.rollbackError(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ </bpmn:subProcess>
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateServiceInstanceRollbackV2">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+ <dc:Bounds x="223" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="230" y="138" width="22" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0r35zfs_di" bpmnElement="SequenceFlow_0r35zfs">
+ <di:waypoint xsi:type="dc:Point" x="259" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="325" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="247" y="99" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_1uwvw04_di" bpmnElement="EndEvent_1uwvw04">
+ <dc:Bounds x="490" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="499" y="142" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1f949uf_di" bpmnElement="SequenceFlow_1f949uf">
+ <di:waypoint xsi:type="dc:Point" x="425" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="490" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="412.5" y="99" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0kr8b5y_di" bpmnElement="ScriptTask_2">
+ <dc:Bounds x="325" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="SubProcess_03s2qcr_di" bpmnElement="SubProcess_06tpqag" isExpanded="true">
+ <dc:Bounds x="200" y="216" width="350" height="200" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_1nwdcsr_di" bpmnElement="StartEvent_1n34l5n">
+ <dc:Bounds x="229" y="295" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="223" y="335" width="49" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1tnfu1n_di" bpmnElement="SequenceFlow_1tnfu1n">
+ <di:waypoint xsi:type="dc:Point" x="265" y="313" />
+ <di:waypoint xsi:type="dc:Point" x="318" y="313" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="291.5" y="292" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_1ldhg44_di" bpmnElement="EndEvent_1ldhg44">
+ <dc:Bounds x="453" y="295" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="462" y="335" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0hi9120_di" bpmnElement="SequenceFlow_0hi9120">
+ <di:waypoint xsi:type="dc:Point" x="418" y="313" />
+ <di:waypoint xsi:type="dc:Point" x="453" y="313" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="435.5" y="292" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1w1j8ao_di" bpmnElement="Task_11sf5id">
+ <dc:Bounds x="318" y="273" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceV2.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceV2.bpmn
new file mode 100644
index 0000000000..251af54305
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceV2.bpmn
@@ -0,0 +1,197 @@
+<?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:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2">
+ <bpmn:process id="DoCreateServiceInstanceV2" name="DoCreateServiceInstanceV2" isExecutable="true">
+ <bpmn:startEvent id="StartEvent_1" name="Start">
+ <bpmn:outgoing>SequenceFlow_0g8qp84</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0651nnp" sourceRef="ScriptTask_1" targetRef="ScriptTask_2" />
+ <bpmn:sequenceFlow id="SequenceFlow_0u0ptz7" sourceRef="ScriptTask_2" targetRef="ScriptTask_3" />
+ <bpmn:exclusiveGateway id="ExclusiveGateway_1" name="Run SDNC Request?">
+ <bpmn:incoming>SequenceFlow_0ekno6w</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1t50vt9</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0xhy3o1</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:sequenceFlow id="SequenceFlow_0ekno6w" sourceRef="ScriptTask_3" targetRef="ExclusiveGateway_1" />
+ <bpmn:sequenceFlow id="SequenceFlow_1t50vt9" name="Yes" sourceRef="ExclusiveGateway_1" targetRef="ScriptTask_4">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("callSDNC")}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:endEvent id="EndEvent_2" name="End">
+ <bpmn:incoming>SequenceFlow_0xhy3o1</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0xhy3o1" name="No" sourceRef="ExclusiveGateway_1" targetRef="EndEvent_2" />
+ <bpmn:endEvent id="EndEvent_1" name="End">
+ <bpmn:incoming>SequenceFlow_0eryvle</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0eryvle" sourceRef="ScriptTask_4" targetRef="EndEvent_1" />
+ <bpmn:scriptTask id="ScriptTask_1" name="Create Service Instance (A&#38;AI)" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0g8qp84</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0651nnp</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstanceV2()
+dcsi.createServiceInstance(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:scriptTask id="ScriptTask_2" name="Create Project (A&#38;AI)" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0651nnp</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0u0ptz7</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstanceV2()
+dcsi.createProject(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:scriptTask id="ScriptTask_3" name="Create Owning Entity (A&#38;AI)" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0u0ptz7</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0ekno6w</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstanceV2()
+dcsi.createOwningEntity(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:scriptTask id="ScriptTask_4" name="Create Service Instance (SDNC)" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_1t50vt9</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0eryvle</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstanceV2()
+dcsi.sdncCreateServiceInstance(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:subProcess id="SubProcess_0lezgt7" name="Error Handling" triggeredByEvent="true">
+ <bpmn:startEvent id="ErrorEvent_2" name="Error">
+ <bpmn:outgoing>SequenceFlow_0mk8fd7</bpmn:outgoing>
+ <bpmn:errorEventDefinition />
+ </bpmn:startEvent>
+ <bpmn:endEvent id="EndEvent_3" name="End">
+ <bpmn:incoming>SequenceFlow_14mdxgk</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0mk8fd7" sourceRef="ErrorEvent_2" targetRef="SubTask_1" />
+ <bpmn:sequenceFlow id="SequenceFlow_14mdxgk" sourceRef="SubTask_1" targetRef="EndEvent_3" />
+ <bpmn:callActivity id="SubTask_1" name="DoCreate Rollback" calledElement="DoCreateServiceInstanceRollbackV2">
+ <bpmn:extensionElements>
+ <camunda:in source="sdncRollback" target="sdncRollback" />
+ <camunda:in source="aaiServiceInstanceRollback" target="aaiServiceInstanceRollback" />
+ <camunda:in source="ServiceDecomposition" target="ServiceDecomposition" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_0mk8fd7</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_14mdxgk</bpmn:outgoing>
+ </bpmn:callActivity>
+ </bpmn:subProcess>
+ <bpmn:sequenceFlow id="SequenceFlow_0g8qp84" sourceRef="StartEvent_1" targetRef="ScriptTask_1" />
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateServiceInstanceV2">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+ <dc:Bounds x="166" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="173" y="138" width="23" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0651nnp_di" bpmnElement="SequenceFlow_0651nnp">
+ <di:waypoint xsi:type="dc:Point" x="371" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="442" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="406.5" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0u0ptz7_di" bpmnElement="SequenceFlow_0u0ptz7">
+ <di:waypoint xsi:type="dc:Point" x="542" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="620" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="581" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1hnvq9n_di" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
+ <dc:Bounds x="784" y="95" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="773" y="67" width="72" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ekno6w_di" bpmnElement="SequenceFlow_0ekno6w">
+ <di:waypoint xsi:type="dc:Point" x="720" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="784" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="752" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1t50vt9_di" bpmnElement="SequenceFlow_1t50vt9">
+ <di:waypoint xsi:type="dc:Point" x="834" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="911" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="856" y="94" width="14" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_1tlnfr4_di" bpmnElement="EndEvent_2">
+ <dc:Bounds x="791" y="196" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="800" y="236" width="19" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0xhy3o1_di" bpmnElement="SequenceFlow_0xhy3o1">
+ <di:waypoint xsi:type="dc:Point" x="809" y="145" />
+ <di:waypoint xsi:type="dc:Point" x="809" y="196" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="815" y="165" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_015y2ht_di" bpmnElement="EndEvent_1">
+ <dc:Bounds x="1078" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1087" y="142" width="19" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0eryvle_di" bpmnElement="SequenceFlow_0eryvle">
+ <di:waypoint xsi:type="dc:Point" x="1011" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="1078" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1044.5" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1qtzumy_di" bpmnElement="ScriptTask_1">
+ <dc:Bounds x="271" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_10octqt_di" bpmnElement="ScriptTask_2">
+ <dc:Bounds x="442" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_140drj4_di" bpmnElement="ScriptTask_3">
+ <dc:Bounds x="620" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1q37c16_di" bpmnElement="ScriptTask_4">
+ <dc:Bounds x="911" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="SubProcess_1p4inl6_di" bpmnElement="SubProcess_0lezgt7" isExpanded="true">
+ <dc:Bounds x="368" y="268" width="350" height="200" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_0g6sxcc_di" bpmnElement="ErrorEvent_2">
+ <dc:Bounds x="409" y="335" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="415" y="375" width="25" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_061qhx5_di" bpmnElement="EndEvent_3">
+ <dc:Bounds x="623" y="335" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="632" y="375" width="19" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0g8qp84_di" bpmnElement="SequenceFlow_0g8qp84">
+ <di:waypoint xsi:type="dc:Point" x="202" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="271" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="191.5" y="99" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0mk8fd7_di" bpmnElement="SequenceFlow_0mk8fd7">
+ <di:waypoint xsi:type="dc:Point" x="445" y="353" />
+ <di:waypoint xsi:type="dc:Point" x="482" y="353" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="463.5" y="332" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_14mdxgk_di" bpmnElement="SequenceFlow_14mdxgk">
+ <di:waypoint xsi:type="dc:Point" x="582" y="353" />
+ <di:waypoint xsi:type="dc:Point" x="623" y="353" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="602.5" y="332" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1jzchuz_di" bpmnElement="SubTask_1">
+ <dc:Bounds x="482" y="313" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModule.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModule.bpmn
index 5383dc871e..e6d25a4b9f 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModule.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModule.bpmn
@@ -75,7 +75,7 @@
</bpmn2:callActivity>
<bpmn2:scriptTask id="PostProcessSDNCAssignRequest" name="PostProcess SDNC Assign Request" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_20</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1nh92s8</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
String response = execution.getVariable("DCVFM_assignSDNCAdapterResponse")
@@ -93,7 +93,8 @@ doCreateVfModule.preProcessSDNCAssignRequest(execution)]]></bpmn2:script>
<bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="PreProcessSDNCAssignRequest" targetRef="CallSDNCAdapterVDModuleTopologyAssign" />
<bpmn2:sequenceFlow id="SequenceFlow_20" name="" sourceRef="CallSDNCAdapterVDModuleTopologyAssign" targetRef="PostProcessSDNCAssignRequest" />
<bpmn2:scriptTask id="PreProcessSDNCGetRequest" name="PreProcess SDNC GET Request" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0p61zug</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0aegg0r</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def doCreateVfModule = new DoCreateVfModule()
@@ -112,7 +113,6 @@ doCreateVfModule.preProcessSDNCGetRequest(execution, "vfmodule")]]></bpmn2:scrip
<bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="PostProcessSDNCAssignRequest" targetRef="PreProcessSDNCGetRequest" />
<bpmn2:sequenceFlow id="SequenceFlow_23" name="" sourceRef="PreProcessSDNCGetRequest" targetRef="CallSDNCAdapterVFModuleTopologyGET" />
<bpmn2:sequenceFlow id="SequenceFlow_24" name="" sourceRef="CallSDNCAdapterVFModuleTopologyGET" targetRef="PostProcessSDNCGetRequest" />
<bpmn2:scriptTask id="PostProcessSDNCGetRequest" name="PostProcess SDNC GET Request" scriptFormat="groovy">
@@ -174,12 +174,9 @@ doCreateVfModule.validateSDNCResponse(execution, response, "activate")]]></bpmn2
</bpmn2:scriptTask>
<bpmn2:exclusiveGateway id="ExclusiveGateway_5" name="Is volume_group_id specified?" default="SequenceFlow_30">
<bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
- <bpmn2:sequenceFlow id="SequenceFlow_28" name="yes" sourceRef="ExclusiveGateway_5" targetRef="PrepareCreateAAIVfModuleVolumeGroupRequest">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFM_volumeGroupId") != null && execution.getVariable("DCVFM_volumeGroupId") != "" }]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_30" name="no" sourceRef="ExclusiveGateway_5" targetRef="ExclusiveGateway_6" />
<bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessUpdateAAIVfModule_1" targetRef="UpdateAAIVfModule_1" />
<bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="UpdateAAIVfModule_1" targetRef="PreProcessSDNCActivateRequest" />
@@ -320,7 +317,7 @@ return doCreateVfModule.queryCloudRegion(execution)]]></bpmn2:script>
def doCreateVfModule = new DoCreateVfModule()
doCreateVfModule.preProcessRequest(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="PreProcessRequest" targetRef="ExclusiveGateway_0ffvqla" />
+ <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="PreProcessRequest" targetRef="ExclusiveGateway_19933zh" />
<bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1" name="To DoCreateVfModule">
<bpmn2:incoming>SequenceFlow_1f53tby</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_0270n5c</bpmn2:incoming>
@@ -453,7 +450,8 @@ doCreateVfModule.validateSDNCResponse(execution, response, "get")]]></bpmn2:scri
</bpmn2:callActivity>
<bpmn2:sequenceFlow id="SequenceFlow_1f53tby" sourceRef="Task_0kuj2a1" targetRef="IntermediateThrowEvent_1" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_0ffvqla" name="Is vf_module_name specified?" default="SequenceFlow_0270n5c">
- <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1y1ttqe</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0lilmm3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0270n5c</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_05og7iw</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
@@ -492,6 +490,7 @@ doCreateVfModule.validateSDNCResponse(execution, response, "get")]]></bpmn2:scri
<camunda:out source="rollbackError" target="rollbackError" />
<camunda:in source="disableRollback" target="disableRollback" />
<camunda:in source="sdncVersion" target="sdncVersion" />
+ <camunda:in source="DCVFM_aLaCarte" target="aLaCarte" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_1i1q78e</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0112l2c</bpmn2:outgoing>
@@ -532,6 +531,174 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1pgo10r" sourceRef="Task_1fm09pi" targetRef="EndEvent_0wsdptv" />
</bpmn2:subProcess>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0jw7ymg" name="Is 2 Phased Design?" default="SequenceFlow_006rnym">
+ <bpmn2:incoming>SequenceFlow_0cc17yk</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_17cp3tn</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_006rnym</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_28" name="yes" sourceRef="ExclusiveGateway_5" targetRef="PrepareCreateAAIVfModuleVolumeGroupRequest">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFM_volumeGroupId") != null && execution.getVariable("DCVFM_volumeGroupId") != "" }]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_19933zh" name="Is aLaCarte?" default="SequenceFlow_1y1ttqe">
+ <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1y1ttqe</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1y8q87e</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1y1ttqe" name="no" sourceRef="ExclusiveGateway_19933zh" targetRef="ExclusiveGateway_0ffvqla" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_02fd6gx" name="Is already PendingActivation or Assigned?" default="SequenceFlow_0lilmm3">
+ <bpmn2:incoming>SequenceFlow_1sf1091</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0lilmm3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_15i583d</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0lilmm3" name="no" sourceRef="ExclusiveGateway_02fd6gx" targetRef="ExclusiveGateway_0ffvqla" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1y8q87e" name="yes" sourceRef="ExclusiveGateway_19933zh" targetRef="Task_14n44kb">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_aLaCarte") == true]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1sf1091" sourceRef="Task_14n44kb" targetRef="ExclusiveGateway_02fd6gx" />
+ <bpmn2:sequenceFlow id="SequenceFlow_17cp3tn" name="yes" sourceRef="ExclusiveGateway_0jw7ymg" targetRef="Task_0kqh1of">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_twoPhaseDesign") == true]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:endEvent id="EndEvent_0pd6bbj">
+ <bpmn2:incoming>SequenceFlow_00bh7m7</bpmn2:incoming>
+ <bpmn2:terminateEventDefinition />
+ </bpmn2:endEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_15i583d" name="yes" sourceRef="ExclusiveGateway_02fd6gx" targetRef="ExclusiveGateway_1f6x9ii">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_orchestrationStatus") == "PendingActivation" || execution.getVariable("DCVFM_orchestrationStatus") == "Assigned"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0gsliyw" name="Is aLaCarte?" default="SequenceFlow_1iyt5i4">
+ <bpmn2:incoming>SequenceFlow_1nh92s8</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_16mgvsd</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1iyt5i4</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_16mgvsd" name="yes" sourceRef="ExclusiveGateway_0gsliyw" targetRef="Task_08tnqe1">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_aLaCarte") == true]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1nh92s8" sourceRef="PostProcessSDNCAssignRequest" targetRef="ExclusiveGateway_0gsliyw" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0cc17yk" sourceRef="Task_08tnqe1" targetRef="ExclusiveGateway_0jw7ymg" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1iyt5i4" name="no" sourceRef="ExclusiveGateway_0gsliyw" targetRef="Task_19zw1li" />
+ <bpmn2:sequenceFlow id="SequenceFlow_006rnym" name="no" sourceRef="ExclusiveGateway_0jw7ymg" targetRef="Task_19zw1li" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0ynd0iy" sourceRef="Task_0kqh1of" targetRef="Task_08z2aai" />
+ <bpmn2:sequenceFlow id="SequenceFlow_00bh7m7" sourceRef="Task_16p51r4" targetRef="EndEvent_0pd6bbj" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1mnipp8" sourceRef="Task_08z2aai" targetRef="Task_16p51r4" />
+ <bpmn2:callActivity id="Task_08z2aai" name="Update AAI VF Module PendingActivation" calledElement="UpdateAAIVfModule">
+ <bpmn2:extensionElements>
+ <camunda:in source="DCVFM_updateAAIVfModuleRequest" target="UpdateAAIVfModuleRequest" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:out source="WorkflowResponse" target="DCVFM_updateAAIVfModuleResponse" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0ynd0iy</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1mnipp8</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:scriptTask id="Task_0kqh1of" name="PrepareUpdateAAIVfModulePendingActivation" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_17cp3tn</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0ynd0iy</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.preProcessUpdateAAIVfModuleRequestStatus(execution, 'PendingActivation')]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_08tnqe1" name="Query Catalog DB" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_16mgvsd</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0cc17yk</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.queryCatalogDB(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_14n44kb" name="Query AAI for Orchestration Status" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1y8q87e</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1sf1091</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.queryAAIVfModuleForStatus(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_16p51r4" name="Set Success Indicator 1st Phase" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1mnipp8</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_00bh7m7</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.setSuccessIndicator(execution, true)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1f6x9ii" name="Is volume_group_id specified for stage 2?" default="SequenceFlow_0tfrcnc">
+ <bpmn2:incoming>SequenceFlow_15i583d</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0tfrcnc</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0oadvvx</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0tfrcnc" name="no" sourceRef="ExclusiveGateway_1f6x9ii" targetRef="ExclusiveGateway_09r5rvt" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0oadvvx" name="yes" sourceRef="ExclusiveGateway_1f6x9ii" targetRef="Task_0dx8gpp">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFM_volumeGroupId") != null && execution.getVariable("DCVFM_volumeGroupId") != "" }]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_09r5rvt">
+ <bpmn2:incoming>SequenceFlow_0tfrcnc</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0c6p4aa</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1qzw172</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1qzw172" sourceRef="ExclusiveGateway_09r5rvt" targetRef="ExclusiveGateway_04msdir" />
+ <bpmn2:sequenceFlow id="SequenceFlow_03batve" sourceRef="Task_0dx8gpp" targetRef="Task_0e8s9xm" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0c6p4aa" sourceRef="Task_0e8s9xm" targetRef="ExclusiveGateway_09r5rvt" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_04msdir" name="Is Base VF Module for stage 2?" default="SequenceFlow_0p3cspl">
+ <bpmn2:incoming>SequenceFlow_1qzw172</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0xed5sn</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0p3cspl</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0xed5sn" name="yes" sourceRef="ExclusiveGateway_04msdir" targetRef="ExclusiveGateway_1biy4yg">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_isBaseVfModule") == "true"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0p3cspl" name="no" sourceRef="ExclusiveGateway_04msdir" targetRef="Task_0cdjxcd" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1biy4yg">
+ <bpmn2:incoming>SequenceFlow_0xed5sn</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1k7xbcu</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0p61zug</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0p61zug" sourceRef="ExclusiveGateway_1biy4yg" targetRef="PreProcessSDNCGetRequest" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1k7xbcu" sourceRef="Task_0cdjxcd" targetRef="ExclusiveGateway_1biy4yg" />
+ <bpmn2:scriptTask id="Task_0dx8gpp" name="Query Cloud Region For Stage 2" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0oadvvx</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_03batve</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+return doCreateVfModule.queryCloudRegion(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="Task_0e8s9xm" name="Confirm Volume Group Tenant" calledElement="ConfirmVolumeGroupTenant">
+ <bpmn2:extensionElements>
+ <camunda:in source="DCVFM_volumeGroupId" target="volumeGroupId" />
+ <camunda:in source="DCVFM_tenantId" target="tenantId" />
+ <camunda:in source="DCVFM_cloudRegionForVolume" target="aicCloudRegion" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="ConfirmVolumeGroupTenantResponse" target="DCVFM_volumeGroupStackId" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_03batve</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0c6p4aa</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:scriptTask id="Task_0cdjxcd" name="Query AAI Vf Module for Stage 2" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0p3cspl</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1k7xbcu</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.queryAAIVfModule(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_19zw1li" name="PrepareUpdateAAIVfModuleAssign" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_006rnym</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1iyt5i4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0thm33s</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.preProcessUpdateAAIVfModuleRequestStatus(execution, 'Assigned')]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="Task_01b1fio" name="Update AAI VF Module Assigned" calledElement="UpdateAAIVfModule">
+ <bpmn2:extensionElements>
+ <camunda:in source="DCVFM_updateAAIVfModuleRequest" target="UpdateAAIVfModuleRequest" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:out source="WorkflowResponse" target="DCVFM_updateAAIVfModuleResponse" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0thm33s</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0aegg0r</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_0thm33s" sourceRef="Task_19zw1li" targetRef="Task_01b1fio" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0aegg0r" sourceRef="Task_01b1fio" targetRef="PreProcessSDNCGetRequest" />
</bpmn2:process>
<bpmn2:message id="Message_1" name="DoCreateVfModuleRequest" />
<bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
@@ -560,16 +727,16 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_22" bpmnElement="IntermediateThrowEvent_1">
- <dc:Bounds x="530" y="153" width="36" height="36" />
+ <dc:Bounds x="828" y="153" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="571" y="173" width="86" height="36" />
+ <dc:Bounds x="869" y="173" width="86" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_157" bpmnElement="CallSDNCAdapterVDModuleTopologyAssign">
<dc:Bounds x="266" y="672" width="121" height="94" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_158" bpmnElement="CallSDNCAdapterVFModuleTopologyGET">
- <dc:Bounds x="744" y="670" width="133" height="97" />
+ <dc:Bounds x="254" y="1029" width="133" height="97" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_90" bpmnElement="IsVolumeGroupIdSpecified" isMarkerVisible="true">
<dc:Bounds x="144" y="368" width="50" height="50" />
@@ -594,53 +761,44 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_173" bpmnElement="CallVNFAdapterVFModuleCreate">
- <dc:Bounds x="1236" y="672" width="121" height="97" />
+ <dc:Bounds x="746" y="1031" width="121" height="97" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_174" bpmnElement="UpdateAAIVfModule_1">
- <dc:Bounds x="768" y="830" width="117" height="97" />
+ <dc:Bounds x="717" y="1211" width="117" height="97" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_175" bpmnElement="CallSDNCAdapterVFModuleTopologyActivate">
- <dc:Bounds x="1090" y="828" width="119" height="99" />
+ <dc:Bounds x="1039" y="1209" width="119" height="99" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_92" bpmnElement="ExclusiveGateway_5" isMarkerVisible="true">
- <dc:Bounds x="1435" y="853" width="50" height="50" />
+ <dc:Bounds x="1384" y="1234" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1432" y="825" width="86" height="36" />
+ <dc:Bounds x="1381" y="1206" width="86" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_176" bpmnElement="CreateAAIVfModuleVolumeGroup">
- <dc:Bounds x="1693" y="986" width="121" height="112" />
+ <dc:Bounds x="1688" y="1204" width="121" height="112" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_28" sourceElement="_BPMNShape_ExclusiveGateway_92" targetElement="_BPMNShape_Task_7">
- <di:waypoint xsi:type="dc:Point" x="1460" y="903" />
- <di:waypoint xsi:type="dc:Point" x="1460" y="1042" />
- <di:waypoint xsi:type="dc:Point" x="1520" y="1042" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1452" y="928" width="18" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_93" bpmnElement="ExclusiveGateway_6" isMarkerVisible="true">
- <dc:Bounds x="1818" y="854" width="50" height="50" />
+ <dc:Bounds x="1813" y="1072" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1843" y="909" width="0" height="0" />
+ <dc:Bounds x="1838" y="1127" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ScriptTask_176" targetElement="_BPMNShape_ExclusiveGateway_93">
- <di:waypoint xsi:type="dc:Point" x="1813" y="1042" />
- <di:waypoint xsi:type="dc:Point" x="1843" y="1042" />
- <di:waypoint xsi:type="dc:Point" x="1843" y="944" />
- <di:waypoint xsi:type="dc:Point" x="1843" y="904" />
+ <di:waypoint xsi:type="dc:Point" x="1808" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="1838" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="1838" y="1162" />
+ <di:waypoint xsi:type="dc:Point" x="1838" y="1122" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1839" y="1042" width="0" height="0" />
+ <dc:Bounds x="1834" y="1260" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ExclusiveGateway_92" targetElement="_BPMNShape_ExclusiveGateway_93">
- <di:waypoint xsi:type="dc:Point" x="1485" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1651" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1651" y="879" />
- <di:waypoint xsi:type="dc:Point" x="1818" y="879" />
+ <di:waypoint xsi:type="dc:Point" x="1409" y="1234" />
+ <di:waypoint xsi:type="dc:Point" x="1409" y="1097" />
+ <di:waypoint xsi:type="dc:Point" x="1813" y="1097" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1519" y="878" width="12" height="12" />
+ <dc:Bounds x="1419" y="1143.6746987951808" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_IntermediateCatchEvent_24" targetElement="_BPMNShape_ExclusiveGateway_90">
@@ -693,9 +851,9 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_124" targetElement="_BPMNShape_IntermediateThrowEvent_22">
<di:waypoint xsi:type="dc:Point" x="247" y="171" />
- <di:waypoint xsi:type="dc:Point" x="294" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="302" y="171" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="271" y="156" width="0" height="0" />
+ <dc:Bounds x="275" y="156" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_91" targetElement="_BPMNShape_ScriptTask_156">
@@ -747,134 +905,140 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script>
<di:waypoint xsi:type="dc:Point" x="435" y="721" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_213" bpmnElement="PreProcessSDNCGetRequest">
- <dc:Bounds x="588" y="672" width="121" height="94" />
+ <dc:Bounds x="98" y="1031" width="121" height="94" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_214" bpmnElement="PostProcessSDNCGetRequest">
- <dc:Bounds x="924" y="672" width="121" height="94" />
+ <dc:Bounds x="434" y="1031" width="121" height="94" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_22" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ScriptTask_179" targetElement="_BPMNShape_ScriptTask_213">
- <di:waypoint xsi:type="dc:Point" x="555" y="721" />
- <di:waypoint xsi:type="dc:Point" x="572" y="721" />
- <di:waypoint xsi:type="dc:Point" x="572" y="719" />
- <di:waypoint xsi:type="dc:Point" x="588" y="719" />
- </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ScriptTask_213" targetElement="_BPMNShape_ScriptTask_158">
- <di:waypoint xsi:type="dc:Point" x="708" y="719" />
- <di:waypoint xsi:type="dc:Point" x="726" y="719" />
- <di:waypoint xsi:type="dc:Point" x="726" y="718" />
- <di:waypoint xsi:type="dc:Point" x="744" y="718" />
+ <di:waypoint xsi:type="dc:Point" x="218" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="236" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="236" y="1077" />
+ <di:waypoint xsi:type="dc:Point" x="254" y="1077" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="251" y="1068" width="0" height="0" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_ScriptTask_158" targetElement="_BPMNShape_ScriptTask_214">
- <di:waypoint xsi:type="dc:Point" x="876" y="718" />
- <di:waypoint xsi:type="dc:Point" x="899" y="718" />
- <di:waypoint xsi:type="dc:Point" x="899" y="719" />
- <di:waypoint xsi:type="dc:Point" x="924" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="386" y="1077" />
+ <di:waypoint xsi:type="dc:Point" x="409" y="1077" />
+ <di:waypoint xsi:type="dc:Point" x="409" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="434" y="1078" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="897" y="719" width="6" height="6" />
+ <dc:Bounds x="410" y="1078" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="PreProcessUpdateAAIVfModule_1">
- <dc:Bounds x="609" y="830" width="118" height="97" />
+ <dc:Bounds x="558" y="1211" width="118" height="97" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_Task_33" bpmnElement="PreProcessSDNCActivateRequest">
- <dc:Bounds x="935" y="829" width="118" height="98" />
+ <dc:Bounds x="884" y="1210" width="118" height="98" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_Task_4" bpmnElement="PostProcessSDNCActivateRequest">
- <dc:Bounds x="1252" y="830" width="121" height="95" />
+ <dc:Bounds x="1201" y="1211" width="121" height="95" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_Task_2" targetElement="_BPMNShape_ScriptTask_174">
- <di:waypoint xsi:type="dc:Point" x="727" y="878" />
- <di:waypoint xsi:type="dc:Point" x="768" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="676" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="717" y="1259" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="748" y="853" width="0" height="0" />
+ <dc:Bounds x="697" y="1234" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_174" targetElement="_BPMNShape_Task_33">
- <di:waypoint xsi:type="dc:Point" x="884" y="878" />
- <di:waypoint xsi:type="dc:Point" x="935" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="833" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="884" y="1259" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="910" y="853" width="0" height="0" />
+ <dc:Bounds x="859" y="1234" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_Task_33" targetElement="_BPMNShape_ScriptTask_175">
- <di:waypoint xsi:type="dc:Point" x="1053" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1071" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1071" y="877" />
- <di:waypoint xsi:type="dc:Point" x="1090" y="877" />
+ <di:waypoint xsi:type="dc:Point" x="1002" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="1020" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="1020" y="1258" />
+ <di:waypoint xsi:type="dc:Point" x="1039" y="1258" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1086" y="868" width="0" height="0" />
+ <dc:Bounds x="1035" y="1249" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ScriptTask_175" targetElement="_BPMNShape_Task_4">
- <di:waypoint xsi:type="dc:Point" x="1208" y="877" />
- <di:waypoint xsi:type="dc:Point" x="1252" y="877" />
+ <di:waypoint xsi:type="dc:Point" x="1157" y="1258" />
+ <di:waypoint xsi:type="dc:Point" x="1201" y="1258" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1230" y="852" width="0" height="0" />
+ <dc:Bounds x="1179" y="1233" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_Task_4" targetElement="_BPMNShape_ExclusiveGateway_92">
- <di:waypoint xsi:type="dc:Point" x="1372" y="877" />
- <di:waypoint xsi:type="dc:Point" x="1404" y="877" />
- <di:waypoint xsi:type="dc:Point" x="1404" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1435" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="1321" y="1258" />
+ <di:waypoint xsi:type="dc:Point" x="1353" y="1258" />
+ <di:waypoint xsi:type="dc:Point" x="1353" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="1384" y="1259" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1419" y="868" width="0" height="0" />
+ <dc:Bounds x="1368" y="1249" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_175" bpmnElement="EndEvent_1">
- <dc:Bounds x="2112" y="861" width="36" height="36" />
+ <dc:Bounds x="2107" y="1079" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2130" y="902" width="0" height="0" />
+ <dc:Bounds x="2125" y="1120" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_ExclusiveGateway_93" targetElement="_BPMNShape_ScriptTask_218">
- <di:waypoint xsi:type="dc:Point" x="1868" y="879" />
- <di:waypoint xsi:type="dc:Point" x="1934" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="1863" y="1097" />
+ <di:waypoint xsi:type="dc:Point" x="1929" y="1096" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1901" y="863.5" width="0" height="0" />
+ <dc:Bounds x="1896" y="1082" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_45" bpmnElement="IntermediateThrowEvent_2">
- <dc:Bounds x="1771" y="701" width="36" height="36" />
+ <dc:Bounds x="1281" y="1060" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1747" y="742" width="84" height="36" />
+ <dc:Bounds x="1257" y="1101" width="84" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_30" bpmnElement="IntermediateCatchEvent_3">
- <dc:Bounds x="24" y="860" width="36" height="36" />
+ <dc:Bounds x="-27" y="1241" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="16" y="901" width="84" height="24" />
+ <dc:Bounds x="-35" y="1282" width="84" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_Task_7" bpmnElement="PrepareCreateAAIVfModuleVolumeGroupRequest">
- <dc:Bounds x="1520" y="986" width="121" height="112" />
+ <dc:Bounds x="1502" y="1204" width="121" height="112" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_Task_7" targetElement="_BPMNShape_ScriptTask_176">
- <di:waypoint xsi:type="dc:Point" x="1640" y="1042" />
- <di:waypoint xsi:type="dc:Point" x="1693" y="1042" />
+ <di:waypoint xsi:type="dc:Point" x="1623" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="1688" y="1260" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1667" y="1017" width="0" height="0" />
+ <dc:Bounds x="1656" y="1245" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_Task_25" bpmnElement="PreProcessVNFAdapterRequest">
- <dc:Bounds x="1073" y="672" width="121" height="96" />
+ <dc:Bounds x="583" y="1031" width="121" height="96" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_Task_35" bpmnElement="PostProcessVNFAdapterRequest">
- <dc:Bounds x="1397" y="674" width="116" height="92" />
+ <dc:Bounds x="907" y="1033" width="116" height="92" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_31" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ScriptTask_214" targetElement="_BPMNShape_Task_25">
- <di:waypoint xsi:type="dc:Point" x="1044" y="719" />
- <di:waypoint xsi:type="dc:Point" x="1059" y="719" />
- <di:waypoint xsi:type="dc:Point" x="1059" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1073" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="554" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="569" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="569" y="1079" />
+ <di:waypoint xsi:type="dc:Point" x="583" y="1079" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="584" y="1069" width="0" height="0" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_32" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_Task_25" targetElement="_BPMNShape_ScriptTask_173">
- <di:waypoint xsi:type="dc:Point" x="1193" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1236" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="703" y="1079" />
+ <di:waypoint xsi:type="dc:Point" x="746" y="1079" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="725" y="1054" width="0" height="0" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_33" sourceElement="_BPMNShape_ScriptTask_173" targetElement="_BPMNShape_Task_35">
- <di:waypoint xsi:type="dc:Point" x="1356" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1397" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="866" y="1079" />
+ <di:waypoint xsi:type="dc:Point" x="907" y="1079" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="887" y="1054" width="0" height="0" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_215" bpmnElement="QueryAAIVfModule">
<dc:Bounds x="1224" y="516" width="125" height="92" />
@@ -928,13 +1092,13 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_218" bpmnElement="ScriptTask_setSuccess">
- <dc:Bounds x="1934" y="831" width="128" height="95" />
+ <dc:Bounds x="1929" y="1049" width="128" height="95" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_218" targetElement="_BPMNShape_EndEvent_175">
- <di:waypoint xsi:type="dc:Point" x="2062" y="879" />
- <di:waypoint xsi:type="dc:Point" x="2112" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="2057" y="1097" />
+ <di:waypoint xsi:type="dc:Point" x="2107" y="1096" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2087" y="863.5" width="0" height="0" />
+ <dc:Bounds x="2082" y="1082" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_254" bpmnElement="QueryCloudRegion">
@@ -970,110 +1134,109 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_183x8vk_di" bpmnElement="ExclusiveGateway_183x8vk" isMarkerVisible="true">
- <dc:Bounds x="1565.9780439121755" y="696" width="50" height="50" />
+ <dc:Bounds x="1076" y="1055" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1546" y="746" width="89" height="36" />
+ <dc:Bounds x="1056" y="1105" width="89" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1ushk1d_di" bpmnElement="SequenceFlow_1ushk1d">
- <di:waypoint xsi:type="dc:Point" x="1513" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1566" y="721" />
+ <di:waypoint xsi:type="dc:Point" x="1023" y="1079" />
+ <di:waypoint xsi:type="dc:Point" x="1076" y="1080" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1540" y="705.5" width="0" height="0" />
+ <dc:Bounds x="1050" y="1065" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0ery1pk_di" bpmnElement="SequenceFlow_0ery1pk">
- <di:waypoint xsi:type="dc:Point" x="1591" y="696" />
- <di:waypoint xsi:type="dc:Point" x="1591" y="616" />
- <di:waypoint xsi:type="dc:Point" x="1621" y="616" />
+ <di:waypoint xsi:type="dc:Point" x="1101" y="1055" />
+ <di:waypoint xsi:type="dc:Point" x="1101" y="979" />
+ <di:waypoint xsi:type="dc:Point" x="1147" y="979" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1558" y="658" width="18" height="12" />
+ <dc:Bounds x="1054" y="1267" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0xfanpi_di" bpmnElement="SequenceFlow_0xfanpi">
- <di:waypoint xsi:type="dc:Point" x="1616" y="721" />
- <di:waypoint xsi:type="dc:Point" x="1771" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1126" y="1080" />
+ <di:waypoint xsi:type="dc:Point" x="1281" y="1078" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1688" y="695" width="12" height="12" />
+ <dc:Bounds x="1198" y="1054" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0abffyj_di" bpmnElement="SequenceFlow_0abffyj">
- <di:waypoint xsi:type="dc:Point" x="1721" y="616" />
- <di:waypoint xsi:type="dc:Point" x="1746" y="616" />
- <di:waypoint xsi:type="dc:Point" x="1746" y="719" />
- <di:waypoint xsi:type="dc:Point" x="1771" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1247" y="979" />
+ <di:waypoint xsi:type="dc:Point" x="1299" y="979" />
+ <di:waypoint xsi:type="dc:Point" x="1299" y="1060" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1761" y="667.5" width="0" height="0" />
+ <dc:Bounds x="1273" y="964" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_1dv7amn_di" bpmnElement="CreateNetworkPoliciesInAAI">
- <dc:Bounds x="1621" y="576" width="100" height="80" />
+ <dc:Bounds x="1147" y="939" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_0f54imv_di" bpmnElement="ExclusiveGateway_0f54imv" isMarkerVisible="true">
- <dc:Bounds x="114.59500000000003" y="854" width="50" height="50" />
+ <dc:Bounds x="64" y="1235" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="101" y="819" width="77" height="24" />
+ <dc:Bounds x="51" y="1200" width="75" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_1edqxlf_di" bpmnElement="ExclusiveGateway_1edqxlf" isMarkerVisible="true">
- <dc:Bounds x="482.595" y="854" width="50" height="50" />
+ <dc:Bounds x="432" y="1235" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="508" y="904" width="0" height="0" />
+ <dc:Bounds x="457" y="1285" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0bi38s7_di" bpmnElement="SequenceFlow_0bi38s7">
- <di:waypoint xsi:type="dc:Point" x="140" y="904" />
- <di:waypoint xsi:type="dc:Point" x="140" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="193" y="1057" />
+ <di:waypoint xsi:type="dc:Point" x="89" y="1285" />
+ <di:waypoint xsi:type="dc:Point" x="89" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="142" y="1438" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="146" y="980.5" width="18" height="12" />
+ <dc:Bounds x="95" y="1362" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1qm81ym_di" bpmnElement="SequenceFlow_1qm81ym">
- <di:waypoint xsi:type="dc:Point" x="293" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="329" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="329" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="365" y="1057" />
+ <di:waypoint xsi:type="dc:Point" x="242" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="278" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="278" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="314" y="1438" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="344" y="1057" width="0" height="0" />
+ <dc:Bounds x="293" y="1438" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_112los9_di" bpmnElement="SequenceFlow_112los9">
- <di:waypoint xsi:type="dc:Point" x="465" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="508" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="508" y="904" />
+ <di:waypoint xsi:type="dc:Point" x="414" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="457" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="457" y="1285" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="487" y="1042" width="0" height="0" />
+ <dc:Bounds x="436" y="1423" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1k5uku2_di" bpmnElement="SequenceFlow_1k5uku2">
- <di:waypoint xsi:type="dc:Point" x="165" y="879" />
- <di:waypoint xsi:type="dc:Point" x="483" y="879" />
+ <di:waypoint xsi:type="dc:Point" x="114" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="432" y="1260" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="318" y="864" width="12" height="12" />
+ <dc:Bounds x="267" y="1245" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1avfxsz_di" bpmnElement="SequenceFlow_1avfxsz">
- <di:waypoint xsi:type="dc:Point" x="533" y="879" />
- <di:waypoint xsi:type="dc:Point" x="571" y="879" />
- <di:waypoint xsi:type="dc:Point" x="571" y="879" />
- <di:waypoint xsi:type="dc:Point" x="609" y="879" />
+ <di:waypoint xsi:type="dc:Point" x="482" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="520" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="520" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="558" y="1260" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="586" y="879" width="0" height="0" />
+ <dc:Bounds x="535" y="1260" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0363dz7_di" bpmnElement="SequenceFlow_0363dz7">
- <di:waypoint xsi:type="dc:Point" x="60" y="878" />
- <di:waypoint xsi:type="dc:Point" x="115" y="879" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="64" y="1260" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="88" y="853.5" width="0" height="0" />
+ <dc:Bounds x="37" y="1235" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0o3bcyq_di" bpmnElement="PreProcessUpdateAAIGenericVnf">
- <dc:Bounds x="193" y="1018" width="100" height="80" />
+ <dc:Bounds x="142" y="1399" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_0j45ic9_di" bpmnElement="UpdateAAIGenericVNFTask">
- <dc:Bounds x="365" y="1017" width="100" height="80" />
+ <dc:Bounds x="314" y="1398" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0zcfn2x_di" bpmnElement="SequenceFlow_0zcfn2x">
<di:waypoint xsi:type="dc:Point" x="1458" y="393" />
@@ -1133,123 +1296,406 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script>
<dc:Bounds x="1513" y="481" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1f53tby_di" bpmnElement="SequenceFlow_1f53tby">
- <di:waypoint xsi:type="dc:Point" x="478" y="282" />
- <di:waypoint xsi:type="dc:Point" x="548" y="282" />
- <di:waypoint xsi:type="dc:Point" x="548" y="189" />
+ <di:waypoint xsi:type="dc:Point" x="776" y="282" />
+ <di:waypoint xsi:type="dc:Point" x="846" y="282" />
+ <di:waypoint xsi:type="dc:Point" x="846" y="189" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="513" y="267" width="0" height="0" />
+ <dc:Bounds x="811" y="267" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_0ffvqla_di" bpmnElement="ExclusiveGateway_0ffvqla" isMarkerVisible="true">
- <dc:Bounds x="294" y="145.86" width="50" height="50" />
+ <dc:Bounds x="592" y="146" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="276" y="97.86000000000001" width="86" height="36" />
+ <dc:Bounds x="574" y="98" width="86" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0270n5c_di" bpmnElement="SequenceFlow_0270n5c">
- <di:waypoint xsi:type="dc:Point" x="344" y="171" />
- <di:waypoint xsi:type="dc:Point" x="530" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="642" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="828" y="171" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="401" y="145" width="18" height="12" />
+ <dc:Bounds x="699" y="145" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_05og7iw_di" bpmnElement="SequenceFlow_05og7iw">
- <di:waypoint xsi:type="dc:Point" x="319" y="196" />
- <di:waypoint xsi:type="dc:Point" x="319" y="282" />
- <di:waypoint xsi:type="dc:Point" x="378" y="282" />
+ <di:waypoint xsi:type="dc:Point" x="617" y="196" />
+ <di:waypoint xsi:type="dc:Point" x="617" y="282" />
+ <di:waypoint xsi:type="dc:Point" x="676" y="282" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="328" y="239" width="12" height="12" />
+ <dc:Bounds x="626" y="239" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="CallActivity_14nvmgk_di" bpmnElement="Task_0kuj2a1">
- <dc:Bounds x="378" y="242" width="100" height="80" />
+ <dc:Bounds x="676" y="242" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="SubProcess_0ltzufk_di" bpmnElement="SubProcess_0ltzufk" isExpanded="true">
- <dc:Bounds x="-50" y="1190" width="1047" height="338" />
+ <dc:Bounds x="-52" y="1578" width="1047" height="338" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="StartEvent_18lzc5m_di" bpmnElement="StartEvent_18lzc5m">
- <dc:Bounds x="93" y="1294" width="36" height="36" />
+ <dc:Bounds x="91" y="1682" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="111" y="1335" width="0" height="0" />
+ <dc:Bounds x="109" y="1723" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_0wsdptv_di" bpmnElement="EndEvent_0wsdptv">
- <dc:Bounds x="861" y="1294" width="36" height="36" />
+ <dc:Bounds x="859" y="1682" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="879" y="1335" width="0" height="0" />
+ <dc:Bounds x="877" y="1723" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_1ehr5kq_di" bpmnElement="CallDoCreateVfModuleRollback">
- <dc:Bounds x="509" y="1272" width="100" height="80" />
+ <dc:Bounds x="507" y="1660" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_0upatdd_di" bpmnElement="PreProcessRollback">
- <dc:Bounds x="329" y="1272" width="100" height="80" />
+ <dc:Bounds x="327" y="1660" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_0o1zc29_di" bpmnElement="PostProcessRollback">
- <dc:Bounds x="694" y="1272" width="100" height="80" />
+ <dc:Bounds x="692" y="1660" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_02lc25j_di" bpmnElement="SequenceFlow_02lc25j">
- <di:waypoint xsi:type="dc:Point" x="129" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="196" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="127" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="194" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="163" y="1297" width="0" height="0" />
+ <dc:Bounds x="161" y="1685" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0z2rczk_di" bpmnElement="SequenceFlow_0z2rczk">
- <di:waypoint xsi:type="dc:Point" x="794" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="826" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="826" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="861" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="792" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="824" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="824" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="859" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="841" y="1312" width="0" height="0" />
+ <dc:Bounds x="839" y="1700" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1i1q78e_di" bpmnElement="SequenceFlow_1i1q78e">
- <di:waypoint xsi:type="dc:Point" x="429" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="509" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="427" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="507" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="469" y="1297" width="0" height="0" />
+ <dc:Bounds x="467" y="1685" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0112l2c_di" bpmnElement="SequenceFlow_0112l2c">
- <di:waypoint xsi:type="dc:Point" x="609" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="694" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="607" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="692" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="652" y="1297" width="0" height="0" />
+ <dc:Bounds x="650" y="1685" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_039bib8_di" bpmnElement="ExclusiveGateway_039bib8" isMarkerVisible="true">
- <dc:Bounds x="196" y="1287" width="50" height="50" />
+ <dc:Bounds x="194" y="1675" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="177" y="1259" width="87" height="12" />
+ <dc:Bounds x="175" y="1647" width="87" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_04bd5in_di" bpmnElement="SequenceFlow_04bd5in">
- <di:waypoint xsi:type="dc:Point" x="246" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="329" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="244" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="327" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="282" y="1297" width="12" height="12" />
+ <dc:Bounds x="280" y="1685" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1nh7m8d_di" bpmnElement="SequenceFlow_1nh7m8d">
- <di:waypoint xsi:type="dc:Point" x="221" y="1337" />
- <di:waypoint xsi:type="dc:Point" x="221" y="1436" />
- <di:waypoint xsi:type="dc:Point" x="509" y="1436" />
+ <di:waypoint xsi:type="dc:Point" x="219" y="1725" />
+ <di:waypoint xsi:type="dc:Point" x="219" y="1824" />
+ <di:waypoint xsi:type="dc:Point" x="507" y="1824" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="227" y="1386.5" width="18" height="12" />
+ <dc:Bounds x="225" y="1775" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_05v20n0_di" bpmnElement="Task_1fm09pi">
- <dc:Bounds x="509" y="1396" width="100" height="80" />
+ <dc:Bounds x="507" y="1784" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1pgo10r_di" bpmnElement="SequenceFlow_1pgo10r">
- <di:waypoint xsi:type="dc:Point" x="609" y="1436" />
- <di:waypoint xsi:type="dc:Point" x="879" y="1436" />
- <di:waypoint xsi:type="dc:Point" x="879" y="1330" />
+ <di:waypoint xsi:type="dc:Point" x="607" y="1824" />
+ <di:waypoint xsi:type="dc:Point" x="877" y="1824" />
+ <di:waypoint xsi:type="dc:Point" x="877" y="1718" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="742" y="1809" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0jw7ymg_di" bpmnElement="ExclusiveGateway_0jw7ymg" isMarkerVisible="true">
+ <dc:Bounds x="803" y="696" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="797" y="653" width="61" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_28" sourceElement="_BPMNShape_ExclusiveGateway_92" targetElement="_BPMNShape_Task_7">
+ <di:waypoint xsi:type="dc:Point" x="1434" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="1502" y="1260" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1454" y="1264.6906474820144" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_19933zh_di" bpmnElement="ExclusiveGateway_19933zh" isMarkerVisible="true">
+ <dc:Bounds x="302" y="146" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="295" y="196" width="63" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1y1ttqe_di" bpmnElement="SequenceFlow_1y1ttqe">
+ <di:waypoint xsi:type="dc:Point" x="352" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="592" y="171" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="379" y="147" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_02fd6gx_di" bpmnElement="ExclusiveGateway_02fd6gx" isMarkerVisible="true">
+ <dc:Bounds x="447" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="427" y="-48" width="89" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0lilmm3_di" bpmnElement="SequenceFlow_0lilmm3">
+ <di:waypoint xsi:type="dc:Point" x="472" y="49" />
+ <di:waypoint xsi:type="dc:Point" x="472" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="592" y="171" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="482" y="100" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1y8q87e_di" bpmnElement="SequenceFlow_1y8q87e">
+ <di:waypoint xsi:type="dc:Point" x="327" y="146" />
+ <di:waypoint xsi:type="dc:Point" x="327" y="64" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="333" y="95" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1sf1091_di" bpmnElement="SequenceFlow_1sf1091">
+ <di:waypoint xsi:type="dc:Point" x="377" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="447" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="412" y="9" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_17cp3tn_di" bpmnElement="SequenceFlow_17cp3tn">
+ <di:waypoint xsi:type="dc:Point" x="853" y="721" />
+ <di:waypoint xsi:type="dc:Point" x="901" y="720" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="866" y="694.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_0b33fd2_di" bpmnElement="EndEvent_0pd6bbj">
+ <dc:Bounds x="1367" y="701" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1385" y="737" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_15i583d_di" bpmnElement="SequenceFlow_15i583d">
+ <di:waypoint xsi:type="dc:Point" x="497" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="559" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="513" y="3.588067006526856" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0gsliyw_di" bpmnElement="ExclusiveGateway_0gsliyw" isMarkerVisible="true">
+ <dc:Bounds x="592" y="694" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="585" y="656" width="63" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16mgvsd_di" bpmnElement="SequenceFlow_16mgvsd">
+ <di:waypoint xsi:type="dc:Point" x="642" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="668" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="641" y="696" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1nh92s8_di" bpmnElement="SequenceFlow_1nh92s8">
+ <di:waypoint xsi:type="dc:Point" x="556" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="592" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="574" y="694.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0cc17yk_di" bpmnElement="SequenceFlow_0cc17yk">
+ <di:waypoint xsi:type="dc:Point" x="768" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="803" y="721" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="786" y="705.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1iyt5i4_di" bpmnElement="SequenceFlow_1iyt5i4">
+ <di:waypoint xsi:type="dc:Point" x="617" y="744" />
+ <di:waypoint xsi:type="dc:Point" x="617" y="799" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="799" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="881" />
+ <di:waypoint xsi:type="dc:Point" x="119" y="881" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="466" y="776.3184256922661" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_006rnym_di" bpmnElement="SequenceFlow_006rnym">
+ <di:waypoint xsi:type="dc:Point" x="828" y="746" />
+ <di:waypoint xsi:type="dc:Point" x="828" y="815" />
+ <di:waypoint xsi:type="dc:Point" x="169" y="815" />
+ <di:waypoint xsi:type="dc:Point" x="169" y="841" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="807" y="762.4025974025974" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ynd0iy_di" bpmnElement="SequenceFlow_0ynd0iy">
+ <di:waypoint xsi:type="dc:Point" x="1001" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1057" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1029" y="704" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_00bh7m7_di" bpmnElement="SequenceFlow_00bh7m7">
+ <di:waypoint xsi:type="dc:Point" x="1312" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1367" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1340" y="704" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1mnipp8_di" bpmnElement="SequenceFlow_1mnipp8">
+ <di:waypoint xsi:type="dc:Point" x="1157" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1212" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1185" y="704" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1bvhxkk_di" bpmnElement="Task_08z2aai">
+ <dc:Bounds x="1057" y="679" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_05mwaoo_di" bpmnElement="Task_0kqh1of">
+ <dc:Bounds x="901" y="679" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_059xue9_di" bpmnElement="Task_08tnqe1">
+ <dc:Bounds x="668" y="679" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1k3dub4_di" bpmnElement="Task_14n44kb">
+ <dc:Bounds x="277" y="-16" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0okxyur_di" bpmnElement="Task_16p51r4">
+ <dc:Bounds x="1212" y="679" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1f6x9ii_di" bpmnElement="ExclusiveGateway_1f6x9ii" isMarkerVisible="true">
+ <dc:Bounds x="559" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="539" y="49" width="89" height="48" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0tfrcnc_di" bpmnElement="SequenceFlow_0tfrcnc">
+ <di:waypoint xsi:type="dc:Point" x="609" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="946" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="772" y="9" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0oadvvx_di" bpmnElement="SequenceFlow_0oadvvx">
+ <di:waypoint xsi:type="dc:Point" x="584" y="-1" />
+ <di:waypoint xsi:type="dc:Point" x="584" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="616" y="-63" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="590" y="-42" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_09r5rvt_di" bpmnElement="ExclusiveGateway_09r5rvt" isMarkerVisible="true">
+ <dc:Bounds x="946" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="971" y="49" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1qzw172_di" bpmnElement="SequenceFlow_1qzw172">
+ <di:waypoint xsi:type="dc:Point" x="996" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="1074" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1035" y="9" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_03batve_di" bpmnElement="SequenceFlow_03batve">
+ <di:waypoint xsi:type="dc:Point" x="716" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="796" y="-63" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="756" y="-78" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0c6p4aa_di" bpmnElement="SequenceFlow_0c6p4aa">
+ <di:waypoint xsi:type="dc:Point" x="896" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="971" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="971" y="-1" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="934" y="-78" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_04msdir_di" bpmnElement="ExclusiveGateway_04msdir" isMarkerVisible="true">
+ <dc:Bounds x="1074" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1057" y="49" width="84" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0xed5sn_di" bpmnElement="SequenceFlow_0xed5sn">
+ <di:waypoint xsi:type="dc:Point" x="1124" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="1338" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1222" y="9" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0p3cspl_di" bpmnElement="SequenceFlow_0p3cspl">
+ <di:waypoint xsi:type="dc:Point" x="1099" y="-1" />
+ <di:waypoint xsi:type="dc:Point" x="1099" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="1190" y="-63" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1108" y="-41.26315789473686" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1biy4yg_di" bpmnElement="ExclusiveGateway_1biy4yg" isMarkerVisible="true">
+ <dc:Bounds x="1338" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1363" y="49" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0p61zug_di" bpmnElement="SequenceFlow_0p61zug">
+ <di:waypoint xsi:type="dc:Point" x="1388" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="1436" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="1436" y="-170" />
+ <di:waypoint xsi:type="dc:Point" x="-60" y="-170" />
+ <di:waypoint xsi:type="dc:Point" x="-60" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="1078" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="688" y="-185" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1k7xbcu_di" bpmnElement="SequenceFlow_1k7xbcu">
+ <di:waypoint xsi:type="dc:Point" x="1290" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="1363" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="1363" y="-1" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1327" y="-78" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0ti2a86_di" bpmnElement="Task_0dx8gpp">
+ <dc:Bounds x="616" y="-103" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1r5f381_di" bpmnElement="Task_0e8s9xm">
+ <dc:Bounds x="796" y="-103" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0fajmo7_di" bpmnElement="Task_0cdjxcd">
+ <dc:Bounds x="1190" y="-103" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_065935d_di" bpmnElement="Task_19zw1li">
+ <dc:Bounds x="119" y="841" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_11w102e_di" bpmnElement="Task_01b1fio">
+ <dc:Bounds x="285" y="841" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0thm33s_di" bpmnElement="SequenceFlow_0thm33s">
+ <di:waypoint xsi:type="dc:Point" x="219" y="881" />
+ <di:waypoint xsi:type="dc:Point" x="285" y="881" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="252" y="856" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0aegg0r_di" bpmnElement="SequenceFlow_0aegg0r">
+ <di:waypoint xsi:type="dc:Point" x="385" y="881" />
+ <di:waypoint xsi:type="dc:Point" x="438" y="881" />
+ <di:waypoint xsi:type="dc:Point" x="438" y="953" />
+ <di:waypoint xsi:type="dc:Point" x="159" y="953" />
+ <di:waypoint xsi:type="dc:Point" x="159" y="1031" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="744" y="1421" width="0" height="0" />
+ <dc:Bounds x="453" y="917" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn2:definitions> \ No newline at end of file
+</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleRollback.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleRollback.bpmn
index cb6538c73a..d9f1dc71fb 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleRollback.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleRollback.bpmn
@@ -10,13 +10,6 @@
<bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
- <bpmn2:scriptTask id="PrepareUpdateAAIVfModulePrep" name="PrepareUpdateAAIVfModule Prep" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcvfmr = new DoCreateVfModuleRollback()
-dcvfmr.preProcessRequest(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
<bpmn2:callActivity id="InvokePrepareUpdateAAIVfModule" name="Invoke&#10;PrepareUpdateAAIVfModule" calledElement="PrepareUpdateAAIVfModule">
<bpmn2:extensionElements>
<camunda:in source="PrepareUpdateAAIVfModuleRequest" target="PrepareUpdateAAIVfModuleRequest" />
@@ -24,13 +17,12 @@ dcvfmr.preProcessRequest(execution)]]></bpmn2:script>
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
<camunda:out source="PUAAIVfMod_heatStackId" target="DCVFMR_heatStackId" />
</bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_6" name="yes" sourceRef="ExclusiveGateway_1" targetRef="PrepareUpdateAAIVfModulePrep">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFMR_rollbackPrepareUpdateVfModule") == "true"}]]></bpmn2:conditionExpression>
+ <bpmn2:sequenceFlow id="SequenceFlow_6" name="yes" sourceRef="ExclusiveGateway_1" targetRef="InvokePrepareUpdateAAIVfModule">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFMR_rollbackPrepareUpdateVfModule") == "true" && !(execution.getVariable('aLaCarte') == true && execution.getVariable("DCVFMR_rollbackSDNCRequestAssign") == "true")]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="PrepareUpdateAAIVfModulePrep" targetRef="InvokePrepareUpdateAAIVfModule" />
<bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="InvokePrepareUpdateAAIVfModule" targetRef="ExclusiveGateway_2" />
<bpmn2:sequenceFlow id="SequenceFlow_9" name="no" sourceRef="ExclusiveGateway_1" targetRef="ExclusiveGateway_2" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_2" name="Rollback 1707 SDNC Activate?" default="SequenceFlow_15">
@@ -57,12 +49,11 @@ dcvfmr.prepVNFAdapterRequest(execution)]]></bpmn2:script>
<camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_16</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_08aruzz</bpmn2:outgoing>
</bpmn2:callActivity>
<bpmn2:sequenceFlow id="SequenceFlow_10" name="yes" sourceRef="ExclusiveGateway_2" targetRef="PrepareSDNCDeactivateRequest">
<bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFMR_rollbackSDNCRequestActivate") == "true" && execution.getVariable("sdncVersion") == "1707"}]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="InvokeVNFAdapterRestV1" targetRef="ExclusiveGateway_3" />
<bpmn2:sequenceFlow id="SequenceFlow_15" name="no" sourceRef="ExclusiveGateway_2" targetRef="ExclusiveGateway_1938vz9" />
<bpmn2:scriptTask id="UpdateAAIVfModulePrep" name="UpdateAAIVfModule&#10;Prep" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_13</bpmn2:incoming>
@@ -83,8 +74,7 @@ dcvfmr.prepUpdateAAIVfModule(execution)]]></bpmn2:script>
</bpmn2:callActivity>
<bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="InvokeUpdateAAIVfModule" targetRef="ExclusiveGateway_4" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_3" name="Rollback Update AAI Vf Module?" default="SequenceFlow_17">
- <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_03i4czf</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1gcfdej</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
@@ -256,7 +246,7 @@ dcvfmr.preProcessUpdateAAIGenericVnf(execution)]]></bpmn2:script>
<bpmn2:sequenceFlow id="SequenceFlow_1p0v6yk" name="yes&#10;&#10;" sourceRef="ExclusiveGateway_0uvarlv" targetRef="VNFAdapterPrep">
<bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFMR_rollbackVnfAdapterCreate") == "true"}]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_03i4czf" name="no" sourceRef="ExclusiveGateway_0uvarlv" targetRef="ExclusiveGateway_3" />
+ <bpmn2:sequenceFlow id="SequenceFlow_03i4czf" name="no" sourceRef="ExclusiveGateway_0uvarlv" targetRef="ExclusiveGateway_0ahc44p" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_1yozzae" name="Skip Rollback?" default="SequenceFlow_11er1t8">
<bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_11er1t8</bpmn2:outgoing>
@@ -351,11 +341,41 @@ dcvfmr.sdncValidateResponse(execution, response)]]></bpmn2:script>
<bpmn2:scriptTask id="SetSuccessfulRollbackStatus" name="Set Successful Rollback Status" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_21</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_35</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_17it51d</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1h8ve60</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def dcvfmr = new DoCreateVfModuleRollback()
dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0ahc44p" name="Set AAI Status to Assigned?" default="SequenceFlow_1gcfdej">
+ <bpmn2:incoming>SequenceFlow_03i4czf</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_08aruzz</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1gcfdej</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_17ne2iz</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1gcfdej" name="no" sourceRef="ExclusiveGateway_0ahc44p" targetRef="ExclusiveGateway_3" />
+ <bpmn2:sequenceFlow id="SequenceFlow_17ne2iz" name="yes" sourceRef="ExclusiveGateway_0ahc44p" targetRef="Task_1sqxedz">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable('aLaCarte') == true && execution.getVariable("DCVFMR_rollbackSDNCRequestAssign") == "true"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_17it51d" sourceRef="Task_0k9gnp2" targetRef="SetSuccessfulRollbackStatus" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0fvuowt" sourceRef="Task_1sqxedz" targetRef="Task_0k9gnp2" />
+ <bpmn2:callActivity id="Task_0k9gnp2" name="Invoke UpdateAAIVfModule to Assigned" calledElement="UpdateAAIVfModule">
+ <bpmn2:extensionElements>
+ <camunda:in source="UpdateAAIVfModuleRequest" target="UpdateAAIVfModuleRequest" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0fvuowt</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_17it51d</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:scriptTask id="Task_1sqxedz" name="UpdateAAIVfModule To Assigned Prep" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_17ne2iz</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0fvuowt</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcvfmr = new DoCreateVfModuleRollback()
+dcvfmr.prepUpdateAAIVfModuleToAssigned(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_08aruzz" sourceRef="InvokeVNFAdapterRestV1" targetRef="ExclusiveGateway_0ahc44p" />
</bpmn2:process>
<bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
<bpmn2:message id="Message_1" name="DoCreateVfModuleRollbackRequest" />
@@ -380,9 +400,6 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="InvokePrepareUpdateAAIVfModule">
<dc:Bounds x="725" y="23" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_168" bpmnElement="PrepareUpdateAAIVfModulePrep">
- <dc:Bounds x="552" y="23" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_170" bpmnElement="VNFAdapterPrep">
<dc:Bounds x="104" y="763" width="100" height="80" />
</bpmndi:BPMNShape>
@@ -397,10 +414,10 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_171" bpmnElement="UpdateAAIVfModulePrep">
- <dc:Bounds x="552" y="758" width="100" height="80" />
+ <dc:Bounds x="732" y="758" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_14" bpmnElement="InvokeUpdateAAIVfModule">
- <dc:Bounds x="732" y="758" width="100" height="80" />
+ <dc:Bounds x="912" y="758" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_172" bpmnElement="SDNCAdapterPrep2">
<dc:Bounds x="187" y="995" width="100" height="80" />
@@ -443,9 +460,9 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_223" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
- <dc:Bounds x="404" y="92" width="50" height="50" />
+ <dc:Bounds x="538" y="93" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="326" y="167" width="228" height="22" />
+ <dc:Bounds x="519" y="152" width="88" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ExclusiveGateway_223">
@@ -461,19 +478,14 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
<dc:Bounds x="897" y="152" width="79" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_ScriptTask_168">
- <di:waypoint xsi:type="dc:Point" x="429" y="92" />
- <di:waypoint xsi:type="dc:Point" x="429" y="63" />
- <di:waypoint xsi:type="dc:Point" x="503" y="63" />
- <di:waypoint xsi:type="dc:Point" x="552" y="63" />
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_223">
+ <di:waypoint xsi:type="dc:Point" x="563" y="93" />
+ <di:waypoint xsi:type="dc:Point" x="563" y="63" />
+ <di:waypoint xsi:type="dc:Point" x="725" y="63" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="473" y="63" width="6" height="6" />
+ <dc:Bounds x="573" y="39.419820324530114" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_168" targetElement="_BPMNShape_ScriptTask_160">
- <di:waypoint xsi:type="dc:Point" x="652" y="63" />
- <di:waypoint xsi:type="dc:Point" x="725" y="63" />
- </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_224">
<di:waypoint xsi:type="dc:Point" x="825" y="63" />
<di:waypoint xsi:type="dc:Point" x="862" y="63" />
@@ -484,10 +496,10 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_ExclusiveGateway_224">
- <di:waypoint xsi:type="dc:Point" x="454" y="117" />
+ <di:waypoint xsi:type="dc:Point" x="588" y="118" />
<di:waypoint xsi:type="dc:Point" x="912" y="117" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="676" y="117" width="6" height="6" />
+ <dc:Bounds x="743" y="117.50867542935495" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ExclusiveGateway_224" targetElement="_BPMNShape_ScriptTask_170">
@@ -501,40 +513,31 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_225" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true">
- <dc:Bounds x="414" y="837" width="50" height="50" />
+ <dc:Bounds x="594" y="837" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="398" y="892" width="84" height="26" />
+ <dc:Bounds x="578" y="892" width="83" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_CallActivity_13" targetElement="_BPMNShape_ExclusiveGateway_225">
- <di:waypoint xsi:type="dc:Point" x="362" y="803" />
- <di:waypoint xsi:type="dc:Point" x="383" y="803" />
- <di:waypoint xsi:type="dc:Point" x="439" y="803" />
- <di:waypoint xsi:type="dc:Point" x="439" y="837" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="424" y="803" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ExclusiveGateway_225" targetElement="_BPMNShape_ScriptTask_171">
- <di:waypoint xsi:type="dc:Point" x="464" y="862" />
- <di:waypoint xsi:type="dc:Point" x="485" y="862" />
- <di:waypoint xsi:type="dc:Point" x="485" y="798" />
- <di:waypoint xsi:type="dc:Point" x="552" y="798" />
+ <di:waypoint xsi:type="dc:Point" x="644" y="862" />
+ <di:waypoint xsi:type="dc:Point" x="665" y="862" />
+ <di:waypoint xsi:type="dc:Point" x="665" y="798" />
+ <di:waypoint xsi:type="dc:Point" x="732" y="798" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="507" y="803" width="18" height="14" />
+ <dc:Bounds x="687" y="803" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_171" targetElement="_BPMNShape_CallActivity_14">
- <di:waypoint xsi:type="dc:Point" x="652" y="798" />
- <di:waypoint xsi:type="dc:Point" x="732" y="798" />
+ <di:waypoint xsi:type="dc:Point" x="832" y="798" />
+ <di:waypoint xsi:type="dc:Point" x="912" y="798" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="663" y="798" width="0" height="0" />
+ <dc:Bounds x="843" y="798" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_226" bpmnElement="ExclusiveGateway_4" isMarkerVisible="true">
- <dc:Bounds x="912" y="837" width="50" height="50" />
+ <dc:Bounds x="1092" y="837" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="898" y="892" width="80" height="26" />
+ <dc:Bounds x="1078" y="892" width="79" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_ExclusiveGateway_224" targetElement="_BPMNShape_ExclusiveGateway_225">
@@ -549,28 +552,28 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ExclusiveGateway_225" targetElement="_BPMNShape_ExclusiveGateway_226">
- <di:waypoint xsi:type="dc:Point" x="464" y="862" />
- <di:waypoint xsi:type="dc:Point" x="912" y="862" />
+ <di:waypoint xsi:type="dc:Point" x="644" y="862" />
+ <di:waypoint xsi:type="dc:Point" x="1092" y="862" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="675" y="862" width="12" height="14" />
+ <dc:Bounds x="855" y="862" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_CallActivity_14" targetElement="_BPMNShape_ExclusiveGateway_226">
- <di:waypoint xsi:type="dc:Point" x="832" y="798" />
- <di:waypoint xsi:type="dc:Point" x="937" y="798" />
- <di:waypoint xsi:type="dc:Point" x="937" y="837" />
+ <di:waypoint xsi:type="dc:Point" x="1012" y="798" />
+ <di:waypoint xsi:type="dc:Point" x="1117" y="798" />
+ <di:waypoint xsi:type="dc:Point" x="1117" y="837" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="910" y="798" width="0" height="0" />
+ <dc:Bounds x="1090" y="798" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_ExclusiveGateway_226" targetElement="_BPMNShape_ScriptTask_172">
- <di:waypoint xsi:type="dc:Point" x="937" y="887" />
- <di:waypoint xsi:type="dc:Point" x="937" y="958" />
+ <di:waypoint xsi:type="dc:Point" x="1117" y="887" />
+ <di:waypoint xsi:type="dc:Point" x="1117" y="958" />
<di:waypoint xsi:type="dc:Point" x="34" y="958" />
<di:waypoint xsi:type="dc:Point" x="34" y="1103" />
- <di:waypoint xsi:type="dc:Point" x="54" y="1103" />
+ <di:waypoint xsi:type="dc:Point" x="56" y="1103" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="222" y="958" width="18" height="12" />
+ <dc:Bounds x="262" y="958" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_227" bpmnElement="ExclusiveGateway_5" isMarkerVisible="true">
@@ -580,7 +583,7 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="SequenceFlow_20" sourceElement="_BPMNShape_ExclusiveGateway_226" targetElement="_BPMNShape_ExclusiveGateway_227">
- <di:waypoint xsi:type="dc:Point" x="962" y="862" />
+ <di:waypoint xsi:type="dc:Point" x="1092" y="862" />
<di:waypoint xsi:type="dc:Point" x="1029" y="862" />
<di:waypoint xsi:type="dc:Point" x="1029" y="942" />
<di:waypoint xsi:type="dc:Point" x="25" y="942" />
@@ -588,7 +591,7 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
<di:waypoint xsi:type="dc:Point" x="614" y="1246" />
<di:waypoint xsi:type="dc:Point" x="614" y="1148" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="796" y="912" width="12" height="12" />
+ <dc:Bounds x="976" y="912" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="SequenceFlow_21" sourceElement="_BPMNShape_ExclusiveGateway_227" targetElement="_BPMNShape_EndEvent_169">
@@ -627,40 +630,42 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_SubProcess_22" bpmnElement="SubProcess_1" isExpanded="true">
- <dc:Bounds x="0" y="1362" width="699" height="159" />
+ <dc:Bounds x="27" y="1464" width="699" height="159" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_59" bpmnElement="CatchExceptions">
- <dc:Bounds x="20" y="1413" width="36" height="36" />
+ <dc:Bounds x="47" y="1515" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="26" y="1458" width="86" height="12" />
+ <dc:Bounds x="53" y="1560" width="86" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_281" bpmnElement="LogSaveWorkflowException">
- <dc:Bounds x="364" y="1391" width="100" height="80" />
+ <dc:Bounds x="391" y="1493" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_188" bpmnElement="EndEvent_1">
- <dc:Bounds x="538" y="1413" width="36" height="36" />
+ <dc:Bounds x="565" y="1515" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="556" y="1449" width="0" height="0" />
+ <dc:Bounds x="583" y="1551" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_55" bpmnElement="BoundaryEvent_1">
- <dc:Bounds x="681" y="1412" width="36" height="36" />
+ <dc:Bounds x="708" y="1514" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="699" y="1448" width="0" height="0" />
+ <dc:Bounds x="726" y="1550" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_189" bpmnElement="EndEvent_2">
- <dc:Bounds x="835" y="1412" width="36" height="36" />
+ <dc:Bounds x="880" y="1514" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="853" y="1453" width="0" height="0" />
+ <dc:Bounds x="898" y="1555" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_BoundaryEvent_55" targetElement="_BPMNShape_EndEvent_189">
- <di:waypoint xsi:type="dc:Point" x="717" y="1430" />
- <di:waypoint xsi:type="dc:Point" x="835" y="1430" />
+ <di:waypoint xsi:type="dc:Point" x="744" y="1532" />
+ <di:waypoint xsi:type="dc:Point" x="818" y="1532" />
+ <di:waypoint xsi:type="dc:Point" x="818" y="1532" />
+ <di:waypoint xsi:type="dc:Point" x="880" y="1532" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="776" y="1415" width="0" height="0" />
+ <dc:Bounds x="833" y="1532" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_0a0hroy_di" bpmnElement="ExclusiveGateway_0a0hroy" isMarkerVisible="true">
@@ -743,9 +748,9 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
<di:waypoint xsi:type="dc:Point" x="1036" y="709" />
<di:waypoint xsi:type="dc:Point" x="30" y="709" />
<di:waypoint xsi:type="dc:Point" x="30" y="862" />
- <di:waypoint xsi:type="dc:Point" x="414" y="862" />
+ <di:waypoint xsi:type="dc:Point" x="466" y="862" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="508" y="683" width="12" height="14" />
+ <dc:Bounds x="508" y="683" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1yozzae_di" bpmnElement="ExclusiveGateway_1yozzae" isMarkerVisible="true">
@@ -756,32 +761,32 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_11er1t8_di" bpmnElement="SequenceFlow_11er1t8">
<di:waypoint xsi:type="dc:Point" x="328" y="118" />
- <di:waypoint xsi:type="dc:Point" x="404" y="117" />
+ <di:waypoint xsi:type="dc:Point" x="538" y="118" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="360" y="93.5" width="12" height="12" />
+ <dc:Bounds x="357" y="91.50148837900852" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0ggp8wz_di" bpmnElement="SequenceFlow_0ggp8wz">
<di:waypoint xsi:type="dc:Point" x="303" y="93" />
<di:waypoint xsi:type="dc:Point" x="303" y="-11" />
- <di:waypoint xsi:type="dc:Point" x="1152" y="-11" />
+ <di:waypoint xsi:type="dc:Point" x="1158" y="-11" />
<di:waypoint xsi:type="dc:Point" x="1177" y="1105" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="719" y="-26" width="18" height="12" />
+ <dc:Bounds x="723" y="-26" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_22" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ScriptTask_281" targetElement="_BPMNShape_EndEvent_188">
- <di:waypoint xsi:type="dc:Point" x="464" y="1431" />
- <di:waypoint xsi:type="dc:Point" x="538" y="1431" />
+ <di:waypoint xsi:type="dc:Point" x="491" y="1533" />
+ <di:waypoint xsi:type="dc:Point" x="565" y="1533" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="501" y="1416" width="0" height="0" />
+ <dc:Bounds x="528" y="1518" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_StartEvent_59" targetElement="_BPMNShape_ScriptTask_281">
- <di:waypoint xsi:type="dc:Point" x="56" y="1431" />
- <di:waypoint xsi:type="dc:Point" x="171" y="1431" />
+ <di:waypoint xsi:type="dc:Point" x="83" y="1533" />
+ <di:waypoint xsi:type="dc:Point" x="198" y="1533" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="114" y="1416" width="0" height="0" />
+ <dc:Bounds x="141" y="1518" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1938vz9_di" bpmnElement="ExclusiveGateway_1938vz9" isMarkerVisible="true">
@@ -907,15 +912,67 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
<dc:Bounds x="1028" y="1083" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_02fx6z6_di" bpmnElement="SequenceFlow_02fx6z6">
- <di:waypoint xsi:type="dc:Point" x="271" y="1431" />
- <di:waypoint xsi:type="dc:Point" x="364" y="1431" />
+ <di:waypoint xsi:type="dc:Point" x="298" y="1533" />
+ <di:waypoint xsi:type="dc:Point" x="391" y="1533" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="318" y="1416" width="0" height="0" />
+ <dc:Bounds x="345" y="1518" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0cd144f_di" bpmnElement="SetFailedRollbackStatus">
- <dc:Bounds x="171" y="1391" width="100" height="80" />
+ <dc:Bounds x="198" y="1493" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0ahc44p_di" bpmnElement="ExclusiveGateway_0ahc44p" isMarkerVisible="true">
+ <dc:Bounds x="465.5588822355289" y="837" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="500" y="805" width="82" height="24" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1gcfdej_di" bpmnElement="SequenceFlow_1gcfdej">
+ <di:waypoint xsi:type="dc:Point" x="516" y="862" />
+ <di:waypoint xsi:type="dc:Point" x="594" y="862" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="551" y="837.0195010054398" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_17ne2iz_di" bpmnElement="SequenceFlow_17ne2iz">
+ <di:waypoint xsi:type="dc:Point" x="491" y="887" />
+ <di:waypoint xsi:type="dc:Point" x="491" y="931" />
+ <di:waypoint xsi:type="dc:Point" x="-38" y="931" />
+ <di:waypoint xsi:type="dc:Point" x="-38" y="1347" />
+ <di:waypoint xsi:type="dc:Point" x="104" y="1347" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="459" y="884.8446601941747" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_17it51d_di" bpmnElement="SequenceFlow_17it51d">
+ <di:waypoint xsi:type="dc:Point" x="362" y="1347" />
+ <di:waypoint xsi:type="dc:Point" x="1078" y="1347" />
+ <di:waypoint xsi:type="dc:Point" x="1078" y="1163" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="720" y="1332" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0fvuowt_di" bpmnElement="SequenceFlow_0fvuowt">
+ <di:waypoint xsi:type="dc:Point" x="204" y="1347" />
+ <di:waypoint xsi:type="dc:Point" x="262" y="1347" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="233" y="1332" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_0i5a02m_di" bpmnElement="Task_0k9gnp2">
+ <dc:Bounds x="262" y="1307" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_008e45v_di" bpmnElement="Task_1sqxedz">
+ <dc:Bounds x="104" y="1308" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_08aruzz_di" bpmnElement="SequenceFlow_08aruzz">
+ <di:waypoint xsi:type="dc:Point" x="362" y="803" />
+ <di:waypoint xsi:type="dc:Point" x="491" y="803" />
+ <di:waypoint xsi:type="dc:Point" x="491" y="837" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="427" y="778" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn2:definitions> \ No newline at end of file
+</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleVolumeV2.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleVolumeV2.bpmn
index 693fd36575..18e972c0a9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleVolumeV2.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleVolumeV2.bpmn
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_FhrCQG2BEeaNdqnn65BT4A" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_FhrCQG2BEeaNdqnn65BT4A" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
<bpmn2:process id="DoCreateVfModuleVolumeV2" name="DoCreateVfModuleVolumeV2" isExecutable="true">
<bpmn2:scriptTask id="ScriptTask_preProcessRequest" name="Preprocess Request" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
@@ -21,7 +21,7 @@ doCreateVfModuleVolumeV2.executeMethod('callRESTQueryAAICloudRegion', execution,
<bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def doCreateVfModuleVolumeV2 = new DoCreateVfModuleVolumeV2()
-doCreateVfModuleVolumeV2.executeMethod('buildWorkflowException', execution, 2500, "Volume group $DCVFMODVOLV2_volumeGroupName already exists in the system.", isDebugLogEnabled)]]></bpmn2:script>
+doCreateVfModuleVolumeV2.executeMethod('buildWorkflowException', execution, 2500, "Volume group name already exists in the system.", isDebugLogEnabled)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ScriptTask_createVolGrpExistsException" targetRef="EndEvent_6" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_aaiReturnCode404" name="AAI Return Code is 404?" default="SequenceFlow_volGrpName404No">
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnf.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnf.bpmn
index 5aa4d22b0c..9bf3972523 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnf.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnf.bpmn
@@ -31,6 +31,7 @@ exceptionUtil.buildWorkflowException(execution, 404, "Service Instance Not Found
<camunda:out source="GENGS_siResourceLink" target="GENGS_siResourceLink" />
<camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
<camunda:in source="GENGS_type" target="GENGS_type" />
+ <camunda:in source="DoCVNF_serviceInstanceName" target="GENGS_serviceInstanceName" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn
index a90c816bc3..675b8fadb5 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn
@@ -39,6 +39,7 @@ doCreateVnfAndModules.preProcessRequest(execution)]]></bpmn:script>
<camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
<camunda:in source="tenantId" target="tenantId" />
<camunda:in source="false" target="usePreload" />
+ <camunda:in source="aLaCarte" target="aLaCarte" />
</bpmn:extensionElements>
<bpmn:incoming>SequenceFlow_1hf7k7q</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1ixcnb6</bpmn:outgoing>
@@ -73,6 +74,7 @@ doCreateVnfAndModules.preProcessRequest(execution)]]></bpmn:script>
<camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
<camunda:in source="tenantId" target="tenantId" />
<camunda:in source="false" target="usePreload" />
+ <camunda:in source="aLaCarte" target="aLaCarte" />
</bpmn:extensionElements>
<bpmn:incoming>SequenceFlow_1lh21yl</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1llbx0k</bpmn:outgoing>
@@ -484,4 +486,4 @@ doCreateVnfAndModules.postProcessAddOnModule(execution)]]></bpmn:script>
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn:definitions> \ No newline at end of file
+</bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModulesRollback.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModulesRollback.bpmn
index aa362021e0..57baf6ebe5 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModulesRollback.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModulesRollback.bpmn
@@ -84,6 +84,7 @@ dcvamr.preProcessCreateVfModuleRollback(execution)]]></bpmn2:script>
<camunda:in source="sdncVersion" target="sdncVersion" />
<camunda:out source="rolledBack" target="DCVM_rolledBack" />
<camunda:out source="rollbackError" target="rollbackError" />
+ <camunda:in source="DCVAMR_aLaCarte" target="aLaCarte" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_1ycq005</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_181hb2a</bpmn2:outgoing>
@@ -537,4 +538,4 @@ dcvamr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script>
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn2:definitions> \ No newline at end of file
+</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn
index 095948a87c..561a84b7c4 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn
@@ -118,7 +118,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script>
<bpmn:extensionElements>
<camunda:connector>
<camunda:inputOutput>
- <camunda:inputParameter name="url">${URN_mso_openecomp_adapters_db_endpoint}</camunda:inputParameter>
+ <camunda:inputParameter name="url">${URN_mso_adapters_openecomp_db_endpoint}</camunda:inputParameter>
<camunda:inputParameter name="headers">
<camunda:map>
<camunda:entry key="content-type">application/soap+xml</camunda:entry>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteServiceInstance.bpmn
index 10f688b30f..e5b18a1303 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteServiceInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteServiceInstance.bpmn
@@ -74,15 +74,15 @@ ddsi.preProcessSDNCDelete(execution)]]></bpmn2:script>
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_05jfuko" name="no" sourceRef="ExclusiveGateway_0590oev" targetRef="EndEvent_0ronxsz" />
<bpmn2:sequenceFlow id="SequenceFlow_1w8ao21" sourceRef="ScriptTask_1uxr0cx" targetRef="CallActivity_1c5wru8" />
- <bpmn2:exclusiveGateway id="ExclusiveGateway_1mrh7us" name="sdncVersion is 1610 " default="SequenceFlow_1dwch0k">
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1mrh7us" name="need to invoke SDNC" default="SequenceFlow_1dwch0k">
<bpmn2:incoming>SequenceFlow_1hcfvcj</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0riudmc</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_1dwch0k</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
- <bpmn2:sequenceFlow id="SequenceFlow_0riudmc" name="yes" sourceRef="ExclusiveGateway_1mrh7us" targetRef="callGenericDeleteService">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("sdncVersion" ) == "1610" }]]></bpmn2:conditionExpression>
+ <bpmn2:sequenceFlow id="SequenceFlow_0riudmc" name="no" sourceRef="ExclusiveGateway_1mrh7us" targetRef="callGenericDeleteService">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("sendToSDNC" ) == false }]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:sequenceFlow id="SequenceFlow_1dwch0k" name="no" sourceRef="ExclusiveGateway_1mrh7us" targetRef="ScriptTask_0xxwbdq" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1dwch0k" name="yes" sourceRef="ExclusiveGateway_1mrh7us" targetRef="ScriptTask_0xxwbdq" />
<bpmn2:callActivity id="CallActivity_1s8pf0x" name="Call AAI Generic GetService" calledElement="GenericGetService">
<bpmn2:extensionElements>
<camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" />
@@ -255,7 +255,7 @@ ddsi.postProcessSDNCDelete(execution, response, "delete")]]></bpmn2:script>
<bpmndi:BPMNShape id="ExclusiveGateway_1mrh7us_di" bpmnElement="ExclusiveGateway_1mrh7us" isMarkerVisible="true">
<dc:Bounds x="236" y="72" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="227" y="126" width="76" height="26" />
+ <dc:Bounds x="228" y="126" width="74" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0riudmc_di" bpmnElement="SequenceFlow_0riudmc">
@@ -264,7 +264,7 @@ ddsi.postProcessSDNCDelete(execution, response, "delete")]]></bpmn2:script>
<di:waypoint xsi:type="dc:Point" x="1252" y="-20" />
<di:waypoint xsi:type="dc:Point" x="1252" y="57" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="753" y="-35" width="18" height="14" />
+ <dc:Bounds x="756" y="-35" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1dwch0k_di" bpmnElement="SequenceFlow_1dwch0k">
@@ -272,7 +272,7 @@ ddsi.postProcessSDNCDelete(execution, response, "delete")]]></bpmn2:script>
<di:waypoint xsi:type="dc:Point" x="310" y="97" />
<di:waypoint xsi:type="dc:Point" x="353" y="97" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="308" y="101.4811676034096" width="13" height="12" />
+ <dc:Bounds x="306" y="101" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="CallActivity_1s8pf0x_di" bpmnElement="CallActivity_1s8pf0x">
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVfModule.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVfModule.bpmn
index b8c6aa32a4..f147639a59 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVfModule.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVfModule.bpmn
@@ -27,8 +27,8 @@ dvm.prepUpdateAAIVfModule(execution)]]></bpmn2:script>
<camunda:out source="PUAAIVfMod_heatStackId" target="DoDVfMod_heatStackId" />
<camunda:out source="PUAAIVfMod_outVfModule" target="vfModuleFromAAI" />
</bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_42</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1j9dvfx</bpmn2:outgoing>
+ <bpmn2:incoming>SequenceFlow_029ioyr</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_14xn858</bpmn2:outgoing>
</bpmn2:callActivity>
<bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="VNFAdapterPrep" targetRef="InvokeVNFAdapterRestV1" />
<bpmn2:callActivity id="InvokeSDNCAdapterV1_2" name="Invoke &#10;SDNCAdapterV1" calledElement="sdncAdapter">
@@ -46,7 +46,7 @@ dvm.prepUpdateAAIVfModule(execution)]]></bpmn2:script>
</bpmn2:callActivity>
<bpmn2:sequenceFlow id="SequenceFlow_33" name="" sourceRef="InvokeSDNCAdapterV1_2" targetRef="validateSDNCResponse" />
<bpmn2:scriptTask id="VNFAdapterPrep" name="VNFAdapter &#10;Prep" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1j9dvfx</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_14xn858</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def dvm = new DoDeleteVfModule()
@@ -70,7 +70,7 @@ dvm.prepSDNCAdapterRequest(execution, "delete")]]></bpmn2:script>
<camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_01cvxjf</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1xruki1</bpmn2:outgoing>
</bpmn2:callActivity>
<bpmn2:endEvent id="EndEvent_9">
<bpmn2:incoming>SequenceFlow_35</bpmn2:incoming>
@@ -117,7 +117,7 @@ dvm.preProcessRequest(execution)]]></bpmn2:script>
def dvm = new DoDeleteVfModule()
dvm.preProcessRequest(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_42" name="" sourceRef="PrepareUpdateAAIVfModulePrep" targetRef="InvokePrepareUpdateAAIVfModule" />
+ <bpmn2:sequenceFlow id="SequenceFlow_42" name="" sourceRef="PrepareUpdateAAIVfModulePrep" targetRef="Task_0h2lui6" />
<bpmn2:startEvent id="StartEvent_1">
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
<bpmn2:messageEventDefinition id="_MessageEventDefinition_6" messageRef="Message_1" />
@@ -130,10 +130,8 @@ dvm.preProcessRequest(execution)]]></bpmn2:script>
def dvm = new DoDeleteVfModule()
dvm.deleteNetworkPoliciesFromAAI(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_1j9dvfx" sourceRef="InvokePrepareUpdateAAIVfModule" targetRef="VNFAdapterPrep" />
- <bpmn2:sequenceFlow id="SequenceFlow_01cvxjf" sourceRef="InvokeVNFAdapterRestV1" targetRef="PostProcessVNFAdapterRequest" />
<bpmn2:scriptTask id="PostProcessVNFAdapterRequest" name="PostProcess VNFAdapter Request" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_01cvxjf</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1xruki1</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0coa90m</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def dvm = new DoDeleteVfModule()
@@ -176,6 +174,16 @@ doDeleteVfModule.prepUpdateAAIGenericVnf(execution)]]></bpmn2:script>
<bpmn2:incoming>SequenceFlow_1a7lzhz</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_14l7olw</bpmn2:outgoing>
</bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_029ioyr" sourceRef="Task_0h2lui6" targetRef="InvokePrepareUpdateAAIVfModule" />
+ <bpmn2:scriptTask id="Task_0h2lui6" name="Query AAI for Orchestration Status" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_42</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_029ioyr</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dvm = new DoDeleteVfModule()
+dvm.queryAAIVfModuleForStatus(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_1xruki1" sourceRef="InvokeVNFAdapterRestV1" targetRef="PostProcessVNFAdapterRequest" />
+ <bpmn2:sequenceFlow id="SequenceFlow_14xn858" sourceRef="InvokePrepareUpdateAAIVfModule" targetRef="VNFAdapterPrep" />
</bpmn2:process>
<bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
<bpmn2:message id="Message_1" name="DoDeleteVfModuleRequest" />
@@ -198,7 +206,7 @@ doDeleteVfModule.prepUpdateAAIGenericVnf(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="InvokePrepareUpdateAAIVfModule">
- <dc:Bounds x="480" y="36" width="100" height="80" />
+ <dc:Bounds x="647" y="36" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_168" bpmnElement="PrepareUpdateAAIVfModulePrep">
<dc:Bounds x="315" y="36" width="100" height="80" />
@@ -211,203 +219,215 @@ doDeleteVfModule.prepUpdateAAIGenericVnf(execution)]]></bpmn2:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_170" bpmnElement="VNFAdapterPrep">
- <dc:Bounds x="631" y="36" width="100" height="80" />
+ <dc:Bounds x="193" y="206" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_13" bpmnElement="InvokeVNFAdapterRestV1">
- <dc:Bounds x="776" y="36" width="100" height="80" />
+ <dc:Bounds x="404" y="206" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_171" bpmnElement="UpdateAAIVfModulePrep">
- <dc:Bounds x="871" y="187" width="100" height="80" />
+ <dc:Bounds x="844" y="385" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_14" bpmnElement="InvokeUpdateAAIVfModule">
- <dc:Bounds x="1022" y="187" width="100" height="80" />
+ <dc:Bounds x="995" y="385" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_28" sourceElement="_BPMNShape_ScriptTask_171" targetElement="_BPMNShape_CallActivity_14">
- <di:waypoint xsi:type="dc:Point" x="971" y="227" />
- <di:waypoint xsi:type="dc:Point" x="1022" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="944" y="425" />
+ <di:waypoint xsi:type="dc:Point" x="995" y="425" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="997" y="212" width="0" height="0" />
+ <dc:Bounds x="970" y="410" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_172" bpmnElement="SDNCAdapterPrep2">
- <dc:Bounds x="97" y="467" width="100" height="80" />
+ <dc:Bounds x="140" y="665" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_15" bpmnElement="InvokeSDNCAdapterV1_2">
- <dc:Bounds x="229" y="467" width="100" height="80" />
+ <dc:Bounds x="272" y="665" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_173" bpmnElement="DeleteAAIVfModulePrep">
- <dc:Bounds x="504" y="467" width="100" height="80" />
+ <dc:Bounds x="547" y="665" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_16" bpmnElement="InvokeDeleteAAIVfModule">
- <dc:Bounds x="647" y="467" width="100" height="80" />
+ <dc:Bounds x="690" y="665" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_31" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_CallActivity_14" targetElement="_BPMNShape_ScriptTask_172">
- <di:waypoint xsi:type="dc:Point" x="1072" y="267" />
- <di:waypoint xsi:type="dc:Point" x="1072" y="426" />
- <di:waypoint xsi:type="dc:Point" x="53" y="426" />
- <di:waypoint xsi:type="dc:Point" x="53" y="507" />
- <di:waypoint xsi:type="dc:Point" x="97" y="507" />
+ <di:waypoint xsi:type="dc:Point" x="1045" y="465" />
+ <di:waypoint xsi:type="dc:Point" x="1045" y="603" />
+ <di:waypoint xsi:type="dc:Point" x="70" y="603" />
+ <di:waypoint xsi:type="dc:Point" x="70" y="705" />
+ <di:waypoint xsi:type="dc:Point" x="140" y="705" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="563" y="411" width="0" height="0" />
+ <dc:Bounds x="558" y="588" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_32" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_ScriptTask_172" targetElement="_BPMNShape_CallActivity_15">
- <di:waypoint xsi:type="dc:Point" x="197" y="507" />
- <di:waypoint xsi:type="dc:Point" x="213" y="507" />
- <di:waypoint xsi:type="dc:Point" x="213" y="508" />
- <di:waypoint xsi:type="dc:Point" x="229" y="508" />
+ <di:waypoint xsi:type="dc:Point" x="240" y="705" />
+ <di:waypoint xsi:type="dc:Point" x="256" y="705" />
+ <di:waypoint xsi:type="dc:Point" x="256" y="706" />
+ <di:waypoint xsi:type="dc:Point" x="272" y="706" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="225" y="360" width="0" height="0" />
+ <dc:Bounds x="268" y="558" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_33" sourceElement="_BPMNShape_CallActivity_15" targetElement="_BPMNShape_ScriptTask_251">
- <di:waypoint xsi:type="dc:Point" x="329" y="507" />
- <di:waypoint xsi:type="dc:Point" x="361" y="507" />
+ <di:waypoint xsi:type="dc:Point" x="372" y="705" />
+ <di:waypoint xsi:type="dc:Point" x="404" y="705" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="345" y="507" width="0" height="0" />
+ <dc:Bounds x="388" y="705" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_34" bpmnElement="SequenceFlow_34" sourceElement="_BPMNShape_ScriptTask_173" targetElement="_BPMNShape_CallActivity_16">
- <di:waypoint xsi:type="dc:Point" x="604" y="507" />
- <di:waypoint xsi:type="dc:Point" x="647" y="507" />
+ <di:waypoint xsi:type="dc:Point" x="647" y="705" />
+ <di:waypoint xsi:type="dc:Point" x="690" y="705" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="626" y="492" width="0" height="0" />
+ <dc:Bounds x="669" y="690" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_169" bpmnElement="EndEvent_9">
- <dc:Bounds x="793" y="489" width="36" height="36" />
+ <dc:Bounds x="836" y="687" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="811" y="530" width="0" height="0" />
+ <dc:Bounds x="854" y="728" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_35" bpmnElement="SequenceFlow_35" sourceElement="_BPMNShape_CallActivity_16" targetElement="_BPMNShape_EndEvent_169">
- <di:waypoint xsi:type="dc:Point" x="747" y="507" />
- <di:waypoint xsi:type="dc:Point" x="793" y="507" />
+ <di:waypoint xsi:type="dc:Point" x="790" y="705" />
+ <di:waypoint xsi:type="dc:Point" x="836" y="705" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="770" y="492" width="0" height="0" />
+ <dc:Bounds x="813" y="690" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_42" bpmnElement="SequenceFlow_42" sourceElement="_BPMNShape_ScriptTask_168" targetElement="_BPMNShape_ScriptTask_160">
<di:waypoint xsi:type="dc:Point" x="415" y="76" />
- <di:waypoint xsi:type="dc:Point" x="480" y="76" />
+ <di:waypoint xsi:type="dc:Point" x="483" y="76" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="440" y="0" width="6" height="6" />
+ <dc:Bounds x="449" y="61" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ScriptTask_170">
- <di:waypoint xsi:type="dc:Point" x="731" y="76" />
- <di:waypoint xsi:type="dc:Point" x="753" y="76" />
- <di:waypoint xsi:type="dc:Point" x="753" y="76" />
- <di:waypoint xsi:type="dc:Point" x="776" y="76" />
+ <di:waypoint xsi:type="dc:Point" x="293" y="246" />
+ <di:waypoint xsi:type="dc:Point" x="404" y="246" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="768" y="76" width="0" height="0" />
+ <dc:Bounds x="349" y="231" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_251" bpmnElement="validateSDNCResponse">
- <dc:Bounds x="361" y="467" width="100" height="80" />
+ <dc:Bounds x="404" y="665" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_251" targetElement="_BPMNShape_ScriptTask_173">
- <di:waypoint xsi:type="dc:Point" x="461" y="507" />
- <di:waypoint xsi:type="dc:Point" x="504" y="507" />
+ <di:waypoint xsi:type="dc:Point" x="504" y="705" />
+ <di:waypoint xsi:type="dc:Point" x="547" y="705" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="483" y="492" width="0" height="0" />
+ <dc:Bounds x="526" y="690" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0la8haz_di" bpmnElement="DeleteNetworkPoliciesFromAAI">
- <dc:Bounds x="301" y="187" width="100" height="80" />
+ <dc:Bounds x="202" y="385" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_1j9dvfx_di" bpmnElement="SequenceFlow_1j9dvfx">
- <di:waypoint xsi:type="dc:Point" x="580" y="76" />
- <di:waypoint xsi:type="dc:Point" x="631" y="76" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="606" y="51" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_01cvxjf_di" bpmnElement="SequenceFlow_01cvxjf">
- <di:waypoint xsi:type="dc:Point" x="876" y="76" />
- <di:waypoint xsi:type="dc:Point" x="967" y="76" />
- <di:waypoint xsi:type="dc:Point" x="967" y="150" />
- <di:waypoint xsi:type="dc:Point" x="27" y="150" />
- <di:waypoint xsi:type="dc:Point" x="27" y="227" />
- <di:waypoint xsi:type="dc:Point" x="144" y="227" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="497" y="135" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0lewl6b_di" bpmnElement="PostProcessVNFAdapterRequest">
- <dc:Bounds x="144" y="187" width="100" height="80" />
+ <dc:Bounds x="620" y="206" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0coa90m_di" bpmnElement="SequenceFlow_0coa90m">
- <di:waypoint xsi:type="dc:Point" x="244" y="227" />
- <di:waypoint xsi:type="dc:Point" x="301" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="720" y="246" />
+ <di:waypoint xsi:type="dc:Point" x="923" y="246" />
+ <di:waypoint xsi:type="dc:Point" x="923" y="333" />
+ <di:waypoint xsi:type="dc:Point" x="76" y="333" />
+ <di:waypoint xsi:type="dc:Point" x="76" y="425" />
+ <di:waypoint xsi:type="dc:Point" x="202" y="425" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="273" y="212" width="0" height="0" />
+ <dc:Bounds x="500" y="318" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1drlnlk_di" bpmnElement="ExclusiveGateway_1drlnlk" isMarkerVisible="true">
- <dc:Bounds x="442" y="202" width="50" height="50" />
+ <dc:Bounds x="415" y="400" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="429" y="164" width="75" height="24" />
+ <dc:Bounds x="402" y="362" width="75" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_08g02ch_di" bpmnElement="SequenceFlow_08g02ch">
- <di:waypoint xsi:type="dc:Point" x="401" y="227" />
- <di:waypoint xsi:type="dc:Point" x="442" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="302" y="425" />
+ <di:waypoint xsi:type="dc:Point" x="415" y="425" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="422" y="212" width="0" height="0" />
+ <dc:Bounds x="359" y="410" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1yehsyc_di" bpmnElement="SequenceFlow_1yehsyc">
- <di:waypoint xsi:type="dc:Point" x="467" y="252" />
- <di:waypoint xsi:type="dc:Point" x="467" y="319" />
- <di:waypoint xsi:type="dc:Point" x="504" y="319" />
+ <di:waypoint xsi:type="dc:Point" x="440" y="450" />
+ <di:waypoint xsi:type="dc:Point" x="440" y="517" />
+ <di:waypoint xsi:type="dc:Point" x="477" y="517" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="433" y="274.5" width="18" height="12" />
+ <dc:Bounds x="406" y="473" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1a7lzhz_di" bpmnElement="SequenceFlow_1a7lzhz">
- <di:waypoint xsi:type="dc:Point" x="604" y="319" />
- <di:waypoint xsi:type="dc:Point" x="651" y="319" />
- <di:waypoint xsi:type="dc:Point" x="651" y="319" />
- <di:waypoint xsi:type="dc:Point" x="681" y="319" />
+ <di:waypoint xsi:type="dc:Point" x="577" y="517" />
+ <di:waypoint xsi:type="dc:Point" x="624" y="517" />
+ <di:waypoint xsi:type="dc:Point" x="624" y="517" />
+ <di:waypoint xsi:type="dc:Point" x="654" y="517" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="666" y="319" width="0" height="0" />
+ <dc:Bounds x="639" y="517" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_0lsru7z_di" bpmnElement="ExclusiveGateway_0lsru7z" isMarkerVisible="true">
- <dc:Bounds x="786" y="202" width="50" height="50" />
+ <dc:Bounds x="759" y="400" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="811" y="252" width="0" height="0" />
+ <dc:Bounds x="784" y="450" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0ep3hjm_di" bpmnElement="SequenceFlow_0ep3hjm">
- <di:waypoint xsi:type="dc:Point" x="492" y="227" />
- <di:waypoint xsi:type="dc:Point" x="786" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="465" y="425" />
+ <di:waypoint xsi:type="dc:Point" x="759" y="425" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="633" y="202" width="12" height="12" />
+ <dc:Bounds x="606" y="400" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_14l7olw_di" bpmnElement="SequenceFlow_14l7olw">
- <di:waypoint xsi:type="dc:Point" x="781" y="319" />
- <di:waypoint xsi:type="dc:Point" x="811" y="319" />
- <di:waypoint xsi:type="dc:Point" x="811" y="252" />
+ <di:waypoint xsi:type="dc:Point" x="754" y="517" />
+ <di:waypoint xsi:type="dc:Point" x="784" y="517" />
+ <di:waypoint xsi:type="dc:Point" x="784" y="450" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="796" y="304" width="0" height="0" />
+ <dc:Bounds x="769" y="502" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0fp1wqz_di" bpmnElement="SequenceFlow_0fp1wqz">
- <di:waypoint xsi:type="dc:Point" x="836" y="227" />
- <di:waypoint xsi:type="dc:Point" x="871" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="809" y="425" />
+ <di:waypoint xsi:type="dc:Point" x="844" y="425" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="854" y="202" width="0" height="0" />
+ <dc:Bounds x="827" y="400" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_18y0guc_di" bpmnElement="PreProcessUpdateAAIGenericVnf">
- <dc:Bounds x="504" y="279" width="100" height="80" />
+ <dc:Bounds x="477" y="477" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_0kbqf50_di" bpmnElement="UpdateAAIGenericVnfTask">
- <dc:Bounds x="681" y="279" width="100" height="80" />
+ <dc:Bounds x="654" y="477" width="100" height="80" />
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_029ioyr_di" bpmnElement="SequenceFlow_029ioyr">
+ <di:waypoint xsi:type="dc:Point" x="583" y="76" />
+ <di:waypoint xsi:type="dc:Point" x="647" y="76" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="615" y="61" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_15vzlxw_di" bpmnElement="Task_0h2lui6">
+ <dc:Bounds x="483" y="36" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1xruki1_di" bpmnElement="SequenceFlow_1xruki1">
+ <di:waypoint xsi:type="dc:Point" x="504" y="246" />
+ <di:waypoint xsi:type="dc:Point" x="620" y="246" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="562" y="231" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_14xn858_di" bpmnElement="SequenceFlow_14xn858">
+ <di:waypoint xsi:type="dc:Point" x="747" y="76" />
+ <di:waypoint xsi:type="dc:Point" x="914" y="76" />
+ <di:waypoint xsi:type="dc:Point" x="914" y="154" />
+ <di:waypoint xsi:type="dc:Point" x="71" y="154" />
+ <di:waypoint xsi:type="dc:Point" x="71" y="246" />
+ <di:waypoint xsi:type="dc:Point" x="193" y="246" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="493" y="139" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn
index 9850552a9e..d066d1e2e9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn
@@ -68,6 +68,8 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script>
<camunda:in source="DDVAM_sdncVersion" target="sdncVersion" />
<camunda:in source="DDVAM_isVidRequest" target="isVidRequest" />
<camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:in source="retainResources" target="retainResources" />
+ <camunda:in source="aLaCarte" target="aLaCarte" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_1xujrk5</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1p4ycii</bpmn2:outgoing>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn
index c110580f5c..609d630429 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn
@@ -68,6 +68,7 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script>
<camunda:in source="sdncVersion" target="sdncVersion" />
<camunda:in source="DUVAM_vfModuleModelInfo" target="vfModuleModelInfo" />
<camunda:in source="usePreload" target="usePreload" />
+ <camunda:in source="vfModuleInputParams" target="vfModuleInputParams" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_04o61yk</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1p4ycii</bpmn2:outgoing>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/RollbackVnf.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/RollbackVnf.bpmn
new file mode 100644
index 0000000000..2fa1fa932c
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/RollbackVnf.bpmn
@@ -0,0 +1,343 @@
+<?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:di="http://www.omg.org/spec/DD/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" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0">
+ <bpmn:process id="RollbackVnf" name="RollbackVnf" isExecutable="true">
+ <bpmn:startEvent id="StartEvent_1">
+ <bpmn:outgoing>SequenceFlow_0bie3cu</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_0dysixy" name="Start VNF?" default="SequenceFlow_0tj5bkd">
+ <bpmn:incoming>SequenceFlow_0mpoa26</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_1pirwg0</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1lne8je</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0tj5bkd</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_1iuuwqx" name="Unlock VNF?" default="SequenceFlow_0b2y2dw">
+ <bpmn:incoming>SequenceFlow_0tj5bkd</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_1ney8l6</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0gsro0z</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0b2y2dw</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_1oswdsn" name="Unset closedLoopDisabled Flag?" default="SequenceFlow_0c5ovtd">
+ <bpmn:incoming>SequenceFlow_0b2y2dw</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_11556y3</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0skjb2u</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0c5ovtd</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_0bu2ybs" name="Unset VNF inMaintenance Flag?" default="SequenceFlow_03qkk4e">
+ <bpmn:incoming>SequenceFlow_0g18wrd</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_0c5ovtd</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_12bz15k</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_03qkk4e</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:sequenceFlow id="SequenceFlow_1lne8je" name="yes" sourceRef="ExclusiveGateway_0dysixy" targetRef="Task_0zktukf">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackVnfStop") == true]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_0tj5bkd" name="no" sourceRef="ExclusiveGateway_0dysixy" targetRef="ExclusiveGateway_1iuuwqx" />
+ <bpmn:sequenceFlow id="SequenceFlow_1ney8l6" sourceRef="Task_0zktukf" targetRef="ExclusiveGateway_1iuuwqx" />
+ <bpmn:sequenceFlow id="SequenceFlow_0gsro0z" name="yes" sourceRef="ExclusiveGateway_1iuuwqx" targetRef="Task_10x6bcq">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackVnfLock") == true]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_0b2y2dw" name="no" sourceRef="ExclusiveGateway_1iuuwqx" targetRef="ExclusiveGateway_1oswdsn" />
+ <bpmn:sequenceFlow id="SequenceFlow_11556y3" sourceRef="Task_10x6bcq" targetRef="ExclusiveGateway_1oswdsn" />
+ <bpmn:sequenceFlow id="SequenceFlow_0skjb2u" name="yes" sourceRef="ExclusiveGateway_1oswdsn" targetRef="Task_0uvsonk">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackSetClosedLoopDisabledFlag") == true]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_0g18wrd" sourceRef="Task_0uvsonk" targetRef="ExclusiveGateway_0bu2ybs" />
+ <bpmn:sequenceFlow id="SequenceFlow_12bz15k" name="yes" sourceRef="ExclusiveGateway_0bu2ybs" targetRef="Task_1uwp7nt">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackSetVnfInMaintenanceFlag") == true]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_0bie3cu" sourceRef="StartEvent_1" targetRef="Task_1k4wj72" />
+ <bpmn:sequenceFlow id="SequenceFlow_1ix4dpf" sourceRef="Task_1k4wj72" targetRef="ExclusiveGateway_1lztiva" />
+ <bpmn:scriptTask id="Task_1k4wj72" name="PreProcess Rollback Request" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0bie3cu</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1ix4dpf</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new RollbackVnf()
+uvfm.preProcessRequest(execution)
+]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:sequenceFlow id="SequenceFlow_0c5ovtd" name="no" sourceRef="ExclusiveGateway_1oswdsn" targetRef="ExclusiveGateway_0bu2ybs" />
+ <bpmn:callActivity id="Task_0zktukf" name="Call APP-C VNF Start" calledElement="AppCClient">
+ <bpmn:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionStart" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="rollbackErrorCode" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_1lne8je</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1ney8l6</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:callActivity id="Task_10x6bcq" name="Call APP-C VNF Unlock" calledElement="AppCClient">
+ <bpmn:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionUnlock" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="rollbackErrorCode" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_0gsro0z</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_11556y3</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:scriptTask id="Task_0uvsonk" name="Unset VF Is Closed Loop DisabledFlag in A&#38;AI" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0skjb2u</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0g18wrd</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new RollbackVnf()
+uvfm.setClosedLoopDisabledInAAI(execution, false)
+]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:scriptTask id="Task_1uwp7nt" name="Unset VNF In Maintenance Flag in A&#38;AI" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_12bz15k</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0tkvd6f</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new RollbackVnf()
+uvfm.setVnfInMaintFlagInAAI(execution, false)
+]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:endEvent id="EndEvent_1ull6mm">
+ <bpmn:incoming>SequenceFlow_1p3pyal</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_03qkk4e" name="no" sourceRef="ExclusiveGateway_0bu2ybs" targetRef="Task_1bahewx" />
+ <bpmn:sequenceFlow id="SequenceFlow_0tkvd6f" sourceRef="Task_1uwp7nt" targetRef="Task_1bahewx" />
+ <bpmn:scriptTask id="Task_1bahewx" name="Set Rollback Result" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_03qkk4e</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_0tkvd6f</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1p3pyal</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def uvfm = new RollbackVnf()
+uvfm.setRollbackResult(execution)
+]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:sequenceFlow id="SequenceFlow_1p3pyal" sourceRef="Task_1bahewx" targetRef="EndEvent_1ull6mm" />
+ <bpmn:exclusiveGateway id="ExclusiveGateway_1lztiva" name="Resume Traffic?" default="SequenceFlow_0mpoa26">
+ <bpmn:incoming>SequenceFlow_1ix4dpf</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0mpoa26</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_05ihl7f</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:sequenceFlow id="SequenceFlow_0mpoa26" name="no" sourceRef="ExclusiveGateway_1lztiva" targetRef="ExclusiveGateway_0dysixy" />
+ <bpmn:sequenceFlow id="SequenceFlow_05ihl7f" name="yes" sourceRef="ExclusiveGateway_1lztiva" targetRef="Task_0d4mz7a">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackQuiesceTraffic") == true]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_1pirwg0" sourceRef="Task_0d4mz7a" targetRef="ExclusiveGateway_0dysixy" />
+ <bpmn:callActivity id="Task_0d4mz7a" name="Call APP-C Resume Traffic" calledElement="AppCClient">
+ <bpmn:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionResumeTraffic" target="action" />
+ <camunda:in source="payload" target="payload" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="vnfName" target="vnfName" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="errorCode" target="rollbackErrorCode" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_05ihl7f</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1pirwg0</bpmn:outgoing>
+ </bpmn:callActivity>
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="RollbackVnf">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+ <dc:Bounds x="164" y="154" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="182" y="190" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0dysixy_di" bpmnElement="ExclusiveGateway_0dysixy" isMarkerVisible="true">
+ <dc:Bounds x="786" y="147" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="784" y="197" width="54" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1iuuwqx_di" bpmnElement="ExclusiveGateway_1iuuwqx" isMarkerVisible="true">
+ <dc:Bounds x="1040" y="147" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1032" y="197" width="65" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1oswdsn_di" bpmnElement="ExclusiveGateway_1oswdsn" isMarkerVisible="true">
+ <dc:Bounds x="1297" y="147" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1279" y="197" width="86" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0bu2ybs_di" bpmnElement="ExclusiveGateway_0bu2ybs" isMarkerVisible="true">
+ <dc:Bounds x="1532" y="147" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1520" y="197" width="73" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1lne8je_di" bpmnElement="SequenceFlow_1lne8je">
+ <di:waypoint xsi:type="dc:Point" x="811" y="147" />
+ <di:waypoint xsi:type="dc:Point" x="811" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="877" y="61" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="817" y="104" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0tj5bkd_di" bpmnElement="SequenceFlow_0tj5bkd">
+ <di:waypoint xsi:type="dc:Point" x="836" y="172" />
+ <di:waypoint xsi:type="dc:Point" x="1040" y="172" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="932" y="151" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ney8l6_di" bpmnElement="SequenceFlow_1ney8l6">
+ <di:waypoint xsi:type="dc:Point" x="977" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1065" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1065" y="147" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1021" y="46" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0gsro0z_di" bpmnElement="SequenceFlow_0gsro0z">
+ <di:waypoint xsi:type="dc:Point" x="1065" y="147" />
+ <di:waypoint xsi:type="dc:Point" x="1065" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1143" y="61" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1071" y="94" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0b2y2dw_di" bpmnElement="SequenceFlow_0b2y2dw">
+ <di:waypoint xsi:type="dc:Point" x="1090" y="172" />
+ <di:waypoint xsi:type="dc:Point" x="1297" y="172" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1188" y="147" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_11556y3_di" bpmnElement="SequenceFlow_11556y3">
+ <di:waypoint xsi:type="dc:Point" x="1243" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1322" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1322" y="147" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1283" y="46" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0skjb2u_di" bpmnElement="SequenceFlow_0skjb2u">
+ <di:waypoint xsi:type="dc:Point" x="1322" y="147" />
+ <di:waypoint xsi:type="dc:Point" x="1322" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1376" y="61" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1328" y="94" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0g18wrd_di" bpmnElement="SequenceFlow_0g18wrd">
+ <di:waypoint xsi:type="dc:Point" x="1476" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1557" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1557" y="147" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1517" y="46" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_12bz15k_di" bpmnElement="SequenceFlow_12bz15k">
+ <di:waypoint xsi:type="dc:Point" x="1557" y="147" />
+ <di:waypoint xsi:type="dc:Point" x="1557" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1600" y="61" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1563" y="94" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0bie3cu_di" bpmnElement="SequenceFlow_0bie3cu">
+ <di:waypoint xsi:type="dc:Point" x="200" y="172" />
+ <di:waypoint xsi:type="dc:Point" x="315" y="172" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="258" y="157" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ix4dpf_di" bpmnElement="SequenceFlow_1ix4dpf">
+ <di:waypoint xsi:type="dc:Point" x="415" y="172" />
+ <di:waypoint xsi:type="dc:Point" x="524" y="172" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="470" y="157" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_12bnvgq_di" bpmnElement="Task_1k4wj72">
+ <dc:Bounds x="315" y="132" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0c5ovtd_di" bpmnElement="SequenceFlow_0c5ovtd">
+ <di:waypoint xsi:type="dc:Point" x="1347" y="172" />
+ <di:waypoint xsi:type="dc:Point" x="1532" y="172" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1434" y="147" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_0gw56ug_di" bpmnElement="Task_0zktukf">
+ <dc:Bounds x="877" y="21" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_04vh5qa_di" bpmnElement="Task_10x6bcq">
+ <dc:Bounds x="1143" y="21" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0k4zdeb_di" bpmnElement="Task_0uvsonk">
+ <dc:Bounds x="1376" y="21" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1uergdm_di" bpmnElement="Task_1uwp7nt">
+ <dc:Bounds x="1600" y="21" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_1ull6mm_di" bpmnElement="EndEvent_1ull6mm">
+ <dc:Bounds x="1909" y="145" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1927" y="181" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_03qkk4e_di" bpmnElement="SequenceFlow_03qkk4e">
+ <di:waypoint xsi:type="dc:Point" x="1582" y="172" />
+ <di:waypoint xsi:type="dc:Point" x="1664" y="172" />
+ <di:waypoint xsi:type="dc:Point" x="1664" y="172" />
+ <di:waypoint xsi:type="dc:Point" x="1728" y="172" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1678" y="145" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0tkvd6f_di" bpmnElement="SequenceFlow_0tkvd6f">
+ <di:waypoint xsi:type="dc:Point" x="1700" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1778" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="1778" y="123" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1739" y="46" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_1hobybp_di" bpmnElement="Task_1bahewx">
+ <dc:Bounds x="1728" y="123" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1p3pyal_di" bpmnElement="SequenceFlow_1p3pyal">
+ <di:waypoint xsi:type="dc:Point" x="1829" y="163" />
+ <di:waypoint xsi:type="dc:Point" x="1877" y="163" />
+ <di:waypoint xsi:type="dc:Point" x="1877" y="163" />
+ <di:waypoint xsi:type="dc:Point" x="1909" y="163" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1892" y="163" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1lztiva_di" bpmnElement="ExclusiveGateway_1lztiva" isMarkerVisible="true">
+ <dc:Bounds x="524" y="147" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="508" y="197" width="81" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0mpoa26_di" bpmnElement="SequenceFlow_0mpoa26">
+ <di:waypoint xsi:type="dc:Point" x="574" y="172" />
+ <di:waypoint xsi:type="dc:Point" x="786" y="172" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="674" y="147" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_05ihl7f_di" bpmnElement="SequenceFlow_05ihl7f">
+ <di:waypoint xsi:type="dc:Point" x="549" y="147" />
+ <di:waypoint xsi:type="dc:Point" x="549" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="623" y="61" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="555" y="94" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1pirwg0_di" bpmnElement="SequenceFlow_1pirwg0">
+ <di:waypoint xsi:type="dc:Point" x="723" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="811" y="61" />
+ <di:waypoint xsi:type="dc:Point" x="811" y="147" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="767" y="46" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1tber80_di" bpmnElement="Task_0d4mz7a">
+ <dc:Bounds x="623" y="21" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/SetRefactorServiceDecomp.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/SetRefactorServiceDecomp.bpmn
new file mode 100644
index 0000000000..c4f107b0b5
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/SetRefactorServiceDecomp.bpmn
@@ -0,0 +1,68 @@
+<?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:di="http://www.omg.org/spec/DD/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" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2">
+ <bpmn:process id="SetRefactorServiceDecomp" name="SetRefactorServiceDecomp" isExecutable="true">
+ <bpmn:startEvent id="StartEvent_1" name="start">
+ <bpmn:outgoing>SequenceFlow_1aizx5q</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_1aizx5q" sourceRef="StartEvent_1" targetRef="Task_0gznhje" />
+ <bpmn:endEvent id="EndEvent_1yia7od" name="end">
+ <bpmn:incoming>SequenceFlow_1fypndb</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_1ipdcwj" sourceRef="Task_0gznhje" targetRef="CallActivity_0fl1ppe" />
+ <bpmn:serviceTask id="Task_0gznhje" name="Setup ServiceDecomp" camunda:class="org.openecomp.mso.bpmn.infrastructure.DoCreateServiceInstance.SetupServiceDecomp">
+ <bpmn:incoming>SequenceFlow_1aizx5q</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1ipdcwj</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:callActivity id="CallActivity_0fl1ppe" name="Call CreateSI" calledElement="CreateServiceInstanceV3">
+ <bpmn:extensionElements>
+ <camunda:in source="ServiceDecomposition" target="ServiceDecomposition" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_1ipdcwj</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1fypndb</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:sequenceFlow id="SequenceFlow_1fypndb" sourceRef="CallActivity_0fl1ppe" targetRef="EndEvent_1yia7od" />
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="SetRefactorServiceDecomp">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+ <dc:Bounds x="173" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="180" y="138" width="22" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1aizx5q_di" bpmnElement="SequenceFlow_1aizx5q">
+ <di:waypoint xsi:type="dc:Point" x="209" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="254" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="231.5" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_1yia7od_di" bpmnElement="EndEvent_1yia7od">
+ <dc:Bounds x="544" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="553" y="142" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ipdcwj_di" bpmnElement="SequenceFlow_1ipdcwj">
+ <di:waypoint xsi:type="dc:Point" x="354" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="392" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="328" y="99" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0kwb6lz_di" bpmnElement="Task_0gznhje">
+ <dc:Bounds x="254" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0fl1ppe_di" bpmnElement="CallActivity_0fl1ppe">
+ <dc:Bounds x="392" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1fypndb_di" bpmnElement="SequenceFlow_1fypndb">
+ <di:waypoint xsi:type="dc:Point" x="492" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="544" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="518" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml
index 907f511551..a357c2a6f3 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml
@@ -25,7 +25,7 @@
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
- <param-value>org.openecomp.mso.bpmn.infrastructure.workflow.service.WorkflowResourceApplication</param-value>
+ <param-value>org.openecomp.mso.bpmn.common.workflow.service.WorkflowResourceApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
@@ -33,6 +33,10 @@
<url-pattern>/*</url-pattern>
</servlet-mapping>
<context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>/WEB-INF/applicationContext.xml</param-value>
+ </context-param>
+ <context-param>
<param-name>mso.configuration</param-name>
<param-value>MSO_PROP_TOPOLOGY=topology.properties</param-value>
</context-param>
@@ -44,6 +48,9 @@
<param-name>resteasy.resources</param-name>
<param-value>org.openecomp.mso.logger.MsoLoggingServlet,org.openecomp.mso.bpmn.core.HealthCheckHandler</param-value>
</context-param>
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
<filter>
<filter-name>LogFilter</filter-name>
<filter-class>org.openecomp.mso.logger.LogFilter</filter-class>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericAlaCarteServiceInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericAlaCarteServiceInstanceTest.groovy
index e5d9d62392..adab1bf739 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericAlaCarteServiceInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericAlaCarteServiceInstanceTest.groovy
@@ -4,7 +4,7 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -110,7 +110,7 @@ class CreateGenericAlaCarteServiceInstanceTest {
}
- public void initializeVariables(Execution mockExecution) {
+ public void initializeVariables(DelegateExecution mockExecution) {
//verify(mockExecution).setVariable(Prefix + "Success", false)
@@ -131,7 +131,7 @@ class CreateGenericAlaCarteServiceInstanceTest {
when(mockExecution.getVariable("bpmnRequest")).thenReturn(jsonIncomingRequest)
try{
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
CreateGenericALaCarteServiceInstance createGenericALaCarteServiceInstance = new CreateGenericALaCarteServiceInstance()
createGenericALaCarteServiceInstance.preProcessRequest(mockExecution)
@@ -157,7 +157,7 @@ class CreateGenericAlaCarteServiceInstanceTest {
when(mockExecution.getVariable("mso-request-id")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")
when(mockExecution.getVariable("serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")
try{
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
CreateGenericALaCarteServiceInstance createGenericALaCarteServiceInstance = new CreateGenericALaCarteServiceInstance()
createGenericALaCarteServiceInstance.sendSyncResponse(mockExecution)
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstanceTest.groovy
index 13e107e8ad..7c5aec3641 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstanceTest.groovy
@@ -4,7 +4,7 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -120,7 +120,7 @@ String jsonIncomingRequest =
}
- public void initializeVariables(Execution mockExecution) {
+ public void initializeVariables(DelegateExecution mockExecution) {
verify(mockExecution).setVariable(Prefix + "Success", false)
@@ -141,7 +141,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("bpmnRequest")).thenReturn(jsonIncomingRequest)
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
CreateNetworkInstance.preProcessRequest(mockExecution)
@@ -164,7 +164,7 @@ String jsonIncomingRequest =
// Initialize prerequisite variables
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
CreateNetworkInstance.getNetworkModelInfo(mockExecution)
@@ -185,7 +185,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("mso-request-id")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")
when(mockExecution.getVariable("serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
CreateNetworkInstance.sendSyncResponse(mockExecution)
@@ -233,7 +233,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
CreateNetworkInstance.prepareDBRequestError(mockExecution)
@@ -254,7 +254,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")
when(mockExecution.getVariable(Prefix + "dbReturnCode")).thenReturn("200")
- // postProcessResponse(Execution execution)
+ // postProcessResponse(DelegateExecution execution)
CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
CreateNetworkInstance.prepareCompletion(mockExecution)
@@ -284,7 +284,7 @@ String jsonIncomingRequest =
//when(mockExecution.getVariable("WorkflowException")).thenReturn(sndcWorkflowException)
when(mockExecution.getVariable("WorkflowException")).thenReturn(sndcWorkflowException)
- // buildErrorResponse(Execution execution)
+ // buildErrorResponse(DelegateExecution execution)
CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
CreateNetworkInstance.buildErrorResponse(mockExecution)
@@ -305,7 +305,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("CMSO_ResponseCode")).thenReturn("200")
- // postProcessResponse(Execution execution)
+ // postProcessResponse(DelegateExecution execution)
CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
CreateNetworkInstance.postProcessResponse(mockExecution)
@@ -325,7 +325,7 @@ String jsonIncomingRequest =
// Initialize prerequisite variables
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
CreateNetworkInstance.processRollbackData(mockExecution)
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstanceTest.groovy
index 8ccb18a625..e2175216c0 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstanceTest.groovy
@@ -5,9 +5,9 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
+import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.mockito.MockitoAnnotations
@@ -76,6 +76,7 @@ class DeleteCustomE2EServiceInstanceTest extends GroovyTestBase {
super("DeleteCustomE2EServiceInstance")
}
@Test
+ @Ignore // 1802 merge
public void preProcessRequestTest () {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericAlaCarteServiceInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericAlaCarteServiceInstanceTest.groovy
index ae25c33a2d..3b0e43957c 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericAlaCarteServiceInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericAlaCarteServiceInstanceTest.groovy
@@ -4,7 +4,7 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -67,7 +67,7 @@ class DeleteGenericAlaCarteServiceInstanceTest {
}
- public void initializeVariables(Execution mockExecution) {
+ public void initializeVariables(DelegateExecution mockExecution) {
verify(mockExecution).setVariable(Prefix + "Success", false)
@@ -88,7 +88,7 @@ class DeleteGenericAlaCarteServiceInstanceTest {
when(mockExecution.getVariable("bpmnRequest")).thenReturn(jsonIncomingRequest)
try {
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DeleteGenericALaCarteServiceInstance deleteGenericALaCarteServiceInstance = new DeleteGenericALaCarteServiceInstance()
deleteGenericALaCarteServiceInstance.preProcessRequest(mockExecution)
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstanceTest.groovy
index 304697891f..46a737f3e1 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstanceTest.groovy
@@ -7,7 +7,7 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -197,7 +197,7 @@ String deleteDBRequestErrorString =
}
- public void initializeVariables (Execution mockExecution) {
+ public void initializeVariables (DelegateExecution mockExecution) {
verify(mockExecution).setVariable(Prefix + "Success", false)
@@ -219,7 +219,7 @@ String deleteDBRequestErrorString =
// Initialize prerequisite variables
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DeleteNetworkInstance DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.getNetworkModelInfo(mockExecution)
@@ -240,7 +240,7 @@ String deleteDBRequestErrorString =
when(mockExecution.getVariable("mso-request-id")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")
when(mockExecution.getVariable("serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DeleteNetworkInstance DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.sendSyncResponse(mockExecution)
@@ -282,7 +282,7 @@ String deleteDBRequestErrorString =
when(mockExecution.getVariable(Prefix + "source")).thenReturn("PORTAL")
when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")
- // postProcessResponse(Execution execution)
+ // postProcessResponse(DelegateExecution execution)
DeleteNetworkInstance DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.prepareCompletion(mockExecution)
@@ -313,7 +313,7 @@ String deleteDBRequestErrorString =
when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DeleteNetworkInstance DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.prepareDBRequestError(mockExecution)
@@ -333,7 +333,7 @@ String deleteDBRequestErrorString =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("CMSO_ResponseCode")).thenReturn("200")
- // postProcessResponse(Execution execution)
+ // postProcessResponse(DelegateExecution execution)
DeleteNetworkInstance DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.postProcessResponse(mockExecution)
@@ -359,7 +359,7 @@ String deleteDBRequestErrorString =
when(mockExecution.getVariable("WorkflowException")).thenReturn(sndcWorkflowExceptionObj)
when(mockExecution.getVariable(Prefix + "source")).thenReturn("PORTAL")
- // buildErrorResponse(Execution execution)
+ // buildErrorResponse(DelegateExecution execution)
DeleteNetworkInstance DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.buildErrorResponse(mockExecution)
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollbackTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollbackTest.groovy
index b22431a660..8c7afc9fbf 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollbackTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollbackTest.groovy
@@ -8,7 +8,7 @@ import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.impl.pvm.process.ProcessDefinitionImpl
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.mockito.MockitoAnnotations
import org.mockito.runners.MockitoJUnitRunner
import org.mockito.internal.debugging.MockitoDebuggerImpl
@@ -89,13 +89,13 @@ class DoCreateNetworkInstanceRollbackTest {
<network-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>invariant-uuid</model-invariant-uuid>
<model-customization-uuid>customization-uuid</model-customization-uuid>
<model-uuid>uuid</model-uuid>
<model-version>version</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
@@ -137,13 +137,13 @@ class DoCreateNetworkInstanceRollbackTest {
<network-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>invariant-uuid</model-invariant-uuid>
<model-customization-uuid>customization-uuid</model-customization-uuid>
<model-uuid>uuid</model-uuid>
<model-version>version</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
@@ -165,7 +165,7 @@ class DoCreateNetworkInstanceRollbackTest {
}
- public void initializeVariables (Execution mockExecution) {
+ public void initializeVariables (DelegateExecution mockExecution) {
verify(mockExecution).setVariable(Prefix + "WorkflowException", null)
@@ -216,7 +216,7 @@ class DoCreateNetworkInstanceRollbackTest {
when(mockExecution.getVariable("URN_mso_adapters_sdnc_resource_endpoint")).thenReturn("http://localhost:28090/SDNCAdapterRpc")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstanceRollback DoCreateNetworkInstanceRollback = new DoCreateNetworkInstanceRollback()
DoCreateNetworkInstanceRollback.preProcessRequest(mockExecution)
@@ -242,7 +242,7 @@ class DoCreateNetworkInstanceRollbackTest {
when(mockExecution.getVariable(Prefix + "rollbackSDNCRequest")).thenReturn(rollbackSDNCRequest)
when(mockExecution.getVariable("URN_mso_adapters_network_rest_endpoint")).thenReturn("http://localhost:28090/networks/NetworkAdapter")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstanceRollback DoCreateNetworkInstanceRollback = new DoCreateNetworkInstanceRollback()
DoCreateNetworkInstanceRollback.callPONetworkAdapter(mockExecution)
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceTest.groovy
index b45dd0bb4e..552a560d10 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceTest.groovy
@@ -14,7 +14,7 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.junit.Before
import org.junit.Ignore
import org.junit.Rule
@@ -452,6 +452,190 @@ class DoCreateNetworkInstanceTest {
<orchestration-status>pending-create</orchestration-status>
<dhcp-enabled>true</dhcp-enabled>
<subnet-name>subnetName</subnet-name>
+ <ip-assignment-direction>true</ip-assignment-direction>
+ <host-routes>
+ <host-route>
+ <host-route-id>string</host-route-id>
+ <route-prefix>192.10.16.0/24</route-prefix>
+ <next-hop>192.10.16.100/24</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857301954</resource-version>
+ </host-route>
+ <host-route>
+ <host-route-id>string</host-route-id>
+ <route-prefix>192.110.17.0/24</route-prefix>
+ <next-hop>192.110.17.110/24</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857301954</resource-version>
+ </host-route>
+ </host-routes>
+ <relationship-list/>
+ </subnet>
+ <subnet>
+ <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>
+ <gateway-address>107.239.52.1</gateway-address>
+ <network-start-address>107.239.52.0</network-start-address>
+ <cidr-mask>24</cidr-mask>
+ <ip-version>4</ip-version>
+ <orchestration-status>pending-create</orchestration-status>
+ <dhcp-enabled>true</dhcp-enabled>
+ <subnet-name>subnetName</subnet-name>
+ <ip-assignment-direction>true</ip-assignment-direction>
+ <host-routes>
+ <host-route>
+ <host-route-id>string</host-route-id>
+ <route-prefix>192.10.16.0/24</route-prefix>
+ <next-hop>192.10.16.100/24</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857301954</resource-version>
+ </host-route>
+ </host-routes>
+ <relationship-list/>
+ </subnet>
+ </subnets>
+ <segmentation-assignments>
+ <segmentation-id>414</segmentation-id>
+ <resource-version>4132176</resource-version>
+ </segmentation-assignments>
+ <segmentation-assignments>
+ <segmentation-id>415</segmentation-id>
+ <resource-version>4132176</resource-version>
+ </segmentation-assignments>
+ <ctag-assignments>
+ <ctag-assignment>
+ <vlan-id-inner>inner</vlan-id-inner>
+ <resource-version>ctag-version</resource-version>
+ <relationship-list>
+ <relationship>
+ <related-to>tenant</related-to>
+ <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/tenants/tenant/897deadc2b954a6bac6d3c197fb3525e/</related-link>
+ <relationship-data>
+ <relationship-key>tenant.tenant-id</relationship-key>
+ <relationship-value>897deadc2b954a6bac6d3c197fb3525e</relationship-value>
+ </relationship-data>
+ <related-to-property>
+ <property-key>tenant.tenant-name</property-key>
+ <property-value>MSOTest1</property-value>
+ </related-to-property>
+ </relationship>
+ <relationship>
+ <related-to>vpn-binding</related-to>
+ <related-link>https://aai-ext1.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/a290b841-f672-44dd-b9cd-6f8c20d7d8c8/</related-link>
+ <relationship-data>
+ <relationship-key>vpn-binding.vpn-id</relationship-key>
+ <relationship-value>a290b841-f672-44dd-b9cd-6f8c20d7d8c8</relationship-value>
+ </relationship-data>
+ <related-to-property>
+ <property-key>vpn-binding.vpn-name</property-key>
+ <property-value>oam_protected_net_6_MTN5_msotest2</property-value>
+ </related-to-property>
+ </relationship>
+ <relationship>
+ <related-to>vpn-binding</related-to>
+ <related-link>https://aai-ext1.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/24a4b507-853a-4a38-99aa-05fcc54be24d/</related-link>
+ <relationship-data>
+ <relationship-key>vpn-binding.vpn-id</relationship-key>
+ <relationship-value>24a4b507-853a-4a38-99aa-05fcc54be24d</relationship-value>
+ </relationship-data>
+ <related-to-property>
+ <property-key>vpn-binding.vpn-name</property-key>
+ <property-value>oam_protected_net_6_MTN5_msotest1</property-value>
+ </related-to-property>
+ </relationship>
+ </relationship-list>
+ </ctag-assignment>
+ </ctag-assignments>
+ <relationship-list>
+ <relationship>
+ <related-to>vpn-binding</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/</related-link>
+ <relationship-data>
+ <relationship-key>vpn-binding.vpn-id</relationship-key>
+ <relationship-value>85f015d0-2e32-4c30-96d2-87a1a27f8017</relationship-value>
+ </relationship-data>
+ </relationship>
+ <relationship>
+ <related-to>vpn-binding</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/vpn-bindings/vpn-binding/c980a6ef-3b88-49f0-9751-dbad8608d0a6/</related-link>
+ <relationship-data>
+ <relationship-key>vpn-binding.vpn-id</relationship-key>
+ <relationship-value>c980a6ef-3b88-49f0-9751-dbad8608d0a6</relationship-value>
+ </relationship-data>
+ </relationship>
+ <relationship>
+ <related-to>tenant</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/cloud-infrastructure/tenants/tenant/7dd5365547234ee8937416c65507d266/</related-link>
+ <relationship-data>
+ <relationship-key>tenant.tenant-id</relationship-key>
+ <relationship-value>7dd5365547234ee8937416c65507d266</relationship-value>
+ </relationship-data>
+ </relationship>
+ <relationship>
+ <related-to>network-policy</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/network-policies/network-policy/cee6d136-e378-4678-a024-2cd15f0ee0cg</related-link>
+ <relationship-data>
+ <relationship-key>network-policy.network-policy-id</relationship-key>
+ <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0cg</relationship-value>
+ </relationship-data>
+ </relationship>
+ <relationship>
+ <related-to>route-table-reference</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/route-table-references/route-table-reference/refFQDN1</related-link>
+ <relationship-data>
+ <relationship-key>route-table-reference.route-table-reference-id</relationship-key>
+ <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0hi</relationship-value>
+ </relationship-data>
+ </relationship>
+ <relationship>
+ <related-to>route-table-reference</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/route-table-references/route-table-reference/refFQDN2</related-link>
+ <relationship-data>
+ <relationship-key>route-table-reference.route-table-reference-id</relationship-key>
+ <relationship-value>cee6d136-e378-4678-a024-2cd15f0ee0hi</relationship-value>
+ </relationship-data>
+ </relationship>
+ </relationship-list>
+ </l3-network>
+ </rest:payload>
+</rest:RESTResponse>"""
+
+String queryIdAIIResponse_AlaCarte =
+"""<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"
+ statusCode="200">
+ <rest:headers>
+ <rest:header name="Transfer-Encoding" value="chunked"/>
+ <rest:header name="Date" value="Thu,10 Mar 2016 00:01:18 GMT"/>
+ <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>
+ <rest:header name="X-AAI-TXID" value="mtcnjv9aaas03-20160310-00:01:18:502-132671"/>
+ <rest:header name="Content-Type" value="application/xml"/>
+ <rest:header name="Server" value="Apache-Coyote/1.1"/>
+ <rest:header name="Cache-Control" value="private"/>
+ </rest:headers>
+ <rest:payload contentType="text/xml">
+ <l3-network xmlns="http://org.openecomp.aai.inventory/v6">
+ <network-id>49c86598-f766-46f8-84f8-8d1c1b10f9b4</network-id>
+ <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
+ <network-type>CONTRAIL_EXTERNAL</network-type>
+ <network-role>dmz_direct</network-role>
+ <network-technology>Contrail</network-technology>
+ <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
+ <network-role-instance>0</network-role-instance>
+ <resource-version>l3-version</resource-version>
+ <orchestration-status>pending-create</orchestration-status>
+ <physical-network-name>networkName</physical-network-name>
+ <is-provider-network>false</is-provider-network>
+ <is-shared-network>true</is-shared-network>
+ <is-external-network>false</is-external-network>
+ <subnets>
+ <subnet>
+ <subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>
+ <gateway-address>107.239.52.1</gateway-address>
+ <network-start-address>107.239.52.0</network-start-address>
+ <cidr-mask>24</cidr-mask>
+ <ip-version>4</ip-version>
+ <orchestration-status>pending-create</orchestration-status>
+ <dhcp-enabled>true</dhcp-enabled>
+ <subnet-name>subnetName</subnet-name>
<relationship-list/>
</subnet>
<subnet>
@@ -1368,6 +1552,77 @@ String queryIdAIIResponse_SRIOV =
<ipVersion>4</ipVersion>
<subnetId>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnetId>
<subnetName>subnetName</subnetName>
+ <addrFromStart>true</addrFromStart>
+ <hostRoutes>
+ <prefix>192.10.16.0/24</prefix>
+ <nextHop>192.10.16.100/24</nextHop>
+ </hostRoutes>
+ <hostRoutes>
+ <prefix>192.110.17.0/24</prefix>
+ <nextHop>192.110.17.110/24</nextHop>
+ </hostRoutes>
+ </subnets>
+ <subnets>
+ <allocationPools>
+ <start/>
+ <end/>
+ </allocationPools>
+ <cidr>107.239.52.0/24</cidr>
+ <enableDHCP>true</enableDHCP>
+ <gatewayIp>107.239.52.1</gatewayIp>
+ <ipVersion>4</ipVersion>
+ <subnetId>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnetId>
+ <subnetName>subnetName</subnetName>
+ <addrFromStart>true</addrFromStart>
+ <hostRoutes>
+ <prefix>192.10.16.0/24</prefix>
+ <nextHop>192.10.16.100/24</nextHop>
+ </hostRoutes>
+ </subnets>
+ <skipAAI>true</skipAAI>
+ <backout>true</backout>
+ <failIfExists>false</failIfExists>
+ <msoRequest>
+ <requestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</requestId>
+ <serviceInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</serviceInstanceId>
+ </msoRequest>
+ <messageId>messageId_generated</messageId>
+ <notificationUrl/>
+</createNetworkRequest>"""
+
+String createNetworkRequest_Ipv4 =
+"""<createNetworkRequest>
+ <cloudSiteId>RDM2WAGPLCP</cloudSiteId>
+ <tenantId>7dd5365547234ee8937416c65507d266</tenantId>
+ <networkId>49c86598-f766-46f8-84f8-8d1c1b10f9b4</networkId>
+ <networkName>MNS-25180-L-01-dmz_direct_net_1</networkName>
+ <networkType>CONTRAIL_EXTERNAL</networkType>
+ <modelCustomizationUuid>sn5256d1-5a33-55df-13ab-12abad84e222</modelCustomizationUuid>
+ <networkTechnology>CONTRAIL</networkTechnology>
+ <providerVlanNetwork>
+ <physicalNetworkName>networkName</physicalNetworkName>
+ <vlans>414,415</vlans>
+ </providerVlanNetwork>
+ <contrailNetwork>
+ <shared>true</shared>
+ <external>false</external>
+ <routeTargets>13979:105757</routeTargets>
+ <routeTargets>13979:105757</routeTargets>
+ <policyFqdns>GN_EVPN_Test</policyFqdns>
+ <routeTableFqdns>refFQDN1</routeTableFqdns>
+ <routeTableFqdns>refFQDN2</routeTableFqdns>
+ </contrailNetwork>
+ <subnets>
+ <allocationPools>
+ <start/>
+ <end/>
+ </allocationPools>
+ <cidr>107.239.52.0/24</cidr>
+ <enableDHCP>true</enableDHCP>
+ <gatewayIp>107.239.52.1</gatewayIp>
+ <ipVersion>4</ipVersion>
+ <subnetId>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnetId>
+ <subnetName>subnetName</subnetName>
</subnets>
<subnets>
<allocationPools>
@@ -1654,7 +1909,25 @@ String createNetworkRequest_SRIOV =
<ip-version>4</ip-version>
<orchestration-status>Created</orchestration-status>
<dhcp-enabled>true</dhcp-enabled>
+ <resource-version>1505857301954</resource-version>
<subnet-name>subnetName</subnet-name>
+ <ip-assignment-direction>true</ip-assignment-direction>
+ <host-routes>
+ <host-route>
+ <host-route-id>string</host-route-id>
+ <route-prefix>192.10.16.0/24</route-prefix>
+ <next-hop>192.10.16.100/24</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857301954</resource-version>
+ </host-route>
+ <host-route>
+ <host-route-id>string</host-route-id>
+ <route-prefix>192.110.17.0/24</route-prefix>
+ <next-hop>192.110.17.110/24</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857301954</resource-version>
+ </host-route>
+ </host-routes>
</subnet>
<subnet>
<subnet-id>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnet-id>
@@ -1665,7 +1938,18 @@ String createNetworkRequest_SRIOV =
<ip-version>4</ip-version>
<orchestration-status>Created</orchestration-status>
<dhcp-enabled>true</dhcp-enabled>
+ <resource-version>1505857301954</resource-version>
<subnet-name>subnetName</subnet-name>
+ <ip-assignment-direction>true</ip-assignment-direction>
+ <host-routes>
+ <host-route>
+ <host-route-id>string</host-route-id>
+ <route-prefix>192.10.16.0/24</route-prefix>
+ <next-hop>192.10.16.100/24</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857301954</resource-version>
+ </host-route>
+ </host-routes>
</subnet>
</subnets>
<segmentation-assignments>
@@ -2085,12 +2369,12 @@ String assignRpcSDNCRequest =
<service-information>
<service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
<subscription-service-type>MSO-dev-service-type</subscription-service-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>fcc85cb0-ad74-45d7-a5a1-17c8744fdb71</model-invariant-uuid>
<model-uuid>36a3a8ea-49a6-4ac8-b06c-89a54544b9b6</model-uuid>
<model-version>1.0</model-version>
<model-name>HNGW Protected OAM</model-name>
- </onap-model-information>
+ </ecomp-model-information>
<service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
<global-customer-id>globalId_45678905678</global-customer-id>
<subscriber-name>MSO_1610_dev</subscriber-name>
@@ -2098,13 +2382,13 @@ String assignRpcSDNCRequest =
<network-information>
<network-id>networkId</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>sn5256d1-5a33-55df-13ab-12abad84e764</model-invariant-uuid>
<model-customization-uuid>sn5256d1-5a33-55df-13ab-12abad84e222</model-customization-uuid>
<model-uuid>sn5256d1-5a33-55df-13ab-12abad84e111</model-uuid>
<model-version>1</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-input>
<network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
@@ -2139,12 +2423,12 @@ String activateSDNCRequest =
<service-information>
<service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
<subscription-service-type>MSO-dev-service-type</subscription-service-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>fcc85cb0-ad74-45d7-a5a1-17c8744fdb71</model-invariant-uuid>
<model-uuid>36a3a8ea-49a6-4ac8-b06c-89a54544b9b6</model-uuid>
<model-version>1.0</model-version>
<model-name>HNGW Protected OAM</model-name>
- </onap-model-information>
+ </ecomp-model-information>
<service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
<global-customer-id>globalId_45678905678</global-customer-id>
<subscriber-name>MSO_1610_dev</subscriber-name>
@@ -2152,13 +2436,13 @@ String activateSDNCRequest =
<network-information>
<network-id>networkId</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>sn5256d1-5a33-55df-13ab-12abad84e764</model-invariant-uuid>
<model-customization-uuid>sn5256d1-5a33-55df-13ab-12abad84e222</model-customization-uuid>
<model-uuid>sn5256d1-5a33-55df-13ab-12abad84e111</model-uuid>
<model-version>1</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-input>
<network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
@@ -2232,12 +2516,12 @@ String sdncRpcRollbackRequest =
<service-information>
<service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
<subscription-service-type>MSO-dev-service-type</subscription-service-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>fcc85cb0-ad74-45d7-a5a1-17c8744fdb71</model-invariant-uuid>
<model-uuid>36a3a8ea-49a6-4ac8-b06c-89a54544b9b6</model-uuid>
<model-version>1.0</model-version>
<model-name>HNGW Protected OAM</model-name>
- </onap-model-information>
+ </ecomp-model-information>
<service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
<global-customer-id>globalId_45678905678</global-customer-id>
<subscriber-name>MSO_1610_dev</subscriber-name>
@@ -2245,13 +2529,13 @@ String sdncRpcRollbackRequest =
<network-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>sn5256d1-5a33-55df-13ab-12abad84e764</model-invariant-uuid>
<model-customization-uuid>sn5256d1-5a33-55df-13ab-12abad84e222</model-customization-uuid>
<model-uuid>sn5256d1-5a33-55df-13ab-12abad84e111</model-uuid>
<model-version>1</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-input>
<network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
@@ -2286,12 +2570,12 @@ String sdncActivateRollbackRequest =
<service-information>
<service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
<subscription-service-type>MSO-dev-service-type</subscription-service-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>fcc85cb0-ad74-45d7-a5a1-17c8744fdb71</model-invariant-uuid>
<model-uuid>36a3a8ea-49a6-4ac8-b06c-89a54544b9b6</model-uuid>
<model-version>1.0</model-version>
<model-name>HNGW Protected OAM</model-name>
- </onap-model-information>
+ </ecomp-model-information>
<service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
<global-customer-id>globalId_45678905678</global-customer-id>
<subscriber-name>MSO_1610_dev</subscriber-name>
@@ -2299,13 +2583,13 @@ String sdncActivateRollbackRequest =
<network-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>sn5256d1-5a33-55df-13ab-12abad84e764</model-invariant-uuid>
<model-customization-uuid>sn5256d1-5a33-55df-13ab-12abad84e222</model-customization-uuid>
<model-uuid>sn5256d1-5a33-55df-13ab-12abad84e111</model-uuid>
<model-version>1</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-input>
<network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
@@ -2461,13 +2745,13 @@ String sdncAdapterWorkflowAssignResponse =
<network-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>invariant-uuid</model-invariant-uuid>
<model-customization-uuid>customization-uuid</model-customization-uuid>
<model-uuid>uuid</model-uuid>
<model-version>version</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
@@ -2508,13 +2792,13 @@ String sdncAdapterWorkflowAssignResponse =
<network-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>invariant-uuid</model-invariant-uuid>
<model-customization-uuid>customization-uuid</model-customization-uuid>
<model-uuid>uuid</model-uuid>
<model-version>version</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
@@ -2535,7 +2819,7 @@ String sdncAdapterWorkflowAssignResponse =
}
- public void initializeVariables (Execution mockExecution) {
+ public void initializeVariables (DelegateExecution mockExecution) {
verify(mockExecution).setVariable(Prefix + "networkRequest", "")
verify(mockExecution).setVariable(Prefix + "rollbackEnabled", null)
@@ -2695,7 +2979,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_adapters_sdnc_resource_endpoint")).thenReturn("http://localhost:8090/SDNCAdapterRpc")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.preProcessRequest(mockExecution)
@@ -2756,7 +3040,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_adapters_network_rest_endpoint")).thenReturn("http://localhost:8090/networks/NetworkAdapter")
when(mockExecution.getVariable("URN_mso_adapters_sdnc_resource_endpoint")).thenReturn("http://localhost:8090/SDNCAdapterRpc")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.preProcessRequest(mockExecution)
@@ -2787,7 +3071,7 @@ String sdncAdapterWorkflowAssignResponse =
}
@Test
- //@Ignore
+ @Ignore // 1802 merge
public void preProcessRequest_XML_NetworkRequest() {
println "************ preProcessRequest_Payload ************* "
@@ -2810,7 +3094,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_adapters_network_rest_endpoint")).thenReturn("http://localhost:8090/networks/NetworkAdapter")
when(mockExecution.getVariable("URN_mso_adapters_sdnc_resource_endpoint")).thenReturn("http://localhost:8090/SDNCAdapterRpc")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.preProcessRequest(mockExecution)
@@ -2862,7 +3146,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable(Prefix + "rollbackEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareCreateNetworkRequest(mockExecution)
@@ -2900,7 +3184,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable(Prefix + "rollbackEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareCreateNetworkRequest(mockExecution)
@@ -2911,7 +3195,7 @@ String sdncAdapterWorkflowAssignResponse =
// verify set prefix = Prefix + ""
verify(mockExecution).setVariable("prefix", Prefix)
- verify(mockExecution).setVariable(Prefix + "createNetworkRequest", createNetworkRequest)
+ verify(mockExecution).setVariable(Prefix + "createNetworkRequest", createNetworkRequest_Ipv4)
}
@@ -2923,7 +3207,7 @@ String sdncAdapterWorkflowAssignResponse =
ExecutionEntity mockExecution = setupMock()
// Initialize prerequisite variables
when(mockExecution.getVariable(Prefix + "networkRequest")).thenReturn(expectedJSONNetworkRequest)
- when(mockExecution.getVariable(Prefix + "queryIdAAIResponse")).thenReturn(queryIdAIIResponse)
+ when(mockExecution.getVariable(Prefix + "queryIdAAIResponse")).thenReturn(queryIdAIIResponse_AlaCarte)
when(mockExecution.getVariable(Prefix + "cloudRegionPo")).thenReturn("RDM2WAGPLCP")
when(mockExecution.getVariable(Prefix + "messageId")).thenReturn("messageId_generated")
when(mockExecution.getVariable(Prefix + "source")).thenReturn("VID")
@@ -2937,7 +3221,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable(Prefix + "rollbackEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareCreateNetworkRequest(mockExecution)
@@ -2974,7 +3258,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable(Prefix + "rollbackEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareCreateNetworkRequest(mockExecution)
@@ -3009,7 +3293,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareSDNCRequest(mockExecution)
@@ -3038,7 +3322,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/VIRTUAL%20USP/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareSDNCRequest(mockExecution)
@@ -3067,7 +3351,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareRpcSDNCRequest(mockExecution)
@@ -3096,7 +3380,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareSDNCRollbackRequest(mockExecution)
@@ -3125,7 +3409,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareRpcSDNCActivateRequest(mockExecution)
@@ -3156,7 +3440,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareRpcSDNCRollbackRequest(mockExecution)
@@ -3186,7 +3470,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareRpcSDNCActivateRollback(mockExecution)
@@ -3219,7 +3503,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAINetworkName(mockExecution)
@@ -3255,7 +3539,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAINetworkName(mockExecution)
@@ -3276,7 +3560,7 @@ String sdncAdapterWorkflowAssignResponse =
println "************ callRESTQueryAAINetworkId ************* "
WireMock.reset();
- MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "assignSDNCResponse")).thenReturn(sdncAdapterWorkflowAssignResponse)
@@ -3290,7 +3574,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAINetworkId(mockExecution)
@@ -3299,7 +3583,7 @@ String sdncAdapterWorkflowAssignResponse =
//preDebugger.printInvocations(mockExecution)
verify(mockExecution).setVariable("prefix", Prefix)
- verify(mockExecution).setVariable(Prefix + "queryIdAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=1")
+ verify(mockExecution).setVariable(Prefix + "queryIdAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=all")
verify(mockExecution).setVariable(Prefix + "aaiIdReturnCode", "200")
}
@@ -3326,7 +3610,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAICloudRegion(mockExecution)
@@ -3363,7 +3647,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAICloudRegion(mockExecution)
@@ -3400,7 +3684,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAICloudRegion(mockExecution)
@@ -3439,7 +3723,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
@@ -3458,6 +3742,39 @@ String sdncAdapterWorkflowAssignResponse =
@Test
//@Ignore
+ public void callRESTQueryAAINetworkVpnBindingList_200() {
+
+ println "************ callRESTQueryAAINetworkVpnBinding_200 ************* "
+
+ WireMock.reset();
+ MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBindingList_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
+ MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBindingList_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
+
+ ExecutionEntity mockExecution = setupMock()
+ when(mockExecution.getVariable(Prefix + "queryIdAAIResponse")).thenReturn(queryIdAIIResponse) // v6
+ when(mockExecution.getVariable(Prefix + "messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")
+ when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:8090")
+ when(mockExecution.getVariable("URN_mso_workflow_DoCreateNetworkInstance_aai_vpn_binding_uri")).thenReturn("/aai/v8/network/vpn-bindings/vpn-binding")
+ when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+ when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_namespace")).thenReturn('http://org.openecomp.aai.inventory/')
+ when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
+ when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
+
+ // preProcessRequest(DelegateExecution execution)
+ DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
+ DoCreateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
+
+ verify(mockExecution).setVariable("prefix", Prefix)
+ verify(mockExecution).setVariable(Prefix + "vpnCount", 2)
+ verify(mockExecution).setVariable(Prefix + "vpnBindings", ['/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/', '/aai/v8/network/vpn-bindings/vpn-binding/c980a6ef-3b88-49f0-9751-dbad8608d0a6/'])
+ // the last vpnBinding value is saved.
+ verify(mockExecution).setVariable(Prefix + "queryVpnBindingAAIRequest", "http://localhost:8090/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017?depth=all")
+ verify(mockExecution, atLeast(2)).setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", "200")
+
+ }
+
+ @Test
+ //@Ignore
public void callRESTQueryAAINetworkVpnBinding_TestScenario01_200() {
println "************ callRESTQueryAAINetworkVpnBinding_200 ************* "
@@ -3477,7 +3794,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
@@ -3517,7 +3834,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
@@ -3557,7 +3874,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
@@ -3594,7 +3911,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAINetworkPolicy(mockExecution)
@@ -3633,7 +3950,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTQueryAAINetworkTableRef(mockExecution)
@@ -3657,7 +3974,7 @@ String sdncAdapterWorkflowAssignResponse =
println "************ callRESTReQueryAAINetworkId ************* "
WireMock.reset();
- MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "networkId")).thenReturn("49c86598-f766-46f8-84f8-8d1c1b10f9b4")
@@ -3672,7 +3989,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTReQueryAAINetworkId(mockExecution)
@@ -3681,7 +3998,7 @@ String sdncAdapterWorkflowAssignResponse =
//preDebugger.printInvocations(mockExecution)
verify(mockExecution).setVariable("prefix", Prefix)
- verify(mockExecution).setVariable(Prefix + "requeryIdAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=1")
+ verify(mockExecution).setVariable(Prefix + "requeryIdAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=all")
verify(mockExecution).setVariable(Prefix + "aaiRequeryIdReturnCode", "200")
}
@@ -3693,7 +4010,7 @@ String sdncAdapterWorkflowAssignResponse =
println "************ callRESTUpdateContrailAAINetwork ************* "
WireMock.reset();
- MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
+ MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "networkId")).thenReturn("49c86598-f766-46f8-84f8-8d1c1b10f9b4")
@@ -3709,7 +4026,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTUpdateContrailAAINetwork(mockExecution)
@@ -3718,7 +4035,7 @@ String sdncAdapterWorkflowAssignResponse =
//preDebugger.printInvocations(mockExecution)
verify(mockExecution).setVariable("prefix", Prefix)
- verify(mockExecution).setVariable(Prefix + "updateContrailAAIUrlRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=1")
+ verify(mockExecution).setVariable(Prefix + "updateContrailAAIUrlRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=all")
verify(mockExecution).setVariable(Prefix + "updateContrailAAIPayloadRequest", updateContrailAAIPayloadRequest)
verify(mockExecution).setVariable(Prefix + "aaiUpdateContrailReturnCode", "200")
//verify(mockExecution).setVariable(Prefix + "updateContrailAAIResponse", updateContrailAAIResponse)
@@ -3733,7 +4050,7 @@ String sdncAdapterWorkflowAssignResponse =
println "************ callRESTUpdateContrailAAINetwork ************* "
WireMock.reset();
- MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
+ MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "networkId")).thenReturn("49c86598-f766-46f8-84f8-8d1c1b10f9b4")
@@ -3749,7 +4066,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.callRESTUpdateContrailAAINetwork(mockExecution)
@@ -3758,7 +4075,7 @@ String sdncAdapterWorkflowAssignResponse =
//preDebugger.printInvocations(mockExecution)
verify(mockExecution).setVariable("prefix", Prefix)
- verify(mockExecution).setVariable(Prefix + "updateContrailAAIUrlRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=1")
+ verify(mockExecution).setVariable(Prefix + "updateContrailAAIUrlRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=all")
verify(mockExecution).setVariable(Prefix + "updateContrailAAIPayloadRequest", updateContrailAAIPayloadRequest_segmentation)
verify(mockExecution).setVariable(Prefix + "aaiUpdateContrailReturnCode", "200")
//verify(mockExecution).setVariable(Prefix + "updateContrailAAIResponse", updateContrailAAIResponse)
@@ -3929,7 +4246,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn(rollbackNetworkRequest)
when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.prepareRollbackData(mockExecution)
@@ -3953,7 +4270,7 @@ String sdncAdapterWorkflowAssignResponse =
when(mockExecution.getVariable(Prefix + "rollbackActivateSDNCRequest")).thenReturn(sdncActivateRollbackRequest)
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoCreateNetworkInstance DoCreateNetworkInstance = new DoCreateNetworkInstance()
DoCreateNetworkInstance.postProcessResponse(mockExecution)
@@ -3985,4 +4302,4 @@ String sdncAdapterWorkflowAssignResponse =
return mockExecution
}
-}
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2Test.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2Test.groovy
new file mode 100644
index 0000000000..2d58c7af69
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2Test.groovy
@@ -0,0 +1,93 @@
+package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.*
+
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
+import org.mockito.ArgumentCaptor
+import org.mockito.MockitoAnnotations
+import org.mockito.runners.MockitoJUnitRunner
+import org.openecomp.mso.bpmn.common.scripts.MsoGroovyTest
+import org.openecomp.mso.bpmn.common.scripts.MsoUtils
+import org.junit.Before
+import org.junit.Ignore;
+import org.junit.Test
+import org.junit.runner.RunWith
+
+
+@RunWith(MockitoJUnitRunner.class)
+class DoCreateVfModuleVolumeV2Test extends MsoGroovyTest {
+
+ def String volumeRollbackRequest = """
+<rollbackVolumeGroupRequest>
+ <volumeGroupRollback>
+ <volumeGroupId>171907d6-cdf0-4e08-953d-81ee104005a7</volumeGroupId>
+ <volumeGroupStackId>{{VOLUMEGROUPSTACKID}}</volumeGroupStackId>
+ <cloudSiteId>mtwnj1a</cloudSiteId>
+ <tenantId>c2141e3fcae940fcb4797ec9115e5a7a</tenantId>
+ <volumeGroupCreated>true</volumeGroupCreated>
+ <msoRequest>
+ <requestId>230fd6ac-2a39-4be4-9b1e-7b7e1cc039b5</requestId>
+ <serviceInstanceId>88c871d6-be09-4982-8490-96b1d243fb34</serviceInstanceId>
+ </msoRequest>
+ <messageId>9a5a91e8-3b79-463c-81c3-874a78f5b567</messageId>
+ </volumeGroupRollback>
+ <skipAAI>true</skipAAI>
+ <messageId>9a5a91e8-3b79-463c-81c3-874a78f5b567</messageId>
+ <notificationUrl>http://msobpel-app-e2e.ecomp.cci.att.com:8080/mso/WorkflowMessage/VNFAResponse/9a5a91e8-3b79-463c-81c3-874a78f5b567</notificationUrl>
+</rollbackVolumeGroupRequest>
+ """
+
+ def String volumeRollbackRequestWithStackId = """
+<rollbackVolumeGroupRequest>
+ <volumeGroupRollback>
+ <volumeGroupId>171907d6-cdf0-4e08-953d-81ee104005a7</volumeGroupId>
+ <volumeGroupStackId>mdt22avrr_volume01/0f1aaae8-efe3-45ce-83e1-bfad01db58d8</volumeGroupStackId>
+ <cloudSiteId>mtwnj1a</cloudSiteId>
+ <tenantId>c2141e3fcae940fcb4797ec9115e5a7a</tenantId>
+ <volumeGroupCreated>true</volumeGroupCreated>
+ <msoRequest>
+ <requestId>230fd6ac-2a39-4be4-9b1e-7b7e1cc039b5</requestId>
+ <serviceInstanceId>88c871d6-be09-4982-8490-96b1d243fb34</serviceInstanceId>
+ </msoRequest>
+ <messageId>9a5a91e8-3b79-463c-81c3-874a78f5b567</messageId>
+ </volumeGroupRollback>
+ <skipAAI>true</skipAAI>
+ <messageId>9a5a91e8-3b79-463c-81c3-874a78f5b567</messageId>
+ <notificationUrl>http://msobpel-app-e2e.ecomp.cci.att.com:8080/mso/WorkflowMessage/VNFAResponse/9a5a91e8-3b79-463c-81c3-874a78f5b567</notificationUrl>
+</rollbackVolumeGroupRequest>
+ """
+
+
+
+ @Before
+ public void init()
+ {
+ MockitoAnnotations.initMocks(this)
+ }
+
+ @Test
+ @Ignore // 1802 merge
+ public void testBuildRollbackVolumeGroupRequestXml() {
+ DoCreateVfModuleVolumeV2 process = new DoCreateVfModuleVolumeV2()
+ String xml = process.buildRollbackVolumeGroupRequestXml(
+ "171907d6-cdf0-4e08-953d-81ee104005a7", // volumeGroupId
+ "mtwnj1a", // cloudSiteId
+ "c2141e3fcae940fcb4797ec9115e5a7a", // tenantId
+ "230fd6ac-2a39-4be4-9b1e-7b7e1cc039b5", // requestId
+ "88c871d6-be09-4982-8490-96b1d243fb34", // serviceInstanceId
+ "9a5a91e8-3b79-463c-81c3-874a78f5b567", // messageId
+ "http://msobpel-app-e2e.ecomp.cci.att.com:8080/mso/WorkflowMessage/VNFAResponse/9a5a91e8-3b79-463c-81c3-874a78f5b567") // notificationUrl
+
+ assertEquals(volumeRollbackRequest.replaceAll("\\s", ""), xml.replaceAll("\\s", ""))
+ }
+
+
+ @Test
+ public void testUpdateRollbackVolumeGroupRequestXml() {
+ DoCreateVfModuleVolumeV2 process = new DoCreateVfModuleVolumeV2()
+ String updatedXml = process.updateRollbackVolumeGroupRequestXml(volumeRollbackRequest, "mdt22avrr_volume01/0f1aaae8-efe3-45ce-83e1-bfad01db58d8")
+ assertEquals(volumeRollbackRequestWithStackId.replaceAll("\\s", ""), updatedXml.replaceAll("\\s", ""))
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceTest.groovy
index 2cf09fe144..5b5a70006a 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceTest.groovy
@@ -138,6 +138,6 @@ class DoCustomDeleteE2EServiceInstanceTest extends GroovyTestBase {
when(mex.getVariable("GENGS_siResourceLink")).thenReturn("/service-subscription/e2eserviceInstance/delete/service-instances/")
when(mex.getVariable("globalSubscriberId")).thenReturn("4993921112123")
when(mex.getVariable("GENGS_service")).thenReturn("test3434")
- when(mex.getVariable("URN_mso_openecomp_adapters_db_endpoint")).thenReturn("http://localhost:8080/mso")
+ when(mex.getVariable("URN_mso_adapters_openecomp_db_endpoint")).thenReturn("http://localhost:8080/mso")
}
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollbackTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollbackTest.groovy
index bdfd415440..1dcd733c8a 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollbackTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollbackTest.groovy
@@ -1,323 +1,323 @@
-package org.openecomp.mso.bpmn.infrastructure.scripts
-
-import static org.mockito.Mockito.*
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.ProcessEngineServices
-import org.camunda.bpm.engine.RepositoryService
-import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
-import org.camunda.bpm.engine.impl.pvm.process.ProcessDefinitionImpl
-import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution;
-import org.mockito.MockitoAnnotations
-import org.mockito.runners.MockitoJUnitRunner
-import org.mockito.internal.debugging.MockitoDebuggerImpl
-import org.openecomp.mso.bpmn.common.scripts.MsoUtils
-import org.openecomp.mso.bpmn.core.WorkflowException
-import org.junit.Before
-import org.junit.Rule;
-import org.junit.Test
-import org.junit.Ignore
-import org.junit.runner.RunWith
-
-import static org.junit.Assert.*;
-
-import com.github.tomakehurst.wiremock.client.WireMock;
-import com.github.tomakehurst.wiremock.junit.WireMockRule;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import org.apache.commons.lang3.*
-
-
-@RunWith(MockitoJUnitRunner.class)
-class DoDeleteNetworkInstanceRollbackTest {
-
- @Rule
- public WireMockRule wireMockRule = new WireMockRule(8090);
-
- def utils = new MsoUtils()
- String Prefix="DELNWKIR_"
-
-
- String rollbackNetworkRequest =
- """<NetworkAdapter:rollbackNetwork xmlns:NetworkAdapter="http://org.openecomp.mso/network">
- <rollback>
- <networkId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkId>
- <neutronNetworkId>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutronNetworkId>
- <networkStackId/>
- <networkType>CONTRAIL_EXTERNAL</networkType>
- <networkCreated>true</networkCreated>
- <tenantId>7dd5365547234ee8937416c65507d266</tenantId>
- <cloudSiteId>RDM2WAGPLCP</cloudSiteId>
- <msoRequest>
- <requestId>1ef47428-cade-45bd-a103-0751e8b2deb0</requestId>
- <serviceInstanceId/>
- </msoRequest>
- </rollback>
-</NetworkAdapter:rollbackNetwork>"""
-
- String rollbackDeActivateSDNCRequest =
- """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:ns5="http://org.openecomp/mso/request/types/v1"
- xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1">
- <sdncadapter:RequestHeader>
- <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>
- <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>
- <sdncadapter:SvcAction>activate</sdncadapter:SvcAction>
- <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>
- <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>
- <sdncadapter:MsoAction>generic-resource</sdncadapter:MsoAction>
- </sdncadapter:RequestHeader>
- <aetgt:SDNCRequestData>
- <request-information>
- <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>
- <request-action>CreateNetworkInstance</request-action>
- <source>VID</source>
- <notification-url/>
- <order-number/>
- <order-version/>
- </request-information>
- <service-information>
- <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
- <service-type>MSO-dev-service-type</service-type>
- <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
- <subscriber-name>MSO_1610_dev</subscriber-name>
- </service-information>
- <network-information>
- <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
- <network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
- <model-invariant-uuid>invariant-uuid</model-invariant-uuid>
- <model-customization-uuid>customization-uuid</model-customization-uuid>
- <model-uuid>uuid</model-uuid>
- <model-version>version</model-version>
- <model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
- </network-information>
- <network-request-information>
- <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
- <network-type>CONTRAIL_EXTERNAL</network-type>
- <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
- <tenant>7dd5365547234ee8937416c65507d266</tenant>
- <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>
- </network-request-information>
- </aetgt:SDNCRequestData>
-</aetgt:SDNCAdapterWorkflowRequest>"""
-
- String rollbackSDNCRequest =
- """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:ns5="http://org.openecomp/mso/request/types/v1"
- xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1">
- <sdncadapter:RequestHeader>
- <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>
- <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>
- <sdncadapter:SvcAction>rollback</sdncadapter:SvcAction>
- <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>
- <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>
- </sdncadapter:RequestHeader>
- <aetgt:SDNCRequestData>
- <request-information>
- <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>
- <request-action>CreateNetworkInstance</request-action>
- <source>VID</source>
- <notification-url/>
- <order-number/>
- <order-version/>
- </request-information>
- <service-information>
- <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
- <service-type>MSO-dev-service-type</service-type>
- <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
- <subscriber-name>MSO_1610_dev</subscriber-name>
- </service-information>
- <network-information>
- <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
- <network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
- <model-invariant-uuid>invariant-uuid</model-invariant-uuid>
- <model-customization-uuid>customization-uuid</model-customization-uuid>
- <model-uuid>uuid</model-uuid>
- <model-version>version</model-version>
- <model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
- </network-information>
- <network-request-information>
- <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
- <network-type>CONTRAIL_EXTERNAL</network-type>
- <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
- <tenant>7dd5365547234ee8937416c65507d266</tenant>
- <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>
- </network-request-information>
- </aetgt:SDNCRequestData>
-</aetgt:SDNCAdapterWorkflowRequest>"""
-
-// - - - - - - - -
-
-
- @Before
- public void init()
- {
- MockitoAnnotations.initMocks(this)
-
- }
-
- public void initializeVariables (Execution mockExecution) {
-
- verify(mockExecution).setVariable(Prefix + "WorkflowException", null)
-
- verify(mockExecution).setVariable(Prefix + "rollbackDeactivateSDNCRequest", null)
- verify(mockExecution).setVariable(Prefix + "rollbackDeactivateSDNCResponse", "")
- verify(mockExecution).setVariable(Prefix + "rollbackDeactivateSDNCReturnCode", "")
-
- verify(mockExecution).setVariable(Prefix + "rollbackNetworkRequest", null)
- verify(mockExecution).setVariable(Prefix + "rollbackNetworkResponse", "")
- verify(mockExecution).setVariable(Prefix + "rollbackNetworkReturnCode", "")
-
- verify(mockExecution).setVariable(Prefix + "Success", false)
- verify(mockExecution).setVariable(Prefix + "fullRollback", false)
-
- }
-
- @Test
- //@Ignore
- public void preProcessRequest() {
-
- println "************ preProcessRequest ************* "
-
- WorkflowException workflowException = new WorkflowException("DoCreateNetworkInstance", 2500, "Received error from Network Adapter: JBWEB000065: HTTP Status 500.")
- Map<String, String> rollbackData = new HashMap<String, String>();
- rollbackData.put("rollbackDeactivateSDNCRequest", rollbackDeActivateSDNCRequest)
- rollbackData.put("rollbackNetworkRequest", rollbackNetworkRequest)
- rollbackData.put("rollbackSDNCRequest", rollbackSDNCRequest)
-
- ExecutionEntity mockExecution = setupMock()
- // Initialize prerequisite variables
- when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
- when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)
- when(mockExecution.getVariable("rollbackData")).thenReturn(rollbackData)
- when(mockExecution.getVariable("sdncVersion")).thenReturn("1702")
-
- when(mockExecution.getVariable("URN_mso_adapters_po_auth")).thenReturn("3141634BF7E070AA289CF2892C986C0B")
- when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
-
- when(mockExecution.getVariable("URN_mso_adapters_sdnc_endpoint")).thenReturn("http://localhost:8090/SDNCAdapter")
- when(mockExecution.getVariable("URN_mso_adapters_network_rest_endpoint")).thenReturn("http://localhost:8090/networks/NetworkAdapter")
- when(mockExecution.getVariable("URN_mso_adapters_sdnc_resource_endpoint")).thenReturn("http://localhost:8090/SDNCAdapterRpc")
-
-
- // preProcessRequest(Execution execution)
- DoDeleteNetworkInstanceRollback DoDeleteNetworkInstanceRollback = new DoDeleteNetworkInstanceRollback()
- DoDeleteNetworkInstanceRollback.preProcessRequest(mockExecution)
-
- //verify variable initialization
- initializeVariables(mockExecution)
-
- verify(mockExecution).getVariable("isDebugLogEnabled")
- verify(mockExecution).setVariable("prefix", Prefix)
-
- }
-
-
- @Test
- //@Ignore
- public void validateRollbackResponses_Good() {
-
- WorkflowException workflowException = new WorkflowException("DoDeleteNetworkInstanceRollback", 2500, "AAI Update Contrail Failed. Error 404.")
- WorkflowException expectedWorkflowException = new WorkflowException("DoDeleteNetworkInstanceRollback", 2500, "AAI Update Contrail Failed. Error 404. + SNDC deactivate rollback completed. + PO Network rollback completed. + SNDC unassign rollback completed.")
-
- println "************ validateRollbackResponses_Good() ************* "
- ExecutionEntity mockExecution = setupMock()
- // Initialize prerequisite variables
- when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
-
- when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "WorkflowException")).thenReturn(workflowException)
- when(mockExecution.getVariable(Prefix + "fullRollback")).thenReturn(false)
-
- DoDeleteNetworkInstanceRollback DoDeleteNetworkInstanceRollback = new DoDeleteNetworkInstanceRollback()
- DoDeleteNetworkInstanceRollback.validateRollbackResponses(mockExecution)
-
- // verify set prefix = Prefix + ""
- verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix)
- verify(mockExecution, atLeast(1)).setVariable("rolledBack", true)
- verify(mockExecution, atLeast(1)).setVariable("wasDeleted", true)
- verify(mockExecution).setVariable("WorkflowException", refEq(expectedWorkflowException, any(WorkflowException.class)))
- //verify(mockExecution).setVariable("WorkflowException", expectedWorkflowException)
- }
-
- @Test
- //@Ignore
- public void validateRollbackResponses_FullRollback() {
-
- Map<String, String> rollbackData = new HashMap<String, String>();
- rollbackData.put("rollbackDeactivateSDNCRequest", rollbackDeActivateSDNCRequest)
- rollbackData.put("rollbackNetworkRequest", rollbackNetworkRequest)
- rollbackData.put("rollbackSDNCRequest", rollbackSDNCRequest)
-
- println "************ validateRollbackResponses_FullRollback() ************* "
- ExecutionEntity mockExecution = setupMock()
- // Initialize prerequisite variables
- when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
-
- when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "WorkflowException")).thenReturn(null)
- when(mockExecution.getVariable(Prefix + "fullRollback")).thenReturn(true)
- when(mockExecution.getVariable("rollbackData")).thenReturn(rollbackData)
-
- DoDeleteNetworkInstanceRollback DoDeleteNetworkInstanceRollback = new DoDeleteNetworkInstanceRollback()
- DoDeleteNetworkInstanceRollback.validateRollbackResponses(mockExecution)
-
- // verify set prefix = Prefix + ""
- verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix)
- verify(mockExecution, atLeast(1)).setVariable("rollbackSuccessful", true)
- verify(mockExecution, atLeast(1)).setVariable("rollbackError", false)
-
- }
-
-
- private ExecutionEntity setupMock() {
-
- ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
- when(mockProcessDefinition.getKey()).thenReturn("DoDeleteNetworkInstanceRollback")
- RepositoryService mockRepositoryService = mock(RepositoryService.class)
- when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition)
- when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoDeleteNetworkInstanceRollback")
- when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100")
- ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class)
- when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService)
-
- ExecutionEntity mockExecution = mock(ExecutionEntity.class)
- // Initialize prerequisite variables
-
- when(mockExecution.getId()).thenReturn("100")
- when(mockExecution.getProcessDefinitionId()).thenReturn("DoDeleteNetworkInstanceRollback")
- when(mockExecution.getProcessInstanceId()).thenReturn("DoDeleteNetworkInstanceRollback")
- when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices)
- when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition)
-
- return mockExecution
- }
-
-}
+package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import static org.mockito.Mockito.*
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.ProcessEngineServices
+import org.camunda.bpm.engine.RepositoryService
+import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
+import org.camunda.bpm.engine.impl.pvm.process.ProcessDefinitionImpl
+import org.camunda.bpm.engine.repository.ProcessDefinition
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.mockito.MockitoAnnotations
+import org.mockito.runners.MockitoJUnitRunner
+import org.mockito.internal.debugging.MockitoDebuggerImpl
+import org.openecomp.mso.bpmn.common.scripts.MsoUtils
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.junit.Before
+import org.junit.Rule;
+import org.junit.Test
+import org.junit.Ignore
+import org.junit.runner.RunWith
+
+import static org.junit.Assert.*;
+
+import com.github.tomakehurst.wiremock.client.WireMock;
+import com.github.tomakehurst.wiremock.junit.WireMockRule;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.apache.commons.lang3.*
+
+
+@RunWith(MockitoJUnitRunner.class)
+class DoDeleteNetworkInstanceRollbackTest {
+
+ @Rule
+ public WireMockRule wireMockRule = new WireMockRule(8090);
+
+ def utils = new MsoUtils()
+ String Prefix="DELNWKIR_"
+
+
+ String rollbackNetworkRequest =
+ """<NetworkAdapter:rollbackNetwork xmlns:NetworkAdapter="http://org.openecomp.mso/network">
+ <rollback>
+ <networkId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkId>
+ <neutronNetworkId>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutronNetworkId>
+ <networkStackId/>
+ <networkType>CONTRAIL_EXTERNAL</networkType>
+ <networkCreated>true</networkCreated>
+ <tenantId>7dd5365547234ee8937416c65507d266</tenantId>
+ <cloudSiteId>RDM2WAGPLCP</cloudSiteId>
+ <msoRequest>
+ <requestId>1ef47428-cade-45bd-a103-0751e8b2deb0</requestId>
+ <serviceInstanceId/>
+ </msoRequest>
+ </rollback>
+</NetworkAdapter:rollbackNetwork>"""
+
+ String rollbackDeActivateSDNCRequest =
+ """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:ns5="http://org.openecomp/mso/request/types/v1"
+ xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1">
+ <sdncadapter:RequestHeader>
+ <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>
+ <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>
+ <sdncadapter:SvcAction>activate</sdncadapter:SvcAction>
+ <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>
+ <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>
+ <sdncadapter:MsoAction>generic-resource</sdncadapter:MsoAction>
+ </sdncadapter:RequestHeader>
+ <aetgt:SDNCRequestData>
+ <request-information>
+ <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>
+ <request-action>CreateNetworkInstance</request-action>
+ <source>VID</source>
+ <notification-url/>
+ <order-number/>
+ <order-version/>
+ </request-information>
+ <service-information>
+ <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
+ <service-type>MSO-dev-service-type</service-type>
+ <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
+ <subscriber-name>MSO_1610_dev</subscriber-name>
+ </service-information>
+ <network-information>
+ <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
+ <network-type>CONTRAIL_EXTERNAL</network-type>
+ <ecomp-model-information>
+ <model-invariant-uuid>invariant-uuid</model-invariant-uuid>
+ <model-customization-uuid>customization-uuid</model-customization-uuid>
+ <model-uuid>uuid</model-uuid>
+ <model-version>version</model-version>
+ <model-name>CONTRAIL_EXTERNAL</model-name>
+ </ecomp-model-information>
+ </network-information>
+ <network-request-information>
+ <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
+ <network-type>CONTRAIL_EXTERNAL</network-type>
+ <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
+ <tenant>7dd5365547234ee8937416c65507d266</tenant>
+ <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>
+ </network-request-information>
+ </aetgt:SDNCRequestData>
+</aetgt:SDNCAdapterWorkflowRequest>"""
+
+ String rollbackSDNCRequest =
+ """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:ns5="http://org.openecomp/mso/request/types/v1"
+ xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1">
+ <sdncadapter:RequestHeader>
+ <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>
+ <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>
+ <sdncadapter:SvcAction>rollback</sdncadapter:SvcAction>
+ <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>
+ <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>
+ </sdncadapter:RequestHeader>
+ <aetgt:SDNCRequestData>
+ <request-information>
+ <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>
+ <request-action>CreateNetworkInstance</request-action>
+ <source>VID</source>
+ <notification-url/>
+ <order-number/>
+ <order-version/>
+ </request-information>
+ <service-information>
+ <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
+ <service-type>MSO-dev-service-type</service-type>
+ <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
+ <subscriber-name>MSO_1610_dev</subscriber-name>
+ </service-information>
+ <network-information>
+ <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
+ <network-type>CONTRAIL_EXTERNAL</network-type>
+ <ecomp-model-information>
+ <model-invariant-uuid>invariant-uuid</model-invariant-uuid>
+ <model-customization-uuid>customization-uuid</model-customization-uuid>
+ <model-uuid>uuid</model-uuid>
+ <model-version>version</model-version>
+ <model-name>CONTRAIL_EXTERNAL</model-name>
+ </ecomp-model-information>
+ </network-information>
+ <network-request-information>
+ <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
+ <network-type>CONTRAIL_EXTERNAL</network-type>
+ <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
+ <tenant>7dd5365547234ee8937416c65507d266</tenant>
+ <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>
+ </network-request-information>
+ </aetgt:SDNCRequestData>
+</aetgt:SDNCAdapterWorkflowRequest>"""
+
+// - - - - - - - -
+
+
+ @Before
+ public void init()
+ {
+ MockitoAnnotations.initMocks(this)
+
+ }
+
+ public void initializeVariables (DelegateExecution mockExecution) {
+
+ verify(mockExecution).setVariable(Prefix + "WorkflowException", null)
+
+ verify(mockExecution).setVariable(Prefix + "rollbackDeactivateSDNCRequest", null)
+ verify(mockExecution).setVariable(Prefix + "rollbackDeactivateSDNCResponse", "")
+ verify(mockExecution).setVariable(Prefix + "rollbackDeactivateSDNCReturnCode", "")
+
+ verify(mockExecution).setVariable(Prefix + "rollbackNetworkRequest", null)
+ verify(mockExecution).setVariable(Prefix + "rollbackNetworkResponse", "")
+ verify(mockExecution).setVariable(Prefix + "rollbackNetworkReturnCode", "")
+
+ verify(mockExecution).setVariable(Prefix + "Success", false)
+ verify(mockExecution).setVariable(Prefix + "fullRollback", false)
+
+ }
+
+ @Test
+ //@Ignore
+ public void preProcessRequest() {
+
+ println "************ preProcessRequest ************* "
+
+ WorkflowException workflowException = new WorkflowException("DoCreateNetworkInstance", 2500, "Received error from Network Adapter: JBWEB000065: HTTP Status 500.")
+ Map<String, String> rollbackData = new HashMap<String, String>();
+ rollbackData.put("rollbackDeactivateSDNCRequest", rollbackDeActivateSDNCRequest)
+ rollbackData.put("rollbackNetworkRequest", rollbackNetworkRequest)
+ rollbackData.put("rollbackSDNCRequest", rollbackSDNCRequest)
+
+ ExecutionEntity mockExecution = setupMock()
+ // Initialize prerequisite variables
+ when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+ when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
+ when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)
+ when(mockExecution.getVariable("rollbackData")).thenReturn(rollbackData)
+ when(mockExecution.getVariable("sdncVersion")).thenReturn("1702")
+
+ when(mockExecution.getVariable("URN_mso_adapters_po_auth")).thenReturn("3141634BF7E070AA289CF2892C986C0B")
+ when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
+
+ when(mockExecution.getVariable("URN_mso_adapters_sdnc_endpoint")).thenReturn("http://localhost:8090/SDNCAdapter")
+ when(mockExecution.getVariable("URN_mso_adapters_network_rest_endpoint")).thenReturn("http://localhost:8090/networks/NetworkAdapter")
+ when(mockExecution.getVariable("URN_mso_adapters_sdnc_resource_endpoint")).thenReturn("http://localhost:8090/SDNCAdapterRpc")
+
+
+ // preProcessRequest(DelegateExecution execution)
+ DoDeleteNetworkInstanceRollback DoDeleteNetworkInstanceRollback = new DoDeleteNetworkInstanceRollback()
+ DoDeleteNetworkInstanceRollback.preProcessRequest(mockExecution)
+
+ //verify variable initialization
+ initializeVariables(mockExecution)
+
+ verify(mockExecution).getVariable("isDebugLogEnabled")
+ verify(mockExecution).setVariable("prefix", Prefix)
+
+ }
+
+
+ @Test
+ //@Ignore
+ public void validateRollbackResponses_Good() {
+
+ WorkflowException workflowException = new WorkflowException("DoDeleteNetworkInstanceRollback", 2500, "AAI Update Contrail Failed. Error 404.")
+ WorkflowException expectedWorkflowException = new WorkflowException("DoDeleteNetworkInstanceRollback", 2500, "AAI Update Contrail Failed. Error 404. + SNDC deactivate rollback completed. + PO Network rollback completed. + SNDC unassign rollback completed.")
+
+ println "************ validateRollbackResponses_Good() ************* "
+ ExecutionEntity mockExecution = setupMock()
+ // Initialize prerequisite variables
+ when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+ when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
+
+ when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "WorkflowException")).thenReturn(workflowException)
+ when(mockExecution.getVariable(Prefix + "fullRollback")).thenReturn(false)
+
+ DoDeleteNetworkInstanceRollback DoDeleteNetworkInstanceRollback = new DoDeleteNetworkInstanceRollback()
+ DoDeleteNetworkInstanceRollback.validateRollbackResponses(mockExecution)
+
+ // verify set prefix = Prefix + ""
+ verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix)
+ verify(mockExecution, atLeast(1)).setVariable("rolledBack", true)
+ verify(mockExecution, atLeast(1)).setVariable("wasDeleted", true)
+ verify(mockExecution).setVariable("WorkflowException", refEq(expectedWorkflowException, any(WorkflowException.class)))
+ //verify(mockExecution).setVariable("WorkflowException", expectedWorkflowException)
+ }
+
+ @Test
+ //@Ignore
+ public void validateRollbackResponses_FullRollback() {
+
+ Map<String, String> rollbackData = new HashMap<String, String>();
+ rollbackData.put("rollbackDeactivateSDNCRequest", rollbackDeActivateSDNCRequest)
+ rollbackData.put("rollbackNetworkRequest", rollbackNetworkRequest)
+ rollbackData.put("rollbackSDNCRequest", rollbackSDNCRequest)
+
+ println "************ validateRollbackResponses_FullRollback() ************* "
+ ExecutionEntity mockExecution = setupMock()
+ // Initialize prerequisite variables
+ when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+ when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
+
+ when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "WorkflowException")).thenReturn(null)
+ when(mockExecution.getVariable(Prefix + "fullRollback")).thenReturn(true)
+ when(mockExecution.getVariable("rollbackData")).thenReturn(rollbackData)
+
+ DoDeleteNetworkInstanceRollback DoDeleteNetworkInstanceRollback = new DoDeleteNetworkInstanceRollback()
+ DoDeleteNetworkInstanceRollback.validateRollbackResponses(mockExecution)
+
+ // verify set prefix = Prefix + ""
+ verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix)
+ verify(mockExecution, atLeast(1)).setVariable("rollbackSuccessful", true)
+ verify(mockExecution, atLeast(1)).setVariable("rollbackError", false)
+
+ }
+
+
+ private ExecutionEntity setupMock() {
+
+ ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
+ when(mockProcessDefinition.getKey()).thenReturn("DoDeleteNetworkInstanceRollback")
+ RepositoryService mockRepositoryService = mock(RepositoryService.class)
+ when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition)
+ when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoDeleteNetworkInstanceRollback")
+ when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100")
+ ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class)
+ when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService)
+
+ ExecutionEntity mockExecution = mock(ExecutionEntity.class)
+ // Initialize prerequisite variables
+
+ when(mockExecution.getId()).thenReturn("100")
+ when(mockExecution.getProcessDefinitionId()).thenReturn("DoDeleteNetworkInstanceRollback")
+ when(mockExecution.getProcessInstanceId()).thenReturn("DoDeleteNetworkInstanceRollback")
+ when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices)
+ when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition)
+
+ return mockExecution
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy
index f1dbb4b768..bc00123121 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy
@@ -10,7 +10,7 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.junit.Before
import org.junit.Ignore
import org.junit.Rule
@@ -858,12 +858,12 @@ String aaiResponseWithRelationship =
<service-information>
<service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
<subscription-service-type>MSO-dev-service-type</subscription-service-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>fcc85cb0-ad74-45d7-a5a1-17c8744fdb71</model-invariant-uuid>
<model-uuid>36a3a8ea-49a6-4ac8-b06c-89a54544b9b6</model-uuid>
<model-version>1.0</model-version>
<model-name>HNGW Protected OAM</model-name>
- </onap-model-information>
+ </ecomp-model-information>
<service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
<global-customer-id>globalId_45678905678</global-customer-id>
<subscriber-name/>
@@ -871,13 +871,13 @@ String aaiResponseWithRelationship =
<network-information>
<network-id>networkId</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>sn5256d1-5a33-55df-13ab-12abad84e764</model-invariant-uuid>
<model-customization-uuid>sn5256d1-5a33-55df-13ab-12abad84e222</model-customization-uuid>
<model-uuid>sn5256d1-5a33-55df-13ab-12abad84e111</model-uuid>
<model-version>1</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-input>
<network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
@@ -912,12 +912,12 @@ String aaiResponseWithRelationship =
<service-information>
<service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
<subscription-service-type>MSO-dev-service-type</subscription-service-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>fcc85cb0-ad74-45d7-a5a1-17c8744fdb71</model-invariant-uuid>
<model-uuid>36a3a8ea-49a6-4ac8-b06c-89a54544b9b6</model-uuid>
<model-version>1.0</model-version>
<model-name>HNGW Protected OAM</model-name>
- </onap-model-information>
+ </ecomp-model-information>
<service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
<global-customer-id>globalId_45678905678</global-customer-id>
<subscriber-name/>
@@ -925,13 +925,13 @@ String aaiResponseWithRelationship =
<network-information>
<network-id>bdc5efe8-404a-409b-85f6-0dcc9eebae30</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>sn5256d1-5a33-55df-13ab-12abad84e764</model-invariant-uuid>
<model-customization-uuid>sn5256d1-5a33-55df-13ab-12abad84e222</model-customization-uuid>
<model-uuid>sn5256d1-5a33-55df-13ab-12abad84e111</model-uuid>
<model-version>1</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-input>
<network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
@@ -1225,7 +1225,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
}
- public void initializeVariables (Execution mockExecution) {
+ public void initializeVariables (DelegateExecution mockExecution) {
verify(mockExecution).setVariable(Prefix + "networkRequest", "")
verify(mockExecution).setVariable(Prefix + "isSilentSuccess", false)
@@ -1302,7 +1302,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
when(mockExecution.getVariable("URN_mso_rollback")).thenReturn("true")
when(mockExecution.getVariable("sdncVersion")).thenReturn("1610")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance()
try {
DoDeleteNetworkInstance.preProcessRequest(mockExecution)
@@ -1367,7 +1367,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
when(mockExecution.getVariable("URN_mso_rollback")).thenReturn("true")
when(mockExecution.getVariable("sdncVersion")).thenReturn("1610")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance()
DoDeleteNetworkInstance.preProcessRequest(mockExecution)
@@ -1547,7 +1547,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn(null)
when(mockExecution.getVariable(Prefix + "deactivateSDNCResponse")).thenReturn(sdncAdapterWorkflowFormattedResponse)
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance()
DoDeleteNetworkInstance.prepareRpcSDNCDeactivateRollback(mockExecution)
@@ -1568,7 +1568,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
println "************ callRESTQueryAAI ************* "
WireMock.reset();
- MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
@@ -1586,7 +1586,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
DoDeleteNetworkInstance.callRESTQueryAAI(mockExecution)
verify(mockExecution).setVariable("prefix", Prefix)
- verify(mockExecution).setVariable(Prefix + "queryAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/bdc5efe8-404a-409b-85f6-0dcc9eebae30"+"?depth=1")
+ verify(mockExecution).setVariable(Prefix + "queryAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/bdc5efe8-404a-409b-85f6-0dcc9eebae30"+"?depth=all")
verify(mockExecution).setVariable(Prefix + "aaiReturnCode", "200")
//verify(mockExecution).setVariable(Prefix + "queryAAIResponse", aaiResponse)
@@ -1602,7 +1602,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
println "************ callRESTQueryAAI ************* "
WireMock.reset();
- MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_withRelationship_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_withRelationship_Success.xml", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
@@ -1620,7 +1620,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
DoDeleteNetworkInstance.callRESTQueryAAI(mockExecution)
verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix)
- verify(mockExecution).setVariable(Prefix + "queryAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/bdc5efe8-404a-409b-85f6-0dcc9eebae30"+"?depth=1")
+ verify(mockExecution).setVariable(Prefix + "queryAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/bdc5efe8-404a-409b-85f6-0dcc9eebae30"+"?depth=all")
verify(mockExecution).setVariable(Prefix + "aaiReturnCode", "200")
//verify(mockExecution).setVariable(Prefix + "queryAAIResponse", aaiResponseWithRelationship)
@@ -1636,7 +1636,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
println "************ callRESTQueryAAI ************* "
WireMock.reset();
- MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
@@ -1654,7 +1654,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
DoDeleteNetworkInstance.callRESTQueryAAI(mockExecution)
verify(mockExecution).setVariable("prefix", Prefix)
- verify(mockExecution).setVariable(Prefix + "queryAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/bdc5efe8-404a-409b-85f6-0dcc9eebae30"+ "?depth=1")
+ verify(mockExecution).setVariable(Prefix + "queryAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/bdc5efe8-404a-409b-85f6-0dcc9eebae30"+ "?depth=all")
verify(mockExecution).setVariable(Prefix + "aaiReturnCode", "200")
//verify(mockExecution).setVariable(Prefix + "queryAAIResponse", aaiResponse)
@@ -1715,7 +1715,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance()
DoDeleteNetworkInstance.callRESTQueryAAICloudRegion(mockExecution)
@@ -1748,7 +1748,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance()
DoDeleteNetworkInstance.callRESTQueryAAICloudRegion(mockExecution)
@@ -1864,7 +1864,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
when(mockExecution.getVariable(Prefix + "source")).thenReturn("PORTAL")
when(mockExecution.getVariable(Prefix + "isException")).thenReturn(false)
- // postProcessResponse(Execution execution)
+ // postProcessResponse(DelegateExecution execution)
DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance()
DoDeleteNetworkInstance.postProcessResponse(mockExecution)
@@ -1892,7 +1892,7 @@ String sdncAdapterWorkflowFormattedResponse_404 =
when(mockExecution.getVariable(Prefix + "rollbackDeactivateSDNCRequest")).thenReturn(sdncAdapaterDeactivateRollback)
when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance()
DoDeleteNetworkInstance.prepareRollbackData(mockExecution)
@@ -1926,4 +1926,4 @@ String sdncAdapterWorkflowFormattedResponse_404 =
}
-}
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollbackTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollbackTest.groovy
index f4b1a87dd2..09f1cfb982 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollbackTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollbackTest.groovy
@@ -1,315 +1,315 @@
-package org.openecomp.mso.bpmn.infrastructure.scripts
-
-import static org.mockito.Mockito.*
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.ProcessEngineServices
-import org.camunda.bpm.engine.RepositoryService
-import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
-import org.camunda.bpm.engine.impl.pvm.process.ProcessDefinitionImpl
-import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution;
-import org.mockito.MockitoAnnotations
-import org.mockito.runners.MockitoJUnitRunner
-import org.mockito.internal.debugging.MockitoDebuggerImpl
-import org.openecomp.mso.bpmn.common.scripts.MsoUtils
-import org.openecomp.mso.bpmn.core.WorkflowException
-import org.junit.Before
-import org.junit.Rule;
-import org.junit.Test
-import org.junit.Ignore
-import org.junit.runner.RunWith
-
-import static org.junit.Assert.*;
-
-import com.github.tomakehurst.wiremock.client.WireMock;
-import com.github.tomakehurst.wiremock.junit.WireMockRule;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-import org.apache.commons.lang3.*
-
-
-@RunWith(MockitoJUnitRunner.class)
-class DoUpdateNetworkInstanceRollbackTest {
-
- @Rule
- public WireMockRule wireMockRule = new WireMockRule(28090);
-
- def utils = new MsoUtils()
- String Prefix="UPDNETIR_"
-
-
- String rollbackNetworkRequest =
- """<NetworkAdapter:rollbackNetwork xmlns:NetworkAdapter="http://org.openecomp.mso/network">
- <rollback>
- <networkId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkId>
- <neutronNetworkId>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutronNetworkId>
- <networkStackId/>
- <networkType>CONTRAIL_EXTERNAL</networkType>
- <networkCreated>true</networkCreated>
- <tenantId>7dd5365547234ee8937416c65507d266</tenantId>
- <cloudSiteId>RDM2WAGPLCP</cloudSiteId>
- <msoRequest>
- <requestId>1ef47428-cade-45bd-a103-0751e8b2deb0</requestId>
- <serviceInstanceId/>
- </msoRequest>
- </rollback>
-</NetworkAdapter:rollbackNetwork>"""
-
- String rollbackActivateSDNCRequest =
- """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:ns5="http://org.openecomp/mso/request/types/v1"
- xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1">
- <sdncadapter:RequestHeader>
- <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>
- <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>
- <sdncadapter:SvcAction>rollback</sdncadapter:SvcAction>
- <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>
- <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>
- <sdncadapter:MsoAction>generic-resource</sdncadapter:MsoAction>
- </sdncadapter:RequestHeader>
- <aetgt:SDNCRequestData>
- <request-information>
- <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>
- <request-action>CreateNetworkInstance</request-action>
- <source>VID</source>
- <notification-url/>
- <order-number/>
- <order-version/>
- </request-information>
- <service-information>
- <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
- <service-type>MSO-dev-service-type</service-type>
- <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
- <subscriber-name>MSO_1610_dev</subscriber-name>
- </service-information>
- <network-information>
- <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
- <network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
- <model-invariant-uuid>invariant-uuid</model-invariant-uuid>
- <model-customization-uuid>customization-uuid</model-customization-uuid>
- <model-uuid>uuid</model-uuid>
- <model-version>version</model-version>
- <model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
- </network-information>
- <network-request-information>
- <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
- <network-type>CONTRAIL_EXTERNAL</network-type>
- <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
- <tenant>7dd5365547234ee8937416c65507d266</tenant>
- <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>
- </network-request-information>
- </aetgt:SDNCRequestData>
-</aetgt:SDNCAdapterWorkflowRequest>"""
-
- String rollbackSDNCRequest =
- """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:ns5="http://org.openecomp/mso/request/types/v1"
- xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1">
- <sdncadapter:RequestHeader>
- <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>
- <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>
- <sdncadapter:SvcAction>rollback</sdncadapter:SvcAction>
- <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>
- <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>
- <sdncadapter:MsoAction>generic-resource</sdncadapter:MsoAction>
- </sdncadapter:RequestHeader>
- <aetgt:SDNCRequestData>
- <request-information>
- <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>
- <request-action>CreateNetworkInstance</request-action>
- <source>VID</source>
- <notification-url/>
- <order-number/>
- <order-version/>
- </request-information>
- <service-information>
- <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
- <service-type>MSO-dev-service-type</service-type>
- <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
- <subscriber-name>MSO_1610_dev</subscriber-name>
- </service-information>
- <network-information>
- <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
- <network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
- <model-invariant-uuid>invariant-uuid</model-invariant-uuid>
- <model-customization-uuid>customization-uuid</model-customization-uuid>
- <model-uuid>uuid</model-uuid>
- <model-version>version</model-version>
- <model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
- </network-information>
- <network-request-information>
- <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
- <network-type>CONTRAIL_EXTERNAL</network-type>
- <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
- <tenant>7dd5365547234ee8937416c65507d266</tenant>
- <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>
- </network-request-information>
- </aetgt:SDNCRequestData>
-</aetgt:SDNCAdapterWorkflowRequest>"""
-
-// - - - - - - - -
-
-
- @Before
- public void init()
- {
- MockitoAnnotations.initMocks(this)
-
- }
-
- public void initializeVariables (Execution mockExecution) {
-
- verify(mockExecution).setVariable(Prefix + "rollbackNetworkRequest", null)
- verify(mockExecution).setVariable(Prefix + "rollbackSDNCRequest", null)
- verify(mockExecution).setVariable(Prefix + "WorkflowException", null)
-
- verify(mockExecution).setVariable(Prefix + "rollbackNetworkRequest", "")
- verify(mockExecution).setVariable(Prefix + "rollbackNetworkResponse", "")
- verify(mockExecution).setVariable(Prefix + "rollbackNetworkReturnCode", "")
-
- verify(mockExecution).setVariable(Prefix + "rollbackSDNCRequest", "")
- verify(mockExecution).setVariable(Prefix + "rollbackSDNCResponse", "")
- verify(mockExecution).setVariable(Prefix + "rollbackSDNCReturnCode", "")
-
- verify(mockExecution).setVariable(Prefix + "Success", false)
- verify(mockExecution).setVariable(Prefix + "fullRollback", false)
-
-
- }
-
- @Test
- //@Ignore
- public void preProcessRequest() {
-
- println "************ preProcessRequest ************* "
-
- WorkflowException workflowException = new WorkflowException("DoUpdateNetworkInstanceRollback", 2500, "Received error from Network Adapter: JBWEB000065: HTTP Status 500.")
- Map<String, String> rollbackData = new HashMap<String, String>();
- rollbackData.put("rollbackSDNCRequest", rollbackSDNCRequest)
- rollbackData.put("rollbackNetworkRequest", rollbackNetworkRequest)
-
- ExecutionEntity mockExecution = setupMock()
- // Initialize prerequisite variables
- when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
- when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)
- when(mockExecution.getVariable("rollbackData")).thenReturn(rollbackData)
- when(mockExecution.getVariable("sdncVersion")).thenReturn("1610")
- when(mockExecution.getVariable("URN_mso_adapters_po_auth")).thenReturn("3141634BF7E070AA289CF2892C986C0B")
- when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
-
- when(mockExecution.getVariable("URN_mso_adapters_sdnc_endpoint")).thenReturn("http://localhost:28090/SDNCAdapter")
- when(mockExecution.getVariable("URN_mso_adapters_network_rest_endpoint")).thenReturn("http://localhost:28090/networks/NetworkAdapter")
- when(mockExecution.getVariable("URN_mso_adapters_sdnc_resource_endpoint")).thenReturn("http://localhost:28090/SDNCAdapterRpc")
-
-
- // preProcessRequest(Execution execution)
- DoUpdateNetworkInstanceRollback DoUpdateNetworkInstanceRollback = new DoUpdateNetworkInstanceRollback()
- DoUpdateNetworkInstanceRollback.preProcessRequest(mockExecution)
-
- verify(mockExecution).getVariable("isDebugLogEnabled")
- verify(mockExecution).setVariable("prefix", Prefix)
-
- //verify variable initialization
- initializeVariables(mockExecution)
-
- }
-
-
- @Test
- @Ignore
- public void validateRollbackResponses_Good() {
-
- WorkflowException workflowException = new WorkflowException("DoUpdateNetworkInstanceRollback", 2500, "AAI Update Contrail Failed. Error 404.")
- WorkflowException expectedWorkflowException = new WorkflowException("DoUpdateNetworkInstanceRollback", 2500, "AAI Update Contrail Failed. Error 404. + SNDC activate rollback completed. + PO Network rollback completed. + SNDC assign rollback completed.")
-
- println "************ validateRollbackResponses_Good() ************* "
- ExecutionEntity mockExecution = setupMock()
- // Initialize prerequisite variables
- when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "WorkflowException")).thenReturn(workflowException)
- when(mockExecution.getVariable(Prefix + "fullRollback")).thenReturn(false)
-
- DoUpdateNetworkInstanceRollback DoUpdateNetworkInstanceRollback = new DoUpdateNetworkInstanceRollback()
- DoUpdateNetworkInstanceRollback.validateRollbackResponses(mockExecution)
-
- // verify set prefix = Prefix + ""
- verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix)
- verify(mockExecution, atLeast(1)).setVariable("rolledBack", true)
- verify(mockExecution, atLeast(1)).setVariable("wasDeleted", true)
- verify(mockExecution).setVariable("WorkflowException", refEq(expectedWorkflowException, any(WorkflowException.class)))
- //verify(mockExecution).setVariable("WorkflowException", expectedWorkflowException)
- }
-
- @Test
- //@Ignore
- public void validateRollbackResponses_FullRollback() {
-
- Map<String, String> rollbackData = new HashMap<String, String>();
- rollbackData.put("rollbackSDNCRequest", rollbackSDNCRequest)
- rollbackData.put("rollbackNetworkRequest", rollbackNetworkRequest)
-
- println "************ validateRollbackResponses_FullRollback() ************* "
- ExecutionEntity mockExecution = setupMock()
- // Initialize prerequisite variables
- when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- when(mockExecution.getVariable("prefix")).thenReturn(Prefix)
- when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCRequest")).thenReturn("Good")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackNetworkResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCReturnCode")).thenReturn("200")
- when(mockExecution.getVariable(Prefix + "rollbackSDNCResponse")).thenReturn("GoodResponse")
- when(mockExecution.getVariable(Prefix + "WorkflowException")).thenReturn(null)
- when(mockExecution.getVariable(Prefix + "fullRollback")).thenReturn(true)
- when(mockExecution.getVariable("rollbackData")).thenReturn(rollbackData)
-
- DoUpdateNetworkInstanceRollback DoUpdateNetworkInstanceRollback = new DoUpdateNetworkInstanceRollback()
- DoUpdateNetworkInstanceRollback.validateRollbackResponses(mockExecution)
-
- // verify set prefix = Prefix + ""
- verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix)
- verify(mockExecution, atLeast(1)).setVariable("rollbackSuccessful", true)
- verify(mockExecution, atLeast(1)).setVariable("rollbackError", false)
-
- }
-
-
- private ExecutionEntity setupMock() {
-
- ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
- when(mockProcessDefinition.getKey()).thenReturn("DoUpdateNetworkInstanceRollback")
- RepositoryService mockRepositoryService = mock(RepositoryService.class)
- when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition)
- when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoUpdateNetworkInstanceRollback")
- when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100")
- ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class)
- when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService)
-
- ExecutionEntity mockExecution = mock(ExecutionEntity.class)
- // Initialize prerequisite variables
-
- when(mockExecution.getId()).thenReturn("100")
- when(mockExecution.getProcessDefinitionId()).thenReturn("DoUpdateNetworkInstanceRollback")
- when(mockExecution.getProcessInstanceId()).thenReturn("DoUpdateNetworkInstanceRollback")
- when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices)
- when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition)
-
- return mockExecution
- }
-
-}
+package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import static org.mockito.Mockito.*
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.ProcessEngineServices
+import org.camunda.bpm.engine.RepositoryService
+import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
+import org.camunda.bpm.engine.impl.pvm.process.ProcessDefinitionImpl
+import org.camunda.bpm.engine.repository.ProcessDefinition
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.mockito.MockitoAnnotations
+import org.mockito.runners.MockitoJUnitRunner
+import org.mockito.internal.debugging.MockitoDebuggerImpl
+import org.openecomp.mso.bpmn.common.scripts.MsoUtils
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.junit.Before
+import org.junit.Rule;
+import org.junit.Test
+import org.junit.Ignore
+import org.junit.runner.RunWith
+
+import static org.junit.Assert.*;
+
+import com.github.tomakehurst.wiremock.client.WireMock;
+import com.github.tomakehurst.wiremock.junit.WireMockRule;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+import org.apache.commons.lang3.*
+
+
+@RunWith(MockitoJUnitRunner.class)
+class DoUpdateNetworkInstanceRollbackTest {
+
+ @Rule
+ public WireMockRule wireMockRule = new WireMockRule(28090);
+
+ def utils = new MsoUtils()
+ String Prefix="UPDNETIR_"
+
+
+ String rollbackNetworkRequest =
+ """<NetworkAdapter:rollbackNetwork xmlns:NetworkAdapter="http://org.openecomp.mso/network">
+ <rollback>
+ <networkId>MNS-25180-L-01-dmz_direct_net_1/2c88a3a9-69b9-43a7-ada6-1aca577c3641</networkId>
+ <neutronNetworkId>c4f4e878-cde0-4b15-ae9a-bda857759cea</neutronNetworkId>
+ <networkStackId/>
+ <networkType>CONTRAIL_EXTERNAL</networkType>
+ <networkCreated>true</networkCreated>
+ <tenantId>7dd5365547234ee8937416c65507d266</tenantId>
+ <cloudSiteId>RDM2WAGPLCP</cloudSiteId>
+ <msoRequest>
+ <requestId>1ef47428-cade-45bd-a103-0751e8b2deb0</requestId>
+ <serviceInstanceId/>
+ </msoRequest>
+ </rollback>
+</NetworkAdapter:rollbackNetwork>"""
+
+ String rollbackActivateSDNCRequest =
+ """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:ns5="http://org.openecomp/mso/request/types/v1"
+ xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1">
+ <sdncadapter:RequestHeader>
+ <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>
+ <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>
+ <sdncadapter:SvcAction>rollback</sdncadapter:SvcAction>
+ <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>
+ <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>
+ <sdncadapter:MsoAction>generic-resource</sdncadapter:MsoAction>
+ </sdncadapter:RequestHeader>
+ <aetgt:SDNCRequestData>
+ <request-information>
+ <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>
+ <request-action>CreateNetworkInstance</request-action>
+ <source>VID</source>
+ <notification-url/>
+ <order-number/>
+ <order-version/>
+ </request-information>
+ <service-information>
+ <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
+ <service-type>MSO-dev-service-type</service-type>
+ <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
+ <subscriber-name>MSO_1610_dev</subscriber-name>
+ </service-information>
+ <network-information>
+ <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
+ <network-type>CONTRAIL_EXTERNAL</network-type>
+ <ecomp-model-information>
+ <model-invariant-uuid>invariant-uuid</model-invariant-uuid>
+ <model-customization-uuid>customization-uuid</model-customization-uuid>
+ <model-uuid>uuid</model-uuid>
+ <model-version>version</model-version>
+ <model-name>CONTRAIL_EXTERNAL</model-name>
+ </ecomp-model-information>
+ </network-information>
+ <network-request-information>
+ <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
+ <network-type>CONTRAIL_EXTERNAL</network-type>
+ <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
+ <tenant>7dd5365547234ee8937416c65507d266</tenant>
+ <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>
+ </network-request-information>
+ </aetgt:SDNCRequestData>
+</aetgt:SDNCAdapterWorkflowRequest>"""
+
+ String rollbackSDNCRequest =
+ """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:ns5="http://org.openecomp/mso/request/types/v1"
+ xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1">
+ <sdncadapter:RequestHeader>
+ <sdncadapter:RequestId>88f65519-9a38-4c4b-8445-9eb4a5a5af56</sdncadapter:RequestId>
+ <sdncadapter:SvcInstanceId>f70e927b-6087-4974-9ef8-c5e4d5847ca4</sdncadapter:SvcInstanceId>
+ <sdncadapter:SvcAction>rollback</sdncadapter:SvcAction>
+ <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>
+ <sdncadapter:CallbackUrl>sdncCallback</sdncadapter:CallbackUrl>
+ <sdncadapter:MsoAction>generic-resource</sdncadapter:MsoAction>
+ </sdncadapter:RequestHeader>
+ <aetgt:SDNCRequestData>
+ <request-information>
+ <request-id>88f65519-9a38-4c4b-8445-9eb4a5a5af56</request-id>
+ <request-action>CreateNetworkInstance</request-action>
+ <source>VID</source>
+ <notification-url/>
+ <order-number/>
+ <order-version/>
+ </request-information>
+ <service-information>
+ <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
+ <service-type>MSO-dev-service-type</service-type>
+ <service-instance-id>f70e927b-6087-4974-9ef8-c5e4d5847ca4</service-instance-id>
+ <subscriber-name>MSO_1610_dev</subscriber-name>
+ </service-information>
+ <network-information>
+ <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
+ <network-type>CONTRAIL_EXTERNAL</network-type>
+ <ecomp-model-information>
+ <model-invariant-uuid>invariant-uuid</model-invariant-uuid>
+ <model-customization-uuid>customization-uuid</model-customization-uuid>
+ <model-uuid>uuid</model-uuid>
+ <model-version>version</model-version>
+ <model-name>CONTRAIL_EXTERNAL</model-name>
+ </ecomp-model-information>
+ </network-information>
+ <network-request-information>
+ <network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
+ <network-type>CONTRAIL_EXTERNAL</network-type>
+ <network-name>MNS-25180-L-01-dmz_direct_net_1</network-name>
+ <tenant>7dd5365547234ee8937416c65507d266</tenant>
+ <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>
+ </network-request-information>
+ </aetgt:SDNCRequestData>
+</aetgt:SDNCAdapterWorkflowRequest>"""
+
+// - - - - - - - -
+
+
+ @Before
+ public void init()
+ {
+ MockitoAnnotations.initMocks(this)
+
+ }
+
+ public void initializeVariables (DelegateExecution mockExecution) {
+
+ verify(mockExecution).setVariable(Prefix + "rollbackNetworkRequest", null)
+ verify(mockExecution).setVariable(Prefix + "rollbackSDNCRequest", null)
+ verify(mockExecution).setVariable(Prefix + "WorkflowException", null)
+
+ verify(mockExecution).setVariable(Prefix + "rollbackNetworkRequest", "")
+ verify(mockExecution).setVariable(Prefix + "rollbackNetworkResponse", "")
+ verify(mockExecution).setVariable(Prefix + "rollbackNetworkReturnCode", "")
+
+ verify(mockExecution).setVariable(Prefix + "rollbackSDNCRequest", "")
+ verify(mockExecution).setVariable(Prefix + "rollbackSDNCResponse", "")
+ verify(mockExecution).setVariable(Prefix + "rollbackSDNCReturnCode", "")
+
+ verify(mockExecution).setVariable(Prefix + "Success", false)
+ verify(mockExecution).setVariable(Prefix + "fullRollback", false)
+
+
+ }
+
+ @Test
+ //@Ignore
+ public void preProcessRequest() {
+
+ println "************ preProcessRequest ************* "
+
+ WorkflowException workflowException = new WorkflowException("DoUpdateNetworkInstanceRollback", 2500, "Received error from Network Adapter: JBWEB000065: HTTP Status 500.")
+ Map<String, String> rollbackData = new HashMap<String, String>();
+ rollbackData.put("rollbackSDNCRequest", rollbackSDNCRequest)
+ rollbackData.put("rollbackNetworkRequest", rollbackNetworkRequest)
+
+ ExecutionEntity mockExecution = setupMock()
+ // Initialize prerequisite variables
+ when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+ when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
+ when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)
+ when(mockExecution.getVariable("rollbackData")).thenReturn(rollbackData)
+ when(mockExecution.getVariable("sdncVersion")).thenReturn("1610")
+ when(mockExecution.getVariable("URN_mso_adapters_po_auth")).thenReturn("3141634BF7E070AA289CF2892C986C0B")
+ when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
+
+ when(mockExecution.getVariable("URN_mso_adapters_sdnc_endpoint")).thenReturn("http://localhost:28090/SDNCAdapter")
+ when(mockExecution.getVariable("URN_mso_adapters_network_rest_endpoint")).thenReturn("http://localhost:28090/networks/NetworkAdapter")
+ when(mockExecution.getVariable("URN_mso_adapters_sdnc_resource_endpoint")).thenReturn("http://localhost:28090/SDNCAdapterRpc")
+
+
+ // preProcessRequest(DelegateExecution execution)
+ DoUpdateNetworkInstanceRollback DoUpdateNetworkInstanceRollback = new DoUpdateNetworkInstanceRollback()
+ DoUpdateNetworkInstanceRollback.preProcessRequest(mockExecution)
+
+ verify(mockExecution).getVariable("isDebugLogEnabled")
+ verify(mockExecution).setVariable("prefix", Prefix)
+
+ //verify variable initialization
+ initializeVariables(mockExecution)
+
+ }
+
+
+ @Test
+ @Ignore
+ public void validateRollbackResponses_Good() {
+
+ WorkflowException workflowException = new WorkflowException("DoUpdateNetworkInstanceRollback", 2500, "AAI Update Contrail Failed. Error 404.")
+ WorkflowException expectedWorkflowException = new WorkflowException("DoUpdateNetworkInstanceRollback", 2500, "AAI Update Contrail Failed. Error 404. + SNDC activate rollback completed. + PO Network rollback completed. + SNDC assign rollback completed.")
+
+ println "************ validateRollbackResponses_Good() ************* "
+ ExecutionEntity mockExecution = setupMock()
+ // Initialize prerequisite variables
+ when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+ when(mockExecution.getVariable("prefix")).thenReturn(Prefix + "")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "WorkflowException")).thenReturn(workflowException)
+ when(mockExecution.getVariable(Prefix + "fullRollback")).thenReturn(false)
+
+ DoUpdateNetworkInstanceRollback DoUpdateNetworkInstanceRollback = new DoUpdateNetworkInstanceRollback()
+ DoUpdateNetworkInstanceRollback.validateRollbackResponses(mockExecution)
+
+ // verify set prefix = Prefix + ""
+ verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix)
+ verify(mockExecution, atLeast(1)).setVariable("rolledBack", true)
+ verify(mockExecution, atLeast(1)).setVariable("wasDeleted", true)
+ verify(mockExecution).setVariable("WorkflowException", refEq(expectedWorkflowException, any(WorkflowException.class)))
+ //verify(mockExecution).setVariable("WorkflowException", expectedWorkflowException)
+ }
+
+ @Test
+ //@Ignore
+ public void validateRollbackResponses_FullRollback() {
+
+ Map<String, String> rollbackData = new HashMap<String, String>();
+ rollbackData.put("rollbackSDNCRequest", rollbackSDNCRequest)
+ rollbackData.put("rollbackNetworkRequest", rollbackNetworkRequest)
+
+ println "************ validateRollbackResponses_FullRollback() ************* "
+ ExecutionEntity mockExecution = setupMock()
+ // Initialize prerequisite variables
+ when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+ when(mockExecution.getVariable("prefix")).thenReturn(Prefix)
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCRequest")).thenReturn("Good")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackNetworkResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCReturnCode")).thenReturn("200")
+ when(mockExecution.getVariable(Prefix + "rollbackSDNCResponse")).thenReturn("GoodResponse")
+ when(mockExecution.getVariable(Prefix + "WorkflowException")).thenReturn(null)
+ when(mockExecution.getVariable(Prefix + "fullRollback")).thenReturn(true)
+ when(mockExecution.getVariable("rollbackData")).thenReturn(rollbackData)
+
+ DoUpdateNetworkInstanceRollback DoUpdateNetworkInstanceRollback = new DoUpdateNetworkInstanceRollback()
+ DoUpdateNetworkInstanceRollback.validateRollbackResponses(mockExecution)
+
+ // verify set prefix = Prefix + ""
+ verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix)
+ verify(mockExecution, atLeast(1)).setVariable("rollbackSuccessful", true)
+ verify(mockExecution, atLeast(1)).setVariable("rollbackError", false)
+
+ }
+
+
+ private ExecutionEntity setupMock() {
+
+ ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
+ when(mockProcessDefinition.getKey()).thenReturn("DoUpdateNetworkInstanceRollback")
+ RepositoryService mockRepositoryService = mock(RepositoryService.class)
+ when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition)
+ when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoUpdateNetworkInstanceRollback")
+ when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100")
+ ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class)
+ when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService)
+
+ ExecutionEntity mockExecution = mock(ExecutionEntity.class)
+ // Initialize prerequisite variables
+
+ when(mockExecution.getId()).thenReturn("100")
+ when(mockExecution.getProcessDefinitionId()).thenReturn("DoUpdateNetworkInstanceRollback")
+ when(mockExecution.getProcessInstanceId()).thenReturn("DoUpdateNetworkInstanceRollback")
+ when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices)
+ when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition)
+
+ return mockExecution
+ }
+
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceTest.groovy
index 08088dd544..e84d031275 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceTest.groovy
@@ -12,7 +12,7 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -507,6 +507,29 @@ String expectedNetworkInputsMissingNetworkId =
<orchestration-status>pending-update</orchestration-status>
<dhcp-enabled>true</dhcp-enabled>
<subnet-name>subnetName</subnet-name>
+ <ip-assignment-direction>true</ip-assignment-direction>
+ <host-routes>
+ <host-route>
+ <host-route-id>400d286b-7e44-4514-b9b3-f70f7360ff32</host-route-id>
+ <route-prefix>172.20.1.0/24</route-prefix>
+ <next-hop>10.102.200.1</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857300987</resource-version>
+ </host-route>
+ <host-route>
+ <host-route-id>6f038013-8b15-4eb8-914b-507489fbc8ee</host-route-id>
+ <route-prefix>10.102.0.0/16</route-prefix>
+ <next-hop>10.102.200.1</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857301151</resource-version>
+ </host-route>
+ <host-route>
+ <host-route-id>8811c5f8-f1ed-4fa0-a505-e1be60396e28</host-route-id>
+ <route-prefix>192.168.2.0/25</route-prefix>
+ <next-hop>10.102.200.1</next-hop>
+ <resource-version>1505857301954</resource-version>
+ </host-route>
+ </host-routes>
<relationship-list/>
</subnet>
<subnet>
@@ -518,6 +541,15 @@ String expectedNetworkInputsMissingNetworkId =
<orchestration-status>pending-delete</orchestration-status>
<dhcp-enabled>true</dhcp-enabled>
<subnet-name>subnetName</subnet-name>
+ <ip-assignment-direction>true</ip-assignment-direction>
+ <host-routes>
+ <host-route>
+ <host-route-id>400d286b-7e44-4514-b9b3-f70f7360ff32</host-route-id>
+ <route-prefix>172.20.1.0/24</route-prefix>
+ <next-hop>10.102.200.1</next-hop>
+ <resource-version>1505857300987</resource-version>
+ </host-route>
+ </host-routes>
<relationship-list/>
</subnet>
</subnets>
@@ -979,6 +1011,19 @@ String expectedNetworkInputsMissingNetworkId =
<ipVersion>4</ipVersion>
<subnetId>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnetId>
<subnetName>subnetName</subnetName>
+ <addrFromStart>true</addrFromStart>
+ <hostRoutes>
+ <prefix>172.20.1.0/24</prefix>
+ <nextHop>10.102.200.1</nextHop>
+ </hostRoutes>
+ <hostRoutes>
+ <prefix>10.102.0.0/16</prefix>
+ <nextHop>10.102.200.1</nextHop>
+ </hostRoutes>
+ <hostRoutes>
+ <prefix>192.168.2.0/25</prefix>
+ <nextHop>10.102.200.1</nextHop>
+ </hostRoutes>
</subnets>
<skipAAI>true</skipAAI>
<backout>true</backout>
@@ -1024,6 +1069,19 @@ String updateNetworkRequest_noPhysicalName =
<ipVersion>4</ipVersion>
<subnetId>57e9a1ff-d14f-4071-a828-b19ae98eb2fc</subnetId>
<subnetName>subnetName</subnetName>
+ <addrFromStart>true</addrFromStart>
+ <hostRoutes>
+ <prefix>172.20.1.0/24</prefix>
+ <nextHop>10.102.200.1</nextHop>
+ </hostRoutes>
+ <hostRoutes>
+ <prefix>10.102.0.0/16</prefix>
+ <nextHop>10.102.200.1</nextHop>
+ </hostRoutes>
+ <hostRoutes>
+ <prefix>192.168.2.0/25</prefix>
+ <nextHop>10.102.200.1</nextHop>
+ </hostRoutes>
</subnets>
<skipAAI>true</skipAAI>
<backout>true</backout>
@@ -1148,7 +1206,32 @@ String updateNetworkRequest_noPhysicalName =
<ip-version>4</ip-version>
<orchestration-status>Active</orchestration-status>
<dhcp-enabled>true</dhcp-enabled>
+ <resource-version>1505857300987</resource-version>
<subnet-name>subnetName</subnet-name>
+ <ip-assignment-direction>true</ip-assignment-direction>
+ <host-routes>
+ <host-route>
+ <host-route-id>400d286b-7e44-4514-b9b3-f70f7360ff32</host-route-id>
+ <route-prefix>172.20.1.0/24</route-prefix>
+ <next-hop>10.102.200.1</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857300987</resource-version>
+ </host-route>
+ <host-route>
+ <host-route-id>6f038013-8b15-4eb8-914b-507489fbc8ee</host-route-id>
+ <route-prefix>10.102.0.0/16</route-prefix>
+ <next-hop>10.102.200.1</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ <resource-version>1505857301151</resource-version>
+ </host-route>
+ <host-route>
+ <host-route-id>8811c5f8-f1ed-4fa0-a505-e1be60396e28</host-route-id>
+ <route-prefix>192.168.2.0/25</route-prefix>
+ <next-hop>10.102.200.1</next-hop>
+ <next-hop-type/>
+ <resource-version>1505857301954</resource-version>
+ </host-route>
+ </host-routes>
</subnet>
</subnets>
<segmentation-assignments>
@@ -1505,13 +1588,13 @@ String rollbackSDNCRequest =
<network-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
<network-type>CONTRAIL_EXTERNAL</network-type>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>invariant-uuid</model-invariant-uuid>
<model-customization-uuid>customization-uuid</model-customization-uuid>
<model-uuid>uuid</model-uuid>
<model-version>version</model-version>
<model-name>CONTRAIL_EXTERNAL</model-name>
- </onap-model-information>
+ </ecomp-model-information>
</network-information>
<network-request-information>
<network-id>8abc633a-810b-4ca5-8b3a-09511d13a2ce</network-id>
@@ -1550,7 +1633,7 @@ String rollbackNetworkRequest =
}
- public void initializeVariables (Execution mockExecution) {
+ public void initializeVariables (DelegateExecution mockExecution) {
verify(mockExecution).setVariable(Prefix + "messageId", "")
verify(mockExecution).setVariable("BasicAuthHeaderValuePO", "")
@@ -1665,7 +1748,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_rollback")).thenReturn("true")
when(mockExecution.getVariable("disableRollback")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.preProcessRequest(mockExecution)
@@ -1727,7 +1810,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_adapters_network_rest_endpoint")).thenReturn("http://localhost:8090/networks/NetworkAdapter")
when(mockExecution.getVariable("URN_mso_adapters_sdnc_resource_endpoint")).thenReturn("http://localhost:8090/SDNCAdapterRpc")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.preProcessRequest(mockExecution)
@@ -1779,7 +1862,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_rollback")).thenReturn("true")
when(mockExecution.getVariable("disableRollback")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
try {
DoUpdateNetworkInstance.preProcessRequest(mockExecution)
@@ -1835,7 +1918,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_rollback")).thenReturn("true")
when(mockExecution.getVariable("disableRollback")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
try {
DoUpdateNetworkInstance.preProcessRequest(mockExecution)
@@ -1884,7 +1967,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable(Prefix + "rollbackEnabled")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.prepareUpdateNetworkRequest(mockExecution)
@@ -1921,7 +2004,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable(Prefix + "rollbackEnabled")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.prepareUpdateNetworkRequest(mockExecution)
@@ -1954,7 +2037,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.prepareSDNCRequest(mockExecution)
@@ -1984,7 +2067,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("GENGSI_siResourceLink")).thenReturn("https://aai-int1.test.com:8443/aai/v8/business/customers/customer/MSO_1610_dev/service-subscriptions/service-subscription/MSO-dev-service-type/service-instances/service-instance/6d4eb22a-82f1-4257-9f80-4176262cfe69/")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.prepareSDNCRollbackRequest(mockExecution)
@@ -2001,7 +2084,7 @@ String rollbackNetworkRequest =
println "************ callRESTQueryAAINetworkId ************* "
WireMock.reset();
- MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "networkRequest")).thenReturn(expectedNetworkRequest)
@@ -2013,7 +2096,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAINetworkId(mockExecution)
@@ -2022,7 +2105,7 @@ String rollbackNetworkRequest =
//preDebugger.printInvocations(mockExecution)
verify(mockExecution).setVariable("prefix", Prefix + "")
- verify(mockExecution).setVariable(Prefix + "queryIdAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=1")
+ verify(mockExecution).setVariable(Prefix + "queryIdAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=all")
verify(mockExecution).setVariable(Prefix + "aaiIdReturnCode", "200")
}
@@ -2047,7 +2130,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAICloudRegion(mockExecution)
@@ -2082,7 +2165,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAICloudRegion(mockExecution)
@@ -2117,7 +2200,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAICloudRegion(mockExecution)
@@ -2155,7 +2238,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
@@ -2174,6 +2257,41 @@ String rollbackNetworkRequest =
@Test
//@Ignore
+ public void callRESTQueryAAINetworkVpnBindingList_200() {
+
+ println "************ callRESTQueryAAINetworkVpnBinding_200 ************* "
+
+ WireMock.reset();
+ MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBindingList_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
+ MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBindingList_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
+
+ ExecutionEntity mockExecution = setupMock()
+ when(mockExecution.getVariable(Prefix + "requeryIdAAIResponse")).thenReturn(queryIdAIIResponse) // v6
+ when(mockExecution.getVariable(Prefix + "messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")
+ when(mockExecution.getVariable("URN_aai_endpoint")).thenReturn("http://localhost:8090")
+ when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_version")).thenReturn("8")
+ when(mockExecution.getVariable("URN_mso_workflow_default_aai_v8_vpn_binding_uri")).thenReturn("/aai/v8/network/vpn-bindings/vpn-binding")
+ when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+ when(mockExecution.getVariable("URN_mso_workflow_global_default_aai_namespace")).thenReturn('http://org.openecomp.aai.inventory/')
+ when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
+ when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
+
+ // preProcessRequest(DelegateExecution execution)
+ DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
+ DoUpdateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
+
+ verify(mockExecution).setVariable("prefix", Prefix + "")
+ verify(mockExecution).setVariable(Prefix + "vpnCount", 2)
+ verify(mockExecution).setVariable(Prefix + "vpnBindings", ['/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017/', '/aai/v8/network/vpn-bindings/vpn-binding/c980a6ef-3b88-49f0-9751-dbad8608d0a6/'])
+ // the last vpnBinding value is saved.
+ verify(mockExecution).setVariable(Prefix + "queryVpnBindingAAIRequest", "http://localhost:8090/aai/v8/network/vpn-bindings/vpn-binding/85f015d0-2e32-4c30-96d2-87a1a27f8017?depth=all")
+ verify(mockExecution, atLeast(2)).setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", "200")
+
+ }
+
+
+ @Test
+ //@Ignore
public void callRESTQueryAAINetworkVpnBinding_TestScenario01_200() {
println "************ callRESTQueryAAINetworkVpnBinding_200 ************* "
@@ -2192,7 +2310,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
@@ -2230,7 +2348,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
@@ -2269,7 +2387,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAINetworkVpnBinding(mockExecution)
@@ -2305,7 +2423,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAINetworkTableRef(mockExecution)
@@ -2342,7 +2460,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTQueryAAINetworkPolicy(mockExecution)
@@ -2367,7 +2485,7 @@ String rollbackNetworkRequest =
println "************ callRESTReQueryAAINetworkId ************* "
WireMock.reset();
- MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "networkRequest")).thenReturn(expectedNetworkRequest)
@@ -2380,7 +2498,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTReQueryAAINetworkId(mockExecution)
@@ -2389,7 +2507,7 @@ String rollbackNetworkRequest =
//preDebugger.printInvocations(mockExecution)
verify(mockExecution).setVariable("prefix", Prefix + "")
- verify(mockExecution).setVariable(Prefix + "requeryIdAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=1")
+ verify(mockExecution).setVariable(Prefix + "requeryIdAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=all")
verify(mockExecution).setVariable(Prefix + "aaiRequeryIdReturnCode", "200")
}
@@ -2402,7 +2520,7 @@ String rollbackNetworkRequest =
println "************ callRESTUpdateContrailAAINetwork ************* "
WireMock.reset();
- MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
+ MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all");
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable(Prefix + "networkRequest")).thenReturn(expectedNetworkRequest)
@@ -2417,7 +2535,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable("URN_aai_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.callRESTUpdateContrailAAINetwork(mockExecution)
@@ -2426,7 +2544,7 @@ String rollbackNetworkRequest =
//preDebugger.printInvocations(mockExecution)
verify(mockExecution).setVariable("prefix", Prefix + "")
- verify(mockExecution).setVariable(Prefix + "updateContrailAAIUrlRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=1")
+ verify(mockExecution).setVariable(Prefix + "updateContrailAAIUrlRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/49c86598-f766-46f8-84f8-8d1c1b10f9b4"+"?depth=all")
verify(mockExecution).setVariable(Prefix + "updateContrailAAIPayloadRequest", updateContrailAAIPayloadRequest)
verify(mockExecution).setVariable(Prefix + "aaiUpdateContrailReturnCode", "200")
//verify(mockExecution).setVariable(Prefix + "updateContrailAAIResponse", updateContrailAAIResponse)
@@ -2564,7 +2682,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable(Prefix + "rollbackNetworkRequest")).thenReturn(rollbackNetworkRequest)
when(mockExecution.getVariable("WorkflowException")).thenReturn(workflowException)
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.prepareRollbackData(mockExecution)
@@ -2588,7 +2706,7 @@ String rollbackNetworkRequest =
when(mockExecution.getVariable(Prefix + "networkRequest")).thenReturn(expectedNetworkRequest)
when(mockExecution.getVariable("mso-request-id")).thenReturn("requestId")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
DoUpdateNetworkInstance DoUpdateNetworkInstance = new DoUpdateNetworkInstance()
DoUpdateNetworkInstance.postProcessResponse(mockExecution)
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstanceTest.groovy
index e987d59805..4c77a04701 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstanceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstanceTest.groovy
@@ -6,7 +6,7 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.junit.Before
import org.junit.Ignore
import org.junit.Rule
@@ -125,7 +125,7 @@ String jsonIncomingRequest =
}
- public void initializeVariables(Execution mockExecution) {
+ public void initializeVariables(DelegateExecution mockExecution) {
verify(mockExecution).setVariable(Prefix + "source", "")
verify(mockExecution).setVariable(Prefix + "Success", false)
@@ -148,7 +148,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
UpdateNetworkInstance UpdateNetworkInstance = new UpdateNetworkInstance()
UpdateNetworkInstance.preProcessRequest(mockExecution)
@@ -171,7 +171,7 @@ String jsonIncomingRequest =
// Initialize prerequisite variables
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
UpdateNetworkInstance UpdateNetworkInstance = new UpdateNetworkInstance()
UpdateNetworkInstance.getNetworkModelInfo(mockExecution)
@@ -192,7 +192,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("mso-request-id")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6")
when(mockExecution.getVariable("serviceInstanceId")).thenReturn("f70e927b-6087-4974-9ef8-c5e4d5847ca4")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
UpdateNetworkInstance UpdateNetworkInstance = new UpdateNetworkInstance()
UpdateNetworkInstance.sendSyncResponse(mockExecution)
@@ -241,7 +241,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
UpdateNetworkInstance UpdateNetworkInstance = new UpdateNetworkInstance()
UpdateNetworkInstance.prepareDBRequestError(mockExecution)
@@ -262,7 +262,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")
when(mockExecution.getVariable(Prefix + "dbReturnCode")).thenReturn("200")
- // postProcessResponse(Execution execution)
+ // postProcessResponse(DelegateExecution execution)
UpdateNetworkInstance UpdateNetworkInstance = new UpdateNetworkInstance()
UpdateNetworkInstance.prepareCompletion(mockExecution)
@@ -292,7 +292,7 @@ String jsonIncomingRequest =
//when(mockExecution.getVariable("WorkflowException")).thenReturn(sndcWorkflowException)
when(mockExecution.getVariable("WorkflowException")).thenReturn(sndcWorkflowException)
- // buildErrorResponse(Execution execution)
+ // buildErrorResponse(DelegateExecution execution)
UpdateNetworkInstance UpdateNetworkInstance = new UpdateNetworkInstance()
UpdateNetworkInstance.buildErrorResponse(mockExecution)
@@ -313,7 +313,7 @@ String jsonIncomingRequest =
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("CMSO_ResponseCode")).thenReturn("200")
- // postProcessResponse(Execution execution)
+ // postProcessResponse(DelegateExecution execution)
UpdateNetworkInstance UpdateNetworkInstance = new UpdateNetworkInstance()
UpdateNetworkInstance.postProcessResponse(mockExecution)
@@ -333,7 +333,7 @@ String jsonIncomingRequest =
// Initialize prerequisite variables
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- // preProcessRequest(Execution execution)
+ // preProcessRequest(DelegateExecution execution)
UpdateNetworkInstance UpdateNetworkInstance = new UpdateNetworkInstance()
UpdateNetworkInstance.processRollbackData(mockExecution)
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy
index 7a494db998..2c9d591399 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy
@@ -24,7 +24,6 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
@@ -84,7 +83,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
// ***** preProcessRequest *****
@Test
- // @Ignore
+ @Ignore // 1802 merge
public void preProcessRequest() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
@@ -133,7 +132,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
}
@Test
- // @Ignore
+ @Ignore // 1802 merge
public void preProcessRequest_EmptyParts() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustServiceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustServiceTest.groovy
index af56f34bce..fdc470f16d 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustServiceTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustServiceTest.groovy
@@ -24,7 +24,6 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollbackTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollbackTest.groovy
index bbe9d52225..71c0f8b511 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollbackTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollbackTest.groovy
@@ -24,7 +24,6 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGTest.groovy
index acc6970dd1..c8afb228a9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGTest.groovy
@@ -24,7 +24,6 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollbackTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollbackTest.groovy
index 02352cf6af..9b4283bb82 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollbackTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollbackTest.groovy
@@ -24,7 +24,6 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCTest.groovy
index 2de6e44a2f..e1fc143576 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCTest.groovy
@@ -24,7 +24,6 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRGTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRGTest.groovy
index 4e62a566a7..14c382eb39 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRGTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRGTest.groovy
@@ -24,7 +24,6 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXCTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXCTest.groovy
index 33273c55a6..115f298062 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXCTest.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXCTest.groovy
@@ -24,7 +24,6 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/GroovyTestBase.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/GroovyTestBase.groovy
index 01ca53ba97..ef67a75d10 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/GroovyTestBase.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/GroovyTestBase.groovy
@@ -24,7 +24,6 @@ import org.camunda.bpm.engine.ProcessEngineServices
import org.camunda.bpm.engine.RepositoryService
import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
import org.camunda.bpm.engine.repository.ProcessDefinition
-import org.camunda.bpm.engine.runtime.Execution
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateGenericALaCarteServiceInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateGenericALaCarteServiceInstanceTest.java
index 549664588e..07fa4eb53a 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateGenericALaCarteServiceInstanceTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateGenericALaCarteServiceInstanceTest.java
@@ -29,6 +29,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceByName;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutServiceInstance;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;
import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
@@ -38,6 +39,7 @@ import java.util.Map;
import java.util.UUID;
import org.camunda.bpm.engine.test.Deployment;
+import org.junit.Ignore;
import org.junit.Test;
import org.openecomp.mso.bpmn.common.BPMNUtil;
import org.openecomp.mso.bpmn.common.WorkflowTest;
@@ -62,8 +64,10 @@ public class CreateGenericALaCarteServiceInstanceTest extends WorkflowTest {
*/
//@Ignore // File not found - unable to run the test. Also, Stubs need updating..
@Test
+ @Ignore // 1802 merge
@Deployment(resources = {
"process/CreateGenericALaCarteServiceInstance.bpmn",
+ "subprocess/BuildingBlock/DecomposeService.bpmn",
"subprocess/DoCreateServiceInstance.bpmn",
"subprocess/DoCreateServiceInstanceRollback.bpmn",
"subprocess/SDNCAdapterV1.bpmn",
@@ -84,7 +88,9 @@ public class CreateGenericALaCarteServiceInstanceTest extends WorkflowTest {
//SDNC
mockSDNCAdapter(200);
//DB
+ MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef","2","/VIPR/getCatalogServiceResourcesData.json");
mockUpdateRequestDB(200, "DBUpdateResponse.xml");
+ MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef","InfrastructureFlows/DoCreateServiceInstance_request.json");
String businessKey = UUID.randomUUID().toString();
@@ -118,11 +124,13 @@ public class CreateGenericALaCarteServiceInstanceTest extends WorkflowTest {
variables.put("bpmnRequest", getRequest());
variables.put("mso-request-id", "RaaCSIRequestId-1");
variables.put("serviceInstanceId","RaaTest-1-id");
+ variables.put("sdncVersion", "1802");
+ variables.put("serviceInstanceName", "some-junk-name");
return variables;
}
public String getRequest() {
- String request = "{\"requestDetails\":{\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\"},\"subscriberInfo\":{\"globalSubscriberId\":\"MCBH-1610\",\"subscriberName\":\"Kaneohe\"},\"requestInfo\":{\"instanceName\":\"RAATest-1\",\"source\":\"VID\",\"suppressRollback\":\"true\",\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"mdt1\",\"tenantId\":\"8b1df54faa3b49078e3416e21370a3ba\"},\"requestParameters\":{\"subscriptionServiceType\":\"viprsvc\",\"aLaCarte\":\"false\",\"userParams\":[]}}}";
+ String request = "{\"requestDetails\":{\"project\": {\"projectName\": \"projectName\"},\"owningEntity\": {\"owningEntityId\": \"randomStrings\",\"owningEntityName\": \"randomStrings\"},\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\"},\"subscriberInfo\":{\"globalSubscriberId\":\"MCBH-1610\",\"subscriberName\":\"Kaneohe\"},\"requestInfo\":{\"instanceName\":\"RAATest-1\",\"source\":\"VID\",\"suppressRollback\":\"true\",\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"mdt1\",\"tenantId\":\"8b1df54faa3b49078e3416e21370a3ba\"},\"requestParameters\":{\"subscriptionServiceType\":\"viprsvc\",\"aLaCarte\":\"false\",\"userParams\":[]}}}";
return request;
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateNetworkInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateNetworkInstanceTest.java
index b95ebb5fc7..d31f6e7b96 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateNetworkInstanceTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateNetworkInstanceTest.java
@@ -88,13 +88,13 @@ public class CreateNetworkInstanceTest extends WorkflowTest {
MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
- MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "all");
MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
- MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
+ MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all");
MockUpdateRequestDB("DBUpdateResponse.xml");
//MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
@@ -142,13 +142,13 @@ public class CreateNetworkInstanceTest extends WorkflowTest {
MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
MockGetNetworkByName_404("CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml", "myOwn_Network");
MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
- MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "all");
MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
- MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
+ MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all");
MockUpdateRequestDB("DBUpdateResponse.xml");
//MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
@@ -378,13 +378,13 @@ public class CreateNetworkInstanceTest extends WorkflowTest {
MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "createNetworkRequest");
MockGetNetworkByName("MNS-25180-L-01-dmz_direct_net_1", "CreateNetworkV2/createNetwork_queryName_AAIResponse_Success.xml");
MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
- MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "all");
MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
MockGetNetworkVpnBinding("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
MockGetNetworkPolicy("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1");
MockGetNetworkTableReference("CreateNetworkV2/createNetwork_queryNetworkTableRef2_AAIResponse_Success.xml", "refFQDN2");
- MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
+ MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all");
MockUpdateRequestDB("DBUpdateResponse.xml");
//MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml", "v8");
MockNodeQueryServiceInstanceById("f70e927b-6087-4974-9ef8-c5e4d5847ca4", "CreateNetworkV2/createNetwork_queryInstance_Success.xml");
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java
index a28e95ad0d..390882e660 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java
@@ -286,6 +286,63 @@ public class CreateVfModuleInfraTest extends WorkflowTest {
return variables;
}
+ /**
+ * Sunny day VID scenario with no preloads.
+ *
+ * @throws Exception
+ */
+ @Test
+ @Deployment(resources = {
+ "process/CreateVfModuleInfra.bpmn",
+ "subprocess/DoCreateVfModule.bpmn",
+ "subprocess/GenericGetVnf.bpmn",
+ "subprocess/SDNCAdapterV1.bpmn",
+ "subprocess/VnfAdapterRestV1.bpmn",
+ "subprocess/ConfirmVolumeGroupTenant.bpmn",
+ "subprocess/GenericNotificationService.bpmn",
+ "subprocess/ConfirmVolumeGroupName.bpmn",
+ "subprocess/CreateAAIVfModule.bpmn",
+ "subprocess/UpdateAAIVfModule.bpmn",
+ "subprocess/UpdateAAIGenericVnf.bpmn",
+ "subprocess/CompleteMsoProcess.bpmn",
+ "subprocess/FalloutHandler.bpmn"
+ })
+ public void sunnyDayVIDMultipleUserParamValues() throws Exception {
+
+ logStart();
+
+ MockAAIVfModule();
+ MockPatchGenericVnf("skask");
+ MockPatchVfModuleId("skask", ".*");
+ MockSDNCAdapterVfModule();
+ MockVNFAdapterRestVfModule();
+ MockDBUpdateVfModule();
+
+ String businessKey = UUID.randomUUID().toString();
+ String createVfModuleRequest =
+ FileUtil.readResourceFile("__files/CreateVfModule_VID_request_userParam.json");
+
+ Map<String, Object> variables = setupVariablesSunnyDayVID();
+
+ TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVfModuleInfra",
+ "v1", businessKey, createVfModuleRequest, variables);
+
+ WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
+
+ String responseBody = response.getResponse();
+ System.out.println("Workflow (Synch) Response:\n" + responseBody);
+
+ injectSDNCCallbacks(callbacks, "assign, query");
+ injectVNFRestCallbacks(callbacks, "vnfCreate");
+ injectSDNCCallbacks(callbacks, "activate");
+
+ // TODO add appropriate assertions
+
+ waitForProcessEnd(businessKey, 10000);
+ checkVariable(businessKey, "CreateVfModuleSuccessIndicator", true);
+
+ logEnd();
+ }
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVnfInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVnfInfraTest.java
index d5f94965fe..075ddab80c 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVnfInfraTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVnfInfraTest.java
@@ -35,6 +35,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById_404;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutGenericVnf;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetVnfCatalogDataCustomizationUuid;
import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
@@ -83,6 +84,7 @@ public class CreateVnfInfraTest extends WorkflowTest {
MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
MockGetGenericVnfByName_404();
MockPutGenericVnf();
+ MockGetVnfCatalogDataCustomizationUuid("customizationId123", "VIPR/getCatalogVnfData.json");
mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");
mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteNetworkInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteNetworkInstanceTest.java
index 4317a57405..06eb79cfd1 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteNetworkInstanceTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteNetworkInstanceTest.java
@@ -83,7 +83,7 @@ public class DeleteNetworkInstanceTest extends WorkflowTest {
// setup simulators
mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>delete");
MockNetworkAdapter("bdc5efe8-404a-409b-85f6-0dcc9eebae30", 200, "deleteNetworkResponse_Success.xml");
- MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all");
mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml");
@@ -153,7 +153,7 @@ public class DeleteNetworkInstanceTest extends WorkflowTest {
mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>unassign");
mockSDNCAdapterTopology("DeleteNetworkV2mock/sdncDeleteNetworkTopologySimResponse.xml", "SvcAction>deactivate");
MockNetworkAdapter("bdc5efe8-404a-409b-85f6-0dcc9eebae30", 200, "deleteNetworkResponse_Success.xml");
- MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all");
mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml");
@@ -229,7 +229,7 @@ public class DeleteNetworkInstanceTest extends WorkflowTest {
mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologySimResponse.xml", "SvcAction>activate");
MockNetworkAdapter("bdc5efe8-404a-409b-85f6-0dcc9eebae30", 200, "deleteNetworkResponse_Success.xml");
MockNetworkAdapterContainingRequest("createNetworkRequest", 200, "CreateNetworkV2/createNetworkResponse_Success.xml");
- MockGetNetworkByIdWithDepth ("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "1");
+ MockGetNetworkByIdWithDepth ("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all");
mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
MockGetCloudRegion("RDM2WAGPLCP", 200, "DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml");
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleInfraTest.java
index 4c478e6143..cdc547c47e 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleInfraTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DeleteVfModuleInfraTest.java
@@ -29,6 +29,8 @@ import static com.github.tomakehurst.wiremock.client.WireMock.put;
import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockVNFAdapterRestVfModule;
import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFDelete;
@@ -53,32 +55,40 @@ public class DeleteVfModuleInfraTest extends WorkflowTest {
private final CallbackSet callbacks = new CallbackSet();
private static final String EOL = "\n";
-
+
private final String vnfAdapterDeleteCallback =
"<deleteVfModuleResponse>" + EOL +
" <vnfId>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnfId>" + EOL +
" <vfModuleId>973ed047-d251-4fb9-bf1a-65b8949e0a73</vfModuleId>" + EOL +
" <vfModuleDeleted>true</vfModuleDeleted>" + EOL +
" <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
- " <vfModuleOutputs>" + EOL +
- " <entry>" + EOL +
- " <key>policyKey1_contrail_network_policy_fqdn</key>" + EOL +
- " <value>MSOTest:DefaultPolicyFQDN1</value>" + EOL +
- "</entry>" + EOL +
- "<entry>" + EOL +
- "<key>policyKey2_contrail_network_policy_fqdn</key>" + EOL +
- "<value>MSOTest:DefaultPolicyFQDN2</value>" + EOL +
- "</entry>" + EOL +
- " <entry>" + EOL +
- " <key>oam_management_v4_address</key>" + EOL +
- " <value>1234</value>" + EOL +
- "</entry>" + EOL +
- " <entry>" + EOL +
- " <key>oam_management_v6_address</key>" + EOL +
- " <value>1234</value>" + EOL +
- "</entry>" + EOL +
- "</vfModuleOutputs>" + EOL +
"</deleteVfModuleResponse>" + EOL;
+
+ //private final String vnfAdapterDeleteCallback =
+ // "<deleteVfModuleResponse>" + EOL +
+ // " <vnfId>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnfId>" + EOL +
+ // " <vfModuleId>973ed047-d251-4fb9-bf1a-65b8949e0a73</vfModuleId>" + EOL +
+ // " <vfModuleDeleted>true</vfModuleDeleted>" + EOL +
+ // " <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
+ // " <vfModuleOutputs>" + EOL +
+ // " <entry>" + EOL +
+ // " <key>policyKey1_contrail_network_policy_fqdn</key>" + EOL +
+ // " <value>MSOTest:DefaultPolicyFQDN1</value>" + EOL +
+ // "</entry>" + EOL +
+ // "<entry>" + EOL +
+ // "<key>policyKey2_contrail_network_policy_fqdn</key>" + EOL +
+ // "<value>MSOTest:DefaultPolicyFQDN2</value>" + EOL +
+ // "</entry>" + EOL +
+ // " <entry>" + EOL +
+ // " <key>oam_management_v4_address</key>" + EOL +
+ // " <value>1234</value>" + EOL +
+ // "</entry>" + EOL +
+ // " <entry>" + EOL +
+ // " <key>oam_management_v6_address</key>" + EOL +
+ // " <value>1234</value>" + EOL +
+ // "</entry>" + EOL +
+ // "</vfModuleOutputs>" + EOL +
+ // "</deleteVfModuleResponse>" + EOL;
private final String vnfAdapterDeleteCallbackFail =
"<vfModuleException>" + EOL +
@@ -97,13 +107,16 @@ public class DeleteVfModuleInfraTest extends WorkflowTest {
public DeleteVfModuleInfraTest() throws IOException {
callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback);
callbacks.put("sdncDelete", sdncAdapterDeleteCallback);
- callbacks.put("vnfDelete", vnfAdapterDeleteCallback);
+ callbacks.put("vnfDelete", FileUtil.readResourceFile(
+ "__files/DeleteVfModuleCallbackResponse.xml"));
+ //callbacks.put("vnfDelete", vnfAdapterDeleteCallback);
callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail);
}
@Test
+ @Ignore // 1802 merge
@Deployment(resources = {
- "process/Infrastructure/DeleteVfModuleInfra.bpmn",
+ "process/DeleteVfModuleInfra.bpmn",
"subprocess/DoDeleteVfModule.bpmn",
"subprocess/PrepareUpdateAAIVfModule.bpmn",
"subprocess/UpdateAAIVfModule.bpmn",
@@ -114,7 +127,7 @@ public class DeleteVfModuleInfraTest extends WorkflowTest {
"subprocess/CompleteMsoProcess.bpmn",
"subprocess/FalloutHandler.bpmn"
})
- @Ignore
+
public void TestDeleteVfModuleSuccess() throws Exception {
// delete the Base Module
// vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73
@@ -155,7 +168,10 @@ public class DeleteVfModuleInfraTest extends WorkflowTest {
.withHeader("Content-Type", "text/xml")
.withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml")));
- mockVNFDelete(".*", "/.*", 202);
+ //mockVNFDelete("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", 202);
+ MockDoDeleteVfModule_DeleteVNFSuccess();
+ MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+ // MockVNFAdapterRestVfModule();
// MockAAIGenericVnfSearch();
// MockAAIVfModulePUT(false);
// MockAAIDeleteGenericVnf();
@@ -519,7 +535,7 @@ public class DeleteVfModuleInfraTest extends WorkflowTest {
String businessKey = UUID.randomUUID().toString();
String deleteVfModuleRequest =
FileUtil.readResourceFile("__files/DeleteVfModule_VID_request.json");
- //Map<String, Object> variables = new HashMap<String, Object>();
+ //Map<String, Object> variables = new HashMap<>();
//variables.put("isDebugLogEnabled","true");
// variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
@@ -575,5 +591,15 @@ public class DeleteVfModuleInfraTest extends WorkflowTest {
}
-
+ public static void MockDoDeleteVfModule_DeleteVNFSuccess() {
+ stubFor(delete(urlMatching("/vnfs/v1/vnfs/.*/vf-modules/.*"))
+ .willReturn(aResponse()
+ .withStatus(202)
+ .withHeader("Content-Type", "application/xml")));
+ stubFor(delete(urlMatching("/vnfs/v1/volume-groups/78987"))
+ .willReturn(aResponse()
+ .withStatus(202)
+ .withHeader("Content-Type", "application/xml")));
+ }
+
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateSIRollbackTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateSIRollbackTest.java
index 16433caa4c..8a6c61c89c 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateSIRollbackTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateSIRollbackTest.java
@@ -136,12 +136,12 @@ public class DoCreateSIRollbackTest extends WorkflowTest {
"<service-information>" + EOL +
"<service-id/>" + EOL +
"<subscription-service-type>123456789</subscription-service-type>" + EOL +
- "<onap-model-information>" + EOL +
+ "<ecomp-model-information>" + EOL +
"<model-invariant-uuid/>" + EOL +
"<model-uuid/>" + EOL +
"<model-version/>" + EOL +
"<model-name/>" + EOL +
- "</onap-model-information>" + EOL +
+ "</ecomp-model-information>" + EOL +
"<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>" + EOL +
"<subscriber-name/>" + EOL +
"<global-customer-id>SDN-ETHERNET-INTERNET</global-customer-id>" + EOL +
@@ -174,12 +174,12 @@ public class DoCreateSIRollbackTest extends WorkflowTest {
"<service-information>" + EOL +
"<service-id/>" + EOL +
"<subscription-service-type>123456789</subscription-service-type>" + EOL +
- "<onap-model-information>" + EOL +
+ "<ecomp-model-information>" + EOL +
"<model-invariant-uuid/>" + EOL +
"<model-uuid/>" + EOL +
"<model-version/>" + EOL +
"<model-name/>" + EOL +
- "</onap-model-information>" + EOL +
+ "</ecomp-model-information>" + EOL +
"<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>" + EOL +
"<subscriber-name/>" + EOL +
"<global-customer-id>SDN-ETHERNET-INTERNET</global-customer-id>" + EOL +
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceTest.java
index f6c5d904bd..4619d33ac5 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceTest.java
@@ -28,6 +28,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceIn
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutServiceInstance;
import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;
import java.io.IOException;
import java.util.HashMap;
@@ -36,9 +37,11 @@ import java.util.UUID;
import org.camunda.bpm.engine.test.Deployment;
import org.junit.Assert;
+import org.junit.Ignore;
import org.junit.Test;
import org.openecomp.mso.bpmn.common.BPMNUtil;
import org.openecomp.mso.bpmn.common.WorkflowTest;
+import org.openecomp.mso.bpmn.mock.FileUtil;
/**
* Unit test cases for DoCreateServiceInstance.bpmn
@@ -51,7 +54,9 @@ public class DoCreateServiceInstanceTest extends WorkflowTest {
" <svc-request-id>((REQUEST-ID))</svc-request-id>" + EOL +
" <ack-final-indicator>Y</ack-final-indicator>" + EOL +
"</output>" + EOL;
-
+ private final String input = FileUtil.readResourceFile("__files/CreateServiceInstance/DoCreateServiceInstanceInput.json");
+
+
public DoCreateServiceInstanceTest() throws IOException {
callbacks.put("assign", sdncAdapterCallback);
}
@@ -61,8 +66,8 @@ public class DoCreateServiceInstanceTest extends WorkflowTest {
*
* @throws Exception
*/
- //@Ignore // File not found - unable to run the test. Also, Stubs need updating..
@Test
+ @Ignore // 1802 merge
@Deployment(resources = {
"subprocess/DoCreateServiceInstance.bpmn",
"subprocess/SDNCAdapterV1.bpmn",
@@ -88,6 +93,9 @@ public class DoCreateServiceInstanceTest extends WorkflowTest {
mockSDNCAdapter(200);
//DB
mockUpdateRequestDB(200, "DBUpdateResponse.xml");
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef","InfrastructureFlows/DoCreateServiceInstance_request.json");
+
String businessKey = UUID.randomUUID().toString();
Map<String, Object> variables = new HashMap<>();
@@ -109,10 +117,14 @@ public class DoCreateServiceInstanceTest extends WorkflowTest {
variables.put("isDebugLogEnabled", "true");
variables.put("msoRequestId", "RaaDSITestRequestId-1");
variables.put("serviceInstanceId","RaaTest-si-id");
- variables.put("serviceModelInfo", "{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\"}");
+ variables.put("serviceModelInfo", "{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\",\"projectName\":\"proj123\",\"owningEntityId\":\"id123\",\"owningEntityName\":\"name123\"}");
variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
variables.put("globalSubscriberId", "MCBH-1610");
variables.put("subscriptionServiceType", "viprsvc");
variables.put("instanceName", "RAATest-1");
+ variables.put("serviceInstanceName", "RAT-123");
+ variables.put("sdncVersion", "1611");
+ variables.put("serviceType", "PORT-MIRROR");
+ variables.put("requestJson", input);
}
} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV2Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV2Test.java
new file mode 100644
index 0000000000..a61c8298bc
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV2Test.java
@@ -0,0 +1,109 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure;
+
+import static org.junit.Assert.assertEquals;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
+import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.camunda.bpm.engine.test.Deployment;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openecomp.mso.bpmn.common.BPMNUtil;
+import org.openecomp.mso.bpmn.common.WorkflowTest;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.bpmn.mock.FileUtil;
+/**
+ * Unit test cases for DoCreateServiceInstanceV2.bpmn
+ */
+public class DoCreateServiceInstanceV2Test extends WorkflowTest {
+
+ private final String input = FileUtil.readResourceFile("__files/CreateServiceInstance/DoCreateServiceInstanceInput.json");
+ ServiceDecomposition serviceDecomposition = new ServiceDecomposition("{\"serviceResources\":{\"project\": {\"projectName\": \"projectName\"},\"owningEntity\": {\"owningEntityId\": \"id123\",\"owningEntityName\": \"name123\"}}}","abc123");
+
+ public DoCreateServiceInstanceV2Test() throws IOException {
+
+
+ }
+
+ /**
+ * Sunny day VID scenario.
+ *
+ * @throws Exception
+ */
+ @Ignore // 1802 merge
+ @Test
+ @Deployment(resources = {
+ "subprocess/DoCreateServiceInstanceV2.bpmn",
+ "subprocess/SDNCAdapterV1.bpmn",
+ "subprocess/CompleteMsoProcess.bpmn",
+ "subprocess/DoCreateServiceInstanceRollback.bpmn",
+ "subprocess/DoCreateServiceInstanceRollbackV2.bpmn",
+ "subprocess/FalloutHandler.bpmn" })
+
+ public void sunnyDay() throws Exception {
+
+ logStart();
+
+ //SDNC
+ mockSDNCAdapter(200);
+ //DB
+ mockUpdateRequestDB(200, "DBUpdateResponse.xml");
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef","InfrastructureFlows/DoCreateServiceInstance_request.json");
+
+ String businessKey = UUID.randomUUID().toString();
+
+ Map<String, Object> variables = new HashMap<String, Object>();
+ setupVariables(variables);
+ invokeSubProcess("DoCreateServiceInstanceV2", businessKey, variables);
+ waitForProcessEnd(businessKey, 10000);
+ Assert.assertTrue(isProcessEnded(businessKey));
+ String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateServiceInstanceV2", "WorkflowException");
+ System.out.println("workflowException:\n" + workflowException);
+ assertEquals(null, workflowException);
+
+ logEnd();
+ }
+
+ // Success Scenario
+ private void setupVariables(Map<String, Object> variables) {
+ variables.put("isDebugLogEnabled", "true");
+ variables.put("msoRequestId", "RaaDSITestRequestId-1");
+ variables.put("serviceInstanceId","RaaTest-si-id");
+ //variables.put("serviceModelInfo", "{\"modelType\":\"service\",\"modelInvariantUuid\":\"uuid-miu-svc-011-abcdef\",\"modelVersionUuid\":\"ASDC_TOSCA_UUID\",\"modelName\":\"SIModelName1\",\"modelVersion\":\"2\",\"projectName\":\"proj123\",\"owningEntityId\":\"id123\",\"owningEntityName\":\"name123\"}");
+ variables.put("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
+ variables.put("globalSubscriberId", "MCBH-1610");
+ variables.put("subscriptionServiceType", "viprsvc");
+ variables.put("serviceInstanceName", "RAT-123");
+ variables.put("sdncVersion", "1611");
+ variables.put("serviceModelInfo", input);
+ variables.put("serviceDecomposition", serviceDecomposition);
+ variables.put("serviceType", "12e");
+ }
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV3Test.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV3Test.java
new file mode 100644
index 0000000000..88a329b027
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstanceV3Test.java
@@ -0,0 +1,70 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.camunda.bpm.engine.test.Deployment;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openecomp.mso.bpmn.common.WorkflowTest;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.bpmn.core.json.JsonDecomposingException;
+
+/**
+ * Unit test cases for DoCreateServiceInstanceV3.bpmn
+ */
+public class DoCreateServiceInstanceV3Test extends WorkflowTest {
+
+ public DoCreateServiceInstanceV3Test() throws IOException {
+
+ }
+
+ @Test
+ @Deployment(resources = { "subprocess/DoCreateServiceInstanceV3.bpmn",
+ "subprocess/DoCreateServiceInstanceV3Rollback.bpmn"
+ })
+ @Ignore // 1802 merge
+ public void sunnyDay() throws Exception {
+ logStart();
+ String businessKey = UUID.randomUUID().toString();
+ Map<String, Object> variables = new HashMap<String, Object>();
+ setupVariables(variables);
+ invokeSubProcess("DoCreateServiceInstanceV3", businessKey, variables);
+ waitForProcessEnd(businessKey, 10000);
+ Assert.assertTrue(isProcessEnded(businessKey));
+ logEnd();
+ }
+
+ // Success Scenario
+ private void setupVariables(Map<String, Object> variables) throws JsonDecomposingException {
+ variables.put("abc", "thevalueisabc");
+ variables.put("mso-request-id", "213");
+ ServiceDecomposition serviceDecomp = new ServiceDecomposition("{\"serviceResources\":{}}", "123");
+ serviceDecomp.setServiceType("PORT-MIRRO");
+ serviceDecomp.setSdncVersion("1610");
+ variables.put("serviceDecomposition", serviceDecomp);
+ }
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleTest.java
index d62c7598cb..490d31023b 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVfModuleTest.java
@@ -25,11 +25,14 @@ import static org.openecomp.mso.bpmn.common.BPMNUtil.getRawVariable;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVfModuleByName;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutGenericVnf;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutNetwork;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutVfModuleIdNoResponse;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetVnfCatalogDataCustomizationUuid;
import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFPost;
@@ -96,6 +99,8 @@ public class DoCreateVfModuleTest extends WorkflowTest {
mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml");
mockVNFPost("", 202, "skask");
mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");
String businessKey = UUID.randomUUID().toString();
//RuntimeService runtimeService = processEngineRule.getRuntimeService();
@@ -149,6 +154,9 @@ public class DoCreateVfModuleTest extends WorkflowTest {
mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
MockPatchGenericVnf("skask");
MockPatchVfModuleId("skask", ".*");
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");
+
String businessKey = UUID.randomUUID().toString();
//RuntimeService runtimeService = processEngineRule.getRuntimeService();
@@ -205,6 +213,8 @@ public class DoCreateVfModuleTest extends WorkflowTest {
mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
MockPatchGenericVnf("skask");
MockPatchVfModuleId("skask", ".*");
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");
String businessKey = UUID.randomUUID().toString();
//RuntimeService runtimeService = processEngineRule.getRuntimeService();
@@ -228,6 +238,177 @@ public class DoCreateVfModuleTest extends WorkflowTest {
logEnd();
}
+ /**
+ * Test the sunny day scenario for the aLaCarte request with no multiStageDesign
+ */
+ @Test
+
+ @Deployment(resources = {
+ "subprocess/DoCreateVfModule.bpmn",
+ "subprocess/GenericGetVnf.bpmn",
+ "subprocess/SDNCAdapterV1.bpmn",
+ "subprocess/VnfAdapterRestV1.bpmn",
+ "subprocess/ConfirmVolumeGroupTenant.bpmn",
+ "subprocess/ConfirmVolumeGroupName.bpmn",
+ "subprocess/CreateAAIVfModule.bpmn",
+ "subprocess/UpdateAAIVfModule.bpmn",
+ "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",
+ "subprocess/UpdateAAIGenericVnf.bpmn"
+ })
+ public void sunnyDay_aLaCarte_noMultistage() throws IOException {
+
+ logStart();
+
+ MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);
+ MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
+ MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");
+ MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);
+ MockPutGenericVnf("skask");
+ mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");
+ mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");
+ mockVNFPost("", 202, "skask");
+ mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
+ MockPatchGenericVnf("skask");
+ MockPatchVfModuleId("skask", ".*");
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");
+ MockGetVnfCatalogDataCustomizationUuid("VNF-MODEL-123", "VIPR/getCatalogVnfNoTwoPhasedForVfModule.json");
+
+ String businessKey = UUID.randomUUID().toString();
+ //RuntimeService runtimeService = processEngineRule.getRuntimeService();
+
+ Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();
+ variables.put("sdncVersion", "1702");
+ variables.put("aLaCarte", true);
+ //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);
+ invokeSubProcess("DoCreateVfModule", businessKey, variables);
+
+
+ injectSDNCCallbacks(callbacks, "assign, queryModule");
+ injectVNFRestCallbacks(callbacks, "vnfCreate");
+ injectSDNCCallbacks(callbacks, "activate");
+
+ waitForProcessEnd(businessKey, 10000);
+
+ Assert.assertTrue(isProcessEnded(businessKey));
+ Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));
+
+ logEnd();
+ }
+
+ /**
+ * Test the sunny day scenario for the first stage of multistage design.
+ */
+ @Test
+
+ @Deployment(resources = {
+ "subprocess/DoCreateVfModule.bpmn",
+ "subprocess/GenericGetVnf.bpmn",
+ "subprocess/SDNCAdapterV1.bpmn",
+ "subprocess/VnfAdapterRestV1.bpmn",
+ "subprocess/ConfirmVolumeGroupTenant.bpmn",
+ "subprocess/ConfirmVolumeGroupName.bpmn",
+ "subprocess/CreateAAIVfModule.bpmn",
+ "subprocess/UpdateAAIVfModule.bpmn",
+ "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",
+ "subprocess/UpdateAAIGenericVnf.bpmn"
+ })
+ public void sunnyDay_1st_of_multistage() throws IOException {
+
+ logStart();
+
+ MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);
+ MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
+ MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");
+ MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);
+ MockPutGenericVnf("skask");
+ mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");
+ mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");
+ mockVNFPost("", 202, "skask");
+ mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
+ MockPatchGenericVnf("skask");
+ MockPatchVfModuleId("skask", ".*");
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");
+ MockGetVnfCatalogDataCustomizationUuid("VNF-MODEL-123", "VIPR/getCatalogVnfYesTwoPhasedForVfModule.json");
+
+ String businessKey = UUID.randomUUID().toString();
+ //RuntimeService runtimeService = processEngineRule.getRuntimeService();
+
+ Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();
+ variables.put("sdncVersion", "1702");
+ variables.put("aLaCarte", true);
+ //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);
+ invokeSubProcess("DoCreateVfModule", businessKey, variables);
+
+ injectSDNCCallbacks(callbacks, "assign");
+
+ waitForProcessEnd(businessKey, 10000);
+
+ Assert.assertTrue(isProcessEnded(businessKey));
+ Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));
+
+ logEnd();
+ }
+
+ /**
+ * Test the sunny day scenario for the second stage of multiStageDesign
+ */
+ @Test
+
+ @Deployment(resources = {
+ "subprocess/DoCreateVfModule.bpmn",
+ "subprocess/GenericGetVnf.bpmn",
+ "subprocess/SDNCAdapterV1.bpmn",
+ "subprocess/VnfAdapterRestV1.bpmn",
+ "subprocess/ConfirmVolumeGroupTenant.bpmn",
+ "subprocess/ConfirmVolumeGroupName.bpmn",
+ "subprocess/CreateAAIVfModule.bpmn",
+ "subprocess/UpdateAAIVfModule.bpmn",
+ "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",
+ "subprocess/UpdateAAIGenericVnf.bpmn"
+ })
+ public void sunnyDay_2nd_of_multistage() throws IOException {
+
+ logStart();
+
+ MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);
+ MockGetVfModuleByName("skask", "PCRF%3A%3Amodule-0-2","VfModularity/VfModule-new-PendingActivation.xml", 200);
+ MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
+ MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");
+ MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);
+ MockPutGenericVnf("skask");
+ mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");
+ mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");
+ mockVNFPost("", 202, "skask");
+ mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
+ MockPatchGenericVnf("skask");
+ MockPatchVfModuleId("skask", ".*");
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");
+
+
+ String businessKey = UUID.randomUUID().toString();
+ //RuntimeService runtimeService = processEngineRule.getRuntimeService();
+
+ Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();
+ variables.put("sdncVersion", "1702");
+ variables.put("aLaCarte", true);
+ //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);
+ invokeSubProcess("DoCreateVfModule", businessKey, variables);
+
+ injectSDNCCallbacks(callbacks, "queryModule");
+ injectVNFRestCallbacks(callbacks, "vnfCreate");
+ injectSDNCCallbacks(callbacks, "activate");
+
+ waitForProcessEnd(businessKey, 10000);
+
+ Assert.assertTrue(isProcessEnded(businessKey));
+ Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));
+
+ logEnd();
+ }
+
private Map<String, Object> setupVariablesSunnyDayBuildingBlocks() {
Map<String, Object> variables = new HashMap<>();
@@ -293,4 +474,4 @@ public class DoCreateVfModuleTest extends WorkflowTest {
return variables;
}
-} \ No newline at end of file
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesTest.java
index c8f97cac04..dc0af4186e 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfAndModulesTest.java
@@ -78,7 +78,7 @@ public class DoCreateVnfAndModulesTest extends WorkflowTest {
}
@Test
- @Ignore // IGNORED FOR 1710 MERGE TO ONAP
+
@Deployment(resources = {"subprocess/GenericGetService.bpmn",
"subprocess/GenericGetVnf.bpmn",
"subprocess/GenericPutVnf.bpmn",
@@ -133,7 +133,7 @@ public class DoCreateVnfAndModulesTest extends WorkflowTest {
}
@Test
- @Ignore // IGNORED FOR 1710 MERGE TO ONAP
+
@Deployment(resources = {"subprocess/GenericGetService.bpmn",
"subprocess/GenericGetVnf.bpmn",
"subprocess/GenericPutVnf.bpmn",
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfTest.java
index 90d562e101..7537ffa4c0 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoCreateVnfTest.java
@@ -42,6 +42,7 @@ import org.junit.Test;
import org.openecomp.mso.bpmn.common.BPMNUtil;
import org.openecomp.mso.bpmn.common.WorkflowTest;
import org.openecomp.mso.bpmn.common.WorkflowTest.CallbackSet;
+import org.openecomp.mso.bpmn.core.domain.VnfResource;
import org.openecomp.mso.bpmn.mock.FileUtil;
/**
@@ -123,6 +124,8 @@ public class DoCreateVnfTest extends WorkflowTest {
"}";
variables.put("serviceModelInfo", serviceModelInfo);
variables.put("globalSubscriberId", "MSO-1610");
+ VnfResource vnfResource = new VnfResource();
+ variables.put("vnfResourceDecomposition", vnfResource);
}
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleTest.java
index 578fda3910..8f5f63d4c4 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVfModuleTest.java
@@ -128,7 +128,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest {
MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
@@ -173,7 +173,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest {
MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
variables.put("requestId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
@@ -217,6 +217,73 @@ public class DoDeleteVfModuleTest extends WorkflowTest {
}
logEnd();
}
+
+ @Test
+ @Deployment(resources = {
+ "subprocess/DoDeleteVfModule.bpmn",
+ "subprocess/PrepareUpdateAAIVfModule.bpmn",
+ "subprocess/UpdateAAIVfModule.bpmn",
+ "subprocess/UpdateAAIGenericVnf.bpmn",
+ "subprocess/DeleteAAIVfModule.bpmn",
+ "subprocess/SDNCAdapterV1.bpmn",
+ "subprocess/VnfAdapterRestV1.bpmn"
+ })
+ public void TestDoDeleteVfModule_Building_Block_ModuleInAssignedState() {
+ logStart();
+ MockDoDeleteVfModule_SDNCSuccess();
+ MockDoDeleteVfModule_DeleteVNFSuccess();
+ MockAAIGenericVnfSearch();
+ MockAAIVfModulePUT(false);
+ MockAAIDeleteGenericVnf();
+ MockAAIDeleteVfModule();
+ MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+
+ String businessKey = UUID.randomUUID().toString();
+ Map<String, Object> variables = new HashMap<>();
+
+ variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
+ variables.put("requestId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
+ variables.put("isDebugLogEnabled","true");
+ variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
+ variables.put("vfModuleId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+ variables.put("serviceInstanceId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
+ variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-0-0");
+ variables.put("sdncVersion", "1610");
+ variables.put("isVidRequest", "true");
+ variables.put("retainResources", false);
+ variables.put("aLaCarte", true);
+ String vfModuleModelInfo = "{" + "\"modelType\": \"vnf\"," +
+ "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," +
+ "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," +
+ "\"modelName\": \"vSAMP12\"," +
+ "\"modelVersion\": \"1.0\"," +
+ "\"modelCustomizationUuid\": \"MODEL-ID-1234\"," +
+ "}";
+ variables.put("vfModuleModelInfo", vfModuleModelInfo);
+
+ String cloudConfiguration = "{" +
+ "\"lcpCloudRegionId\": \"RDM2WAGPLCP\"," +
+ "\"tenantId\": \"fba1bd1e195a404cacb9ce17a9b2b421\"" + "}";
+ variables.put("cloudConfiguration", cloudConfiguration);
+
+
+ invokeSubProcess("DoDeleteVfModule", businessKey, variables);
+
+ // "changedelete" operation not required for deleting a Vf Module
+// injectSDNCCallbacks(callbacks, "sdncChangeDelete");
+ injectVNFRestCallbacks(callbacks, "vnfDelete");
+ waitForRunningProcessCount("vnfAdapterDeleteV1", 0, 120000);
+ injectSDNCCallbacks(callbacks, "sdncDelete");
+
+ waitForProcessEnd(businessKey, 10000);
+ WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, wfeString);
+ checkVariable(businessKey, wfeString, null);
+ if (wfe != null) {
+ System.out.println("TestDoDeleteVfModule_Building_Block_Success: ErrorCode=" + wfe.getErrorCode() +
+ ", ErrorMessage=" + wfe.getErrorMessage());
+ }
+ logEnd();
+ }
@Test
@@ -263,7 +330,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest {
MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
@@ -334,7 +401,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest {
MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
@@ -405,7 +472,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest {
MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
@@ -475,7 +542,7 @@ public class DoDeleteVfModuleTest extends WorkflowTest {
MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfAndModulesTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfAndModulesTest.java
index a9dde90327..c53beb1446 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfAndModulesTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoDeleteVnfAndModulesTest.java
@@ -24,14 +24,18 @@ import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.containing;
import static com.github.tomakehurst.wiremock.client.WireMock.delete;
import static com.github.tomakehurst.wiremock.client.WireMock.post;
+import static com.github.tomakehurst.wiremock.client.WireMock.put;
import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.openecomp.mso.bpmn.common.DeleteAAIVfModuleTest.MockAAIDeleteGenericVnf;
import static org.openecomp.mso.bpmn.common.DeleteAAIVfModuleTest.MockAAIDeleteVfModule;
import static org.openecomp.mso.bpmn.common.DeleteAAIVfModuleTest.MockAAIGenericVnfSearch;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteGenericVnf;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfById;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;
import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
@@ -47,6 +51,10 @@ import org.junit.Test;
import org.openecomp.mso.bpmn.common.BPMNUtil;
import org.openecomp.mso.bpmn.common.WorkflowTest;
import org.openecomp.mso.bpmn.mock.FileUtil;
+import org.openecomp.mso.bpmn.core.domain.ModelInfo;
+import org.openecomp.mso.bpmn.core.domain.ModuleResource;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.bpmn.core.domain.VnfResource;
public class DoDeleteVnfAndModulesTest extends WorkflowTest {
private final CallbackSet callbacks = new CallbackSet();
@@ -58,6 +66,11 @@ public class DoDeleteVnfAndModulesTest extends WorkflowTest {
" <vfModuleDeleted>true</vfModuleDeleted>" + EOL +
" <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
"</deleteVfModuleResponse>" + EOL;
+ private final String sdncAdapterDeleteCallback =
+ "<output xmlns=\"org:openecomp:sdnctl:l3api\">" + EOL +
+ " <svc-request-id>{{REQUEST-ID}}</svc-request-id>" + EOL +
+ " <ack-final-indicator>Y</ack-final-indicator>" + EOL +
+ "</output>" + EOL;
public DoDeleteVnfAndModulesTest () throws IOException {
callbacks.put("deactivate", FileUtil.readResourceFile(
@@ -65,6 +78,7 @@ public class DoDeleteVnfAndModulesTest extends WorkflowTest {
callbacks.put("unassign", FileUtil.readResourceFile(
"__files/VfModularity/SDNCTopologyActivateCallback.xml"));
callbacks.put("vnfDelete", vnfAdapterDeleteCallback);
+ callbacks.put("sdncDelete", sdncAdapterDeleteCallback);
}
@@ -178,8 +192,136 @@ public class DoDeleteVnfAndModulesTest extends WorkflowTest {
variables.put("sdncVersion", "1707");
+
+ ServiceDecomposition sd = new ServiceDecomposition();
+ ModelInfo serviceModel = new ModelInfo();
+ serviceModel.setModelName("servicewithVNFs");
+ sd.setModelInfo(serviceModel);
+ VnfResource vr = new VnfResource();
+ ModelInfo mvr = new ModelInfo();
+ mvr.setModelName("vSAMP12");
+ mvr.setModelInstanceName("v123");
+ mvr.setModelInvariantUuid("");
+ mvr.setModelVersion("1.0");
+ mvr.setModelCustomizationUuid("MODEL-ID-1234");
+ vr.setModelInfo(mvr);
+ vr.constructVnfType("vnf1");
+ vr.setNfType("somenftype");
+ vr.setNfRole("somenfrole");
+ vr.setNfFunction("somenffunction");
+ vr.setNfNamingCode("somenamingcode");
+ ModuleResource mr = new ModuleResource();
+ ModelInfo mvmr = new ModelInfo();
+ mvmr.setModelInvariantUuid("ff5256d2-5a33-55df-13ab-12abad84e7ff");
+ mvmr.setModelName("STMTN5MMSC21-MMSC::model-1-0");
+ mvmr.setModelUuid("1.0");
+ mvmr.setModelCustomizationUuid("MODEL-123");
+ mr.setModelInfo(mvmr);
+ mr.setIsBase(true);
+ mr.setVfModuleLabel("MODULELABEL");
+ vr.addVfModule(mr);
+ sd.addVnfResource(vr);
+ variables.put("serviceDecomposition", sd);
+
+ }
+
+ @Test
+ @Deployment(resources = {"subprocess/DoDeleteVnfAndModules.bpmn", "subprocess/SDNCAdapterV1.bpmn", "subprocess/GenericGetVnf.bpmn", "subprocess/GenericDeleteVnf.bpmn", "subprocess/DoDeleteVnf.bpmn", "subprocess/DoDeleteVfModule.bpmn", "subprocess/UpdateAAIVfModule.bpmn", "subprocess/PrepareUpdateAAIVfModule.bpmn", "subprocess/DoDeleteVfModuleFromVnf.bpmn", "subprocess/VnfAdapterRestV1.bpmn", "subprocess/DeleteAAIVfModule.bpmn"})
+ public void testDoDeleteVnfAndModulesDirectDelete_successVnfAndModules() throws Exception{
+ MockDoDeleteVfModule_SDNCSuccess();
+ MockDoDeleteVfModule_DeleteVNFSuccess();
+ mockSDNCAdapter(200);
+ MockAAIGenericVnfSearch();
+ MockAAIVfModulePUT(false);
+ MockAAIDeleteGenericVnf();
+ MockAAIDeleteVfModule();
+ MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+
+ String businessKey = UUID.randomUUID().toString();
+ Map<String, Object> variables = new HashMap<>();
+ setVariablesVnfAndModulesDirectDelete(variables);
+ invokeSubProcess("DoDeleteVnfAndModules", businessKey, variables);
+
+ injectVNFRestCallbacks(callbacks, "vnfDelete");
+ injectSDNCCallbacks(callbacks, "sdncDelete");
+ MockGetGenericVnfById("a27ce5a9-29c4-4c22-a017-6615ac73c721", "GenericFlows/getGenericVnfByNameResponse.xml");
+
+ waitForProcessEnd(businessKey, 10000);
+
+ Assert.assertTrue(isProcessEnded(businessKey));
+
+ String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteVnfAndModules", "WorkflowException");
+
+ // WorkflowException is expected here, since empty VNF cannot be simulated here
+ assertNotEquals(null, workflowException);
+ }
+
+
+ private void setVariablesVnfAndModulesDirectDelete(Map<String, Object> variables) {
+ variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
+ variables.put("isDebugLogEnabled", "true");
+ variables.put("vnfId","a27ce5a9-29c4-4c22-a017-6615ac73c721");
+ variables.put("serviceInstanceId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
+
+ variables.put("msoRequestId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
+ //variables.put("testVnfId","testVnfId123");
+
+ variables.put("lcpCloudRegionId", "RDM2WAGPLCP");
+ variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421");
+
+ variables.put("sdncVersion", "1702");
+
+
+ ServiceDecomposition sd = new ServiceDecomposition();
+ ModelInfo serviceModel = new ModelInfo();
+ serviceModel.setModelName("servicewithVNFs");
+ sd.setModelInfo(serviceModel);
+ VnfResource vr = new VnfResource();
+ ModelInfo mvr = new ModelInfo();
+ mvr.setModelName("vSAMP12");
+ mvr.setModelInstanceName("v123");
+ mvr.setModelInvariantUuid("");
+ mvr.setModelVersion("1.0");
+ mvr.setModelCustomizationUuid("MODEL-ID-1234");
+ vr.setModelInfo(mvr);
+ vr.constructVnfType("vnf1");
+ vr.setNfType("somenftype");
+ vr.setNfRole("somenfrole");
+ vr.setNfFunction("somenffunction");
+ vr.setNfNamingCode("somenamingcode");
+ ModuleResource mr = new ModuleResource();
+ ModelInfo mvmr = new ModelInfo();
+ mvmr.setModelInvariantUuid("ff5256d2-5a33-55df-13ab-12abad84e7ff");
+ mvmr.setModelName("STMTN5MMSC21-MMSC::model-1-0");
+ mvmr.setModelUuid("1.0");
+ mvmr.setModelCustomizationUuid("MODEL-123");
+ mr.setModelInfo(mvmr);
+ mr.setIsBase(true);
+ mr.setVfModuleLabel("MODULELABEL");
+ vr.addVfModule(mr);
+ sd.addVnfResource(vr);
+ variables.put("serviceDecomposition", sd);
+
}
+ public static void MockAAIVfModulePUT(boolean isCreate){
+ stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*"))
+ .withRequestBody(containing("MMSC"))
+ .willReturn(aResponse()
+ .withStatus(isCreate ? 201 : 200)));
+ stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*"))
+ .withRequestBody(containing("PCRF"))
+ .willReturn(aResponse()
+ .withStatus(500)
+ .withHeader("Content-Type", "text/xml")
+ .withBodyFile("aaiFault.xml")));
+ stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721"))
+ .willReturn(aResponse()
+ .withStatus(200)));
+ }
+
+
+
public static void MockDoDeleteVfModule_SDNCSuccess() {
stubFor(post(urlEqualTo("/SDNCAdapter"))
@@ -207,4 +349,4 @@ public class DoDeleteVnfAndModulesTest extends WorkflowTest {
.withStatus(202)
.withHeader("Content-Type", "application/xml")));
}
-} \ No newline at end of file
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVfModuleTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVfModuleTest.java
index 9fa93235b7..a955c4eb86 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVfModuleTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVfModuleTest.java
@@ -37,6 +37,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutGenericVnf;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutVfModuleIdNoResponse;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;
import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFPut;
@@ -98,6 +99,8 @@ public class DoUpdateVfModuleTest extends WorkflowTest {
mockVNFPut("skask", "/supercool", 202);
MockPutGenericVnf("skask");
MockGetGenericVnfByIdWithPriority("skask", "supercool", 200, "VfModularity/VfModule-supercool.xml", 1);
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");
String businessKey = UUID.randomUUID().toString();
Map<String, Object> variables = new HashMap<>();
@@ -144,6 +147,8 @@ public class DoUpdateVfModuleTest extends WorkflowTest {
MockPatchVfModuleId("skask", ".*");
MockSDNCAdapterVfModule();
MockVNFAdapterRestVfModule();
+ //Catalog DB
+ MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");
String businessKey = UUID.randomUUID().toString();
Map<String, Object> variables = new HashMap<>();
@@ -181,6 +186,14 @@ public class DoUpdateVfModuleTest extends WorkflowTest {
"\"modelVersion\": \"1\"," +
"\"modelCustomizationUuid\": \"VNF-MODEL-123\"" + "}";
variables.put("vnfModelInfo", vnfModelInfo);
+
+ String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," +
+ "\"modelInvariantUuid\": \"aa5256d2-5a33-55df-13ab-12abad84e7ff\"," +
+ "\"modelUuid\": \"bb6478e5-ea33-3346-ac12-ab121484a3fe\"," +
+ "\"modelName\": \"SVC-STMTN5MMSC21-MMSC::model-1-0\"," +
+ "\"modelVersion\": \"1\"," +
+ "}";
+ variables.put("serviceModelInfo", serviceModelInfo);
invokeSubProcess("DoUpdateVfModule", businessKey, variables);
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java
index 4def56cf6a..2a5a646fb2 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/DoUpdateVnfAndModulesTest.java
@@ -153,7 +153,7 @@ public class DoUpdateVnfAndModulesTest extends WorkflowTest {
//variables.put("testVnfId","testVnfId123");
variables.put("vnfType", "STMTN");
variables.put("vnfId", "skask");
- variables.put("tenantId", "88a6ca3ee0394ade9403f075db23167e");
+ variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421");
variables.put("lcpCloudRegionId", "mdt1");
String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," +
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/ReplaceVnfInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/ReplaceVnfInfraTest.java
index 64852dfb5f..f7cf3f480b 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/ReplaceVnfInfraTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/ReplaceVnfInfraTest.java
@@ -34,6 +34,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDBUpdateVfModule;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteGenericVnf;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteVfModuleId;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfById;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetDefaultCloudRegionByCloudRegionId;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance;
@@ -102,9 +103,10 @@ public class ReplaceVnfInfraTest extends WorkflowTest {
* @throws Exception
*/
@Test
- @Ignore
+ @Ignore // 1802 merge
@Deployment(resources = {
- "process/ReplaceVnfInfra.bpmn",
+ "process/ReplaceVnfInfra.bpmn",
+ "subprocess/RollbackVnf.bpmn",
"subprocess/DoDeleteVfModule.bpmn",
"subprocess/DoDeleteVnfAndModules.bpmn",
"subprocess/DeleteAAIVfModule.bpmn",
@@ -133,7 +135,8 @@ public class ReplaceVnfInfraTest extends WorkflowTest {
"subprocess/DoCreateVnfAndModulesRollback.bpmn",
"subprocess/BuildingBlock/DecomposeService.bpmn",
"subprocess/BuildingBlock/RainyDayHandler.bpmn",
- "subprocess/BuildingBlock/ManualHandling.bpmn"
+ "subprocess/BuildingBlock/ManualHandling.bpmn",
+ "subprocess/BuildingBlock/AppCClient.bpmn"
})
public void sunnyDay() throws Exception {
@@ -152,19 +155,21 @@ public class ReplaceVnfInfraTest extends WorkflowTest {
MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
//MockGetGenericVnfById_404("testVnfId");
MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "1.0", "VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json");
+ MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json");
//MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
//MockPutGenericVnf(".*");
+ MockGetDefaultCloudRegionByCloudRegionId("mdt1", "AAI/AAI_defaultCloudRegionByCloudRegionId.json", 200);
MockAAIVfModule();
MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721");
MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", ".*");
- //mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml");
- //mockVNFPut("skask", "/supercool", 202);
- //mockVNFPut("skask", "/lukewarm", 202);
- //MockVNFAdapterRestVfModule();
- //MockDBUpdateVfModule();
- //MockGetPserverByVnfId("skask", "AAI/AAI_pserverByVnfId.json", 200);
- //MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200);
- MockSetInMaintFlagByVnfId("skask", 200);
+ mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml");
+ mockVNFPut("skask", "/supercool", 202);
+ mockVNFPut("skask", "/lukewarm", 202);
+ MockVNFAdapterRestVfModule();
+ MockDBUpdateVfModule();
+ MockGetPserverByVnfId("skask", "AAI/AAI_pserverByVnfId.json", 200);
+ MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200);
+ MockSetInMaintFlagByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200);
MockPolicySkip();
//mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml");
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/RollbackVnfTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/RollbackVnfTest.java
new file mode 100644
index 0000000000..598e783c52
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/RollbackVnfTest.java
@@ -0,0 +1,134 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.put;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDBUpdateVfModule;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetPserverByVnfId;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfsByVnfId;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockSetInMaintFlagByVnfId;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
+import static org.openecomp.mso.bpmn.mock.StubResponsePolicy.MockPolicySkip;
+import static org.openecomp.mso.bpmn.mock.StubResponseAPPC.MockAppcError;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.camunda.bpm.engine.test.Deployment;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openecomp.mso.bpmn.common.WorkflowTest;
+import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;
+import org.openecomp.mso.bpmn.mock.FileUtil;
+import org.openecomp.mso.client.aai.AAIObjectType;
+import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri;
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
+
+/**
+ * Unit test cases for RollbackVnf.bpmn
+ */
+public class RollbackVnfTest extends WorkflowTest {
+
+ public RollbackVnfTest() throws IOException {
+
+ }
+
+ /**
+ * Sunny day scenario.
+ *
+ * @throws Exception
+ */
+ @Test
+
+
+ @Deployment(resources = {
+ "subprocess/RollbackVnf.bpmn",
+ "subprocess/BuildingBlock/AppCClient.bpmn"
+
+ })
+ public void sunnyDay() throws Exception {
+
+ //logStart();
+ System.setProperty("mso.config.path", "src/test/resources");
+ AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "skask");
+ wireMockRule.stubFor(get(
+ urlPathEqualTo("/aai/v11" + path.build()))
+ .willReturn(
+ aResponse()
+ .withHeader("Content-Type", "application/json")
+ .withBodyFile("AAI/mockObject.json")
+ .withStatus(200)));
+
+
+ MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVipr.xml");
+ MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
+ MockAAIVfModule();
+ MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200);
+ MockSetInMaintFlagByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200);
+ MockAppcError();
+
+ String businessKey = UUID.randomUUID().toString();
+ Map<String, Object> variables = setupVariablesSunnyDayVID();
+
+ invokeSubProcess("RollbackVnf", businessKey, variables);
+
+ // TODO add appropriate assertions
+
+ waitForProcessEnd(businessKey, 10000);
+ Assert.assertTrue(isProcessEnded(businessKey));
+ // assertVariables("true", "true", "false", "true", "Success", null);
+
+ //logEnd();
+ }
+
+ // Active Scenario
+ private Map<String, Object> setupVariablesSunnyDayVID() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+
+ variables.put("msoRequestId", "testRequestId");
+ variables.put("isDebugLogEnabled", "true");
+ variables.put("vnfId", "skask");
+ variables.put("rollbackVnfStop", true);
+ variables.put("rollbackVnfLock", true);
+ variables.put("rollbackQuiesceTraffic", false);
+ variables.put("rollbackSetClosedLoopDisabledFlag", true);
+ variables.put("rollbackSetVnfInMaintenanceFlag", true);
+ variables.put("errorCode", "1005");
+
+ return variables;
+
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/SetupServiceDecompTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/SetupServiceDecompTest.java
new file mode 100644
index 0000000000..264bf6e2be
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/SetupServiceDecompTest.java
@@ -0,0 +1,65 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.camunda.bpm.engine.test.Deployment;
+import org.junit.Test;
+import org.openecomp.mso.bpmn.common.WorkflowTest;
+import org.openecomp.mso.bpmn.mock.FileUtil;
+
+public class SetupServiceDecompTest extends WorkflowTest {
+
+ private String input = FileUtil.readResourceFile("__files/CreateServiceInstance/SetupServiceDecompJson.json");
+
+ public SetupServiceDecompTest() throws IOException {
+ }
+
+ @Test
+ @Deployment(resources = {
+ "subprocess/CreateServiceInstanceV3.bpmn",
+ "subprocess/CreateServiceInstanceV3Rollback.bpmn",
+ "subprocess/SetRefactorServiceDecomp.bpmn"
+ })
+ public void sunnyDay() throws Exception {
+
+ logStart();
+
+ String businessKey = UUID.randomUUID().toString();
+
+ Map<String, Object> variables = new HashMap<String, Object>();
+ setupVariables(variables);
+ invokeSubProcess("SetRefactorServiceDecomp", businessKey, variables);
+ waitForProcessEnd(businessKey, 10000);
+ logEnd();
+ }
+
+ // Success Scenario
+ private void setupVariables(Map<String, Object> variables) {
+ variables.put("bpmnRequest", input);
+ variables.put("msoRequestId", "RaaDSITestRequestId-1");
+ variables.put("isDebugLogEnabled", "true");
+ }
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateNetworkInstanceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateNetworkInstanceTest.java
index 5b5e4e59d3..7a43bbd771 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateNetworkInstanceTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateNetworkInstanceTest.java
@@ -33,6 +33,7 @@ import java.util.Map;
import org.camunda.bpm.engine.test.Deployment;
import org.junit.Assert;
+import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
@@ -63,7 +64,7 @@ public class UpdateNetworkInstanceTest extends WorkflowTest {
*/
@Test
- //@Ignore
+ @Ignore // 1802 merge
@Deployment(resources = {"process/UpdateNetworkInstance.bpmn",
"subprocess/DoUpdateNetworkInstance.bpmn",
"subprocess/FalloutHandler.bpmn",
@@ -81,8 +82,8 @@ public class UpdateNetworkInstanceTest extends WorkflowTest {
mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");
MockNetworkAdapterRestPut("UpdateNetworkV2/updateNetworkResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
- MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
- MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
+ MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "all");
+ MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all");
MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
MockGetNetworkPolicy("UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
@@ -113,7 +114,7 @@ public class UpdateNetworkInstanceTest extends WorkflowTest {
}
@Test
- //@Ignore
+ @Ignore // 1802 merge
@Deployment(resources = {"process/UpdateNetworkInstance.bpmn",
"subprocess/DoUpdateNetworkInstance.bpmn",
"subprocess/FalloutHandler.bpmn",
@@ -131,8 +132,8 @@ public class UpdateNetworkInstanceTest extends WorkflowTest {
mockSDNCAdapterTopology("UpdateNetworkV2mock/sdncUpdateNetworkTopologySimResponse.xml", "SvcAction>changeassign");
MockNetworkAdapterRestPut("UpdateNetworkV2/updateNetworkResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4");
MockGetNetworkCloudRegion("CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml", "RDM2WAGPLCP");
- MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
- MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
+ MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "UpdateNetworkV2/updateNetwork_queryNetworkId_AAIResponse_Success.xml", "all");
+ MockPutNetworkIdWithDepth("UpdateNetworkV2/updateNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "all");
MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017");
MockGetNetworkVpnBinding("UpdateNetworkV2/updateNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6");
MockGetNetworkPolicy("UpdateNetworkV2/updateNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVnfInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVnfInfraTest.java
index 391fc2308b..36e9f2bfac 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVnfInfraTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/UpdateVnfInfraTest.java
@@ -26,6 +26,7 @@ import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdW
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetDefaultCloudRegionByCloudRegionId;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetPserverByVnfId;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfsByVnfId;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf;
@@ -76,9 +77,10 @@ public class UpdateVnfInfraTest extends WorkflowTest {
* @throws Exception
*/
@Test
- @Ignore // IGNORED FOR 1710 MERGE TO ONAP
+ @Ignore // 1802 merge
@Deployment(resources = {
- "process/UpdateVnfInfra.bpmn",
+ "process/UpdateVnfInfra.bpmn",
+ "subprocess/RollbackVnf.bpmn",
"subprocess/DoUpdateVfModule.bpmn",
"subprocess/DoUpdateVnfAndModules.bpmn",
"subprocess/PrepareUpdateAAIVfModule.bpmn",
@@ -91,7 +93,8 @@ public class UpdateVnfInfraTest extends WorkflowTest {
"subprocess/FalloutHandler.bpmn",
"subprocess/BuildingBlock/DecomposeService.bpmn",
"subprocess/BuildingBlock/RainyDayHandler.bpmn",
- "subprocess/BuildingBlock/ManualHandling.bpmn"
+ "subprocess/BuildingBlock/ManualHandling.bpmn",
+ "subprocess/BuildingBlock/AppCClient.bpmn"
})
public void sunnyDay() throws Exception {
@@ -102,7 +105,9 @@ public class UpdateVnfInfraTest extends WorkflowTest {
MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
//MockGetGenericVnfById_404("testVnfId");
MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "1.0", "VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json");
+ MockGetServiceResourcesCatalogData("995256d2-5a33-55df-13ab-12abad84e7ff", "VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json");
MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
+ MockGetDefaultCloudRegionByCloudRegionId("mdt1", "AAI/AAI_defaultCloudRegionByCloudRegionId.json", 200);
MockPutGenericVnf(".*");
MockAAIVfModule();
MockPatchGenericVnf("skask");
@@ -114,7 +119,7 @@ public class UpdateVnfInfraTest extends WorkflowTest {
MockDBUpdateVfModule();
MockGetPserverByVnfId("skask", "AAI/AAI_pserverByVnfId.json", 200);
MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200);
- MockSetInMaintFlagByVnfId("skask", 200);
+ MockSetInMaintFlagByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200);
MockPolicySkip();
mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml");
@@ -153,13 +158,7 @@ public class UpdateVnfInfraTest extends WorkflowTest {
// Active Scenario
private Map<String, Object> setupVariablesSunnyDayVID() {
Map<String, Object> variables = new HashMap<>();
- //try {
- // variables.put("bpmnRequest", FileUtil.readResourceFile("__files/CreateVfModule_VID_request.json"));
- //}
- //catch (Exception e) {
-
- //}
- //variables.put("mso-request-id", "testRequestId");
+
variables.put("requestId", "testRequestId");
variables.put("isDebugLogEnabled", "true");
variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfConfigUpdateTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfConfigUpdateTest.java
new file mode 100644
index 0000000000..1a1e37714a
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfConfigUpdateTest.java
@@ -0,0 +1,146 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDBUpdateVfModule;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetPserverByVnfId;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfsByVnfId;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockSetInMaintFlagByVnfId;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
+import static org.openecomp.mso.bpmn.mock.StubResponsePolicy.MockPolicySkip;
+import static org.openecomp.mso.bpmn.mock.StubResponseAPPC.MockAppcError;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.camunda.bpm.engine.test.Deployment;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openecomp.mso.bpmn.common.WorkflowTest;
+import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;
+import org.openecomp.mso.bpmn.mock.FileUtil;
+import org.openecomp.mso.client.aai.AAIObjectType;
+import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri;
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
+
+/**
+ * Unit test cases for VnfConfigUpdate.bpmn
+ */
+public class VnfConfigUpdateTest extends WorkflowTest {
+
+ public VnfConfigUpdateTest() throws IOException {
+
+ }
+
+ /**
+ * Sunny day scenario.
+ *
+ * @throws Exception
+ */
+ @Test
+ @Ignore // 1802 merge
+ @Deployment(resources = {
+ "process/VnfConfigUpdate.bpmn",
+ "subprocess/RollbackVnf.bpmn",
+ "subprocess/CompleteMsoProcess.bpmn",
+ "subprocess/FalloutHandler.bpmn",
+ "subprocess/BuildingBlock/RainyDayHandler.bpmn",
+ "subprocess/BuildingBlock/ManualHandling.bpmn",
+ "subprocess/BuildingBlock/AppCClient.bpmn"
+
+ })
+ public void sunnyDay() throws Exception {
+
+ logStart();
+
+ System.setProperty("mso.config.path", "src/test/resources");
+ AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "comx9906v");
+ wireMockRule.stubFor(get(
+ urlPathEqualTo("/aai/v11" + path.build()))
+ .willReturn(
+ aResponse()
+ .withHeader("Content-Type", "application/json")
+ .withBodyFile("AAI/mockObject.json")
+ .withStatus(200)));
+
+
+ MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVipr.xml");
+ MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
+ //MockGetGenericVnfById_404("testVnfId");
+ MockGetGenericVnfByIdWithDepth("comx9906v", 1, "AAI/AAI_genericVnfsByVnfIdVnfConfig.json");
+ MockAAIVfModule();
+ MockDBUpdateVfModule();
+ MockGetPserverByVnfId("comx9906v", "AAI/AAI_pserverByVnfId.json", 200);
+ MockGetGenericVnfsByVnfId("comx9906v", "AAI/AAI_genericVnfsByVnfIdVnfConfig.json", 200);
+ MockSetInMaintFlagByVnfId("comx9906v", "AAI/AAI_genericVnfsByVnfIdVnfConfig.json", 200);
+ MockPolicySkip();
+ MockAppcError();
+ mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
+
+ String businessKey = UUID.randomUUID().toString();
+ String updaetVnfRequest =
+ FileUtil.readResourceFile("__files/InfrastructureFlows/ConfigVnf_VID_request.json");
+
+ Map<String, Object> variables = setupVariablesSunnyDayVID();
+
+
+ TestAsyncResponse asyncResponse = invokeAsyncProcess("VnfConfigUpdate",
+ "v1", businessKey, updaetVnfRequest, variables);
+
+ WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
+
+ String responseBody = response.getResponse();
+ System.out.println("Workflow (Synch) Response:\n" + responseBody);
+
+ // TODO add appropriate assertions
+
+ waitForProcessEnd(businessKey, 1000000);
+ checkVariable(businessKey, "VnfConfigUpdateSuccessIndicator", true);
+
+ logEnd();
+ }
+
+ // Active Scenario
+ private Map<String, Object> setupVariablesSunnyDayVID() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+
+ variables.put("requestId", "testRequestId");
+ variables.put("isDebugLogEnabled", "true");
+ variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
+ variables.put("vnfId", "comx9906v");
+ variables.put("vnfType", "vSAMP12");
+ variables.put("serviceType", "MOG");
+
+ return variables;
+
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfInPlaceUpdateTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfInPlaceUpdateTest.java
new file mode 100644
index 0000000000..17c48191c3
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/VnfInPlaceUpdateTest.java
@@ -0,0 +1,159 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.put;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDBUpdateVfModule;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetPserverByVnfId;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfsByVnfId;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockSetInMaintFlagByVnfId;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetDefaultCloudRegionByCloudRegionId;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;
+import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
+import static org.openecomp.mso.bpmn.mock.StubResponsePolicy.MockPolicySkip;
+import static org.openecomp.mso.bpmn.mock.StubResponseAPPC.MockAppcError;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.camunda.bpm.engine.test.Deployment;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openecomp.mso.bpmn.common.WorkflowTest;
+import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;
+import org.openecomp.mso.bpmn.mock.FileUtil;
+import org.openecomp.mso.client.aai.AAIObjectType;
+import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri;
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
+
+/**
+ * Unit test cases for VnfInPlaceUpdate.bpmn
+ */
+public class VnfInPlaceUpdateTest extends WorkflowTest {
+
+ public VnfInPlaceUpdateTest() throws IOException {
+
+ }
+
+ /**
+ * Sunny day scenario.
+ *
+ * @throws Exception
+ */
+ @Test
+
+
+ @Deployment(resources = {
+ "process/VnfInPlaceUpdate.bpmn",
+ "subprocess/CompleteMsoProcess.bpmn",
+ "subprocess/FalloutHandler.bpmn",
+ "subprocess/BuildingBlock/RainyDayHandler.bpmn",
+ "subprocess/BuildingBlock/ManualHandling.bpmn",
+ "subprocess/BuildingBlock/AppCClient.bpmn"
+
+ })
+ public void sunnyDay() throws Exception {
+
+ logStart();
+ System.setProperty("mso.config.path", "src/test/resources");
+ AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "skask");
+ wireMockRule.stubFor(get(
+ urlPathEqualTo("/aai/v11" + path.build()))
+ .willReturn(
+ aResponse()
+ .withHeader("Content-Type", "application/json")
+ .withBodyFile("AAI/mockObject.json")
+ .withStatus(200)));
+
+ //
+
+ //AAIResourceUri path1 = AAIUriFactory.createResourceUri(AAIObjectType.CUSTOM_QUERY).queryParam("format", "RESOURCE");
+ //wireMockRule.stubFor(put(
+ // urlMatching("/aai/v10/query/pservers-fromVnf"))
+ // .willReturn(
+ // aResponse()
+ // .withHeader("Content-Type", "application/json")
+ // .withBodyFile("AAI/AAI_pserversByVnfId.json")
+ // .withStatus(200)));
+
+ MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVipr.xml");
+ MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
+ //MockGetGenericVnfById_404("testVnfId");
+ MockGetGenericVnfByIdWithDepth("skask", 1, "AAI/AAI_genericVnfsByVnfId.json");
+ MockAAIVfModule();
+ MockDBUpdateVfModule();
+ MockGetPserverByVnfId("skask", "AAI/AAI_pserverByVnfId.json", 200);
+ MockSetInMaintFlagByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200);
+ MockGetGenericVnfsByVnfId("skask", "AAI/AAI_genericVnfsByVnfId.json", 200);
+ MockGetDefaultCloudRegionByCloudRegionId("mdt1", "AAI/AAI_defaultCloudRegionByCloudRegionId.json", 200);
+ MockPolicySkip();
+ MockAppcError();
+ mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
+
+ String businessKey = UUID.randomUUID().toString();
+ String updaetVnfRequest =
+ FileUtil.readResourceFile("__files/InfrastructureFlows/VnfInPlaceUpdate_VID_request.json");
+
+ Map<String, Object> variables = setupVariablesSunnyDayVID();
+
+
+ TestAsyncResponse asyncResponse = invokeAsyncProcess("VnfInPlaceUpdate",
+ "v1", businessKey, updaetVnfRequest, variables);
+
+ WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 100000);
+
+ String responseBody = response.getResponse();
+ System.out.println("Workflow (Synch) Response:\n" + responseBody);
+
+ // TODO add appropriate assertions
+
+ waitForProcessEnd(businessKey, 100000);
+ checkVariable(businessKey, "VnfInPlaceUpdateSuccessIndicator", true);
+
+ logEnd();
+ }
+
+ // Active Scenario
+ private Map<String, Object> setupVariablesSunnyDayVID() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+
+ variables.put("requestId", "testRequestId");
+ variables.put("isDebugLogEnabled", "true");
+ variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");
+ variables.put("vnfId", "skask");
+
+ return variables;
+
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/CreateVcpeResCustServiceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/CreateVcpeResCustServiceTest.java
index 1b3bfa8c76..d9534f325f 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/CreateVcpeResCustServiceTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/vcpe/CreateVcpeResCustServiceTest.java
@@ -40,6 +40,7 @@ import java.util.Map;
import java.util.UUID;
import org.camunda.bpm.engine.test.Deployment;
+import org.junit.Ignore;
import org.junit.Test;
import org.openecomp.mso.bpmn.common.BPMNUtil;
import org.openecomp.mso.bpmn.mock.FileUtil;
@@ -66,6 +67,7 @@ public class CreateVcpeResCustServiceTest extends AbstractTestBase {
}
@Test
+ @Ignore // 1802 merge
@Deployment(resources = {
"process/CreateVcpeResCustService.bpmn",
"subprocess/SDNCAdapterV1.bpmn",
@@ -142,6 +144,7 @@ public class CreateVcpeResCustServiceTest extends AbstractTestBase {
}
@Test
+ @Ignore // 1802 merge
@Deployment(resources = {
"process/CreateVcpeResCustService.bpmn",
"subprocess/SDNCAdapterV1.bpmn",
@@ -208,6 +211,7 @@ public class CreateVcpeResCustServiceTest extends AbstractTestBase {
}
@Test
+ @Ignore // 1802 merge
@Deployment(resources = {
"process/CreateVcpeResCustService.bpmn",
"subprocess/SDNCAdapterV1.bpmn",
@@ -275,6 +279,7 @@ public class CreateVcpeResCustServiceTest extends AbstractTestBase {
}
@Test
+ @Ignore // 1802 merge
@Deployment(resources = {
"process/CreateVcpeResCustService.bpmn",
"subprocess/SDNCAdapterV1.bpmn",
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_defaultCloudRegionByCloudRegionId.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_defaultCloudRegionByCloudRegionId.json
new file mode 100644
index 0000000000..364afed8ce
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_defaultCloudRegionByCloudRegionId.json
@@ -0,0 +1,12 @@
+{
+ "cloud-owner": "att-aic",
+ "cloud-region-id": "mdt1",
+ "cloud-type": "openstack",
+ "owner-defined-type": "lcp",
+ "cloud-region-version": "aic3.0",
+ "identity-url": "https://identity-aic.mdt1.cci.att.com:5000/v2.0",
+ "cloud-zone": "z1",
+ "complex-name": "c1",
+ "sriov-automation": false,
+ "resource-version": "1503072127235"
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_genericVnfsByVnfId.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_genericVnfsByVnfId.json
index c7361f88ef..dd352fa480 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_genericVnfsByVnfId.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_genericVnfsByVnfId.json
@@ -14,7 +14,7 @@
"heat-stack-id": "example-heat-stack-id-val-96869",
"mso-catalog-key": "example-mso-catalog-key-val-30721",
"management-option": "example-management-option-val-61927",
- "ipv4-oam-address": "example-ipv4-oam-address-val-23494",
+ "ipv4-oam-address": "135.25.10.14",
"ipv4-loopback0-address": "example-ipv4-loopback0-address-val-87072",
"nm-lan-v6-address": "example-nm-lan-v6-address-val-91063",
"management-v6-address": "example-management-v6-address-val-80466",
@@ -45,6 +45,112 @@
"nf-naming-code": "example-nf-naming-code-val-25118",
"selflink": "example-selflink-val-68404",
+ "relationship-list": {"relationship": [
+ {
+ "related-to": "service-instance",
+ "relationship-label": "org.onap.relationships.inventory.ComposedOf",
+ "related-link": "/aai/v12/business/customers/customer/e433710f-9217-458d-a79d-1c7aff376d89/service-subscriptions/service-subscription/VIRTUAL%20USP/service-instances/service-instance/2c323333-af4f-4849-af03-c862c0e93e3b",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "e433710f-9217-458d-a79d-1c7aff376d89"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "VIRTUAL USP"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "2c323333-af4f-4849-af03-c862c0e93e3b"
+ }
+ ],
+ "related-to-property": [ {
+ "property-key": "service-instance.service-instance-name",
+ "property-value": "kjhgfd1"
+ }]
+ },
+ {
+ "related-to": "vserver",
+ "relationship-label": "tosca.relationships.HostedOn",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5",
+ "relationship-data": [
+ {
+ "relationship-key": "cloud-region.cloud-owner",
+ "relationship-value": "att-aic"
+ },
+ {
+ "relationship-key": "cloud-region.cloud-region-id",
+ "relationship-value": "mtn23a"
+ },
+ {
+ "relationship-key": "tenant.tenant-id",
+ "relationship-value": "e6beab145f6b49098277ac163ac1b4f3"
+ },
+ {
+ "relationship-key": "vserver.vserver-id",
+ "relationship-value": "1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5"
+ }
+ ],
+ "related-to-property": [ {
+ "property-key": "vserver.vserver-name",
+ "property-value": "comx5000vm003"
+ }]
+ },
+ {
+ "related-to": "vserver",
+ "relationship-label": "tosca.relationships.HostedOn",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/14551849-1e70-45cd-bc5d-a256d49548a2",
+ "relationship-data": [
+ {
+ "relationship-key": "cloud-region.cloud-owner",
+ "relationship-value": "att-aic"
+ },
+ {
+ "relationship-key": "cloud-region.cloud-region-id",
+ "relationship-value": "mtn23a"
+ },
+ {
+ "relationship-key": "tenant.tenant-id",
+ "relationship-value": "e6beab145f6b49098277ac163ac1b4f3"
+ },
+ {
+ "relationship-key": "vserver.vserver-id",
+ "relationship-value": "14551849-1e70-45cd-bc5d-a256d49548a2"
+ }
+ ],
+ "related-to-property": [ {
+ "property-key": "vserver.vserver-name",
+ "property-value": "comx5000vm002"
+ }]
+ },
+ {
+ "related-to": "vserver",
+ "relationship-label": "tosca.relationships.HostedOn",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/48bd7f11-408f-417c-b834-b41c1b98f7d7",
+ "relationship-data": [
+ {
+ "relationship-key": "cloud-region.cloud-owner",
+ "relationship-value": "att-aic"
+ },
+ {
+ "relationship-key": "cloud-region.cloud-region-id",
+ "relationship-value": "mtn23a"
+ },
+ {
+ "relationship-key": "tenant.tenant-id",
+ "relationship-value": "e6beab145f6b49098277ac163ac1b4f3"
+ },
+ {
+ "relationship-key": "vserver.vserver-id",
+ "relationship-value": "48bd7f11-408f-417c-b834-b41c1b98f7d7"
+ }
+ ],
+ "related-to-property": [ {
+ "property-key": "vserver.vserver-name",
+ "property-value": "comx5000vm001"
+ }]
+ }
+ ]},
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/mockObject.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/mockObject.json
new file mode 100644
index 0000000000..2f97b47dd3
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/mockObject.json
@@ -0,0 +1,10 @@
+{
+ "id" : "something",
+ "resource-version" : "1234",
+ "plural" : {
+ "singular" : [{
+ "id" : "something2",
+ "resource-version" : "5678"
+ }]
+ }
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/APPC/appc_error.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/APPC/appc_error.json
new file mode 100644
index 0000000000..e28878d1aa
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/APPC/appc_error.json
@@ -0,0 +1,21 @@
+{
+ "output": {
+ "status": {
+ "code": 200,
+ "message": "RESULT_MESSAGE"
+ },
+ "common-header": {
+ "api-ver": "API_VERSION",
+ "request-id": "ECOMP_REQUEST_ID",
+ "originator-id": "ECOMP_SYSTEM_ID",
+ "sub-request-id": "ECOMP_SUBREQUEST_ID",
+ "timestamp": "2016-08-08T23:09:00.11Z",
+ "flags": {
+ "ttl": 1000,
+ "force": "TRUE",
+ "mode": "EXCLUSIVE"
+ }
+ },
+ "locked": "TRUE"
+ }
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetworkResponse_500.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetworkResponse_500.xml
index c67e980c63..07730e2df9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetworkResponse_500.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetworkResponse_500.xml
@@ -2,77 +2,79 @@
<head>
<title>JBoss Web/7.2.2.Final-redhat-1 - JBWEB000064: Error report
</title>
- <style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
- H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
- H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
- BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
- B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
- P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
+ <style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
+ H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
+ H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
+ BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
+ B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
+ P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
{color : black;}A.name {color : black;}HR {color : #525D76;} -->
</style>
</head>
<body>
<h1>JBWEB000065: HTTP Status 500 - java.lang.NullPointerException</h1>
- <HR size="1" noshade="noshade">
- <p>
- <b>JBWEB000309: type</b>
- JBWEB000066: Exception report
- </p>
- <p>
- <b>JBWEB000068: message</b>
- <u>java.lang.NullPointerException</u>
- </p>
- <p>
- <b>JBWEB000069: description</b>
- <u>JBWEB000145: The server encountered an internal error that
- prevented it from fulfilling this request.</u>
- </p>
- <p>
- <b>JBWEB000070: exception</b>
- <pre>org.jboss.resteasy.spi.UnhandledException:
- java.lang.NullPointerException
- org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:365)
- org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:233)
- org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:209)
- org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:557)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
- org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
- org.openecomp.mso.logger.LogFilter.doFilter(LogFilter.java:35)
- </pre>
- </p>
- <p>
- <b>JBWEB000071: root cause</b>
- <pre>java.lang.NullPointerException
- org.openecomp.mso.adapters.network.NetworkAdapterRest$CreateNetworkVolumesTask.run(NetworkAdapterRest.java:128)
- org.openecomp.mso.adapters.network.NetworkAdapterRest.createNetwork(NetworkAdapterRest.java:64)
- sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
- sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- java.lang.reflect.Method.invoke(Method.java:606)
- org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
- org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
- org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
- org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
- org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
- org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
- org.openecomp.mso.logger.LogFilter.doFilter(LogFilter.java:35)
- </pre>
- </p>
- <p>
- <b>JBWEB000072: note</b>
- <u>JBWEB000073: The full stack trace of the root cause is available
- in the JBoss Web/7.2.2.Final-redhat-1 logs.</u>
- </p>
- <HR size="1" noshade="noshade">
- <h3>JBoss Web/7.2.2.Final-redhat-1</h3>
+ <HR size="1" noshade="noshade" />
+ <p>
+ <b>JBWEB000309: type</b>
+ JBWEB000066: Exception report
+ </p>
+ <p>
+ <b>JBWEB000068: message</b>
+ <u>java.lang.NullPointerException</u>
+ </p>
+ <p>
+ <b>JBWEB000069: description</b>
+ <u>JBWEB000145: The server encountered an internal error that
+ prevented it from fulfilling this request.
+ </u>
+ </p>
+ <p>
+ <b>JBWEB000070: exception</b>
+ <pre>org.jboss.resteasy.spi.UnhandledException:
+ java.lang.NullPointerException
+ org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:365)
+ org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:233)
+ org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:209)
+ org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:557)
+ org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
+ org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
+ org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
+ javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
+ org.openecomp.mso.logger.LogFilter.doFilter(LogFilter.java:35)
+ </pre>
+ </p>
+ <p>
+ <b>JBWEB000071: root cause</b>
+ <pre>java.lang.NullPointerException
+ org.openecomp.mso.adapters.network.NetworkAdapterRest$CreateNetworkVolumesTask.run(NetworkAdapterRest.java:128)
+ org.openecomp.mso.adapters.network.NetworkAdapterRest.createNetwork(NetworkAdapterRest.java:64)
+ sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ java.lang.reflect.Method.invoke(Method.java:606)
+ org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
+ org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
+ org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
+ org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
+ org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)
+ org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
+ org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
+ org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
+ javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
+ org.openecomp.mso.logger.LogFilter.doFilter(LogFilter.java:35)
+ </pre>
+ </p>
+ <p>
+ <b>JBWEB000072: note</b>
+ <u>JBWEB000073: The full stack trace of the root cause is available
+ in the JBoss Web/7.2.2.Final-redhat-1 logs.
+ </u>
+ </p>
+ <HR size="1" noshade="noshade" />
+ <h3>JBoss Web/7.2.2.Final-redhat-1</h3>
</body>
</html> \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml
index 59deca9aee..6e33a532af 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml
@@ -33,6 +33,21 @@
<orchestration-status>pending-create</orchestration-status>
<dhcp-enabled>true</dhcp-enabled>
<subnet-name>subnetName</subnet-name>
+ <ip-assignment-direction>true</ip-assignment-direction>
+ <host-routes>
+ <host-route>
+ <host-route-id>string</host-route-id>
+ <route-prefix>192.10.16.0/24</route-prefix>
+ <next-hop>192.10.16.100/24</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ </host-route>
+ <host-route>
+ <host-route-id>string</host-route-id>
+ <route-prefix>192.110.17.0/24</route-prefix>
+ <next-hop>192.110.17.110/24</next-hop>
+ <next-hop-type>ip-address</next-hop-type>
+ </host-route>
+ </host-routes>
<relationship-list/>
</subnet>
</subnets>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetwork_queryVpnBindingList_AAIResponse_Success.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetwork_queryVpnBindingList_AAIResponse_Success.xml
new file mode 100644
index 0000000000..d1b7ea7cdf
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateNetworkV2/createNetwork_queryVpnBindingList_AAIResponse_Success.xml
@@ -0,0 +1,57 @@
+<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"
+ statusCode="200">
+ <rest:headers>
+ <rest:header name="Transfer-Encoding" value="chunked"/>
+ <rest:header name="Date" value="Mon,14 Mar 2016 20:53:33 GMT"/>
+ <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>
+ <rest:header name="X-AAI-TXID"
+ value="mtcnjv9aaas01.mtcnj.aic.cip.com-20160314-20:53:33:487-134392"/>
+ <rest:header name="Content-Type" value="application/xml"/>
+ <rest:header name="Server" value="Apache-Coyote/1.1"/>
+ <rest:header name="Cache-Control" value="private"/>
+ </rest:headers>
+ <rest:payload contentType="text/xml">
+ <vpn-binding xmlns="http://org.openecomp.aai.inventory/v8">
+ <vpn-id>9a7b327d9-287aa00-82c4b0-105757</vpn-id>
+ <vpn-name>GN_EVPN_Test</vpn-name>
+ <route-targets>
+ <route-target>
+ <global-route-target>13979:105708</global-route-target>
+ <route-target-role>EXPORT</route-target-role>
+ <resource-version>1504025599510</resource-version>
+ </route-target>
+ <route-target>
+ <global-route-target>13979:105707</global-route-target>
+ <route-target-role>IMPORT</route-target-role>
+ <resource-version>1504025599519</resource-version>
+ </route-target>
+ </route-targets>
+ <relationship-list>
+ <relationship>
+ <related-to>l3-network</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/l3-networks/l3-network/689ec39e-c5fc-4462-8db2-4f760763ad28/</related-link>
+ <relationship-data>
+ <relationship-key>l3-network.network-id</relationship-key>
+ <relationship-value>689ec39e-c5fc-4462-8db2-4f760763ad28</relationship-value>
+ </relationship-data>
+ </relationship>
+ <relationship>
+ <related-to>l3-network</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/l3-networks/l3-network/1a49396b-19b3-40a4-8792-aa2fbd0f0704/</related-link>
+ <relationship-data>
+ <relationship-key>l3-network.network-id</relationship-key>
+ <relationship-value>1a49396b-19b3-40a4-8792-aa2fbd0f0704</relationship-value>
+ </relationship-data>
+ </relationship>
+ <relationship>
+ <related-to>l3-network</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/l3-networks/l3-network/774f3329-3c83-4771-86c7-9e6207cd50fd/</related-link>
+ <relationship-data>
+ <relationship-key>l3-network.network-id</relationship-key>
+ <relationship-value>774f3329-3c83-4771-86c7-9e6207cd50fd</relationship-value>
+ </relationship-data>
+ </relationship>
+ </relationship-list>
+ </vpn-binding>
+ </rest:payload>
+</rest:RESTResponse> \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateServiceInstance/DoCreateServiceInstanceInput.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateServiceInstance/DoCreateServiceInstanceInput.json
new file mode 100644
index 0000000000..0d8a22c920
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateServiceInstance/DoCreateServiceInstanceInput.json
@@ -0,0 +1,42 @@
+{
+"requestDetails": {
+"modelInfo": {
+"modelType": "service",
+"modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
+"modelVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
+"modelName": "Test",
+"modelVersion": "1.0"
+},
+"cloudConfiguration": {
+"lcpCloudRegionId": "mdt1",
+"tenantId": "88a6ca3ee0394ade9403f075db23167e"
+},
+"owningEntity": {
+"owningEntityId": "a",
+"owningEntityName": "a"
+},
+"project": {
+"projectName": "temp project"
+},
+"subscriberInfo": {
+"globalSubscriberId": "some subscriber id",
+"subscriberName": "some subscriber name"
+},
+"requestInfo": {
+"productFamilyId":"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
+"source": "VID",
+"suppressRollback": true,
+"requestorId": "az2016"
+},
+"requestParameters": {
+"subscriptionServiceType": "MOG",
+"aLaCarte": false,
+"userParams": [
+{
+"name": "someUserParam",
+"value": "someValue"
+}
+]
+}
+}
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateServiceInstance/SetupServiceDecompJson.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateServiceInstance/SetupServiceDecompJson.json
new file mode 100644
index 0000000000..c2cc687066
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateServiceInstance/SetupServiceDecompJson.json
@@ -0,0 +1,33 @@
+{
+"requestDetails": {
+ "serviceInstance":{
+ "serviceInstanceId": "MSORefactorTest1",
+ "serviceInstanceName": "bensServiceInstance",
+ "serviceType": "refactorServiceType",
+ "serviceRole": "abc",
+ "modelInvariantUuid": "9647dfc4-2083-11e7-93ae-92361f002671",
+ "modelUuid": "5df8b6de-2083-11e7-93ae-92361f002671",
+ "modelVersion": "1.0",
+ "modelName": "MSOTADevInfra_vSAMP10a_Service",
+ "environmentContext": "a",
+ "workloadContext": "b"
+ },
+ "project":{
+ "projectName": "MSORefactorTest1"
+ },
+ "owningEntity":{
+ "owningEntityId": "MSORefactorTestId123",
+ "owningEntityName": "MSORefactorTest1"
+ },
+ "customer":{
+ "subscriptionServiceType": "refactorServiceType",
+ "globalSubscriberId": "MSO_1806_Refactor"
+ },
+ "request":{
+ "sdncRequestId": "abc",
+ "callbackURL": "abc",
+ "requestId": "md5621",
+ "productFamilyId": "abc"
+ }
+}
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json
index 5a7ef5e2c7..1af452143e 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_VID_request.json
@@ -58,7 +58,14 @@
{"name": "oamNetworkName", "value": "VLAN-OAM-1323" },
{"name": "vmName", "value": "slcp34246vbc246ceb" },
{"name": "ipagNetworkId", "value": "970cd2b9-7f09-4a12-af47-182ea38ba1f0" },
- {"name": "vpeNetworkId", "value": "545cc2c3-1930-4100-b534-5d82d0e12bb6" }
+ {"name": "vpeNetworkId", "value": "545cc2c3-1930-4100-b534-5d82d0e12bb6" },
+ {
+ "name": "vlc_sctp_b_route_prefixes",
+ "value": [
+ { "interface_route_table_routes_route_prefix": "107.239.41.163/32" },
+ { "interface_route_table_routes_route_prefix": "107.239.41.164/32" },
+ { "interface_route_table_routes_route_prefix": "107.239.41.165/32" }
+ ]}
]
}
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request.json
index d1e5ee1bc6..3b41ff359c 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request.json
@@ -1,69 +1,72 @@
{
-"requestDetails": {
-"modelInfo": {
-"modelType": "vfModule",
-"modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
-"modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
-"modelName": "STMTN5MMSC21-MMSC::model-1-0",
-"modelVersion": "1",
-"modelCustomizationUuid": "ee6478e5-ea33-3346-ac12-ab121484a3fe"
-},
-"subscriberInfo" : {
-"globalSubscriberId" : "MSO_1610_dev_id",
-"subscriberName" : "MSO_1610_dev_name"
-},
-"cloudConfiguration": {
-"lcpCloudRegionId": "MDTWNJ21",
-"tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
-},
-"requestInfo": {
-"instanceName": "PCRF::module-0-2",
-"source": "VID",
-"suppressRollback": true
-},
-"relatedInstanceList": [
-{
-"relatedInstance": {
-"instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
-"instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
-"modelInfo": {
-"modelType": "volumeGroup",
-"modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
-"modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
-"modelName": "vSAMP12..base..module-0",
-"modelVersion": "1"
-}
-}
-},
-{
-"relatedInstance": {
-"instanceId": "123456",
-"modelInfo": {
-"modelType": "service",
-"modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
-"modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
-"modelName": "SERVICE_MODEL_NAME",
-"modelVersion": "1.0"
-}
-}
-},
-{
-"relatedInstance": {
-"instanceId": "skask",
-"instanceName": "skask-test",
-"modelInfo": {
-"modelType": "vnf",
-"modelInvariantUuid": "skask",
-"modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
-"modelName": "vSAMP12",
-"modelVersion": "1.0",
-"modelInstanceName": "vSAMP12 1"
-}
-}
-}
-],
-"requestParameters": {
-"usePreload": true,
-"userParams": {}
-}
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "STMTN5MMSC21-MMSC::model-1-0",
+ "modelVersion": "1",
+ "modelCustomizationUuid": "ee6478e5-ea33-3346-ac12-ab121484a3fe"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "MSO_1610_dev_id",
+ "subscriberName": "MSO_1610_dev_name"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "MDTWNJ21",
+ "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
+ },
+ "requestInfo": {
+ "instanceName": "PCRF::module-0-2",
+ "source": "VID",
+ "suppressRollback": true
+ },
+ "relatedInstanceList": [
+ {
+ "relatedInstance": {
+ "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
+ "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
+ "modelInfo": {
+ "modelType": "volumeGroup",
+ "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "vSAMP12..base..module-0",
+ "modelVersion": "1"
+ }
+ }
+ },
+ {
+ "relatedInstance": {
+ "instanceId": "123456",
+ "modelInfo": {
+ "modelType": "service",
+ "modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "SERVICE_MODEL_NAME",
+ "modelVersion": "1.0"
+ }
+ }
+ },
+ {
+ "relatedInstance": {
+ "instanceId": "skask",
+ "instanceName": "skask-test",
+ "modelInfo": {
+ "modelType": "vnf",
+ "modelInvariantUuid": "skask",
+ "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "vSAMP12",
+ "modelVersion": "1.0",
+ "modelInstanceName": "vSAMP12 1"
+ }
+ }
+ }
+ ],
+ "requestParameters": {
+ "usePreload": true,
+ "aLaCarte": false,
+ "userParams": {
+ }
+ }
+ }
} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request_noPreloads.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request_noPreloads.json
index 55dc31309b..e6d126eca2 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request_noPreloads.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request_noPreloads.json
@@ -1,79 +1,79 @@
{
-"requestDetails": {
-"modelInfo": {
-"modelType": "vfModule",
-"modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
-"modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
-"modelName": "STMTN5MMSC21-MMSC::model-1-0",
-"modelVersion": "1",
-"modelCustomizationUuid": "ee6478e5-ea33-3346-ac12-ab121484a3fe"
-},
-"subscriberInfo" : {
-"globalSubscriberId" : "MSO_1610_dev_id",
-"subscriberName" : "MSO_1610_dev_name"
-},
-"cloudConfiguration": {
-"lcpCloudRegionId": "MDTWNJ21",
-"tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
-},
-"requestInfo": {
-"instanceName": "PCRF::module-0-2",
-"source": "VID",
-"suppressRollback": true
-},
-"relatedInstanceList": [
-{
-"relatedInstance": {
-"instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
-"instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
-"modelInfo": {
-"modelType": "volumeGroup",
-"modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
-"modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
-"modelName": "vSAMP12..base..module-0",
-"modelVersion": "1"
-}
-}
-},
-{
-"relatedInstance": {
-"instanceId": "123456",
-"modelInfo": {
-"modelType": "service",
-"modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
-"modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
-"modelName": "SERVICE_MODEL_NAME",
-"modelVersion": "1.0"
-}
-}
-},
-{
-"relatedInstance": {
-"instanceId": "skask",
-"instanceName": "skask-test",
-"modelInfo": {
-"modelType": "vnf",
-"modelInvariantUuid": "skask",
-"modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
-"modelName": "vSAMP12",
-"modelVersion": "1.0",
-"modelInstanceName": "vSAMP12 1"
-}
-}
-}
-],
-"requestParameters": {
-"usePreload": false,
-"userParams" : [
- {
- "name" : "someUserParam",
- "value" : "someValue"
- },
- {
- "name": "sgi_protected_subnet_id",
- "value": "thisissomefakevalue"
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "STMTN5MMSC21-MMSC::model-1-0",
+ "modelVersion": "1",
+ "modelCustomizationUuid": "ee6478e5-ea33-3346-ac12-ab121484a3fe"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "MSO_1610_dev_id",
+ "subscriberName": "MSO_1610_dev_name"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "MDTWNJ21",
+ "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
+ },
+ "requestInfo": {
+ "instanceName": "PCRF::module-0-2",
+ "source": "VID",
+ "suppressRollback": true
+ },
+ "relatedInstanceList": [
+ {
+ "relatedInstance": {
+ "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
+ "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
+ "modelInfo": {
+ "modelType": "volumeGroup",
+ "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "vSAMP12..base..module-0",
+ "modelVersion": "1"
+ }
+ }
+ },
+ {
+ "relatedInstance": {
+ "instanceId": "123456",
+ "modelInfo": {
+ "modelType": "service",
+ "modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "SERVICE_MODEL_NAME",
+ "modelVersion": "1.0"
+ }
+ }
+ },
+ {
+ "relatedInstance": {
+ "instanceId": "skask",
+ "instanceName": "skask-test",
+ "modelInfo": {
+ "modelType": "vnf",
+ "modelInvariantUuid": "skask",
+ "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "vSAMP12",
+ "modelVersion": "1.0",
+ "modelInstanceName": "vSAMP12 1"
+ }
+ }
+ }
+ ],
+ "requestParameters": {
+ "usePreload": false,
+ "userParams": [
+ {
+ "name": "someUserParam",
+ "value": "someValue"
+ },
+ {
+ "name": "sgi_protected_subnet_id",
+ "value": "thisissomefakevalue"
+ }
+ ]
+ }
}
-]
-
-}
} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request_userParam.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request_userParam.json
new file mode 100644
index 0000000000..68de099c16
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/CreateVfModule_VID_request_userParam.json
@@ -0,0 +1,77 @@
+{
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "STMTN5MMSC21-MMSC::model-1-0",
+ "modelVersion": "1",
+ "modelCustomizationUuid": "ee6478e5-ea33-3346-ac12-ab121484a3fe"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "MSO_1610_dev_id",
+ "subscriberName": "MSO_1610_dev_name"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "MDTWNJ21",
+ "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
+ },
+ "requestInfo": {
+ "instanceName": "PCRF::module-0-2",
+ "source": "VID",
+ "suppressRollback": true
+ },
+ "relatedInstanceList": [
+ {
+ "relatedInstance": {
+ "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
+ "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
+ "modelInfo": {
+ "modelType": "volumeGroup",
+ "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "vSAMP12..base..module-0",
+ "modelVersion": "1"
+ }
+ }
+ },
+ {
+ "relatedInstance": {
+ "instanceId": "123456",
+ "modelInfo": {
+ "modelType": "service",
+ "modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "SERVICE_MODEL_NAME",
+ "modelVersion": "1.0"
+ }
+ }
+ },
+ {
+ "relatedInstance": {
+ "instanceId": "skask",
+ "instanceName": "skask-test",
+ "modelInfo": {
+ "modelType": "vnf",
+ "modelInvariantUuid": "skask",
+ "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "vSAMP12",
+ "modelVersion": "1.0",
+ "modelInstanceName": "vSAMP12 1"
+ }
+ }
+ }
+ ],
+ "requestParameters": {
+ "usePreload": true,
+ "aLaCarte": false,
+ "userParams": [{
+ "name": "vlc_sctp_b_route_prefixes",
+ "value": [
+ { "interface_route_table_routes_route_prefix": "107.239.41.163/32" },
+ { "interface_route_table_routes_route_prefix": "107.239.41.164/32" },
+ { "interface_route_table_routes_route_prefix": "107.239.41.165/32" }
+ ]}
+ ]}
+ }
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/DoCreateVfModuleVolumeV1/createVfModuleVolume_VID_request.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/DoCreateVfModuleVolumeV1/createVfModuleVolume_VID_request.json
index 5a05061098..6cc84c79b6 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/DoCreateVfModuleVolumeV1/createVfModuleVolume_VID_request.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/DoCreateVfModuleVolumeV1/createVfModuleVolume_VID_request.json
@@ -28,7 +28,8 @@
"modelVersion": "1"
}
}
- }, {
+ },
+ {
"relatedInstance": {
"instanceId": "{vnf-instance-id}",
"modelInfo": {
@@ -44,21 +45,60 @@
"requestParameters": {
"backoutOnFailure": true,
"serviceId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
- "userParams": {
- {"name": "vnfName", "value": "STMTN5MMSC20" },
- {"name": "vnfName2", "value": "US1117MTSNJVBR0246" },
- {"name": "vnfNmInformation", "value": "" },
- {"name": "vnfType", "value": "pcrf-capacity" },
- {"name": "vnfId", "value": "skask" },
- {"name": "vnfStackId", "value": "slowburn" },
- {"name": "vnfStatus", "value": "created" },
- {"name": "aicCloudRegion", "value": "MDTWNJ21" },
- {"name": "availabilityZone", "value": "slcp3-esx-az01" },
- {"name": "oamNetworkName", "value": "VLAN-OAM-1323" },
- {"name": "vmName", "value": "slcp34246vbc246ceb" },
- {"name": "ipagNetworkId", "value": "970cd2b9-7f09-4a12-af47-182ea38ba1f0" },
- {"name": "vpeNetworkId", "value": "545cc2c3-1930-4100-b534-5d82d0e12bb6" }
- }
+ "userParams": [
+ {
+ "name": "vnfName",
+ "value": "STMTN5MMSC20"
+ },
+ {
+ "name": "vnfName2",
+ "value": "US1117MTSNJVBR0246"
+ },
+ {
+ "name": "vnfNmInformation",
+ "value": ""
+ },
+ {
+ "name": "vnfType",
+ "value": "pcrf-capacity"
+ },
+ {
+ "name": "vnfId",
+ "value": "skask"
+ },
+ {
+ "name": "vnfStackId",
+ "value": "slowburn"
+ },
+ {
+ "name": "vnfStatus",
+ "value": "created"
+ },
+ {
+ "name": "aicCloudRegion",
+ "value": "MDTWNJ21"
+ },
+ {
+ "name": "availabilityZone",
+ "value": "slcp3-esx-az01"
+ },
+ {
+ "name": "oamNetworkName",
+ "value": "VLAN-OAM-1323"
+ },
+ {
+ "name": "vmName",
+ "value": "slcp34246vbc246ceb"
+ },
+ {
+ "name": "ipagNetworkId",
+ "value": "970cd2b9-7f09-4a12-af47-182ea38ba1f0"
+ },
+ {
+ "name": "vpeNetworkId",
+ "value": "545cc2c3-1930-4100-b534-5d82d0e12bb6"
+ }
+ ]
}
}
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/ConfigVnf_VID_request.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/ConfigVnf_VID_request.json
new file mode 100644
index 0000000000..04040028c3
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/ConfigVnf_VID_request.json
@@ -0,0 +1,39 @@
+{
+"requestDetails": {
+"modelInfo": {
+"modelType": "vnf",
+"modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+"modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
+"modelName": "vSAMP12",
+"modelVersion": "1.0",
+"modelCustomizationUuid": "MODEL-ID-1234"
+},
+"cloudConfiguration": {
+"lcpCloudRegionId": "mdt1",
+"tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
+},
+"requestInfo": {
+"instanceName": "STMTN",
+"instanceId": "skask",
+"source": "VID",
+"suppressRollback": true
+},
+"relatedInstanceList": [
+{
+"relatedInstance": {
+"instanceId": "MIS%2F1604%2F0026%2FSW_INTERNET",
+"modelInfo": {
+"modelType": "service",
+"modelInvariantUuid": "995256d2-5a33-55df-13ab-12abad84e7ff",
+"modelUuid": "ab6478e5-ea33-3346-ac12-ab121484a3fe",
+"modelName": "ServicevSAMP12",
+"modelVersion": "1.0"
+}
+}
+}
+],
+"requestParameters": {
+"payload": "{\"request-parameters\":{\"host-ip-address\":\"10.10.10.10\"},\"configuration- parameters\":{\"name1\":\"value1\",\"name2\":\"value2\"}}"
+}
+}
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/CreateVnfInfraRequest.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/CreateVnfInfraRequest.json
index 3595c25584..c1491d128b 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/CreateVnfInfraRequest.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/CreateVnfInfraRequest.json
@@ -34,6 +34,13 @@
}
],
"requestParameters": {
- }
+ },
+ "platform": {
+ "platformName": "platform name"
+ },
+ "lineOfBusiness": {
+ "lineOfBusinessName": "line of business names"
+ }
}
+
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/DoCreateServiceInstance_request.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/DoCreateServiceInstance_request.json
new file mode 100644
index 0000000000..640e16b634
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/DoCreateServiceInstance_request.json
@@ -0,0 +1,186 @@
+{ "serviceResources" : {
+ "modelInfo" : {
+ "modelName" : "MSOTADevInfra_vSAMP10a_Service",
+ "modelUuid" : "5df8b6de-2083-11e7-93ae-92361f002671",
+ "modelInvariantUuid" : "9647dfc4-2083-11e7-93ae-92361f002671",
+ "modelVersion" : "1.0"
+ },
+ "serviceType" : "PortMirroring",
+ "serviceRole" : "InfraRole",
+ "environmentContext" : "Luna",
+ "workloadContext" : "Oxygen",
+ "serviceVnfs": [
+
+ { "modelInfo" : {
+ "modelName" : "vSAMP10a",
+ "modelUuid" : "ff2ae348-214a-11e7-93ae-92361f002671",
+ "modelInvariantUuid" : "2fff5b20-214b-11e7-93ae-92361f002671",
+ "modelVersion" : "1.0",
+ "modelCustomizationUuid" : "68dc9a92-214c-11e7-93ae-92361f002671",
+ "modelInstanceName" : "vSAMP10a 1"
+ },
+ "toscaNodeType" : "VF",
+ "nfFunction" : null,
+ "nfType" : null,
+ "nfRole" : null,
+ "nfNamingCode" : null,
+ "multiStageDesign" : null,
+ "vfModules": [
+ {
+ "modelInfo" : {
+ "modelName" : "NetworkFqdnTest4",
+ "modelUuid" : "025606c1-4223-11e7-9252-005056850d2e",
+ "modelInvariantUuid" : "06bd0a18-65c0-4418-83c7-5b0d13cba01a",
+ "modelVersion" : "2.0",
+ "modelCustomizationUuid" : "06bd0a18-65c0-4418-83c7-5b0d13cba01a"
+ }, "isBase" : true,
+ "vfModuleLabel" : "label",
+ "initialCount" : 0,
+ "hasVolumeGroup" : true
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "NetworkFqdnTest3",
+ "modelUuid" : "02560575-4223-11e7-9252-005056850d2e",
+ "modelInvariantUuid" : "06bd0a18-65c0-4418-83c7-5b0d13cba0bb",
+ "modelVersion" : "1.0",
+ "modelCustomizationUuid" : "06bd0a18-65c0-4418-83c7-5b0d13cba0bb"
+ }, "isBase" : true,
+ "vfModuleLabel" : "label",
+ "initialCount" : 0,
+ "hasVolumeGroup" : false
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "NetworkFqdnTest5",
+ "modelUuid" : "025607e4-4223-11e7-9252-005056850d2e",
+ "modelInvariantUuid" : "06bd0a18-65c0-4418-83c7-5b0d14cba01a",
+ "modelVersion" : "1.0",
+ "modelCustomizationUuid" : "06bd0a18-65c0-4418-83c7-5b0d14cba01a"
+ }, "isBase" : false,
+ "vfModuleLabel" : "label",
+ "initialCount" : 0,
+ "hasVolumeGroup" : false
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "vSAMP10aDEV::PCM::module-2",
+ "modelUuid" : "7774b4e4-7d37-11e7-bb31-be2e44b06b34",
+ "modelInvariantUuid" : "93e9c1d2-7d37-11e7-bb31-be2e44b06b34",
+ "modelVersion" : "2",
+ "modelCustomizationUuid" : "6728bee8-7d3a-11e7-bb31-be2e44b06b34"
+ }, "isBase" : false,
+ "vfModuleLabel" : "PCM",
+ "initialCount" : 0,
+ "hasVolumeGroup" : true
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "vSAMP10aDEV::PCM::module-1",
+ "modelUuid" : "066de97e-253e-11e7-93ae-92361f002671",
+ "modelInvariantUuid" : "64efd51a-2544-11e7-93ae-92361f002671",
+ "modelVersion" : "2",
+ "modelCustomizationUuid" : "b4ea86b4-253f-11e7-93ae-92361f002671"
+ }, "isBase" : false,
+ "vfModuleLabel" : "PCM",
+ "initialCount" : 0,
+ "hasVolumeGroup" : true
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "vSAMP10aDEV::base::module-0",
+ "modelUuid" : "20c4431c-246d-11e7-93ae-92361f002671",
+ "modelInvariantUuid" : "78ca26d0-246d-11e7-93ae-92361f002671",
+ "modelVersion" : "2",
+ "modelCustomizationUuid" : "cb82ffd8-252a-11e7-93ae-92361f002671"
+ }, "isBase" : true,
+ "vfModuleLabel" : "base",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "vSAMP10a::base::module-0",
+ "modelUuid" : "02560de2-4223-11e7-9252-005056850d2e",
+ "modelInvariantUuid" : null,
+ "modelVersion" : "2",
+ "modelCustomizationUuid" : "MIGRATED_36e76920-ef30-4793-9979-cbd7d4b2bfc4"
+ }, "isBase" : true,
+ "vfModuleLabel" : "base",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "base::module-0",
+ "modelUuid" : "02561381-4223-11e7-9252-005056850d2e",
+ "modelInvariantUuid" : null,
+ "modelVersion" : "1",
+ "modelCustomizationUuid" : "MIGRATED_51baae4c-b7c7-4f57-b77e-6e01acca89e5"
+ }, "isBase" : true,
+ "vfModuleLabel" : "module-0",
+ "initialCount" : 1,
+ "hasVolumeGroup" : false
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "vSAMP10a::PCM::module-1",
+ "modelUuid" : "02560f1b-4223-11e7-9252-005056850d2e",
+ "modelInvariantUuid" : null,
+ "modelVersion" : "1",
+ "modelCustomizationUuid" : "MIGRATED_e9be2ed7-45b6-479c-b06e-9093899f8ce8"
+ }, "isBase" : true,
+ "vfModuleLabel" : "PCM",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ }
+ ]
+ }
+ ],
+ "serviceNetworks": [],
+ "serviceAllottedResources": [
+ {
+ "modelInfo" : {
+ "modelName" : "Tunnel_Xconn",
+ "modelUuid" : "f6b7d4c6-e8a4-46e2-81bc-31cad5072842",
+ "modelInvariantUuid" : "b7a1b78e-6b6b-4b36-9698-8c9530da14af",
+ "modelVersion" : "1.0",
+ "modelCustomizationUuid" : "5b9bee43-f537-4fb3-9e8b-4de9f714d28a",
+ "modelInstanceName" : "Pri_Tunnel_Xconn 9"
+ },
+ "toscaNodeType" : null,
+ "allottedResourceType" : null,
+ "allottedResourceRole" : null,
+ "providingServiceModelInvariantUuid" : null,
+ "nfFunction" : null,
+ "nfType" : null,
+ "nfRole" : null,
+ "nfNamingCode" : null
+ }
+ ],
+ "serviceConfigs": [
+ {
+ "modelInfo" : {
+ "modelName" : "Mulder",
+ "modelUuid" : "025606c1-4fff-11e7-9252-005056850d2e",
+ "modelInvariantUuid" : "025606c1-4eee-11e7-9252-005056850d2e",
+ "modelVersion" : "1.0",
+ "modelCustomizationUuid" : "025606c1-4ddd-11e7-9252-005056850d2e",
+ "modelInstanceName" : "X_FILES_001"
+ },
+ "toscaNodeType" : "Scully"
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "Krychuk",
+ "modelUuid" : "025606c1-5fff-11e7-9252-005056850d2e",
+ "modelInvariantUuid" : "025606c1-5eee-11e7-9252-005056850d2e",
+ "modelVersion" : "1.0",
+ "modelCustomizationUuid" : "025606c1-5ddd-11e7-9252-005056850d2e",
+ "modelInstanceName" : "X_FILES_002"
+ },
+ "toscaNodeType" : "Skinner"
+ }
+ ]
+ }}
+
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVfModule_VID_request.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVfModule_VID_request.json
index c40a99ef34..9564f705ae 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVfModule_VID_request.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVfModule_VID_request.json
@@ -1,61 +1,62 @@
{
-"requestDetails": {
-"modelInfo": {
-"modelType": "vfModule",
-"modelInvariantUuid": "introvert",
-"modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
-"modelName": "STMTN5MMSC21-MMSC::model-1-0",
-"modelVersion": "1",
-"modelCustomizationUuid": "MODEL12345"
-},
-"cloudConfiguration": {
-"lcpCloudRegionId": "MDTWNJ21",
-"tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
-},
-"requestInfo": {
-"instanceName": "PCRF::module-0",
-"instanceId": "supercool",
-"source": "VID",
-"suppressRollback": true
-},
-"relatedInstanceList": [
-{
-"relatedInstance": {
-"instanceId": "123456",
-"modelInfo": {
-"modelType": "service",
-"modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
-"modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
-"modelName": "SERVICE_MODEL_NAME",
-"modelVersion": "1.0"
-}
-}
-},
-{
-"relatedInstance": {
-"instanceId": "skask",
-"modelInfo": {
-"modelType": "vnf",
-"modelInvariantUuid": "skask",
-"modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
-"modelName": "vSAMP12",
-"modelVersion": "1.0",
-"modelInstanceName": "vSAMP12 1"
-}
-}
-}
-],
-"requestParameters": {
-"usePreload": false,
-"userParams" : [
- {
- "name" : "someUserParam",
- "value" : "someValue"
- },
- {
- "name": "sgi_protected_subnet_id",
- "value": "thisissomefakevalue"
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelInvariantUuid": "introvert",
+ "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "STMTN5MMSC21-MMSC::model-1-0",
+ "modelVersion": "1",
+ "modelCustomizationUuid": "MODEL12345"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "MDTWNJ21",
+ "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
+ },
+ "requestInfo": {
+ "instanceName": "PCRF::module-0",
+ "instanceId": "supercool",
+ "source": "VID",
+ "suppressRollback": true
+ },
+ "relatedInstanceList": [
+ {
+ "relatedInstance": {
+ "instanceId": "123456",
+ "modelInfo": {
+ "modelType": "service",
+ "modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
+ "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "SERVICE_MODEL_NAME",
+ "modelVersion": "1.0"
+ }
+ }
+ },
+ {
+ "relatedInstance": {
+ "instanceId": "skask",
+ "modelInfo": {
+ "modelType": "vnf",
+ "modelInvariantUuid": "skask",
+ "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
+ "modelName": "vSAMP12",
+ "modelVersion": "1.0",
+ "modelInstanceName": "vSAMP12 1"
+ }
+ }
+ }
+ ],
+ "requestParameters": {
+ "usePreload": false,
+ "userParams": [
+ {
+ "name": "someUserParam",
+ "value": "someValue"
+ },
+ {
+ "name": "sgi_protected_subnet_id",
+ "value": "thisissomefakevalue"
+ }
+ ]
+ }
}
-]
-}
} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVnf_VID_request.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVnf_VID_request.json
index cdeaf92bb9..40e7b598c0 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVnf_VID_request.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/UpdateVnf_VID_request.json
@@ -10,7 +10,7 @@
},
"cloudConfiguration": {
"lcpCloudRegionId": "mdt1",
-"tenantId": "88a6ca3ee0394ade9403f075db23167e"
+"tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
},
"requestInfo": {
"instanceName": "STMTN",
@@ -42,6 +42,14 @@
{
"name": "sgi_protected_subnet_id",
"value": "thisissomefakevalue"
+ },
+ {
+ "name": "vlc_sctp_b_route_prefixes",
+ "value": [
+ { "interface_route_table_routes_route_prefix": "107.239.41.163/32" },
+ { "interface_route_table_routes_route_prefix": "107.239.41.164/32" },
+ { "interface_route_table_routes_route_prefix": "107.239.41.165/32" }
+ ]
}
]
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/VnfInPlaceUpdate_VID_request.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/VnfInPlaceUpdate_VID_request.json
new file mode 100644
index 0000000000..009db93d68
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/InfrastructureFlows/VnfInPlaceUpdate_VID_request.json
@@ -0,0 +1,16 @@
+{
+"requestDetails": {
+"cloudConfiguration": {
+"lcpCloudRegionId": "mdt1",
+"tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
+},
+"requestInfo": {
+"source": "VID",
+"requestorId": "ab1234"
+},
+"requestParameters": {
+"payload":
+"{\"existing-software-version\": \"3.1\",\"new-software-version\": \"3.2\", \"operations-timeout\": \"3600\"}"
+}
+}
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/UpdateNetworkV2/updateNetworkResponse_500.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/UpdateNetworkV2/updateNetworkResponse_500.xml
index c67e980c63..07730e2df9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/UpdateNetworkV2/updateNetworkResponse_500.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/UpdateNetworkV2/updateNetworkResponse_500.xml
@@ -2,77 +2,79 @@
<head>
<title>JBoss Web/7.2.2.Final-redhat-1 - JBWEB000064: Error report
</title>
- <style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
- H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
- H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
- BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
- B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
- P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
+ <style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
+ H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
+ H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
+ BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
+ B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
+ P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
{color : black;}A.name {color : black;}HR {color : #525D76;} -->
</style>
</head>
<body>
<h1>JBWEB000065: HTTP Status 500 - java.lang.NullPointerException</h1>
- <HR size="1" noshade="noshade">
- <p>
- <b>JBWEB000309: type</b>
- JBWEB000066: Exception report
- </p>
- <p>
- <b>JBWEB000068: message</b>
- <u>java.lang.NullPointerException</u>
- </p>
- <p>
- <b>JBWEB000069: description</b>
- <u>JBWEB000145: The server encountered an internal error that
- prevented it from fulfilling this request.</u>
- </p>
- <p>
- <b>JBWEB000070: exception</b>
- <pre>org.jboss.resteasy.spi.UnhandledException:
- java.lang.NullPointerException
- org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:365)
- org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:233)
- org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:209)
- org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:557)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
- org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
- org.openecomp.mso.logger.LogFilter.doFilter(LogFilter.java:35)
- </pre>
- </p>
- <p>
- <b>JBWEB000071: root cause</b>
- <pre>java.lang.NullPointerException
- org.openecomp.mso.adapters.network.NetworkAdapterRest$CreateNetworkVolumesTask.run(NetworkAdapterRest.java:128)
- org.openecomp.mso.adapters.network.NetworkAdapterRest.createNetwork(NetworkAdapterRest.java:64)
- sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
- sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- java.lang.reflect.Method.invoke(Method.java:606)
- org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
- org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
- org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
- org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
- org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
- org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
- org.openecomp.mso.logger.LogFilter.doFilter(LogFilter.java:35)
- </pre>
- </p>
- <p>
- <b>JBWEB000072: note</b>
- <u>JBWEB000073: The full stack trace of the root cause is available
- in the JBoss Web/7.2.2.Final-redhat-1 logs.</u>
- </p>
- <HR size="1" noshade="noshade">
- <h3>JBoss Web/7.2.2.Final-redhat-1</h3>
+ <HR size="1" noshade="noshade" />
+ <p>
+ <b>JBWEB000309: type</b>
+ JBWEB000066: Exception report
+ </p>
+ <p>
+ <b>JBWEB000068: message</b>
+ <u>java.lang.NullPointerException</u>
+ </p>
+ <p>
+ <b>JBWEB000069: description</b>
+ <u>JBWEB000145: The server encountered an internal error that
+ prevented it from fulfilling this request.
+ </u>
+ </p>
+ <p>
+ <b>JBWEB000070: exception</b>
+ <pre>org.jboss.resteasy.spi.UnhandledException:
+ java.lang.NullPointerException
+ org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:365)
+ org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:233)
+ org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:209)
+ org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:557)
+ org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
+ org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
+ org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
+ javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
+ org.openecomp.mso.logger.LogFilter.doFilter(LogFilter.java:35)
+ </pre>
+ </p>
+ <p>
+ <b>JBWEB000071: root cause</b>
+ <pre>java.lang.NullPointerException
+ org.openecomp.mso.adapters.network.NetworkAdapterRest$CreateNetworkVolumesTask.run(NetworkAdapterRest.java:128)
+ org.openecomp.mso.adapters.network.NetworkAdapterRest.createNetwork(NetworkAdapterRest.java:64)
+ sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ java.lang.reflect.Method.invoke(Method.java:606)
+ org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
+ org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
+ org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
+ org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
+ org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)
+ org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
+ org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
+ org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
+ javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
+ org.openecomp.mso.logger.LogFilter.doFilter(LogFilter.java:35)
+ </pre>
+ </p>
+ <p>
+ <b>JBWEB000072: note</b>
+ <u>JBWEB000073: The full stack trace of the root cause is available
+ in the JBoss Web/7.2.2.Final-redhat-1 logs.
+ </u>
+ </p>
+ <HR size="1" noshade="noshade" />
+ <h3>JBoss Web/7.2.2.Final-redhat-1</h3>
</body>
</html> \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/UpdateNetworkV2/updateNetwork_queryVpnBindingList_AAIResponse_Success.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/UpdateNetworkV2/updateNetwork_queryVpnBindingList_AAIResponse_Success.xml
new file mode 100644
index 0000000000..671da0c9e2
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/UpdateNetworkV2/updateNetwork_queryVpnBindingList_AAIResponse_Success.xml
@@ -0,0 +1,57 @@
+<rest:RESTResponse xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd"
+ statusCode="200">
+ <rest:headers>
+ <rest:header name="Transfer-Encoding" value="chunked"/>
+ <rest:header name="Date" value="Mon,14 Mar 2016 20:53:33 GMT"/>
+ <rest:header name="Expires" value="Thu,01 Jan 1970 00:00:00 UTC"/>
+ <rest:header name="X-AAI-TXID"
+ value="mtcnjv9aaas01.mtcnj.aic.cip.com-20160314-20:53:33:487-134392"/>
+ <rest:header name="Content-Type" value="application/xml"/>
+ <rest:header name="Server" value="Apache-Coyote/1.1"/>
+ <rest:header name="Cache-Control" value="private"/>
+ </rest:headers>
+ <rest:payload contentType="text/xml">
+ <vpn-binding xmlns="http://org.openecomp.aai.inventory/v8">
+ <vpn-id>9a7b327d9-287aa00-82c4b0-105757</vpn-id>
+ <vpn-name>GN_EVPN_Test</vpn-name>
+ <route-targets>
+ <route-target>
+ <global-route-target>13979:105708</global-route-target>
+ <route-target-role>EXPORT</route-target-role>
+ <resource-version>1504025599510</resource-version>
+ </route-target>
+ <route-target>
+ <global-route-target>13979:105707</global-route-target>
+ <route-target-role>IMPORT</route-target-role>
+ <resource-version>1504025599519</resource-version>
+ </route-target>
+ </route-targets>
+ <relationship-list>
+ <relationship>
+ <related-to>l3-network</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/l3-networks/l3-network/689ec39e-c5fc-4462-8db2-4f760763ad28/</related-link>
+ <relationship-data>
+ <relationship-key>l3-network.network-id</relationship-key>
+ <relationship-value>689ec39e-c5fc-4462-8db2-4f760763ad28</relationship-value>
+ </relationship-data>
+ </relationship>
+ <relationship>
+ <related-to>l3-network</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/l3-networks/l3-network/1a49396b-19b3-40a4-8792-aa2fbd0f0704/</related-link>
+ <relationship-data>
+ <relationship-key>l3-network.network-id</relationship-key>
+ <relationship-value>1a49396b-19b3-40a4-8792-aa2fbd0f0704</relationship-value>
+ </relationship-data>
+ </relationship>
+ <relationship>
+ <related-to>l3-network</related-to>
+ <related-link>https://aai-app-e2e.test.com:8443/aai/v8/network/l3-networks/l3-network/774f3329-3c83-4771-86c7-9e6207cd50fd/</related-link>
+ <relationship-data>
+ <relationship-key>l3-network.network-id</relationship-key>
+ <relationship-value>774f3329-3c83-4771-86c7-9e6207cd50fd</relationship-value>
+ </relationship-data>
+ </relationship>
+ </relationship-list>
+ </vpn-binding>
+ </rest:payload>
+</rest:RESTResponse> \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryBRGCallback.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryBRGCallback.xml
index d47fbda01c..d81b7e8f50 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryBRGCallback.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryBRGCallback.xml
@@ -1,12 +1,12 @@
<output xmlns="org:onap:sdnctl:vnf">
<brg-topology xmlns="org:onap:sdnctl:vnf">
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>36e20198-c67a-464b-96d0-aaa99eb2639e</model-invariant-uuid>
<model-uuid>5b9b15d0-5dd7-47dc-95b9-0440c340a3ba</model-uuid>
<model-version>1.0</model-version>
<model-name>BRGmodelname</model-name>
<model-customization-uuid>013bd784-9bca-4919-ae2f-ae57af27bad9</model-customization-uuid>
- </onap-model-information>
+ </ecomp-model-information>
<allotted-resource-identifiers>
<parent-service-instance-id>parent-service-instance-id</parent-service-instance-id>
<consuming-service-intance-id>consuming-service-instance-id</consuming-service-intance-id>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryTXCCallback.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryTXCCallback.xml
index 05583cd7aa..f74e51e9d5 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryTXCCallback.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryTXCCallback.xml
@@ -1,12 +1,12 @@
<output xmlns="org:onap:sdnctl:vnf">
<tunnelxconn-topology xmlns="org:onap:sdnctl:vnf">
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>36e20198-c67a-464b-96d0-aaa99eb2639e</model-invariant-uuid>
<model-uuid>5b9b15d0-5dd7-47dc-95b9-0440c340a3ba</model-uuid>
<model-version>1.0</model-version>
<model-name>TXCmodelname</model-name>
<model-customization-uuid>013bd784-9bca-4919-ae2f-ae57af27bad9</model-customization-uuid>
- </onap-model-information>
+ </ecomp-model-information>
<allotted-resource-identifiers>
<parent-service-instance-id>parent-service-instance-id</parent-service-instance-id>
<consuming-service-intance-id>consuming-service-instance-id</consuming-service-intance-id>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/request.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/request.json
index 99941c99ce..dc4669e8d9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/request.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/request.json
@@ -30,13 +30,10 @@
{
"subscriptionServiceType":"123456789",
"aLaCarte":"false",
- "userParams":
- [
- {
- "name":"BRG_WAN_MAC_Address",
- "value":"brgmac"
- }
- ]
+ "userParams":
+ {
+ "BRG_WAN_MAC_Address" : "brgmac"
+ }
}
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml
index d47fbda01c..d81b7e8f50 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml
@@ -1,12 +1,12 @@
<output xmlns="org:onap:sdnctl:vnf">
<brg-topology xmlns="org:onap:sdnctl:vnf">
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>36e20198-c67a-464b-96d0-aaa99eb2639e</model-invariant-uuid>
<model-uuid>5b9b15d0-5dd7-47dc-95b9-0440c340a3ba</model-uuid>
<model-version>1.0</model-version>
<model-name>BRGmodelname</model-name>
<model-customization-uuid>013bd784-9bca-4919-ae2f-ae57af27bad9</model-customization-uuid>
- </onap-model-information>
+ </ecomp-model-information>
<allotted-resource-identifiers>
<parent-service-instance-id>parent-service-instance-id</parent-service-instance-id>
<consuming-service-intance-id>consuming-service-instance-id</consuming-service-intance-id>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncActivateRollbackReq.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncActivateRollbackReq.xml
index c86d9cf77f..6f86e0fb86 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncActivateRollbackReq.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncActivateRollbackReq.xml
@@ -20,7 +20,7 @@
<service-information>
<service-id></service-id>
<subscription-service-type></subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>
<subscriber-name/>
<global-customer-id></global-customer-id>
@@ -29,13 +29,13 @@
<allotted-resource-id>arId-1</allotted-resource-id>
<allotted-resource-type>brg</allotted-resource-type>
<parent-service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid></model-invariant-uuid>
<model-uuid></model-uuid>
<model-customization-uuid></model-customization-uuid>
<model-version></model-version>
<model-name></model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<brg-request-input>
<source-network>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncAssignRollbackReq.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncAssignRollbackReq.xml
index 4fe8bbcbde..30d4c7ae49 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncAssignRollbackReq.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncAssignRollbackReq.xml
@@ -20,7 +20,7 @@
<service-information>
<service-id></service-id>
<subscription-service-type></subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>
<subscriber-name/>
<global-customer-id></global-customer-id>
@@ -29,13 +29,13 @@
<allotted-resource-id>arId-1</allotted-resource-id>
<allotted-resource-type>brg</allotted-resource-type>
<parent-service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid></model-invariant-uuid>
<model-uuid></model-uuid>
<model-customization-uuid></model-customization-uuid>
<model-version></model-version>
<model-name></model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<brg-request-input>
<source-network>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncCreateRollbackReq.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncCreateRollbackReq.xml
index 7320038de4..e20850a7b9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncCreateRollbackReq.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncCreateRollbackReq.xml
@@ -20,7 +20,7 @@
<service-information>
<service-id></service-id>
<subscription-service-type></subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>
<subscriber-name/>
<global-customer-id></global-customer-id>
@@ -29,13 +29,13 @@
<allotted-resource-id>arId-1</allotted-resource-id>
<allotted-resource-type>brg</allotted-resource-type>
<parent-service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid></model-invariant-uuid>
<model-uuid></model-uuid>
<model-customization-uuid></model-customization-uuid>
<model-version></model-version>
<model-name></model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<brg-request-input>
<source-network>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml
index 05583cd7aa..f74e51e9d5 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml
@@ -1,12 +1,12 @@
<output xmlns="org:onap:sdnctl:vnf">
<tunnelxconn-topology xmlns="org:onap:sdnctl:vnf">
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid>36e20198-c67a-464b-96d0-aaa99eb2639e</model-invariant-uuid>
<model-uuid>5b9b15d0-5dd7-47dc-95b9-0440c340a3ba</model-uuid>
<model-version>1.0</model-version>
<model-name>TXCmodelname</model-name>
<model-customization-uuid>013bd784-9bca-4919-ae2f-ae57af27bad9</model-customization-uuid>
- </onap-model-information>
+ </ecomp-model-information>
<allotted-resource-identifiers>
<parent-service-instance-id>parent-service-instance-id</parent-service-instance-id>
<consuming-service-intance-id>consuming-service-instance-id</consuming-service-intance-id>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncActivateRollbackReq.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncActivateRollbackReq.xml
index 6d2edbe9d6..efec7eb001 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncActivateRollbackReq.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncActivateRollbackReq.xml
@@ -20,7 +20,7 @@
<service-information>
<service-id></service-id>
<subscription-service-type></subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>
<subscriber-name/>
<global-customer-id></global-customer-id>
@@ -29,13 +29,13 @@
<allotted-resource-id>arId-1</allotted-resource-id>
<allotted-resource-type>tunnelxconn</allotted-resource-type>
<parent-service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid></model-invariant-uuid>
<model-uuid></model-uuid>
<model-customization-uuid></model-customization-uuid>
<model-version></model-version>
<model-name></model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<tunnelxconn-request-input>
<source-network>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncAssignRollbackReq.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncAssignRollbackReq.xml
index d33fadb427..9f52758750 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncAssignRollbackReq.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncAssignRollbackReq.xml
@@ -20,7 +20,7 @@
<service-information>
<service-id></service-id>
<subscription-service-type></subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>
<subscriber-name/>
<global-customer-id></global-customer-id>
@@ -29,13 +29,13 @@
<allotted-resource-id>arId-1</allotted-resource-id>
<allotted-resource-type>tunnelxconn</allotted-resource-type>
<parent-service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid></model-invariant-uuid>
<model-uuid></model-uuid>
<model-customization-uuid></model-customization-uuid>
<model-version></model-version>
<model-name></model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<tunnelxconn-request-input>
<source-network>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncCreateRollbackReq.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncCreateRollbackReq.xml
index 4a90f1a573..025195e326 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncCreateRollbackReq.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncCreateRollbackReq.xml
@@ -20,7 +20,7 @@
<service-information>
<service-id></service-id>
<subscription-service-type></subscription-service-type>
- <onap-model-information></onap-model-information>
+ <ecomp-model-information></ecomp-model-information>
<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>
<subscriber-name/>
<global-customer-id></global-customer-id>
@@ -29,13 +29,13 @@
<allotted-resource-id>arId-1</allotted-resource-id>
<allotted-resource-type>tunnelxconn</allotted-resource-type>
<parent-service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</parent-service-instance-id>
- <onap-model-information>
+ <ecomp-model-information>
<model-invariant-uuid></model-invariant-uuid>
<model-uuid></model-uuid>
<model-customization-uuid></model-customization-uuid>
<model-version></model-version>
<model-name></model-name>
- </onap-model-information>
+ </ecomp-model-information>
</allotted-resource-information>
<tunnelxconn-request-input>
<source-network>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesData.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesData.json
new file mode 100644
index 0000000000..d05fccf98a
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesData.json
@@ -0,0 +1,94 @@
+{ "serviceResources" : {
+ "modelInfo" : {
+ "modelName" : "MSO Test Network",
+ "modelUuid" : "aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e",
+ "modelInvariantUuid" : "52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f",
+ "modelVersion" : null
+ },
+ "serviceVnfs": [
+ { "modelInfo" : {
+ "modelName" : "vHNF for DHV Test",
+ "modelUuid" : "7097d8bb-f6ad-4cf7-866e-6a04c8f1b332",
+ "modelInvariantUuid" : "6ea0b528-e303-4686-aa77-aa2fcbdccb96",
+ "modelVersion" : "2.0",
+ "modelCustomizationUuid" : "da86dd87-43c5-458c-b226-5315b7be9ad5",
+ "modelInstanceName" : "vHNF for DHV Test 17"
+ },
+ "toscaNodeType" : null,
+ "nfFunction" : null,
+ "nfType" : null,
+ "nfRole" : null,
+ "nfNamingCode" : null,
+ "multiStageDesign" : null,
+ "vfModules": [
+ {
+ "modelInfo" : {
+ "modelName" : "VhnfForDhvTest..base_TEST..module-0",
+ "modelUuid" : "ebc3d18c-3e62-4c24-bcd6-961e98701a0a",
+ "modelInvariantUuid" : "f5696ec0-ec71-4916-bf3b-93a654efcba4",
+ "modelVersion" : "1",
+ "modelCustomizationUuid" : "1740536a-742e-40f5-b9c8-83918849a787"
+ }, "isBase" : true,
+ "vfModuleLabel" : "base_TEST",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ }
+ ]
+ }
+ ],
+ "serviceNetworks": [
+ {
+ "modelInfo" : {
+ "modelName" : "CONTRAIL_BASIC",
+ "modelUuid" : "fe5be3a6-dbe0-46d6-bcac-44dc841a7edc",
+ "modelInvariantUuid" : "ab07fbd8-185a-45ac-be45-db3eb02e98d5",
+ "modelVersion" : null,
+ "modelCustomizationUuid" : "0cb9b26a-9820-48a7-86e5-16c510e993d9",
+ "modelInstanceName" : "CONTRAIL_BASIC 5"
+ },
+ "toscaNodeType" : null,
+ "networkType" : null,
+ "networkTechnology" : null,
+ "networkRole" : null,
+ "networkScope" : null
+ }
+ ],
+ "serviceAllottedResources": [
+ {
+ "modelInfo" : {
+ "modelName" : "IP_MUX_Demux",
+ "modelUuid" : "64a1a718-556b-48ce-b3b7-ed3237ccc94f",
+ "modelInvariantUuid" : "f110ef53-a0a6-4d72-ab91-fd88a835e8c4",
+ "modelVersion" : "2.0",
+ "modelCustomizationUuid" : "4bab0880-2f06-4aeb-87cb-3734c8e8bf93",
+ "modelInstanceName" : "Pri_IP_MUX_Demux 1"
+ },
+ "toscaNodeType" : null,
+ "allottedResourceType" : "ContrailRoute",
+ "allottedResourceRole" : null,
+ "providingServiceModelInvariantUuid" : null,
+ "nfFunction" : null,
+ "nfType" : null,
+ "nfRole" : null,
+ "nfNamingCode" : null
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "Service_Admin",
+ "modelUuid" : "73501e03-ee76-4509-a8ce-96d2a9f33ee9",
+ "modelInvariantUuid" : "462edf71-1a3c-487b-bf55-497460ab7de3",
+ "modelVersion" : "2.0",
+ "modelCustomizationUuid" : "a896ffad-c8f9-404e-a527-7a8d0cc99ce6",
+ "modelInstanceName" : "Pri_Service_Admin 5"
+ },
+ "toscaNodeType" : null,
+ "allottedResourceType" : "SecurityZone",
+ "allottedResourceRole" : null,
+ "providingServiceModelInvariantUuid" : null,
+ "nfFunction" : null,
+ "nfType" : null,
+ "nfRole" : null,
+ "nfNamingCode" : null
+ }
+ ]
+ }} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json
index 9126442ddb..b6e8a94888 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForReplaceVnfInfra.json
@@ -1,4 +1,8 @@
{ "serviceResources" : {
+ "serviceType" : "PortMirroring",
+ "serviceRole" : "InfraRole",
+ "environmentContext" : "Luna",
+ "workloadContext" : "Oxygen",
"modelInfo" : {
"modelName" : "MSO Test Network",
"modelUuid" : "aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e",
@@ -19,6 +23,7 @@
"nfType" : null,
"nfRole" : "vSCP",
"nfNamingCode" : null,
+ "multiStageDesign" : null,
"vfModules": [
{
"modelInfo" : {
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json
index eac0957fd3..5597abbc78 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogServiceResourcesDataForUpdateVnfInfra.json
@@ -1,4 +1,8 @@
{ "serviceResources" : {
+ "serviceType" : "PortMirroring",
+ "serviceRole" : "InfraRole",
+ "environmentContext" : "Luna",
+ "workloadContext" : "Oxygen",
"modelInfo" : {
"modelName" : "MSO Test Network",
"modelUuid" : "aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e",
@@ -19,6 +23,7 @@
"nfType" : null,
"nfRole" : "vSCP",
"nfNamingCode" : null,
+ "multiStageDesign" : null,
"vfModules": [
{
"modelInfo" : {
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfData.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfData.json
new file mode 100644
index 0000000000..c7938d1af6
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfData.json
@@ -0,0 +1,44 @@
+{"serviceVnfs": [
+ { "modelInfo" : {
+ "modelName" : "vHNF for DHV Test",
+ "modelUuid" : "7097d8bb-f6ad-4cf7-866e-6a04c8f1b332",
+ "modelInvariantUuid" : "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+ "modelVersion" : "2.0",
+ "modelCustomizationUuid" : "da86dd87-43c5-458c-b226-5315b7be9ad5",
+ "modelInstanceName" : "vHNF for DHV Test 17"
+ },
+ "toscaNodeType" : null,
+ "nfFunction" : null,
+ "nfType" : null,
+ "nfRole" : "vSCP",
+ "nfNamingCode" : null,
+ "multiStageDesign" : null,
+ "vfModules": [
+ {
+ "modelInfo" : {
+ "modelName" : "VhnfForDhvTest..base_TEST..module-0",
+ "modelUuid" : "ebc3d18c-3e62-4c24-bcd6-961e98701a0a",
+ "modelInvariantUuid" : "introvert",
+ "modelVersion" : "1",
+ "modelCustomizationUuid" : "1740536a-742e-40f5-b9c8-83918849a787"
+ }, "isBase" : true,
+ "vfModuleLabel" : "base_TEST",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "VhnfForDhvTest..base_TEST..module-1",
+ "modelUuid" : "ebc3d18c-3e62-4c24-bcd6-961e98701a0b",
+ "modelInvariantUuid" : "extrovert",
+ "modelVersion" : "1",
+ "modelCustomizationUuid" : "1740536a-742e-40f5-b9c8-83918849a788"
+ }, "isBase" : false,
+ "vfModuleLabel" : "addon_TEST",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfNoTwoPhasedForVfModule.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfNoTwoPhasedForVfModule.json
new file mode 100644
index 0000000000..3067d124c3
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfNoTwoPhasedForVfModule.json
@@ -0,0 +1,44 @@
+{"serviceVnfs": [
+ { "modelInfo" : {
+ "modelName" : "vSAMP12",
+ "modelUuid" : "7097d8bb-f6ad-4cf7-866e-6a04c8f1b332",
+ "modelInvariantUuid" : "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+ "modelVersion" : "2.0",
+ "modelCustomizationUuid" : "MODEL-123",
+ "modelInstanceName" : "VNF for VF Module Create Test Two Phased"
+ },
+ "toscaNodeType" : null,
+ "nfFunction" : null,
+ "nfType" : null,
+ "nfRole" : "vSCP",
+ "nfNamingCode" : null,
+ "multiStageDesign" : null,
+ "vfModules": [
+ {
+ "modelInfo" : {
+ "modelName" : "STMTN5MMSC21-MMSC::model-1-0",
+ "modelUuid" : "ebc3d18c-3e62-4c24-bcd6-961e98701a0a",
+ "modelInvariantUuid" : "introvert",
+ "modelVersion" : "1",
+ "modelCustomizationUuid" : "1740536a-742e-40f5-b9c8-83918849a787"
+ }, "isBase" : true,
+ "vfModuleLabel" : "base_TEST",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "VhnfForDhvTest..base_TEST..module-1",
+ "modelUuid" : "ebc3d18c-3e62-4c24-bcd6-961e98701a0b",
+ "modelInvariantUuid" : "extrovert",
+ "modelVersion" : "1",
+ "modelCustomizationUuid" : "1740536a-742e-40f5-b9c8-83918849a788"
+ }, "isBase" : false,
+ "vfModuleLabel" : "addon_TEST",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfYesTwoPhasedForVfModule.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfYesTwoPhasedForVfModule.json
new file mode 100644
index 0000000000..a9b3226483
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VIPR/getCatalogVnfYesTwoPhasedForVfModule.json
@@ -0,0 +1,44 @@
+{"serviceVnfs": [
+ { "modelInfo" : {
+ "modelName" : "vSAMP12",
+ "modelUuid" : "7097d8bb-f6ad-4cf7-866e-6a04c8f1b332",
+ "modelInvariantUuid" : "ff5256d2-5a33-55df-13ab-12abad84e7ff",
+ "modelVersion" : "2.0",
+ "modelCustomizationUuid" : "MODEL-123",
+ "modelInstanceName" : "VNF for VF Module Create Test Two Phased"
+ },
+ "toscaNodeType" : null,
+ "nfFunction" : null,
+ "nfType" : null,
+ "nfRole" : "vSCP",
+ "nfNamingCode" : null,
+ "multiStageDesign" : "true",
+ "vfModules": [
+ {
+ "modelInfo" : {
+ "modelName" : "STMTN5MMSC21-MMSC::model-1-0",
+ "modelUuid" : "ebc3d18c-3e62-4c24-bcd6-961e98701a0a",
+ "modelInvariantUuid" : "introvert",
+ "modelVersion" : "1",
+ "modelCustomizationUuid" : "1740536a-742e-40f5-b9c8-83918849a787"
+ }, "isBase" : true,
+ "vfModuleLabel" : "base_TEST",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ },
+ {
+ "modelInfo" : {
+ "modelName" : "VhnfForDhvTest..base_TEST..module-1",
+ "modelUuid" : "ebc3d18c-3e62-4c24-bcd6-961e98701a0b",
+ "modelInvariantUuid" : "extrovert",
+ "modelVersion" : "1",
+ "modelCustomizationUuid" : "1740536a-742e-40f5-b9c8-83918849a788"
+ }, "isBase" : false,
+ "vfModuleLabel" : "addon_TEST",
+ "initialCount" : 1,
+ "hasVolumeGroup" : true
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/DoUpdateVfModuleRequest.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/DoUpdateVfModuleRequest.xml
new file mode 100644
index 0000000000..d041565ac7
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/DoUpdateVfModuleRequest.xml
@@ -0,0 +1,29 @@
+<vnf-request xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
+ <request-info>
+ <request-id>DEV-VF-0011</request-id>
+ <action>UPDATE_VF_MODULE</action>
+ <source>PORTAL</source>
+ </request-info>
+ <vnf-inputs>
+ <vnf-id>skask</vnf-id> <!-- Required -->
+ <vf-module-id>supercool</vf-module-id> <!-- Required -->
+ <vnf-type>pcrf-capacity</vnf-type> <!-- Optional -->
+ <vf-module-model-name>PCRF::module-0</vf-module-model-name> <!-- Required -->
+ <asdc-service-model-version></asdc-service-model-version> <!-- Optional -->
+ <service-id>serviceIdUUID</service-id> <!-- Required -->
+ <aic-cloud-region>MDTWNJ21</aic-cloud-region> <!-- Required -->
+ <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id> <!-- Required -->
+ <volume-group-id>78987</volume-group-id> <!-- Optional -->
+ <persona-model-id>introvert</persona-model-id> <!-- Optional -->
+ <persona-model-version>3.14</persona-model-version> <!-- Optional -->
+ <contrail-service-instance-fqdn>myhost.appl.edu</contrail-service-instance-fqdn> <!-- Optional -->
+ <vnf-persona-model-id>introvert</vnf-persona-model-id> <!-- Optional -->
+ <vnf-persona-model-version>3.14</vnf-persona-model-version> <!-- Optional -->
+ </vnf-inputs>
+ <vnf-params>
+ <param name="oam_network_name">VLAN-OAM-1323</param>
+ <param name="vm_name">slcp34246vbc246ceb</param>
+ <param name="ipag_network">970cd2b9-7f09-4a12-af47-182ea38ba1f0</param>
+ <param name="vpe_network">545cc2c3-1930-4100-b534-5d82d0e12bb6</param>
+ </vnf-params>
+</vnf-request>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml
index 13f675cd43..689c214cba 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml
@@ -5,13 +5,13 @@
<vf-module-type>vSAMP10aDEV::base::module-0</vf-module-type>
<vf-module-name>zmtn6nf-code-111_base_0</vf-module-name>
</vf-module-topology-identifier>
- <onap-model-information>
+ <ecomp-model-information>
<model-name>vSAMP10aDEV::base::module-0</model-name>
<model-customization-uuid>819ef122-ca19-4141-a61e-62922f8fc279</model-customization-uuid>
<model-version>ff2ae348-214a-11e7-93ae-92361f002673</model-version>
<model-invariant-uuid>3a97db99-c4bb-498a-a13a-38f65f1ced3d</model-invariant-uuid>
<model-uuid>ff2ae348-214a-11e7-93ae-92361f002673</model-uuid>
- </onap-model-information>
+ </ecomp-model-information>
<tenant>19123c2924c648eb8e42a3c1f14b7682</tenant>
<aic-cloud-region>mtn6</aic-cloud-region>
<aic-clli>AUSTTXGR</aic-clli>
@@ -37,7 +37,8 @@
</vm-names>
<vm-count>1</vm-count>
<vm-networks>
- <network-role>mog_cor_B</network-role>
+ <network-role-tag>mog_cor_B</network-role-tag>
+ <network-role>hhh</network-role>
<network-ips>
<ip-address>107.224.36.249</ip-address>
</network-ips>
@@ -78,4 +79,4 @@
</vms>
</vf-module-assignments>
</vf-module-topology>
-</output>
+</output> \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml
index dfb1986057..bc2c7b9e63 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml
@@ -9,13 +9,13 @@
<vnf-id>eac30f85-f61f-4c5f-862e-2c62f9e135de</vnf-id>
<vnf-type>null</vnf-type>
</vnf-topology-identifier-structure>
- <onap-model-information>
+ <ecomp-model-information>
<model-name>vSAMP10a_macro</model-name>
<model-customization-uuid>819ef122-ca19-4141-a61e-62922f8fc279</model-customization-uuid>
<model-version>1.0</model-version>
<model-invariant-uuid>ef176121-f02c-4dd3-927c-22131d48446b</model-invariant-uuid>
<model-uuid>ff2ae348-214a-11e7-93ae-92361f002672</model-uuid>
- </onap-model-information>
+ </ecomp-model-information>
<vnf-resource-assignments>
<vnf-networks>
<network-role>mog_exn</network-role>
@@ -79,4 +79,4 @@
<aic-cloud-region>mtn6</aic-cloud-region>
<aic-clli>AUSTTXGR</aic-clli>
</vnf-topology>
-</output>
+</output> \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/VfModule-new-PendingActivation.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/VfModule-new-PendingActivation.xml
new file mode 100644
index 0000000000..2ccba7d056
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VfModularity/VfModule-new-PendingActivation.xml
@@ -0,0 +1,9 @@
+<vf-module xmlns="http://org.openecomp.aai.inventory/v7">
+ <vf-module-id>b37d96db-7d2c-47ce-bf61-a6c7b82fe161</vf-module-id>
+ <vf-module-name>PCRF::module-0-2</vf-module-name>
+ <model-invariant-id>00000000-0000-0000-0000-000000000000</model-invariant-id>
+ <model-version-id>1.0</model-version-id>
+ <is-base-vf-module>false</is-base-vf-module>
+ <orchestration-status>PendingActivation</orchestration-status>
+ <resource-version>330-90</resource-version>
+</vf-module> \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/camunda.cfg.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/camunda.cfg.xml
index 68db73d5a5..e4e8ae5176 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/camunda.cfg.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/camunda.cfg.xml
@@ -19,14 +19,6 @@
<property name="history" value="full" />
- <property name="customPostBPMNParseListeners">
- <list>
- <bean class="org.camunda.bpm.engine.impl.bpmn.parser.FoxFailedJobParseListener" />
- </list>
- </property>
-
- <property name="failedJobCommandFactory" ref="foxFailedJobCommandFactory" />
-
<!--<property name="idGenerator" ref="uuidGenerator" />-->
<!-- engine plugins -->
@@ -36,22 +28,15 @@
<ref bean="spinProcessEnginePlugin" />
<ref bean="loggingPlugin" />
<ref bean="workflowExceptionPlugin" />
- <ref bean="workbenchPlugin" />
</list>
</property>
</bean>
- <bean id="workbenchPlugin" class="org.camunda.bpm.debugger.server.EmbeddableDebugWebsocketBootstrap">
- <property name="httpPort" value="28088"/>
- </bean>
-
<bean id="loggingPlugin" class="org.openecomp.mso.bpmn.core.plugins.LoggingAndURNMappingPlugin" />
<!-- Needed until all subflows generate MSOWorkflowException events -->
<bean id="workflowExceptionPlugin" class="org.openecomp.mso.bpmn.core.plugins.WorkflowExceptionPlugin" />
- <bean id="foxFailedJobCommandFactory" class="org.camunda.bpm.engine.impl.jobexecutor.FoxFailedJobCommandFactory" />
-
<!--<bean id="uuidGenerator" class="org.camunda.bpm.engine.impl.persistence.StrongUuidGenerator" />-->
<!-- engine plugin beans -->
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/mso.bpmn.urn.properties b/bpmn/MSOInfrastructureBPMN/src/test/resources/mso.bpmn.urn.properties
index 325ee3ce97..2e5a199cdb 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/mso.bpmn.urn.properties
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/mso.bpmn.urn.properties
@@ -14,6 +14,7 @@ mso.healthcheck.log.debug=false
mso.adapters.completemsoprocess.endpoint=http://localhost:28090/CompleteMsoProcess
mso.workflow.message.endpoint=http://localhost:8080/mso/WorkflowMessage
mso.adapters.db.endpoint=http://localhost:28090/dbadapters/MsoRequestsDbAdapter
+mso.openecomp.adapters.db.endpoint=http://localhost:28090/dbadapters/RequestsDbAdapter
mso.adapters.openecomp.db.endpoint=http://localhost:28090/dbadapters/RequestsDbAdapter
mso.adapters.db.auth=757A94191D685FD2092AC1490730A4FC
@@ -101,19 +102,25 @@ log.debug.DoUpdateNetworkInstance=true
log.debug.DoUpdateNetworkInstanceRollback=true
log.debug.CreateVnfInfra=true
log.debug.DoCreateVnf=true
+log.debug.CreateGenericALaCarteServiceInstance=true
+log.debug.DecomposeService=true
+log.debug.DoCreateServiceInstance=true
+log.debug.DoDeleteServiceInstance=true
policy.client.auth=Basic bTAzNzQzOnBvbGljeVIwY2sk
policy.auth=Basic dGVzdHBkcDphbHBoYTEyMw==
policy.environment=TEST
-policy.endpoint=http://localhost:28090/pdp/api/getDecision
+policy.endpoint=http://localhost:28090/pdp/api/
+policy.default.disposition=Skip
appc.topic.read=APPC-CL-FUSION-LCM-RESPONSE
-appc.topic.read.timeout=60000
-appc.client.response.timeout=3600000
+appc.topic.read.timeout=100
+appc.client.response.timeout=300
appc.topic.write=APPC-CL-FUSION-LCM
-appc.pool.members=uebsb91bodc.it.openecomp.org:3904,uebsb92bodc.it.openecomp.org:3904,uebsb93bodc.it.openecomp.org:3904
+appc.pool.members=localhost:28090
appc.client.key=iaEMAfjsVsZnraBP
appc.client.secret=wcivUjsjXzmGFBfxMmyJu9dz
-
+sdnc.si.sv.types=PORT-MIRROR,PPROBES
+mso.bpmn.optimisticlockingexception.retrycount=3