Dynamic Cloud Owner Support 14/70314/4
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Thu, 11 Oct 2018 17:55:37 +0000 (13:55 -0400)
committerRob Daugherty <rd472p@att.com>
Fri, 12 Oct 2018 14:10:16 +0000 (10:10 -0400)
added in cloud configuration object to request params
Fix Bean scanning so it picks up the resttemplate
removed unnecessary RestTemplate Bean configurations
corrected typo in CloudConfiguration class
updated gr api test cases with dynamic cloud owner
updated groovy files to allow for dynamic cloud owner values
updated GR API layer to include cloud owner
added enum for default cloud owner
add cloud owner variable to camunda in mapping
removed references to att-aic from BBInputSetup
updated aai schema dependency to 1.3.1 from 1.3.0
Fixed incorrect type AAIUri and updated logging in the method.
use existing service instance id instead of generating
Pass cloudOwner to process to propagate to subprocesses.

NOTE: our aai-schema dependency is 1.3.1-SNAPSHOT to be
compatible with the cloud owner changes here.  The
releaesed 1.3.0 version is NOT compatible.

Change-Id: I43b46774b77981d1c8bfe7c7a79b9434889e62ae
Issue-ID: SO-1128
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
Signed-off-by: Rob Daugherty <rd472p@att.com>
177 files changed:
adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/db/catalog/client/CatalogDbClientTest.java
adapters/mso-catalog-db-adapter/src/test/resources/db/migration/afterMigrate.sql
asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCStatusCallBack.java
asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AaiUtil.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AbstractServiceTaskProcessor.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AllottedResourceUtils.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/ConfirmVolumeGroupName.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/ConfirmVolumeGroupTenant.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/CreateAAIVfModule.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/CreateAAIVfModuleVolumeGroup.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/CustomE2EPutService.groovy [deleted file]
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DeleteAAIVfModule.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/ExternalAPIUtil.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/GenerateVfModuleName.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/GenericGetVnf.groovy [deleted file]
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/GenericPutService.groovy [deleted file]
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/NetworkUtils.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/PrepareUpdateAAIVfModule.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/UpdateAAIGenericVnf.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/UpdateAAIVfModule.groovy
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/homingobjects/Candidate.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/homingobjects/CandidateType.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupUtils.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/appc/ApplicationControllerClient.java
bpmn/MSOCommonBPMN/src/main/resources/subprocess/CustomE2EPutService.bpmn [deleted file]
bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericGetVnf.bpmn [deleted file]
bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericPutService.bpmn [deleted file]
bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/AaiUtilTest.groovy
bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/ConfirmVolumeGroupNameTest.groovy
bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/CustomE2EPutServiceTest.groovy [deleted file]
bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/GenerateVfModuleNameTest.groovy
bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/MsoGroovyTest.groovy
bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/PrepareUpdateAAIVfModuleTest.groovy
bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/UpdateAAIGenericVnfTest.groovy
bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/UpdateAAIVfModuleTest.groovy
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/mock/StubResponseAAI.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupUtilsTest.java
bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest1Vpn.json [new file with mode: 0644]
bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest3AR.json
bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest3Vpn.json [new file with mode: 0644]
bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockCMExpected.json
bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockExpected.json
bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/ServiceMacroVfModules.json
bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/ServiceMacroVnfs.json
bpmn/MSOCommonBPMN/src/test/resources/application-test.yaml
bpmn/MSORESTClient/src/main/java/org/onap/so/rest/RESTClient.java
bpmn/MSORESTClient/src/test/java/org/onap/so/rest/RESTClientTest.java
bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/GenericGetVnfIT.java [deleted file]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/AddNetworkPolicy_AAIResponse_Success.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/AddNetworkPolicy_AAIResponse_Success.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml with 70% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/DoUpdateVfModuleRequest.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/DoUpdateVfModuleRequest.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/GenericVnf.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/GenericVnf.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/QueryNetworkPolicy_AAIResponse_Success.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/QueryNetworkPolicy_AAIResponse_Success.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/SDNCTopologyActivateCallback.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/SDNCTopologyActivateCallback.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/SDNCTopologyAssignCallback.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/SDNCTopologyAssignCallback.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/SDNCTopologyChangeAssignCallback.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/SDNCTopologyChangeAssignCallback.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallback.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallback.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/StandardSDNCSynchResponse.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/StandardSDNCSynchResponse.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/UpdateAAIGenericVnfRequest.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/UpdateAAIGenericVnfRequest.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/UpdateAAIVfModuleRequest.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/UpdateAAIVfModuleRequest.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/UpdateVfModuleRequest.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/UpdateVfModuleRequest.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/VNFAdapterRestCreateCallback.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/VNFAdapterRestCreateCallback.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/VNFAdapterRestUpdateCallback.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/VNFAdapterRestUpdateCallback.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/VNFAdapterRestVolumeGroupCallback.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/VNFAdapterRestVolumeGroupCallback.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/VfModule-lukewarm.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/VfModule-lukewarm.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/VfModule-new.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/VfModule-new.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/VfModule-supercool.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/VfModule-supercool.xml with 100% similarity]
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/VolumeGroup.xml [moved from bpmn/MSOCommonBPMN/src/test/resources/__files/VfModularity/VolumeGroup.xml with 100% similarity]
bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/BaseTest.java
bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/BuildingBlockTestDataSetup.java
bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/buildingblock/SniroHomingV2Test.java
bpmn/so-bpmn-building-blocks/src/test/resources/application-test.yaml
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModule.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnf.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVnf.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/VnfInPlaceUpdate.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy
bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/aai/groovyflows/AAICreateResources.java
bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/service/ServicePluginFactory.java
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateNetworkInstanceTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateServiceInstanceTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnfTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateVfModuleTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateVnfAndModulesTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DeleteVcpeResCustServiceTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/resources/application-test.yml
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateNetworkInstance.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustService.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustServiceV2.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVfModuleInfra.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVfModuleVolumeInfraV1.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVnfInfra.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteNetworkInstance.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteVcpeResCustService.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/ReplaceVnfInfra.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/UpdateNetworkInstance.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/UpdateVfModuleInfra.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/UpdateVfModuleInfraV2.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/UpdateVnfInfra.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstanceV2.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateServiceInstance.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateVfModule.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateVnf.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteVnf.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoUpdateE2EServiceInstanceRollback.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/VCPE/DeleteVcpeResCustService/request.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/application-test.yaml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/application-test.yml
bpmn/so-bpmn-tasks/pom.xml
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/buildingblock/SniroHomingV2.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/AssignVnf.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAIInstanceGroupResources.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAIServiceInstanceResources.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAIVpnBindingResources.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapper.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapper.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/AssignVnfTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionUnitTest.java [new file with mode: 0644]
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIInstanceGroupResourcesTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapperTest.java
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/grApiVmNetworkSubSectionWith5GParams.json [new file with mode: 0644]
bpmn/so-bpmn-tasks/src/test/resources/application-test.yaml
common/pom.xml
common/src/main/java/org/onap/so/client/aai/AAIObjectPlurals.java
common/src/main/java/org/onap/so/client/aai/AAIObjectType.java
common/src/main/java/org/onap/so/constants/Defaults.java [new file with mode: 0644]
common/src/main/java/org/onap/so/serviceinstancebeans/CloudConfiguration.java
common/src/test/java/org/onap/so/serviceinstancebeans/ServiceInstanceBeansTest.java
logger/logback-spring.xml [new file with mode: 0644]
mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/RequestDbFailureException.java [new file with mode: 0644]
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java
mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java

index 5c7b64d..5e2bd82 100644 (file)
 
 package org.onap.so.db.catalog.client;
 
 
 package org.onap.so.db.catalog.client;
 
+import java.util.List;
+import java.util.UUID;
+
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Assert;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.so.adapters.catalogdb.CatalogDBApplication;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.so.adapters.catalogdb.CatalogDBApplication;
@@ -30,6 +32,7 @@ import org.onap.so.db.catalog.beans.AuthenticationType;
 import org.onap.so.db.catalog.beans.CloudIdentity;
 import org.onap.so.db.catalog.beans.CloudSite;
 import org.onap.so.db.catalog.beans.CloudifyManager;
 import org.onap.so.db.catalog.beans.CloudIdentity;
 import org.onap.so.db.catalog.beans.CloudSite;
 import org.onap.so.db.catalog.beans.CloudifyManager;
+import org.onap.so.db.catalog.beans.ExternalServiceToInternalService;
 import org.onap.so.db.catalog.beans.InstanceGroup;
 import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
 import org.onap.so.db.catalog.beans.ServerType;
 import org.onap.so.db.catalog.beans.InstanceGroup;
 import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
 import org.onap.so.db.catalog.beans.ServerType;
@@ -49,10 +52,6 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
 
-import java.net.URI;
-import java.util.List;
-import java.util.UUID;
-
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = CatalogDBApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 @ActiveProfiles("test")
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = CatalogDBApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 @ActiveProfiles("test")
@@ -414,4 +413,57 @@ public class CatalogDbClientTest {
         Assert.assertEquals("regionId", getCloudSite.getRegionId());
         Assert.assertEquals("RANDOMID", getCloudSite.getIdentityServiceId());
     }
         Assert.assertEquals("regionId", getCloudSite.getRegionId());
         Assert.assertEquals("RANDOMID", getCloudSite.getIdentityServiceId());
     }
+   @Test
+    public void testGetServiceByModelName() {
+        Service service = client.getServiceByModelName("MSOTADevInfra_Test_Service");
+        Assert.assertNotNull(service);
+        Assert.assertNotNull(service.getModelVersion());
+        Assert.assertNotNull(service.getModelInvariantUUID());
+        Assert.assertEquals("MSOTADevInfra_Test_Service", service.getModelName());
+        Assert.assertEquals("NA", service.getServiceRole());
+    }
+
+    @Test
+    public void testGetServiceByModelNameNotFound() {
+        Service service = client.getServiceByModelName("Not_Found");
+        Assert.assertNull(service);
+    }
+
+    @Test
+    public void testGetServiceByModelUUID() {
+        Service service = client.getServiceByModelUUID("5df8b6de-2083-11e7-93ae-92361f002679");
+        Assert.assertNotNull(service);
+        Assert.assertNotNull(service.getModelVersion());
+        Assert.assertNotNull(service.getModelInvariantUUID());
+        Assert.assertEquals("5df8b6de-2083-11e7-93ae-92361f002679", service.getModelUUID());
+        Assert.assertEquals("NA", service.getServiceRole());
+    }
+
+    @Test
+    public void testGetServiceByModelUUIDNotFound() {
+        Service service = client.getServiceByModelUUID("Not_Found");
+        Assert.assertNull(service);
+    }
+
+    @Test
+    public void testFindServiceRecipeByActionAndServiceModelUUID() {
+        ServiceRecipe serviceRecipe = client.findServiceRecipeByActionAndServiceModelUUID("createInstance","4694a55f-58b3-4f17-92a5-796d6f5ffd0d" );
+        Assert.assertNotNull(serviceRecipe);
+        Assert.assertNotNull(serviceRecipe.getServiceModelUUID());
+        Assert.assertNotNull(serviceRecipe.getAction());
+        Assert.assertEquals("/mso/async/services/CreateGenericALaCarteServiceInstance", serviceRecipe.getOrchestrationUri());
+        Assert.assertEquals("MSOTADevInfra aLaCarte", serviceRecipe.getDescription());
+    }
+
+    @Test
+    public void testFindServiceRecipeByActionAndServiceModelUUIDNotFound() {
+        ServiceRecipe serviceRecipe = client.findServiceRecipeByActionAndServiceModelUUID("not_found","5df8b6de-2083-11e7-93ae-test" );
+        Assert.assertNull(serviceRecipe);
+    }
+
+    @Test
+    public void testFindExternalToInternalServiceByServiceNameNotFound() {
+        ExternalServiceToInternalService externalServiceToInternalService = client.findExternalToInternalServiceByServiceName("Not_Found");
+        Assert.assertNull(externalServiceToInternalService);
+    }
 }
 }
index d5cdb18..c847556 100644 (file)
@@ -60,6 +60,9 @@ insert into tosca_csar(artifact_uuid, name, version, description, artifact_check
 insert into service(model_uuid, model_name, model_invariant_uuid, model_version, description, creation_timestamp, tosca_csar_artifact_uuid, service_type, service_role, environment_context, workload_context) values
 ('5df8b6de-2083-11e7-93ae-92361f002671', 'MSOTADevInfra_vSAMP10a_Service', '9647dfc4-2083-11e7-93ae-92361f002671', '1.0', 'MSO aLaCarte Vfmodule with addon', '2017-04-14 13:42:39', '0513f839-459d-46b6-aa3d-2edfef89a079', 'NA', 'NA', 'Luna', 'Oxygen');
 
 insert into service(model_uuid, model_name, model_invariant_uuid, model_version, description, creation_timestamp, tosca_csar_artifact_uuid, service_type, service_role, environment_context, workload_context) values
 ('5df8b6de-2083-11e7-93ae-92361f002671', 'MSOTADevInfra_vSAMP10a_Service', '9647dfc4-2083-11e7-93ae-92361f002671', '1.0', 'MSO aLaCarte Vfmodule with addon', '2017-04-14 13:42:39', '0513f839-459d-46b6-aa3d-2edfef89a079', 'NA', 'NA', 'Luna', 'Oxygen');
 
+insert into service(model_uuid, model_name, model_invariant_uuid, model_version, description, creation_timestamp, tosca_csar_artifact_uuid, service_type, service_role, environment_context, workload_context) values
+('5df8b6de-2083-11e7-93ae-92361f002679', 'MSOTADevInfra_Test_Service', '9647dfc4-2083-11e7-93ae-92361f002673', '3.0', 'MSO aLaCarte Vfmodule with addon', '2017-04-14 13:42:39', '0513f839-459d-46b6-aa3d-2edfef89a079', 'NA', 'NA', 'Luna', 'Oxygen');
+
 insert into tosca_csar(ARTIFACT_UUID,NAME,VERSION,DESCRIPTION,ARTIFACT_CHECKSUM,URL,CREATION_TIMESTAMP) values
 ('266eaf78-af74-45cd-83ec-9c477f189dc1','service-NetworkCollectionSvc0106-csar.csar','1','TOSCA definition package of the asset','OGQ1M2QyYjU0OWMzZTY4MWVlYTNhOWIxNmQ2NjEyZDQ=','/sdc/v1/catalog/services/NetworkCollectionSvc0106/1.0/artifacts/service-NetworkCollectionSvc0106-csar.csar','2018-06-01 16:06:52');
 insert into service(model_uuid, model_name, model_invariant_uuid, model_version, description, creation_timestamp, tosca_csar_artifact_uuid, service_type, service_role, environment_context, workload_context) values
 insert into tosca_csar(ARTIFACT_UUID,NAME,VERSION,DESCRIPTION,ARTIFACT_CHECKSUM,URL,CREATION_TIMESTAMP) values
 ('266eaf78-af74-45cd-83ec-9c477f189dc1','service-NetworkCollectionSvc0106-csar.csar','1','TOSCA definition package of the asset','OGQ1M2QyYjU0OWMzZTY4MWVlYTNhOWIxNmQ2NjEyZDQ=','/sdc/v1/catalog/services/NetworkCollectionSvc0106/1.0/artifacts/service-NetworkCollectionSvc0106-csar.csar','2018-06-01 16:06:52');
 insert into service(model_uuid, model_name, model_invariant_uuid, model_version, description, creation_timestamp, tosca_csar_artifact_uuid, service_type, service_role, environment_context, workload_context) values
index cbacd88..248d94d 100644 (file)
@@ -45,6 +45,7 @@ public final class ASDCStatusCallBack implements IStatusCallback {
 
        @Override
        public void activateCallback (IStatusData iStatus) {
 
        @Override
        public void activateCallback (IStatusData iStatus) {
+               
                long startTime = System.currentTimeMillis ();
                UUIDChecker.generateUUID (LOGGER);
                MsoLogger.setServiceName ("ASDCStatusCallBack");
                long startTime = System.currentTimeMillis ();
                UUIDChecker.generateUUID (LOGGER);
                MsoLogger.setServiceName ("ASDCStatusCallBack");
index 9df9ffc..ca4c5e8 100644 (file)
@@ -368,7 +368,9 @@ public class ASDCNotificationLogging {
                        }               
                        
                }
                        }               
                        
                }
-        }
+               
+        }              
+                       
         
                
                List<NodeTemplate> nodeTemplatesVLList = toscaResourceStructure.getSdcCsarHelper().getServiceVlList();
         
                
                List<NodeTemplate> nodeTemplatesVLList = toscaResourceStructure.getSdcCsarHelper().getServiceVlList();
index 3e451a5..2f4e70c 100644 (file)
  */
 
 package org.onap.so.bpmn.common.scripts
  */
 
 package org.onap.so.bpmn.common.scripts
+import java.util.regex.Matcher
+import java.util.regex.Pattern
+
+import javax.ws.rs.core.UriBuilder
+
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.UrnPropertiesReader;
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.UrnPropertiesReader;
+import org.onap.so.client.aai.AAIVersion
+import org.onap.so.client.aai.entities.uri.AAIUri
+import org.onap.so.logger.MessageEnum
+import org.onap.so.logger.MsoLogger
+import org.onap.so.openpojo.rules.HasToStringRule
 import org.onap.so.rest.APIResponse;
 import org.onap.so.rest.RESTClient
 import org.onap.so.rest.RESTConfig
 import org.onap.so.rest.APIResponse;
 import org.onap.so.rest.RESTClient
 import org.onap.so.rest.RESTConfig
-import org.springframework.web.util.UriUtils
-import org.onap.so.logger.MsoLogger
 
 
+@Deprecated
 class AaiUtil {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, AaiUtil.class);
 
 class AaiUtil {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, AaiUtil.class);
 
@@ -43,124 +52,13 @@ class AaiUtil {
        public AaiUtil(AbstractServiceTaskProcessor taskProcessor) {
                this.taskProcessor = taskProcessor
        }
        public AaiUtil(AbstractServiceTaskProcessor taskProcessor) {
                this.taskProcessor = taskProcessor
        }
-       public AaiUtil() {
-       }
-
-       public String getNetworkGenericVnfEndpoint(DelegateExecution execution) {
-               String endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-               def uri = getNetworkGenericVnfUri(execution)
-               msoLogger.debug('AaiUtil.getNetworkGenericVnfEndpoint() - AAI endpoint: ' + endpoint + uri)
-               return endpoint + uri
-       }
 
 
-       public String getNetworkGenericVnfUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'generic-vnf')
-               msoLogger.debug('AaiUtil.getNetworkGenericVnfUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getNetworkVpnBindingUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'vpn-binding')
-               msoLogger.debug('AaiUtil.getNetworkVpnBindingUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getNetworkPolicyUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'network-policy')
-               msoLogger.debug('AaiUtil.getNetworkPolicyUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getNetworkTableReferencesUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'route-table-reference')
-               msoLogger.debug('AaiUtil.getNetworkTableReferencesUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getNetworkVceUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'vce')
-               msoLogger.debug('AaiUtil.getNetworkVceUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getNetworkL3NetworkUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'l3-network')
-               msoLogger.debug('AaiUtil.getNetworkL3NetworkUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getNetworkDeviceUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'device')
-               msoLogger.debug('AaiUtil.getNetworkDeviceUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getBusinessCustomerUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'customer')
-               msoLogger.debug('AaiUtil.getBusinessCustomerUri() - AAI URI: ' + uri)
-               return uri
-       }
-       
        public String getBusinessSPPartnerUri(DelegateExecution execution) {
                def uri = getUri(execution, 'sp-partner')
                msoLogger.debug('AaiUtil.getBusinessSPPartnerUri() - AAI URI: ' + uri)
                return uri
        }
 
        public String getBusinessSPPartnerUri(DelegateExecution execution) {
                def uri = getUri(execution, 'sp-partner')
                msoLogger.debug('AaiUtil.getBusinessSPPartnerUri() - AAI URI: ' + uri)
                return uri
        }
 
-       public String getAAIServiceInstanceUri(DelegateExecution execution) {
-               String uri = getBusinessCustomerUri(execution)
-
-               uri = uri +"/" + execution.getVariable("globalSubscriberId") + "/service-subscriptions/service-subscription/" + UriUtils.encode(execution.getVariable("serviceType"),"UTF-8") + "/service-instances/service-instance/" + UriUtils.encode(execution.getVariable("serviceInstanceId"),"UTF-8")
-
-               msoLogger.debug('AaiUtil.getAAIRequestInputUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       //public String getBusinessCustomerUriv7(DelegateExecution execution) {
-       //      //def uri = getUri(execution, BUSINESS_CUSTOMERV7)
-       //      def uri = getUri(execution, 'Customer')
-       //      msoLogger.debug('AaiUtil.getBusinessCustomerUriv7() - AAI URI: ' + uri)
-       //      return uri
-       //}
-
-       public String getCloudInfrastructureCloudRegionEndpoint(DelegateExecution execution) {
-               String endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-               def uri = getCloudInfrastructureCloudRegionUri(execution)
-               msoLogger.debug('AaiUtil.getCloudInfrastructureCloudRegionEndpoint() - AAI endpoint: ' + endpoint + uri)
-               return endpoint + uri
-       }
-
-       public String getCloudInfrastructureCloudRegionUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'cloud-region')
-               msoLogger.debug('AaiUtil.getCloudInfrastructureCloudRegionUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getCloudInfrastructureTenantUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'tenant')
-               msoLogger.debug('AaiUtil.getCloudInfrastructureTenantUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getSearchNodesQueryUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'nodes-query')
-               msoLogger.debug('AaiUtil.getSearchNodesQueryUri() - AAI URI: ' + uri)
-               return uri
-       }
-
-       public String getSearchNodesQueryEndpoint(DelegateExecution execution) {
-               String endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-               def uri = getSearchNodesQueryUri(execution)
-               msoLogger.debug('AaiUtil.getSearchNodesQueryEndpoint() - AAI endpoint: ' + endpoint + uri)
-               return endpoint + uri
-       }
-
-       public String getSearchGenericQueryUri(DelegateExecution execution) {
-               def uri = getUri(execution, 'generic-query')
-               msoLogger.debug('AaiUtil.getSearchGenericQueryUri() - AAI URI: ' + uri)
-               return uri
-       }
-
        public String getVersion(DelegateExecution execution, resourceName, processKey) {
                def versionWithResourceKey = "mso.workflow.default.aai.${resourceName}.version"
                def versionWithProcessKey = "mso.workflow.custom.${processKey}.aai.version"
        public String getVersion(DelegateExecution execution, resourceName, processKey) {
                def versionWithResourceKey = "mso.workflow.default.aai.${resourceName}.version"
                def versionWithProcessKey = "mso.workflow.custom.${processKey}.aai.version"
@@ -186,53 +84,13 @@ class AaiUtil {
                (new ExceptionUtil()).buildAndThrowWorkflowException(execution, 9999, "Internal Error: One of the following should be defined in MSO URN properties file: ${versionWithResourceKey}, ${versionWithProcessKey}, ${DEFAULT_VERSION_KEY}")
        }
 
                (new ExceptionUtil()).buildAndThrowWorkflowException(execution, 9999, "Internal Error: One of the following should be defined in MSO URN properties file: ${versionWithResourceKey}, ${versionWithProcessKey}, ${DEFAULT_VERSION_KEY}")
        }
 
-       public String getMainProcessKey(DelegateExecution execution) {
-               DelegateExecution exec = execution
-
-               while (true) {
-                       DelegateExecution parent = exec.getSuperExecution()
-
-                       if (parent == null) {
-                               parent = exec.getParent()
-
-                               if (parent == null) {
-                                       break
-                               }
-                       }
-
-                       exec = parent
-               }
-
-               return execution.getProcessEngineServices().getRepositoryService()
-                       .getProcessDefinition(exec.getProcessDefinitionId()).getKey()
+       public String createAaiUri(AAIUri uri) {
+               return createAaiUri(AAIVersion.valueOf('V' + UrnPropertiesReader.getVariable(DEFAULT_VERSION_KEY)), uri)
        }
        }
-
-       public String getUri(DelegateExecution execution, resourceName) {
-
-               def processKey = getMainProcessKey(execution)
-
-               //set namespace
-               setNamespace(execution)
-
-               // Check for flow+resource specific first
-               def key = "mso.workflow.${processKey}.aai.${resourceName}.uri"
-               def uri = UrnPropertiesReader.getVariable(key, execution)
-               if(uri) {
-                       msoLogger.debug("AaiUtil.getUri() - using flow+resource specific key: ${key}=${uri}")
-                       return uri
-               }
-
-               // Check for versioned key
-               def version = getVersion(execution, resourceName, processKey)
-               key = "mso.workflow.default.aai.v${version}.${resourceName}.uri"
-               uri = UrnPropertiesReader.getVariable(key, execution)
-
-               if(uri) {
-                       msoLogger.debug("AaiUtil.getUri() - using versioned URI key: ${key}=${uri}")
-                       return uri
-               }
-
-               (new ExceptionUtil()).buildAndThrowWorkflowException(execution, 9999, 'Internal Error: AAI URI entry for ' + key + ' not defined in the MSO URN properties file')
+       public String createAaiUri(AAIVersion version, AAIUri uri) {
+               String endpoint = UrnPropertiesReader.getVariable("aai.endpoint")
+               String result = UriBuilder.fromUri(endpoint).path('aai').path(version.toString()).build().toString()
+               return UriBuilder.fromUri(result + uri.build().toString()).build().toString()
        }
 
        public String setNamespace(DelegateExecution execution) {
        }
 
        public String setNamespace(DelegateExecution execution) {
@@ -243,6 +101,18 @@ class AaiUtil {
                }
        }
 
                }
        }
 
+       public String getNamespace() {
+               return getNamespace(AAIVersion.valueOf('V' + UrnPropertiesReader.getVariable(DEFAULT_VERSION_KEY)))
+       }
+
+       public String getNamespace(AAIVersion version) {
+               String namespace = UrnPropertiesReader.getVariable(AAI_NAMESPACE_STRING_KEY)
+               if (namespace == null) {
+                  throw new Exception('Internal Error: AAI Namespace has not been set yet. A getUri() method needs to be invoked first.')
+               }
+
+               return namespace + version
+       }
        /**
         * This method can be used for getting the building namespace out of uri.
         *  NOTE: A getUri() method needs to be invoked first.
        /**
         * This method can be used for getting the building namespace out of uri.
         *  NOTE: A getUri() method needs to be invoked first.
@@ -253,12 +123,11 @@ class AaiUtil {
         *
         * @return namespace
         */
         *
         * @return namespace
         */
-
        public String getNamespaceFromUri(String uri) {
        public String getNamespaceFromUri(String uri) {
-                if (aaiNamespace == null) {
+               String namespace = UrnPropertiesReader.getVariable(AAI_NAMESPACE_STRING_KEY)
+                if (namespace == null) {
                        throw new Exception('Internal Error: AAI Namespace has not been set yet. A getUri() method needs to be invoked first.')
                }
                        throw new Exception('Internal Error: AAI Namespace has not been set yet. A getUri() method needs to be invoked first.')
                }
-               String namespace = aaiNamespace
                if(uri!=null){
                        String version = getVersionFromUri(uri)
                        return namespace + "v"+version
                if(uri!=null){
                        String version = getVersionFromUri(uri)
                        return namespace + "v"+version
@@ -296,16 +165,13 @@ class AaiUtil {
         * @return version
         */
        private String getVersionFromUri(String uri) {
         * @return version
         */
        private String getVersionFromUri(String uri) {
-               def version = ""
-               def savedVersion = ""
-               for (int x=2; x<6; x++) {
-                       version = uri.substring(uri.indexOf("v")+1,  uri.indexOf("v")+x)
-                       if (!Character.isDigit(version.charAt(version.size()-1))) {
-                               break
-                       }
-                       savedVersion = version
+
+               Matcher versionRegEx = Pattern.compile("/v(\\d+)").matcher(uri)
+               if (versionRegEx.find()) {
+                       return versionRegEx.group(1);
                }
                }
-               return savedVersion
+
+               return "";
        }
 
 
        }
 
 
@@ -336,7 +202,7 @@ class AaiUtil {
                        if (basicAuthCred != null && !"".equals(basicAuthCred)) {
                                client.addAuthorizationHeader(basicAuthCred)
                        }
                        if (basicAuthCred != null && !"".equals(basicAuthCred)) {
                                client.addAuthorizationHeader(basicAuthCred)
                        }
-                       apiResponse = client.get()
+                       apiResponse = client.httpGet()
 
                        msoLogger.trace("COMPLETED Execute AAI Get Process ")
                }catch(Exception e){
 
                        msoLogger.trace("COMPLETED Execute AAI Get Process ")
                }catch(Exception e){
@@ -682,129 +548,5 @@ class AaiUtil {
                        return 0
                }
        }
                        return 0
                }
        }
+}
 
 
-       private def getPInterface(DelegateExecution execution, String aai_uri) {
-
-               String namespace = getNamespaceFromUri(execution, aai_uri)
-               String aai_endpoint = execution.getVariable("URN_aai_endpoint")
-               String serviceAaiPath = aai_endpoint + aai_uri
-
-               APIResponse response = executeAAIGetCall(execution, serviceAaiPath)
-               return new XmlParser().parseText(response.getResponseBodyAsString())
-       }
-
-       // This method checks if interface is remote
-       private def isPInterfaceRemote(DelegateExecution execution, String uri) {
-               if(uri.contains("ext-aai-network")) {
-                       return true
-               } else {
-                       return false
-               }
-       }
-
-       // This method returns Local and remote TPs information from AAI        
-       public Map getTPsfromAAI(DelegateExecution execution) {
-               Map tpInfo = [:]
-
-               String aai_uri = '/aai/v14/network/logical-links'
-
-               String aai_endpoint = execution.getVariable("URN_aai_endpoint")
-               String serviceAaiPath = aai_endpoint + aai_uri
-
-               APIResponse response = executeAAIGetCall(execution, serviceAaiPath)
-
-               def logicalLinks = new XmlParser().parseText(response.getResponseBodyAsString())
-
-               logicalLinks."logical-link".each { link ->
-                       def isRemoteLink = false
-                       def pInterfaces = []
-                       def relationship = link."relationship-list"."relationship"
-                       relationship.each { rel ->
-                               if ("ext-aai-network".compareToIgnoreCase("${rel."related-to"[0]?.text()}") == 0) {
-                                       isRemoteLink = true
-                               }
-                               if ("p-interface".compareToIgnoreCase("${rel."related-to"[0]?.text()}") == 0) {
-                                       pInterfaces.add(rel)
-                               }
-                       }
-
-                       // if remote link then process
-                       if (isRemoteLink) {
-
-                               // find remote p interface
-                               def localTP = null
-                               def remoteTP = null
-
-                               def pInterface0 = pInterfaces[0]
-                               def pIntfUrl = "${pInterface0."related-link"[0].text()}"
-
-                               if (isRemotePInterface(execution, pIntfUrl)) {
-                                       remoteTP = pInterfaces[0]
-                                       localTP = pInterfaces[1]
-                               } else {
-                                       localTP = pInterfaces[0]
-                                       remoteTP = pInterfaces[1]
-                               }
-
-                               if (localTP != null && remoteTP != null) {
-                               
-                                       // give local tp
-                                       def tpUrl = "${localTP."related-link"[0]?.text()}"
-                                       def intfLocal = getPInterface(execution, "${localTP?."related-link"[0]?.text()}")
-                                       tpInfo.put("local-access-node-id", tpUrl.split("/")[6])
-                               
-                                       def networkRef = "${intfLocal."network-ref"[0]?.text()}".split("/")
-                                       if (networkRef.size() == 6) {
-                                               tpInfo.put("local-access-provider-id", networkRef[1])
-                                               tpInfo.put("local-access-client-id", networkRef[3])
-                                               tpInfo.put("local-access-topology-id", networkRef[5])
-                                       }
-                                       def ltpIdStr = tpUrl?.substring(tpUrl?.lastIndexOf("/") + 1)
-                                       if (ltpIdStr?.contains("-")) {
-                                               tpInfo.put("local-access-ltp-id", ltpIdStr?.substring(ltpIdStr?.lastIndexOf("-") + 1))
-                                       }
-                                       
-                                       // give remote tp
-                                       tpUrl = "${remoteTP."related-link"[0]?.text()}"
-                                       def intfRemote = getPInterface(execution, "${remoteTP."related-link"[0].text()}")
-                                       tpInfo.put("remote-access-node-id", tpUrl.split("/")[6])
-
-                                       def networkRefRemote = "${intfRemote."network-ref"[0]?.text()}".split("/")
-
-                                       if (networkRefRemote.size() == 6) {
-                                               tpInfo.put("remote-access-provider-id", networkRefRemote[1])
-                                               tpInfo.put("remote-access-client-id", networkRefRemote[3])
-                                               tpInfo.put("remote-access-topology-id", networkRefRemote[5])
-                                       }
-                                       def ltpIdStrR = tpUrl?.substring(tpUrl?.lastIndexOf("/") + 1)
-                                       if (ltpIdStrR?.contains("-")) {
-                                               tpInfo.put("remote-access-ltp-id", ltpIdStrR?.substring(ltpIdStr?.lastIndexOf("-") + 1))
-                                       }
-                                       return tpInfo
-                               }
-                       }
-
-               }
-               return tpInfo
-       }
-
-       // this method check if pInterface is remote
-       private def isRemotePInterface(DelegateExecution execution, String uri) {
-               def aai_uri = uri.substring(0, uri.indexOf("/p-interfaces"))
-
-               String namespace = getNamespaceFromUri(execution, aai_uri)
-               String aai_endpoint = execution.getVariable("URN_aai_endpoint")
-               String serviceAaiPath = aai_endpoint + aai_uri
-
-               APIResponse response = executeAAIGetCall(execution, serviceAaiPath)
-               def pnf =  new XmlParser().parseText(response.getResponseBodyAsString())
-
-               def relationship = pnf."relationship-list"."relationship"
-               relationship.each {
-                       if ("ext-aai-network".compareToIgnoreCase("${it."related-to"[0]?.text()}") == 0) {
-                               return true
-                       }
-               }
-               return false
-       }
-}
\ No newline at end of file
index 0692e50..9e71313 100644 (file)
@@ -32,6 +32,7 @@ import org.onap.so.bpmn.common.workflow.context.WorkflowCallbackResponse
 import org.onap.so.bpmn.common.workflow.context.WorkflowContextHolder
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.common.workflow.context.WorkflowContextHolder
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.UrnPropertiesReader
+import org.onap.so.client.aai.AAIResourcesClient
 import org.springframework.web.util.UriUtils
 
 public abstract class AbstractServiceTaskProcessor implements ServiceTaskProcessor {
 import org.springframework.web.util.UriUtils
 
 public abstract class AbstractServiceTaskProcessor implements ServiceTaskProcessor {
@@ -763,4 +764,7 @@ public abstract class AbstractServiceTaskProcessor implements ServiceTaskProcess
                        (new ExceptionUtil()).buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
                }
        }
                        (new ExceptionUtil()).buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
                }
        }
+    public AAIResourcesClient getAAIClient(){
+        return  new AAIResourcesClient();
+    }
 }
\ No newline at end of file
 }
\ No newline at end of file
index b054c0f..e4bc5f8 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -22,11 +22,17 @@ package org.onap.so.bpmn.common.scripts
 
 import static org.apache.commons.lang3.StringUtils.*;
 
 
 import static org.apache.commons.lang3.StringUtils.*;
 
+import javax.ws.rs.NotFoundException
+
 import org.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
+import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.AAIResourcesClient
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse;
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse;
@@ -102,7 +108,7 @@ class AllottedResourceUtils {
        // setsVariable aaiARGetResponse
        public String getARbyId (DelegateExecution execution, String allottedResourceId) {
                msoLogger.trace("getARbyId ")
        // setsVariable aaiARGetResponse
        public String getARbyId (DelegateExecution execution, String allottedResourceId) {
                msoLogger.trace("getARbyId ")
-               String arLink = getARLinkbyId(execution, allottedResourceId)
+               AAIResourceUri arLink = getARLinkbyId(execution, allottedResourceId)
                String ar = null
                if (!isBlank(arLink))
                {
                String ar = null
                if (!isBlank(arLink))
                {
@@ -111,7 +117,7 @@ class AllottedResourceUtils {
                msoLogger.trace(" Exit GetARbyId - AR:" + ar)
                return ar;
        }
                msoLogger.trace(" Exit GetARbyId - AR:" + ar)
                return ar;
        }
-       
+
        public String getPSIFmARLink(DelegateExecution execution, String arLink)
        {
                // Path: /aai/{version}/business/customers/customer/{cust}/service-subscriptions/service-subscription/{subs}/service-instances/service-instance/{psiid}/allotted-resources/allotted-resource/{arid}
        public String getPSIFmARLink(DelegateExecution execution, String arLink)
        {
                // Path: /aai/{version}/business/customers/customer/{cust}/service-subscriptions/service-subscription/{subs}/service-instances/service-instance/{psiid}/allotted-resources/allotted-resource/{arid}
@@ -129,39 +135,17 @@ class AllottedResourceUtils {
                msoLogger.trace("getARLinkbyId ")
                String arLink = null
                try {
                msoLogger.trace("getARLinkbyId ")
                String arLink = null
                try {
-                       AaiUtil aaiUriUtil = new AaiUtil(taskProcessor)
-                       String aaiNQUri = aaiUriUtil.getSearchNodesQueryEndpoint(execution)
-                       String aaiEndpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-                       String aaiUrl = "${aaiNQUri}?search-node-type=allotted-resource&filter=id:EQUALS:${allottedResourceId}"
-
-                       msoLogger.debug("getARLinkbyId url: \n" + aaiUrl)
-
-                       APIResponse response = aaiUriUtil.executeAAIGetCall(execution, aaiUrl)
-                       int responseCode = response.getStatusCode()
-                       msoLogger.debug("  GET AR response code is: " + responseCode)
-
-                       String aaiResponse = response.getResponseBodyAsString()
-                       msoLogger.debug("GET AR:" + aaiResponse)
-                       if(responseCode == 200 || responseCode == 202){
-                               msoLogger.debug("GET AR Received a Good Response Code")
-                               if(utils.nodeExists(aaiResponse, "result-data")){
-                                       msoLogger.debug("Query for AllottedResource Url Response Does Contain Data" )
-                                       arLink = utils.getNodeText(aaiResponse, "resource-link")
-                               }else{
-                                       msoLogger.debug("GET AR Response Does NOT Contain Data" )
-                               }
-                       }else if(responseCode == 404){
-                               msoLogger.debug("GET AR received a Not Found (404) Response")
-                       }
-                       else{
-                               msoLogger.debug("  GET AR received a Bad Response: \n" + aaiResponse)
-                               buildAAIErrorResponse(execution, aaiResponse, "Error retrieving AR from AAI")
-                       }
-               }catch(Exception e){
+                       AAIResourcesClient client = new AAIResourcesClient()
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.ALLOTTED_RESOURCE, allottedResourceId)
+                       AaiUtil aaiUtil = new AaiUtil()
+                       arLink = aaiUtil.createAaiUri(uri)
+               } catch (NotFoundException e) {
+                       msoLogger.debug("GET AR received a Not Found (404) Response")
+               } catch(Exception e){
                        msoLogger.debug(" Error encountered within GetAaiAR" + e.getMessage())
                        exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error in GetARbyId" + e.getMessage())
                }
                        msoLogger.debug(" Error encountered within GetAaiAR" + e.getMessage())
                        exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error in GetARbyId" + e.getMessage())
                }
-               msoLogger.trace(" Exit GetARLinkbyId - Link:" + arLink)
+               msoLogger.debug(" ***** Exit GetARLinkbyId ***** Link:" + arLink)
                return arLink
        }
 
                return arLink
        }
 
@@ -185,7 +169,7 @@ class AllottedResourceUtils {
                        }
 
                        arUrl = "${aai_endpoint}" + arEndpoint
                        }
 
                        arUrl = "${aai_endpoint}" + arEndpoint
-               
+
                        msoLogger.debug("GET AR Aai Path is: \n" + arUrl)
 
                        APIResponse response = aaiUriUtil.executeAAIGetCall(execution, arUrl)
                        msoLogger.debug("GET AR Aai Path is: \n" + arUrl)
 
                        APIResponse response = aaiUriUtil.executeAAIGetCall(execution, arUrl)
@@ -229,13 +213,13 @@ class AllottedResourceUtils {
                {
                        execution.setVariable("aaiARGetResponse", ar)
                        execution.setVariable("aaiARPath", arUrl)
                {
                        execution.setVariable("aaiARGetResponse", ar)
                        execution.setVariable("aaiARPath", arUrl)
-                       
+
                        String resourceVersion = null
                        if (utils.nodeExists(ar, "resource-version")) {
                                resourceVersion = utils.getNodeText(ar, "resource-version")
                                execution.setVariable("aaiARResourceVersion", resourceVersion)
                        }
                        String resourceVersion = null
                        if (utils.nodeExists(ar, "resource-version")) {
                                resourceVersion = utils.getNodeText(ar, "resource-version")
                                execution.setVariable("aaiARResourceVersion", resourceVersion)
                        }
-                       
+
                        String orchStatus = null
                        if (utils.nodeExists(ar, "orchestration-status")) {
                                orchStatus= utils.getNodeText(ar, "orchestration-status")
                        String orchStatus = null
                        if (utils.nodeExists(ar, "orchestration-status")) {
                                orchStatus= utils.getNodeText(ar, "orchestration-status")
@@ -285,7 +269,7 @@ class AllottedResourceUtils {
                }
                msoLogger.trace("Exit updateAROrchStatus ")
        }
                }
                msoLogger.trace("Exit updateAROrchStatus ")
        }
-       
+
        //Sets Variable "wasDeleted"
        public void deleteAR(DelegateExecution execution, String aaiARPath){
                msoLogger.trace(" deleteAR - aaiARPath:" + aaiARPath)
        //Sets Variable "wasDeleted"
        public void deleteAR(DelegateExecution execution, String aaiARPath){
                msoLogger.trace(" deleteAR - aaiARPath:" + aaiARPath)
@@ -294,14 +278,14 @@ class AllottedResourceUtils {
                        APIResponse response = aaiUriUtil.executeAAIDeleteCall(execution, aaiARPath)
                        int responseCode = response.getStatusCode()
                        execution.setVariable("deleteARResponseCode", responseCode)
                        APIResponse response = aaiUriUtil.executeAAIDeleteCall(execution, aaiARPath)
                        int responseCode = response.getStatusCode()
                        execution.setVariable("deleteARResponseCode", responseCode)
-                       
+
                        msoLogger.debug("  Delete AR response code:" + responseCode)
 
                        String aaiResponse = response.getResponseBodyAsString()
                        execution.setVariable("aaiARDeleteResponse", aaiResponse)
 
                        msoLogger.debug("Delete AR Response:" + aaiResponse)
                        msoLogger.debug("  Delete AR response code:" + responseCode)
 
                        String aaiResponse = response.getResponseBodyAsString()
                        execution.setVariable("aaiARDeleteResponse", aaiResponse)
 
                        msoLogger.debug("Delete AR Response:" + aaiResponse)
-                       
+
                        //Process Response
                        if(responseCode == 204){
                                msoLogger.debug("  Delete AR Received a Good Response")
                        //Process Response
                        if(responseCode == 204){
                                msoLogger.debug("  Delete AR Received a Good Response")
index bcd740e..c309c3b 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
  */
 
 package org.onap.so.bpmn.common.scripts
  */
 
 package org.onap.so.bpmn.common.scripts
+import javax.ws.rs.core.UriBuilder
+
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.camunda.bpm.engine.delegate.DelegateExecution
-import org.onap.so.bpmn.core.UrnPropertiesReader
-import org.onap.so.rest.APIResponse
+import org.onap.aai.domain.yang.VolumeGroup
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.constants.Defaults
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 
 public class ConfirmVolumeGroupName extends AbstractServiceTaskProcessor{
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, ConfirmVolumeGroupName.class);
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 
 public class ConfirmVolumeGroupName extends AbstractServiceTaskProcessor{
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, ConfirmVolumeGroupName.class);
-       
+
        def Prefix="CVGN_"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
 
        def Prefix="CVGN_"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
 
@@ -37,7 +42,7 @@ public class ConfirmVolumeGroupName extends AbstractServiceTaskProcessor{
                execution.setVariable("CVGN_volumeGroupName",null)
                execution.setVariable("CVGN_aicCloudRegion", null)
                execution.setVariable("CVGN_volumeGroupGetEndpoint",null)
                execution.setVariable("CVGN_volumeGroupName",null)
                execution.setVariable("CVGN_aicCloudRegion", null)
                execution.setVariable("CVGN_volumeGroupGetEndpoint",null)
-                                               
+
                // ConfirmVolumeGroupName workflow response variable placeholders
                execution.setVariable("CVGN_volumeGroupNameMatches", false)
                execution.setVariable("CVGN_queryVolumeGroupResponseCode",null)
                // ConfirmVolumeGroupName workflow response variable placeholders
                execution.setVariable("CVGN_volumeGroupNameMatches", false)
                execution.setVariable("CVGN_queryVolumeGroupResponseCode",null)
@@ -51,43 +56,31 @@ public class ConfirmVolumeGroupName extends AbstractServiceTaskProcessor{
                def volumeGroupId = execution.getVariable("ConfirmVolumeGroupName_volumeGroupId")
                def volumeGroupName= execution.getVariable("ConfirmVolumeGroupName_volumeGroupName")
                def aicCloudRegion = execution.getVariable("ConfirmVolumeGroupName_aicCloudRegion")
                def volumeGroupId = execution.getVariable("ConfirmVolumeGroupName_volumeGroupId")
                def volumeGroupName= execution.getVariable("ConfirmVolumeGroupName_volumeGroupName")
                def aicCloudRegion = execution.getVariable("ConfirmVolumeGroupName_aicCloudRegion")
-               
+
                initProcessVariables(execution)
                execution.setVariable("CVGN_volumeGroupId", volumeGroupId)
                execution.setVariable("CVGN_volumeGroupName", volumeGroupName)
                execution.setVariable("CVGN_aicCloudRegion", aicCloudRegion)
                initProcessVariables(execution)
                execution.setVariable("CVGN_volumeGroupId", volumeGroupId)
                execution.setVariable("CVGN_volumeGroupName", volumeGroupName)
                execution.setVariable("CVGN_aicCloudRegion", aicCloudRegion)
-               
-               AaiUtil aaiUriUtil = new AaiUtil(this)
-               def aai_uri = aaiUriUtil.getCloudInfrastructureCloudRegionUri(execution)
-               msoLogger.debug('AAI URI is: ' + aai_uri)
-               msoLogger.debug("AAI URI: " + aai_uri)
-               execution.setVariable("CVGN_volumeGroupGetEndpoint","${aai_uri}/${aicCloudRegion}/volume-groups/volume-group/" +
-                               volumeGroupId)          
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), aicCloudRegion, volumeGroupId)
+               execution.setVariable("CVGN_volumeGroupGetEndpoint", uri)
        }
        }
-       
+
        // send a GET request to AA&I to retrieve the Volume information based on volume-group-id
        // expect a 200 response with the information in the response body or a 404 if the volume group id does not exist
        public void queryAAIForVolumeGroupId(DelegateExecution execution) {
        // send a GET request to AA&I to retrieve the Volume information based on volume-group-id
        // expect a 200 response with the information in the response body or a 404 if the volume group id does not exist
        public void queryAAIForVolumeGroupId(DelegateExecution execution) {
-               def endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + execution.getVariable("CVGN_volumeGroupGetEndpoint")
-               
+               AAIResourceUri resourceUri = execution.getVariable("CVGN_volumeGroupGetEndpoint")
+
                try {
                try {
-                       msoLogger.debug("invoking GET call to AAI endpoint :"+System.lineSeparator()+endPoint)
-                       msoLogger.debug("queryAAIForVolumeGroupId() endpoint-" + endPoint)
-                       msoLogger.debug("ConfirmVolumeGroup sending GET call to AAI Endpoint: " + endPoint)
-
-                       AaiUtil aaiUtil = new AaiUtil(this)
-                       APIResponse response = aaiUtil.executeAAIGetCall(execution, endPoint)
-                       def responseData = response.getResponseBodyAsString()
-                       def responseStatusCode = response.getStatusCode()
-                       execution.setVariable("CVGN_queryVolumeGroupResponseCode", responseStatusCode)
-                       execution.setVariable("CVGN_queryVolumeGroupResponse", responseData)
-
-                       msoLogger.debug("Response code:" + responseStatusCode)
-                       msoLogger.debug("Response:" + responseData)
-                       msoLogger.debug("Response code:" + responseStatusCode)
-                       msoLogger.debug("Response:" + System.lineSeparator()+responseData)
+                       Optional<VolumeGroup> volumeGroupOp = getAAIClient().get(VolumeGroup.class,  resourceUri)
+            if(volumeGroupOp.isPresent()){
+                execution.setVariable("CVGN_queryVolumeGroupResponseCode", 200)
+                execution.setVariable("CVGN_queryVolumeGroupResponse", volumeGroupOp.get())
+            }else{
+                execution.setVariable("CVGN_queryVolumeGroupResponseCode", 404)
+                execution.setVariable("CVGN_queryVolumeGroupResponse", "Volume Group not Found!")
+            }
                } catch (Exception ex) {
                } catch (Exception ex) {
-       //              ex.printStackTrace()
                        msoLogger.debug("Exception occurred while executing AAI GET:" + ex.getMessage())
                        execution.setVariable("CVGN_queryVolumeGroupResponseCode", 500)
                        execution.setVariable("CVGN_queryVolumeGroupResponse", "AAI GET Failed:" + ex.getMessage())
                        msoLogger.debug("Exception occurred while executing AAI GET:" + ex.getMessage())
                        execution.setVariable("CVGN_queryVolumeGroupResponseCode", 500)
                        execution.setVariable("CVGN_queryVolumeGroupResponse", "AAI GET Failed:" + ex.getMessage())
@@ -100,17 +93,17 @@ public class ConfirmVolumeGroupName extends AbstractServiceTaskProcessor{
        public void checkAAIQueryResult(DelegateExecution execution) {
                def result = execution.getVariable("CVGN_queryVolumeGroupResponse")
 
        public void checkAAIQueryResult(DelegateExecution execution) {
                def result = execution.getVariable("CVGN_queryVolumeGroupResponse")
 
-               if (execution.getVariable("CVGN_queryVolumeGroupResponseCode") == 404) {
+        def actualVolumeGroupName = ""
+        if (execution.getVariable("CVGN_queryVolumeGroupResponseCode") == 404) {
                        msoLogger.debug('volumeGroupId does not exist in AAI')
                }
                else if (execution.getVariable("CVGN_queryVolumeGroupResponseCode") == 200) {
                        msoLogger.debug('volumeGroupId does not exist in AAI')
                }
                else if (execution.getVariable("CVGN_queryVolumeGroupResponseCode") == 200) {
+            VolumeGroup volumeGroup = execution.getVariable("CVGN_queryVolumeGroupResponse")
+            if(volumeGroup.getVolumeGroupName()!=null){
+                actualVolumeGroupName =  volumeGroup.getVolumeGroupName()
+            }
                        msoLogger.debug("volumeGroupId exists in AAI")
                }
                        msoLogger.debug("volumeGroupId exists in AAI")
                }
-               def xml = execution.getVariable("CVGN_queryVolumeGroupResponse")
-               def actualVolumeGroupName = ""
-               if (utils.nodeExists(xml, "volume-group-name")) {
-                       actualVolumeGroupName = utils.getNodeText(xml, "volume-group-name")
-               }
                execution.setVariable("CVGN_volumeGroupNameMatches", false)
                def volumeGroupName = execution.getVariable("CVGN_volumeGroupName")
 
                execution.setVariable("CVGN_volumeGroupNameMatches", false)
                def volumeGroupName = execution.getVariable("CVGN_volumeGroupName")
 
@@ -134,4 +127,10 @@ public class ConfirmVolumeGroupName extends AbstractServiceTaskProcessor{
                exceptionUtil.buildAndThrowWorkflowException(execution, 1002, errorNotAssociated)
        }
 
                exceptionUtil.buildAndThrowWorkflowException(execution, 1002, errorNotAssociated)
        }
 
-}
\ No newline at end of file
+       // sends a successful WorkflowResponse
+       public void reportSuccess(DelegateExecution execution) {
+               msoLogger.debug("Sending 200 back to the caller")
+               def responseXML = ""
+               execution.setVariable("WorkflowResponse", responseXML)
+       }
+}
index c0ed81c..13904c3 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -37,6 +37,10 @@ import org.w3c.dom.NodeList
 import org.xml.sax.InputSource
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.xml.sax.InputSource
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.constants.Defaults
 
 /**
  * Vnf Module Subflow for confirming the volume group belongs
 
 /**
  * Vnf Module Subflow for confirming the volume group belongs
@@ -63,13 +67,10 @@ class ConfirmVolumeGroupTenant extends AbstractServiceTaskProcessor{
                        String incomingGroupName = execution.getVariable("volumeGroupName")
                        String incomingTenantId = execution.getVariable("tenantId")
                        def aicCloudRegion = execution.getVariable("aicCloudRegion")
                        String incomingGroupName = execution.getVariable("volumeGroupName")
                        String incomingTenantId = execution.getVariable("tenantId")
                        def aicCloudRegion = execution.getVariable("aicCloudRegion")
-                       String aai = UrnPropertiesReader.getVariable("aai.endpoint", execution)
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       def aai_uri = aaiUriUtil.getCloudInfrastructureCloudRegionUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-
-                       String path = aai + "${aai_uri}/${aicCloudRegion}/volume-groups/volume-group/" + volumeGroupId
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), aicCloudRegion, volumeGroupId)
+                       String path = aaiUriUtil.createAaiUri(uri)
 
                        APIResponse queryAAIForVolumeGroupResponse = aaiUriUtil.executeAAIGetCall(execution, path)
 
 
                        APIResponse queryAAIForVolumeGroupResponse = aaiUriUtil.executeAAIGetCall(execution, path)
 
index 84dd706..3bbc4bd 100644 (file)
@@ -22,6 +22,10 @@ package org.onap.so.bpmn.common.scripts
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.RollbackData
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.RollbackData
 import org.onap.so.bpmn.core.UrnPropertiesReader
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.graphinventory.entities.uri.Depth
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
@@ -67,8 +71,6 @@ public class CreateAAIVfModule extends AbstractServiceTaskProcessor{
                execution.setVariable("CAAIVfMod_deleteGenericVnfResponse","")
                execution.setVariable("CAAIVfMod_deleteVfModuleResponseCode",null)
                execution.setVariable("CAAIVfMod_deleteVfModuleResponse","")
                execution.setVariable("CAAIVfMod_deleteGenericVnfResponse","")
                execution.setVariable("CAAIVfMod_deleteVfModuleResponseCode",null)
                execution.setVariable("CAAIVfMod_deleteVfModuleResponse","")
-//             execution.setVariable("CAAIVfMod_ResponseCode",null)
-//             execution.setVariable("CAAIVfMod_ErrorResponse","")
                execution.setVariable("CreateAAIVfModuleResponse","")
                execution.setVariable("RollbackData", null)
 
                execution.setVariable("CreateAAIVfModuleResponse","")
                execution.setVariable("RollbackData", null)
 
@@ -158,38 +160,38 @@ public class CreateAAIVfModule extends AbstractServiceTaskProcessor{
                execution.setVariable("CAAIVfMod_moduleModelName",execution.getVariable("vfModuleModelName"))
 
                AaiUtil aaiUriUtil = new AaiUtil(this)
                execution.setVariable("CAAIVfMod_moduleModelName",execution.getVariable("vfModuleModelName"))
 
                AaiUtil aaiUriUtil = new AaiUtil(this)
-               def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-               msoLogger.debug('AAI URI is: ' + aai_uri)
-               String aaiNamespace = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
+               String aaiNamespace = aaiUriUtil.getNamespace()
                msoLogger.debug('AAI namespace is: ' + aaiNamespace)
                msoLogger.debug('AAI namespace is: ' + aaiNamespace)
-               
-               execution.setVariable("CAAIVfMod_aaiNamespace","${aaiNamespace}")               
        
        
-               if (vnfId == null || vnfId.isEmpty()) {
-                       // TBD - assert that the vnfName is not empty
-                       execution.setVariable("CAAIVfMod_genericVnfGetEndpoint",
-                               "${aai_uri}/?vnf-name=" +
-                                       UriUtils.encode(vnfName,"UTF-8") + "&depth=1")
-               } else {
-                       execution.setVariable("CAAIVfMod_genericVnfGetEndpoint",
-                               "${aai_uri}/" + UriUtils.encode(vnfId,"UTF-8") + "?depth=1")
-               }
+               execution.setVariable("CAAIVfMod_aaiNamespace","${aaiNamespace}")               
 
 
-               msoLogger.debug("CreateAAIVfModule VNF PUT Endpoint:   ${aai_uri}/")
-               execution.setVariable("CAAIVfMod_genericVnfPutEndpoint","${aai_uri}/")
        }
        
        // send a GET request to AA&I to retrieve the Generic VNF/VF Module information based on a Vnf Name
        // expect a 200 response with the information in the response body or a 404 if the Generic VNF does not exist
        public void queryAAIForGenericVnf(DelegateExecution execution) {
        }
        
        // send a GET request to AA&I to retrieve the Generic VNF/VF Module information based on a Vnf Name
        // expect a 200 response with the information in the response body or a 404 if the Generic VNF does not exist
        public void queryAAIForGenericVnf(DelegateExecution execution) {
-               def endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + execution.getVariable("CAAIVfMod_genericVnfGetEndpoint")
+               
+               AaiUtil aaiUtil = new AaiUtil(this)
+               AAIResourceUri uri
+               
+               def vnfId = execution.getVariable("CAAIVfMod_vnfId")
+               def vnfName = execution.getVariable("CAAIVfMod_vnfName")
+               
+               if (vnfId == null || vnfId.isEmpty()) {
+                       uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "")
+                       uri.queryParam("vnf-name", vnfName)
+               } else {
+                       uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+               }
+               
+               uri.depth(Depth.ONE)
+               String endPoint = aaiUtil.createAaiUri(uri)
 
                try {
                        msoLogger.debug("queryAAIForGenericVnf() endpoint-" + endPoint)
                        msoLogger.debug("invoking GET call to AAI endpoint :"+System.lineSeparator()+endPoint)
                        msoLogger.debug("CreateAAIVfModule sending GET call to AAI Endpoint: " + endPoint)
 
 
                try {
                        msoLogger.debug("queryAAIForGenericVnf() endpoint-" + endPoint)
                        msoLogger.debug("invoking GET call to AAI endpoint :"+System.lineSeparator()+endPoint)
                        msoLogger.debug("CreateAAIVfModule sending GET call to AAI Endpoint: " + endPoint)
 
-                       AaiUtil aaiUtil = new AaiUtil(this)
                        APIResponse response = aaiUtil.executeAAIGetCall(execution, endPoint)
                        def responseData = response.getResponseBodyAsString()
                        def statusCode = response.getStatusCode()
                        APIResponse response = aaiUtil.executeAAIGetCall(execution, endPoint)
                        def responseData = response.getResponseBodyAsString()
                        def statusCode = response.getStatusCode()
@@ -238,18 +240,8 @@ public class CreateAAIVfModule extends AbstractServiceTaskProcessor{
        public void createGenericVnf(DelegateExecution execution) {
                // TBD - is this how we want to generate the Id for the new Generic VNF?
                def newVnfId = UUID.randomUUID().toString()
        public void createGenericVnf(DelegateExecution execution) {
                // TBD - is this how we want to generate the Id for the new Generic VNF?
                def newVnfId = UUID.randomUUID().toString()
-               def endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) +
-                       execution.getVariable("CAAIVfMod_genericVnfPutEndpoint") + newVnfId
-               // update the flow execution with the new Vnf Id
                execution.setVariable("CAAIVfMod_vnfId",newVnfId)
                execution.setVariable("CAAIVfMod_vnfId",newVnfId)
-               
-       //      AaiUriUtil aaiUriUtil = new AaiUriUtil(this)
-       //      def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-       //      msoLogger.debug('AAI URI is: ' + aai_uri)
-       //      String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri)
-       //      msoLogger.debug('AAI namespace is: ' + namespace)
-               
-                               
+
                String payload = """<generic-vnf xmlns="${execution.getVariable("CAAIVfMod_aaiNamespace")}">
                                                                <vnf-id>${MsoUtils.xmlEscape(newVnfId)}</vnf-id>
                                                                <vnf-name>${MsoUtils.xmlEscape(execution.getVariable("CAAIVfMod_vnfName"))}</vnf-name>
                String payload = """<generic-vnf xmlns="${execution.getVariable("CAAIVfMod_aaiNamespace")}">
                                                                <vnf-id>${MsoUtils.xmlEscape(newVnfId)}</vnf-id>
                                                                <vnf-name>${MsoUtils.xmlEscape(execution.getVariable("CAAIVfMod_vnfName"))}</vnf-name>
@@ -262,11 +254,14 @@ public class CreateAAIVfModule extends AbstractServiceTaskProcessor{
                execution.setVariable("CAAIVfMod_createGenericVnfPayload", payload)
 
                try {
                execution.setVariable("CAAIVfMod_createGenericVnfPayload", payload)
 
                try {
+                       AaiUtil aaiUtil = new AaiUtil(this)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, newVnfId)
+                       String endPoint = aaiUtil.createAaiUri(uri)
+                       
                        msoLogger.debug("createGenericVnf() endpoint-" + endPoint)
                        msoLogger.debug("invoking PUT call to AAI with payload:"+System.lineSeparator()+payload)
                        msoLogger.debug("Sending PUT call to AAI with Endpoint /n" + endPoint + " with payload /n" + payload)
 
                        msoLogger.debug("createGenericVnf() endpoint-" + endPoint)
                        msoLogger.debug("invoking PUT call to AAI with payload:"+System.lineSeparator()+payload)
                        msoLogger.debug("Sending PUT call to AAI with Endpoint /n" + endPoint + " with payload /n" + payload)
 
-                       AaiUtil aaiUtil = new AaiUtil(this);
                        APIResponse response = aaiUtil.executeAAIPutCall(execution, endPoint, payload);
                        def     responseData = response.getResponseBodyAsString()
                        def responseStatusCode = response.getStatusCode()
                        APIResponse response = aaiUtil.executeAAIPutCall(execution, endPoint, payload);
                        def     responseData = response.getResponseBodyAsString()
                        def responseStatusCode = response.getStatusCode()
@@ -293,10 +288,9 @@ public class CreateAAIVfModule extends AbstractServiceTaskProcessor{
                if (newModuleId == null || newModuleId.isEmpty()) {
                        newModuleId = UUID.randomUUID().toString()
                }
                if (newModuleId == null || newModuleId.isEmpty()) {
                        newModuleId = UUID.randomUUID().toString()
                }
-               def endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + execution.getVariable("CAAIVfMod_genericVnfPutEndpoint")
-               // need to append the existing Vnf Id or the one generated in createGenericVnf() to the url
-               endPoint = endPoint + UriUtils.encode(execution.getVariable("CAAIVfMod_vnfId"), "UTF-8") +
-                       "/vf-modules/vf-module/" + newModuleId;
+               
+               String vnfId = execution.getVariable("CAAIVfMod_vnfId")
+               
                int moduleIndex = 0
                if (!isBaseModule) {
                        def aaiVnfResponse = execution.getVariable("CAAIVfMod_queryGenericVnfResponse")
                int moduleIndex = 0
                if (!isBaseModule) {
                        def aaiVnfResponse = execution.getVariable("CAAIVfMod_queryGenericVnfResponse")
@@ -342,11 +336,15 @@ public class CreateAAIVfModule extends AbstractServiceTaskProcessor{
                execution.setVariable("CAAIVfMod_createVfModulePayload", payload)
 
                try {
                execution.setVariable("CAAIVfMod_createVfModulePayload", payload)
 
                try {
+                       
+                       AaiUtil aaiUtil = new AaiUtil(this)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, newModuleId)
+                       String endPoint = aaiUtil.createAaiUri(uri)
+                       
                        msoLogger.debug("createVfModule() endpoint-" + endPoint)
                        msoLogger.debug("invoking PUT call to AAI with payload:"+System.lineSeparator()+payload)
                        msoLogger.debug("CreateAAIVfModule sending PUT call to AAI with endpoint /n" + endPoint + " with payload /n " + payload)
 
                        msoLogger.debug("createVfModule() endpoint-" + endPoint)
                        msoLogger.debug("invoking PUT call to AAI with payload:"+System.lineSeparator()+payload)
                        msoLogger.debug("CreateAAIVfModule sending PUT call to AAI with endpoint /n" + endPoint + " with payload /n " + payload)
 
-                       AaiUtil aaiUtil = new AaiUtil(this)
                        APIResponse response = aaiUtil.executeAAIPutCall(execution, endPoint, payload)  
                        def responseData = response.getResponseBodyAsString()
                        def statusCode = response.getStatusCode()
                        APIResponse response = aaiUtil.executeAAIPutCall(execution, endPoint, payload)  
                        def responseData = response.getResponseBodyAsString()
                        def statusCode = response.getStatusCode()
@@ -554,9 +552,6 @@ public class CreateAAIVfModule extends AbstractServiceTaskProcessor{
                        msoLogger.debug("RollbackData:" + rollbackData)
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        msoLogger.debug("RollbackData:" + rollbackData)
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       msoLogger.debug("CreateAAIVfModule rollback AAI URI: " + aai_uri)
                        
                        if (rollbackData != null) {
                                if (rollbackData.hasType("VFMODULE")) {
                        
                        if (rollbackData != null) {
                                if (rollbackData.hasType("VFMODULE")) {
@@ -566,9 +561,7 @@ public class CreateAAIVfModule extends AbstractServiceTaskProcessor{
                                        def isBaseModule = rollbackData.get("VFMODULE", "isBaseModule")
                                        execution.setVariable("DAAIVfMod_vnfId", vnfId)         
                                        execution.setVariable("DAAIVfMod_vfModuleId", vfModuleId)
                                        def isBaseModule = rollbackData.get("VFMODULE", "isBaseModule")
                                        execution.setVariable("DAAIVfMod_vnfId", vnfId)         
                                        execution.setVariable("DAAIVfMod_vfModuleId", vfModuleId)
-                                       execution.setVariable("DAAIVfMod_genericVnfEndpoint", "${aai_uri}/" + vnfId)
-                                       execution.setVariable("DAAIVfMod_vfModuleEndpoint", "${aai_uri}/" + vnfId +
-                                                "/vf-modules/vf-module/" + vfModuleId)
+
                                        DeleteAAIVfModule dvm = new DeleteAAIVfModule()
                                        // query A&AI to get the needed information for the delete(s)
                                        dvm.queryAAIForGenericVnf(execution)
                                        DeleteAAIVfModule dvm = new DeleteAAIVfModule()
                                        // query A&AI to get the needed information for the delete(s)
                                        dvm.queryAAIForGenericVnf(execution)
@@ -581,13 +574,14 @@ public class CreateAAIVfModule extends AbstractServiceTaskProcessor{
 
                                        if (isOneOf(responseCode, 200, 204)) {
                                                msoLogger.debug("Received " + responseCode + " to VF Module rollback request")
 
                                        if (isOneOf(responseCode, 200, 204)) {
                                                msoLogger.debug("Received " + responseCode + " to VF Module rollback request")
-//                                             execution.setVariable("RollbackResult", "SUCCESS")
                                        } else {
                                                msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Received " + responseCode + " to VF Module rollback request", "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, rollbackData + System.lineSeparator() + "Response: " + response);
                                        }
                                        
                                        // a new Generic VNF was created that needs to be rolled back
                                        if (isBaseModule.equals("true")) {
                                        } else {
                                                msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Received " + responseCode + " to VF Module rollback request", "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, rollbackData + System.lineSeparator() + "Response: " + response);
                                        }
                                        
                                        // a new Generic VNF was created that needs to be rolled back
                                        if (isBaseModule.equals("true")) {
+                                               dvm.queryAAIForGenericVnf(execution)
+                                               dvm.parseForResourceVersion(execution)
                                                dvm.deleteGenericVnf(execution)
                                                responseCode = execution.getVariable("DAAIVfMod_deleteGenericVnfResponseCode")
                                                response = execution.getVariable("DAAIVfMod_deleteGenericVnfResponse")
                                                dvm.deleteGenericVnf(execution)
                                                responseCode = execution.getVariable("DAAIVfMod_deleteGenericVnfResponseCode")
                                                response = execution.getVariable("DAAIVfMod_deleteGenericVnfResponse")
index ec691f2..cc1be47 100644 (file)
@@ -23,6 +23,9 @@ package org.onap.so.bpmn.common.scripts
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.UrnPropertiesReader
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
@@ -76,6 +79,9 @@ public class CreateAAIVfModuleVolumeGroup extends AbstractServiceTaskProcessor {
                        def aicCloudRegion = getRequiredNodeText(execution, xml,'aic-cloud-region')
                        execution.setVariable('CAAIVfModVG_aicCloudRegion', aicCloudRegion)
                        
                        def aicCloudRegion = getRequiredNodeText(execution, xml,'aic-cloud-region')
                        execution.setVariable('CAAIVfModVG_aicCloudRegion', aicCloudRegion)
                        
+                       def cloudOwner = getRequiredNodeText(execution, xml,'cloud-owner')
+                       execution.setVariable('CAAIVfModVG_cloudOwner', cloudOwner)
+                       
                        def volumeGroupId = getRequiredNodeText(execution, xml,'volume-group-id')
                        execution.setVariable('CAAIVfModVG_volumeGroupId', volumeGroupId)
 
                        def volumeGroupId = getRequiredNodeText(execution, xml,'volume-group-id')
                        execution.setVariable('CAAIVfModVG_volumeGroupId', volumeGroupId)
 
@@ -105,12 +111,10 @@ public class CreateAAIVfModuleVolumeGroup extends AbstractServiceTaskProcessor {
                        def vnfId = execution.getVariable('CAAIVfModVG_vnfId')
                        def vfModuleId = execution.getVariable('CAAIVfModVG_vfModuleId')
 
                        def vnfId = execution.getVariable('CAAIVfModVG_vnfId')
                        def vfModuleId = execution.getVariable('CAAIVfModVG_vfModuleId')
 
-                       // Construct endpoint
                        AaiUtil aaiUtil = new AaiUtil(this)
                        AaiUtil aaiUtil = new AaiUtil(this)
-                       def aai_uri = aaiUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + aai_uri + '/' + URLEncoder.encode(vnfId, "UTF-8") + '/vf-modules/vf-module/' + URLEncoder.encode(vfModuleId, "UTF-8")
-
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId)
+                       String endPoint = aaiUtil.createAaiUri(uri)
+                                       
                        try {
                                msoLogger.debug('sending GET to AAI endpoint \'' + endPoint + '\'')
                                msoLogger.debug("aaiResponse GET TO AAI Endpoint: " + endPoint)
                        try {
                                msoLogger.debug('sending GET to AAI endpoint \'' + endPoint + '\'')
                                msoLogger.debug("aaiResponse GET TO AAI Endpoint: " + endPoint)
@@ -166,17 +170,16 @@ public class CreateAAIVfModuleVolumeGroup extends AbstractServiceTaskProcessor {
                                                
                        // Construct payload by creating a Volume Group relationhip and inserting it into the VF Module
                        def aicCloudRegion = execution.getVariable('CAAIVfModVG_aicCloudRegion')
                                                
                        // Construct payload by creating a Volume Group relationhip and inserting it into the VF Module
                        def aicCloudRegion = execution.getVariable('CAAIVfModVG_aicCloudRegion')
+                       def cloudOwner = execution.getVariable('CAAIVfModVG_cloudOwner')
                        def volumeGroupId = execution.getVariable('CAAIVfModVG_volumeGroupId')
                        def volumeGroupId = execution.getVariable('CAAIVfModVG_volumeGroupId')
-                       def Node vgRelationshipNode = createVolumeGroupRelationshipNode(aicCloudRegion, volumeGroupId)
+                       def Node vgRelationshipNode = createVolumeGroupRelationshipNode(cloudOwner, aicCloudRegion, volumeGroupId)
                        insertVolumeGroupRelationshipNode(vfModuleNode, vgRelationshipNode)
                        def payload = utils.nodeToString(vfModuleNode)
 
                        insertVolumeGroupRelationshipNode(vfModuleNode, vgRelationshipNode)
                        def payload = utils.nodeToString(vfModuleNode)
 
-                       // Construct endpoint
                        AaiUtil aaiUtil = new AaiUtil(this)
                        AaiUtil aaiUtil = new AaiUtil(this)
-                       def aai_uri = aaiUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + aai_uri + '/' + URLEncoder.encode(vnfId, "UTF-8") + '/vf-modules/vf-module/' + URLEncoder.encode(vfModuleId, "UTF-8")
-
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId)
+                       String endPoint = aaiUtil.createAaiUri(uri)
+       
                        try {
                                msoLogger.debug("CreateAAIVfModuleVolume Sendind PUT to AAI Endpoint \n " + endPoint + " with payload \n " + payload)
                                msoLogger.debug('sending PUT to AAI endpoint \'' + endPoint + '\'' + 'with payload \n' + payload)
                        try {
                                msoLogger.debug("CreateAAIVfModuleVolume Sendind PUT to AAI Endpoint \n " + endPoint + " with payload \n " + payload)
                                msoLogger.debug('sending PUT to AAI endpoint \'' + endPoint + '\'' + 'with payload \n' + payload)
@@ -212,12 +215,12 @@ public class CreateAAIVfModuleVolumeGroup extends AbstractServiceTaskProcessor {
         * @param volumeGroupId Volume Group ID to use in the Volume Group relationship
         * @return a Node representing the new Volume Group relationship
         */
         * @param volumeGroupId Volume Group ID to use in the Volume Group relationship
         * @return a Node representing the new Volume Group relationship
         */
-       private Node createVolumeGroupRelationshipNode(String aicCloudRegion, String volumeGroupId) {
+       private Node createVolumeGroupRelationshipNode(String cloudOwner, String aicCloudRegion, String volumeGroupId) {
                
                def Node relatedTo = new Node(null, 'related-to', 'volume-group')
                
                def Node relationshipKeyCO = new Node(null, 'relationship-key', 'cloud-region.cloud-owner')
                
                def Node relatedTo = new Node(null, 'related-to', 'volume-group')
                
                def Node relationshipKeyCO = new Node(null, 'relationship-key', 'cloud-region.cloud-owner')
-               def Node relationshipValueCO = new Node(null, 'relationship-value', 'att-aic')
+               def Node relationshipValueCO = new Node(null, 'relationship-value', cloudOwner)
                def Node relationshipDataCO = new Node(null, 'relationship-data')
                relationshipDataCO.append(relationshipKeyCO)
                relationshipDataCO.append(relationshipValueCO)
                def Node relationshipDataCO = new Node(null, 'relationship-data')
                relationshipDataCO.append(relationshipKeyCO)
                relationshipDataCO.append(relationshipValueCO)
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/CustomE2EPutService.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/CustomE2EPutService.groovy
deleted file mode 100644 (file)
index 43d540c..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-/*-
- * ============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.onap.so.bpmn.common.scripts
-
-import static org.apache.commons.lang3.StringUtils.*;
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.delegate.DelegateExecution;
-import org.apache.commons.codec.binary.Base64
-import org.apache.commons.lang3.*
-
-import org.onap.so.bpmn.core.json.JsonUtils
-import org.onap.so.bpmn.core.WorkflowException
-import org.onap.so.rest.APIResponse;
-import org.onap.so.rest.RESTClient
-import org.onap.so.rest.RESTConfig
-
-import java.net.URLEncoder;
-import org.springframework.web.util.UriUtils
-import org.onap.so.bpmn.core.UrnPropertiesReader
-import org.onap.so.logger.MessageEnum
-import org.onap.so.logger.MsoLogger
-
-/**
- * This class supports the GenericPutService Sub Flow.
- * This Generic sub flow can be used by any flow for the
- * goal of creating a Service Instance or Service-Subscription in AAI. Upon successful completion of
- * this sub flow the GENPS_SuccessIndicator will be true.
- * The calling flow must set the GENPS_type variable as "service-instance"
- * or "service-subscription".
- *  A MSOWorkflowException will be thrown Upon unsuccessful
- * completion or if an error occurs within this flow.
- * Please map variables to the corresponding variable names
- * below.
- *
- *
- * Incoming Required Variables:
- * @param - GENPS_requestId
- * @param - GENPS_type - Required field. This will be required field populated as service-instance or service-subscription
- * @param - GENPS_globalSubscriberId - Required field
- * @param - GENPS_serviceType - Required Field
- * @param - GENPS_payload - Required Field This will be the payload that needs to be sent.
- *
- * @param - GENPS_serviceInstanceId - Conditional Field. Required for service-instance.
- * @param - GENPS_allottedResourceId - Conditional Field. Required for allotted-resource.
- * @param - GENPS_tunnelXconnectId - Conditional Field. Required for tunnel-xconnect.
- *
- * @param - GENPS_serviceResourceVersion - Conditional Field. Needs to be provided only in case of update for both service-instance and service subscription. The calling flows
- *          should check if a service-instance or servic-subscription exists by calling the subflow GenericGetService. if it exists then resourceversion should be
- *          obtained from aai and sent as an input parameter.
- *
- * Outgoing Variables:
- * @param - GENPS_SuccessIndicator
- * @param - WorkflowException
- *
- *
- */
-
-
-class CustomE2EPutService extends AbstractServiceTaskProcessor{
-       private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, CustomE2EPutService.class);
-
-       String Prefix = "GENPS_"
-       ExceptionUtil exceptionUtil = new ExceptionUtil()
-
-
-       public void preProcessRequest(DelegateExecution execution) {
-               execution.setVariable("prefix",Prefix)
-               msoLogger.trace("STARTED GenericPutService PreProcessRequest Process")
-
-               execution.setVariable("GENPS_SuccessIndicator", false)
-
-               try{
-                       // Get Variables
-                       String requestId = execution.getVariable("GENPS_requestId")
-                       msoLogger.debug("Incoming GENPS_requestId is: " + requestId)
-
-                       String globalSubscriberId = execution.getVariable("GENPS_globalSubscriberId")
-                       String serviceInstanceId = execution.getVariable("GENPS_serviceInstanceId")
-                       String serviceType = execution.getVariable("GENPS_serviceType")
-                       String allottedResourceId = execution.getVariable("GENPS_allottedResourceId")
-                       String tunnelXconnectId = execution.getVariable("GENPS_tunnelXconnectId")
-                       String type = execution.getVariable("GENPS_type")
-
-                       if(type != null){
-                               msoLogger.debug("Incoming GENPS_type is: " + type)
-                               if(type.equalsIgnoreCase("service-instance")){
-                                       if(isBlank(globalSubscriberId) || isBlank(serviceType) || isBlank(serviceInstanceId)){
-                                               msoLogger.debug("Incoming Required Variable is missing or null!")
-                                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming Required Variable is Missing or Null!")
-                                       }else{
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                       }
-                               }else if(type.equalsIgnoreCase("service-subscription")){
-                                       if(isBlank(serviceType) || isBlank(globalSubscriberId)){
-                                               msoLogger.debug("Incoming ServiceType or GlobalSubscriberId is null. These variables are required to create a service-subscription.")
-                                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming ServiceType or GlobalCustomerId is null. These variables are required to Get a service-subscription.")
-                                       }else{
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                       }
-                               }else if(type.equalsIgnoreCase("allotted-resource")){
-                                       if(isBlank(globalSubscriberId) || isBlank(serviceType) || isBlank(serviceInstanceId) || isBlank(allottedResourceId)){
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Allotted Resource Id is: " + allottedResourceId)
-                                               msoLogger.debug("Incoming Required Variable is missing or null!")
-                                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming Required Variable is Missing or Null!")
-                                       }else{
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Allotted Resource Id is: " + allottedResourceId)
-                                       }
-                               }else if(type.equalsIgnoreCase("tunnel-xconnect")){
-                                       if(isBlank(globalSubscriberId) || isBlank(serviceType) || isBlank(serviceInstanceId) || isBlank(allottedResourceId) || isBlank(tunnelXconnectId)){
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Allotted Resource Id is: " + allottedResourceId)
-                                               msoLogger.debug("Incoming Tunnel Xconnect Id is: " + tunnelXconnectId)
-                                               msoLogger.debug("Incoming Required Variable is missing or null!")
-                                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming Required Variable is Missing or Null!")
-                                       }else{
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Allotted Resource Id is: " + allottedResourceId)
-                                               msoLogger.debug("Incoming Tunnel Xconnect Id is: " + tunnelXconnectId)
-                                       }
-                               }else{
-                                       exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming Type is Invalid. Please Specify Type as service-instance or service-subscription")
-                               }
-                       }else{
-                               exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Incoming GENPS_type is null. Variable is Required.")
-                       }
-
-               }catch(BpmnError b){
-                       msoLogger.debug("Rethrowing MSOWorkflowException")
-                       throw b
-               }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, " Error encountered within GenericPutService PreProcessRequest method!" + e, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "");
-                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in GenericPutService PreProcessRequest")
-
-               }
-               msoLogger.trace("COMPLETED GenericPutService PreProcessRequest Process ")
-
-       }
-
-
-
-       /**
-        * This method executes a Put call to AAI for the provided
-        * service instance.
-        *
-        * @param - execution
-        *
-        */
-       public void putServiceInstance(DelegateExecution execution){
-               execution.setVariable("prefix",Prefix)
-               msoLogger.trace("STARTED GenericPutService PutServiceInstance method")
-               try {
-                       String type = execution.getVariable("GENPS_type")
-
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       String namespace = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
-                       msoLogger.debug('AAI namespace is: ' + namespace)
-
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-                       String serviceAaiPath = ""
-                       String payload = execution.getVariable("GENPS_payload")
-                       execution.setVariable("GENPS_payload", payload)
-                       msoLogger.debug("Incoming GENPS_payload is: " + payload)
-                       msoLogger.debug(payload)
-
-                       String serviceType = execution.getVariable("GENPS_serviceType")
-                       msoLogger.debug(" Incoming GENPS_serviceType is: " + serviceType)
-                       String globalSubscriberId = execution.getVariable("GENPS_globalSubscriberId")
-                       msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-
-                       // This IF clause is if we need to create a new Service Instance
-                       if(type.equalsIgnoreCase("service-instance")){
-
-                               String serviceInstanceId = execution.getVariable("GENPS_serviceInstanceId")
-                               msoLogger.debug(" Incoming GENPS_serviceInstanceId is: " + serviceInstanceId)
-
-                               //      serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + URLEncoder.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + URLEncoder.encode(serviceType,"UTF-8") + "/service-instances/service-instance/" + URLEncoder.encode(serviceInstanceId,"UTF-8")
-                               serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + UriUtils.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + UriUtils.encode(serviceType,"UTF-8") + "/service-instances/service-instance/" + UriUtils.encode(serviceInstanceId,"UTF-8")
-
-                       }else if(type.equalsIgnoreCase("service-subscription")){
-
-                               //      serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + URLEncoder.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + URLEncoder.encode(serviceType,"UTF-8")
-                               serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + UriUtils.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + UriUtils.encode(serviceType,"UTF-8")
-                       }else if(type.equalsIgnoreCase("allotted-resource")){
-
-                               String serviceInstanceId = execution.getVariable("GENPS_serviceInstanceId")
-                               msoLogger.debug(" Incoming GENPS_serviceInstanceId is: " + serviceInstanceId)
-                               String allottedResourceId = execution.getVariable("GENPS_allottedResourceId")
-                               msoLogger.debug(" Incoming GENPS_allottedResourceId is: " + allottedResourceId)
-
-                               //      serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + URLEncoder.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + URLEncoder.encode(serviceType,"UTF-8")
-                               serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + UriUtils.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + UriUtils.encode(serviceType,"UTF-8") + "/service-instances/service-instance/" + UriUtils.encode(serviceInstanceId,"UTF-8") + "/allotted-resources/allotted-resource/" + UriUtils.encode(allottedResourceId,"UTF-8")
-                       }else if(type.equalsIgnoreCase("tunnel-xconnect")){
-
-                               String serviceInstanceId = execution.getVariable("GENPS_serviceInstanceId")
-                               msoLogger.debug(" Incoming GENPS_serviceInstanceId is: " + serviceInstanceId)
-                               String allottedResourceId = execution.getVariable("GENPS_allottedResourceId")
-                               msoLogger.debug(" Incoming GENPS_allottedResourceId is: " + allottedResourceId)
-                               String tunnelXconnectId = execution.getVariable("GENPS_tunnelXconnectId")
-                               msoLogger.debug(" Incoming GENPS_tunnelXconnectId is: " + tunnelXconnectId)
-
-                               //      serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + URLEncoder.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + URLEncoder.encode(serviceType,"UTF-8")
-                               serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + UriUtils.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + UriUtils.encode(serviceType,"UTF-8") + "/service-instances/service-instance/" + UriUtils.encode(serviceInstanceId,"UTF-8") + "/allotted-resources/allotted-resource/" + UriUtils.encode(allottedResourceId,"UTF-8") + "/tunnel-xconnects/tunnel-xconnect/" + UriUtils.encode(tunnelXconnectId,"UTF-8")
-                       }
-
-                       String resourceVersion = execution.getVariable("GENPS_serviceResourceVersion")
-                       msoLogger.debug("Incoming Resource Version is: " + resourceVersion)
-                       if(resourceVersion !=null){
-                               serviceAaiPath = serviceAaiPath +'?resource-version=' + UriUtils.encode(resourceVersion,"UTF-8")
-                       }
-
-                       execution.setVariable("GENPS_putServiceInstanceAaiPath", serviceAaiPath)
-                       msoLogger.debug("PUT Service Instance AAI Path is: " + "\n" + serviceAaiPath)
-
-                       APIResponse response = aaiUriUtil.executeAAIPutCall(execution, serviceAaiPath, payload)
-                       int responseCode = response.getStatusCode()
-                       execution.setVariable("GENPS_putServiceInstanceResponseCode", responseCode)
-                       msoLogger.debug("  Put Service Instance response code is: " + responseCode)
-
-                       String aaiResponse = response.getResponseBodyAsString()
-                       execution.setVariable("GENPS_putServiceInstanceResponse", aaiResponse)
-
-
-                       //Process Response
-                       if(responseCode == 200 || responseCode == 201 || responseCode == 202 )
-                               //200 OK 201 CREATED 202 ACCEPTED
-                       {
-                               msoLogger.debug("PUT Service Instance Received a Good Response")
-                               execution.setVariable("GENPS_SuccessIndicator", true)
-                       }
-
-                       else{
-                               msoLogger.debug("Put Generic Service Instance Received a Bad Response Code. Response Code is: " + responseCode)
-                               exceptionUtil.MapAAIExceptionToWorkflowExceptionGeneric(execution, aaiResponse, responseCode)
-                               throw new BpmnError("MSOWorkflowException")
-                       }
-               }catch(BpmnError b){
-                       msoLogger.debug("Rethrowing MSOWorkflowException")
-                       throw b
-               }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, " Error encountered within GenericPutService PutServiceInstance method!" + e, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "");
-                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured During Put Service Instance")
-               }
-               msoLogger.trace("COMPLETED GenericPutService PutServiceInstance Process")
-       }
-
-
-
-}
index bb9846c..178b4d1 100644 (file)
@@ -22,6 +22,10 @@ package org.onap.so.bpmn.common.scripts
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.UrnPropertiesReader
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.graphinventory.entities.uri.Depth
 import org.onap.so.rest.APIResponse
 import org.onap.so.rest.RESTClient;
 import org.onap.so.rest.RESTConfig;
 import org.onap.so.rest.APIResponse
 import org.onap.so.rest.RESTClient;
 import org.onap.so.rest.RESTConfig;
@@ -41,8 +45,6 @@ public class DeleteAAIVfModule extends AbstractServiceTaskProcessor{
                execution.setVariable("DAAIVfMod_genVnfRsrcVer",null)
                execution.setVariable("DAAIVfMod_vfModuleId",null)
                execution.setVariable("DAAIVfMod_vfModRsrcVer",null)
                execution.setVariable("DAAIVfMod_genVnfRsrcVer",null)
                execution.setVariable("DAAIVfMod_vfModuleId",null)
                execution.setVariable("DAAIVfMod_vfModRsrcVer",null)
-               execution.setVariable("DAAIVfMod_genericVnfEndpoint",null)
-               execution.setVariable("DAAIVfMod_vfModuleEndpoint",null)
                execution.setVariable("DAAIVfMod_moduleExists",false)
                execution.setVariable("DAAIVfMod_isBaseModule", false)
                execution.setVariable("DAAIVfMod_isLastModule", false)
                execution.setVariable("DAAIVfMod_moduleExists",false)
                execution.setVariable("DAAIVfMod_isBaseModule", false)
                execution.setVariable("DAAIVfMod_isLastModule", false)
@@ -69,79 +71,55 @@ public class DeleteAAIVfModule extends AbstractServiceTaskProcessor{
                def vfModuleId = utils.getNodeText(xml,"vf-module-id")
                execution.setVariable("DAAIVfMod_vnfId", vnfId)
                execution.setVariable("DAAIVfMod_vfModuleId", vfModuleId)
                def vfModuleId = utils.getNodeText(xml,"vf-module-id")
                execution.setVariable("DAAIVfMod_vnfId", vnfId)
                execution.setVariable("DAAIVfMod_vfModuleId", vfModuleId)
-               
-               AaiUtil aaiUriUtil = new AaiUtil(this)
-               def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-               msoLogger.debug('AAI URI is: ' + aai_uri)
-               
-               execution.setVariable("DAAIVfMod_genericVnfEndpoint", "${aai_uri}/" + vnfId)
-               execution.setVariable("DAAIVfMod_vfModuleEndpoint", "${aai_uri}/" + vnfId +
-                        "/vf-modules/vf-module/" + vfModuleId)
        }
        
        // send a GET request to AA&I to retrieve the Generic Vnf/Vf Module information based on a Vnf Id
        // expect a 200 response with the information in the response body or a 404 if the Generic Vnf does not exist
        public void queryAAIForGenericVnf(DelegateExecution execution) {
        }
        
        // send a GET request to AA&I to retrieve the Generic Vnf/Vf Module information based on a Vnf Id
        // expect a 200 response with the information in the response body or a 404 if the Generic Vnf does not exist
        public void queryAAIForGenericVnf(DelegateExecution execution) {
-               def delModuleId = execution.getVariable("DAAIVfMod_vfModuleId")
-               def endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + execution.getVariable("DAAIVfMod_genericVnfEndpoint") + "?depth=1"
-               msoLogger.debug("DeleteAAIVfModule endPoint: " + endPoint)
-               def aaiRequestId = utils.getRequestID()
+               
+               def vnfId = execution.getVariable("DAAIVfMod_vnfId")
 
 
-               RESTConfig config = new RESTConfig(endPoint);
-               msoLogger.debug("queryAAIForGenericVnf() endpoint-" + endPoint)
-               def responseData = ""
                try {
                try {
-                       RESTClient client = new RESTClient(config).addHeader("X-TransactionId", aaiRequestId).addHeader("X-FromAppId", "MSO").
-                               addHeader("Accept","application/xml");
-                       String basicAuthCred = utils.getBasicAuth(UrnPropertiesReader.getVariable("aai.auth", execution),UrnPropertiesReader.getVariable("mso.msoKey", execution))
-                               
-                       if (basicAuthCred != null && !"".equals(basicAuthCred)) {
-                               client.addAuthorizationHeader(basicAuthCred)
-                       }
-                       msoLogger.debug("invoking GET call to AAI endpoint :"+System.lineSeparator()+endPoint)
-                       APIResponse response = client.httpGet()
-                       msoLogger.debug("DeleteAAIVfModule - invoking httpGet to AAI")
+                       AaiUtil aaiUriUtil = new AaiUtil(this)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+                       uri.depth(Depth.ONE)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
+                       
+                       APIResponse response = aaiUriUtil.executeAAIGetCall(execution, endPoint)
+                       
+                       msoLogger.debug('Response code:' + response.getStatusCode())
+                       msoLogger.debug('Response:' + response.getResponseBodyAsString())
 
 
-                       responseData = response.getResponseBodyAsString()
                        execution.setVariable("DAAIVfMod_queryGenericVnfResponseCode", response.getStatusCode())
                        execution.setVariable("DAAIVfMod_queryGenericVnfResponseCode", response.getStatusCode())
-                       execution.setVariable("DAAIVfMod_queryGenericVnfResponse", responseData)
-                       msoLogger.debug("AAI Response: " + responseData)
-                       msoLogger.debug("Response code:" + response.getStatusCode())
-                       msoLogger.debug("Response:" + System.lineSeparator()+responseData)
+                       execution.setVariable("DAAIVfMod_queryGenericVnfResponse", response.getResponseBodyAsString())
+
                } catch (Exception ex) {
                        msoLogger.debug("Exception occurred while executing AAI GET:" + ex.getMessage())
                        execution.setVariable("DAAIVfMod_queryGenericVnfResponse", "AAI GET Failed:" + ex.getMessage())
                        exceptionUtil.buildAndThrowWorkflowException(execution, 5000, "Internal Error - Occured during queryAAIForGenericVnf")
                } catch (Exception ex) {
                        msoLogger.debug("Exception occurred while executing AAI GET:" + ex.getMessage())
                        execution.setVariable("DAAIVfMod_queryGenericVnfResponse", "AAI GET Failed:" + ex.getMessage())
                        exceptionUtil.buildAndThrowWorkflowException(execution, 5000, "Internal Error - Occured during queryAAIForGenericVnf")
-
                }
        }
        
        // construct and send a DELETE request to A&AI to delete a Generic Vnf
        // note: to get here, all the modules associated with the Generic Vnf must already be deleted
        public void deleteGenericVnf(DelegateExecution execution) {
                }
        }
        
        // construct and send a DELETE request to A&AI to delete a Generic Vnf
        // note: to get here, all the modules associated with the Generic Vnf must already be deleted
        public void deleteGenericVnf(DelegateExecution execution) {
-               def aaiRequestId = utils.getRequestID()
-               def endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + execution.getVariable("DAAIVfMod_genericVnfEndpoint") +
-                       "/?resource-version=" + execution.getVariable("DAAIVfMod_genVnfRsrcVer")
-               msoLogger.debug("AAI endPoint: " + endPoint)
-               RESTConfig config = new RESTConfig(endPoint);
-               msoLogger.debug("deleteGenericVnf() endpoint-" + endPoint)
-               def responseData = ""
+
                try {
                try {
-                       RESTClient client = new RESTClient(config).addHeader("X-TransactionId", aaiRequestId).addHeader("X-FromAppId", "MSO").
-                               addHeader("Accept","application/xml");
+                       String vnfId = execution.getVariable("DAAIVfMod_vnfId")
+                       String resourceVersion =  execution.getVariable("DAAIVfMod_genVnfRsrcVer")
                        
                        
-                       String basicAuthCred = utils.getBasicAuth(UrnPropertiesReader.getVariable("aai.auth", execution),UrnPropertiesReader.getVariable("mso.msoKey", execution))
-                                       
-                       if (basicAuthCred != null && !"".equals(basicAuthCred)) {
-                               client.addAuthorizationHeader(basicAuthCred)
-                       }
-                       APIResponse response = client.httpDelete()
+                       AaiUtil aaiUriUtil = new AaiUtil(this)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+                       uri.resourceVersion(resourceVersion)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
+                       
+                       APIResponse response = aaiUriUtil.executeAAIDeleteCall(execution, endPoint)
                                
                                
-                       responseData = response.getResponseBodyAsString()
+                       def responseData = response.getResponseBodyAsString()
                        execution.setVariable("DAAIVfMod_deleteGenericVnfResponseCode", response.getStatusCode())
                        execution.setVariable("DAAIVfMod_deleteGenericVnfResponse", responseData)
                        msoLogger.debug("Response code:" + response.getStatusCode())
                        execution.setVariable("DAAIVfMod_deleteGenericVnfResponseCode", response.getStatusCode())
                        execution.setVariable("DAAIVfMod_deleteGenericVnfResponse", responseData)
                        msoLogger.debug("Response code:" + response.getStatusCode())
-                       msoLogger.debug("Response:" + System.lineSeparator()+responseData)
+                       msoLogger.debug("Response:" + System.lineSeparator() + responseData)
                } catch (Exception ex) {
                        ex.printStackTrace()
                        msoLogger.debug("Exception occurred while executing AAI DELETE:" + ex.getMessage())
                } catch (Exception ex) {
                        ex.printStackTrace()
                        msoLogger.debug("Exception occurred while executing AAI DELETE:" + ex.getMessage())
@@ -151,32 +129,25 @@ public class DeleteAAIVfModule extends AbstractServiceTaskProcessor{
 
        // construct and send a DELETE request to A&AI to delete the Base or Add-on Vf Module
        public void deleteVfModule(DelegateExecution execution) {
 
        // construct and send a DELETE request to A&AI to delete the Base or Add-on Vf Module
        public void deleteVfModule(DelegateExecution execution) {
-               def endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + execution.getVariable("DAAIVfMod_vfModuleEndpoint") +
-                       "/?resource-version=" + execution.getVariable("DAAIVfMod_vfModRsrcVer")
-               def aaiRequestId = utils.getRequestID()
-
-               RESTConfig config = new RESTConfig(endPoint);
-               msoLogger.debug("deleteVfModule() endpoint-" + endPoint)
                def responseData = ""
                try {
                def responseData = ""
                try {
-                       RESTClient client = new RESTClient(config).addHeader("X-TransactionId", aaiRequestId).addHeader("X-FromAppId", "MSO").
-                               addHeader("Accept","application/xml");
+                       String vnfId = execution.getVariable("DAAIVfMod_vnfId")
+                       String vfModuleId = execution.setVariable("DAAIVfMod_vfModuleId")
+                       String resourceVersion =  execution.getVariable("DAAIVfMod_vfModRsrcVer")
                        
                        
-                       String basicAuthCred = utils.getBasicAuth(UrnPropertiesReader.getVariable("aai.auth", execution),UrnPropertiesReader.getVariable("mso.msoKey", execution))
-                                       
-                       if (basicAuthCred != null && !"".equals(basicAuthCred)) {
-                               client.addAuthorizationHeader(basicAuthCred)
-                       }
-                       APIResponse response = client.httpDelete()
+                       AaiUtil aaiUriUtil = new AaiUtil(this)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId)
+                       uri.resourceVersion(resourceVersion)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
                        
                        
-                       msoLogger.debug("DeleteAAIVfModule - invoking httpDelete to AAI")
+                       APIResponse response = aaiUriUtil.executeAAIDeleteCall(execution, endPoint)
                        
                        responseData = response.getResponseBodyAsString()
                        execution.setVariable("DAAIVfMod_deleteVfModuleResponseCode", response.getStatusCode())
                        execution.setVariable("DAAIVfMod_deleteVfModuleResponse", responseData)
                        msoLogger.debug("DeleteAAIVfModule - AAI Response" + responseData)
                        msoLogger.debug("Response code:" + response.getStatusCode())
                        
                        responseData = response.getResponseBodyAsString()
                        execution.setVariable("DAAIVfMod_deleteVfModuleResponseCode", response.getStatusCode())
                        execution.setVariable("DAAIVfMod_deleteVfModuleResponse", responseData)
                        msoLogger.debug("DeleteAAIVfModule - AAI Response" + responseData)
                        msoLogger.debug("Response code:" + response.getStatusCode())
-                       msoLogger.debug("Response:" + System.lineSeparator()+responseData)
+                       msoLogger.debug("Response:" + System.lineSeparator() + responseData)
 
                } catch (Exception ex) {
                        ex.printStackTrace()
 
                } catch (Exception ex) {
                        ex.printStackTrace()
index 7d4adae..3096bed 100644 (file)
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * ONAP - SO
  * ================================================================================
  * ============LICENSE_START=======================================================
  * ONAP - SO
  * ================================================================================
- * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved. 
+ * 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
  * ================================================================================
  * 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
  *      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.
  * 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.
@@ -31,11 +31,11 @@ import java.util.regex.Matcher
 import java.util.regex.Pattern
 
 class ExternalAPIUtil {
 import java.util.regex.Pattern
 
 class ExternalAPIUtil {
-       
+
        String Prefix="EXTAPI_"
 
        public MsoUtils utils = new MsoUtils()
        String Prefix="EXTAPI_"
 
        public MsoUtils utils = new MsoUtils()
-       
+
        ExceptionUtil exceptionUtil = new ExceptionUtil()
 
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, ExternalAPIUtil.class)
        ExceptionUtil exceptionUtil = new ExceptionUtil()
 
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, ExternalAPIUtil.class)
@@ -71,16 +71,16 @@ class ExternalAPIUtil {
             "\t\t\t\"serviceCharacteristic\": [ \n" +
             "<_requestInputs_> \n" +
             "\t\t\t]  \n" +
             "\t\t\t\"serviceCharacteristic\": [ \n" +
             "<_requestInputs_> \n" +
             "\t\t\t]  \n" +
-        "\t\t}\n" +   
+        "\t\t}\n" +
     "\t}]\n" +
        "}"
     "\t}]\n" +
        "}"
-       
+
        public static final String RequestInputsTemplate =
        "{ \n" +
     "\t\"name\": <inputName>, \n" +
     "\t\"value\": { \n" +
         "\t\t\"serviceCharacteristicValue\": <inputValue> \n" +
        public static final String RequestInputsTemplate =
        "{ \n" +
     "\t\"name\": <inputName>, \n" +
     "\t\"value\": { \n" +
         "\t\t\"serviceCharacteristicValue\": <inputValue> \n" +
-    "\t} \n" + 
+    "\t} \n" +
     "}"
 
        public ExternalAPIUtil() {
     "}"
 
        public ExternalAPIUtil() {
@@ -93,11 +93,11 @@ class ExternalAPIUtil {
 //                     msoLogger.debug("ExternalAPIUtil.getUri: " + uri)
 //                     return uri
 //             }
 //                     msoLogger.debug("ExternalAPIUtil.getUri: " + uri)
 //                     return uri
 //             }
-//             
+//
 //             exceptionUtil.buildAndThrowWorkflowException(execution, 9999, 'ExternalAPI URI not find')
 //     }
 //             exceptionUtil.buildAndThrowWorkflowException(execution, 9999, 'ExternalAPI URI not find')
 //     }
-       
-       public String setTemplate(String template, Map<String, String> valueMap) {              
+
+       public String setTemplate(String template, Map<String, String> valueMap) {
                msoLogger.debug("ExternalAPIUtil setTemplate", true);
                StringBuffer result = new StringBuffer();
 
                msoLogger.debug("ExternalAPIUtil setTemplate", true);
                StringBuffer result = new StringBuffer();
 
@@ -143,7 +143,7 @@ class ExternalAPIUtil {
                        if (basicAuthCred != null && !"".equals(basicAuthCred)) {
                                client.addAuthorizationHeader(basicAuthCred)
                        }
                        if (basicAuthCred != null && !"".equals(basicAuthCred)) {
                                client.addAuthorizationHeader(basicAuthCred)
                        }
-                       apiResponse = client.get()
+                       apiResponse = client.httpGet()
 
                        msoLogger.debug( "======== COMPLETED Execute ExternalAPI Get Process ======== ")
                }catch(Exception e){
 
                        msoLogger.debug( "======== COMPLETED Execute ExternalAPI Get Process ======== ")
                }catch(Exception e){
index 5cdcd0d..78d147e 100644 (file)
@@ -30,6 +30,10 @@ import org.springframework.web.util.UriUtils
 
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.WorkflowException
 
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.WorkflowException
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.graphinventory.entities.uri.Depth
 import org.onap.so.rest.APIResponse;
 import org.onap.so.rest.RESTClient
 import org.onap.so.rest.RESTConfig
 import org.onap.so.rest.APIResponse;
 import org.onap.so.rest.RESTClient
 import org.onap.so.rest.RESTConfig
@@ -73,11 +77,11 @@ public class GenerateVfModuleName extends AbstractServiceTaskProcessor{
                        def vnfId = execution.getVariable('vnfId')
                        def personaModelId = execution.getVariable('personaModelId')
                        
                        def vnfId = execution.getVariable('vnfId')
                        def personaModelId = execution.getVariable('personaModelId')
                        
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String  aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
+                       AaiUtil aaiUtil = new AaiUtil(this)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+                       uri.depth(Depth.ONE)
+                       String endPoint = aaiUtil.createAaiUri(uri)
 
 
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/GenericGetVnf.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/GenericGetVnf.groovy
deleted file mode 100644 (file)
index 01d8e9b..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-/*-
- * ============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.onap.so.bpmn.common.scripts
-
-import org.onap.so.bpmn.core.UrnPropertiesReader
-import static org.onap.so.bpmn.common.scripts.GenericUtils.*;
-
-import org.apache.commons.lang3.*
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.delegate.DelegateExecution
-import org.onap.so.rest.APIResponse
-import org.springframework.web.util.UriUtils
-import org.onap.so.logger.MessageEnum
-import org.onap.so.logger.MsoLogger
-
-
-
-
-/**
- * TODO: Support getting vnf type = vpe
- *
- * This class supports the GenericGetVnf Sub Flow.
- * This Generic sub flow can be used by any flow for accomplishing
- * the goal of getting a Vnf Object (from AAI).  The flow currently
- * supports the querying of 2 types of Vnfs, generic-vnf and vce. The
- * type must be provided by the calling flow and the type should
- * be mapped to the variable GENGV_type. The type should either be
- * "generic-vnf" or "vce".  If the Vnf Id is not provided by the calling
- * flow then this sub flow will execute the query to get the
- * Vnf using the Vnf Name. Therefore, the calling flow must provide
- * either the Vnf Id or Vnf Name.
- *
- * Upon successful completion of this sub flow the
- * GENGV_SuccessIndicator will be true and the query response payload
- * will be set to GENGV_vnf.  An MSOWorkflowException will
- * be thrown upon unsuccessful completion or if an error occurs
- * at any time during this sub flow. Please map variables
- * to the corresponding variable names below.
- *
- * Note - if this sub flow receives a Not Found (404) response
- * from AAI at any time this will be considered an acceptable
- * successful response however the GENGV_FoundIndicator
- * set to false.  This will allow the calling flow to distinguish
- * between the two success scenarios, "Success where Vnf is found"
- * and "Success where Vnf is NOT found".
- *
- *
- * Variable Mapping Below
- *
- * In Mapping Variables:
- *   @param - GENGV_vnfId  or  @param - GENGV_vnfName
- *   @param - GENGV_type
- *
- * Out Mapping Variables:
- *   @param - GENGV_vnf
- *   @param - GENGV_SuccessIndicator
- *   @param - GENGV_FoundIndicator
- *   @param - WorkflowException
- *
- *
- */
-class GenericGetVnf extends AbstractServiceTaskProcessor{
-       private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, GenericGetVnf.class);
-
-
-       String Prefix = "GENGV_"
-       ExceptionUtil exceptionUtil = new ExceptionUtil()
-
-       /**
-        * This method validates the incoming variables and
-        * determines the subsequent event based on which
-        * variables the calling flow provided.
-        *
-        * @param - execution
-        */
-       public void preProcessRequest(DelegateExecution execution) {
-               execution.setVariable("prefix",Prefix)
-               msoLogger.trace("STARTED GenericGetVnf PreProcessRequest Process")
-
-               execution.setVariable("GENGV_getVnfByName", false)
-               execution.setVariable("GENGV_SuccessIndicator", false)
-               execution.setVariable("GENGV_FoundIndicator", false)
-
-               try{
-                       // Get Variables
-                       String vnfId = execution.getVariable("GENGV_vnfId")
-                       msoLogger.debug("Incoming Vnf Id is: " + vnfId)
-                       String vnfName = execution.getVariable("GENGV_vnfName")
-                       msoLogger.debug("Incoming Vnf Name is: " + vnfName)
-
-                       if(isBlank(vnfId) && isBlank(vnfName)){
-                               msoLogger.debug("Incoming Vnf Name and Vnf Id are null. At least one is required!")
-                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming Vnf Name and Vnf Id are null. At least one is required.")
-                       }else{
-                               if(isBlank(vnfId)){
-                                       execution.setVariable("GENGV_getVnfByName", true)
-                               }
-                       }
-
-               }catch(BpmnError b){
-                       msoLogger.debug("Rethrowing MSOWorkflowException")
-                       throw b
-               }catch(Exception e){
-                       msoLogger.debug(" Error encountered within GenericGetVnf PreProcessRequest method!" + e)
-                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in GenericGetVnf PreProcessRequest")
-
-               }
-               msoLogger.trace("COMPLETED GenericGetVnf PreProcessRequest Process ")
-       }
-
-       /**
-        * This method executes a GET call to AAI to obtain the
-        * Vnf using the Vnf Name
-        *
-        * @param - execution
-        */
-       public void getVnfByName(DelegateExecution execution){
-               execution.setVariable("prefix",Prefix)
-               msoLogger.trace("STARTED GenericGetVnf GetVnfByName Process")
-               try {
-                       String vnfName = execution.getVariable("GENGV_vnfName")
-                       msoLogger.debug("Getting Vnf by Vnf Name: " + vnfName)
-                       String type = execution.getVariable("GENGV_type")
-                       msoLogger.debug("Type of Vnf Getting is: " + type)
-
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-
-                       //Determine Type of Vnf Querying For.
-                       def aai_uri = ""
-                       if(type.equals("generic-vnf")){
-                               aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       }else if(type.equals("vce")){
-                               aai_uri = aaiUriUtil.getNetworkVceUri(execution)
-                       }else{
-                               msoLogger.debug("Invalid Incoming GENGV_type")
-                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Invalid Incoming GENGV_type")
-                       }
-
-                       String getVnfPath = "${aai_endpoint}${aai_uri}?vnf-name=" + UriUtils.encode(vnfName, "UTF-8") + "&depth=1"
-
-                       execution.setVariable("GENGV_getVnfPath", getVnfPath)
-                       msoLogger.debug("Get Vnf Url is: " + getVnfPath)
-
-                       APIResponse response = aaiUriUtil.executeAAIGetCall(execution, getVnfPath)
-                       int responseCode = response.getStatusCode()
-                       execution.setVariable("GENGV_getVnfResponseCode", responseCode)
-                       msoLogger.debug("  GET Vnf response code is: " + responseCode)
-
-                       String aaiResponse = response.getResponseBodyAsString()
-                       execution.setVariable("GENGV_getVnfResponse", aaiResponse)
-
-                       //Process Response
-                       if(responseCode == 200){
-                               msoLogger.debug("GET Vnf Received a Good Response")
-                                       if(utils.nodeExists(aaiResponse, type)){
-                                               msoLogger.debug("GET Vnf Response Contains a Vnf")
-                                               execution.setVariable("GENGV_FoundIndicator", true)
-                                               execution.setVariable("GENGV_vnf", aaiResponse)
-                                               execution.setVariable("WorkflowResponse", aaiResponse)
-                                       }else{
-                                               msoLogger.debug("GET Vnf Response Does NOT Contain a Vnf")
-                                       }
-
-                       }else if(responseCode == 404){
-                               msoLogger.debug("GET Vnf Received a Not Found (404) Response")
-                       }else{
-                               msoLogger.debug("GET Vnf Received a Bad Response: \n" + aaiResponse)
-                               exceptionUtil.MapAAIExceptionToWorkflowExceptionGeneric(execution, aaiResponse, responseCode)
-                               throw new BpmnError("MSOWorkflowException")
-                       }
-               }catch(BpmnError b){
-                       msoLogger.debug("Rethrowing MSOWorkflowException")
-                       throw b
-               }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, " Error encountered within GenericGetVnf GetVnfByName method!" + e, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "");
-                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured During GetVnfByName")
-               }
-               msoLogger.trace("COMPLETED GenericGetVnf GetVnfByName Process")
-       }
-
-       /**
-        * This method executes a GET call to AAI to obtain the
-        * Vnf using the Vnf Id
-        *
-        * @param - execution
-        */
-       public void getVnfById(DelegateExecution execution){
-               execution.setVariable("prefix",Prefix)
-               msoLogger.trace("STARTED GenericGetVnf GetVnfById Process")
-               try {
-                       String vnfId = execution.getVariable("GENGV_vnfId")
-                       msoLogger.debug("Getting Vnf by Vnf Id: " + vnfId)
-                       String type = execution.getVariable("GENGV_type")
-                       msoLogger.debug("Type of Vnf Getting is: " + type)
-
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-
-                       //Determine Type of Vnf Querying For.
-                       def aai_uri = ""
-                       if(type.equals("generic-vnf")){
-                               aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       }else if(type.equals("vce")){
-                               aai_uri = aaiUriUtil.getNetworkVceUri(execution)
-                       }else if(type.equals("vpe")){
-                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "GenericGetVnf does not yet support getting type of vnf = vpe")
-                       }else{
-                               msoLogger.debug("Invalid Incoming GENGV_type")
-                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Invalid Incoming GENGV_type")
-                       }
-                       msoLogger.debug("Using AAI Uri: " + aai_uri)
-
-                       String getVnfPath = "${aai_endpoint}${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
-                       msoLogger.debug("GET Vnf Endpoint is: " + getVnfPath)
-
-                       execution.setVariable("GENGV_getVnfPath", getVnfPath)
-                       msoLogger.debug("Get Vnf Url is: " + getVnfPath)
-
-                       APIResponse response = aaiUriUtil.executeAAIGetCall(execution, getVnfPath)
-                       int responseCode = response.getStatusCode()
-                       execution.setVariable("GENGV_getVnfResponseCode", responseCode)
-                       msoLogger.debug("  GET Vnf response code is: " + responseCode)
-
-                       String aaiResponse = response.getResponseBodyAsString()
-                       execution.setVariable("GENGV_getVnfResponse", aaiResponse)
-
-                       //Process Response
-                       if(responseCode == 200){
-                               msoLogger.debug("GET Vnf Received a Good Response")
-                                       if(utils.nodeExists(aaiResponse, type)){
-                                               msoLogger.debug("GET Vnf Response Contains a Vnf")
-                                               execution.setVariable("GENGV_FoundIndicator", true)
-                                               execution.setVariable("GENGV_vnf", aaiResponse)
-                                               execution.setVariable("WorkflowResponse", aaiResponse)
-                                       }else{
-                                               msoLogger.debug("GET Vnf Response Does NOT Contain a Vnf")
-                                       }
-
-                       }else if(responseCode == 404){
-                               msoLogger.debug("GET Vnf Received a Not Found (404) Response")
-                       }else{
-                               msoLogger.debug("GET Vnf Received a BAD REST Response: \n" + aaiResponse)
-                               exceptionUtil.MapAAIExceptionToWorkflowExceptionGeneric(execution, aaiResponse, responseCode)
-                               throw new BpmnError("MSOWorkflowException")
-                       }
-               }catch(BpmnError b){
-                       msoLogger.debug("Rethrowing MSOWorkflowException")
-                       throw b
-               }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, " Error encountered within GenericGetVnf GetVnfById method!" + e, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "");
-                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured During GetVnfById")
-               }
-               msoLogger.trace("COMPLETED GenericGetVnf GetVnfById Process")
-       }
-
-}
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/GenericPutService.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/GenericPutService.groovy
deleted file mode 100644 (file)
index 8cc756d..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
-/*-
- * ============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.onap.so.bpmn.common.scripts
-
-import org.onap.so.bpmn.core.UrnPropertiesReader
-
-import static org.apache.commons.lang3.StringUtils.*;
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.delegate.DelegateExecution;
-import org.apache.commons.codec.binary.Base64
-import org.apache.commons.lang3.*
-
-import org.onap.so.bpmn.core.json.JsonUtils
-import org.onap.so.bpmn.core.WorkflowException
-import org.onap.so.rest.APIResponse;
-import org.onap.so.rest.RESTClient
-import org.onap.so.rest.RESTConfig
-
-import java.net.URLEncoder;
-import org.springframework.web.util.UriUtils
-import org.onap.so.logger.MessageEnum
-import org.onap.so.logger.MsoLogger
-
-
-
-/**
- * This class supports the GenericPutService Sub Flow.
- * This Generic sub flow can be used by any flow for the
- * goal of creating a Service Instance or Service-Subscription in AAI. Upon successful completion of
- * this sub flow the GENPS_SuccessIndicator will be true.
- * The calling flow must set the GENPS_type variable as "service-instance"
- * or "service-subscription".
- *  A MSOWorkflowException will be thrown Upon unsuccessful
- * completion or if an error occurs within this flow.
- * Please map variables to the corresponding variable names
- * below.
- *
- *
- * Incoming Required Variables:
- * @param - GENPS_requestId
- * @param - GENPS_type - Required field. This will be required field populated as service-instance or service-subscription
- * @param - GENPS_globalSubscriberId - Required field
- * @param - GENPS_serviceType - Required Field
- * @param - GENPS_payload - Required Field This will be the payload that needs to be sent.
- *
- * @param - GENPS_serviceInstanceId - Conditional Field. Required for service-instance.
- * @param - GENPS_allottedResourceId - Conditional Field. Required for allotted-resource.
- * @param - GENPS_tunnelXconnectId - Conditional Field. Required for tunnel-xconnect.
- *
- * @param - GENPS_serviceResourceVersion - Conditional Field. Needs to be provided only in case of update for both service-instance and service subscription. The calling flows
- *          should check if a service-instance or servic-subscription exists by calling the subflow. if it exists then resourceversion should be
- *          obtained from aai and sent as an input parameter.
- *
- * Outgoing Variables:
- * @param - GENPS_SuccessIndicator
- * @param - WorkflowException
- *
- *
- */
-
-
-class GenericPutService extends AbstractServiceTaskProcessor{
-       private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, GenericPutService.class);
-
-
-       String Prefix = "GENPS_"
-       ExceptionUtil exceptionUtil = new ExceptionUtil()
-
-
-       public void preProcessRequest(DelegateExecution execution) {
-               execution.setVariable("isDebugLogEnabled","true")
-               execution.setVariable("prefix",Prefix)
-               msoLogger.trace("STARTED GenericPutService PreProcessRequest Process")
-
-               execution.setVariable("GENPS_SuccessIndicator", false)
-
-               try{
-                       // Get Variables
-                       String requestId = execution.getVariable("GENPS_requestId")
-                       msoLogger.debug("Incoming GENPS_requestId is: " + requestId)
-
-                       String globalSubscriberId = execution.getVariable("GENPS_globalSubscriberId")
-                       String serviceInstanceId = execution.getVariable("GENPS_serviceInstanceId")
-                       String serviceType = execution.getVariable("GENPS_serviceType")
-                       String allottedResourceId = execution.getVariable("GENPS_allottedResourceId")
-                       String tunnelXconnectId = execution.getVariable("GENPS_tunnelXconnectId")
-                       String type = execution.getVariable("GENPS_type")
-
-                       if(type != null){
-                               msoLogger.debug("Incoming GENPS_type is: " + type)
-                               if(type.equalsIgnoreCase("service-instance")){
-                                       if(isBlank(globalSubscriberId) || isBlank(serviceType) || isBlank(serviceInstanceId)){
-                                               msoLogger.debug("Incoming Required Variable is missing or null!")
-                                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming Required Variable is Missing or Null!")
-                                       }else{
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                       }
-                               }else if(type.equalsIgnoreCase("service-subscription")){
-                                       if(isBlank(serviceType) || isBlank(globalSubscriberId)){
-                                               msoLogger.debug("Incoming ServiceType or GlobalSubscriberId is null. These variables are required to create a service-subscription.")
-                                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming ServiceType or GlobalCustomerId is null. These variables are required to Get a service-subscription.")
-                                       }else{
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                       }
-                               }else if(type.equalsIgnoreCase("allotted-resource")){
-                                       if(isBlank(globalSubscriberId) || isBlank(serviceType) || isBlank(serviceInstanceId) || isBlank(allottedResourceId)){
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Allotted Resource Id is: " + allottedResourceId)
-                                               msoLogger.debug("Incoming Required Variable is missing or null!")
-                                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming Required Variable is Missing or Null!")
-                                       }else{
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Allotted Resource Id is: " + allottedResourceId)
-                                       }
-                               }else if(type.equalsIgnoreCase("tunnel-xconnect")){
-                                       if(isBlank(globalSubscriberId) || isBlank(serviceType) || isBlank(serviceInstanceId) || isBlank(allottedResourceId) || isBlank(tunnelXconnectId)){
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Allotted Resource Id is: " + allottedResourceId)
-                                               msoLogger.debug("Incoming Tunnel Xconnect Id is: " + tunnelXconnectId)
-                                               msoLogger.debug("Incoming Required Variable is missing or null!")
-                                               exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming Required Variable is Missing or Null!")
-                                       }else{
-                                               msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                                               msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
-                                               msoLogger.debug("Incoming Service Type is: " + serviceType)
-                                               msoLogger.debug("Incoming Allotted Resource Id is: " + allottedResourceId)
-                                               msoLogger.debug("Incoming Tunnel Xconnect Id is: " + tunnelXconnectId)
-                                       }
-                               }else{
-                                       exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Incoming Type is Invalid. Please Specify Type as service-instance or service-subscription")
-                               }
-                       }else{
-                               exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Incoming GENPS_type is null. Variable is Required.")
-                       }
-
-               }catch(BpmnError b){
-                       msoLogger.debug("Rethrowing MSOWorkflowException")
-                       throw b
-               }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, " Error encountered within GenericPutService PreProcessRequest method!" + e, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "");
-                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in GenericPutService PreProcessRequest")
-
-               }
-               msoLogger.trace("COMPLETED GenericPutService PreProcessRequest Process ")
-
-       }
-
-       /**
-        * This method executes a Put call to AAI for the provided
-        * service instance.
-        *
-        * @param - execution
-        *
-        */
-       public void putServiceInstance(DelegateExecution execution){
-               execution.setVariable("prefix",Prefix)
-               msoLogger.trace("STARTED GenericPutService PutServiceInstance method")
-               try {
-                       String type = execution.getVariable("GENPS_type")
-
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       String namespace = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
-                       msoLogger.debug('AAI namespace is: ' + namespace)
-
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-                       String serviceAaiPath = ""
-                       String payload = execution.getVariable("GENPS_payload")
-                       execution.setVariable("GENPS_payload", payload)
-                       msoLogger.debug("Incoming GENPS_payload is: " + payload)
-                       msoLogger.debug(payload)
-
-                       String serviceType = execution.getVariable("GENPS_serviceType")
-                       msoLogger.debug(" Incoming GENPS_serviceType is: " + serviceType)
-
-                       String globalSubscriberId = execution.getVariable("GENPS_globalSubscriberId")
-                       msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-
-                       // This IF clause is if we need to create a new Service Instance
-                       if(type.equalsIgnoreCase("service-instance")){
-
-                               String serviceInstanceId = execution.getVariable("GENPS_serviceInstanceId")
-                               msoLogger.debug(" Incoming GENPS_serviceInstanceId is: " + serviceInstanceId)
-
-                               //      serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + URLEncoder.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + URLEncoder.encode(serviceType,"UTF-8") + "/service-instances/service-instance/" + URLEncoder.encode(serviceInstanceId,"UTF-8")
-                               serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + UriUtils.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + UriUtils.encode(serviceType,"UTF-8") + "/service-instances/service-instance/" + UriUtils.encode(serviceInstanceId,"UTF-8")
-
-                       }else if(type.equalsIgnoreCase("service-subscription")){
-
-                               //      serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + URLEncoder.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + URLEncoder.encode(serviceType,"UTF-8")
-                               serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + UriUtils.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + UriUtils.encode(serviceType,"UTF-8")
-                       }else if(type.equalsIgnoreCase("allotted-resource")){
-
-                               String serviceInstanceId = execution.getVariable("GENPS_serviceInstanceId")
-                               msoLogger.debug(" Incoming GENPS_serviceInstanceId is: " + serviceInstanceId)
-                               String allottedResourceId = execution.getVariable("GENPS_allottedResourceId")
-                               msoLogger.debug(" Incoming GENPS_allottedResourceId is: " + allottedResourceId)
-
-                               //      serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + URLEncoder.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + URLEncoder.encode(serviceType,"UTF-8")
-                               serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + UriUtils.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + UriUtils.encode(serviceType,"UTF-8") + "/service-instances/service-instance/" + UriUtils.encode(serviceInstanceId,"UTF-8") + "/allotted-resources/allotted-resource/" + UriUtils.encode(allottedResourceId,"UTF-8")
-                       }else if(type.equalsIgnoreCase("tunnel-xconnect")){
-
-                               String serviceInstanceId = execution.getVariable("GENPS_serviceInstanceId")
-                               msoLogger.debug(" Incoming GENPS_serviceInstanceId is: " + serviceInstanceId)
-                               String allottedResourceId = execution.getVariable("GENPS_allottedResourceId")
-                               msoLogger.debug(" Incoming GENPS_allottedResourceId is: " + allottedResourceId)
-                               String tunnelXconnectId = execution.getVariable("GENPS_tunnelXconnectId")
-                               msoLogger.debug(" Incoming GENPS_tunnelXconnectId is: " + tunnelXconnectId)
-
-                               //      serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + URLEncoder.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + URLEncoder.encode(serviceType,"UTF-8")
-                               serviceAaiPath = "${aai_endpoint}${aai_uri}/"  + UriUtils.encode(globalSubscriberId,"UTF-8") + "/service-subscriptions/service-subscription/" + UriUtils.encode(serviceType,"UTF-8") + "/service-instances/service-instance/" + UriUtils.encode(serviceInstanceId,"UTF-8") + "/allotted-resources/allotted-resource/" + UriUtils.encode(allottedResourceId,"UTF-8") + "/tunnel-xconnects/tunnel-xconnect/" + UriUtils.encode(tunnelXconnectId,"UTF-8")
-                       }
-
-                       String resourceVersion = execution.getVariable("GENPS_serviceResourceVersion")
-                       msoLogger.debug("Incoming Resource Version is: " + resourceVersion)
-                       if(resourceVersion !=null){
-                               serviceAaiPath = serviceAaiPath +'?resource-version=' + UriUtils.encode(resourceVersion,"UTF-8")
-                       }
-
-                       execution.setVariable("GENPS_putServiceInstanceAaiPath", serviceAaiPath)
-                       msoLogger.debug("PUT Service Instance AAI Path is: " + "\n" + serviceAaiPath)
-                       APIResponse response = aaiUriUtil.executeAAIPutCall(execution, serviceAaiPath, payload)
-                       int responseCode = response.getStatusCode()
-                       execution.setVariable("GENPS_putServiceInstanceResponseCode", responseCode)
-                       msoLogger.debug("  Put Service Instance response code is: " + responseCode)
-
-                       String aaiResponse = response.getResponseBodyAsString()
-                       execution.setVariable("GENPS_putServiceInstanceResponse", aaiResponse)
-
-                       //Process Response
-                       if(responseCode == 200 || responseCode == 201 || responseCode == 202 )
-                               //200 OK 201 CREATED 202 ACCEPTED
-                       {
-                               msoLogger.debug("PUT Service Instance Received a Good Response")
-                               execution.setVariable("GENPS_SuccessIndicator", true)
-                       }
-
-                       else{
-                               msoLogger.debug("Put Generic Service Instance Received a Bad Response Code. Response Code is: " + responseCode)
-                               exceptionUtil.MapAAIExceptionToWorkflowExceptionGeneric(execution, aaiResponse, responseCode)
-                               throw new BpmnError("MSOWorkflowException")
-                       }
-               }catch(BpmnError b){
-                       msoLogger.debug("Rethrowing MSOWorkflowException")
-                       throw b
-               }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, " Error encountered within GenericPutService PutServiceInstance method!" + e, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "");
-                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured During Put Service Instance")
-               }
-               msoLogger.trace("COMPLETED GenericPutService PutServiceInstance Process")
-       }
-
-}
index 2e5499c..1e8569c 100644 (file)
 
 package org.onap.so.bpmn.common.scripts;
 
 
 package org.onap.so.bpmn.common.scripts;
 
-import org.apache.commons.lang3.*
-
-import groovy.xml.XmlUtil
-import org.onap.so.bpmn.core.UrnPropertiesReader
-
+import javax.ws.rs.core.UriBuilder
 import javax.xml.parsers.DocumentBuilder
 import javax.xml.parsers.DocumentBuilderFactory
 import javax.xml.transform.Transformer
 import javax.xml.transform.TransformerFactory
 import javax.xml.parsers.DocumentBuilder
 import javax.xml.parsers.DocumentBuilderFactory
 import javax.xml.transform.Transformer
 import javax.xml.transform.TransformerFactory
-import javax.xml.transform.TransformerException
 import javax.xml.transform.dom.DOMSource
 import javax.xml.transform.stream.StreamResult
 
 import javax.xml.transform.dom.DOMSource
 import javax.xml.transform.stream.StreamResult
 
-import org.camunda.bpm.engine.delegate.BpmnError
+import org.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.camunda.bpm.engine.delegate.DelegateExecution
-import org.w3c.dom.Document
-import org.w3c.dom.Element
-
-import org.w3c.dom.NamedNodeMap
-import org.w3c.dom.Node
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource
+import org.onap.so.bpmn.core.UrnPropertiesReader
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.logger.MsoLogger
 import org.onap.so.logger.MsoLogger
-
-import org.onap.so.logger.MessageEnum
-
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.delegate.DelegateExecution
-import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor;
 import org.w3c.dom.Document
 import org.w3c.dom.Element
 import org.w3c.dom.Document
 import org.w3c.dom.Element
-import org.w3c.dom.NamedNodeMap
 import org.w3c.dom.Node
 import org.w3c.dom.NodeList;
 import org.xml.sax.InputSource
 
 import org.w3c.dom.Node
 import org.w3c.dom.NodeList;
 import org.xml.sax.InputSource
 
+import groovy.xml.XmlUtil
+
 
 /**
  * This groovy class supports the any Network processes that need the methods defined here.
 
 /**
  * This groovy class supports the any Network processes that need the methods defined here.
@@ -332,41 +318,9 @@ class NetworkUtils {
 
                return requestPayload
        }
 
                return requestPayload
        }
-
-       def String createCloudRegionVolumeRequest(groupId, volumeName, vnfType, tenantId, cloudRegion, namespace, modelCustomizationId) {
-
-                               String requestPayload =
-                               """<volume-group xmlns="${namespace}">
-                               <volume-group-id>${MsoUtils.xmlEscape(groupId)}</volume-group-id>
-                               <volume-group-name>${MsoUtils.xmlEscape(volumeName)}</volume-group-name>
-                               <heat-stack-id></heat-stack-id>
-                               <vnf-type>${MsoUtils.xmlEscape(vnfType)}</vnf-type>
-                               <orchestration-status>Pending</orchestration-status>
-                               <vf-module-model-customization-id>${MsoUtils.xmlEscape(modelCustomizationId)}</vf-module-model-customization-id>
-                               <relationship-list>
-                                  <relationship>
-                                          <related-to>tenant</related-to>
-                                          <relationship-data>
-                                                  <relationship-key>tenant.tenant-id</relationship-key>
-                                                  <relationship-value>${MsoUtils.xmlEscape(tenantId)}</relationship-value>
-                                          </relationship-data>
-                                          <relationship-data>
-                                                  <relationship-key>cloud-region.cloud-owner</relationship-key>
-                                                  <relationship-value>att-aic</relationship-value>
-                                          </relationship-data>
-                                          <relationship-data>
-                                                  <relationship-key>cloud-region.cloud-region-id</relationship-key>
-                                                  <relationship-value>${MsoUtils.xmlEscape(cloudRegion)}</relationship-value>
-                                          </relationship-data>
-                                  </relationship>
-                          </relationship-list>
-                  </volume-group>"""
-
-                               return requestPayload
-                       }
-
-       def String createCloudRegionVolumeRequest(groupId, volumeName, vnfType, vnfId, tenantId, cloudRegion, namespace, modelCustomizationId) {
-
+       
+       def String createCloudRegionVolumeRequest(groupId, volumeName, vnfType, vnfId, tenantId, cloudOwner, cloudRegion, namespace, modelCustomizationId) {
+               
                String requestPayload =
                """<volume-group xmlns="${namespace}">
                        <volume-group-id>${MsoUtils.xmlEscape(groupId)}</volume-group-id>
                String requestPayload =
                """<volume-group xmlns="${namespace}">
                        <volume-group-id>${MsoUtils.xmlEscape(groupId)}</volume-group-id>
@@ -391,7 +345,7 @@ class NetworkUtils {
                                   </relationship-data>
                                   <relationship-data>
                                           <relationship-key>cloud-region.cloud-owner</relationship-key>
                                   </relationship-data>
                                   <relationship-data>
                                           <relationship-key>cloud-region.cloud-owner</relationship-key>
-                                          <relationship-value>att-aic</relationship-value>
+                                          <relationship-value>${cloudOwner}</relationship-value>
                                   </relationship-data>
                                   <relationship-data>
                                           <relationship-key>cloud-region.cloud-region-id</relationship-key>
                                   </relationship-data>
                                   <relationship-data>
                                           <relationship-key>cloud-region.cloud-region-id</relationship-key>
@@ -858,10 +812,8 @@ class NetworkUtils {
                                   if (utils.getNodeText(relationshipXml, 'related-to') == "cloud-region") {
                                          def relatedLink = utils.getNodeText(relationshipXml, 'related-link')
                                          if (relatedLink != null || relatedLink != "") {
                                   if (utils.getNodeText(relationshipXml, 'related-to') == "cloud-region") {
                                          def relatedLink = utils.getNodeText(relationshipXml, 'related-link')
                                          if (relatedLink != null || relatedLink != "") {
-                                                lcpCloudRegion = relatedLink.substring(relatedLink.indexOf("/att-aic/")+9, relatedLink.length())
-                                                if (lcpCloudRegion.contains('/')) {
-                                                        lcpCloudRegion = relatedLink.substring(relatedLink.indexOf("/att-aic/")+9, relatedLink.length()-1)
-                                                }
+                                               AAIResourceUri aaiUri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.CLOUD_REGION, UriBuilder.fromUri(relatedLink).build())
+                                               lcpCloudRegion = aaiUri.getURIKeys().getOrDefault("cloud-region", "")
                                          }
                                   }
                                }
                                          }
                                   }
                                }
index a6f8ff4..e182ae3 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -22,8 +22,17 @@ package org.onap.so.bpmn.common.scripts
 
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.camunda.bpm.model.dmn.instance.OrganizationUnit
+import org.hibernate.engine.jdbc.Size.LobMultiplier
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.WorkflowException
+import org.onap.aai.domain.yang.GenericVnf
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.UrnPropertiesReader
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.AAIResourcesClient
+import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.graphinventory.entities.uri.Depth
 import org.onap.so.rest.APIResponse
 import org.onap.so.rest.RESTClient
 import org.onap.so.rest.RESTConfig
 import org.onap.so.rest.APIResponse
 import org.onap.so.rest.RESTClient
 import org.onap.so.rest.RESTConfig
@@ -36,12 +45,12 @@ import org.onap.so.logger.MsoLogger
 public class PrepareUpdateAAIVfModule extends VfModuleBase {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, PrepareUpdateAAIVfModule.class);
 
 public class PrepareUpdateAAIVfModule extends VfModuleBase {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, PrepareUpdateAAIVfModule.class);
 
-       
+
        ExceptionUtil exceptionUtil = new ExceptionUtil()
        private MsoUtils utils = new MsoUtils()
        /**
         * Initialize the flow's variables.
        ExceptionUtil exceptionUtil = new ExceptionUtil()
        private MsoUtils utils = new MsoUtils()
        /**
         * Initialize the flow's variables.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        public void initProcessVariables(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        public void initProcessVariables(DelegateExecution execution) {
@@ -58,11 +67,11 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                execution.setVariable('PUAAIVfMod_updateVfModuleResponseCode', null)
                execution.setVariable('PUAAIVfMod_updateVfModuleResponse', '')
                execution.setVariable('PUAAIVfMod_outVfModule', null)
                execution.setVariable('PUAAIVfMod_updateVfModuleResponseCode', null)
                execution.setVariable('PUAAIVfMod_updateVfModuleResponse', '')
                execution.setVariable('PUAAIVfMod_outVfModule', null)
-       }       
-       
+       }
+
        /**
         * Check for missing elements in the received request.
        /**
         * Check for missing elements in the received request.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        public void preProcessRequest(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        public void preProcessRequest(DelegateExecution execution) {
@@ -75,15 +84,15 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                        def xml = execution.getVariable('PrepareUpdateAAIVfModuleRequest')
                        msoLogger.debug('Received request xml:\n' + xml)
                        msoLogger.debug("PrepareUpdateAAIVfModule Request  : " + xml)
                        def xml = execution.getVariable('PrepareUpdateAAIVfModuleRequest')
                        msoLogger.debug('Received request xml:\n' + xml)
                        msoLogger.debug("PrepareUpdateAAIVfModule Request  : " + xml)
-                       
+
                        initProcessVariables(execution)
                        initProcessVariables(execution)
-                       
+
                        def vnfId = getRequiredNodeText(execution, xml,'vnf-id')
                        execution.setVariable('PUAAIVfMod_vnfId', vnfId)
 
                        def vfModuleId = getRequiredNodeText(execution, xml,'vf-module-id')
                        execution.setVariable('PUAAIVfMod_vfModuleId', vfModuleId)
                        def vnfId = getRequiredNodeText(execution, xml,'vnf-id')
                        execution.setVariable('PUAAIVfMod_vnfId', vnfId)
 
                        def vfModuleId = getRequiredNodeText(execution, xml,'vf-module-id')
                        execution.setVariable('PUAAIVfMod_vfModuleId', vfModuleId)
-                       
+
                        def orchestrationStatus = getRequiredNodeText(execution, xml,'orchestration-status')
                        execution.setVariable('PUAAIVfMod_orchestrationStatus', orchestrationStatus)
 
                        def orchestrationStatus = getRequiredNodeText(execution, xml,'orchestration-status')
                        execution.setVariable('PUAAIVfMod_orchestrationStatus', orchestrationStatus)
 
@@ -95,11 +104,11 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in preProcessRequest(): ' + e.getMessage())
                }
        }
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in preProcessRequest(): ' + e.getMessage())
                }
        }
-       
+
        /**
         * Using the received vnfId, query AAI to get the corresponding Generic VNF.
         * A 200 response is expected with the Generic VNF in the response body.
        /**
         * Using the received vnfId, query AAI to get the corresponding Generic VNF.
         * A 200 response is expected with the Generic VNF in the response body.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        public void getGenericVnf(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        public void getGenericVnf(DelegateExecution execution) {
@@ -110,40 +119,16 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
 
                try {
                        def vnfId = execution.getVariable('PUAAIVfMod_vnfId')
 
                try {
                        def vnfId = execution.getVariable('PUAAIVfMod_vnfId')
-                       
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-                       def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
-                               
-                       msoLogger.debug("PrepareUpdateAAIVfModule: AAI endPoint  : " + endPoint)
-                       String basicAuthCred = utils.getBasicAuth(UrnPropertiesReader.getVariable("aai.auth", execution),UrnPropertiesReader.getVariable("mso.msoKey", execution))
+
+
                        try {
                        try {
-                               RESTConfig config = new RESTConfig(endPoint);
-                               def responseData = ''
-                               String aaiRequestId = utils.getRequestID()
-                               RESTClient client = new RESTClient(config).
-                                       addHeader('X-TransactionId', aaiRequestId).
-                                       addHeader('X-FromAppId', 'MSO').
-                                       addHeader('Content-Type', 'application/xml').
-                                       addHeader('Accept','application/xml');
-                               if (basicAuthCred != null && !"".equals(basicAuthCred)) {
-                                       client.addAuthorizationHeader(basicAuthCred)
-                               }
-                               msoLogger.debug('sending GET to AAI endpoint \'' + endPoint + '\'')
-                               APIResponse response = client.httpGet()
-                               msoLogger.debug("PrepareUpdateAAIVfModule: - invoking httpGet to AAI")
-                               
-                               responseData = response.getResponseBodyAsString()
-                               execution.setVariable('PUAAIVfMod_getVnfResponseCode', response.getStatusCode())
+                               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+                               AAIResourcesClient resourceClient = new AAIResourcesClient()
+                               AAIResultWrapper wrapper = resourceClient.get(uri.depth(Depth.ONE))
+                               GenericVnf responseData = wrapper.asBean(GenericVnf.class).get()
+
                                execution.setVariable('PUAAIVfMod_getVnfResponse', responseData)
                                execution.setVariable('PUAAIVfMod_getVnfResponse', responseData)
-                               
-                               msoLogger.debug("PrepareUpdateAAIVfModule: AAI Response : " + responseData)
-                               msoLogger.debug("PrepareUpdateAAIVfModule: AAI ResponseCode : " + response.getStatusCode())
-                               
-                               msoLogger.debug('Response code:' + response.getStatusCode())
-                               msoLogger.debug('Response:' + System.lineSeparator() + responseData)
+
                        } catch (Exception ex) {
                                msoLogger.error(ex);
                                msoLogger.debug('Exception occurred while executing AAI GET:' + ex.getMessage())
                        } catch (Exception ex) {
                                msoLogger.error(ex);
                                msoLogger.debug('Exception occurred while executing AAI GET:' + ex.getMessage())
@@ -158,13 +143,13 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in getGenericVnf(): ' + e.getMessage())
                }
        }
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in getGenericVnf(): ' + e.getMessage())
                }
        }
-       
+
        /**
         * Validate the VF Module.  That is, confirm that a VF Module with the input VF Module ID
         * exists in the retrieved Generic VNF.  Then, check to make sure that if that VF Module
         * is the base VF Module and it's not the only VF Module for this Generic VNF, that we're not
         * attempting to delete it.
        /**
         * Validate the VF Module.  That is, confirm that a VF Module with the input VF Module ID
         * exists in the retrieved Generic VNF.  Then, check to make sure that if that VF Module
         * is the base VF Module and it's not the only VF Module for this Generic VNF, that we're not
         * attempting to delete it.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        public void validateVfModule(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        public void validateVfModule(DelegateExecution execution) {
@@ -172,22 +157,30 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                        'execution=' + execution.getId() +
                        ')'
                msoLogger.trace('Entered ' + method)
                        'execution=' + execution.getId() +
                        ')'
                msoLogger.trace('Entered ' + method)
-               
+
                try {
                try {
-                       def genericVnf = execution.getVariable('PUAAIVfMod_getVnfResponse')
+                       GenericVnf genericVnf = execution.getVariable('PUAAIVfMod_getVnfResponse')
                        def vnfId = execution.getVariable('PUAAIVfMod_vnfId')
                        def vfModuleId = execution.getVariable('PUAAIVfMod_vfModuleId')
                        def vnfId = execution.getVariable('PUAAIVfMod_vnfId')
                        def vfModuleId = execution.getVariable('PUAAIVfMod_vfModuleId')
-                       def vnfName = getNodeTextForce(genericVnf, 'vnf-name')
+                       def vnfName = genericVnf.getVnfName()
                        execution.setVariable('PUAAIVfMod_vnfName', vnfName)
                        execution.setVariable('PUAAIVfMod_vnfName', vnfName)
-                       def VfModule vfModule = findVfModule(genericVnf, vfModuleId)
-                       if (vfModule == null) {
+
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId)
+                       AAIResourcesClient resourceClient = new AAIResourcesClient()
+
+
+
+               //      def VfModule vfModule = findVfModule(genericVnf, vfModuleId)
+                       if (!resourceClient.exists(uri)) {
                                def String msg = 'VF Module \'' + vfModuleId + '\' does not exist in Generic VNF \'' + vnfId + '\''
                                execution.setVariable('PUAAIVfMod_vfModuleValidationError', msg)
                                execution.setVariable('PUAAIVfMod_vfModuleOK', false)
                        } else {
                                def String msg = 'VF Module \'' + vfModuleId + '\' does not exist in Generic VNF \'' + vnfId + '\''
                                execution.setVariable('PUAAIVfMod_vfModuleValidationError', msg)
                                execution.setVariable('PUAAIVfMod_vfModuleOK', false)
                        } else {
+                               AAIResultWrapper wrapper = resourceClient.get(uri)
+                               org.onap.aai.domain.yang.VfModule vfModule = wrapper.asBean(org.onap.aai.domain.yang.VfModule.class)
+
                                def orchestrationStatus = execution.getVariable('PUAAIVfMod_orchestrationStatus')
                                def orchestrationStatus = execution.getVariable('PUAAIVfMod_orchestrationStatus')
-                               msoLogger.debug('VF Module \'' + vfModuleId + '\': isBaseVfModule=' + vfModule.isBaseVfModule() +', isOnlyVfModule=' + vfModule.isOnlyVfModule() + ', new orchestration-status=' + orchestrationStatus)
-                               if (vfModule.isBaseVfModule() && !vfModule.isOnlyVfModule() && orchestrationStatus.equals('pending-delete')) {
+                               if (vfModule.isBaseVfModule && genericVnf.getVfModules().getVfModule().size() > 1 && vfModule.getOrchestrationStatus().equals('pending-delete')) {
                                        def String msg = 'Orchestration status for VF Module \'' + vfModuleId +
                                                '\' cannot be set to \'pending-delete\' since it is the base VF Module and it\'s not the only VF Module in Generic VNF \'' + vnfId + '\''
                                        execution.setVariable('PUAAIVfMod_vfModuleValidationError', msg)
                                        def String msg = 'Orchestration status for VF Module \'' + vfModuleId +
                                                '\' cannot be set to \'pending-delete\' since it is the base VF Module and it\'s not the only VF Module in Generic VNF \'' + vnfId + '\''
                                        execution.setVariable('PUAAIVfMod_vfModuleValidationError', msg)
@@ -197,7 +190,7 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                                        execution.setVariable('PUAAIVfMod_vfModuleOK', true)
                                }
                        }
                                        execution.setVariable('PUAAIVfMod_vfModuleOK', true)
                                }
                        }
-                       
+
                        msoLogger.trace('Exited ' + method)
                } catch (BpmnError e) {
                        throw e;
                        msoLogger.trace('Exited ' + method)
                } catch (BpmnError e) {
                        throw e;
@@ -206,10 +199,10 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in validateVfModule(): ' + e.getMessage())
                }
        }
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in validateVfModule(): ' + e.getMessage())
                }
        }
-       
+
        /**
         * Construct and send a PATCH request to AAI to update the VF Module.
        /**
         * Construct and send a PATCH request to AAI to update the VF Module.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        public void updateVfModule(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        public void updateVfModule(DelegateExecution execution) {
@@ -217,39 +210,33 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                        'execution=' + execution.getId() +
                        ')'
                msoLogger.trace('Entered ' + method)
                        'execution=' + execution.getId() +
                        ')'
                msoLogger.trace('Entered ' + method)
-               
+
                try {
                        // Construct payload
                try {
                        // Construct payload
-                       def VfModule vfModule = (VfModule) execution.getVariable('PUAAIVfMod_vfModule')
-                       def Node newVfModuleNode = vfModule.getNode().clone()
+                       org.onap.aai.domain.yang.VfModule vfModule = execution.getVariable('PUAAIVfMod_vfModule')
+
                        def orchestrationStatus = execution.getVariable('PUAAIVfMod_orchestrationStatus')
                        def orchestrationStatus = execution.getVariable('PUAAIVfMod_orchestrationStatus')
-                       def Node orchestrationStatusNode = utils.getChildNode(newVfModuleNode, 'orchestration-status')
-                       if (orchestrationStatusNode == null) {
-                               // Node doesn't exist, this should never happen, right?
-                               new Node(newVfModuleNode, 'orchestration-status', orchestrationStatus)
-                       } else {
-                               // Node already exists, just give it a new value
-                               orchestrationStatusNode.setValue(orchestrationStatus)
-                       }
-                       def VfModule newVfModule = new VfModule(newVfModuleNode, vfModule.isOnlyVfModule())
+
+                       vfModule.setOrchestrationStatus(orchestrationStatus)
+
                        //def payload = utils.nodeToString(newVfModuleNode)
                        //def payload = utils.nodeToString(newVfModuleNode)
-                                       
+
                        // Construct endpoint
                        def vnfId = execution.getVariable('PUAAIVfMod_vnfId')
                        def vfModuleId = execution.getVariable('PUAAIVfMod_vfModuleId')
                        // Construct endpoint
                        def vnfId = execution.getVariable('PUAAIVfMod_vnfId')
                        def vfModuleId = execution.getVariable('PUAAIVfMod_vfModuleId')
-                       
+
                        def payload = """{
                                        "vf-module-id": "${vfModuleId}",
                                        "orchestration-status": "${orchestrationStatus}"
                                }"""
                        def payload = """{
                                        "vf-module-id": "${vfModuleId}",
                                        "orchestration-status": "${orchestrationStatus}"
                                }"""
-                       
+
                        msoLogger.debug("VfModule payload : " + payload)
 
                        msoLogger.debug("VfModule payload : " + payload)
 
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-                       def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "/vf-modules/vf-module/" + UriUtils.encode(vfModuleId, "UTF-8")
+                       AaiUtil aaiUtil = new AaiUtil(this)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId)
+                       uri.depth(Depth.ONE)
+                       String endPoint = aaiUtil.createAaiUri(uri)
+
                        msoLogger.debug("PrepareUpdateAAIVfModule: AAI endPoint  : " + endPoint)
                        String basicAuthCred = utils.getBasicAuth(UrnPropertiesReader.getVariable("aai.auth", execution),UrnPropertiesReader.getVariable("mso.msoKey", execution))
                        try {
                        msoLogger.debug("PrepareUpdateAAIVfModule: AAI endPoint  : " + endPoint)
                        String basicAuthCred = utils.getBasicAuth(UrnPropertiesReader.getVariable("aai.auth", execution),UrnPropertiesReader.getVariable("mso.msoKey", execution))
                        try {
@@ -275,16 +262,16 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                                msoLogger.debug('Response:' + System.lineSeparator() + responseData)
                                msoLogger.debug("PrepareUpdateAAIVfModule: AAI Response : " + responseData)
                                msoLogger.debug("PrepareUpdateAAIVfModule: AAI ResponseCode : " + response.getStatusCode())
                                msoLogger.debug('Response:' + System.lineSeparator() + responseData)
                                msoLogger.debug("PrepareUpdateAAIVfModule: AAI Response : " + responseData)
                                msoLogger.debug("PrepareUpdateAAIVfModule: AAI ResponseCode : " + response.getStatusCode())
-                               
+
                                // Set the output for this flow.  The updated VfModule is an output, the generic VNF name, and for
                                // backward compatibilty, the heat-stack-id is an output
                                // Set the output for this flow.  The updated VfModule is an output, the generic VNF name, and for
                                // backward compatibilty, the heat-stack-id is an output
-                               execution.setVariable('PUAAIVfMod_outVfModule', newVfModule)
+                               execution.setVariable('PUAAIVfMod_outVfModule', vfModule)
                                def vnfName = execution.getVariable('PUAAIVfMod_vnfName')
                                msoLogger.debug('Output PUAAIVfMod_vnfName set to ' + vnfName)
                                // TODO: Should deprecate use of processKey+Response variable for the response. Will use "WorkflowResponse" instead
                                def vnfName = execution.getVariable('PUAAIVfMod_vnfName')
                                msoLogger.debug('Output PUAAIVfMod_vnfName set to ' + vnfName)
                                // TODO: Should deprecate use of processKey+Response variable for the response. Will use "WorkflowResponse" instead
-                               execution.setVariable('WorkflowResponse', newVfModule)
-                               msoLogger.debug('Output PUAAIVfMod_outVfModule set for VF Module Id \'' + newVfModule.getElementText('vf-module-id') + '\'')
-                               def heatStackId = newVfModule.getElementText('heat-stack-id')
+                               execution.setVariable('WorkflowResponse', vfModule)
+
+                               def heatStackId = vfModule.getHeatStackId()
                                execution.setVariable('PUAAIVfMod_heatStackId', heatStackId)
                                msoLogger.debug('Output PUAAIVfMod_heatStackId set to \'' + heatStackId + '\'')
                        } catch (Exception ex) {
                                execution.setVariable('PUAAIVfMod_heatStackId', heatStackId)
                                msoLogger.debug('Output PUAAIVfMod_heatStackId set to \'' + heatStackId + '\'')
                        } catch (Exception ex) {
@@ -299,12 +286,12 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                } catch (Exception e) {
                        msoLogger.error(e)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in updateVfModule(): ' + e.getMessage())
                } catch (Exception e) {
                        msoLogger.error(e)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in updateVfModule(): ' + e.getMessage())
-               }                               
+               }
        }
        }
-               
+
        /**
         * Generates a WorkflowException if the AAI query returns a response code other than 200.
        /**
         * Generates a WorkflowException if the AAI query returns a response code other than 200.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        public void handleVnfNotFound(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        public void handleVnfNotFound(DelegateExecution execution) {
@@ -318,13 +305,13 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                WorkflowException exception = new WorkflowException(processKey, 5000,
                        execution.getVariable('PUAAIVfMod_getVnfResponse'))
                execution.setVariable('WorkflowException', exception)
                WorkflowException exception = new WorkflowException(processKey, 5000,
                        execution.getVariable('PUAAIVfMod_getVnfResponse'))
                execution.setVariable('WorkflowException', exception)
-               
+
                msoLogger.trace('Exited ' + method)
        }
                msoLogger.trace('Exited ' + method)
        }
-       
+
        /**
         * Generates a WorkflowException if the VF Module does not pass validation.
        /**
         * Generates a WorkflowException if the VF Module does not pass validation.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        public void handleVfModuleValidationError(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        public void handleVfModuleValidationError(DelegateExecution execution) {
@@ -332,21 +319,21 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                        'execution=' + execution.getId() +
                        ')'
                msoLogger.trace('Entered ' + method)
                        'execution=' + execution.getId() +
                        ')'
                msoLogger.trace('Entered ' + method)
-                               
+
                def String errorMsg = 'VF Module validation error: ' + execution.getVariable('PUAAIVfMod_vfModuleValidationError')
                msoLogger.error(errorMsg);
                msoLogger.debug("PrepareUpdateAAIVfModule: Error Message : " + errorMsg)
                def String errorMsg = 'VF Module validation error: ' + execution.getVariable('PUAAIVfMod_vfModuleValidationError')
                msoLogger.error(errorMsg);
                msoLogger.debug("PrepareUpdateAAIVfModule: Error Message : " + errorMsg)
-               
+
                String processKey = getProcessKey(execution);
                WorkflowException exception = new WorkflowException(processKey, 5000, errorMsg)
                execution.setVariable('WorkflowException', exception)
 
                msoLogger.trace('Exited ' + method)
        }
                String processKey = getProcessKey(execution);
                WorkflowException exception = new WorkflowException(processKey, 5000, errorMsg)
                execution.setVariable('WorkflowException', exception)
 
                msoLogger.trace('Exited ' + method)
        }
-       
+
        /**
         * Generates a WorkflowException if updating a VF Module in AAI returns a response code other than 200.
        /**
         * Generates a WorkflowException if updating a VF Module in AAI returns a response code other than 200.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        public void handleUpdateVfModuleFailure(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        public void handleUpdateVfModuleFailure(DelegateExecution execution) {
@@ -360,7 +347,7 @@ public class PrepareUpdateAAIVfModule extends VfModuleBase {
                WorkflowException exception = new WorkflowException(processKey, 5000,
                        execution.getVariable('PUAAIVfMod_updateVfModuleResponse'))
                execution.setVariable('WorkflowException', exception)
                WorkflowException exception = new WorkflowException(processKey, 5000,
                        execution.getVariable('PUAAIVfMod_updateVfModuleResponse'))
                execution.setVariable('WorkflowException', exception)
-               
+
                msoLogger.trace('Exited ' + method)
        }
 }
                msoLogger.trace('Exited ' + method)
        }
 }
index 7d7b9e1..3e7c4f2 100644 (file)
@@ -24,6 +24,10 @@ import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.UrnPropertiesReader
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.graphinventory.entities.uri.Depth
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 import org.onap.so.logger.MessageEnum
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 import org.onap.so.logger.MessageEnum
@@ -129,10 +133,10 @@ public class UpdateAAIGenericVnf extends AbstractServiceTaskProcessor {
 
                        // Construct endpoint
                        AaiUtil aaiUriUtil = new AaiUtil(this)
 
                        // Construct endpoint
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + aai_uri + '/' + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
-
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+                       uri.depth(Depth.ONE)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
+                       
                        try {
                                msoLogger.debug('sending GET to AAI endpoint \'' + endPoint + '\'')
                                msoLogger.debug("Sending GET to AAI endpoint: " + endPoint)
                        try {
                                msoLogger.debug('sending GET to AAI endpoint \'' + endPoint + '\'')
                                msoLogger.debug("Sending GET to AAI endpoint: " + endPoint)
@@ -246,9 +250,8 @@ public class UpdateAAIGenericVnf extends AbstractServiceTaskProcessor {
 
                        // Construct endpoint
                        AaiUtil aaiUriUtil = new AaiUtil(this)
 
                        // Construct endpoint
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + aai_uri + '/' + UriUtils.encode(vnfId, "UTF-8")
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
 
                        try {
                                msoLogger.debug('sending PATCH to AAI endpoint \'' + endPoint + '\'' + 'with payload \n' + payload)
 
                        try {
                                msoLogger.debug('sending PATCH to AAI endpoint \'' + endPoint + '\'' + 'with payload \n' + payload)
index 68b2df2..c455ae9 100644 (file)
@@ -24,6 +24,9 @@ import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.UrnPropertiesReader
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 import org.onap.so.logger.MessageEnum
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 import org.onap.so.logger.MessageEnum
@@ -104,12 +107,10 @@ public class UpdateAAIVfModule extends AbstractServiceTaskProcessor {
                        def vnfId = execution.getVariable('UAAIVfMod_vnfId')
                        def vfModuleId = execution.getVariable('UAAIVfMod_vfModuleId')
 
                        def vnfId = execution.getVariable('UAAIVfMod_vnfId')
                        def vfModuleId = execution.getVariable('UAAIVfMod_vfModuleId')
 
-                       // Construct endpoint
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + aai_uri + '/' + UriUtils.encode(vnfId, "UTF-8") + '/vf-modules/vf-module/' + UriUtils.encode(vfModuleId, "UTF-8")
-
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
+                       
                        try {
                                msoLogger.debug('sending GET to AAI endpoint \'' + endPoint + '\'')
                                msoLogger.debug("UpdateAAIVfModule sending GET to AAI endpoint: " + endPoint)
                        try {
                                msoLogger.debug('sending GET to AAI endpoint \'' + endPoint + '\'')
                                msoLogger.debug("UpdateAAIVfModule sending GET to AAI endpoint: " + endPoint)
@@ -202,12 +203,9 @@ public class UpdateAAIVfModule extends AbstractServiceTaskProcessor {
                                        }
                        """
 
                                        }
                        """
 
-
-                       // Construct endpoint
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + aai_uri + '/' + UriUtils.encode(vnfId, "UTF-8") + '/vf-modules/vf-module/' + UriUtils.encode(vfModuleId, "UTF-8")
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
 
                        try {
                                msoLogger.debug('sending PATCH to AAI endpoint \'' + endPoint + '\'' + 'with payload \n' + payload)
 
                        try {
                                msoLogger.debug('sending PATCH to AAI endpoint \'' + endPoint + '\'' + 'with payload \n' + payload)
index 0184668..91cd2ad 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -35,6 +35,8 @@ public class Candidate implements Serializable {
        private CandidateType candidateType;
        @JsonProperty("candidates")
        private List<String> candidates;
        private CandidateType candidateType;
        @JsonProperty("candidates")
        private List<String> candidates;
+       @JsonProperty("cloudOwner")
+       private String cloudOwner;
 
        /**
         * list of candidates
 
        /**
         * list of candidates
@@ -68,4 +70,20 @@ public class Candidate implements Serializable {
                this.candidateType = candidateType;
        }
 
                this.candidateType = candidateType;
        }
 
+       /**
+        * The name of the cloud owner. Required if candidateType is cloudRegionId
+        */
+       public String getCloudOwner(){
+               return cloudOwner;
+       }
+
+       /**
+        * The name of the cloud owner. Required if candidateType is cloudRegionId
+        */
+       public void setCloudOwner(String cloudOwner){
+               this.cloudOwner = cloudOwner;
+       }
+
+
+
 }
 }
index 9540b91..40c76a3 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -37,7 +37,6 @@ public enum CandidateType {
                return name;
        }
 
                return name;
        }
 
-       //TODO added to get PojoTest to work
        public String getName(){
                return name;
        }
        public String getName(){
                return name;
        }
index eb4f4ca..769d3e4 100644 (file)
@@ -101,7 +101,6 @@ public class BBInputSetup implements JavaDelegate {
        private static final String LOOKUP_KEY_MAP_VAR_NAME = "lookupKeyMap";
        private static final String GBB_INPUT_VAR_NAME = "gBBInput";
        private static final String EXECUTE_BB_VAR_NAME = "buildingBlock";
        private static final String LOOKUP_KEY_MAP_VAR_NAME = "lookupKeyMap";
        private static final String GBB_INPUT_VAR_NAME = "gBBInput";
        private static final String EXECUTE_BB_VAR_NAME = "buildingBlock";
-       private static final String CLOUD_OWNER = "att-aic";
        private static final String VOLUME_GROUP = "VolumeGroup";
        private static final String VF_MODULE = "VfModule";
        private static final String NETWORK = "Network";
        private static final String VOLUME_GROUP = "VolumeGroup";
        private static final String VF_MODULE = "VfModule";
        private static final String NETWORK = "Network";
@@ -384,7 +383,7 @@ public class BBInputSetup implements JavaDelegate {
                                if (lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID) == null) {
                                        for(VolumeGroup volumeGroup : tempVnf.getVolumeGroups()) {
                                                String volumeGroupCustId = 
                                if (lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID) == null) {
                                        for(VolumeGroup volumeGroup : tempVnf.getVolumeGroups()) {
                                                String volumeGroupCustId = 
-                                                               this.bbInputSetupUtils.getAAIVolumeGroup(CLOUD_OWNER
+                                                               this.bbInputSetupUtils.getAAIVolumeGroup(cloudConfiguration.getCloudOwner()
                                                                                cloudConfiguration.getLcpCloudRegionId(), volumeGroup.getVolumeGroupId()).getModelCustomizationId();
                                                if(modelInfo.getModelCustomizationId().equalsIgnoreCase(volumeGroupCustId)) {
                                                        lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, volumeGroup.getVolumeGroupId());
                                                                                cloudConfiguration.getLcpCloudRegionId(), volumeGroup.getVolumeGroupId()).getModelCustomizationId();
                                                if(modelInfo.getModelCustomizationId().equalsIgnoreCase(volumeGroupCustId)) {
                                                        lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, volumeGroup.getVolumeGroupId());
@@ -801,9 +800,8 @@ public class BBInputSetup implements JavaDelegate {
                requestContext.setAction(requestAction);
                requestContext.setMsoRequestId(executeBB.getRequestId());
                org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = bbInputSetupUtils
                requestContext.setAction(requestAction);
                requestContext.setMsoRequestId(executeBB.getRequestId());
                org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = bbInputSetupUtils
-                               .getCloudRegion(requestDetails.getCloudConfiguration(), CLOUD_OWNER);
-               CloudRegion cloudRegion = mapperLayer.mapCloudRegion(requestDetails.getCloudConfiguration(), aaiCloudRegion,
-                               CLOUD_OWNER);
+                               .getCloudRegion(requestDetails.getCloudConfiguration());
+               CloudRegion cloudRegion = mapperLayer.mapCloudRegion(requestDetails.getCloudConfiguration(), aaiCloudRegion);
                outputBB.setOrchContext(orchContext);
                outputBB.setRequestContext(requestContext);
                outputBB.setCloudRegion(cloudRegion);
                outputBB.setOrchContext(orchContext);
                outputBB.setRequestContext(requestContext);
                outputBB.setCloudRegion(cloudRegion);
@@ -981,9 +979,8 @@ public class BBInputSetup implements JavaDelegate {
                        String requestAction, CloudConfiguration cloudConfiguration) throws Exception {
                ServiceInstance serviceInstance = gBB.getServiceInstance();
                if (cloudConfiguration != null && requestAction.equalsIgnoreCase("deleteInstance")) {
                        String requestAction, CloudConfiguration cloudConfiguration) throws Exception {
                ServiceInstance serviceInstance = gBB.getServiceInstance();
                if (cloudConfiguration != null && requestAction.equalsIgnoreCase("deleteInstance")) {
-                       org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfiguration,
-                                       CLOUD_OWNER);
-                       CloudRegion cloudRegion = mapperLayer.mapCloudRegion(cloudConfiguration, aaiCloudRegion, CLOUD_OWNER);
+                       org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfiguration);
+                       CloudRegion cloudRegion = mapperLayer.mapCloudRegion(cloudConfiguration, aaiCloudRegion);
                        gBB.setCloudRegion(cloudRegion);
                }
                if (bbName.contains(VNF)) {
                        gBB.setCloudRegion(cloudRegion);
                }
                if (bbName.contains(VNF)) {
@@ -1030,7 +1027,7 @@ public class BBInputSetup implements JavaDelegate {
                                                this.mapCatalogVnf(vnf, vnfModelInfo, service);
                                                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, vnf.getVnfId());
                                                if (cloudConfiguration != null) {
                                                this.mapCatalogVnf(vnf, vnfModelInfo, service);
                                                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, vnf.getVnfId());
                                                if (cloudConfiguration != null) {
-                                                       String volumeGroupCustomizationUUID = this.bbInputSetupUtils.getAAIVolumeGroup(CLOUD_OWNER,
+                                                       String volumeGroupCustomizationUUID = this.bbInputSetupUtils.getAAIVolumeGroup(cloudConfiguration.getCloudOwner(),
                                                                        cloudConfiguration.getLcpCloudRegionId(), volumeGroup.getVolumeGroupId())
                                                                        .getModelCustomizationId();
                                                        ModelInfo volumeGroupModelInfo = new ModelInfo();
                                                                        cloudConfiguration.getLcpCloudRegionId(), volumeGroup.getVolumeGroupId())
                                                                        .getModelCustomizationId();
                                                        ModelInfo volumeGroupModelInfo = new ModelInfo();
@@ -1116,6 +1113,7 @@ public class BBInputSetup implements JavaDelegate {
                                String vfModuleId = lookupKeyMap.get(ResourceKey.VF_MODULE_ID);
                                CloudConfiguration cloudConfig = new CloudConfiguration();
                                cloudConfig.setLcpCloudRegionId(cloudRegion.getLcpCloudRegionId());
                                String vfModuleId = lookupKeyMap.get(ResourceKey.VF_MODULE_ID);
                                CloudConfiguration cloudConfig = new CloudConfiguration();
                                cloudConfig.setLcpCloudRegionId(cloudRegion.getLcpCloudRegionId());
+                               cloudConfig.setCloudOwner(cloudRegion.getCloudOwner());
                                this.populateVfModule(modelInfo, service, bbName, serviceInstance, lookupKeyMap, vfModuleId, null,
                                                vfModules.getInstanceName(), vfModules.getInstanceParams(), cloudConfig);
                        }
                                this.populateVfModule(modelInfo, service, bbName, serviceInstance, lookupKeyMap, vfModuleId, null,
                                                vfModules.getInstanceName(), vfModules.getInstanceParams(), cloudConfig);
                        }
@@ -1193,9 +1191,8 @@ public class BBInputSetup implements JavaDelegate {
                }
                }
                if(cloudConfiguration != null) {
                }
                }
                if(cloudConfiguration != null) {
-                       org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfiguration,
-                                       CLOUD_OWNER);
-                       return mapperLayer.mapCloudRegion(cloudConfiguration, aaiCloudRegion, CLOUD_OWNER);
+                       org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfiguration);
+                       return mapperLayer.mapCloudRegion(cloudConfiguration, aaiCloudRegion);
                } else {
                        msoLogger.debug("Could not find any cloud configuration for this request.");
                        return null;
                } else {
                        msoLogger.debug("Could not find any cloud configuration for this request.");
                        return null;
index 0c7eb09..6c399dd 100644 (file)
@@ -351,14 +351,12 @@ public class BBInputSetupMapperLayer {
                return context;
        }
 
                return context;
        }
 
-       protected CloudRegion mapCloudRegion(CloudConfiguration cloudConfiguration, org.onap.aai.domain.yang.CloudRegion aaiCloudRegion, String cloudOwner) {
+       protected CloudRegion mapCloudRegion(CloudConfiguration cloudConfiguration, org.onap.aai.domain.yang.CloudRegion aaiCloudRegion) {
                CloudRegion cloudRegion = new CloudRegion();
                if(cloudConfiguration != null)
                        cloudRegion = modelMapper.map(cloudConfiguration, CloudRegion.class);
                if(aaiCloudRegion != null)
                        modelMapper.map(aaiCloudRegion, cloudRegion);
                CloudRegion cloudRegion = new CloudRegion();
                if(cloudConfiguration != null)
                        cloudRegion = modelMapper.map(cloudConfiguration, CloudRegion.class);
                if(aaiCloudRegion != null)
                        modelMapper.map(aaiCloudRegion, cloudRegion);
-               if(cloudOwner != null)
-                       cloudRegion.setCloudOwner(cloudOwner);
                return cloudRegion;
        }
 
                return cloudRegion;
        }
 
index 84ecfc7..4617fc4 100644 (file)
@@ -163,13 +163,14 @@ public class BBInputSetupUtils {
                }
        }
 
                }
        }
 
-       protected CloudRegion getCloudRegion(CloudConfiguration cloudConfiguration, String cloudOwner) {
+       protected CloudRegion getCloudRegion(CloudConfiguration cloudConfiguration) {
                if (cloudConfiguration != null) {
                        String cloudRegionId = cloudConfiguration.getLcpCloudRegionId();
                if (cloudConfiguration != null) {
                        String cloudRegionId = cloudConfiguration.getLcpCloudRegionId();
-                       if (cloudRegionId != null && !cloudRegionId.isEmpty()) {
+                       String cloudOwner = cloudConfiguration.getCloudOwner();
+                       if (cloudRegionId != null && cloudOwner != null && !cloudRegionId.isEmpty() && !cloudOwner.isEmpty()) {
                                return injectionHelper.getAaiClient().get(CloudRegion.class,
                                                AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, cloudOwner,
                                return injectionHelper.getAaiClient().get(CloudRegion.class,
                                                AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, cloudOwner,
-                                                               cloudConfiguration.getLcpCloudRegionId())).orElse(null);
+                                                               cloudRegionId)).orElse(null);
                        
                        } else {
                                return null;
                        
                        } else {
                                return null;
index f87ec91..89eff5f 100644 (file)
@@ -182,7 +182,7 @@ public class ApplicationControllerClient {
                commonHeader.setApiVer(API_VER);
                commonHeader.setOriginatorId(ORIGINATOR_ID);
                commonHeader.setRequestId(requestId == null ? UUID.randomUUID().toString() : requestId);
                commonHeader.setApiVer(API_VER);
                commonHeader.setOriginatorId(ORIGINATOR_ID);
                commonHeader.setRequestId(requestId == null ? UUID.randomUUID().toString() : requestId);
-               commonHeader.setSubRequestId(requestId);
+               commonHeader.setSubRequestId(UUID.randomUUID().toString());
                Flags flags = new Flags();
                String flagsMode = "NORMAL";
                Mode mode = Mode.valueOf(flagsMode);
                Flags flags = new Flags();
                String flagsMode = "NORMAL";
                Mode mode = Mode.valueOf(flagsMode);
diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CustomE2EPutService.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CustomE2EPutService.bpmn
deleted file mode 100644 (file)
index f519bc9..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_FatVcHn0EeaH6vX1RRdc_w" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="CustomE2EPutService" name="CustomE2EPutService" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1">
-      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="Initialization" />
-    <bpmn2:endEvent id="EndEvent_1">
-      <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
-      <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" />
-    </bpmn2:endEvent>
-    <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-def serviceInstance= new CustomE2EPutService()
-serviceInstance.setSuccessIndicator(execution, true)
-
-execution.setVariable("WorkflowResponse", " ")  //for junits]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1" />
-    <bpmn2:scriptTask id="putServiceInstance" name="Put Service Instance" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-def serviceInstance= new CustomE2EPutService()
-serviceInstance.putServiceInstance(execution)]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="putServiceInstance" targetRef="toggleSuccess" />
-    <bpmn2:scriptTask id="Initialization" name="Initialization" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-def serviceInstance= new CustomE2EPutService()
-serviceInstance.preProcessRequest(execution)
-]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="Initialization" targetRef="putServiceInstance" />
-    <bpmn2:subProcess id="bpmnExceptionHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true">
-      <bpmn2:startEvent id="StartEvent_2">
-        <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
-        <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" />
-      </bpmn2:startEvent>
-      <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="StartEvent_2" targetRef="processError" />
-      <bpmn2:endEvent id="EndEvent_2">
-        <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
-      </bpmn2:endEvent>
-      <bpmn2:scriptTask id="processError" name="Process Error" scriptFormat="groovy">
-        <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
-        <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
-        <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-ExceptionUtil ex = new ExceptionUtil()
-ex.processSubflowsBPMNException(execution)]]></bpmn2:script>
-      </bpmn2:scriptTask>
-      <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="processError" targetRef="EndEvent_2" />
-    </bpmn2:subProcess>
-    <bpmn2:subProcess id="javaExceptionSubProcess" name="Java Exception Handling Sub Process" triggeredByEvent="true">
-      <bpmn2:startEvent id="catchJavaExcep">
-        <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
-        <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" errorRef="Error_2" />
-      </bpmn2:startEvent>
-      <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="catchJavaExcep" targetRef="processJavaError" />
-      <bpmn2:scriptTask id="processJavaError" name="Process Java Error" scriptFormat="groovy">
-        <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
-        <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
-        <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-ExceptionUtil ex = new ExceptionUtil()
-ex.processJavaException(execution)]]></bpmn2:script>
-      </bpmn2:scriptTask>
-      <bpmn2:endEvent id="EndEvent_3">
-        <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
-        <bpmn2:terminateEventDefinition id="TerminateEventDefinition_2" />
-      </bpmn2:endEvent>
-      <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="processJavaError" targetRef="EndEvent_3" />
-    </bpmn2:subProcess>
-  </bpmn2:process>
-  <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CustomE2EPutService">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_71" bpmnElement="StartEvent_1">
-        <dc:Bounds x="182" y="180" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="200" y="221" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_302" bpmnElement="Initialization">
-        <dc:Bounds x="324" y="158" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_71" targetElement="_BPMNShape_ScriptTask_302">
-        <di:waypoint xsi:type="dc:Point" x="218" y="198" />
-        <di:waypoint xsi:type="dc:Point" x="324" y="198" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="250" y="198" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_304" bpmnElement="putServiceInstance">
-        <dc:Bounds x="528" y="158" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_302" targetElement="_BPMNShape_ScriptTask_304">
-        <di:waypoint xsi:type="dc:Point" x="424" y="198" />
-        <di:waypoint xsi:type="dc:Point" x="528" y="198" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="446" y="198" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_305" bpmnElement="toggleSuccess">
-        <dc:Bounds x="732" y="158" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_304" targetElement="_BPMNShape_ScriptTask_305">
-        <di:waypoint xsi:type="dc:Point" x="628" y="198" />
-        <di:waypoint xsi:type="dc:Point" x="732" y="198" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="650" y="198" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_230" bpmnElement="EndEvent_1">
-        <dc:Bounds x="908" y="180" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="926" y="221" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_305" targetElement="_BPMNShape_EndEvent_230">
-        <di:waypoint xsi:type="dc:Point" x="832" y="198" />
-        <di:waypoint xsi:type="dc:Point" x="908" y="198" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="854" y="198" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_SubProcess_27" bpmnElement="bpmnExceptionHandlingSubProcess" isExpanded="true">
-        <dc:Bounds x="324" y="312" width="418" height="150" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_72" bpmnElement="StartEvent_2">
-        <dc:Bounds x="357" y="370" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="375" y="411" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_306" bpmnElement="processError">
-        <dc:Bounds x="466" y="348" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_StartEvent_72" targetElement="_BPMNShape_ScriptTask_306">
-        <di:waypoint xsi:type="dc:Point" x="393" y="388" />
-        <di:waypoint xsi:type="dc:Point" x="466" y="388" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="415" y="388" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_231" bpmnElement="EndEvent_2">
-        <dc:Bounds x="615" y="370" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="633" y="411" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_306" targetElement="_BPMNShape_EndEvent_231">
-        <di:waypoint xsi:type="dc:Point" x="566" y="388" />
-        <di:waypoint xsi:type="dc:Point" x="615" y="388" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="588" y="388" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_SubProcess_28" bpmnElement="javaExceptionSubProcess" isExpanded="true">
-        <dc:Bounds x="323" y="486" width="419" height="150" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_73" bpmnElement="catchJavaExcep">
-        <dc:Bounds x="357" y="538" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="375" y="579" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_308" bpmnElement="processJavaError">
-        <dc:Bounds x="465" y="516" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_StartEvent_73" targetElement="_BPMNShape_ScriptTask_308">
-        <di:waypoint xsi:type="dc:Point" x="393" y="556" />
-        <di:waypoint xsi:type="dc:Point" x="465" y="556" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="415" y="556" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_232" bpmnElement="EndEvent_3">
-        <dc:Bounds x="615" y="538" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="633" y="579" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_308" targetElement="_BPMNShape_EndEvent_232">
-        <di:waypoint xsi:type="dc:Point" x="565" y="556" />
-        <di:waypoint xsi:type="dc:Point" x="615" y="556" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="587" y="556" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericGetVnf.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericGetVnf.bpmn
deleted file mode 100644 (file)
index 5784c10..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_eb5eEHR6EeaJwpcpVN5gXw" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn">
-  <bpmn2:process id="GenericGetVnf" name="GenericGetVnf" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1">
-      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:scriptTask id="intialization" name="Intialization" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-GenericGetVnf genericGetVnf = new GenericGetVnf ()
-genericGetVnf.preProcessRequest(execution)
-]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="intialization"/>
-    <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="intialization" targetRef="vnfIdProvided"/>
-    <bpmn2:exclusiveGateway id="vnfIdProvided" name="Vnf Id Provided?" default="noVnfId">
-      <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
-      <bpmn2:outgoing>noVnfId</bpmn2:outgoing>
-      <bpmn2:outgoing>haveVnfId</bpmn2:outgoing>
-    </bpmn2:exclusiveGateway>
-    <bpmn2:sequenceFlow id="noVnfId" name="No" sourceRef="vnfIdProvided" targetRef="getVnfByName"/>
-    <bpmn2:sequenceFlow id="haveVnfId" name="Yes" sourceRef="vnfIdProvided" targetRef="getGenericVnf">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENGV_getVnfByName") == false}]]></bpmn2:conditionExpression>
-    </bpmn2:sequenceFlow>
-    <bpmn2:scriptTask id="getVnfByName" name="GET Vnf By Name" scriptFormat="groovy">
-      <bpmn2:incoming>noVnfId</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-GenericGetVnf genericGetVnf = new GenericGetVnf()
-genericGetVnf.getVnfByName(execution)]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="getVnfByName" targetRef="ExclusiveGateway_2"/>
-    <bpmn2:exclusiveGateway id="ExclusiveGateway_2">
-      <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
-      <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
-    </bpmn2:exclusiveGateway>
-    <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ExclusiveGateway_2" targetRef="toggleSuccess"/>
-    <bpmn2:scriptTask id="getGenericVnf" name="GET Vnf By&#xD;&#xA;Id" scriptFormat="groovy">
-      <bpmn2:incoming>haveVnfId</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-GenericGetVnf genericGetVnf = new GenericGetVnf()
-genericGetVnf.getVnfById(execution)]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="getGenericVnf" targetRef="ExclusiveGateway_2"/>
-    <bpmn2:subProcess id="bpmnExceptionHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true">
-      <bpmn2:endEvent id="EndEvent_3">
-        <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
-        <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_31"/>
-      </bpmn2:endEvent>
-      <bpmn2:scriptTask id="proccessBPMNError" name="Process Error" scriptFormat="groovy">
-        <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming>
-        <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing>
-        <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-ExceptionUtil ex = new ExceptionUtil()
-ex.processSubflowsBPMNException(execution)]]></bpmn2:script>
-      </bpmn2:scriptTask>
-      <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="proccessBPMNError" targetRef="EndEvent_3"/>
-      <bpmn2:startEvent id="catchMSOWorkflowException">
-        <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing>
-        <bpmn2:errorEventDefinition id="ErrorEventDefinition_1"/>
-      </bpmn2:startEvent>
-      <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="catchMSOWorkflowException" targetRef="proccessBPMNError"/>
-    </bpmn2:subProcess>
-    <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-GenericGetVnf genericGetVnf = new GenericGetVnf()
-genericGetVnf.setSuccessIndicator(execution, true)
-]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1"/>
-    <bpmn2:endEvent id="EndEvent_1">
-      <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
-      <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_28"/>
-    </bpmn2:endEvent>
-  </bpmn2:process>
-  <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenericGetVnf">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_71" bpmnElement="StartEvent_1">
-        <dc:Bounds height="36.0" width="36.0" x="110.0" y="271.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="0.0" width="0.0" x="128.0" y="312.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_295" bpmnElement="intialization">
-        <dc:Bounds height="80.0" width="100.0" x="228.0" y="249.0"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_230" bpmnElement="vnfIdProvided" isMarkerVisible="true">
-        <dc:Bounds height="50.0" width="50.0" x="372.0" y="263.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="22.0" width="99.0" x="419.0" y="292.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_71" targetElement="_BPMNShape_ScriptTask_295">
-        <di:waypoint xsi:type="dc:Point" x="146.0" y="289.0"/>
-        <di:waypoint xsi:type="dc:Point" x="228.0" y="289.0"/>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_295" targetElement="_BPMNShape_ExclusiveGateway_230">
-        <di:waypoint xsi:type="dc:Point" x="328.0" y="289.0"/>
-        <di:waypoint xsi:type="dc:Point" x="372.0" y="288.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="6.0" width="6.0" x="347.0" y="288.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_296" bpmnElement="getVnfByName">
-        <dc:Bounds height="80.0" width="100.0" x="456.0" y="156.0"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_231" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true">
-        <dc:Bounds height="50.0" width="50.0" x="600.0" y="263.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="0.0" width="0.0" x="625.0" y="318.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="noVnfId" sourceElement="_BPMNShape_ExclusiveGateway_230" targetElement="_BPMNShape_ScriptTask_296">
-        <di:waypoint xsi:type="dc:Point" x="397.0" y="263.0"/>
-        <di:waypoint xsi:type="dc:Point" x="397.0" y="196.0"/>
-        <di:waypoint xsi:type="dc:Point" x="456.0" y="196.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="22.0" width="22.0" x="399.0" y="219.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="haveVnfId" sourceElement="_BPMNShape_ExclusiveGateway_230" targetElement="_BPMNShape_ScriptTask_297">
-        <di:waypoint xsi:type="dc:Point" x="397.0" y="313.0"/>
-        <di:waypoint xsi:type="dc:Point" x="397.0" y="368.0"/>
-        <di:waypoint xsi:type="dc:Point" x="456.0" y="368.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="22.0" width="29.0" x="396.0" y="328.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_297" bpmnElement="getGenericVnf">
-        <dc:Bounds height="80.0" width="100.0" x="456.0" y="328.0"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_298" bpmnElement="toggleSuccess">
-        <dc:Bounds height="80.0" width="100.0" x="696.0" y="249.0"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_226" bpmnElement="EndEvent_1">
-        <dc:Bounds height="36.0" width="36.0" x="888.0" y="271.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="0.0" width="0.0" x="906.0" y="312.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ExclusiveGateway_231" targetElement="_BPMNShape_ScriptTask_298">
-        <di:waypoint xsi:type="dc:Point" x="650.0" y="288.0"/>
-        <di:waypoint xsi:type="dc:Point" x="696.0" y="289.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="6.0" width="6.0" x="673.0" y="289.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_298" targetElement="_BPMNShape_EndEvent_226">
-        <di:waypoint xsi:type="dc:Point" x="796.0" y="289.0"/>
-        <di:waypoint xsi:type="dc:Point" x="888.0" y="289.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="6.0" width="6.0" x="829.0" y="289.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ScriptTask_296" targetElement="_BPMNShape_ExclusiveGateway_231">
-        <di:waypoint xsi:type="dc:Point" x="556.0" y="196.0"/>
-        <di:waypoint xsi:type="dc:Point" x="625.0" y="196.0"/>
-        <di:waypoint xsi:type="dc:Point" x="625.0" y="263.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="6.0" width="6.0" x="622.0" y="205.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_297" targetElement="_BPMNShape_ExclusiveGateway_231">
-        <di:waypoint xsi:type="dc:Point" x="556.0" y="368.0"/>
-        <di:waypoint xsi:type="dc:Point" x="625.0" y="368.0"/>
-        <di:waypoint xsi:type="dc:Point" x="625.0" y="313.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="6.0" width="6.0" x="621.0" y="368.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_SubProcess_30" bpmnElement="bpmnExceptionHandlingSubProcess" isExpanded="true">
-        <dc:Bounds height="169.0" width="313.0" x="168.0" y="468.0"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_74" bpmnElement="catchMSOWorkflowException">
-        <dc:Bounds height="36.0" width="36.0" x="180.0" y="535.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="0.0" width="0.0" x="198.0" y="576.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_302" bpmnElement="proccessBPMNError">
-        <dc:Bounds height="80.0" width="100.0" x="275.0" y="513.0"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_231" bpmnElement="EndEvent_3">
-        <dc:Bounds height="36.0" width="36.0" x="432.0" y="535.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="0.0" width="0.0" x="450.0" y="576.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_StartEvent_74" targetElement="_BPMNShape_ScriptTask_302">
-        <di:waypoint xsi:type="dc:Point" x="216.0" y="553.0"/>
-        <di:waypoint xsi:type="dc:Point" x="275.0" y="553.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="6.0" width="6.0" x="238.0" y="553.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ScriptTask_302" targetElement="_BPMNShape_EndEvent_231">
-        <di:waypoint xsi:type="dc:Point" x="375.0" y="553.0"/>
-        <di:waypoint xsi:type="dc:Point" x="432.0" y="553.0"/>
-        <bpmndi:BPMNLabel>
-          <dc:Bounds height="6.0" width="6.0" x="402.0" y="553.0"/>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
\ No newline at end of file
diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericPutService.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericPutService.bpmn
deleted file mode 100644 (file)
index 2d18f38..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_FatVcHn0EeaH6vX1RRdc_w" 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="GenericPutService" name="GenericPutService" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1">
-      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="Initialization" />
-    <bpmn2:endEvent id="EndEvent_1">
-      <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
-      <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" />
-    </bpmn2:endEvent>
-    <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-def serviceInstance= new GenericPutService()
-serviceInstance.setSuccessIndicator(execution, true)
-
-execution.setVariable("WorkflowResponse", " ")  //for junits]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1" />
-    <bpmn2:scriptTask id="putServiceInstance" name="Put Service Instance" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-def serviceInstance= new GenericPutService()
-serviceInstance.putServiceInstance(execution)]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="putServiceInstance" targetRef="toggleSuccess" />
-    <bpmn2:scriptTask id="Initialization" name="Initialization" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-def serviceInstance= new GenericPutService()
-serviceInstance.preProcessRequest(execution)
-]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="Initialization" targetRef="putServiceInstance" />
-    <bpmn2:subProcess id="bpmnExceptionHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true">
-      <bpmn2:startEvent id="StartEvent_2">
-        <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
-        <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" />
-      </bpmn2:startEvent>
-      <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="StartEvent_2" targetRef="processError" />
-      <bpmn2:endEvent id="EndEvent_2">
-        <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
-      </bpmn2:endEvent>
-      <bpmn2:scriptTask id="processError" name="Process Error" scriptFormat="groovy">
-        <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
-        <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
-        <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-ExceptionUtil ex = new ExceptionUtil()
-ex.processSubflowsBPMNException(execution)]]></bpmn2:script>
-      </bpmn2:scriptTask>
-      <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="processError" targetRef="EndEvent_2" />
-    </bpmn2:subProcess>
-    <bpmn2:subProcess id="javaExceptionSubProcess" name="Java Exception Handling Sub Process" triggeredByEvent="true">
-      <bpmn2:startEvent id="catchJavaExcep">
-        <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
-        <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" errorRef="Error_2" />
-      </bpmn2:startEvent>
-      <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="catchJavaExcep" targetRef="processJavaError" />
-      <bpmn2:scriptTask id="processJavaError" name="Process Java Error" scriptFormat="groovy">
-        <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
-        <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
-        <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-
-ExceptionUtil ex = new ExceptionUtil()
-ex.processJavaException(execution)]]></bpmn2:script>
-      </bpmn2:scriptTask>
-      <bpmn2:endEvent id="EndEvent_3">
-        <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
-        <bpmn2:terminateEventDefinition id="TerminateEventDefinition_2" />
-      </bpmn2:endEvent>
-      <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="processJavaError" targetRef="EndEvent_3" />
-    </bpmn2:subProcess>
-  </bpmn2:process>
-  <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenericPutService">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_71" bpmnElement="StartEvent_1">
-        <dc:Bounds x="182" y="180" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="200" y="221" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_302" bpmnElement="Initialization">
-        <dc:Bounds x="324" y="158" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_71" targetElement="_BPMNShape_ScriptTask_302">
-        <di:waypoint xsi:type="dc:Point" x="218" y="198" />
-        <di:waypoint xsi:type="dc:Point" x="324" y="198" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="250" y="198" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_304" bpmnElement="putServiceInstance">
-        <dc:Bounds x="528" y="158" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_302" targetElement="_BPMNShape_ScriptTask_304">
-        <di:waypoint xsi:type="dc:Point" x="424" y="198" />
-        <di:waypoint xsi:type="dc:Point" x="528" y="198" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="446" y="198" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_305" bpmnElement="toggleSuccess">
-        <dc:Bounds x="732" y="158" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_304" targetElement="_BPMNShape_ScriptTask_305">
-        <di:waypoint xsi:type="dc:Point" x="628" y="198" />
-        <di:waypoint xsi:type="dc:Point" x="732" y="198" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="650" y="198" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_230" bpmnElement="EndEvent_1">
-        <dc:Bounds x="908" y="180" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="926" y="221" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_305" targetElement="_BPMNShape_EndEvent_230">
-        <di:waypoint xsi:type="dc:Point" x="832" y="198" />
-        <di:waypoint xsi:type="dc:Point" x="908" y="198" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="854" y="198" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_SubProcess_27" bpmnElement="bpmnExceptionHandlingSubProcess" isExpanded="true">
-        <dc:Bounds x="324" y="312" width="418" height="150" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_72" bpmnElement="StartEvent_2">
-        <dc:Bounds x="357" y="370" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="375" y="411" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_306" bpmnElement="processError">
-        <dc:Bounds x="466" y="348" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_StartEvent_72" targetElement="_BPMNShape_ScriptTask_306">
-        <di:waypoint xsi:type="dc:Point" x="393" y="388" />
-        <di:waypoint xsi:type="dc:Point" x="466" y="388" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="415" y="388" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_231" bpmnElement="EndEvent_2">
-        <dc:Bounds x="615" y="370" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="633" y="411" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_306" targetElement="_BPMNShape_EndEvent_231">
-        <di:waypoint xsi:type="dc:Point" x="566" y="388" />
-        <di:waypoint xsi:type="dc:Point" x="615" y="388" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="588" y="388" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_SubProcess_28" bpmnElement="javaExceptionSubProcess" isExpanded="true">
-        <dc:Bounds x="323" y="486" width="419" height="150" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_73" bpmnElement="catchJavaExcep">
-        <dc:Bounds x="357" y="538" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="375" y="579" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_308" bpmnElement="processJavaError">
-        <dc:Bounds x="465" y="516" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_StartEvent_73" targetElement="_BPMNShape_ScriptTask_308">
-        <di:waypoint xsi:type="dc:Point" x="393" y="556" />
-        <di:waypoint xsi:type="dc:Point" x="465" y="556" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="415" y="556" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_232" bpmnElement="EndEvent_3">
-        <dc:Bounds x="615" y="538" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="633" y="579" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_308" targetElement="_BPMNShape_EndEvent_232">
-        <di:waypoint xsi:type="dc:Point" x="565" y="556" />
-        <di:waypoint xsi:type="dc:Point" x="615" y="556" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="587" y="556" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
index 79caf5b..05b1c5e 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -47,11 +47,11 @@ import org.camunda.bpm.engine.repository.ProcessDefinition
 @RunWith(MockitoJUnitRunner.class)
 @Ignore
 class AaiUtilTest extends MsoGroovyTest {
 @RunWith(MockitoJUnitRunner.class)
 @Ignore
 class AaiUtilTest extends MsoGroovyTest {
-    
+
 
        @Rule
        public WireMockRule wireMockRule = new WireMockRule(8090);
 
        @Rule
        public WireMockRule wireMockRule = new WireMockRule(8090);
-       
+
        @Rule
        public ExpectedException thrown = ExpectedException.none
 
        @Rule
        public ExpectedException thrown = ExpectedException.none
 
@@ -127,275 +127,6 @@ class AaiUtilTest extends MsoGroovyTest {
 
        }
 
 
        }
 
-       @Test
-       public void testGetUriDefaultVersion() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.l3-network.uri")).thenReturn('/aai/v8/network/l3-networks/l3-network')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getUri(mockExecution, 'l3-network')
-               assertEquals('/aai/v8/network/l3-networks/l3-network', uri)
-       }
-
-       @Test
-       public void testGetUriFlowAndResourceSpecific() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.CreateAAIVfModule.aai.l3-network.uri")).thenReturn('/aai/v6/network/l3-networks/l3-network')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.l3-network.uri")).thenReturn('/aai/v8/network/l3-networks/l3-network')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getUri(mockExecution, 'l3-network')
-               assertEquals('/aai/v6/network/l3-networks/l3-network', uri)
-       }
-
-       @Test
-       public void testGetNetworkGenericVnfEndpoint() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn('/aai/v8/network/generic-vnfs/generic-vnf')
-
-        when(mockExecution.getVariable('aai.endpoint')).thenReturn('http://localhost:28090')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn('8')
-
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def endpoint = aaiUtil.getNetworkGenericVnfEndpoint(mockExecution)
-               assertEquals('http://localhost:28090/aai/v8/network/generic-vnfs/generic-vnf', endpoint)
-       }
-
-       @Test
-       public void testGetNetworkGenericVnfUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn('/aai/v8/network/generic-vnfs/generic-vnf')
-
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn('8')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getNetworkGenericVnfUri(mockExecution)
-               assertEquals('/aai/v8/network/generic-vnfs/generic-vnf', uri)
-       }
-
-       @Test
-       public void testGetNetworkVpnBindingUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.vpn-binding.uri")).thenReturn('/aai/v8/network/vpn-bindings/vpn-binding')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getNetworkVpnBindingUri(mockExecution)
-               assertEquals('/aai/v8/network/vpn-bindings/vpn-binding', uri)
-       }
-
-       @Test
-       public void testGetNetworkPolicyUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.network-policy.uri")).thenReturn('/aai/v8/network/network-policies/network-policy')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getNetworkPolicyUri(mockExecution)
-               assertEquals('/aai/v8/network/network-policies/network-policy', uri)
-       }
-
-       @Test
-       public void testGetNetworkTableReferencesUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.route-table-reference.uri")).thenReturn('/aai/v8/network/route-table-references/route-table-reference')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getNetworkTableReferencesUri(mockExecution)
-               assertEquals('/aai/v8/network/route-table-references/route-table-reference', uri)
-       }
-
-       @Test
-       public void testGetNetworkVceUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.vce.uri")).thenReturn('/aai/v8/network/vces/vce')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getNetworkVceUri(mockExecution)
-               assertEquals('/aai/v8/network/vces/vce', uri)
-       }
-
-       @Test
-       public void testGetNetworkL3NetworkUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.l3-network.uri")).thenReturn('/aai/v8/network/l3-networks/l3-network')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getNetworkL3NetworkUri(mockExecution)
-               assertEquals('/aai/v8/network/l3-networks/l3-network', uri)
-       }
-
-       @Test
-       public void testGetBusinessCustomerUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.customer.uri")).thenReturn('/aai/v8/business/customers/customer')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getBusinessCustomerUri(mockExecution)
-               assertEquals('/aai/v8/business/customers/customer', uri)
-       }
-
-       @Test
-       public void testGetCloudInfrastructureCloudRegionEndpoint() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn('/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic')
-
-        when(mockExecution.getVariable('aai.endpoint')).thenReturn('http://localhost:28090')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(mockExecution)
-               assertEquals('http://localhost:28090/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic', uri)
-       }
-
-       @Test
-       public void testGetCloudInfrastructureCloudRegionUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn('/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic')
-
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getCloudInfrastructureCloudRegionUri(mockExecution)
-               assertEquals('/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic', uri)
-       }
-
-       @Test
-       public void testGetCloudInfrastructureTenantUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.tenant.uri")).thenReturn('/aai/v8/cloud-infrastructure/tenants/tenant')
-
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getCloudInfrastructureTenantUri(mockExecution)
-               assertEquals('/aai/v8/cloud-infrastructure/tenants/tenant', uri)
-       }
-
-       @Test
-       public void testGetSearchNodesQueryUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.nodes-query.uri")).thenReturn('/aai/v8/search/nodes-query')
-
-               when(mockExecution.getVariable('aai.endpoint')).thenReturn('http://localhost:28090')
-
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getSearchNodesQueryUri(mockExecution)
-               assertEquals('/aai/v8/search/nodes-query', uri)
-       }
-
-       @Test
-       public void testGetSearchNodesQueryEndpoint() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.nodes-query.uri")).thenReturn('/aai/v8/search/nodes-query')
-
-        when(mockExecution.getVariable('aai.endpoint')).thenReturn('http://localhost:28090')
-
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getSearchNodesQueryEndpoint(mockExecution)
-               assertEquals('http://localhost:28090/aai/v8/search/nodes-query', uri)
-       }
-
-       @Test
-       public void testGetSearchGenericQueryUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-
-               when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-query.uri")).thenReturn('/aai/v8/search/generic-query')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-
-
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getSearchGenericQueryUri(mockExecution)
-               assertEquals('/aai/v8/search/generic-query', uri)
-       }
-
-       @Test
-       public void testGetNamespaceFromUri() {
-               ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('6')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v6.l3-network.uri")).thenReturn('/aai/v6/network/l3-networks/l3-network')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getNetworkL3NetworkUri(mockExecution)  // Required to populate the namespace in the class
-               def ns = aaiUtil.getNamespaceFromUri('/aai/v6/search/generic-query')
-               assertEquals('http://org.openecomp.aai.inventory/v6', ns)
-       }
-
        @Test
        public void testExecuteAAIGetCall() {
                ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
        @Test
        public void testExecuteAAIGetCall() {
                ExecutionEntity mockExecution = setupMock('CreateAAIVfModule')
@@ -419,40 +150,6 @@ class AaiUtilTest extends MsoGroovyTest {
                def uri = aaiUtil.executeAAIPutCall(mockExecution,"http://localhost:8090/aai/v9/business/customers/customer/CUST/service-subscriptions/service-subscription/SVC/service-instances/service-instance/NST/allotted-resources/allotted-resource/allottedResourceId",aaiPaylod)
        }
 
                def uri = aaiUtil.executeAAIPutCall(mockExecution,"http://localhost:8090/aai/v9/business/customers/customer/CUST/service-subscriptions/service-subscription/SVC/service-instances/service-instance/NST/allotted-resources/allotted-resource/allottedResourceId",aaiPaylod)
        }
 
-       @Test
-       public void testGetNamespaceFromUri2() {
-               ExecutionEntity mockExecution = setupMock('DeleteVfModuleVolumeInfraV1')
-               //
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('10')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v10.l3-network.uri")).thenReturn('/aai/v10/network/l3-networks/l3-network')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-               //
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getNetworkL3NetworkUri(mockExecution)  // Required to populate the namespace in the class
-               def ns = aaiUtil.getNamespaceFromUri('/aai/v10/search/generic-query')
-               assertEquals('http://org.openecomp.aai.inventory/v10', ns)
-       }
-
-       @Test
-       public void testGetNamespaceFromUri3() {
-               ExecutionEntity mockExecution = setupMock('DeleteVfModuleVolumeInfraV1')
-               //
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('100')
-               when(mockExecution.getVariable("mso.workflow.default.aai.v100.l3-network.uri")).thenReturn('/aai/v100/network/l3-networks/l3-network')
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
-               //
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-               CreateAAIVfModule myproc = new CreateAAIVfModule()
-               AaiUtil aaiUtil = new AaiUtil(myproc)
-               def uri = aaiUtil.getNetworkL3NetworkUri(mockExecution)  // Required to populate the namespace in the class
-               def ns = aaiUtil.getNamespaceFromUri('/aai/v100/search/generic-query')
-               assertEquals('http://org.openecomp.aai.inventory/v100', ns)
-       }
-
        @Test
        public void testGetNamespaceFromUri_twoArguments() {  // (execution, uri)
                ExecutionEntity mockExecution = setupMock('DeleteVfModuleVolumeInfraV1')
        @Test
        public void testGetNamespaceFromUri_twoArguments() {  // (execution, uri)
                ExecutionEntity mockExecution = setupMock('DeleteVfModuleVolumeInfraV1')
index e065ccd..a96127a 100644 (file)
 
 package org.onap.so.bpmn.common.scripts
 
 
 package org.onap.so.bpmn.common.scripts
 
-import com.github.tomakehurst.wiremock.junit.WireMockRule
-
 import static org.mockito.Mockito.*
 import static org.mockito.Mockito.*
-import org.camunda.bpm.engine.ProcessEngineServices
-import org.camunda.bpm.engine.RepositoryService
+
+import javax.ws.rs.core.UriBuilder
+
+import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
-import org.camunda.bpm.engine.repository.ProcessDefinition
+import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake
 import org.junit.Assert
 import org.junit.Assert
-import org.junit.Rule
+import org.junit.Before
 import org.junit.Test
 import org.junit.Test
-import org.junit.runner.RunWith
 import org.mockito.ArgumentCaptor
 import org.mockito.Captor
 import org.mockito.Mockito
 import org.mockito.ArgumentCaptor
 import org.mockito.Captor
 import org.mockito.Mockito
-import org.mockito.runners.MockitoJUnitRunner
-import org.onap.so.bpmn.core.WorkflowException
-
-import static com.github.tomakehurst.wiremock.client.WireMock.*
+import org.mockito.MockitoAnnotations
+import org.mockito.Spy
+import org.onap.aai.domain.yang.VolumeGroup
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 
 
-@RunWith(MockitoJUnitRunner.class)
 class ConfirmVolumeGroupNameTest extends MsoGroovyTest {
 class ConfirmVolumeGroupNameTest extends MsoGroovyTest {
+       
+       @Spy
+       private ConfirmVolumeGroupName confirmVolumeGroupName;
 
 
-       private static final def AAA_URI = "uri_test"
-       private static final def AIC_CLOUD_REGION = "AicClReg_test"
-       private static final def VOLUME_GROUP_NAME = "volumeTestGName"
-       private static final def VOLUME_GROUP_ID = "vol_gr_id_test"
-
-       @Captor
-       ArgumentCaptor<ExecutionEntity> captor=  ArgumentCaptor.forClass(ExecutionEntity.class);
-
-       @Rule
-       public WireMockRule wireMockRule = new WireMockRule(8090);
-
-       @Test
-       void preProcessRequestSuccessful() {
-               ExecutionEntity mockExecution = setupMock()
-               when(mockExecution.getVariable("ConfirmVolumeGroupName_volumeGroupId")).thenReturn(VOLUME_GROUP_ID)
-               when(mockExecution.getVariable("ConfirmVolumeGroupName_volumeGroupName")).thenReturn(VOLUME_GROUP_NAME)
-               when(mockExecution.getVariable("ConfirmVolumeGroupName_aicCloudRegion")).thenReturn(AIC_CLOUD_REGION)
+       @Before
+       public void init() throws IOException {
+               super.init("ConfirmVolumeGroupName")
+               MockitoAnnotations.initMocks(this);
+               when(confirmVolumeGroupName.getAAIClient()).thenReturn(client)
 
 
-               when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('namespace_test')
-               when(mockExecution.getVariable("mso.workflow.ConfirmVolumeGroupName.aai.cloud-region.uri")).thenReturn(AAA_URI)
-               new ConfirmVolumeGroupName().preProcessRequest(mockExecution)
-
-               verifyInitProcessVariables(mockExecution)
-               verify(mockExecution).setVariable("CVGN_volumeGroupId", VOLUME_GROUP_ID)
-               verify(mockExecution).setVariable("CVGN_volumeGroupName", "volumeTestGName")
-               verify(mockExecution).setVariable("CVGN_aicCloudRegion", AIC_CLOUD_REGION)
-               verify(mockExecution).setVariable("CVGN_volumeGroupGetEndpoint",
-                               "${AAA_URI}/${AIC_CLOUD_REGION}/volume-groups/volume-group/" + VOLUME_GROUP_ID)
-       }
-
-       private void verifyInitProcessVariables(ExecutionEntity mockExecution) {
-               verify(mockExecution).setVariable("prefix", "CVGN_")
-               verify(mockExecution).setVariable("CVGN_volumeGroupId", null)
-               verify(mockExecution).setVariable("CVGN_volumeGroupName", null)
-               verify(mockExecution).setVariable("CVGN_aicCloudRegion", null)
-               verify(mockExecution).setVariable("CVGN_volumeGroupGetEndpoint", null)
-               verify(mockExecution).setVariable("CVGN_volumeGroupNameMatches", false)
-               verify(mockExecution).setVariable("CVGN_queryVolumeGroupResponseCode", null)
-               verify(mockExecution).setVariable("CVGN_queryVolumeGroupResponse", "")
-               verify(mockExecution).setVariable("CVGN_ResponseCode", null)
-               verify(mockExecution).setVariable("RollbackData", null)
-       }
-
-       @Test
-       void checkAAIQueryResult_volumeGroupNamesMatch() {
-               ExecutionEntity mockExecution = setupMock()
-               commonPartOfCheckAAIQueryTest(mockExecution, VOLUME_GROUP_NAME)
-               verify(mockExecution).setVariable("CVGN_volumeGroupNameMatches", true)
-       }
-
-       @Test
-       void checkAAIQueryResult_volumeGroupNamesDoNotMatch() {
-               ExecutionEntity mockExecution = setupMock()
-               commonPartOfCheckAAIQueryTest(mockExecution, "grName2")
-               verify(mockExecution, Mockito.times(0)).setVariable("CVGN_volumeGroupNameMatches", true)
-       }
-
-       private void commonPartOfCheckAAIQueryTest(ExecutionEntity mockExecution, def volumeGroupName) {
-               when(mockExecution.getVariable("CVGN_volumeGroupName")).thenReturn(VOLUME_GROUP_NAME)
-               def xml = "<volume-group-name>" + volumeGroupName + "</volume-group-name>"
-               when(mockExecution.getVariable("CVGN_queryVolumeGroupResponse")).thenReturn(xml)
-               new ConfirmVolumeGroupName().checkAAIQueryResult(mockExecution)
-               verify(mockExecution).setVariable("CVGN_volumeGroupNameMatches", false)
        }
 
        @Test
        public void testQueryAAIForVolumeGroupId() {
        }
 
        @Test
        public void testQueryAAIForVolumeGroupId() {
-               ExecutionEntity mockExecution = setupMock()
-               when(mockExecution.getVariable("aai.endpoint")).thenReturn('http://localhost:8090')
-               when(mockExecution.getVariable("CVGN_volumeGroupGetEndpoint")).thenReturn('/aai/test/volume-groups/volume-group/testVolumeGroup')
-               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
 
 
-               mockData()
-
-               ConfirmVolumeGroupName confirmVolumeGroupName = new ConfirmVolumeGroupName()
+               AAIResourceUri resourceUri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.VOLUME_GROUP, UriBuilder.fromPath('/aai/test/volume-groups/volume-group/testVolumeGroup').build());
+               when(mockExecution.getVariable("CVGN_volumeGroupGetEndpoint")).thenReturn(resourceUri)
+               VolumeGroup volumeGroup = new VolumeGroup()
+               volumeGroup.setVolumeGroupId("Test")
+               when(client.get(VolumeGroup.class,resourceUri)).thenReturn(Optional.of(volumeGroup))
                confirmVolumeGroupName.queryAAIForVolumeGroupId(mockExecution)
                confirmVolumeGroupName.queryAAIForVolumeGroupId(mockExecution)
-               verify(mockExecution).setVariable("CVGN_queryVolumeGroupResponseCode",200)
-               verify(mockExecution).setVariable("CVGN_queryVolumeGroupResponse","")
+        Mockito.verify(mockExecution).setVariable("CVGN_queryVolumeGroupResponseCode",200)
+        Mockito.verify(mockExecution).setVariable("CVGN_queryVolumeGroupResponse",volumeGroup)
        }
 
        @Test
        public void testQueryAAIForVolumeGroupId_404() {
        }
 
        @Test
        public void testQueryAAIForVolumeGroupId_404() {
-
-               ExecutionEntity mockExecution = setupMock()
+               AAIResourceUri resourceUri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.VOLUME_GROUP, UriBuilder.fromPath('/aai/test/volume-groups/volume-group/testVolumeGroup').build());
+               when(client.get(VolumeGroup.class,  resourceUri)).thenReturn(Optional.empty())
+               DelegateExecution execution = new DelegateExecutionFake()
                try {
                try {
-                       when(mockExecution.getVariable("CVGN_volumeGroupGetEndpoint")).thenReturn('/aai/test/volume-groups/volume-group/testVolumeGroup')
-                       when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
-
-                       mockData()
-
-                       ConfirmVolumeGroupName confirmVolumeGroupName = new ConfirmVolumeGroupName()
-                       confirmVolumeGroupName.queryAAIForVolumeGroupId(mockExecution)
-               }
-               catch(Exception ex){
-
+                       execution.setVariable("CVGN_volumeGroupGetEndpoint", resourceUri)
+                       confirmVolumeGroupName.queryAAIForVolumeGroupId(execution)
                }
                }
-               Mockito.verify(mockExecution,times(4)).setVariable(captor.capture(),captor.capture())
-               WorkflowException workflowException = captor.getValue()
-               Assert.assertEquals("AAI GET Failed",workflowException.getErrorMessage())
-               Assert.assertEquals(500,workflowException.getErrorCode())
-       }
-       private void  mockData() {
-               stubFor(get(urlMatching("/aai/test/volume-groups/volume-group/testVolumeGroup"))
-                               .willReturn(aResponse()
-                               .withStatus(200)))
-       }
-
-       private ExecutionEntity setupMock() {
-
-               ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
-               when(mockProcessDefinition.getKey()).thenReturn("ConfirmVolumeGroupName")
-               RepositoryService mockRepositoryService = mock(RepositoryService.class)
-               when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition)
-               when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("ConfirmVolumeGroupName")
-               when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100")
-               ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class)
-               when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService)
-               ExecutionEntity mockExecution = mock(ExecutionEntity.class)
-               when(mockExecution.getId()).thenReturn("100")
-               when(mockExecution.getProcessDefinitionId()).thenReturn("ConfirmVolumeGroupName")
-               when(mockExecution.getProcessInstanceId()).thenReturn("ConfirmVolumeGroupName")
-               when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices)
-               when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition)
-               return mockExecution
+               catch(Exception ex){}
+               Assert.assertEquals(404, execution.getVariable("CVGN_queryVolumeGroupResponseCode"))
+               Assert.assertEquals("Volume Group not Found!", execution.getVariable("CVGN_queryVolumeGroupResponse"))
+               
        }
 }
        }
 }
diff --git a/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/CustomE2EPutServiceTest.groovy b/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/CustomE2EPutServiceTest.groovy
deleted file mode 100644 (file)
index 879ef7a..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*-
- * ============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.onap.so.bpmn.common.scripts
-
-import com.github.tomakehurst.wiremock.junit.WireMockRule
-import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
-import org.junit.Assert
-import org.junit.Before
-import org.junit.Ignore
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.Captor
-import org.mockito.Mockito
-import org.mockito.runners.MockitoJUnitRunner
-
-import static org.mockito.Mockito.times
-import static org.mockito.Mockito.when
-import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutServiceInstance
-
-/**
- * @author sushilma
- * @since January 10, 2018
- */
-@RunWith(MockitoJUnitRunner.class)
-@Ignore
-class CustomE2EPutServiceTest extends MsoGroovyTest  {
-    @Rule
-    public WireMockRule wireMockRule = new WireMockRule(28090)
-
-    @Captor
-    static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class)
-
-    @Test
-    public void testPutServiceInstance(){
-        ExecutionEntity mockExecution = setupMockWithPrefix('CustomE2EPutService','GENPS_')
-        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
-        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
-        when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.customer.uri")).thenReturn('/aai/v8/business/customers/customer')
-        when(mockExecution.getVariable("GENPS_type")).thenReturn('service-instance')
-        when(mockExecution.getVariable("GENPS_payload")).thenReturn('')
-        when(mockExecution.getVariable("GENPS_globalSubscriberId")).thenReturn("1604-MVM-26")
-        when(mockExecution.getVariable("GENPS_serviceType")).thenReturn("SDN-ETHERNET-INTERNET")
-        when(mockExecution.getVariable("GENPS_serviceInstanceId")).thenReturn( "1234")
-        MockPutServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", "GenericFlows/getServiceInstance.xml");
-
-        CustomE2EPutService customE2EPutService = new CustomE2EPutService()
-        customE2EPutService.putServiceInstance(mockExecution);
-        Mockito.verify(mockExecution, times(6)).setVariable(captor.capture(), captor.capture())
-        Assert.assertEquals(200, captor.getAllValues().get(7))
-    }
-}
index c5baf8c..3a408b3 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -59,7 +59,7 @@ class GenerateVfModuleNameTest {
         when(mockExecution.getVariable("personaModelId")).thenReturn('personaModelId_test')
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
         when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("personaModelId")).thenReturn('personaModelId_test')
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
         when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn('/aai/v8/network/generic-vnfs/generic-vnf')
+
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn('8')
 
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn('8')
 
@@ -78,7 +78,7 @@ class GenerateVfModuleNameTest {
         when(mockExecution.getVariable("personaModelId")).thenReturn('personaModelId_test')
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
         when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("personaModelId")).thenReturn('personaModelId_test')
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
         when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn('/aai/v8/network/generic-vnfs/generic-vnf')
+
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn('8')
 
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn('8')
 
index 01e37f0..3a2673c 100644 (file)
@@ -26,9 +26,40 @@ 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.RepositoryService
 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
 import org.camunda.bpm.engine.repository.ProcessDefinition
+import org.junit.Rule
+import org.junit.rules.ExpectedException
+import org.junit.runner.RunWith
+import org.mockito.runners.MockitoJUnitRunner
+import org.onap.aai.domain.yang.GenericVnf
+import org.onap.so.bpmn.mock.FileUtil
+import org.onap.so.client.aai.AAIObjectPlurals
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.AAIResourcesClient
+import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.graphinventory.entities.uri.Depth
+import org.onap.so.constants.Defaults
 
 
+@RunWith(MockitoJUnitRunner.class)
 abstract class MsoGroovyTest {
        
 abstract class MsoGroovyTest {
        
+    @Rule
+    public ExpectedException thrown = ExpectedException.none()
+
+       protected ExecutionEntity mockExecution
+       protected AAIResourcesClient client
+    protected AllottedResourceUtils allottedResourceUtils_MOCK
+       protected final String SEARCH_RESULT_AAI_WITH_RESULTDATA =
+                       FileUtil.readResourceFile("__files/aai/searchResults.json")
+       protected static final String CLOUD_OWNER = Defaults.CLOUD_OWNER.toString();
+
+       protected void init(String procName){
+               mockExecution = setupMock(procName)
+               when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
+               client = mock(AAIResourcesClient.class)
+       }
+
        protected ExecutionEntity setupMock(String procName) {
                ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
                when(mockProcessDefinition.getKey()).thenReturn(procName)
        protected ExecutionEntity setupMock(String procName) {
                ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
                when(mockProcessDefinition.getKey()).thenReturn(procName)
@@ -64,5 +95,59 @@ abstract class MsoGroovyTest {
                return mockExecution
        }
        
                return mockExecution
        }
        
+    protected <T> Optional<T> getAAIObjectFromJson(Class<T> clazz , String file){
+        String json = FileUtil.readResourceFile(file)
+        AAIResultWrapper resultWrapper = new AAIResultWrapper(json)
+        return resultWrapper.asBean(clazz)
+    }
+
+    protected Optional<GenericVnf> mockAAIGenericVnf(String vnfId){
+        return mockAAIGenericVnf(vnfId,"__files/aai/GenericVnf.json")
+    }
        
        
+    protected Optional<GenericVnf> mockAAIGenericVnf(String vnfId,String file){
+        AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+        AAIResourceUri resourceUriDepthOne = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE)
+        Optional<GenericVnf> genericVnf = getAAIObjectFromJson(GenericVnf.class,file);
+        when(client.get(GenericVnf.class, resourceUri)).thenReturn(genericVnf)
+        when(client.get(GenericVnf.class, resourceUriDepthOne)).thenReturn(genericVnf)
+        return genericVnf
+    }
+
+    protected Optional<GenericVnf> mockAAIGenericVnfByName(String vnfName){
+        AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectPlurals.GENERIC_VNF).queryParam("vnf-name", vnfName)
+        AAIResourceUri resourceUriDepthOne = AAIUriFactory.createResourceUri(AAIObjectPlurals.GENERIC_VNF).queryParam("vnf-name", vnfName).depth(Depth.ONE)
+        Optional<GenericVnf> genericVnf = getAAIObjectFromJson(GenericVnf.class,"__files/aai/GenericVnf.json");
+        when(client.get(GenericVnf.class, resourceUri)).thenReturn(genericVnf)
+        when(client.get(GenericVnf.class, resourceUriDepthOne)).thenReturn(genericVnf)
+        return genericVnf
+    }
+
+    protected void mockAAIGenericVnfNotFound(String vnfId){
+        AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE)
+        AAIResourceUri resourceUriDepthOne = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE)
+        when(client.get(GenericVnf.class, resourceUri)).thenReturn(Optional.empty())
+        when(client.get(GenericVnf.class, resourceUriDepthOne)).thenReturn(Optional.empty())
+    }
+
+    protected void mockAAIGenericVnfByNameNotFound(String vnfName){
+        AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectPlurals.GENERIC_VNF).queryParam("vnf-name", vnfName)
+        AAIResourceUri resourceUriDepthOne = AAIUriFactory.createResourceUri(AAIObjectPlurals.GENERIC_VNF).queryParam("vnf-name", vnfName).depth(Depth.ONE)
+        when(client.get(GenericVnf.class, resourceUri)).thenReturn(Optional.empty())
+        when(client.get(GenericVnf.class, resourceUriDepthOne)).thenReturn(Optional.empty())
+    }
+
+    protected AAIResultWrapper mockVolumeGroupWrapper(String region, String volumeGroupId, String file){
+        AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, region,volumeGroupId)
+        String json = FileUtil.readResourceFile(file)
+        AAIResultWrapper resultWrapper = new AAIResultWrapper(json)
+        when(client.get(resourceUri)).thenReturn(resultWrapper)
+        return resultWrapper
+    }
+
+    void initAR(String procName){
+        init(procName)
+        allottedResourceUtils_MOCK = spy(new AllottedResourceUtils(mock(AbstractServiceTaskProcessor.class)))
+        when(allottedResourceUtils_MOCK.getAAIClient()).thenReturn(client)
+    }
 }
 }
index c5b8fab..21441b9 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -57,7 +57,6 @@ class PrepareUpdateAAIVfModuleTest {
         ExecutionEntity mockExecution = setupMock()
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("PUAAIVfMod_vnfId")).thenReturn("skask")
         ExecutionEntity mockExecution = setupMock()
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("PUAAIVfMod_vnfId")).thenReturn("skask")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.PrepareUpdateAAIVfModule.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.PrepareUpdateAAIVfModule.aai.version")).thenReturn('8')
@@ -75,7 +74,7 @@ class PrepareUpdateAAIVfModuleTest {
         ExecutionEntity mockExecution = setupMock()
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("PUAAIVfMod_vnfId")).thenReturn("skask")
         ExecutionEntity mockExecution = setupMock()
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("PUAAIVfMod_vnfId")).thenReturn("skask")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.PrepareUpdateAAIVfModule.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.PrepareUpdateAAIVfModule.aai.version")).thenReturn('8')
@@ -105,7 +104,7 @@ class PrepareUpdateAAIVfModuleTest {
 
         when(mockExecution.getVariable("PUAAIVfMod_vfModule")).thenReturn(vfModule)
         when(mockExecution.getVariable("PUAAIVfMod_orchestrationStatus")).thenReturn("created")
 
         when(mockExecution.getVariable("PUAAIVfMod_vfModule")).thenReturn(vfModule)
         when(mockExecution.getVariable("PUAAIVfMod_orchestrationStatus")).thenReturn("created")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.PrepareUpdateAAIVfModule.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.PrepareUpdateAAIVfModule.aai.version")).thenReturn('8')
@@ -131,7 +130,7 @@ class PrepareUpdateAAIVfModuleTest {
 
         when(mockExecution.getVariable("PUAAIVfMod_vfModule")).thenReturn(vfModule)
         when(mockExecution.getVariable("PUAAIVfMod_orchestrationStatus")).thenReturn("created")
 
         when(mockExecution.getVariable("PUAAIVfMod_vfModule")).thenReturn(vfModule)
         when(mockExecution.getVariable("PUAAIVfMod_orchestrationStatus")).thenReturn("created")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.PrepareUpdateAAIVfModule.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.PrepareUpdateAAIVfModule.aai.version")).thenReturn('8')
index e0166f3..5641c5e 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -65,7 +65,7 @@ class UpdateAAIGenericVnfTest {
         ExecutionEntity mockExecution = setupMock()
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("UAAIGenVnf_vnfId")).thenReturn("skask")
         ExecutionEntity mockExecution = setupMock()
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("UAAIGenVnf_vnfId")).thenReturn("skask")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIGenericVnf.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIGenericVnf.aai.version")).thenReturn('8')
@@ -82,7 +82,7 @@ class UpdateAAIGenericVnfTest {
         ExecutionEntity mockExecution = setupMock()
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("UAAIGenVnf_vnfId")).thenReturn("skask")
         ExecutionEntity mockExecution = setupMock()
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("UAAIGenVnf_vnfId")).thenReturn("skask")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIGenericVnf.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIGenericVnf.aai.version")).thenReturn('8')
@@ -107,7 +107,7 @@ class UpdateAAIGenericVnfTest {
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("UAAIGenVnf_vnfId")).thenReturn("skask")
         when(mockExecution.getVariable("UAAIGenVnf_getGenericVnfResponse")).thenReturn(getVfModuleResponse)
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("UAAIGenVnf_vnfId")).thenReturn("skask")
         when(mockExecution.getVariable("UAAIGenVnf_getGenericVnfResponse")).thenReturn(getVfModuleResponse)
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIGenericVnf.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIGenericVnf.aai.version")).thenReturn('8')
@@ -128,7 +128,7 @@ class UpdateAAIGenericVnfTest {
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("UAAIGenVnf_vnfId")).thenReturn("skask")
         when(mockExecution.getVariable("UAAIGenVnf_getGenericVnfResponse")).thenReturn(getVfModuleResponse)
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("UAAIGenVnf_vnfId")).thenReturn("skask")
         when(mockExecution.getVariable("UAAIGenVnf_getGenericVnfResponse")).thenReturn(getVfModuleResponse)
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIGenericVnf.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIGenericVnf.aai.version")).thenReturn('8')
index d2f9095..407ffa2 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -65,7 +65,7 @@ class UpdateAAIVfModuleTest {
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
         when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
         when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIVfModule.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIVfModule.aai.version")).thenReturn('8')
@@ -84,7 +84,7 @@ class UpdateAAIVfModuleTest {
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
         when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
         when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIVfModule.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIVfModule.aai.version")).thenReturn('8')
@@ -110,7 +110,7 @@ class UpdateAAIVfModuleTest {
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
         when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
         when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIVfModule.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIVfModule.aai.version")).thenReturn('8')
@@ -131,7 +131,7 @@ class UpdateAAIVfModuleTest {
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
         when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
         when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIVfModule.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.UpdateAAIVfModule.aai.version")).thenReturn('8')
index 3b41ff8..38be9f3 100644 (file)
@@ -984,31 +984,6 @@ public class StubResponseAAI {
                                .willReturn(aResponse()
                                                .withStatus(404)));
        }
                                .willReturn(aResponse()
                                                .withStatus(404)));
        }
-       @Deprecated
-       public static void MockGENPSIPutServiceInstance(){
-               stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET/service-instances/service-instance/MIS%252F1604%252F0026%252FSW_INTERNET"))
-                               .willReturn(aResponse()
-                                               .withStatus(200)
-                                               .withHeader("Content-Type", "text/xml")
-                                               .withBodyFile("GenericPutServiceInstance/GenericPutServiceInstance_PutServiceInstance_AAIResponse_Success.xml")));
-       }
-
-       @Deprecated
-       public static void MockGENPSIPutServiceSubscription(){
-               stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET"))
-                               .willReturn(aResponse()
-                                               .withStatus(200)
-                                               .withHeader("Content-Type", "text/xml")
-                                               .withBodyFile("GenericPutServiceInstance/GenericPutServiceInstance_PutServiceInstance_AAIResponse_Success.xml")));
-       }
-       @Deprecated
-       public static void MockGENPSIPutServiceInstance_get500(){
-               stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/1604-MVM-26/service-subscriptions/service-subscription/SDN-ETHERNET-INTERNET/service-instances/service-instance/MIS%252F1604%252F0026%252FSW_INTERNET"))
-                               .willReturn(aResponse()
-                                               .withStatus(500)
-                                               .withHeader("Content-Type", "text/xml")
-                                               .withBodyFile("GenericPutServiceInstance/aaiFault.xml")));
-       }
 
        @Deprecated
        public static void MockGetGenericVnfById(){
 
        @Deprecated
        public static void MockGetGenericVnfById(){
index 33e1390..e5138b3 100644 (file)
@@ -561,7 +561,7 @@ public class BBInputSetupMapperLayerTest {
        @Test
        public void testMapLocationContext() {
                CloudRegion expected = new CloudRegion();
        @Test
        public void testMapLocationContext() {
                CloudRegion expected = new CloudRegion();
-               expected.setCloudOwner("att-aic");
+               expected.setCloudOwner("test-owner-name");
                expected.setLcpCloudRegionId("cloudRegionId");
                expected.setComplex("complexName");
                expected.setTenantId("tenantId");
                expected.setLcpCloudRegionId("cloudRegionId");
                expected.setComplex("complexName");
                expected.setTenantId("tenantId");
@@ -570,11 +570,11 @@ public class BBInputSetupMapperLayerTest {
                cloudConfig.setLcpCloudRegionId("cloudRegionId");
                cloudConfig.setAicNodeClli("aicNodeClli");
                org.onap.aai.domain.yang.CloudRegion cloudRegion = new org.onap.aai.domain.yang.CloudRegion();
                cloudConfig.setLcpCloudRegionId("cloudRegionId");
                cloudConfig.setAicNodeClli("aicNodeClli");
                org.onap.aai.domain.yang.CloudRegion cloudRegion = new org.onap.aai.domain.yang.CloudRegion();
-               cloudRegion.setCloudOwner("att-aic");
+               cloudRegion.setCloudOwner("test-owner-name");
                cloudRegion.setCloudRegionId("cloudRegionId");
                cloudRegion.setComplexName("complexName");
 
                cloudRegion.setCloudRegionId("cloudRegionId");
                cloudRegion.setComplexName("complexName");
 
-               CloudRegion actual = bbInputSetupMapperLayer.mapCloudRegion(cloudConfig, cloudRegion, "att-aic");
+               CloudRegion actual = bbInputSetupMapperLayer.mapCloudRegion(cloudConfig, cloudRegion);
 
                assertThat(actual, sameBeanAs(expected));
        }
 
                assertThat(actual, sameBeanAs(expected));
        }
@@ -582,7 +582,7 @@ public class BBInputSetupMapperLayerTest {
        @Test
        public void testMapCloudRegion() {
                CloudRegion expected = new CloudRegion();
        @Test
        public void testMapCloudRegion() {
                CloudRegion expected = new CloudRegion();
-               expected.setCloudOwner("att-aic");
+               expected.setCloudOwner("test-owner-name");
                expected.setLcpCloudRegionId("cloudRegionId");
                expected.setTenantId("tenantId");
                expected.setCloudRegionVersion("cloudRegionVersion");
                expected.setLcpCloudRegionId("cloudRegionId");
                expected.setTenantId("tenantId");
                expected.setCloudRegionVersion("cloudRegionVersion");
@@ -593,11 +593,11 @@ public class BBInputSetupMapperLayerTest {
                cloudConfig.setAicNodeClli("aicNodeClli");
 
                org.onap.aai.domain.yang.CloudRegion cloudRegion = new org.onap.aai.domain.yang.CloudRegion();
                cloudConfig.setAicNodeClli("aicNodeClli");
 
                org.onap.aai.domain.yang.CloudRegion cloudRegion = new org.onap.aai.domain.yang.CloudRegion();
-               cloudRegion.setCloudOwner("att-aic");
+               cloudRegion.setCloudOwner("test-owner-name");
                cloudRegion.setCloudRegionId("cloudRegionId");
                cloudRegion.setCloudRegionVersion("cloudRegionVersion");
 
                cloudRegion.setCloudRegionId("cloudRegionId");
                cloudRegion.setCloudRegionVersion("cloudRegionVersion");
 
-               CloudRegion actual = bbInputSetupMapperLayer.mapCloudRegion(cloudConfig, cloudRegion, "att-aic");
+               CloudRegion actual = bbInputSetupMapperLayer.mapCloudRegion(cloudConfig, cloudRegion);
 
                assertThat(actual, sameBeanAs(expected));
        }
 
                assertThat(actual, sameBeanAs(expected));
        }
@@ -606,7 +606,7 @@ public class BBInputSetupMapperLayerTest {
        public void testMapCloudRegionWithNullCheck() {
                CloudRegion expected = new CloudRegion();
 
        public void testMapCloudRegionWithNullCheck() {
                CloudRegion expected = new CloudRegion();
 
-               CloudRegion actual = bbInputSetupMapperLayer.mapCloudRegion(null, null, null);
+               CloudRegion actual = bbInputSetupMapperLayer.mapCloudRegion(null, null);
 
                assertThat(actual, sameBeanAs(expected));
        }
 
                assertThat(actual, sameBeanAs(expected));
        }
index d0ecedf..eed4b14 100644 (file)
@@ -84,6 +84,7 @@ import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.entities.AAIResultWrapper;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.entities.AAIResultWrapper;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
+import org.onap.so.constants.Defaults;
 import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
 import org.onap.so.db.catalog.beans.CollectionResource;
 import org.onap.so.db.catalog.beans.CollectionResourceCustomization;
 import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
 import org.onap.so.db.catalog.beans.CollectionResource;
 import org.onap.so.db.catalog.beans.CollectionResourceCustomization;
@@ -317,6 +318,9 @@ public class BBInputSetupTest {
                RequestInfo requestInfo = new RequestInfo();
                requestInfo.setSuppressRollback(true);
                requestDetails.setRequestInfo(requestInfo);
                RequestInfo requestInfo = new RequestInfo();
                requestInfo.setSuppressRollback(true);
                requestDetails.setRequestInfo(requestInfo);
+               CloudConfiguration cloudConfiguration = new CloudConfiguration();
+               cloudConfiguration.setLcpCloudRegionId("myRegionId");
+               requestDetails.setCloudConfiguration(cloudConfiguration);
                doReturn(requestDetails).when(SPY_bbInputSetupUtils).getRequestDetails(executeBB.getRequestId());
                Map<ResourceKey, String> lookupKeyMap = new HashMap<>();
                String resourceId = "123";
                doReturn(requestDetails).when(SPY_bbInputSetupUtils).getRequestDetails(executeBB.getRequestId());
                Map<ResourceKey, String> lookupKeyMap = new HashMap<>();
                String resourceId = "123";
@@ -351,7 +355,7 @@ public class BBInputSetupTest {
                lookupKeyMap.put(ResourceKey.SERVICE_INSTANCE_ID, "instanceId");
                doReturn(service).when(SPY_bbInputSetupUtils).getCatalogServiceByModelUUID(aaiServiceInstance.getModelVersionId());
                doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils).getAAIServiceInstanceById("instanceId");
                lookupKeyMap.put(ResourceKey.SERVICE_INSTANCE_ID, "instanceId");
                doReturn(service).when(SPY_bbInputSetupUtils).getCatalogServiceByModelUUID(aaiServiceInstance.getModelVersionId());
                doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils).getAAIServiceInstanceById("instanceId");
-               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration(), "att-aic");
+               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration());
 
                doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(requestDetails, service, "bbName",
                                serviceInstance, lookupKeyMap, resourceId, vnfType);
 
                doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(requestDetails, service, "bbName",
                                serviceInstance, lookupKeyMap, resourceId, vnfType);
@@ -404,7 +408,7 @@ public class BBInputSetupTest {
                lookupKeyMap.put(ResourceKey.SERVICE_INSTANCE_ID, "instanceId");
                doReturn(service).when(SPY_bbInputSetupUtils).getCatalogServiceByModelUUID(aaiServiceInstance.getModelVersionId());
                doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils).getAAIServiceInstanceById("instanceId");
                lookupKeyMap.put(ResourceKey.SERVICE_INSTANCE_ID, "instanceId");
                doReturn(service).when(SPY_bbInputSetupUtils).getCatalogServiceByModelUUID(aaiServiceInstance.getModelVersionId());
                doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils).getAAIServiceInstanceById("instanceId");
-               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration(), "att-aic");
+               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration());
 
                doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(requestDetails, service, "bbName",
                                serviceInstance, lookupKeyMap, resourceId, vnfType);
 
                doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(requestDetails, service, "bbName",
                                serviceInstance, lookupKeyMap, resourceId, vnfType);
@@ -448,7 +452,7 @@ public class BBInputSetupTest {
 
                doReturn(service).when(SPY_bbInputSetupUtils)
                                .getCatalogServiceByModelUUID(requestDetails.getModelInfo().getModelVersionId());
 
                doReturn(service).when(SPY_bbInputSetupUtils)
                                .getCatalogServiceByModelUUID(requestDetails.getModelInfo().getModelVersionId());
-               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration(), "att-aic");
+               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration());
                doReturn(project).when(bbInputSetupMapperLayer).mapRequestProject(requestDetails.getProject());
                doReturn(owningEntity).when(bbInputSetupMapperLayer)
                                .mapRequestOwningEntity(requestDetails.getOwningEntity());
                doReturn(project).when(bbInputSetupMapperLayer).mapRequestProject(requestDetails.getProject());
                doReturn(owningEntity).when(bbInputSetupMapperLayer)
                                .mapRequestOwningEntity(requestDetails.getOwningEntity());
@@ -497,7 +501,7 @@ public class BBInputSetupTest {
                                .getCatalogServiceByModelUUID(requestDetails.getModelInfo().getModelVersionId());
                doReturn(service).when(SPY_bbInputSetupUtils).getCatalogServiceByModelVersionAndModelInvariantUUID(
                                requestDetails.getModelInfo().getModelVersion(), requestDetails.getModelInfo().getModelInvariantId());
                                .getCatalogServiceByModelUUID(requestDetails.getModelInfo().getModelVersionId());
                doReturn(service).when(SPY_bbInputSetupUtils).getCatalogServiceByModelVersionAndModelInvariantUUID(
                                requestDetails.getModelInfo().getModelVersion(), requestDetails.getModelInfo().getModelInvariantId());
-               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration(), "att-aic");
+               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration());
                doReturn(project).when(bbInputSetupMapperLayer).mapRequestProject(requestDetails.getProject());
                doReturn(owningEntity).when(bbInputSetupMapperLayer)
                                .mapRequestOwningEntity(requestDetails.getOwningEntity());
                doReturn(project).when(bbInputSetupMapperLayer).mapRequestProject(requestDetails.getProject());
                doReturn(owningEntity).when(bbInputSetupMapperLayer)
                                .mapRequestOwningEntity(requestDetails.getOwningEntity());
@@ -543,7 +547,7 @@ public class BBInputSetupTest {
                                .getURIKeysFromServiceInstance(resourceId);
                doReturn(service).when(SPY_bbInputSetupUtils)
                                .getCatalogServiceByModelUUID(requestDetails.getModelInfo().getModelVersionId());
                                .getURIKeysFromServiceInstance(resourceId);
                doReturn(service).when(SPY_bbInputSetupUtils)
                                .getCatalogServiceByModelUUID(requestDetails.getModelInfo().getModelVersionId());
-               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration(), "att-aic");
+               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration());
 
                doReturn(customer).when(SPY_bbInputSetup).getCustomerAndServiceSubscription(requestDetails, resourceId);
                doReturn(serviceSubscription).when(SPY_bbInputSetup).getServiceSubscription(requestDetails, customer);
 
                doReturn(customer).when(SPY_bbInputSetup).getCustomerAndServiceSubscription(requestDetails, resourceId);
                doReturn(serviceSubscription).when(SPY_bbInputSetup).getServiceSubscription(requestDetails, customer);
@@ -769,7 +773,7 @@ public class BBInputSetupTest {
                orchestrationContext.setIsRollbackEnabled(false);
 
                CloudRegion cloudRegion = new CloudRegion();
                orchestrationContext.setIsRollbackEnabled(false);
 
                CloudRegion cloudRegion = new CloudRegion();
-               cloudRegion.setCloudOwner("att-aic");
+               cloudRegion.setCloudOwner("test-owner-name");
                cloudRegion.setLcpCloudRegionId("lcpCloudRegionId");
                cloudRegion.setComplex("complexName");
                cloudRegion.setTenantId("tenantId");
                cloudRegion.setLcpCloudRegionId("lcpCloudRegionId");
                cloudRegion.setComplex("complexName");
                cloudRegion.setTenantId("tenantId");
@@ -792,11 +796,10 @@ public class BBInputSetupTest {
 
                doReturn(uriKeys).when(SPY_bbInputSetupUtils).getURIKeysFromServiceInstance(serviceInstance.getServiceInstanceId());
                doReturn(customer).when(SPY_bbInputSetup).mapCustomer(uriKeys.get("global-customer-id"),uriKeys.get("service-type"));
 
                doReturn(uriKeys).when(SPY_bbInputSetupUtils).getURIKeysFromServiceInstance(serviceInstance.getServiceInstanceId());
                doReturn(customer).when(SPY_bbInputSetup).mapCustomer(uriKeys.get("global-customer-id"),uriKeys.get("service-type"));
-               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration(), "att-aic");
+               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration());
                doReturn(orchestrationContext).when(bbInputSetupMapperLayer).mapOrchestrationContext(requestDetails);
                doReturn(requestContext).when(bbInputSetupMapperLayer).mapRequestContext(requestDetails);
                doReturn(orchestrationContext).when(bbInputSetupMapperLayer).mapOrchestrationContext(requestDetails);
                doReturn(requestContext).when(bbInputSetupMapperLayer).mapRequestContext(requestDetails);
-               doReturn(cloudRegion).when(bbInputSetupMapperLayer).mapCloudRegion(requestDetails.getCloudConfiguration(), aaiCloudRegion,
-                               "att-aic");
+               doReturn(cloudRegion).when(bbInputSetupMapperLayer).mapCloudRegion(requestDetails.getCloudConfiguration(), aaiCloudRegion);
 
                GeneralBuildingBlock actual = SPY_bbInputSetup.populateGBBWithSIAndAdditionalInfo(requestDetails,
                                serviceInstance, executeBB, requestAction, null);
 
                GeneralBuildingBlock actual = SPY_bbInputSetup.populateGBBWithSIAndAdditionalInfo(requestDetails,
                                serviceInstance, executeBB, requestAction, null);
@@ -1769,11 +1772,12 @@ public class BBInputSetupTest {
                                new File(RESOURCE_PATH + "ServiceMacroVfModules.json"), org.onap.so.serviceinstancebeans.Service.class);
                CloudConfiguration cloudConfig = null;
                org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = new org.onap.aai.domain.yang.CloudRegion();
                                new File(RESOURCE_PATH + "ServiceMacroVfModules.json"), org.onap.so.serviceinstancebeans.Service.class);
                CloudConfiguration cloudConfig = null;
                org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = new org.onap.aai.domain.yang.CloudRegion();
+               aaiCloudRegion.setCloudOwner("test-owner-name");
                Resources resources = serviceMacro.getResources();
                Resources resources = serviceMacro.getResources();
-               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(any(CloudConfiguration.class), eq("att-aic"));
+               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(any(CloudConfiguration.class));
                CloudRegion expected = new CloudRegion();
                expected.setLcpCloudRegionId("mdt1");
                CloudRegion expected = new CloudRegion();
                expected.setLcpCloudRegionId("mdt1");
-               expected.setCloudOwner("att-aic");
+               expected.setCloudOwner("test-owner-name");
                expected.setTenantId("88a6ca3ee0394ade9403f075db23167e");
                
                CloudRegion actual = SPY_bbInputSetup.getCloudRegionFromMacroRequest(cloudConfig, resources);
                expected.setTenantId("88a6ca3ee0394ade9403f075db23167e");
                
                CloudRegion actual = SPY_bbInputSetup.getCloudRegionFromMacroRequest(cloudConfig, resources);
@@ -2124,8 +2128,7 @@ public class BBInputSetupTest {
                cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
                requestDetails.setCloudConfiguration(cloudConfig);
                org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = Mockito.mock(org.onap.aai.domain.yang.CloudRegion.class);
                cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
                requestDetails.setCloudConfiguration(cloudConfig);
                org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = Mockito.mock(org.onap.aai.domain.yang.CloudRegion.class);
-               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration(),
-                               "att-aic");
+               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration());
                executeBB.getBuildingBlock().setBpmnFlowName("DeleteNetworkBB");
                executeBB.getBuildingBlock().setKey("ab153b6e-c364-44c0-bef6-1f2982117f04");
                SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType);
                executeBB.getBuildingBlock().setBpmnFlowName("DeleteNetworkBB");
                executeBB.getBuildingBlock().setKey("ab153b6e-c364-44c0-bef6-1f2982117f04");
                SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType);
@@ -2273,14 +2276,13 @@ public class BBInputSetupTest {
                                any(Service.class), any(String.class));
 
                org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = Mockito.mock(org.onap.aai.domain.yang.CloudRegion.class);
                                any(Service.class), any(String.class));
 
                org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = Mockito.mock(org.onap.aai.domain.yang.CloudRegion.class);
-               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration(),
-                               "att-aic");
+               doReturn(aaiCloudRegion).when(SPY_bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration());
                VolumeGroup volumeGroup = new VolumeGroup();
                volumeGroup.setVolumeGroupId("volumeGroupId");
                gBB.getServiceInstance().getVnfs().get(0).getVolumeGroups().add(volumeGroup);
                org.onap.aai.domain.yang.VolumeGroup aaiVolumeGroup = new org.onap.aai.domain.yang.VolumeGroup();
                aaiVolumeGroup.setModelCustomizationId("modelCustId");
                VolumeGroup volumeGroup = new VolumeGroup();
                volumeGroup.setVolumeGroupId("volumeGroupId");
                gBB.getServiceInstance().getVnfs().get(0).getVolumeGroups().add(volumeGroup);
                org.onap.aai.domain.yang.VolumeGroup aaiVolumeGroup = new org.onap.aai.domain.yang.VolumeGroup();
                aaiVolumeGroup.setModelCustomizationId("modelCustId");
-               doReturn(aaiVolumeGroup).when(SPY_bbInputSetupUtils).getAAIVolumeGroup("att-aic",
+               doReturn(aaiVolumeGroup).when(SPY_bbInputSetupUtils).getAAIVolumeGroup(Defaults.CLOUD_OWNER.toString(),
                                cloudConfiguration.getLcpCloudRegionId(), volumeGroup.getVolumeGroupId());
 
                executeBB.getBuildingBlock().setBpmnFlowName("UnassignVolumeGroupBB");
                                cloudConfiguration.getLcpCloudRegionId(), volumeGroup.getVolumeGroupId());
 
                executeBB.getBuildingBlock().setBpmnFlowName("UnassignVolumeGroupBB");
index eb74ab8..e1efe1c 100644 (file)
@@ -174,27 +174,25 @@ public class BBInputSetupUtilsTest {
 
        @Test
        public void testGetCloudRegion() {
 
        @Test
        public void testGetCloudRegion() {
-               String cloudOwner = "cloudOwnerId";
                CloudConfiguration cloudConfig = new CloudConfiguration();
                cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
                Optional<org.onap.aai.domain.yang.CloudRegion> expected = Optional.of(new org.onap.aai.domain.yang.CloudRegion());
                CloudConfiguration cloudConfig = new CloudConfiguration();
                cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
                Optional<org.onap.aai.domain.yang.CloudRegion> expected = Optional.of(new org.onap.aai.domain.yang.CloudRegion());
-               expected.get().setCloudOwner(cloudOwner);
+               expected.get().setCloudOwner("cloudOwner");
                expected.get().setCloudRegionId("lcpCloudRegionId");
                doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.CloudRegion.class,
                expected.get().setCloudRegionId("lcpCloudRegionId");
                doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.CloudRegion.class,
-                               AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, cloudOwner,
+                               AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, cloudConfig.getCloudOwner(),
                                                cloudConfig.getLcpCloudRegionId()));
 
                                                cloudConfig.getLcpCloudRegionId()));
 
-               AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, cloudOwner,
+               AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, cloudConfig.getCloudOwner(),
                                cloudConfig.getLcpCloudRegionId());
                                cloudConfig.getLcpCloudRegionId());
-               bbInputSetupUtils.getCloudRegion(cloudConfig, cloudOwner);
+               bbInputSetupUtils.getCloudRegion(cloudConfig);
                
                verify(MOCK_aaiResourcesClient, times(1)).get(CloudRegion.class, expectedUri);
        }
        
        @Test
        public void testGetCloudRegionExceptionTest() {
                
                verify(MOCK_aaiResourcesClient, times(1)).get(CloudRegion.class, expectedUri);
        }
        
        @Test
        public void testGetCloudRegionExceptionTest() {
-               String cloudOwner = "cloudOwnerId";
-               
+
                CloudConfiguration cloudConfig = new CloudConfiguration();
                cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
 
                CloudConfiguration cloudConfig = new CloudConfiguration();
                cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
 
@@ -203,33 +201,29 @@ public class BBInputSetupUtilsTest {
                
                doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
                
                
                doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
                
-               CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfig, cloudOwner);
+               CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfig);
                
                assertNull(cloudRegion);
        }
 
        @Test
        public void testGetCloudRegionEmptyId() {
                
                assertNull(cloudRegion);
        }
 
        @Test
        public void testGetCloudRegionEmptyId() {
-               String cloudOwner = "cloudOwnerId";
-               
                CloudConfiguration cloudConfig = new CloudConfiguration();
                cloudConfig.setLcpCloudRegionId("");
                
                RequestDetails requestDetails = new RequestDetails();
                requestDetails.setCloudConfiguration(cloudConfig);
                
                CloudConfiguration cloudConfig = new CloudConfiguration();
                cloudConfig.setLcpCloudRegionId("");
                
                RequestDetails requestDetails = new RequestDetails();
                requestDetails.setCloudConfiguration(cloudConfig);
                
-               CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfig, cloudOwner);
+               CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfig);
                
                assertNull(cloudRegion);
        }
 
        @Test
        public void testGetCloudRegionEmptyConfiguration() {
                
                assertNull(cloudRegion);
        }
 
        @Test
        public void testGetCloudRegionEmptyConfiguration() {
-               String cloudOwner = "cloudOwnerId";
-
                RequestDetails requestDetails = new RequestDetails();
 
                RequestDetails requestDetails = new RequestDetails();
 
-               CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(requestDetails.getCloudConfiguration(), cloudOwner);
+               CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(requestDetails.getCloudConfiguration());
 
                assertNull(cloudRegion);
        }
 
                assertNull(cloudRegion);
        }
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest1Vpn.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest1Vpn.json
new file mode 100644 (file)
index 0000000..f05449a
--- /dev/null
@@ -0,0 +1,6 @@
+{
+  "requestInfo" : {"sourceId":"mso","requestType":"create","requestId":"testRequestId","callbackUrl":"http://localhost:28080/mso/WorkflowMesssage/SNIROResponse/testRequestId","transactionId":"testRequestId","timeout":1800},
+  "serviceInfo" : {"modelInfo":{"modelName":"testModelName1","modelVersionId":"testModelUUID1","modelVersion":"testModelVersion1","modelInvariantId":"testModelInvariantUUID1"},"serviceInstanceId":"testServiceInstanceId1","serviceName":"testServiceType1"},
+  "placementInfo" : {"subscriberInfo":{"subscriberName":"testCustomerName","globalSubscriberId":"testCustomerId"},"placementDemands":[{"resourceModelInfo":{"modelName":"testProxyModelName1","modelVersionId":"testProxyModelUuid1","modelVersion":"testProxyModelVersion1","modelInvariantId":"testProxyModelInvariantUuid1"},"resourceModuleName":"testProxyModelInstanceName1","serviceResourceId":"testProxyId1"},{"resourceModelInfo":{"modelName":"testProxyModelName2","modelVersionId":"testProxyModelUuid2","modelVersion":"testProxyModelVersion2","modelInvariantId":"testProxyModelInvariantUuid2"},"requiredCandidates":[{"candidateType":{"name":"vnfId"},"candidates":["testVnfId"]}],"resourceModuleName":"testProxyModelInstanceName2","serviceResourceId":"testProxyId2"}],"requestParameters":{"aLaCarte":false,"subscriptionServiceType":"iptollfree"}},
+  "licenseInfo" : {"licenseDemands":[]}
+}
\ No newline at end of file
index 4c4c9b3..6977224 100644 (file)
@@ -1,6 +1,6 @@
 {
   "requestInfo" : {"sourceId":"mso","requestType":"create","requestId":"testRequestId","callbackUrl":"http://localhost:28080/mso/WorkflowMesssage/SNIROResponse/testRequestId","transactionId":"testRequestId","timeout":1800},
   "serviceInfo" : {"modelInfo":{"modelName":"testModelName1","modelVersionId":"testModelUUID1","modelVersion":"testModelVersion1","modelInvariantId":"testModelInvariantUUID1"},"serviceInstanceId":"testServiceInstanceId1","serviceName":"testServiceType1"},
 {
   "requestInfo" : {"sourceId":"mso","requestType":"create","requestId":"testRequestId","callbackUrl":"http://localhost:28080/mso/WorkflowMesssage/SNIROResponse/testRequestId","transactionId":"testRequestId","timeout":1800},
   "serviceInfo" : {"modelInfo":{"modelName":"testModelName1","modelVersionId":"testModelUUID1","modelVersion":"testModelVersion1","modelInvariantId":"testModelInvariantUUID1"},"serviceInstanceId":"testServiceInstanceId1","serviceName":"testServiceType1"},
-  "placementInfo" : {"subscriberInfo":{"subscriberName":"testCustomerName","globalSubscriberId":"testCustomerId"},"placementDemands":[{"resourceModelInfo":{"modelName":"testAllottedModelName1","modelVersionId":"testAllottedModelUuid1","modelVersion":"testAllottedModelVersion1","modelInvariantId":"testAllottedModelInvariantUuid1"},"resourceModuleName":"testAllottedInstanceName1","serviceResourceId":"testAllottedResourceId1"},{"resourceModelInfo":{"modelName":"testAllottedModelName2","modelVersionId":"testAllottedModelUuid2","modelVersion":"testAllottedModelVersion2","modelInvariantId":"testAllottedModelInvariantUuid2"},"resourceModuleName":"testAllottedInstanceName2","serviceResourceId":"testAllottedResourceId2"},{"resourceModelInfo":{"modelName":"testAllottedModelName3","modelVersionId":"testAllottedModelUuid3","modelVersion":"testAllottedModelVersion3","modelInvariantId":"testAllottedModelInvariantUuid3"},"resourceModuleName":"testAllottedInstanceName3","serviceResourceId":"testAllottedResourceId3"}],"requestParameters":{"aLaCarte":false,"subscriptionServiceType":"iptollfree"}},
-  "licenseInfo" : []
+  "placementInfo" : {"subscriberInfo":{"subscriberName":"testCustomerName","globalSubscriberId":"testCustomerId"},"placementDemands":[{"resourceModelInfo":{"modelName":"testAllottedModelName1","modelVersionId":"testAllottedModelUuid1","modelVersion":"testAllottedModelVersion1","modelInvariantId":"testAllottedModelInvariantUuid1"},"resourceModuleName":"testAllottedModelInstanceName1","serviceResourceId":"testAllottedResourceId1"},{"resourceModelInfo":{"modelName":"testAllottedModelName2","modelVersionId":"testAllottedModelUuid2","modelVersion":"testAllottedModelVersion2","modelInvariantId":"testAllottedModelInvariantUuid2"},"resourceModuleName":"testAllottedModelInstanceName2","serviceResourceId":"testAllottedResourceId2"},{"resourceModelInfo":{"modelName":"testAllottedModelName3","modelVersionId":"testAllottedModelUuid3","modelVersion":"testAllottedModelVersion3","modelInvariantId":"testAllottedModelInvariantUuid3"},"resourceModuleName":"testAllottedModelInstanceName3","serviceResourceId":"testAllottedResourceId3"}],"requestParameters":{"aLaCarte":false,"subscriptionServiceType":"iptollfree"}},
+  "licenseInfo" : {"licenseDemands":[]}
 }
\ No newline at end of file
 }
\ No newline at end of file
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest3Vpn.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest3Vpn.json
new file mode 100644 (file)
index 0000000..877c6e7
--- /dev/null
@@ -0,0 +1,6 @@
+{
+  "requestInfo" : {"sourceId":"mso","requestType":"create","requestId":"testRequestId","callbackUrl":"http://localhost:28080/mso/WorkflowMesssage/SNIROResponse/testRequestId","transactionId":"testRequestId","timeout":1800},
+  "serviceInfo" : {"modelInfo":{"modelName":"testModelName1","modelVersionId":"testModelUUID1","modelVersion":"testModelVersion1","modelInvariantId":"testModelInvariantUUID1"},"serviceInstanceId":"testServiceInstanceId1","serviceName":"testServiceType1"},
+  "placementInfo" : {"subscriberInfo":{"subscriberName":"testCustomerName","globalSubscriberId":"testCustomerId"},"placementDemands":[{"resourceModelInfo":{"modelName":"testProxyModelName1","modelVersionId":"testProxyModelUuid1","modelVersion":"testProxyModelVersion1","modelInvariantId":"testProxyModelInvariantUuid1"},"resourceModuleName":"testProxyModelInstanceName1","serviceResourceId":"testProxyId1"},{"resourceModelInfo":{"modelName":"testProxyModelName2","modelVersionId":"testProxyModelUuid2","modelVersion":"testProxyModelVersion2","modelInvariantId":"testProxyModelInvariantUuid2"},"requiredCandidates":[{"candidateType":{"name":"vnfId"},"candidates":["testVnfId"]}],"resourceModuleName":"testProxyModelInstanceName2","serviceResourceId":"testProxyId2"},{"resourceModelInfo":{"modelName":"testProxyModelName1","modelVersionId":"testProxyModelUuid1","modelVersion":"testProxyModelVersion1","modelInvariantId":"testProxyModelInvariantUuid1"},"resourceModuleName":"testProxyModelInstanceName1","serviceResourceId":"testProxyId1"},{"resourceModelInfo":{"modelName":"testProxyModelName2","modelVersionId":"testProxyModelUuid2","modelVersion":"testProxyModelVersion2","modelInvariantId":"testProxyModelInvariantUuid2"},"requiredCandidates":[{"candidateType":{"name":"vnfId"},"candidates":["testVnfId"]}],"resourceModuleName":"testProxyModelInstanceName2","serviceResourceId":"testProxyId2"},{"resourceModelInfo":{"modelName":"testProxyModelName1","modelVersionId":"testProxyModelUuid1","modelVersion":"testProxyModelVersion1","modelInvariantId":"testProxyModelInvariantUuid1"},"resourceModuleName":"testProxyModelInstanceName1","serviceResourceId":"testProxyId1"},{"resourceModelInfo":{"modelName":"testProxyModelName2","modelVersionId":"testProxyModelUuid2","modelVersion":"testProxyModelVersion2","modelInvariantId":"testProxyModelInvariantUuid2"},"requiredCandidates":[{"candidateType":{"name":"vnfId"},"candidates":["testVnfId"]}],"resourceModuleName":"testProxyModelInstanceName2","serviceResourceId":"testProxyId2"}],"requestParameters":{"aLaCarte":false,"subscriptionServiceType":"iptollfree"}},
+  "licenseInfo" : {"licenseDemands":[]}
+}
\ No newline at end of file
index 8cd04fd..d369877 100644 (file)
@@ -13,6 +13,7 @@
     "is-rollback-enabled": true
   },
   "cloudRegion": {
     "is-rollback-enabled": true
   },
   "cloudRegion": {
+    "lcp-cloud-region-id" : "myRegionId",
     "cloud-owner": "att-aic"
   },
   "userInput": null,
     "cloud-owner": "att-aic"
   },
   "userInput": null,
index 9b021ae..cf65143 100644 (file)
@@ -17,7 +17,7 @@
        },
        "cloudRegion": {
                "lcp-cloud-region-id": "lcpCloudRegionId",
        },
        "cloudRegion": {
                "lcp-cloud-region-id": "lcpCloudRegionId",
-               "cloud-owner": "att-aic",
+               "cloud-owner": "test-owner-name",
                "tenant-id": "tenantId",
                "complex": "complexName"
        },
                "tenant-id": "tenantId",
                "complex": "complexName"
        },
index 3f07e8d..de20a5a 100644 (file)
@@ -49,6 +49,7 @@
                                                },
                                                "cloudConfiguration": {
                                                        "lcpCloudRegionId": "mdt1",
                                                },
                                                "cloudConfiguration": {
                                                        "lcpCloudRegionId": "mdt1",
+                                                       "cloudOwner" : "test-owner-name",
                                                        "tenantId": "88a6ca3ee0394ade9403f075db23167e"
                                                },
                                                "instanceName": "vmxnjr001_AVPN_base_vRE_BV_expansion_001",
                                                        "tenantId": "88a6ca3ee0394ade9403f075db23167e"
                                                },
                                                "instanceName": "vmxnjr001_AVPN_base_vRE_BV_expansion_001",
index 4c29f96..c4ad0ac 100644 (file)
@@ -24,6 +24,7 @@
                                },
                                "cloudConfiguration": {
                                        "lcpCloudRegionId": "mdt1",
                                },
                                "cloudConfiguration": {
                                        "lcpCloudRegionId": "mdt1",
+                                       "cloudOwner" : "test-owner-name",
                                        "tenantId": "88a6ca3ee0394ade9403f075db23167e"
                                },
                                "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
                                        "tenantId": "88a6ca3ee0394ade9403f075db23167e"
                                },
                                "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
index 236d435..dea3f17 100644 (file)
@@ -115,30 +115,6 @@ mso:
           version: '9'
         generic-vnf:
           version: '9'
           version: '9'
         generic-vnf:
           version: '9'
-        v8:
-          customer:
-            uri: /aai/v8/business/customers/customer
-          generic-query:
-            uri: /aai/v8/search/generic-query
-          l3-network:
-            uri: /aai/v8/network/l3-networks/l3-network
-          network-policy:
-            uri: /aai/v8/network/network-policies/network-policy
-          nodes-query:
-            uri: /aai/v8/search/nodes-query
-          route-table-reference:
-            uri: /aai/v8/network/route-table-references/route-table-reference
-          tenant:
-            uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
-          vce:
-            uri: /aai/v8/network/vces/vce
-          vpn-binding:
-            uri: /aai/v8/network/vpn-bindings/vpn-binding
-        v9:
-          cloud-region:
-            uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic
-          generic-vnf:
-            uri: /aai/v9/network/generic-vnfs/generic-vnf
     global:
       default:
         aai:
     global:
       default:
         aai:
index fc6266d..c9dd630 100644 (file)
@@ -350,15 +350,6 @@ public class RESTClient {
         return this;
     }
 
         return this;
     }
 
-    /**
-     * Alias for httpGet().
-     *
-     * @see RESTClient#httpGet()
-     */
-    public APIResponse get() throws RESTException {
-        return httpGet();
-    }
-
     /**
      * Sends an http GET request using the parameters and headers previously
      * set.
     /**
      * Sends an http GET request using the parameters and headers previously
      * set.
index 17ede2f..a79f0aa 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -49,11 +49,11 @@ public class RESTClientTest {
        private JSONObject jsonResponse;
        private String jsonObjectAsString;
        private String jsonResponseAsString;
        private JSONObject jsonResponse;
        private String jsonObjectAsString;
        private String jsonResponseAsString;
-       
+
        @Rule
        @Rule
-       public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());    
-       
-       
+       public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());
+
+
        @Before
        public void before() throws Exception {
                jsonPayload = new JSONObject();
        @Before
        public void before() throws Exception {
                jsonPayload = new JSONObject();
@@ -62,135 +62,123 @@ public class RESTClientTest {
                jsonObjectAsString = jsonPayload.toString();
                jsonResponse = new JSONObject();
                jsonResponse.put("response", "responseValue");
                jsonObjectAsString = jsonPayload.toString();
                jsonResponse = new JSONObject();
                jsonResponse.put("response", "responseValue");
-               jsonResponseAsString = jsonResponse.toString(); 
+               jsonResponseAsString = jsonResponse.toString();
                restClient = new RESTClient("http://localhost:" + wireMockRule.port() + "/example", "localhost", wireMockRule.port());
                restClient = new RESTClient("http://localhost:" + wireMockRule.port() + "/example", "localhost", wireMockRule.port());
-       }       
-       
+       }
+
        @Test
        public void testHeadersParameters() throws Exception {
                restClient.setHeader("name", "value");
                restClient.setParameter("name", "value");
        @Test
        public void testHeadersParameters() throws Exception {
                restClient.setHeader("name", "value");
                restClient.setParameter("name", "value");
-               assertEquals("[value]", restClient.getParameters().get("name").toString());             
+               assertEquals("[value]", restClient.getParameters().get("name").toString());
                assertEquals("[value]", restClient.getHeaders().get("name").toString());
                restClient.setHeader("name", "value2");
                assertEquals("[value2]", restClient.getHeaders().get("name").toString());
                restClient.setParameter("name", "value2");
                assertEquals("[value2]", restClient.getParameters().get("name").toString());
                assertEquals("[value]", restClient.getHeaders().get("name").toString());
                restClient.setHeader("name", "value2");
                assertEquals("[value2]", restClient.getHeaders().get("name").toString());
                restClient.setParameter("name", "value2");
                assertEquals("[value2]", restClient.getParameters().get("name").toString());
-               restClient.addParameter("name", "value");  
+               restClient.addParameter("name", "value");
                assertEquals(1, restClient.getParameters().size());
                assertEquals(1, restClient.getParameters().size());
-               restClient.addAuthorizationHeader("token");  
-               assertEquals("[token]", restClient.getHeaders().get("Authorization").toString());               
+               restClient.addAuthorizationHeader("token");
+               assertEquals("[token]", restClient.getHeaders().get("Authorization").toString());
                assertEquals("http://localhost:" + wireMockRule.port() + "/example", restClient.getURL());
                restClient = new RESTClient("http://localhost:" + wireMockRule.port() + "/example1");
                assertEquals("http://localhost:" + wireMockRule.port() + "/example1", restClient.getURL());
        }
                assertEquals("http://localhost:" + wireMockRule.port() + "/example", restClient.getURL());
                restClient = new RESTClient("http://localhost:" + wireMockRule.port() + "/example1");
                assertEquals("http://localhost:" + wireMockRule.port() + "/example1", restClient.getURL());
        }
-       
+
        @Test
        public void testHttpPost() throws Exception {
                RESTClient restClientMock = mock(RESTClient.class);
                restClientMock = spy(restClient);
                wireMockRule.stubFor(post(urlPathMatching("/example/*"))
        @Test
        public void testHttpPost() throws Exception {
                RESTClient restClientMock = mock(RESTClient.class);
                restClientMock = spy(restClient);
                wireMockRule.stubFor(post(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));              
+                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));
                APIResponse apiResponse = restClientMock.httpPost(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                verify(restClientMock, times(2)).getURL();
                APIResponse apiResponse = restClientMock.httpPost(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                verify(restClientMock, times(2)).getURL();
-       }       
-       
+       }
+
        @Test
        public void testPost() throws Exception {
                wireMockRule.stubFor(post(urlPathMatching("/example/*"))
        @Test
        public void testPost() throws Exception {
                wireMockRule.stubFor(post(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));              
+                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));
                APIResponse apiResponse = restClient.post();
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                APIResponse apiResponse = restClient.post();
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
-       }       
-       
+       }
+
        @Test
        public void testHttpPut() throws Exception {
                wireMockRule.stubFor(put(urlPathMatching("/example/*"))
        @Test
        public void testHttpPut() throws Exception {
                wireMockRule.stubFor(put(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));              
+                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));
                restClient.setParameter("name", "value");
                APIResponse apiResponse = restClient.httpPut(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                restClient.setParameter("name", "value");
                APIResponse apiResponse = restClient.httpPut(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
-               
-       }               
-       
+
+       }
+
        @Test
        public void testHttpPatch() throws Exception {
                wireMockRule.stubFor(patch(urlPathMatching("/example/*"))
        @Test
        public void testHttpPatch() throws Exception {
                wireMockRule.stubFor(patch(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));                              
+                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));
                APIResponse apiResponse = restClient.httpPatch(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                APIResponse apiResponse = restClient.httpPatch(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
-       }       
+       }
 
        @Test
        public void testPatch_withParameter() throws Exception {
                wireMockRule.stubFor(patch(urlPathMatching("/example/*"))
 
        @Test
        public void testPatch_withParameter() throws Exception {
                wireMockRule.stubFor(patch(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));                              
+                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));
                restClient.setParameter("name", "value");
                APIResponse apiResponse = restClient.patch(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                restClient.setParameter("name", "value");
                APIResponse apiResponse = restClient.patch(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
-       }               
-       
+       }
+
        @Test
        public void testHttpDelete_withPayload() throws Exception {
                wireMockRule.stubFor(delete(urlPathMatching("/example/*"))
        @Test
        public void testHttpDelete_withPayload() throws Exception {
                wireMockRule.stubFor(delete(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));                              
+                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));
                APIResponse apiResponse = restClient.httpDelete(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                APIResponse apiResponse = restClient.httpDelete(jsonObjectAsString);
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
-       }       
-       
+       }
+
        @Test
        public void testHttpDelete() throws Exception {
                wireMockRule.stubFor(delete(urlPathMatching("/example/*"))
        @Test
        public void testHttpDelete() throws Exception {
                wireMockRule.stubFor(delete(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));                              
+                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));
                APIResponse apiResponse = restClient.httpDelete();
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                APIResponse apiResponse = restClient.httpDelete();
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
-       }       
-       
+       }
+
        @Test
        public void testDelete() throws Exception {
                wireMockRule.stubFor(delete(urlPathMatching("/example/*"))
        @Test
        public void testDelete() throws Exception {
                wireMockRule.stubFor(delete(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));                              
+                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));
                APIResponse apiResponse = restClient.delete();
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                APIResponse apiResponse = restClient.delete();
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
-       }       
-       
+       }
+
        @Test
        public void testHttpGet() throws Exception {
                wireMockRule.stubFor(get(urlPathMatching("/example/*"))
        @Test
        public void testHttpGet() throws Exception {
                wireMockRule.stubFor(get(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));                              
+                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));
                APIResponse apiResponse = restClient.httpGet();
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
                APIResponse apiResponse = restClient.httpGet();
                assertEquals(200, apiResponse.getStatusCode());
                assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
                assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
-       }       
-       
-       @Test
-       public void testGet_withParameter() throws Exception {
-               wireMockRule.stubFor(get(urlPathMatching("/example/*"))
-                               .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.OK.value()).withBody(jsonResponseAsString)));                              
-               restClient.setParameter("name", "value");
-               restClient.setParameter("type", "valueType");
-               APIResponse apiResponse = restClient.get();
-               assertEquals(200, apiResponse.getStatusCode());
-               assertEquals(jsonResponseAsString, apiResponse.getResponseBodyAsString());
-               assertEquals("application/json", apiResponse.getFirstHeader("Content-Type"));
-       }       
-       
+       }
+
 }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/GenericGetVnfIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/GenericGetVnfIT.java
deleted file mode 100644 (file)
index 10c0640..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Â© 2014 AT&T Intellectual Property. All rights reserved. Used under license from AT&T Intellectual Property.
- */
-/*- 
- * ============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.onap.so.bpmn.common;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetGenericVceByNameWithDepth;
-import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;
-import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetGenericVnfById_500;
-import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetGenericVnfByNameWithDepth;
-import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetVceById;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import org.junit.Test;
-import org.onap.so.BaseIntegrationTest;
-
-/**
- * Please describe the GenericGetVnfTest.java class
- *
- */
-
-public class GenericGetVnfIT extends BaseIntegrationTest {
-
-       @Test
-       
-       public void testGenericGetVnf_success_genericVnf() throws Exception{
-               MockGetGenericVnfByIdWithDepth("testVnfId123", 1, "GenericFlows/getGenericVnfByNameResponse.xml");
-
-               Map<String, Object> variables = new HashMap<>();
-               setVariables(variables, "testVnfId123", "testVnfName123", "generic-vnf");
-
-               String processId = invokeSubProcess(  "GenericGetVnf", variables);
-               
-
-               String successIndicator = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_SuccessIndicator",processId);
-               String found = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_FoundIndicator",processId);
-               String vnf = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_vnf",processId);
-               String byName = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_getVnfByName",processId);
-               String response = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "WorkflowResponse",processId);
-               String workflowException = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "WorkflowException",processId);
-
-               assertEquals("true", successIndicator);
-               assertEquals("true", found);
-               assertEquals("false", byName);
-               assertNotNull(response);
-               assertNotNull(vnf);
-               assertEquals(null, workflowException);
-
-       }
-
-       @Test
-       
-       public void testGenericGetVnf_success_vce() throws Exception{
-               MockGetVceById("testVnfId123[?]depth=1", "GenericFlows/getVceResponse.xml");
-
-               Map<String, Object> variables = new HashMap<>();
-               setVariables(variables, "testVnfId123", "testVnfName123", "vce");
-
-               String processId = invokeSubProcess(  "GenericGetVnf", variables);
-               
-
-               String successIndicator = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_SuccessIndicator",processId);
-               String found = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_FoundIndicator",processId);
-               String vnf = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_vnf",processId);
-               String byName = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_getVnfByName",processId);
-               String response = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "WorkflowResponse",processId);
-               String workflowException = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "WorkflowException",processId);
-
-               assertEquals("true", successIndicator);
-               assertEquals("true", found);
-               assertEquals("false", byName);
-               assertNotNull(response);
-               assertNotNull(vnf);
-               assertEquals(null, workflowException);
-
-       }
-
-       @Test
-       
-       public void testGenericGetVnf_success_genericVnfByName() throws Exception{
-               MockGetGenericVnfByNameWithDepth("testVnfName123", 1, "GenericFlows/getGenericVnfResponse.xml");
-
-               Map<String, Object> variables = new HashMap<>();
-               setVariables(variables, "", "testVnfName123", "generic-vnf");
-
-               String processId = invokeSubProcess(  "GenericGetVnf", variables);
-               
-
-               String successIndicator = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_SuccessIndicator",processId);
-               String found = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_FoundIndicator",processId);
-               String vnf = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_vnf",processId);
-               String byName = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_getVnfByName",processId);
-               String response = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "WorkflowResponse",processId);
-               String workflowException = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "WorkflowException",processId);
-
-               assertEquals("true", successIndicator);
-               assertEquals("true", found);
-               assertEquals("true", byName);
-               assertNotNull(response);
-               assertNotNull(vnf);
-               assertEquals(null, workflowException);
-
-       }
-
-       @Test
-       
-       public void testGenericGetVnf_success_vceByName() throws Exception{
-               MockGetGenericVceByNameWithDepth("testVnfName123", 1, "GenericFlows/getVceByNameResponse.xml");
-
-               Map<String, Object> variables = new HashMap<>();
-               setVariables(variables, null, "testVnfName123", "vce");
-
-               String processId = invokeSubProcess(  "GenericGetVnf", variables);
-               
-
-               String successIndicator = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_SuccessIndicator",processId);
-               String found = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_FoundIndicator",processId);
-               String vnf = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_vnf",processId);
-               String byName = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_getVnfByName",processId);
-               String response = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "WorkflowResponse",processId);
-               String workflowException = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "WorkflowException",processId);
-
-               assertEquals("true", successIndicator);
-               assertEquals("true", found);
-               assertEquals("true", byName);
-               assertNotNull(response);
-               assertNotNull(vnf);
-               assertEquals(null, workflowException);
-
-       }
-
-       
-
-       @Test
-       public void testGenericGetVnf_error_genericVnf500() throws Exception{
-
-               MockGetGenericVnfById_500("testVnfId123_500");
-
-               Map<String, Object> variables = new HashMap<>();
-               setVariables(variables, "testVnfId123_500", "testVnfId123_500", "generic-vnf");
-
-               String processId = invokeSubProcess(  "GenericGetVnf", variables);
-               
-
-               String successIndicator = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_SuccessIndicator",processId);
-               String found = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_FoundIndicator",processId);
-               String workflowException = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "WorkflowException",processId);
-               String byName = BPMNUtil.getVariable(processEngine, "GenericGetVnf", "GENGV_getVnfByName",processId);
-
-               String expectedWorkflowException = "WorkflowException[processKey=GenericGetVnf,errorCode=500,errorMessage=Received a bad response from AAI,workStep=*]";
-
-               assertEquals("false", successIndicator);
-               assertEquals("false", found);
-               assertEquals("false", byName);
-
-               assertEquals(expectedWorkflowException, workflowException);
-       }
-
-       private void setVariables(Map<String, Object> variables, String vnfId, String vnfName, String type) {
-               variables.put("isDebugLogEnabled", "true");
-               variables.put("GENGV_vnfId", vnfId);
-               variables.put("GENGV_vnfName",vnfName);
-               variables.put("GENGV_type", type);
-               variables.put("mso-request-id", UUID.randomUUID().toString());
-       }
-}
@@ -2,5 +2,6 @@
        <vnf-id>skask</vnf-id>
        <vf-module-id>lukewarm</vf-module-id>
        <aic-cloud-region>pdk1</aic-cloud-region>
        <vnf-id>skask</vnf-id>
        <vf-module-id>lukewarm</vf-module-id>
        <aic-cloud-region>pdk1</aic-cloud-region>
+       <cloud-owner>test-owner</cloud-owner>
        <volume-group-id>78987</volume-group-id>
 </CreateAAIVfModuleVolumeGroupRequest>
\ No newline at end of file
        <volume-group-id>78987</volume-group-id>
 </CreateAAIVfModuleVolumeGroupRequest>
\ No newline at end of file
index 2bec24e..62727b9 100644 (file)
@@ -73,17 +73,17 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 @ContextConfiguration
 @AutoConfigureWireMock(port = 0)
 public abstract class BaseTest extends BuildingBlockTestDataSetup {
 @ContextConfiguration
 @AutoConfigureWireMock(port = 0)
 public abstract class BaseTest extends BuildingBlockTestDataSetup {
-       
+
 
        protected Map<String, Object> variables = new HashMap<>();
 
        protected TestRestTemplate restTemplate = new TestRestTemplate();
 
        protected HttpHeaders headers = new HttpHeaders();
 
        protected Map<String, Object> variables = new HashMap<>();
 
        protected TestRestTemplate restTemplate = new TestRestTemplate();
 
        protected HttpHeaders headers = new HttpHeaders();
-       
-       @Value("${wiremock.server.port")
+
+       @Value("${wiremock.server.port}")
        protected String wireMockPort;
        protected String wireMockPort;
-       
+
        @Autowired
        protected RuntimeService runtimeService;
 
        @Autowired
        protected RuntimeService runtimeService;
 
@@ -92,13 +92,13 @@ public abstract class BaseTest extends BuildingBlockTestDataSetup {
        /*
         * Mocked for injection via autowiring
         */
        /*
         * Mocked for injection via autowiring
         */
-       
+
        @Value("${mso.catalog.db.spring.endpoint}")
        protected String endpoint;
        @Value("${mso.catalog.db.spring.endpoint}")
        protected String endpoint;
-       
+
        @MockBean
        protected CatalogDbClient MOCK_catalogDbClient;
        @MockBean
        protected CatalogDbClient MOCK_catalogDbClient;
-       
+
        @SpyBean
        protected InjectionHelper MOCK_injectionHelper;
 
        @SpyBean
        protected InjectionHelper MOCK_injectionHelper;
 
@@ -111,21 +111,20 @@ public abstract class BaseTest extends BuildingBlockTestDataSetup {
        protected NetworkAdapterClientImpl MOCK_networkAdapterClient;
        @SpyBean
        protected SDNCClient MOCK_sdncClient;
        protected NetworkAdapterClientImpl MOCK_networkAdapterClient;
        @SpyBean
        protected SDNCClient MOCK_sdncClient;
-       
+
        @SpyBean
        protected AAIFlagTasks aaiFlagTasks;
        @SpyBean
        protected AAIFlagTasks aaiFlagTasks;
-       
+
        @SpyBean
        protected AAIVnfResources aaiVnfResources;
        @SpyBean
        protected AAIVnfResources aaiVnfResources;
-       
+
        @SpyBean
        protected ExceptionBuilder exceptionUtil;
        @SpyBean
        protected ExceptionBuilder exceptionUtil;
-       
+
        @SpyBean
        protected SDNOHealthCheckResources MOCK_sdnoHealthCheckResources;
        @SpyBean
        protected SDNOHealthCheckResources MOCK_sdnoHealthCheckResources;
-       
 
 
-       
+
 
 
 
 
 
 
@@ -138,8 +137,8 @@ public abstract class BaseTest extends BuildingBlockTestDataSetup {
         */
 
 
         */
 
 
-       
-       
+
+
        @SpyBean
        protected BBInputSetupMapperLayer SPY_bbInputSetupMapperLayer;
        @SpyBean
        @SpyBean
        protected BBInputSetupMapperLayer SPY_bbInputSetupMapperLayer;
        @SpyBean
@@ -148,38 +147,38 @@ public abstract class BaseTest extends BuildingBlockTestDataSetup {
        protected BBInputSetup SPY_bbInputSetup;
        @SpyBean
        protected SniroHomingV2 sniroHoming;
        protected BBInputSetup SPY_bbInputSetup;
        @SpyBean
        protected SniroHomingV2 sniroHoming;
-       
+
        @SpyBean
        protected SniroClient sniroClient;
        @SpyBean
        protected SniroClient sniroClient;
-       
+
        @SpyBean
        @SpyBean
-       protected SDNOHealthCheckTasks sdnoHealthCheckTasks;    
-       
+       protected SDNOHealthCheckTasks sdnoHealthCheckTasks;
+
        /*
         *  Mocked for injection via the IntectionHelper
         */
        /*
         *  Mocked for injection via the IntectionHelper
         */
-       
 
 
-       
+
+
        @Before
        public void baseTestBefore() {
                variables.put("gBuildingBlockExecution", new DelegateExecutionImpl(new HashMap<>()));
        @Before
        public void baseTestBefore() {
                variables.put("gBuildingBlockExecution", new DelegateExecutionImpl(new HashMap<>()));
-       
-               
+
+
        }
 
        @LocalServerPort
        private int port;
        }
 
        @LocalServerPort
        private int port;
-       
+
        protected String readFile(String path) throws IOException {
                return readFile(path, Charset.defaultCharset());
        }
        protected String readFile(String path) throws IOException {
                return readFile(path, Charset.defaultCharset());
        }
-       
+
        protected String readFile(String path, Charset encoding) throws IOException {
                byte[] encoded = Files.readAllBytes(Paths.get(path));
                return new String(encoded, encoding);
        }
        protected String readFile(String path, Charset encoding) throws IOException {
                byte[] encoded = Files.readAllBytes(Paths.get(path));
                return new String(encoded, encoding);
        }
-       
+
        protected String readJsonFileAsString(String fileLocation) throws IOException{
                ObjectMapper mapper = new ObjectMapper();
                JsonNode jsonNode = mapper.readTree(new File(fileLocation));
        protected String readJsonFileAsString(String fileLocation) throws IOException{
                ObjectMapper mapper = new ObjectMapper();
                JsonNode jsonNode = mapper.readTree(new File(fileLocation));
@@ -205,5 +204,5 @@ public abstract class BaseTest extends BuildingBlockTestDataSetup {
                                .camundaClass(MockLoggerDelegate.class.getName()).endEvent().name("End Point").done();
                repositoryService.createDeployment().addModelInstance(fileName + ".bpmn", modelInstance).deploy();
        }
                                .camundaClass(MockLoggerDelegate.class.getName()).endEvent().name("End Point").done();
                repositoryService.createDeployment().addModelInstance(fileName + ".bpmn", modelInstance).deploy();
        }
-       
+
 }
 }
index 9e6cfdb..22f85b4 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -88,20 +88,20 @@ public class BuildingBlockTestDataSetup{
        private int volumeGroupCounter;
        private int vpnBindingCounter;
        private int vpnBondingLinkCounter;
        private int volumeGroupCounter;
        private int vpnBindingCounter;
        private int vpnBondingLinkCounter;
-       
+
        protected BuildingBlockExecution execution;
        protected BuildingBlockExecution execution;
-       
+
        protected GeneralBuildingBlock gBBInput;
        protected GeneralBuildingBlock gBBInput;
-       
+
        protected HashMap<ResourceKey, String> lookupKeyMap;
        protected HashMap<ResourceKey, String> lookupKeyMap;
-       
+
        protected ExtractPojosForBB extractPojosForBB = new ExtractPojosForBB();
        protected ExtractPojosForBB extractPojosForBB = new ExtractPojosForBB();
-       
+
        @Rule
        public ExpectedException expectedException = ExpectedException.none();
        @Rule
        public ExpectedException expectedException = ExpectedException.none();
-       
+
        protected DelegateExecution delegateExecution;
        protected DelegateExecution delegateExecution;
-       
+
        @Before
        public void buildingBlockTestDataSetupBefore() {
                collectionCounter = 0;
        @Before
        public void buildingBlockTestDataSetupBefore() {
                collectionCounter = 0;
@@ -120,183 +120,183 @@ public class BuildingBlockTestDataSetup{
                volumeGroupCounter = 0;
                vpnBindingCounter = 0;
                vpnBondingLinkCounter = 0;
                volumeGroupCounter = 0;
                vpnBindingCounter = 0;
                vpnBondingLinkCounter = 0;
-               
+
                execution = new DelegateExecutionImpl(new ExecutionImpl());
                execution.setVariable("testProcessKey", "testProcessKeyValue");
                execution = new DelegateExecutionImpl(new ExecutionImpl());
                execution.setVariable("testProcessKey", "testProcessKeyValue");
-               
+
                gBBInput = new GeneralBuildingBlock();
                execution.setVariable("gBBInput", gBBInput);
                gBBInput = new GeneralBuildingBlock();
                execution.setVariable("gBBInput", gBBInput);
-               
+
                lookupKeyMap = new HashMap<ResourceKey, String>();
                execution.setVariable("lookupKeyMap", lookupKeyMap);
                lookupKeyMap = new HashMap<ResourceKey, String>();
                execution.setVariable("lookupKeyMap", lookupKeyMap);
-               
+
            ExecutionImpl mockExecutionImpl = mock(ExecutionImpl.class);
        doReturn("test").when(mockExecutionImpl).getProcessInstanceId();
            ExecutionImpl mockExecutionImpl = mock(ExecutionImpl.class);
        doReturn("test").when(mockExecutionImpl).getProcessInstanceId();
-       
+
        ExecutionImpl executionImpl = new ExecutionImpl();
        executionImpl.setProcessInstance(mockExecutionImpl);
        ExecutionImpl executionImpl = new ExecutionImpl();
        executionImpl.setProcessInstance(mockExecutionImpl);
-       
+
        delegateExecution = (DelegateExecution) executionImpl;
        delegateExecution.setVariable("testProcessKey", "testProcessKeyValue");
        }
        delegateExecution = (DelegateExecution) executionImpl;
        delegateExecution.setVariable("testProcessKey", "testProcessKeyValue");
        }
-       
+
        public Map<String, String> buildUserInput() {
                Map<String, String> userInput = new HashMap<>();
                userInput.put("testUserInputKey", "testUserInputValue");
        public Map<String, String> buildUserInput() {
                Map<String, String> userInput = new HashMap<>();
                userInput.put("testUserInputKey", "testUserInputValue");
-               
+
                return userInput;
        }
                return userInput;
        }
-       
+
        public Map<String, String> setUserInput() {
                Map<String, String> userInput = buildUserInput();
        public Map<String, String> setUserInput() {
                Map<String, String> userInput = buildUserInput();
-               
+
                gBBInput.setUserInput(userInput);
                gBBInput.setUserInput(userInput);
-               
+
                return userInput;
        }
                return userInput;
        }
-       
+
        public RequestContext buildRequestContext() {
                RequestContext requestContext = new RequestContext();
                requestContext.setMsoRequestId(UUID.randomUUID().toString());
                requestContext.setProductFamilyId("testProductFamilyId");
                requestContext.setRequestorId("testRequestorId");
        public RequestContext buildRequestContext() {
                RequestContext requestContext = new RequestContext();
                requestContext.setMsoRequestId(UUID.randomUUID().toString());
                requestContext.setProductFamilyId("testProductFamilyId");
                requestContext.setRequestorId("testRequestorId");
-               
+
                requestContext.setUserParams(new HashMap<>());
                requestContext.setUserParams(new HashMap<>());
-               
+
         Map<String,Object> dataMap = new HashMap<>();
         dataMap.put("vpnId","testVpnId");
         dataMap.put("vpnRegion","testVpnRegion");
         dataMap.put("vpnRt","testVpnRt");
         dataMap.put("vpnName","vpnName");
         dataMap.put("vpnRegion", Arrays.asList(new String[] {"USA", "EMEA", "APAC"}));
         Map<String,Object> dataMap = new HashMap<>();
         dataMap.put("vpnId","testVpnId");
         dataMap.put("vpnRegion","testVpnRegion");
         dataMap.put("vpnRt","testVpnRt");
         dataMap.put("vpnName","vpnName");
         dataMap.put("vpnRegion", Arrays.asList(new String[] {"USA", "EMEA", "APAC"}));
-        
+
         HashMap<String,Object> userParams = new HashMap<>();
         userParams.put("vpnData",dataMap);
         HashMap<String,Object> userParams = new HashMap<>();
         userParams.put("vpnData",dataMap);
-               
+
                List<Map<String,Object>> userParamsList = new ArrayList<>();
                userParamsList.add(userParams);
                List<Map<String,Object>> userParamsList = new ArrayList<>();
                userParamsList.add(userParams);
-               
+
                RequestParameters requestParameters = new RequestParameters();
                requestParameters.setUserParams(userParamsList);
                requestContext.setRequestParameters(requestParameters);
                RequestParameters requestParameters = new RequestParameters();
                requestParameters.setUserParams(userParamsList);
                requestContext.setRequestParameters(requestParameters);
-               
+
                return requestContext;
        }
                return requestContext;
        }
-       
+
        public RequestContext setRequestContext() {
                RequestContext requestContext = buildRequestContext();
        public RequestContext setRequestContext() {
                RequestContext requestContext = buildRequestContext();
-               
+
                gBBInput.setRequestContext(requestContext);
                gBBInput.setRequestContext(requestContext);
-               
+
                return requestContext;
        }
                return requestContext;
        }
-       
+
        public CloudRegion buildCloudRegion() {
                CloudRegion cloudRegion = new CloudRegion();
                cloudRegion.setLcpCloudRegionId("testLcpCloudRegionId");
                cloudRegion.setTenantId("testTenantId");
                cloudRegion.setCloudOwner("testCloudOwner");
        public CloudRegion buildCloudRegion() {
                CloudRegion cloudRegion = new CloudRegion();
                cloudRegion.setLcpCloudRegionId("testLcpCloudRegionId");
                cloudRegion.setTenantId("testTenantId");
                cloudRegion.setCloudOwner("testCloudOwner");
-               
+
                return cloudRegion;
        }
                return cloudRegion;
        }
-       
+
        public CloudRegion setCloudRegion() {
                CloudRegion cloudRegion = buildCloudRegion();
        public CloudRegion setCloudRegion() {
                CloudRegion cloudRegion = buildCloudRegion();
-               
+
                gBBInput.setCloudRegion(cloudRegion);
                gBBInput.setCloudRegion(cloudRegion);
-               
+
                return cloudRegion;
        }
                return cloudRegion;
        }
-       
+
        public OrchestrationContext buildOrchestrationContext() {
                OrchestrationContext orchestrationContext = new OrchestrationContext();
        public OrchestrationContext buildOrchestrationContext() {
                OrchestrationContext orchestrationContext = new OrchestrationContext();
-               
+
                return orchestrationContext;
        }
                return orchestrationContext;
        }
-       
+
        public OrchestrationContext setOrchestrationContext() {
                OrchestrationContext orchestrationContext = buildOrchestrationContext();
        public OrchestrationContext setOrchestrationContext() {
                OrchestrationContext orchestrationContext = buildOrchestrationContext();
-               
+
                gBBInput.setOrchContext(orchestrationContext);
                gBBInput.setOrchContext(orchestrationContext);
-               
+
                return orchestrationContext;
        }
                return orchestrationContext;
        }
-       
+
        public Collection buildCollection() {
                collectionCounter++;
        public Collection buildCollection() {
                collectionCounter++;
-               
+
                Collection collection = new Collection();
                collection.setId("testId" + collectionCounter);
                collection.setInstanceGroup(buildInstanceGroup());
                Collection collection = new Collection();
                collection.setId("testId" + collectionCounter);
                collection.setInstanceGroup(buildInstanceGroup());
-               
+
                return collection;
        }
                return collection;
        }
-       
+
        public Configuration buildConfiguration() {
                configurationCounter++;
        public Configuration buildConfiguration() {
                configurationCounter++;
-               
+
                Configuration configuration = new Configuration();
                configuration.setConfigurationId("testConfigurationId" + configurationCounter);
                configuration.setConfigurationName("testConfigurationName" + configurationCounter);
                Configuration configuration = new Configuration();
                configuration.setConfigurationId("testConfigurationId" + configurationCounter);
                configuration.setConfigurationName("testConfigurationName" + configurationCounter);
-               
+
                ModelInfoConfiguration modelInfoConfiguration = new ModelInfoConfiguration();
                modelInfoConfiguration.setModelVersionId("testModelVersionId" + configurationCounter);
                modelInfoConfiguration.setModelInvariantId("testModelInvariantId" + configurationCounter);
                modelInfoConfiguration.setModelCustomizationId("testModelCustomizationId" + configurationCounter);
                ModelInfoConfiguration modelInfoConfiguration = new ModelInfoConfiguration();
                modelInfoConfiguration.setModelVersionId("testModelVersionId" + configurationCounter);
                modelInfoConfiguration.setModelInvariantId("testModelInvariantId" + configurationCounter);
                modelInfoConfiguration.setModelCustomizationId("testModelCustomizationId" + configurationCounter);
-               
+
                configuration.setModelInfoConfiguration(modelInfoConfiguration);
                configuration.setModelInfoConfiguration(modelInfoConfiguration);
-               
+
                return configuration;
        }
                return configuration;
        }
-       
+
        public OwningEntity buildOwningEntity() {
                owningEntityCounter++;
        public OwningEntity buildOwningEntity() {
                owningEntityCounter++;
-               
+
                OwningEntity owningEntity = new OwningEntity();
                owningEntity.setOwningEntityId("testOwningEntityId" + owningEntityCounter);
                owningEntity.setOwningEntityName("testOwningEntityName" + owningEntityCounter);
                OwningEntity owningEntity = new OwningEntity();
                owningEntity.setOwningEntityId("testOwningEntityId" + owningEntityCounter);
                owningEntity.setOwningEntityName("testOwningEntityName" + owningEntityCounter);
-               
+
                return owningEntity;
        }
                return owningEntity;
        }
-       
+
        public Project buildProject() {
                projectCounter++;
        public Project buildProject() {
                projectCounter++;
-               
+
                Project project = new Project();
                project.setProjectName("testProjectName" + projectCounter);
                Project project = new Project();
                project.setProjectName("testProjectName" + projectCounter);
-               
+
                return project;
        }
                return project;
        }
-       
+
        public ServiceSubscription buildServiceSubscription() {
                serviceSubscriptionCounter++;
        public ServiceSubscription buildServiceSubscription() {
                serviceSubscriptionCounter++;
-               
+
                ServiceSubscription serviceSubscription = new ServiceSubscription();
                serviceSubscription.setTempUbSubAccountId("testTempUbSubAccountId" + serviceSubscriptionCounter);
                serviceSubscription.setServiceType("testServiceType" + serviceSubscriptionCounter);
                ServiceSubscription serviceSubscription = new ServiceSubscription();
                serviceSubscription.setTempUbSubAccountId("testTempUbSubAccountId" + serviceSubscriptionCounter);
                serviceSubscription.setServiceType("testServiceType" + serviceSubscriptionCounter);
-               
+
                return serviceSubscription;
        }
                return serviceSubscription;
        }
-       
+
        public Customer buildCustomer() {
                customerCounter++;
        public Customer buildCustomer() {
                customerCounter++;
-               
+
                Customer customer = new Customer();
                customer.setGlobalCustomerId("testGlobalCustomerId" + customerCounter);
                customer.setSubscriberType("testSubscriberType" + customerCounter);
 
                customer.setServiceSubscription(buildServiceSubscription());
                Customer customer = new Customer();
                customer.setGlobalCustomerId("testGlobalCustomerId" + customerCounter);
                customer.setSubscriberType("testSubscriberType" + customerCounter);
 
                customer.setServiceSubscription(buildServiceSubscription());
-               
+
                return customer;
        }
                return customer;
        }
-       
+
        public ServiceInstance buildServiceInstance() {
                serviceInstanceCounter++;
        public ServiceInstance buildServiceInstance() {
                serviceInstanceCounter++;
-               
+
                ServiceInstance serviceInstance = new ServiceInstance();
                serviceInstance.setServiceInstanceId("testServiceInstanceId" + serviceInstanceCounter);
                serviceInstance.setServiceInstanceName("testServiceInstanceName" + serviceInstanceCounter);
                ServiceInstance serviceInstance = new ServiceInstance();
                serviceInstance.setServiceInstanceId("testServiceInstanceId" + serviceInstanceCounter);
                serviceInstance.setServiceInstanceName("testServiceInstanceName" + serviceInstanceCounter);
-               
+
                ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
                modelInfoServiceInstance.setModelInvariantUuid("testModelInvariantUUID" + serviceInstanceCounter);
                modelInfoServiceInstance.setModelUuid("testModelUUID" + serviceInstanceCounter);
                ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
                modelInfoServiceInstance.setModelInvariantUuid("testModelInvariantUUID" + serviceInstanceCounter);
                modelInfoServiceInstance.setModelUuid("testModelUUID" + serviceInstanceCounter);
@@ -304,30 +304,30 @@ public class BuildingBlockTestDataSetup{
                modelInfoServiceInstance.setModelName("testModelName" + serviceInstanceCounter);
                modelInfoServiceInstance.setServiceType("testServiceType" + serviceInstanceCounter);
                serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
                modelInfoServiceInstance.setModelName("testModelName" + serviceInstanceCounter);
                modelInfoServiceInstance.setServiceType("testServiceType" + serviceInstanceCounter);
                serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
-               
+
                serviceInstance.setProject(buildProject());
                serviceInstance.setProject(buildProject());
-               
+
                serviceInstance.setOwningEntity(buildOwningEntity());
                serviceInstance.setOwningEntity(buildOwningEntity());
-               
+
                serviceInstance.setCollection(buildCollection());
                serviceInstance.setCollection(buildCollection());
-               
+
                serviceInstance.getConfigurations().add(buildConfiguration());
                serviceInstance.getConfigurations().add(buildConfiguration());
-               
+
                return serviceInstance;
        }
                return serviceInstance;
        }
-       
+
        public ServiceInstance setServiceInstance() {
                ServiceInstance serviceInstance = buildServiceInstance();
        public ServiceInstance setServiceInstance() {
                ServiceInstance serviceInstance = buildServiceInstance();
-               
+
                if(gBBInput.getCustomer() == null) {
                        gBBInput.setCustomer(buildCustomer());
                }
                gBBInput.getCustomer().getServiceSubscription().getServiceInstances().add(serviceInstance);
                lookupKeyMap.put(ResourceKey.SERVICE_INSTANCE_ID, serviceInstance.getServiceInstanceId());
                if(gBBInput.getCustomer() == null) {
                        gBBInput.setCustomer(buildCustomer());
                }
                gBBInput.getCustomer().getServiceSubscription().getServiceInstances().add(serviceInstance);
                lookupKeyMap.put(ResourceKey.SERVICE_INSTANCE_ID, serviceInstance.getServiceInstanceId());
-               
+
                return serviceInstance;
        }
                return serviceInstance;
        }
-       
+
        public Customer setCustomer() {
                if(gBBInput.getCustomer() != null) return gBBInput.getCustomer();
                Customer customer = new Customer();
        public Customer setCustomer() {
                if(gBBInput.getCustomer() != null) return gBBInput.getCustomer();
                Customer customer = new Customer();
@@ -337,64 +337,64 @@ public class BuildingBlockTestDataSetup{
                customer.setServiceSubscription(buildServiceSubscription());
 
                gBBInput.setCustomer(customer);
                customer.setServiceSubscription(buildServiceSubscription());
 
                gBBInput.setCustomer(customer);
-               
+
                return customer;
        }
                return customer;
        }
-       
+
        public Collection setCollection() {
                Collection collection = new Collection();
                collection.setId("testId");
        public Collection setCollection() {
                Collection collection = new Collection();
                collection.setId("testId");
-               
+
                ServiceInstance serviceInstance = null;
                ServiceInstance serviceInstance = null;
-               
+
                try {
                        serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                } catch(BBObjectNotFoundException e) {
                        serviceInstance = setServiceInstance();
                }
                try {
                        serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                } catch(BBObjectNotFoundException e) {
                        serviceInstance = setServiceInstance();
                }
-               
+
                serviceInstance.setCollection(collection);
                serviceInstance.setCollection(collection);
-               
+
                return collection;
        }
                return collection;
        }
-       
+
        public InstanceGroup setInstanceGroup() {
                InstanceGroup instanceGroup = new InstanceGroup();
                instanceGroup.setId("testId");
                instanceGroup.setInstanceGroupFunction("testInstanceGroupFunction");
        public InstanceGroup setInstanceGroup() {
                InstanceGroup instanceGroup = new InstanceGroup();
                instanceGroup.setId("testId");
                instanceGroup.setInstanceGroupFunction("testInstanceGroupFunction");
-               
+
                Collection collection = null;
                Collection collection = null;
-               
+
                try {
                        ServiceInstance serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                        collection = serviceInstance.getCollection();
                try {
                        ServiceInstance serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                        collection = serviceInstance.getCollection();
-                       
+
                        if (collection == null) {
                                collection = setCollection();
                        }
                } catch(BBObjectNotFoundException e) {
                        collection = setCollection();
                }
                        if (collection == null) {
                                collection = setCollection();
                        }
                } catch(BBObjectNotFoundException e) {
                        collection = setCollection();
                }
-               
+
                collection.setInstanceGroup(instanceGroup);
                collection.setInstanceGroup(instanceGroup);
-               
+
                return instanceGroup;
        }
                return instanceGroup;
        }
-       
+
        public VpnBinding buildVpnBinding() {
                vpnBindingCounter++;
        public VpnBinding buildVpnBinding() {
                vpnBindingCounter++;
-               
+
                VpnBinding vpnBinding = new VpnBinding();
                vpnBinding.setVpnId("testVpnId" + vpnBindingCounter);
                vpnBinding.setVpnName("testVpnName" + vpnBindingCounter);
                vpnBinding.setCustomerVpnId("testCustomerVpnId" + vpnBindingCounter);
                VpnBinding vpnBinding = new VpnBinding();
                vpnBinding.setVpnId("testVpnId" + vpnBindingCounter);
                vpnBinding.setVpnName("testVpnName" + vpnBindingCounter);
                vpnBinding.setCustomerVpnId("testCustomerVpnId" + vpnBindingCounter);
-               
+
                return vpnBinding;
        }
                return vpnBinding;
        }
-       
+
        public VpnBinding setVpnBinding() {
                VpnBinding vpnBinding = buildVpnBinding();
        public VpnBinding setVpnBinding() {
                VpnBinding vpnBinding = buildVpnBinding();
-               
+
                Customer customer = gBBInput.getCustomer();
 
                if(customer == null){
                Customer customer = gBBInput.getCustomer();
 
                if(customer == null){
@@ -403,106 +403,107 @@ public class BuildingBlockTestDataSetup{
 
                customer.getVpnBindings().add(vpnBinding);
                lookupKeyMap.put(ResourceKey.VPN_ID, vpnBinding.getVpnId());
 
                customer.getVpnBindings().add(vpnBinding);
                lookupKeyMap.put(ResourceKey.VPN_ID, vpnBinding.getVpnId());
-               
+
                return vpnBinding;
        }
                return vpnBinding;
        }
-       
+
        public InstanceGroup buildInstanceGroup() {
                instanceGroupCounter++;
        public InstanceGroup buildInstanceGroup() {
                instanceGroupCounter++;
-               
+
                InstanceGroup instanceGroup = new InstanceGroup();
                instanceGroup.setId("testId" + instanceGroupCounter);
                instanceGroup.setInstanceGroupFunction("testInstanceGroupFunction" + instanceGroupCounter);
                InstanceGroup instanceGroup = new InstanceGroup();
                instanceGroup.setId("testId" + instanceGroupCounter);
                instanceGroup.setInstanceGroupFunction("testInstanceGroupFunction" + instanceGroupCounter);
-               
+
                return instanceGroup;
        }
                return instanceGroup;
        }
-       
+
        public L3Network buildL3Network() {
                l3NetworkCounter++;
        public L3Network buildL3Network() {
                l3NetworkCounter++;
-               
+
                L3Network network = new L3Network();
                network.setNetworkId("testNetworkId" + l3NetworkCounter);
                network.setNetworkName("testNetworkName" + l3NetworkCounter);
                network.setNetworkType("testNetworkType" + l3NetworkCounter);
                L3Network network = new L3Network();
                network.setNetworkId("testNetworkId" + l3NetworkCounter);
                network.setNetworkName("testNetworkName" + l3NetworkCounter);
                network.setNetworkType("testNetworkType" + l3NetworkCounter);
-               
+
                ModelInfoNetwork modelInfoNetwork = new ModelInfoNetwork();
                modelInfoNetwork.setModelInvariantUUID("testModelInvariantUUID" + l3NetworkCounter);
                modelInfoNetwork.setModelName("testModelName" + l3NetworkCounter);
                modelInfoNetwork.setModelVersion("testModelVersion" + l3NetworkCounter);
                modelInfoNetwork.setModelUUID("testModelUUID" + l3NetworkCounter);
                network.setModelInfoNetwork(modelInfoNetwork);
                ModelInfoNetwork modelInfoNetwork = new ModelInfoNetwork();
                modelInfoNetwork.setModelInvariantUUID("testModelInvariantUUID" + l3NetworkCounter);
                modelInfoNetwork.setModelName("testModelName" + l3NetworkCounter);
                modelInfoNetwork.setModelVersion("testModelVersion" + l3NetworkCounter);
                modelInfoNetwork.setModelUUID("testModelUUID" + l3NetworkCounter);
                network.setModelInfoNetwork(modelInfoNetwork);
-               
+
                return network;
        }
                return network;
        }
-       
+
        public L3Network setL3Network() {
                L3Network network = buildL3Network();
        public L3Network setL3Network() {
                L3Network network = buildL3Network();
-               
+
                ServiceInstance serviceInstance = null;
                ServiceInstance serviceInstance = null;
-               
+
                try {
                        serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                } catch(BBObjectNotFoundException e) {
                        serviceInstance = setServiceInstance();
                }
                try {
                        serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                } catch(BBObjectNotFoundException e) {
                        serviceInstance = setServiceInstance();
                }
-               
+
                serviceInstance.getNetworks().add(network);
                lookupKeyMap.put(ResourceKey.NETWORK_ID, network.getNetworkId());
                serviceInstance.getNetworks().add(network);
                lookupKeyMap.put(ResourceKey.NETWORK_ID, network.getNetworkId());
-               
+
                return network;
        }
                return network;
        }
-       
+
        public GenericVnf buildGenericVnf() {
                genericVnfCounter++;
        public GenericVnf buildGenericVnf() {
                genericVnfCounter++;
-               
+
                GenericVnf genericVnf = new GenericVnf();
                genericVnf.setVnfId("testVnfId" + genericVnfCounter);
                genericVnf.setVnfName("testVnfName" + genericVnfCounter);
                genericVnf.setVnfType("testVnfType" + genericVnfCounter);
                GenericVnf genericVnf = new GenericVnf();
                genericVnf.setVnfId("testVnfId" + genericVnfCounter);
                genericVnf.setVnfName("testVnfName" + genericVnfCounter);
                genericVnf.setVnfType("testVnfType" + genericVnfCounter);
-               
+
                Platform platform = new Platform();
                platform.setPlatformName("testPlatformName");
                genericVnf.setPlatform(platform);
                Platform platform = new Platform();
                platform.setPlatformName("testPlatformName");
                genericVnf.setPlatform(platform);
-               
+
                LineOfBusiness lob = new LineOfBusiness();
                lob.setLineOfBusinessName("testLineOfBusinessName");
                genericVnf.setLineOfBusiness(lob);
                LineOfBusiness lob = new LineOfBusiness();
                lob.setLineOfBusinessName("testLineOfBusinessName");
                genericVnf.setLineOfBusiness(lob);
-               
+
                ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
                modelInfoGenericVnf.setModelName("testModelName" + genericVnfCounter);
                modelInfoGenericVnf.setModelCustomizationUuid("testModelCustomizationUUID" + genericVnfCounter);
                modelInfoGenericVnf.setModelInvariantUuid("testModelInvariantUUID" + genericVnfCounter);
                modelInfoGenericVnf.setModelVersion("testModelVersion" + genericVnfCounter);
                modelInfoGenericVnf.setModelUuid("testModelUUID" + genericVnfCounter);
                ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
                modelInfoGenericVnf.setModelName("testModelName" + genericVnfCounter);
                modelInfoGenericVnf.setModelCustomizationUuid("testModelCustomizationUUID" + genericVnfCounter);
                modelInfoGenericVnf.setModelInvariantUuid("testModelInvariantUUID" + genericVnfCounter);
                modelInfoGenericVnf.setModelVersion("testModelVersion" + genericVnfCounter);
                modelInfoGenericVnf.setModelUuid("testModelUUID" + genericVnfCounter);
+               modelInfoGenericVnf.setModelInstanceName("testModelInstanceName" + genericVnfCounter);
                genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
                genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
-               
+
                return genericVnf;
        }
                return genericVnf;
        }
-       
+
        public GenericVnf setGenericVnf() {
                GenericVnf genericVnf = buildGenericVnf();
        public GenericVnf setGenericVnf() {
                GenericVnf genericVnf = buildGenericVnf();
-               
+
                ServiceInstance serviceInstance = null;
                ServiceInstance serviceInstance = null;
-               
+
                try {
                        serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                } catch(BBObjectNotFoundException e) {
                        serviceInstance = setServiceInstance();
                }
                try {
                        serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                } catch(BBObjectNotFoundException e) {
                        serviceInstance = setServiceInstance();
                }
-               
+
                serviceInstance.getVnfs().add(genericVnf);
                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, genericVnf.getVnfId());
                serviceInstance.getVnfs().add(genericVnf);
                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, genericVnf.getVnfId());
-               
+
                return genericVnf;
        }
                return genericVnf;
        }
-       
+
        public VfModule buildVfModule() {
                vfModuleCounter++;
        public VfModule buildVfModule() {
                vfModuleCounter++;
-               
+
                VfModule vfModule = new VfModule();
                vfModule.setVfModuleId("testVfModuleId" + vfModuleCounter);
                vfModule.setVfModuleName("testVfModuleName" + vfModuleCounter);
                VfModule vfModule = new VfModule();
                vfModule.setVfModuleId("testVfModuleId" + vfModuleCounter);
                vfModule.setVfModuleName("testVfModuleName" + vfModuleCounter);
-               
+
                ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
                modelInfoVfModule.setModelInvariantUUID("testModelInvariantUUID" + vfModuleCounter);
                modelInfoVfModule.setModelVersion("testModelVersion" + vfModuleCounter);
                ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
                modelInfoVfModule.setModelInvariantUUID("testModelInvariantUUID" + vfModuleCounter);
                modelInfoVfModule.setModelVersion("testModelVersion" + vfModuleCounter);
@@ -510,128 +511,128 @@ public class BuildingBlockTestDataSetup{
                modelInfoVfModule.setModelName("testModelName" + vfModuleCounter);
                modelInfoVfModule.setModelCustomizationUUID("testModelCustomizationUUID" + vfModuleCounter);
                vfModule.setModelInfoVfModule(modelInfoVfModule);
                modelInfoVfModule.setModelName("testModelName" + vfModuleCounter);
                modelInfoVfModule.setModelCustomizationUUID("testModelCustomizationUUID" + vfModuleCounter);
                vfModule.setModelInfoVfModule(modelInfoVfModule);
-               
+
                return vfModule;
        }
                return vfModule;
        }
-       
+
        public VfModule setVfModule() {
                VfModule vfModule = buildVfModule();
        public VfModule setVfModule() {
                VfModule vfModule = buildVfModule();
-               
+
                GenericVnf genericVnf = null;
                GenericVnf genericVnf = null;
-               
+
                try {
                        genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
                } catch(BBObjectNotFoundException e) {
                        genericVnf = setGenericVnf();
                }
                try {
                        genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
                } catch(BBObjectNotFoundException e) {
                        genericVnf = setGenericVnf();
                }
-               
+
                genericVnf.getVfModules().add(vfModule);
                lookupKeyMap.put(ResourceKey.VF_MODULE_ID, vfModule.getVfModuleId());
                genericVnf.getVfModules().add(vfModule);
                lookupKeyMap.put(ResourceKey.VF_MODULE_ID, vfModule.getVfModuleId());
-               
+
                return vfModule;
        }
                return vfModule;
        }
-       
+
        public VolumeGroup buildVolumeGroup() {
                volumeGroupCounter++;
        public VolumeGroup buildVolumeGroup() {
                volumeGroupCounter++;
-               
+
                VolumeGroup volumeGroup = new VolumeGroup();
                volumeGroup.setVolumeGroupId("testVolumeGroupId" + volumeGroupCounter);
                volumeGroup.setVolumeGroupName("testVolumeGroupName" + volumeGroupCounter);
                volumeGroup.setHeatStackId("testHeatStackId" + volumeGroupCounter);
                VolumeGroup volumeGroup = new VolumeGroup();
                volumeGroup.setVolumeGroupId("testVolumeGroupId" + volumeGroupCounter);
                volumeGroup.setVolumeGroupName("testVolumeGroupName" + volumeGroupCounter);
                volumeGroup.setHeatStackId("testHeatStackId" + volumeGroupCounter);
-               
+
                return volumeGroup;
        }
                return volumeGroup;
        }
-       
+
        public VolumeGroup setVolumeGroup() {
                VolumeGroup volumeGroup = buildVolumeGroup();
        public VolumeGroup setVolumeGroup() {
                VolumeGroup volumeGroup = buildVolumeGroup();
-               
+
                GenericVnf genericVnf = null;
                GenericVnf genericVnf = null;
-               
+
                try {
                        genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
                } catch(BBObjectNotFoundException e) {
                        genericVnf = setGenericVnf();
                }
                try {
                        genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
                } catch(BBObjectNotFoundException e) {
                        genericVnf = setGenericVnf();
                }
-               
+
                genericVnf.getVolumeGroups().add(volumeGroup);
                lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, volumeGroup.getVolumeGroupId());
                genericVnf.getVolumeGroups().add(volumeGroup);
                lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, volumeGroup.getVolumeGroupId());
-               
+
                return volumeGroup;
        }
                return volumeGroup;
        }
-       
+
        public Pnf buildPnf() {
                pnfCounter++;
        public Pnf buildPnf() {
                pnfCounter++;
-               
+
                Pnf pnf = new Pnf();
                pnf.setPnfId("testPnfId" + pnfCounter);
                pnf.setPnfName("testPnfName" + pnfCounter);
                Pnf pnf = new Pnf();
                pnf.setPnfId("testPnfId" + pnfCounter);
                pnf.setPnfName("testPnfName" + pnfCounter);
-               
+
                return pnf;
        }
                return pnf;
        }
-       
+
        public ServiceProxy buildServiceProxy() {
                serviceProxyCounter++;
        public ServiceProxy buildServiceProxy() {
                serviceProxyCounter++;
-               
+
         ServiceProxy serviceProxy = new ServiceProxy();
         serviceProxy.setServiceInstance(buildServiceInstance());
         serviceProxy.getServiceInstance().getVnfs().add(buildGenericVnf());
         ServiceProxy serviceProxy = new ServiceProxy();
         serviceProxy.setServiceInstance(buildServiceInstance());
         serviceProxy.getServiceInstance().getVnfs().add(buildGenericVnf());
-        
+
         Pnf primaryPnf = buildPnf();
         primaryPnf.setRole("Primary");
         serviceProxy.getServiceInstance().getPnfs().add(primaryPnf);
         Pnf primaryPnf = buildPnf();
         primaryPnf.setRole("Primary");
         serviceProxy.getServiceInstance().getPnfs().add(primaryPnf);
-        
+
         Pnf secondaryPnf = buildPnf();
         secondaryPnf.setRole("Secondary");
         serviceProxy.getServiceInstance().getPnfs().add(secondaryPnf);
         Pnf secondaryPnf = buildPnf();
         secondaryPnf.setRole("Secondary");
         serviceProxy.getServiceInstance().getPnfs().add(secondaryPnf);
-        
+
         return serviceProxy;
        }
         return serviceProxy;
        }
-       
+
        public VpnBondingLink buildVpnBondingLink() {
                vpnBondingLinkCounter++;
        public VpnBondingLink buildVpnBondingLink() {
                vpnBondingLinkCounter++;
-               
+
                VpnBondingLink vpnBondingLink = new VpnBondingLink();
                vpnBondingLink.setVpnBondingLinkId("testVpnBondingLinkId" + vpnBondingLinkCounter);
                VpnBondingLink vpnBondingLink = new VpnBondingLink();
                vpnBondingLink.setVpnBondingLinkId("testVpnBondingLinkId" + vpnBondingLinkCounter);
-               
+
                Configuration vnrConfiguration = buildConfiguration();
                Configuration vnrConfiguration = buildConfiguration();
-               vnrConfiguration.setNetwork(buildL3Network());          
+               vnrConfiguration.setNetwork(buildL3Network());
                vpnBondingLink.setVnrConfiguration(vnrConfiguration);
 
                vpnBondingLink.setVrfConfiguration(buildConfiguration());
                vpnBondingLink.setVnrConfiguration(vnrConfiguration);
 
                vpnBondingLink.setVrfConfiguration(buildConfiguration());
-               
+
         vpnBondingLink.setInfrastructureServiceProxy(buildServiceProxy());
         vpnBondingLink.setInfrastructureServiceProxy(buildServiceProxy());
-        
+
         vpnBondingLink.setTransportServiceProxy(buildServiceProxy());
         vpnBondingLink.setTransportServiceProxy(buildServiceProxy());
-               
+
                return vpnBondingLink;
        }
                return vpnBondingLink;
        }
-       
+
        public VpnBondingLink setVpnBondingLink() {
                VpnBondingLink vpnBondingLink = buildVpnBondingLink();
        public VpnBondingLink setVpnBondingLink() {
                VpnBondingLink vpnBondingLink = buildVpnBondingLink();
-               
+
                ServiceInstance serviceInstance = null;
                ServiceInstance serviceInstance = null;
-               
+
                try {
                        serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                } catch(BBObjectNotFoundException e) {
                        serviceInstance = setServiceInstance();
                }
                try {
                        serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
                } catch(BBObjectNotFoundException e) {
                        serviceInstance = setServiceInstance();
                }
-               
+
                serviceInstance.getVpnBondingLinks().add(vpnBondingLink);
                lookupKeyMap.put(ResourceKey.VPN_BONDING_LINK_ID, vpnBondingLink.getVpnBondingLinkId());
 
 
                return vpnBondingLink;
        }
                serviceInstance.getVpnBondingLinks().add(vpnBondingLink);
                lookupKeyMap.put(ResourceKey.VPN_BONDING_LINK_ID, vpnBondingLink.getVpnBondingLinkId());
 
 
                return vpnBondingLink;
        }
-       
+
        public Customer setAvpnCustomer() {
                Customer customer = buildCustomer();
        public Customer setAvpnCustomer() {
                Customer customer = buildCustomer();
-               
+
                gBBInput.setCustomer(customer);
                gBBInput.setCustomer(customer);
-               
+
                return customer;
        }
                return customer;
        }
-       
+
        public ServiceProxy setServiceProxy(String uniqueIdentifier, String type) {
                ServiceProxy serviceProxy = new ServiceProxy();
                serviceProxy.setId("testProxyId" + uniqueIdentifier);
        public ServiceProxy setServiceProxy(String uniqueIdentifier, String type) {
                ServiceProxy serviceProxy = new ServiceProxy();
                serviceProxy.setId("testProxyId" + uniqueIdentifier);
@@ -642,6 +643,7 @@ public class BuildingBlockTestDataSetup{
                modelInfo.setModelName("testProxyModelName" + uniqueIdentifier);
                modelInfo.setModelUuid("testProxyModelUuid" + uniqueIdentifier);
                modelInfo.setModelVersion("testProxyModelVersion" + uniqueIdentifier);
                modelInfo.setModelName("testProxyModelName" + uniqueIdentifier);
                modelInfo.setModelUuid("testProxyModelUuid" + uniqueIdentifier);
                modelInfo.setModelVersion("testProxyModelVersion" + uniqueIdentifier);
+               modelInfo.setModelInstanceName("testProxyModelInstanceName" + uniqueIdentifier);
 
                serviceProxy.setModelInfoServiceProxy(modelInfo);
 
 
                serviceProxy.setModelInfoServiceProxy(modelInfo);
 
@@ -653,13 +655,14 @@ public class BuildingBlockTestDataSetup{
                ar.setId("testAllottedResourceId" + uniqueIdentifier);
 
                ModelInfoAllottedResource modelInfo = new ModelInfoAllottedResource();
                ar.setId("testAllottedResourceId" + uniqueIdentifier);
 
                ModelInfoAllottedResource modelInfo = new ModelInfoAllottedResource();
-               modelInfo.setModelInvariantUuid("testProxyModelInvariantUuid" + uniqueIdentifier);
-               modelInfo.setModelName("testProxyModelName" + uniqueIdentifier);
-               modelInfo.setModelUuid("testProxyModelUuid" + uniqueIdentifier);
-               modelInfo.setModelVersion("testProxyModelVersion" + uniqueIdentifier);
-               
+               modelInfo.setModelInvariantUuid("testAllottedModelInvariantUuid" + uniqueIdentifier);
+               modelInfo.setModelName("testAllottedModelName" + uniqueIdentifier);
+               modelInfo.setModelUuid("testAllottedModelUuid" + uniqueIdentifier);
+               modelInfo.setModelVersion("testAllottedModelVersion" + uniqueIdentifier);
+               modelInfo.setModelInstanceName("testAllottedModelInstanceName" + uniqueIdentifier);
+
                ar.setModelInfoAllottedResource(modelInfo);
                ar.setModelInfoAllottedResource(modelInfo);
-               
+
                return ar;
        }
 }
\ No newline at end of file
                return ar;
        }
 }
\ No newline at end of file
index 4626615..e36029c 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -59,6 +59,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 
+//TODO this class should be in so-bpmn-tasks
 public class SniroHomingV2Test extends BaseTest{
 
        private ServiceInstance serviceInstance;
 public class SniroHomingV2Test extends BaseTest{
 
        private ServiceInstance serviceInstance;
@@ -127,7 +128,7 @@ public class SniroHomingV2Test extends BaseTest{
                sniroHoming.callSniro(execution);
 
                String request = FileUtil.readResourceFile(RESOURCE_PATH + "SniroManagerRequest1Vpn.json");
                sniroHoming.callSniro(execution);
 
                String request = FileUtil.readResourceFile(RESOURCE_PATH + "SniroManagerRequest1Vpn.json");
-               request = request.replace("28080", wireMockPort);
+               //request = request.replace("28080", wireMockPort);
 
                ArgumentCaptor<SniroManagerRequest> argument = ArgumentCaptor.forClass(SniroManagerRequest.class);
                verify(sniroClient, times(1)).postDemands(argument.capture());
 
                ArgumentCaptor<SniroManagerRequest> argument = ArgumentCaptor.forClass(SniroManagerRequest.class);
                verify(sniroClient, times(1)).postDemands(argument.capture());
@@ -148,7 +149,7 @@ public class SniroHomingV2Test extends BaseTest{
                sniroHoming.callSniro(execution);
 
                String request = FileUtil.readResourceFile(RESOURCE_PATH + "SniroManagerRequest3Vpn.json");
                sniroHoming.callSniro(execution);
 
                String request = FileUtil.readResourceFile(RESOURCE_PATH + "SniroManagerRequest3Vpn.json");
-               request = request.replace("28080", wireMockPort);
+               //request = request.replace("28080", wireMockPort);
 
                ArgumentCaptor<SniroManagerRequest> argument = ArgumentCaptor.forClass(SniroManagerRequest.class);
                verify(sniroClient, times(1)).postDemands(argument.capture());
 
                ArgumentCaptor<SniroManagerRequest> argument = ArgumentCaptor.forClass(SniroManagerRequest.class);
                verify(sniroClient, times(1)).postDemands(argument.capture());
@@ -167,7 +168,7 @@ public class SniroHomingV2Test extends BaseTest{
                sniroHoming.callSniro(execution);
 
                String request = FileUtil.readResourceFile(RESOURCE_PATH + "SniroManagerRequest3AR.json");
                sniroHoming.callSniro(execution);
 
                String request = FileUtil.readResourceFile(RESOURCE_PATH + "SniroManagerRequest3AR.json");
-               request = request.replace("28080", wireMockPort);
+               //request = request.replace("28080", wireMockPort);
 
                ArgumentCaptor<SniroManagerRequest> argument = ArgumentCaptor.forClass(SniroManagerRequest.class);
                verify(sniroClient, times(1)).postDemands(argument.capture());
 
                ArgumentCaptor<SniroManagerRequest> argument = ArgumentCaptor.forClass(SniroManagerRequest.class);
                verify(sniroClient, times(1)).postDemands(argument.capture());
index 2d102af..1aa046c 100644 (file)
@@ -126,30 +126,6 @@ mso:
           version: '9'
         generic-vnf:
           version: '9'
           version: '9'
         generic-vnf:
           version: '9'
-        v8:
-          customer:
-            uri: /aai/v8/business/customers/customer
-          generic-query:
-            uri: /aai/v8/search/generic-query
-          l3-network:
-            uri: /aai/v8/network/l3-networks/l3-network
-          network-policy:
-            uri: /aai/v8/network/network-policies/network-policy
-          nodes-query:
-            uri: /aai/v8/search/nodes-query
-          route-table-reference:
-            uri: /aai/v8/network/route-table-references/route-table-reference
-          tenant:
-            uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
-          vce:
-            uri: /aai/v8/network/vces/vce
-          vpn-binding:
-            uri: /aai/v8/network/vpn-bindings/vpn-binding
-        v9:
-          cloud-region:
-            uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic
-          generic-vnf:
-            uri: /aai/v9/network/generic-vnfs/generic-vnf
     global:
       default:
         aai:
     global:
       default:
         aai:
index d665de2..bdb44ca 100644 (file)
@@ -280,6 +280,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
 
                        String requestId = execution.getVariable("mso-request-id")
                        String source = execution.getVariable(Prefix + "source")
 
                        String requestId = execution.getVariable("mso-request-id")
                        String source = execution.getVariable(Prefix + "source")
+                       String networkId = execution.getVariable("networkId") !=null ? execution.getVariable("networkId") : ""
 
                        String msoCompletionRequest =
                                """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.onap/so/workflow/schema/v1"
 
                        String msoCompletionRequest =
                                """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.onap/so/workflow/schema/v1"
@@ -290,6 +291,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor {
                                                        <source>VID</source>
                                                </request-info>
                                                <aetgt:status-message>Network has been created successfully.</aetgt:status-message>
                                                        <source>VID</source>
                                                </request-info>
                                                <aetgt:status-message>Network has been created successfully.</aetgt:status-message>
+                        <aetgt:networkId>${MsoUtils.xmlEscape(networkId)}</aetgt:networkId>
                                                <aetgt:mso-bpel-name>BPMN Network action: CREATE</aetgt:mso-bpel-name>
                                        </aetgt:MsoCompletionRequest>"""
 
                                                <aetgt:mso-bpel-name>BPMN Network action: CREATE</aetgt:mso-bpel-name>
                                        </aetgt:MsoCompletionRequest>"""
 
index 6acabe1..ffac4c0 100644 (file)
@@ -186,6 +186,10 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
+                       
+                       def cloudOwner  = cloudConfiguration.cloudOwner
+                       execution.setVariable(prefix + 'cloudOwner', cloudOwner)
+                       
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable(prefix + 'tenantId', tenantId)
                        
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable(prefix + 'tenantId', tenantId)
                        
index aa56965..965d178 100644 (file)
@@ -109,6 +109,10 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
                def lcpCloudRegionId = requestMap.requestDetails.cloudConfiguration.lcpCloudRegionId
                execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
                
                def lcpCloudRegionId = requestMap.requestDetails.cloudConfiguration.lcpCloudRegionId
                execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
                
+               // cloudOwner
+               def cloudOwner = requestMap.requestDetails.cloudConfiguration.cloudOwner
+               execution.setVariable('cloudOwner', cloudOwner)
+               
                // tenant
                def tenantId = requestMap.requestDetails.cloudConfiguration.tenantId
                execution.setVariable('tenantId', tenantId)
                // tenant
                def tenantId = requestMap.requestDetails.cloudConfiguration.tenantId
                execution.setVariable('tenantId', tenantId)
index 2cbfeac..7ddfdec 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -30,11 +30,16 @@ import org.onap.so.bpmn.common.scripts.MsoUtils
 import org.onap.so.bpmn.common.scripts.VidUtils;
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.common.scripts.VidUtils;
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.constants.Defaults
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 
+
 import groovy.json.JsonSlurper
 
 /**
 import groovy.json.JsonSlurper
 
 /**
@@ -135,7 +140,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
                execution.setVariable('DELVfModVol_cloudRegion', utils.getNodeText(request, 'aic-cloud-region'))
 
                setBasicDBAuthHeader(execution, isDebugLogEnabled)
                execution.setVariable('DELVfModVol_cloudRegion', utils.getNodeText(request, 'aic-cloud-region'))
 
                setBasicDBAuthHeader(execution, isDebugLogEnabled)
-               
+
                msoLogger.debug('Request: ' + createVolumeIncoming)
        }
 
                msoLogger.debug('Request: ' + createVolumeIncoming)
        }
 
@@ -184,12 +189,12 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
 
                String cloudRegion = execution.getVariable('DELVfModVol_cloudRegion')
 
 
                String cloudRegion = execution.getVariable('DELVfModVol_cloudRegion')
 
-               String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                AaiUtil aaiUtil = new AaiUtil(this)
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aai_uri = aaiUtil.getCloudInfrastructureCloudRegionUri(execution)
-               String queryCloudRegionRequest = "${aai_endpoint}${aai_uri}/" + cloudRegion
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, Defaults.CLOUD_OWNER.toString(), cloudRegion)
+               def queryCloudRegionRequest = aaiUtil.createAaiUri(uri)
+
                execution.setVariable("DELVfModVol_queryCloudRegionRequest", queryCloudRegionRequest)
                execution.setVariable("DELVfModVol_queryCloudRegionRequest", queryCloudRegionRequest)
-               msoLogger.debug(" DELVfModVol_queryCloudRegionRequest - " + "\n" + queryCloudRegionRequest)
 
                cloudRegion = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
 
 
                cloudRegion = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
 
@@ -229,8 +234,9 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
                String cloudRegion = execution.getVariable('DELVfModVol_aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
                String cloudRegion = execution.getVariable('DELVfModVol_aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String queryAAIVolumeGroupRequest = aaiEndpoint + '/' + URLEncoder.encode(cloudRegion, "UTF-8") + "/volume-groups/volume-group/" + UriUtils.encode(volumeGroupId, "UTF-8")
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, volumeGroupId)
+               def queryAAIVolumeGroupRequest = aaiUtil.createAaiUri(uri)
 
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
 
 
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
 
@@ -351,7 +357,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
                def serviceId = execution.getVariable('DELVfModVol_serviceId')
 
                def messageId = execution.getVariable('DELVfModVol_messageId')
                def serviceId = execution.getVariable('DELVfModVol_serviceId')
 
                def messageId = execution.getVariable('DELVfModVol_messageId')
-               def notificationUrl = createCallbackURL(execution, "VNFAResponse", messageId) 
+               def notificationUrl = createCallbackURL(execution, "VNFAResponse", messageId)
                def useQualifiedHostName = UrnPropertiesReader.getVariable("mso.use.qualified.host", execution)
                if ('true'.equals(useQualifiedHostName)) {
                                notificationUrl = utils.getQualifiedHostNameForCallback(notificationUrl)
                def useQualifiedHostName = UrnPropertiesReader.getVariable("mso.use.qualified.host", execution)
                if ('true'.equals(useQualifiedHostName)) {
                                notificationUrl = utils.getQualifiedHostNameForCallback(notificationUrl)
@@ -388,8 +394,9 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
                String cloudRegion = execution.getVariable('DELVfModVol_aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
                String cloudRegion = execution.getVariable('DELVfModVol_aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String deleteAAIVolumeGrpIdRequest = aaiEndpoint + '/' + URLEncoder.encode(cloudRegion, "UTF-8")  + "/volume-groups/volume-group/" +  UriUtils.encode(groupId, "UTF-8")
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).queryParam("resource-version", resourceVersion)
+               def deleteAAIVolumeGrpIdRequest = aaiUtil.createAaiUri(uri)
 
                if(resourceVersion !=null){
                        deleteAAIVolumeGrpIdRequest = deleteAAIVolumeGrpIdRequest +'?resource-version=' + UriUtils.encode(resourceVersion, 'UTF-8')
 
                if(resourceVersion !=null){
                        deleteAAIVolumeGrpIdRequest = deleteAAIVolumeGrpIdRequest +'?resource-version=' + UriUtils.encode(resourceVersion, 'UTF-8')
@@ -436,7 +443,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
                        requestStatus = "FAILURE"
                        progress = ""
                }
                        requestStatus = "FAILURE"
                        progress = ""
                }
-               
+
                String updateInfraRequest = """
                        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                                        xmlns:req="http://org.onap.so/requestsdb">
                String updateInfraRequest = """
                        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                                        xmlns:req="http://org.onap.so/requestsdb">
index b6a02f2..856ff6c 100644 (file)
@@ -152,26 +152,15 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
                                oStatus = "Created"
                        }
 
                                oStatus = "Created"
                        }
 
-                       String statusLine = isBlank(oStatus) ? "" : "<orchestration-status>${MsoUtils.xmlEscape(oStatus)}</orchestration-status>"
-
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution)
-                       String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri)
-                       String serviceInstanceData =
-                                       """<service-instance xmlns=\"${namespace}\">
-                               <service-instance-id>${MsoUtils.xmlEscape(serviceInstanceId)}</service-instance-id>
-                               <service-instance-name>${MsoUtils.xmlEscape(serviceInstanceName)}</service-instance-name>
-                                       <service-type>${MsoUtils.xmlEscape(aaiServiceType)}</service-type>
-                                       <service-role>${MsoUtils.xmlEscape(aaiServiceRole)}</service-role>
-                                       ${statusLine}
-                                   <model-invariant-id>${MsoUtils.xmlEscape(modelInvariantUuid)}</model-invariant-id>
-                                   <model-version-id>${MsoUtils.xmlEscape(modelUuid)}</model-version-id>
-                                   <input-parameters>${MsoUtils.xmlEscape(uuiRequest)}</input-parameters>
-                                       </service-instance>""".trim()
-                       execution.setVariable("serviceInstanceData", serviceInstanceData)
-                       msoLogger.debug(serviceInstanceData)
-                       msoLogger.info(" aai_uri " + aai_uri + " namespace:" + namespace)
-                       msoLogger.info(" 'payload' to create Service Instance in AAI - " + "\n" + serviceInstanceData)
+                       org.onap.aai.domain.yang.ServiceInstance si = new org.onap.aai.domain.yang.ServiceInstance()
+                       si.setServiceInstanceName(serviceInstanceName)
+                       si.setServiceType(aaiServiceType)
+                       si.setServiceRole(aaiServiceRole)
+                       si.setOrchestrationStatus(oStatus)
+                       si.setModelInvariantId(modelInvariantUuid)
+                       si.setModelVersionId(modelUuid)
+                       si.setInputParameters(uuiRequest)
+                       execution.setVariable("serviceInstanceData", si)
 
                } catch (BpmnError e) {
                        throw e;
 
                } catch (BpmnError e) {
                        throw e;
@@ -273,41 +262,35 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
        }
 
        //TODO use create if not exist
        }
 
        //TODO use create if not exist
-       public void postProcessAAIPUT(DelegateExecution execution) {
-               msoLogger.trace("postProcessAAIPUT ")
+       public void createServiceInstance(DelegateExecution execution) {
+               msoLogger.trace("createServiceInstance ")
                String msg = ""
                String msg = ""
+               String serviceInstanceId = UUID.randomUUID().toString()
                try {
                try {
-                       String serviceInstanceId = execution.getVariable("serviceInstanceId")
-                       boolean succInAAI = execution.getVariable("GENPS_SuccessIndicator")
-                       if(!succInAAI){
-                               msoLogger.info("Error putting Service-instance in AAI", + serviceInstanceId)
-                               WorkflowException workflowException = execution.getVariable("WorkflowException")
-                               msoLogger.debug("workflowException: " + workflowException)
-                               if(workflowException != null){
-                                       exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage())
-                               }
-                       }
-                       else
-                       {
-                               //start rollback set up
-                               RollbackData rollbackData = new RollbackData()
-                               def disableRollback = execution.getVariable("disableRollback")
-                               rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
-                               rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
-                               rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", serviceInstanceId)
-                               rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", execution.getVariable("subscriptionServiceType"))
-                               rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))
-                               execution.setVariable("rollbackData", rollbackData)
-                       }
+                       org.onap.aai.domain.yang.ServiceInstance si = execution.getVariable("serviceInstanceData")
+
+                       AAIResourcesClient client = new AAIResourcesClient()
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, execution.getVariable("globalSubscriberId"), execution.getVariable("serviceType"), serviceInstanceId)
+                       client.create(uri, si)
 
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex) {
 
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex) {
-                       msg = "Exception in DoCreateServiceInstance.postProcessAAIDEL. " + ex.getMessage()
+                       //start rollback set up
+                       RollbackData rollbackData = new RollbackData()
+                       def disableRollback = execution.getVariable("disableRollback")
+                       rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
+                       rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
+                       rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", serviceInstanceId)
+                       rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", execution.getVariable("subscriptionServiceType"))
+                       rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))
+                       execution.setVariable("rollbackData", rollbackData)
+
+                       msg = "Exception in DoCreateServiceInstance.createServiceInstance. " + ex.getMessage()
                        msoLogger.info(msg)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                }
                        msoLogger.info(msg)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                }
-               msoLogger.trace("Exit postProcessAAIPUT ")
+               msoLogger.trace("Exit createServiceInstance ")
        }
 
        /**
        }
 
        /**
@@ -469,7 +452,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
         msoLogger.trace("COMPLETED preInitResourcesOperStatus Process ")
        }
 
         msoLogger.trace("COMPLETED preInitResourcesOperStatus Process ")
        }
 
-       // if site location is in local Operator, create all resources in local ONAP; 
+       // if site location is in local Operator, create all resources in local ONAP;
        // if site location is in 3rd Operator, only process sp-partner to create all resources in 3rd ONAP
        public void doProcessSiteLocation(DelegateExecution execution){
                msoLogger.trace("======== Start doProcessSiteLocation Process ======== ")
        // if site location is in 3rd Operator, only process sp-partner to create all resources in 3rd ONAP
        public void doProcessSiteLocation(DelegateExecution execution){
                msoLogger.trace("======== Start doProcessSiteLocation Process ======== ")
index 731d9c2..51574f6 100644 (file)
@@ -20,6 +20,8 @@
 
 package org.onap.so.bpmn.infrastructure.scripts;
 
 
 package org.onap.so.bpmn.infrastructure.scripts;
 
+import javax.ws.rs.core.UriBuilder
+
 import org.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
@@ -33,22 +35,27 @@ import org.onap.so.bpmn.common.scripts.VidUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
-import org.onap.so.logger.MsoLogger
-import org.onap.so.rest.APIResponse;
-import org.springframework.web.util.UriUtils
-import org.onap.so.client.aai.AAIResourcesClient
+import org.onap.so.client.aai.AAIObjectPlurals
 import org.onap.so.client.aai.AAIObjectType
 import org.onap.so.client.aai.AAIObjectType
-import org.onap.so.client.aai.entities.AAIResultWrapper
-import org.onap.so.client.aai.entities.Relationships
+import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory
-import org.json.JSONObject
+import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.graphinventory.entities.uri.Depth
+import org.onap.so.constants.Defaults
+import org.onap.so.logger.MsoLogger
+import org.onap.so.rest.APIResponse;
+import org.springframework.web.util.UriUtils
+import org.onap.aai.domain.yang.VpnBinding
+import org.onap.aai.domain.yang.RouteTarget
+
+import com.fasterxml.jackson.jaxrs.util.EndpointAsBeanProperty
+
 import javax.ws.rs.NotFoundException
 
 import groovy.json.*
 import groovy.xml.XmlUtil
 
 import javax.ws.rs.NotFoundException
 
 import groovy.json.*
 import groovy.xml.XmlUtil
 
-
 /**
  * This groovy class supports the <class>DoCreateNetworkInstance.bpmn</class> process.
  *
 /**
  * This groovy class supports the <class>DoCreateNetworkInstance.bpmn</class> process.
  *
@@ -360,8 +367,11 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                // Prepare AA&I url with network-name
                String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                AaiUtil aaiUriUtil = new AaiUtil(this)
                // Prepare AA&I url with network-name
                String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                AaiUtil aaiUriUtil = new AaiUtil(this)
-               String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-               String queryAAINameRequest = "${aai_endpoint}${aai_uri}" + "?network-name=" + networkName
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L3_NETWORK)
+               uri.queryParam("network-name", networkName)
+               String queryAAINameRequest = aaiUriUtil.createAaiUri(uri)
+
                execution.setVariable(Prefix + "queryNameAAIRequest", queryAAINameRequest)
                msoLogger.debug(Prefix + "queryNameAAIRequest - " + "\n" + queryAAINameRequest)
 
                execution.setVariable(Prefix + "queryNameAAIRequest", queryAAINameRequest)
                msoLogger.debug(Prefix + "queryNameAAIRequest - " + "\n" + queryAAINameRequest)
 
@@ -429,15 +439,14 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                try {
                        String networkInputs  = execution.getVariable(Prefix + "networkInputs")
                        String cloudRegion = utils.getNodeText(networkInputs, "aic-cloud-region")
                try {
                        String networkInputs  = execution.getVariable(Prefix + "networkInputs")
                        String cloudRegion = utils.getNodeText(networkInputs, "aic-cloud-region")
-                       cloudRegion = UriUtils.encode(cloudRegion,"UTF-8")
 
                        // Prepare AA&I url
 
                        // Prepare AA&I url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUtil = new AaiUtil(this)
                        AaiUtil aaiUtil = new AaiUtil(this)
-                       String aai_uri = aaiUtil.getCloudInfrastructureCloudRegionUri(execution)
-                       String queryCloudRegionRequest = "${aai_endpoint}${aai_uri}/" + cloudRegion
+
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, Defaults.CLOUD_OWNER.toString(), cloudRegion)
+                       def queryCloudRegionRequest = aaiUtil.createAaiUri(uri)
+
                        execution.setVariable(Prefix + "queryCloudRegionRequest", queryCloudRegionRequest)
                        execution.setVariable(Prefix + "queryCloudRegionRequest", queryCloudRegionRequest)
-                       msoLogger.debug(Prefix + "queryCloudRegionRequest - " + "\n" + queryCloudRegionRequest)
 
                        String cloudRegionPo = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
                        String cloudRegionSdnc = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "SDNC", cloudRegion)
 
                        String cloudRegionPo = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
                        String cloudRegionSdnc = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "SDNC", cloudRegion)
@@ -508,11 +517,11 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
 
                        networkId = UriUtils.encode(networkId,"UTF-8")
 
 
                        networkId = UriUtils.encode(networkId,"UTF-8")
 
-                       // Prepare AA&I url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                       String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
+                       uri.depth(Depth.ALL)
+                       String queryIdAAIRequest = aaiUriUtil.createAaiUri(uri)
+
                        execution.setVariable(Prefix + "queryIdAAIRequest", queryIdAAIRequest)
                        msoLogger.debug(Prefix + "queryIdAAIRequest - " + "\n" + queryIdAAIRequest)
 
                        execution.setVariable(Prefix + "queryIdAAIRequest", queryIdAAIRequest)
                        msoLogger.debug(Prefix + "queryIdAAIRequest - " + "\n" + queryIdAAIRequest)
 
@@ -580,10 +589,11 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                        networkId = UriUtils.encode(networkId,"UTF-8")
 
                        // Prepare AA&I url
                        networkId = UriUtils.encode(networkId,"UTF-8")
 
                        // Prepare AA&I url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                       String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
+                       uri.depth(Depth.ALL)
+                       String requeryIdAAIRequest = aaiUriUtil.createAaiUri(uri)
+
                        execution.setVariable(Prefix + "requeryIdAAIRequest", requeryIdAAIRequest)
                        msoLogger.debug(Prefix + "requeryIdAAIRequest - " + "\n" + requeryIdAAIRequest)
 
                        execution.setVariable(Prefix + "requeryIdAAIRequest", requeryIdAAIRequest)
                        msoLogger.debug(Prefix + "requeryIdAAIRequest - " + "\n" + requeryIdAAIRequest)
 
@@ -660,91 +670,37 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                        execution.setVariable(Prefix + "vpnCount", vpnCount)
                        msoLogger.debug(Prefix + "vpnCount - " + vpnCount)
 
                        execution.setVariable(Prefix + "vpnCount", vpnCount)
                        msoLogger.debug(Prefix + "vpnCount - " + vpnCount)
 
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-
                        if (vpnCount > 0) {
                                execution.setVariable(Prefix + "vpnBindings", vpnBindingUri)
                                msoLogger.debug(" vpnBindingUri List - " + vpnBindingUri)
 
                                String routeTargets = ""
                                // AII loop call using list vpnBindings
                        if (vpnCount > 0) {
                                execution.setVariable(Prefix + "vpnBindings", vpnBindingUri)
                                msoLogger.debug(" vpnBindingUri List - " + vpnBindingUri)
 
                                String routeTargets = ""
                                // AII loop call using list vpnBindings
-                               for (i in 0..vpnBindingUri.size()-1) {
-
+                               for(i in 0..vpnBindingUri.size()-1) {
                                        int counting = i+1
 
                                        int counting = i+1
 
-                                       // prepare url using vpnBinding
-                                       String queryVpnBindingAAIRequest = ""
-                                       String aai_uri = aaiUriUtil.getNetworkVpnBindingUri(execution)
-
-                                       // Note: By default, the vpnBinding url is found in 'related-link' of the response,
-                                       //       so, the default in URN mappings for this is set to "" (ie, space), unless forced to use the URN mapping.
-                                       if (aai_uri == null || aai_uri == "") {
-                                               // using value of 'related-link' from response
-                                               if (vpnBindingUri[i].charAt(vpnBindingUri[i].length()-1) == '/') {
-                                                   queryVpnBindingAAIRequest = "${aai_endpoint}" + vpnBindingUri[i].substring(0, vpnBindingUri[i].length()-1) + "?depth=all"
-                                               } else {
-                                                   queryVpnBindingAAIRequest = "${aai_endpoint}" + vpnBindingUri[i] + "?depth=all"
-                                               }
-
-                                       } else {
-                                           // using uri value in URN mapping
-                                               String vpnBindingId = vpnBindingUri[i].substring(vpnBindingUri[i].indexOf("/vpn-binding/")+13, vpnBindingUri[i].length())
-                                               if (vpnBindingId.charAt(vpnBindingId.length()-1) == '/') {
-                                                       vpnBindingId = vpnBindingId.substring(0, vpnBindingId.length()-1)
-                                               }
-                                           queryVpnBindingAAIRequest = "${aai_endpoint}${aai_uri}/" + vpnBindingId + "?depth=all"
+                                       String vpnBindingId = vpnBindingUri[i].substring(vpnBindingUri[i].indexOf("/vpn-binding/")+13, vpnBindingUri[i].length())
+                                       if (vpnBindingId.charAt(vpnBindingId.length()-1) == '/') {
+                                               vpnBindingId = vpnBindingId.substring(0, vpnBindingId.length()-1)
                                        }
 
                                        }
 
-                                       execution.setVariable(Prefix + "queryVpnBindingAAIRequest", queryVpnBindingAAIRequest)
-                                       msoLogger.debug(Prefix + "queryVpnBindingAAIRequest, , vpnBinding #" + counting + " : " + "\n" + queryVpnBindingAAIRequest)
-
-                                       APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryVpnBindingAAIRequest)
-                                       String returnCode = response.getStatusCode()
-                                       execution.setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", returnCode)
-                                       msoLogger.debug(" ***** AAI query vpn binding Response Code, vpnBinding #" + counting + " : " + returnCode)
-
-                                       String aaiResponseAsString = response.getResponseBodyAsString()
-
-                                       if (returnCode=='200') {
-                                               execution.setVariable(Prefix + "queryVpnBindingAAIResponse", aaiResponseAsString)
-                                               msoLogger.debug(" AAI Query Vpn Binding Success REST Response, , vpnBinding #" + counting + " : " + "\n" + aaiResponseAsString)
-
-                                               String routeTarget = ""
-                                               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.getNodeText(XmlUtil.serialize(aaiRouteTarget[j]), "global-route-target")
-                                                               routeRole  = utils.getNodeText(XmlUtil.serialize(aaiRouteTarget[j]), "route-target-role")
-                                                               routeTargets += "<routeTargets>" + '\n' +
-                                                                               " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' +
-                                                                                               " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' +
-                                                                                               "</routeTargets>" + '\n'
-                                                       }
-                                               }
-
-                                       } else {
-                                               if (returnCode=='404') {
-                                                       String dataErrorMessage = "Response Error from AAINetworkVpnBinding is 404 (Not Found)."
-                                                       msoLogger.debug(dataErrorMessage)
-                                                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
-                                               } else {
-                                                  if (aaiResponseAsString.contains("RESTFault")) {
-                                                          WorkflowException exceptionObject = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
-                                                          execution.setVariable("WorkflowException", exceptionObject)
-                                                          throw new BpmnError("MSOWorkflowException")
-
-                                                          } else {
-                                                                       // aai all errors
-                                                                       String dataErrorMessage = " Unexpected Response from AAINetworkVpnBinding - " + returnCode
-                                                                       msoLogger.debug(dataErrorMessage)
-                                                                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
-                                                         }
+                                       AAIResourcesClient resourceClient = new AAIResourcesClient()
+                                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VPN_BINDING, vpnBindingId)
+                                       AAIResultWrapper wrapper = resourceClient.get(uri.depth(Depth.TWO), NotFoundException.class)
+
+                                       Optional<VpnBinding> binding = wrapper.asBean(VpnBinding.class)
+
+                                       String routeTarget = ""
+                                       String routeRole = ""
+                                       if(binding.get().getRouteTargets() != null) {
+                                               List<RouteTarget> targets = binding.get().getRouteTargets().getRouteTarget()
+                                               for(RouteTarget target : targets) {
+                                                       routeTarget  = target.getGlobalRouteTarget()
+                                                       routeRole  = target.getRouteTargetRole()
+                                                       routeTargets += "<routeTargets>" + '\n' +
+                                                                       " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' +
+                                                                       " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' +
+                                                                       "</routeTargets>" + '\n'
                                                }
                                        }
 
                                                }
                                        }
 
@@ -756,8 +712,8 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", "200")
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", "200")
-                           String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                               String schemaVersion = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
+                               AaiUtil aaiUriUtil = new AaiUtil(this)
+                               String schemaVersion = aaiUriUtil.getNamespace()
                            String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <vpn-binding xmlns="${schemaVersion}">
                            String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <vpn-binding xmlns="${schemaVersion}">
@@ -771,9 +727,9 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
 
                        }
 
 
                        }
 
-               } catch (BpmnError e) {
-                       throw e;
-
+               } catch (NotFoundException e) {
+                       msoLogger.debug("Response Error from AAINetworkVpnBinding is 404 (Not Found).")
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Response Error from AAINetworkVpnBinding is 404 (Not Found).")
                } catch (Exception ex) {
                        String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. callRESTQueryAAINetworkVpnBinding() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                } catch (Exception ex) {
                        String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. callRESTQueryAAINetworkVpnBinding() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
@@ -801,7 +757,6 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                        execution.setVariable(Prefix + "networkPolicyCount", networkPolicyCount)
                        msoLogger.debug(Prefix + "networkPolicyCount - " + networkPolicyCount)
 
                        execution.setVariable(Prefix + "networkPolicyCount", networkPolicyCount)
                        msoLogger.debug(Prefix + "networkPolicyCount - " + networkPolicyCount)
 
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
 
                        if (networkPolicyCount > 0) {
                        AaiUtil aaiUriUtil = new AaiUtil(this)
 
                        if (networkPolicyCount > 0) {
@@ -814,31 +769,14 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
 
                                        int counting = i+1
 
 
                                        int counting = i+1
 
-                                       // prepare url using vpnBinding
-                                       String queryNetworkPolicyAAIRequest = ""
-
-                                       String aai_uri = aaiUriUtil.getNetworkPolicyUri(execution)
-
                                        // Note: By default, the network policy url is found in 'related-link' of the response,
                                        //       so, the default in URN mappings for this is set to "" (ie, space), unless forced to use the URN mapping.
                                        // Note: By default, the network policy url is found in 'related-link' of the response,
                                        //       so, the default in URN mappings for this is set to "" (ie, space), unless forced to use the URN mapping.
-                                       if (aai_uri == null || aai_uri == "") {
-                                               // using value of 'related-link' from response
-                                               if (networkPolicyUriList[i].charAt(networkPolicyUriList[i].length()-1) == '/') {
-                                                       queryNetworkPolicyAAIRequest = "${aai_endpoint}" + networkPolicyUriList[i].substring(0, networkPolicyUriList[i].length()-1) + "?depth=all"
-                                               } else {
-                                                       queryNetworkPolicyAAIRequest = "${aai_endpoint}" + networkPolicyUriList[i] + "?depth=all"
-                                               }
-                                       } else {
-                                               // using uri value in URN mapping
-                                               String networkPolicyId = networkPolicyUriList[i].substring(networkPolicyUriList[i].indexOf("/network-policy/")+16, networkPolicyUriList[i].length())
-                                               println " networkPolicyId - " + networkPolicyId
-                                               if (networkPolicyId.charAt(networkPolicyId.length()-1) == '/') {
-                                                       networkPolicyId = networkPolicyId.substring(0, networkPolicyId.length()-1)
-                                               }
-                                               queryNetworkPolicyAAIRequest = "${aai_endpoint}${aai_uri}/" + networkPolicyId + "?depth=all"
 
 
-                                       }
+                                       URI uri = UriBuilder.fromUri(networkPolicyUriList[i]).build()
 
 
+                                       AAIResourceUri aaiUri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.NETWORK_POLICY, uri)
+                                       aaiUri.depth(Depth.ALL)
+                                       String queryNetworkPolicyAAIRequest = aaiUriUtil.createAaiUri(aaiUri)
 
                                        execution.setVariable(Prefix + "queryNetworkPolicyAAIRequest", queryNetworkPolicyAAIRequest)
                                        msoLogger.debug(Prefix + "queryNetworkPolicyAAIRequest, , NetworkPolicy #" + counting + " : " + "\n" + queryNetworkPolicyAAIRequest)
 
                                        execution.setVariable(Prefix + "queryNetworkPolicyAAIRequest", queryNetworkPolicyAAIRequest)
                                        msoLogger.debug(Prefix + "queryNetworkPolicyAAIRequest, , NetworkPolicy #" + counting + " : " + "\n" + queryNetworkPolicyAAIRequest)
@@ -890,8 +828,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryNetworkPolicyReturnCode", "200")
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryNetworkPolicyReturnCode", "200")
-                               String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                               String schemaVersion = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
+                               String schemaVersion = aaiUriUtil.getNamespace()
                                String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <network-policy xmlns="${schemaVersion}">
                                String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <network-policy xmlns="${schemaVersion}">
@@ -949,30 +886,11 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                                        int counting = i+1
 
                                        // prepare url using tableRef
                                        int counting = i+1
 
                                        // prepare url using tableRef
-                                       String queryNetworkTableRefAAIRequest = ""
-
-                                       String aai_uri = aaiUriUtil.getNetworkTableReferencesUri(execution)
-
-                                       // Note: By default, the network policy url is found in 'related-link' of the response,
-                                       //       so, the default in URN mappings for this is set to "" (ie, space), unless forced to use the URN mapping.
-                                       if (aai_uri == null || aai_uri == "") {
-                                               // using value of 'related-link' from response
-                                               if (networkTableRefUriList[i].charAt(networkTableRefUriList[i].length()-1) == '/') {
-                                                       queryNetworkTableRefAAIRequest = "${aai_endpoint}" + networkTableRefUriList[i].substring(0, networkTableRefUriList[i].length()-1) + "?depth=all"
-                                               } else {
-                                                       queryNetworkTableRefAAIRequest = "${aai_endpoint}" + networkTableRefUriList[i] + "?depth=all"
-                                               }
-                                       } else {
-                                               // using uri value in URN mapping
-                                               String networkTableRefId = networkTableRefUriList[i].substring(networkTableRefUriList[i].indexOf("/route-table-reference/")+23, networkTableRefUriList[i].length())
-
-                                               if (networkTableRefId.charAt(networkTableRefId.length()-1) == '/') {
-                                                       networkTableRefId = networkTableRefId.substring(0, networkTableRefId.length()-1)
-                                               }
-                                               queryNetworkTableRefAAIRequest = "${aai_endpoint}${aai_uri}/" + networkTableRefId + "?depth=all"
-
-                                       }
+                                       URI uri = UriBuilder.fromUri(networkTableRefUriList[i]).build()
 
 
+                                       AAIResourceUri aaiUri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.ROUTE_TABLE_REFERENCE, uri)
+                                       aaiUri.depth(Depth.ALL)
+                                       String queryNetworkTableRefAAIRequest = aaiUriUtil.createAaiUri(aaiUri)
 
                                        execution.setVariable(Prefix + "queryNetworkTableRefAAIRequest", queryNetworkTableRefAAIRequest)
                                        msoLogger.debug(Prefix + "queryNetworkTableRefAAIRequest, , NetworkTableRef #" + counting + " : " + "\n" + queryNetworkTableRefAAIRequest)
 
                                        execution.setVariable(Prefix + "queryNetworkTableRefAAIRequest", queryNetworkTableRefAAIRequest)
                                        msoLogger.debug(Prefix + "queryNetworkTableRefAAIRequest, , NetworkTableRef #" + counting + " : " + "\n" + queryNetworkTableRefAAIRequest)
@@ -1024,8 +942,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryNetworkTableRefReturnCode", "200")
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryNetworkTableRefReturnCode", "200")
-                               String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                               String schemaVersion = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
+                               String schemaVersion = aaiUriUtil.getNamespace()
                                String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <route-table-references xmlns="${schemaVersion}">
                                String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <route-table-references xmlns="${schemaVersion}">
@@ -1066,16 +983,17 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
                        String createNetworkResponse   = execution.getVariable(Prefix + "createNetworkResponse")
 
                        // Prepare url
                        String createNetworkResponse   = execution.getVariable(Prefix + "createNetworkResponse")
 
                        // Prepare url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                       String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
+
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
+                       uri.depth(Depth.ALL)
+                       String updateContrailAAIUrlRequest = aaiUriUtil.createAaiUri(uri)
 
                        execution.setVariable(Prefix + "updateContrailAAIUrlRequest", updateContrailAAIUrlRequest)
                        msoLogger.debug(Prefix + "updateContrailAAIUrlRequest - " + "\n" + updateContrailAAIUrlRequest)
 
                        //Prepare payload (PUT)
 
                        execution.setVariable(Prefix + "updateContrailAAIUrlRequest", updateContrailAAIUrlRequest)
                        msoLogger.debug(Prefix + "updateContrailAAIUrlRequest - " + "\n" + updateContrailAAIUrlRequest)
 
                        //Prepare payload (PUT)
-                       String schemaVersion = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
+                       String schemaVersion = aaiUriUtil.getNamespaceFromUri(updateContrailAAIUrlRequest)
                        String payload = networkUtils.ContrailNetworkCreatedUpdate(requeryIdAAIResponse, createNetworkResponse, schemaVersion)
                        String payloadXml = utils.formatXml(payload)
                        execution.setVariable(Prefix + "updateContrailAAIPayloadRequest", payloadXml)
                        String payload = networkUtils.ContrailNetworkCreatedUpdate(requeryIdAAIResponse, createNetworkResponse, schemaVersion)
                        String payloadXml = utils.formatXml(payload)
                        execution.setVariable(Prefix + "updateContrailAAIPayloadRequest", payloadXml)
index b44940e..38836c3 100644 (file)
@@ -40,10 +40,15 @@ import org.onap.so.bpmn.core.domain.ServiceDecomposition
 import org.onap.so.bpmn.core.domain.ServiceInstance
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.infrastructure.aai.groovyflows.AAICreateResources
 import org.onap.so.bpmn.core.domain.ServiceInstance
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.infrastructure.aai.groovyflows.AAICreateResources
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.AAIResourcesClient
+import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
-import org.springframework.web.util.UriUtils
 
 import groovy.json.*
 
 
 import groovy.json.*
 
@@ -267,58 +272,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                        if (siParamsXml == null)
                                siParamsXml = ""
                        execution.setVariable("siParamsXml", siParamsXml)
                        if (siParamsXml == null)
                                siParamsXml = ""
                        execution.setVariable("siParamsXml", siParamsXml)
-
-                       //AAI PUT
-                       String oStatus = execution.getVariable("initialStatus") ?: "Active"
-                       if ("TRANSPORT".equalsIgnoreCase(serviceType))
-                       {
-                               oStatus = "Created"
-                       }
-
-                       String statusLine = isBlank(oStatus) ? "" : "<orchestration-status>${MsoUtils.xmlEscape(oStatus)}</orchestration-status>"
-                       String serviceTypeLine = isBlank(serviceType) ? "" : "<service-type>${MsoUtils.xmlEscape(serviceType)}</service-type>"
-                       String serviceRoleLine = isBlank(serviceRole) ? "" : "<service-role>${MsoUtils.xmlEscape(serviceRole)}</service-role>"
-
-                       //QUERY CATALOG DB AND GET WORKLOAD / ENVIRONMENT CONTEXT
-                       String environmentContext = ""
-                       String workloadContext =""
-
-                       try{
-                                String json = cutils.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid )
-
-                                msoLogger.debug("JSON IS: "+json)
-
-                                environmentContext = jsonUtil.getJsonValue(json, "serviceResources.environmentContext") ?: ""
-                                workloadContext = jsonUtil.getJsonValue(json, "serviceResources.workloadContext") ?: ""
-                                msoLogger.debug("Env Context is: "+ environmentContext)
-                                msoLogger.debug("Workload Context is: "+ workloadContext)
-                       }catch(BpmnError e){
-                               throw e
-                       } catch (Exception ex){
-                               msg = "Exception in preProcessRequest " + ex.getMessage()
-                               msoLogger.debug(msg)
-                               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)
-                       String serviceInstanceData =
-                                       """<service-instance xmlns=\"${namespace}\">
-                                       <service-instance-name>${MsoUtils.xmlEscape(serviceInstanceName)}</service-instance-name>
-                                       ${serviceTypeLine}
-                                       ${serviceRoleLine}
-                                       ${statusLine}
-                                   <model-invariant-id>${MsoUtils.xmlEscape(modelInvariantUuid)}</model-invariant-id>
-                                   <model-version-id>${MsoUtils.xmlEscape(modelUuid)}</model-version-id>
-                                       <environment-context>${MsoUtils.xmlEscape(environmentContext)}</environment-context>
-                                       <workload-context>${MsoUtils.xmlEscape(workloadContext)}</workload-context>
-                                       </service-instance>""".trim()
-
-                       execution.setVariable("serviceInstanceData", serviceInstanceData)
-                       msoLogger.debug(" 'payload' to create Service Instance in AAI - " + "\n" + serviceInstanceData)
-
+                       
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex){
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex){
@@ -338,16 +292,17 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                        String globalCustomerId = execution.getVariable("globalSubscriberId") //VID to AAI name map
                        msoLogger.debug(" ***** getAAICustomerById ***** globalCustomerId:" + globalCustomerId)
 
                        String globalCustomerId = execution.getVariable("globalSubscriberId") //VID to AAI name map
                        msoLogger.debug(" ***** getAAICustomerById ***** globalCustomerId:" + globalCustomerId)
 
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution)
-                       if (isBlank(aai_endpoint) || isBlank(aai_uri))
+
+                       AAIUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CUSTOMER, globalCustomerId)
+                       String getAAICustomerUrl = aaiUriUtil.createAaiUri(uri)
+
+                       if (isBlank(getAAICustomerUrl))
                        {
                        {
-                               msg = "AAI URL is invalid. Endpoint:" + aai_endpoint + aai_uri
+                               msg = "AAI URL is invalid. Endpoint:" + getAAICustomerUrl
                                msoLogger.debug(msg)
                                exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
                        }
                                msoLogger.debug(msg)
                                exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
                        }
-                       String getAAICustomerUrl = "${aai_endpoint}${aai_uri}/" + UriUtils.encode(globalCustomerId,"UTF-8")
 
                        msoLogger.debug("getAAICustomerById Url:" + getAAICustomerUrl)
                        APIResponse response = aaiUriUtil.executeAAIGetCall(execution, getAAICustomerUrl)
 
                        msoLogger.debug("getAAICustomerById Url:" + getAAICustomerUrl)
                        APIResponse response = aaiUriUtil.executeAAIGetCall(execution, getAAICustomerUrl)
@@ -399,42 +354,75 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
 
        }
 
 
        }
 
-       public void postProcessAAIPUT(DelegateExecution execution) {
+       public void putServiceInstance(DelegateExecution execution) {
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
-               msoLogger.trace("postProcessAAIPUT")
+               msoLogger.trace("putServiceInstance")
                String msg = ""
                String msg = ""
+               String serviceInstanceId = execution.getVariable("serviceInstanceId")
                try {
                try {
-                       String serviceInstanceId = execution.getVariable("serviceInstanceId")
-                       boolean succInAAI = execution.getVariable("GENPS_SuccessIndicator")
-                       if(!succInAAI){
-                               msoLogger.debug("Error putting Service-instance in AAI", + serviceInstanceId)
-                               WorkflowException workflowException = execution.getVariable("WorkflowException")
-                               msoLogger.debug("workflowException: " + workflowException)
-                               if(workflowException != null){
-                                       exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage())
-                               }
-                       }
-                       else
+
+                       String serviceType = execution.getVariable("serviceType")
+                       //AAI PUT
+                       String oStatus = execution.getVariable("initialStatus") ?: "Active"
+                       if ("TRANSPORT".equalsIgnoreCase(serviceType))
                        {
                        {
-                               //start rollback set up
-                               RollbackData rollbackData = new RollbackData()
-                               def disableRollback = execution.getVariable("disableRollback")
-                               rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
-                               rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
-                               rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", serviceInstanceId)
-                               rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", execution.getVariable("subscriptionServiceType"))
-                               rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))
-                               execution.setVariable("rollbackData", rollbackData)
+                               oStatus = "Created"
                        }
                        }
+                       
+                       //QUERY CATALOG DB AND GET WORKLOAD / ENVIRONMENT CONTEXT
+                       String environmentContext = ""
+                       String workloadContext =""
+                       String modelInvariantUuid = execution.getVariable("modelInvariantUuid")
+
+                       try{
+                                String json = cutils.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid )
+
+                                msoLogger.debug("JSON IS: "+json)
+
+                                environmentContext = jsonUtil.getJsonValue(json, "serviceResources.environmentContext") ?: ""
+                                workloadContext = jsonUtil.getJsonValue(json, "serviceResources.workloadContext") ?: ""
+                                msoLogger.debug("Env Context is: "+ environmentContext)
+                                msoLogger.debug("Workload Context is: "+ workloadContext)
+                       }catch(BpmnError e){
+                               throw e
+                       } catch (Exception ex){
+                               msg = "Exception in preProcessRequest " + ex.getMessage()
+                               msoLogger.debug(msg)
+                               exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+                       }
+                       
+                       org.onap.aai.domain.yang.ServiceInstance si = new org.onap.aai.domain.yang.ServiceInstance()
+                       si.setServiceInstanceName(execution.getVariable("serviceInstanceName"))
+                       si.setServiceType(serviceType)
+                       si.setServiceRole(execution.getVariable("serviceRole"))
+                       si.setOrchestrationStatus(oStatus)
+                       si.setModelInvariantId(modelInvariantUuid)
+                       si.setModelVersionId(execution.getVariable("modelUuid"))
+                       si.setEnvironmentContext(environmentContext)
+                       si.setWorkloadContext(workloadContext)                  
+
+                       AAIResourcesClient client = new AAIResourcesClient()
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, execution.getVariable("globalSubscriberId"), execution.getVariable("subscriptionServiceType"), serviceInstanceId)
+                       client.create(uri, si)
 
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex) {
 
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex) {
-                       msg = "Exception in DoCreateServiceInstance.postProcessAAIDEL. " + ex.getMessage()
+                       //start rollback set up
+                       RollbackData rollbackData = new RollbackData()
+                       def disableRollback = execution.getVariable("disableRollback")
+                       rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
+                       rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
+                       rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", serviceInstanceId)
+                       rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", execution.getVariable("subscriptionServiceType"))
+                       rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))
+                       execution.setVariable("rollbackData", rollbackData)
+
+                       msg = "Exception in DoCreateServiceInstance.putServiceInstance. " + ex.getMessage()
                        msoLogger.debug(msg)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                }
                        msoLogger.debug(msg)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                }
-               msoLogger.trace("Exit postProcessAAIPUT")
+               msoLogger.trace("Exit putServiceInstance")
        }
 
        public void preProcessSDNCAssignRequest(DelegateExecution execution) {
        }
 
        public void preProcessSDNCAssignRequest(DelegateExecution execution) {
index da3ecba..6783808 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -27,6 +27,7 @@ import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.json.JSONArray
 import org.json.JSONObject
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.json.JSONArray
 import org.json.JSONObject
+import org.onap.aai.domain.yang.GenericVnf
 import org.onap.so.bpmn.common.scripts.AaiUtil
 import org.onap.so.bpmn.common.scripts.CatalogDbUtils
 import org.onap.so.bpmn.common.scripts.ExceptionUtil
 import org.onap.so.bpmn.common.scripts.AaiUtil
 import org.onap.so.bpmn.common.scripts.CatalogDbUtils
 import org.onap.so.bpmn.common.scripts.ExceptionUtil
@@ -41,11 +42,15 @@ import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.domain.VnfResource
 import org.onap.so.bpmn.core.json.DecomposeJsonUtil
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.domain.VnfResource
 import org.onap.so.bpmn.core.json.DecomposeJsonUtil
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.graphinventory.entities.uri.Depth
+import org.onap.so.client.aai.AAIObjectPlurals
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.entities.AAIResultWrapper
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.entities.uri.AAIUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
+import org.onap.so.constants.Defaults
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
@@ -65,7 +70,7 @@ import com.fasterxml.jackson.databind.ObjectMapper
 
 public class DoCreateVfModule extends VfModuleBase {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoCreateVfModule.class);
 
 public class DoCreateVfModule extends VfModuleBase {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoCreateVfModule.class);
-       
+
        String Prefix="DCVFM_"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
        JsonUtils jsonUtil = new JsonUtils()
        String Prefix="DCVFM_"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
        JsonUtils jsonUtil = new JsonUtils()
@@ -81,7 +86,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.preProcessRequest(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.preProcessRequest(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
 
                execution.setVariable('prefix', Prefix)
                msoLogger.trace('Entered ' + method)
 
                execution.setVariable('prefix', Prefix)
@@ -100,13 +105,13 @@ public class DoCreateVfModule extends VfModuleBase {
                        if (request == null || request.isEmpty()) {
                                // Building Block-type request
 
                        if (request == null || request.isEmpty()) {
                                // Building Block-type request
 
-                               String vfModuleModelInfo = execution.getVariable("vfModuleModelInfo")           
-                               
+                               String vfModuleModelInfo = execution.getVariable("vfModuleModelInfo")
+
                                def serviceModelInfo = execution.getVariable("serviceModelInfo")
                                msoLogger.debug("serviceModelInfo: " + serviceModelInfo)
                                String modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid")
                                msoLogger.debug("modelInvariantUuid: " + modelInvariantUuid)
                                def serviceModelInfo = execution.getVariable("serviceModelInfo")
                                msoLogger.debug("serviceModelInfo: " + serviceModelInfo)
                                String modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid")
                                msoLogger.debug("modelInvariantUuid: " + modelInvariantUuid)
-                               
+
                                def vnfModelInfo = execution.getVariable("vnfModelInfo")
 
                                //tenantId
                                def vnfModelInfo = execution.getVariable("vnfModelInfo")
 
                                //tenantId
@@ -124,6 +129,11 @@ public class DoCreateVfModule extends VfModuleBase {
                                execution.setVariable("DCVFM_cloudSiteId", cloudSiteId)
                                rollbackData.put("VFMODULE", "aiccloudregion", cloudSiteId)
                                msoLogger.debug("cloudSiteId: " + cloudSiteId)
                                execution.setVariable("DCVFM_cloudSiteId", cloudSiteId)
                                rollbackData.put("VFMODULE", "aiccloudregion", cloudSiteId)
                                msoLogger.debug("cloudSiteId: " + cloudSiteId)
+                               //cloudOwner
+                               def cloudOwner = execution.getVariable("cloudOwner")
+                               execution.setVariable("DCVFM_cloudOwner", cloudOwner)
+                               rollbackData.put("VFMODULE", "cloudOwner", cloudOwner)
+                               msoLogger.debug("cloudOwner: " + cloudOwner)
                                //vnfType
                                def vnfType = execution.getVariable("vnfType")
                                execution.setVariable("DCVFM_vnfType", vnfType)
                                //vnfType
                                def vnfType = execution.getVariable("vnfType")
                                execution.setVariable("DCVFM_vnfType", vnfType)
@@ -238,15 +248,15 @@ public class DoCreateVfModule extends VfModuleBase {
                                execution.setVariable("DCVFM_usePreload", usePreload)
                                msoLogger.debug("usePreload: " + usePreload)
                                //aLaCarte
                                execution.setVariable("DCVFM_usePreload", usePreload)
                                msoLogger.debug("usePreload: " + usePreload)
                                //aLaCarte
-                               def aLaCarte = execution.getVariable("aLaCarte")                                
+                               def aLaCarte = execution.getVariable("aLaCarte")
                                execution.setVariable("DCVFM_aLaCarte", aLaCarte)
                                msoLogger.debug("aLaCarte: " + aLaCarte)
                                execution.setVariable("DCVFM_aLaCarte", aLaCarte)
                                msoLogger.debug("aLaCarte: " + aLaCarte)
-                               
+
                                //get workload and environment context from parent SI
                                String environmentContext = ""
                                String workloadContext =""
                                String serviceType =""
                                //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")
                                try{
                                        String json = catalog.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid )
                                        serviceType = jsonUtil.getJsonValue(json, "serviceResources.serviceType")
@@ -257,7 +267,7 @@ public class DoCreateVfModule extends VfModuleBase {
                                        msoLogger.debug(msg)
                                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                                }
                                        msoLogger.debug(msg)
                                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                                }
-                               
+
                                try{
                                        AAIUri serviceInstanceURI = AAIUriFactory.create(AAIObjectType.SERVICE_INSTANCE, globalSubscriberId,serviceType,serviceInstanceId)
                                        AAIResourcesClient aaiRC = new AAIResourcesClient()
                                try{
                                        AAIUri serviceInstanceURI = AAIUriFactory.create(AAIObjectType.SERVICE_INSTANCE, globalSubscriberId,serviceType,serviceInstanceId)
                                        AAIResourcesClient aaiRC = new AAIResourcesClient()
@@ -265,14 +275,14 @@ public class DoCreateVfModule extends VfModuleBase {
                                        Map<String, Object> aaiJson = aaiRW.asMap()
                                        environmentContext = aaiJson.getOrDefault("environment-context","")
                                        workloadContext = aaiJson.getOrDefault("workload-context","")
                                        Map<String, Object> aaiJson = aaiRW.asMap()
                                        environmentContext = aaiJson.getOrDefault("environment-context","")
                                        workloadContext = aaiJson.getOrDefault("workload-context","")
-                                       
+
                                }catch (Exception ex) {
                                        msoLogger.debug("Error retreiving parent service instance information")
                                }
                                }catch (Exception ex) {
                                        msoLogger.debug("Error retreiving parent service instance information")
                                }
-                               
+
                                execution.setVariable("DCVFM_environmentContext",environmentContext)
                                execution.setVariable("DCVFM_workloadContext",workloadContext)
                                execution.setVariable("DCVFM_environmentContext",environmentContext)
                                execution.setVariable("DCVFM_workloadContext",workloadContext)
-                                                                                         
+
                        }
                        else {
                                // The info is inside the request - DEAD CODE
                        }
                        else {
                                // The info is inside the request - DEAD CODE
@@ -400,7 +410,7 @@ public class DoCreateVfModule extends VfModuleBase {
                                        isBaseVfModule = utils.getNodeText(request, "is-base-vf-module")
                                }
                                execution.setVariable("DCVFM_isBaseVfModule", isBaseVfModule)
                                        isBaseVfModule = utils.getNodeText(request, "is-base-vf-module")
                                }
                                execution.setVariable("DCVFM_isBaseVfModule", isBaseVfModule)
-                               msoLogger.debug("isBaseVfModule: " + isBaseVfModule)                            
+                               msoLogger.debug("isBaseVfModule: " + isBaseVfModule)
                                //asdcServiceModelVersion
                                def asdcServiceModelVersion = ""
                                if (utils.nodeExists(request, "asdc-service-model-version")) {
                                //asdcServiceModelVersion
                                def asdcServiceModelVersion = ""
                                if (utils.nodeExists(request, "asdc-service-model-version")) {
@@ -479,7 +489,7 @@ public class DoCreateVfModule extends VfModuleBase {
                        }
                        msoLogger.debug("sdncVersion: " + sdncVersion)
                        execution.setVariable("DCVFM_sdncVersion", sdncVersion)
                        }
                        msoLogger.debug("sdncVersion: " + sdncVersion)
                        execution.setVariable("DCVFM_sdncVersion", sdncVersion)
-                       
+
                        execution.setVariable("DCVFM_uuid", uuid)
                        execution.setVariable("DCVFM_baseVfModuleId", "")
                        execution.setVariable("DCVFM_baseVfModuleHeatStackId", "")
                        execution.setVariable("DCVFM_uuid", uuid)
                        execution.setVariable("DCVFM_baseVfModuleId", "")
                        execution.setVariable("DCVFM_baseVfModuleHeatStackId", "")
@@ -544,7 +554,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.sendResponse(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.sendResponse(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
 
                try {
                msoLogger.trace('Entered ' + method)
 
                try {
@@ -554,7 +564,7 @@ public class DoCreateVfModule extends VfModuleBase {
                        throw e;
                } catch (Exception e) {
                        msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, 'Caught exception in ' + method, "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);
                        throw e;
                } catch (Exception e) {
                        msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, 'Caught exception in ' + method, "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);
-                       
+
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Internal Error')
                }
        }
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Internal Error')
                }
        }
@@ -570,7 +580,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.getVfModule(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.getVfModule(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
 
                try {
                msoLogger.trace('Entered ' + method)
 
                try {
@@ -614,7 +624,7 @@ public class DoCreateVfModule extends VfModuleBase {
         * @param execution The flow's execution instance.
         */
        public void queryAAIVfModule(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        public void queryAAIVfModule(DelegateExecution execution) {
-               
+
                def method = getClass().getSimpleName() + '.getVfModule(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.getVfModule(' +
                        'execution=' + execution.getId() +
                        ')'
@@ -625,10 +635,8 @@ public class DoCreateVfModule extends VfModuleBase {
                        def vfModuleId = execution.getVariable('DCVFM_vfModuleId')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        def vfModuleId = execution.getVariable('DCVFM_vfModuleId')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String  aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
 
                        try {
                                RESTConfig config = new RESTConfig(endPoint);
 
                        try {
                                RESTConfig config = new RESTConfig(endPoint);
@@ -688,23 +696,23 @@ public class DoCreateVfModule extends VfModuleBase {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIVfModule(): ' + e.getMessage())
                }
        }
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIVfModule(): ' + e.getMessage())
                }
        }
-       
+
        /**
        /**
-        * Using the vnfId and vfModuleName provided in the inputs, 
+        * Using the vnfId and vfModuleName provided in the inputs,
         * query AAI to get the corresponding VF Module info.
         * 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 
+        * 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) {
         * orchestration status if one exists
         *
         * @param execution The flow's execution instance.
         */
        public void queryAAIVfModuleForStatus(DelegateExecution execution) {
-               
+
                def method = getClass().getSimpleName() + '.queryAAIVfModuleForStatus(' +
                        'execution=' + execution.getId() +
                        ')'
                msoLogger.trace('Entered ' + method)
                def method = getClass().getSimpleName() + '.queryAAIVfModuleForStatus(' +
                        'execution=' + execution.getId() +
                        ')'
                msoLogger.trace('Entered ' + method)
-               
+
                execution.setVariable('DCVFM_orchestrationStatus', '')
 
                try {
                execution.setVariable('DCVFM_orchestrationStatus', '')
 
                try {
@@ -712,12 +720,8 @@ public class DoCreateVfModule extends VfModuleBase {
                        def vfModuleName = execution.getVariable('DCVFM_vfModuleName')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        def vfModuleName = execution.getVariable('DCVFM_vfModuleName')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String  aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") +
-                                       "/vf-modules/vf-module?vf-module-name=" + UriUtils.encode(vfModuleName, "UTF-8")
-                       msoLogger.debug("AAI endPoint: " + endPoint)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VF_MODULES, vnfId).queryParam("vf-module-name",vfModuleName)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
 
                        try {
                                RESTConfig config = new RESTConfig(endPoint);
 
                        try {
                                RESTConfig config = new RESTConfig(endPoint);
@@ -755,7 +759,7 @@ public class DoCreateVfModule extends VfModuleBase {
                                                def vfModuleId = utils.getNodeText(vfModuleText, "vf-module-id")
                                                execution.setVariable("DCVFM_vfModuleId", vfModuleId)
                                                msoLogger.debug("Received orchestration status from A&AI: " + orchestrationStatus)
                                                def vfModuleId = utils.getNodeText(vfModuleText, "vf-module-id")
                                                execution.setVariable("DCVFM_vfModuleId", vfModuleId)
                                                msoLogger.debug("Received orchestration status from A&AI: " + orchestrationStatus)
-                                               
+
                                        }
                                }
                        } catch (Exception ex) {
                                        }
                                }
                        } catch (Exception ex) {
@@ -774,7 +778,7 @@ public class DoCreateVfModule extends VfModuleBase {
 
 
        public void preProcessSDNCAssignRequest(DelegateExecution execution){
 
 
        public void preProcessSDNCAssignRequest(DelegateExecution execution){
-               
+
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessSDNCAssignRequest")
                def vnfId = execution.getVariable("DCVFM_vnfId")
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessSDNCAssignRequest")
                def vnfId = execution.getVariable("DCVFM_vnfId")
@@ -801,30 +805,30 @@ public class DoCreateVfModule extends VfModuleBase {
                        msoLogger.debug("Outgoing AssignSDNCRequest is: \n" + assignSDNCRequest)
 
                }catch(Exception e){
                        msoLogger.debug("Outgoing AssignSDNCRequest is: \n" + assignSDNCRequest)
 
                }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, " Exception Occurred Processing preProcessSDNCAssignRequest", "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);                      
+                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, " Exception Occurred Processing preProcessSDNCAssignRequest", "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occurred during prepareProvision Method:\n" + e.getMessage())
                }
                msoLogger.trace("COMPLETED preProcessSDNCAssignRequest")
        }
 
        public void preProcessSDNCGetRequest(DelegateExecution execution, String element){
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occurred during prepareProvision Method:\n" + e.getMessage())
                }
                msoLogger.trace("COMPLETED preProcessSDNCAssignRequest")
        }
 
        public void preProcessSDNCGetRequest(DelegateExecution execution, String element){
-               
+
                String sdncVersion = execution.getVariable("DCVFM_sdncVersion")
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessSDNCGetRequest Process")
                try{
                        def serviceInstanceId = execution.getVariable('DCVFM_serviceInstanceId')
                String sdncVersion = execution.getVariable("DCVFM_sdncVersion")
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessSDNCGetRequest Process")
                try{
                        def serviceInstanceId = execution.getVariable('DCVFM_serviceInstanceId')
-                       
+
                        String uuid = execution.getVariable('testReqId') // for junits
                        if(uuid==null){
                                uuid = execution.getVariable("mso-request-id") + "-" +  System.currentTimeMillis()
                        }
                        String uuid = execution.getVariable('testReqId') // for junits
                        if(uuid==null){
                                uuid = execution.getVariable("mso-request-id") + "-" +  System.currentTimeMillis()
                        }
-                                       
+
                        def callbackUrl = execution.getVariable("DCVFM_sdncCallbackUrl")
                        msoLogger.debug("callbackUrl:" + callbackUrl)
                        def callbackUrl = execution.getVariable("DCVFM_sdncCallbackUrl")
                        msoLogger.debug("callbackUrl:" + callbackUrl)
-                       
+
                        def vfModuleId = execution.getVariable('DCVFM_vfModuleId')
                        def vfModuleId = execution.getVariable('DCVFM_vfModuleId')
-                       
+
                        def svcInstId = ""
                        if (serviceInstanceId == null || serviceInstanceId.isEmpty()) {
                                svcInstId = vfModuleId
                        def svcInstId = ""
                        if (serviceInstanceId == null || serviceInstanceId.isEmpty()) {
                                svcInstId = vfModuleId
@@ -832,7 +836,7 @@ public class DoCreateVfModule extends VfModuleBase {
                        else {
                                svcInstId = serviceInstanceId
                        }
                        else {
                                svcInstId = serviceInstanceId
                        }
-                       
+
                        def msoAction = ""
                        if (!sdncVersion.equals("1707")) {
                                msoAction = "mobility"
                        def msoAction = ""
                        if (!sdncVersion.equals("1707")) {
                                msoAction = "mobility"
@@ -840,33 +844,36 @@ public class DoCreateVfModule extends VfModuleBase {
                        else {
                                msoAction = "vfmodule"
                        }
                        else {
                                msoAction = "vfmodule"
                        }
-                       // For VNF, serviceOperation (URI for topology GET) will be retrieved from "selflink" element 
-                       // in the response from GenericGetVnf
+                       // For VNF, serviceOperation (URI for topology GET) will be retrieved from "selflink" element
                        // For VF Module, in 1707 serviceOperation will be retrieved from "object-path" element
                        // in SDNC Assign Response
                        // For VF Module for older versions, serviceOperation is constructed using vfModuleId
                        // For VF Module, in 1707 serviceOperation will be retrieved from "object-path" element
                        // in SDNC Assign Response
                        // For VF Module for older versions, serviceOperation is constructed using vfModuleId
-                       
+
                        String serviceOperation = ""
                        if (element.equals("vnf")) {
                        String serviceOperation = ""
                        if (element.equals("vnf")) {
-                               def vnfQueryResponse = execution.getVariable("DCVFM_vnfQueryResponse")
-                               serviceOperation = utils.getNodeText(vnfQueryResponse, "selflink")
+                               AAIResourcesClient resourceClient = new AAIResourcesClient()
+                               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, execution.getVariable('DCVFM_vnfId'))
+                               AAIResultWrapper wrapper = resourceClient.get(uri)
+
+                               Optional<GenericVnf> vnf = wrapper.asBean(GenericVnf.class)
+                               serviceOperation = vnf.get().getSelflink()
                                msoLogger.debug("VNF - service operation: " + serviceOperation)
                        }
                        else if (element.equals("vfmodule")) {
                                String response = execution.getVariable("DCVFM_assignSDNCAdapterResponse")
                                msoLogger.debug("VNF - service operation: " + serviceOperation)
                        }
                        else if (element.equals("vfmodule")) {
                                String response = execution.getVariable("DCVFM_assignSDNCAdapterResponse")
-                               msoLogger.debug("DCVFM_assignSDNCAdapterResponse is: \n" + response)                                                    
-                       
+                               msoLogger.debug("DCVFM_assignSDNCAdapterResponse is: \n" + response)
+
                                if (!sdncVersion.equals("1707")) {
                                        serviceOperation = "/VNF-API:vnfs/vnf-list/" + vfModuleId
                                        msoLogger.debug("VF Module with sdncVersion before 1707 - service operation: " + serviceOperation)
                                }
                                if (!sdncVersion.equals("1707")) {
                                        serviceOperation = "/VNF-API:vnfs/vnf-list/" + vfModuleId
                                        msoLogger.debug("VF Module with sdncVersion before 1707 - service operation: " + serviceOperation)
                                }
-                               else {                          
-                                       String data = utils.getNodeXml(response, "response-data")                                       
+                               else {
+                                       String data = utils.getNodeXml(response, "response-data")
                                        msoLogger.debug("responseData: " + data)
                                        serviceOperation = utils.getNodeText(data, "object-path")
                                        msoLogger.debug("VF Module with sdncVersion of 1707 - service operation: " + serviceOperation)
                                        msoLogger.debug("responseData: " + data)
                                        serviceOperation = utils.getNodeText(data, "object-path")
                                        msoLogger.debug("VF Module with sdncVersion of 1707 - service operation: " + serviceOperation)
-                               }                               
-                       }               
+                               }
+                       }
 
                        //!!!! TEMPORARY WORKAROUND FOR SDNC REPLICATION ISSUE
                        sleep(5000)
 
                        //!!!! TEMPORARY WORKAROUND FOR SDNC REPLICATION ISSUE
                        sleep(5000)
@@ -890,7 +897,7 @@ public class DoCreateVfModule extends VfModuleBase {
                        msoLogger.debug("Outgoing GetSDNCRequest is: \n" + SDNCGetRequest)
 
                }catch(Exception e){
                        msoLogger.debug("Outgoing GetSDNCRequest is: \n" + SDNCGetRequest)
 
                }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Exception Occurred Processing preProcessSDNCGetRequest", "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);                  
+                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Exception Occurred Processing preProcessSDNCGetRequest", "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occured during prepareProvision Method:\n" + e.getMessage())
                }
                msoLogger.trace("COMPLETED preProcessSDNCGetRequest Process")
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occured during prepareProvision Method:\n" + e.getMessage())
                }
                msoLogger.trace("COMPLETED preProcessSDNCGetRequest Process")
@@ -901,7 +908,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.VNFAdapterCreateVfModule(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.VNFAdapterCreateVfModule(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
 
                //def xml = execution.getVariable("DoCreateVfModuleRequest")
                msoLogger.trace('Entered ' + method)
 
                //def xml = execution.getVariable("DoCreateVfModuleRequest")
@@ -952,7 +959,7 @@ public class DoCreateVfModule extends VfModuleBase {
                String workloadContext = execution.getVariable("DCVFM_workloadContext")
                msoLogger.debug("workloadContext: " + workloadContext)
                msoLogger.debug("environmentContext: " + environmentContext)
                String workloadContext = execution.getVariable("DCVFM_workloadContext")
                msoLogger.debug("workloadContext: " + workloadContext)
                msoLogger.debug("environmentContext: " + environmentContext)
-               
+
                def messageId = execution.getVariable('mso-request-id') + '-' +
                                 System.currentTimeMillis()
 
                def messageId = execution.getVariable('mso-request-id') + '-' +
                                 System.currentTimeMillis()
 
@@ -972,9 +979,9 @@ public class DoCreateVfModule extends VfModuleBase {
                String vfModuleSdncGetResponse = execution.getVariable('DCVFM_getSDNCAdapterResponse')
                msoLogger.debug("sdncGetResponse: " + vfModuleSdncGetResponse)
                def sdncVersion = execution.getVariable("sdncVersion")
                String vfModuleSdncGetResponse = execution.getVariable('DCVFM_getSDNCAdapterResponse')
                msoLogger.debug("sdncGetResponse: " + vfModuleSdncGetResponse)
                def sdncVersion = execution.getVariable("sdncVersion")
-               
+
                if (!sdncVersion.equals("1707")) {
                if (!sdncVersion.equals("1707")) {
-                                               
+
                        vfModuleParams = buildVfModuleParams(vnfParamsMap, vfModuleSdncGetResponse, vnfId, vnfName,
                                vfModuleId, vfModuleName, vfModuleIndex, environmentContext, workloadContext)
                }
                        vfModuleParams = buildVfModuleParams(vnfParamsMap, vfModuleSdncGetResponse, vnfId, vnfName,
                                vfModuleId, vfModuleName, vfModuleIndex, environmentContext, workloadContext)
                }
@@ -982,9 +989,9 @@ public class DoCreateVfModule extends VfModuleBase {
                        //Get SDNC Response Data for Vnf Topology
                        String vnfSdncGetResponse = execution.getVariable('DCVFM_getVnfSDNCAdapterResponse')
                        msoLogger.debug("vnfSdncGetResponse: " + vnfSdncGetResponse)
                        //Get SDNC Response Data for Vnf Topology
                        String vnfSdncGetResponse = execution.getVariable('DCVFM_getVnfSDNCAdapterResponse')
                        msoLogger.debug("vnfSdncGetResponse: " + vnfSdncGetResponse)
-                       
+
                        vfModuleParams = buildVfModuleParamsFromCombinedTopologies(vnfParamsMap, vnfSdncGetResponse, vfModuleSdncGetResponse, vnfId, vnfName,
                        vfModuleParams = buildVfModuleParamsFromCombinedTopologies(vnfParamsMap, vnfSdncGetResponse, vfModuleSdncGetResponse, vnfId, vnfName,
-                               vfModuleId, vfModuleName, vfModuleIndex, environmentContext, workloadContext)                   
+                               vfModuleId, vfModuleName, vfModuleIndex, environmentContext, workloadContext)
                }
 
                def svcInstId = ""
                }
 
                def svcInstId = ""
@@ -1041,7 +1048,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.validateInfraRequest(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.validateInfraRequest(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
 
                String processKey = getProcessKey(execution);
                msoLogger.trace('Entered ' + method)
 
                String processKey = getProcessKey(execution);
@@ -1103,7 +1110,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.isVolumeGroupIdPresent(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.isVolumeGroupIdPresent(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
 
                def request = execution.getVariable('DoCreateVfModuleRequest')
                msoLogger.trace('Entered ' + method)
 
                def request = execution.getVariable('DoCreateVfModuleRequest')
@@ -1124,7 +1131,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.isVolumeGroupNamePresent(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.isVolumeGroupNamePresent(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
 
                def request = execution.getVariable('DoCreateVfModuleRequest')
                msoLogger.trace('Entered ' + method)
 
                def request = execution.getVariable('DoCreateVfModuleRequest')
@@ -1187,9 +1194,9 @@ public class DoCreateVfModule extends VfModuleBase {
                }else{
                        sdncVNFParamsXml = ""
                }
                }else{
                        sdncVNFParamsXml = ""
                }
-               
+
                String sdncRequest = ""
                String sdncRequest = ""
-               
+
                if (!sdncVersion.equals("1707")) {
 
                        sdncRequest =
                if (!sdncVersion.equals("1707")) {
 
                        sdncRequest =
@@ -1231,10 +1238,10 @@ public class DoCreateVfModule extends VfModuleBase {
                </vnf-request-information>
        </sdncadapterworkflow:SDNCRequestData>
        </sdncadapterworkflow:SDNCAdapterWorkflowRequest>"""
                </vnf-request-information>
        </sdncadapterworkflow:SDNCRequestData>
        </sdncadapterworkflow:SDNCAdapterWorkflowRequest>"""
-               
+
                }
                }
-               else {  
-                       
+               else {
+
                        sdncRequest =
                        """<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.onap/so/request/types/v1"
                                                                                                        xmlns:sdncadapterworkflow="http://org.onap/so/workflow/schema/v1"
                        sdncRequest =
                        """<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.onap/so/request/types/v1"
                                                                                                        xmlns:sdncadapterworkflow="http://org.onap/so/workflow/schema/v1"
@@ -1259,28 +1266,28 @@ public class DoCreateVfModule extends VfModuleBase {
                        <subscription-service-type>${MsoUtils.xmlEscape(serviceId)}</subscription-service-type>
                        ${serviceEcompModelInformation}
                        <service-instance-id>${MsoUtils.xmlEscape(svcInstId)}</service-instance-id>
                        <subscription-service-type>${MsoUtils.xmlEscape(serviceId)}</subscription-service-type>
                        ${serviceEcompModelInformation}
                        <service-instance-id>${MsoUtils.xmlEscape(svcInstId)}</service-instance-id>
-                       <global-customer-id>${MsoUtils.xmlEscape(globalSubscriberId)}</global-customer-id>                      
-               </service-information>          
+                       <global-customer-id>${MsoUtils.xmlEscape(globalSubscriberId)}</global-customer-id>
+               </service-information>
                <vnf-information>
                        <vnf-id>${MsoUtils.xmlEscape(vnfId)}</vnf-id>
                        <vnf-type>${MsoUtils.xmlEscape(vnfType)}</vnf-type>
                <vnf-information>
                        <vnf-id>${MsoUtils.xmlEscape(vnfId)}</vnf-id>
                        <vnf-type>${MsoUtils.xmlEscape(vnfType)}</vnf-type>
-                       ${vnfEcompModelInformation}                     
+                       ${vnfEcompModelInformation}
                </vnf-information>
                <vf-module-information>
                        <vf-module-id>${MsoUtils.xmlEscape(vfModuleId)}</vf-module-id>
                        <vf-module-type>${MsoUtils.xmlEscape(vfModuleModelName)}</vf-module-type>
                </vnf-information>
                <vf-module-information>
                        <vf-module-id>${MsoUtils.xmlEscape(vfModuleId)}</vf-module-id>
                        <vf-module-type>${MsoUtils.xmlEscape(vfModuleModelName)}</vf-module-type>
-                       ${vfModuleEcompModelInformation}                        
+                       ${vfModuleEcompModelInformation}
                </vf-module-information>
                </vf-module-information>
-               <vf-module-request-input>                       
+               <vf-module-request-input>
                        <vf-module-name>${MsoUtils.xmlEscape(vfModuleName)}</vf-module-name>
                        <tenant>${MsoUtils.xmlEscape(tenantId)}</tenant>
                        <vf-module-name>${MsoUtils.xmlEscape(vfModuleName)}</vf-module-name>
                        <tenant>${MsoUtils.xmlEscape(tenantId)}</tenant>
-                       <aic-cloud-region>${MsoUtils.xmlEscape(cloudSiteId)}</aic-cloud-region>                 
+                       <aic-cloud-region>${MsoUtils.xmlEscape(cloudSiteId)}</aic-cloud-region>
                ${sdncVNFParamsXml}
                </vf-module-request-input>
          </sdncadapterworkflow:SDNCRequestData>
        </sdncadapterworkflow:SDNCAdapterWorkflowRequest>"""
                ${sdncVNFParamsXml}
                </vf-module-request-input>
          </sdncadapterworkflow:SDNCRequestData>
        </sdncadapterworkflow:SDNCAdapterWorkflowRequest>"""
-                       
-                       
+
+
                        /*
                        sdncRequest =
                        """<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.onap/so/request/types/v1"
                        /*
                        sdncRequest =
                        """<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.onap/so/request/types/v1"
@@ -1303,30 +1310,30 @@ public class DoCreateVfModule extends VfModuleBase {
                <service-information>
                        <service-id>${MsoUtils.xmlEscape(serviceId)}</service-id>
                        <service-type>${MsoUtils.xmlEscape(serviceId)}</service-type>
                <service-information>
                        <service-id>${MsoUtils.xmlEscape(serviceId)}</service-id>
                        <service-type>${MsoUtils.xmlEscape(serviceId)}</service-type>
-                       ${serviceEcompModelInformation}                 
+                       ${serviceEcompModelInformation}
                        <service-instance-id>${MsoUtils.xmlEscape(svcInstId)}</service-instance-id>
                        <global-customer-id>${MsoUtils.xmlEscape(globalSubscriberId)}</global-customer-id>
                </service-information>
                <vnf-information>
                        <vnf-id>${MsoUtils.xmlEscape(vnfId)}</vnf-id>
                        <vnf-type>${MsoUtils.xmlEscape(vnfType)}</vnf-type>
                        <service-instance-id>${MsoUtils.xmlEscape(svcInstId)}</service-instance-id>
                        <global-customer-id>${MsoUtils.xmlEscape(globalSubscriberId)}</global-customer-id>
                </service-information>
                <vnf-information>
                        <vnf-id>${MsoUtils.xmlEscape(vnfId)}</vnf-id>
                        <vnf-type>${MsoUtils.xmlEscape(vnfType)}</vnf-type>
-                       ${vnfEcompModelInformation}                     
+                       ${vnfEcompModelInformation}
                </vnf-information>
                <vf-module-information>
                        <vf-module-id>${MsoUtils.xmlEscape(vfModuleId)}</vf-module-id>
                        <vf-module-type>${MsoUtils.xmlEscape(vfModuleModelName)}</vf-module-type>
                </vnf-information>
                <vf-module-information>
                        <vf-module-id>${MsoUtils.xmlEscape(vfModuleId)}</vf-module-id>
                        <vf-module-type>${MsoUtils.xmlEscape(vfModuleModelName)}</vf-module-type>
-                       ${vfModuleEcompModelInformation}                        
+                       ${vfModuleEcompModelInformation}
                </vf-module-information>
                </vf-module-information>
-               <vf-module-request-input>                       
+               <vf-module-request-input>
                        <vf-module-name>${MsoUtils.xmlEscape(vfModuleName)}</vf-module-name>
                        <tenant>${MsoUtils.xmlEscape(tenantId)}</tenant>
                        <vf-module-name>${MsoUtils.xmlEscape(vfModuleName)}</vf-module-name>
                        <tenant>${MsoUtils.xmlEscape(tenantId)}</tenant>
-                       <aic-cloud-region>${MsoUtils.xmlEscape(cloudSiteId)}</aic-cloud-region>                         
+                       <aic-cloud-region>${MsoUtils.xmlEscape(cloudSiteId)}</aic-cloud-region>
                ${sdncVNFParamsXml}
                ${sdncVNFParamsXml}
-               </vf-module-request-input>              
+               </vf-module-request-input>
        </sdncadapterworkflow:SDNCRequestData>
        </sdncadapterworkflow:SDNCAdapterWorkflowRequest>"""
                        */
        </sdncadapterworkflow:SDNCRequestData>
        </sdncadapterworkflow:SDNCAdapterWorkflowRequest>"""
                        */
-                       
+
                }
 
        msoLogger.debug("sdncRequest:  " + sdncRequest)
                }
 
        msoLogger.debug("sdncRequest:  " + sdncRequest)
@@ -1338,7 +1345,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.preProcessSDNCActivateRequest(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.preProcessSDNCActivateRequest(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessSDNCActivateRequest Process")
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessSDNCActivateRequest Process")
@@ -1370,7 +1377,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.postProcessVNFAdapterRequest(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.postProcessVNFAdapterRequest(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix",Prefix)
                try{
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix",Prefix)
                try{
@@ -1458,7 +1465,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleRequestOrch(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleRequestOrch(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessUpdateAAIVfModuleRequestOrch")
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessUpdateAAIVfModuleRequestOrch")
@@ -1471,7 +1478,7 @@ public class DoCreateVfModule extends VfModuleBase {
                        if (!contrailServiceInstanceFqdn.equals("")) {
                                setContrailServiceInstanceFqdn = true
                        }
                        if (!contrailServiceInstanceFqdn.equals("")) {
                                setContrailServiceInstanceFqdn = true
                        }
-                       
+
                        execution.setVariable("DCVFM_orchestrationStatus", "Created")
 
                        String updateAAIVfModuleRequest = buildUpdateAAIVfModuleRequest(execution, false, true, true, setContrailServiceInstanceFqdn)
                        execution.setVariable("DCVFM_orchestrationStatus", "Created")
 
                        String updateAAIVfModuleRequest = buildUpdateAAIVfModuleRequest(execution, false, true, true, setContrailServiceInstanceFqdn)
@@ -1481,18 +1488,18 @@ public class DoCreateVfModule extends VfModuleBase {
                        msoLogger.debug("Outgoing UpdateAAIVfModuleRequest is: \n" + updateAAIVfModuleRequest)
 
                }catch(Exception e){
                        msoLogger.debug("Outgoing UpdateAAIVfModuleRequest is: \n" + updateAAIVfModuleRequest)
 
                }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Exception Occured Processing preProcessUpdateAAIVfModuleRequestOrch", "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);                     
+                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Exception Occured Processing preProcessUpdateAAIVfModuleRequestOrch", "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occured during preProcessUpdateAAIVfModuleRequestOrch Method:\n" + e.getMessage())
                }
                msoLogger.trace("COMPLETED preProcessUpdateAAIVfModuleRequestOrch")
 
        }
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occured during preProcessUpdateAAIVfModuleRequestOrch Method:\n" + e.getMessage())
                }
                msoLogger.trace("COMPLETED preProcessUpdateAAIVfModuleRequestOrch")
 
        }
-       
+
        public void preProcessUpdateAAIVfModuleRequestStatus(DelegateExecution execution, String status) {
                def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleStatus(' +
                        'execution=' + execution.getId() +
                        ')'
        public void preProcessUpdateAAIVfModuleRequestStatus(DelegateExecution execution, String status) {
                def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleStatus(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessUpdateAAIVfModuleStatus")
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessUpdateAAIVfModuleStatus")
@@ -1521,7 +1528,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleRequestGroup(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleRequestGroup(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessUpdateAAIVfModuleRequestGroup")
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessUpdateAAIVfModuleRequestGroup")
@@ -1537,7 +1544,7 @@ public class DoCreateVfModule extends VfModuleBase {
                        msoLogger.debug("Outgoing UpdateAAIVfModuleRequest is: \n" + updateAAIVfModuleRequest)
 
                }catch(Exception e){
                        msoLogger.debug("Outgoing UpdateAAIVfModuleRequest is: \n" + updateAAIVfModuleRequest)
 
                }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Exception Occured Processing preProcessUpdateAAIVfModuleRequestGroup", "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);                    
+                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Exception Occured Processing preProcessUpdateAAIVfModuleRequestGroup", "BPMN", MsoLogger.getServiceName(),MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occured during preProcessUpdateAAIVfModuleRequestGroup Method:\n" + e.getMessage())
                }
                msoLogger.trace("COMPLETED  preProcessUpdateAAIVfModuleRequestGroup")
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occured during preProcessUpdateAAIVfModuleRequestGroup Method:\n" + e.getMessage())
                }
                msoLogger.trace("COMPLETED  preProcessUpdateAAIVfModuleRequestGroup")
@@ -1545,7 +1552,7 @@ public class DoCreateVfModule extends VfModuleBase {
        }
 
        public void validateSDNCResponse(DelegateExecution execution, String response, String method){
        }
 
        public void validateSDNCResponse(DelegateExecution execution, String response, String method){
-               
+
                execution.setVariable("prefix",Prefix)
                msoLogger.debug("STARTED ValidateSDNCResponse Process")
 
                execution.setVariable("prefix",Prefix)
                msoLogger.debug("STARTED ValidateSDNCResponse Process")
 
@@ -1578,7 +1585,7 @@ public class DoCreateVfModule extends VfModuleBase {
        }
 
        public void preProcessUpdateAfterCreateRequest(DelegateExecution execution){
        }
 
        public void preProcessUpdateAfterCreateRequest(DelegateExecution execution){
-               
+
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessRequest Process")
                try{
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED preProcessRequest Process")
                try{
@@ -1684,25 +1691,25 @@ public class DoCreateVfModule extends VfModuleBase {
                }
                return params
        }
                }
                return params
        }
-       
+
        public String buildCompleteSDNCParamsXml(DelegateExecution execution){
        public String buildCompleteSDNCParamsXml(DelegateExecution execution){
-               
+
                String params = ""
                StringBuilder sb = new StringBuilder()
                Map<String, String> paramsMap = execution.getVariable("DCVFM_vnfParamsMap")
                String params = ""
                StringBuilder sb = new StringBuilder()
                Map<String, String> paramsMap = execution.getVariable("DCVFM_vnfParamsMap")
-               
+
                for (Map.Entry<String, String> entry : paramsMap.entrySet()) {
                        String paramsXml
                for (Map.Entry<String, String> entry : paramsMap.entrySet()) {
                        String paramsXml
-                       String key = entry.getKey();                                    
+                       String key = entry.getKey();
                        String value = entry.getValue()
                        String value = entry.getValue()
-                       paramsXml =     """<${key}>$value</$key>"""     
+                       paramsXml =     """<${key}>$value</$key>"""
                        params = sb.append(paramsXml)
                }
                return params
        }
 
    public void queryCloudRegion (DelegateExecution execution) {
                        params = sb.append(paramsXml)
                }
                return params
        }
 
    public void queryCloudRegion (DelegateExecution execution) {
-               
+
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED queryCloudRegion")
 
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED queryCloudRegion")
 
@@ -1710,13 +1717,12 @@ public class DoCreateVfModule extends VfModuleBase {
                        String cloudRegion = execution.getVariable("DCVFM_cloudSiteId")
 
                        // Prepare AA&I url
                        String cloudRegion = execution.getVariable("DCVFM_cloudSiteId")
 
                        // Prepare AA&I url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUtil = new AaiUtil(this)
                        AaiUtil aaiUtil = new AaiUtil(this)
-                       String aai_uri = aaiUtil.getCloudInfrastructureCloudRegionUri(execution)
-                       String queryCloudRegionRequest = "${aai_endpoint}${aai_uri}/" + cloudRegion
+
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, Defaults.CLOUD_OWNER.toString(), cloudRegion)
+                       def queryCloudRegionRequest = aaiUtil.createAaiUri(uri)
 
                        execution.setVariable("DCVFM_queryCloudRegionRequest", queryCloudRegionRequest)
 
                        execution.setVariable("DCVFM_queryCloudRegionRequest", queryCloudRegionRequest)
-                       msoLogger.debug("DCVFM_queryCloudRegionRequest - " + "\n" + queryCloudRegionRequest)
 
                        cloudRegion = aaiUtil.getAAICloudReqion(execution, queryCloudRegionRequest, "PO", cloudRegion)
 
 
                        cloudRegion = aaiUtil.getAAICloudReqion(execution, queryCloudRegionRequest, "PO", cloudRegion)
 
@@ -1773,7 +1779,7 @@ public class DoCreateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.prepareCreateAAIVfModuleVolumeGroupRequest(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.prepareCreateAAIVfModuleVolumeGroupRequest(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED prepareCreateAAIVfModuleVolumeGroupRequest")
                msoLogger.trace('Entered ' + method)
                execution.setVariable("prefix", Prefix)
                msoLogger.trace("STARTED prepareCreateAAIVfModuleVolumeGroupRequest")
@@ -1787,12 +1793,14 @@ public class DoCreateVfModule extends VfModuleBase {
                        def volumeGroupId = execution.getVariable("DCVFM_volumeGroupId")
                        //def aicCloudRegion = execution.getVariable("DCVFM_cloudSiteId")
                        def aicCloudRegion = execution.getVariable("DCVFM_cloudRegionForVolume")
                        def volumeGroupId = execution.getVariable("DCVFM_volumeGroupId")
                        //def aicCloudRegion = execution.getVariable("DCVFM_cloudSiteId")
                        def aicCloudRegion = execution.getVariable("DCVFM_cloudRegionForVolume")
+                       def cloudOwner = execution.getVariable("DCVFM_cloudOwner")
                        String createAAIVfModuleVolumeGroupRequest =
                        """<CreateAAIVfModuleVolumeGroupRequest>
                                <vnf-id>${MsoUtils.xmlEscape(vnfId)}</vnf-id>
                                <vf-module-id>${MsoUtils.xmlEscape(vfModuleId)}</vf-module-id>
                                <volume-group-id>${MsoUtils.xmlEscape(volumeGroupId)}</volume-group-id>
                                <aic-cloud-region>${MsoUtils.xmlEscape(aicCloudRegion)}</aic-cloud-region>
                        String createAAIVfModuleVolumeGroupRequest =
                        """<CreateAAIVfModuleVolumeGroupRequest>
                                <vnf-id>${MsoUtils.xmlEscape(vnfId)}</vnf-id>
                                <vf-module-id>${MsoUtils.xmlEscape(vfModuleId)}</vf-module-id>
                                <volume-group-id>${MsoUtils.xmlEscape(volumeGroupId)}</volume-group-id>
                                <aic-cloud-region>${MsoUtils.xmlEscape(aicCloudRegion)}</aic-cloud-region>
+                               <cloud-owner>${MsoUtils.xmlEscape(cloudOwner)}</cloud-owner>
                        </CreateAAIVfModuleVolumeGroupRequest>"""
 
                        createAAIVfModuleVolumeGroupRequest = utils.formatXml(createAAIVfModuleVolumeGroupRequest)
                        </CreateAAIVfModuleVolumeGroupRequest>"""
 
                        createAAIVfModuleVolumeGroupRequest = utils.formatXml(createAAIVfModuleVolumeGroupRequest)
@@ -1811,7 +1819,7 @@ public class DoCreateVfModule extends VfModuleBase {
           def method = getClass().getSimpleName() + '.createNetworkPoliciesInAAI(' +
           'execution=' + execution.getId() +
           ')'
           def method = getClass().getSimpleName() + '.createNetworkPoliciesInAAI(' +
           'execution=' + execution.getId() +
           ')'
-          
+
           msoLogger.trace('Entered ' + method)
           execution.setVariable("prefix", Prefix)
           msoLogger.trace("STARTED createNetworkPoliciesInAAI")
           msoLogger.trace('Entered ' + method)
           execution.setVariable("prefix", Prefix)
           msoLogger.trace("STARTED createNetworkPoliciesInAAI")
@@ -1825,109 +1833,81 @@ public class DoCreateVfModule extends VfModuleBase {
                   execution.setVariable("DCVFM_networkPolicyFqdnCount", fqdnCount)
                   msoLogger.debug("DCVFM_networkPolicyFqdnCount - " + fqdnCount)
 
                   execution.setVariable("DCVFM_networkPolicyFqdnCount", fqdnCount)
                   msoLogger.debug("DCVFM_networkPolicyFqdnCount - " + fqdnCount)
 
-                  String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                   AaiUtil aaiUriUtil = new AaiUtil(this)
                   AaiUtil aaiUriUtil = new AaiUtil(this)
-                  String aai_uri = aaiUriUtil.getNetworkPolicyUri(execution)
-
-                  if (fqdnCount > 0) {
-
-                          // AII loop call over contrail network policy fqdn list
-                          for (i in 0..fqdnCount-1) {
-
-                                  int counting = i+1
-                                  String fqdn = fqdnList[i]
-
-                                  // Query AAI for this network policy FQDN
-
-                                  String queryNetworkPolicyByFqdnAAIRequest = "${aai_endpoint}${aai_uri}?network-policy-fqdn=" + UriUtils.encode(fqdn, "UTF-8")
-
-                                  def aaiRequestId = UUID.randomUUID().toString()
-                                  RESTConfig config = new RESTConfig(queryNetworkPolicyByFqdnAAIRequest);
-                                  RESTClient client = new RESTClient(config).addHeader("X-TransactionId", aaiRequestId)
-                                                                                                                        .addHeader("X-FromAppId", "MSO")
-                                                                                                                        .addHeader("Content-Type", "application/xml")
-                                                                                                                        .addHeader("Accept","application/xml");
-                                  APIResponse response = client.get()
-                                  int returnCode = response.getStatusCode()
-                                  execution.setVariable("DCVFM_aaiQqueryNetworkPolicyByFqdnReturnCode", returnCode)
-                                  msoLogger.debug(" ***** AAI query network policy Response Code, NetworkPolicy #" + counting + " : " + returnCode)
-
-                                  String aaiResponseAsString = response.getResponseBodyAsString()
-
-                                  if (isOneOf(returnCode, 200, 201)) {
-                                          msoLogger.debug("The return code is: "  + returnCode)
-                                          // This network policy FQDN already exists in AAI
-                                          execution.setVariable("DCVFM_queryNetworkPolicyByFqdnAAIResponse", aaiResponseAsString)
-                                          msoLogger.debug(" QueryAAINetworkPolicyByFQDN Success REST Response, , NetworkPolicy #" + counting + " : " + "\n" + aaiResponseAsString)
-
-                                  } else {
-                                          if (returnCode == 404) {
-                                                  // This network policy FQDN is not in AAI yet. Add it now
-                                                  msoLogger.debug("The return code is: "  + returnCode)
-                                                  msoLogger.debug("This network policy FQDN is not in AAI yet: " + fqdn)
-                                                  // Add the network policy with this FQDN to AAI
-                                                  def networkPolicyId = UUID.randomUUID().toString()
-                                                  msoLogger.debug("Adding network-policy with network-policy-id " + networkPolicyId)
-
-                                                  String aaiNamespace = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
-                                                  msoLogger.debug('AAI namespace is: ' + aaiNamespace)
-                                                  String payload = """<network-policy xmlns="${aaiNamespace}">
+
+                       if (fqdnCount > 0) {
+
+                               // AII loop call over contrail network policy fqdn list
+                               for (i in 0..fqdnCount-1) {
+
+                                       int counting = i+1
+                                       String fqdn = fqdnList[i]
+
+                                       // Query AAI for this network policy FQDN
+                                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY)
+                                       uri.queryParam("network-policy-fqdn", fqdn)
+
+                                       AAIResourcesClient resourceClient = new AAIResourcesClient()
+
+
+                                       if (resourceClient.exists(uri)) {
+
+                                               msoLogger.debug(" QueryAAINetworkPolicyByFQDN Success REST Response, , NetworkPolicy #" + counting)
+
+                                       } else {
+                                               // This network policy FQDN is not in AAI yet. Add it now
+                                               msoLogger.debug("This network policy FQDN is not in AAI yet: " + fqdn)
+                                               // Add the network policy with this FQDN to AAI
+                                               def networkPolicyId = UUID.randomUUID().toString()
+                                               msoLogger.debug("Adding network-policy with network-policy-id " + networkPolicyId)
+
+                                               String aaiNamespace = aaiUriUtil.getNamespace()
+                                               msoLogger.debug('AAI namespace is: ' + aaiNamespace)
+                                               String payload = """<network-policy xmlns="${aaiNamespace}">
                                                                <network-policy-id>${MsoUtils.xmlEscape(networkPolicyId)}</network-policy-id>
                                                                <network-policy-fqdn>${MsoUtils.xmlEscape(fqdn)}</network-policy-fqdn>
                                                                <heat-stack-id>${MsoUtils.xmlEscape(execution.getVariable("DCVFM_heatStackId"))}</heat-stack-id>
                                                                </network-policy>""" as String
 
                                                                <network-policy-id>${MsoUtils.xmlEscape(networkPolicyId)}</network-policy-id>
                                                                <network-policy-fqdn>${MsoUtils.xmlEscape(fqdn)}</network-policy-fqdn>
                                                                <heat-stack-id>${MsoUtils.xmlEscape(execution.getVariable("DCVFM_heatStackId"))}</heat-stack-id>
                                                                </network-policy>""" as String
 
-                                                  execution.setVariable("DCVFM_addNetworkPolicyAAIRequestBody", payload)
-
-                                                  String addNetworkPolicyAAIRequest = "${aai_endpoint}${aai_uri}/" + UriUtils.encode(networkPolicyId, "UTF-8")
-                                                  msoLogger.debug("AAI request endpoint: " + addNetworkPolicyAAIRequest)
-
-                                                  def aaiRequestIdPut = UUID.randomUUID().toString()
-                                                  RESTConfig configPut = new RESTConfig(addNetworkPolicyAAIRequest);
-                                                  RESTClient clientPut = new RESTClient(configPut).addHeader("X-TransactionId", aaiRequestIdPut)
-                                                                                                                                        .addHeader("X-FromAppId", "MSO")
-                                                                                                                                        .addHeader("Content-Type", "application/xml")
-                                                                                                                                        .addHeader("Accept","application/xml");
-                                                  msoLogger.debug("invoking PUT call to AAI with payload:"+System.lineSeparator()+payload)
-                                                  APIResponse responsePut = clientPut.httpPut(payload)
-                                                  int returnCodePut = responsePut.getStatusCode()
-                                                  execution.setVariable("DCVFM_aaiAddNetworkPolicyReturnCode", returnCodePut)
-                                                  msoLogger.debug(" ***** AAI add network policy Response Code, NetworkPolicy #" + counting + " : " + returnCodePut)
-
-                                                  String aaiResponseAsStringPut = responsePut.getResponseBodyAsString()
-                                                  if (isOneOf(returnCodePut, 200, 201)) {
-                                                          msoLogger.debug("The return code from adding network policy is: "  + returnCodePut)
-                                                          // This network policy was created in AAI successfully
-                                                          execution.setVariable("DCVFM_addNetworkPolicyAAIResponse", aaiResponseAsStringPut)
-                                                          msoLogger.debug(" AddAAINetworkPolicy Success REST Response, , NetworkPolicy #" + counting + " : " + "\n" + aaiResponseAsStringPut)
-                                                          rollbackData.put("VFMODULE", "rollbackCreateNetworkPoliciesAAI", "true")
-                                                          rollbackData.put("VFMODULE", "contrailNetworkPolicyFqdn" + i, fqdn)
-                                                          execution.setVariable("rollbackData", rollbackData)
-
-                                                  } else {
-                                                               // aai all errors
-                                                               String putErrorMessage = "Unable to add network-policy to AAI createNetworkPoliciesInAAI - " + returnCodePut
-                                                               msoLogger.debug(putErrorMessage)
-                                                               exceptionUtil.buildAndThrowWorkflowException(execution, 2500, putErrorMessage)
-                                                  }
-
-                                          } else {
-                                                 if (aaiResponseAsString.contains("RESTFault")) {
-                                                         WorkflowException exceptionObject = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
-                                                         execution.setVariable("WorkflowException", exceptionObject)
-                                                         throw new BpmnError("MSOWorkflowException")
-
-                                                         } else {
-                                                                  // aai all errors
-                                                                  String dataErrorMessage = "Unexpected Response from createNetworkPoliciesInAAI - " + returnCode
-                                                                  msoLogger.debug(dataErrorMessage)
-                                                                  exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
-                                                        }
-                                          }
-                                  }
+                                               execution.setVariable("DCVFM_addNetworkPolicyAAIRequestBody", payload)
+
+                                               AAIResourceUri addUri = AAIUriFactory.createResourceUri(AAIObjectType.NETWORK_POLICY, networkPolicyId)
+                                               String addNetworkPolicyAAIRequest = aaiUriUtil.createAaiUri(addUri)
+
+                                               msoLogger.debug("AAI request endpoint: " + addNetworkPolicyAAIRequest)
+
+                                               def aaiRequestIdPut = UUID.randomUUID().toString()
+                                               RESTConfig configPut = new RESTConfig(addNetworkPolicyAAIRequest);
+                                               RESTClient clientPut = new RESTClient(configPut).addHeader("X-TransactionId", aaiRequestIdPut)
+                                                               .addHeader("X-FromAppId", "MSO")
+                                                               .addHeader("Content-Type", "application/xml")
+                                                               .addHeader("Accept","application/xml");
+                                               msoLogger.debug("invoking PUT call to AAI with payload:"+System.lineSeparator()+payload)
+                                               APIResponse responsePut = clientPut.httpPut(payload)
+                                               int returnCodePut = responsePut.getStatusCode()
+                                               execution.setVariable("DCVFM_aaiAddNetworkPolicyReturnCode", returnCodePut)
+                                               msoLogger.debug(" ***** AAI add network policy Response Code, NetworkPolicy #" + counting + " : " + returnCodePut)
+
+                                               String aaiResponseAsStringPut = responsePut.getResponseBodyAsString()
+                                               if (isOneOf(returnCodePut, 200, 201)) {
+                                                       msoLogger.debug("The return code from adding network policy is: "  + returnCodePut)
+                                                       // This network policy was created in AAI successfully
+                                                       execution.setVariable("DCVFM_addNetworkPolicyAAIResponse", aaiResponseAsStringPut)
+                                                       msoLogger.debug(" AddAAINetworkPolicy Success REST Response, , NetworkPolicy #" + counting + " : " + "\n" + aaiResponseAsStringPut)
+                                                       rollbackData.put("VFMODULE", "rollbackCreateNetworkPoliciesAAI", "true")
+                                                       rollbackData.put("VFMODULE", "contrailNetworkPolicyFqdn" + i, fqdn)
+                                                       execution.setVariable("rollbackData", rollbackData)
+
+                                               } else {
+                                                       // aai all errors
+                                                       String putErrorMessage = "Unable to add network-policy to AAI createNetworkPoliciesInAAI - " + returnCodePut
+                                                       msoLogger.debug(putErrorMessage)
+                                                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, putErrorMessage)
+                                               }
+
+                                       }
 
 
-                          } // end loop
+                               } // end loop
 
 
                   } else {
 
 
                   } else {
@@ -1955,7 +1935,7 @@ public class DoCreateVfModule extends VfModuleBase {
           def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' +
                   'execution=' + execution.getId() +
                   ')'
           def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' +
                   'execution=' + execution.getId() +
                   ')'
-          
+
           msoLogger.trace('Entered ' + method)
 
           try {
           msoLogger.trace('Entered ' + method)
 
           try {
@@ -2008,7 +1988,7 @@ public class DoCreateVfModule extends VfModuleBase {
           def method = getClass().getSimpleName() + '.postProcessUpdateAAIGenericVnf(' +
                   'execution=' + execution.getId() +
                   ')'
           def method = getClass().getSimpleName() + '.postProcessUpdateAAIGenericVnf(' +
                   'execution=' + execution.getId() +
                   ')'
-          
+
           msoLogger.trace('Entered ' + method)
 
           try {
           msoLogger.trace('Entered ' + method)
 
           try {
@@ -2040,37 +2020,37 @@ public class DoCreateVfModule extends VfModuleBase {
                   exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in postProcessUpdateAAIGenericVnf(): ' + e.getMessage())
           }
    }
                   exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in postProcessUpdateAAIGenericVnf(): ' + e.getMessage())
           }
    }
-   
+
    public void queryCatalogDB (DelegateExecution execution) {
    public void queryCatalogDB (DelegateExecution execution) {
-         
+
           String msg = ""
           msoLogger.trace("queryCatalogDB ")
 
           try {
                   boolean twoPhaseDesign = false
                   // check for input
           String msg = ""
           msoLogger.trace("queryCatalogDB ")
 
           try {
                   boolean twoPhaseDesign = false
                   // check for input
-                  
+
                   String vfModuleModelName = execution.getVariable("DCVFM_vfModuleModelName")
                   msoLogger.debug("vfModuleModelName: " + vfModuleModelName)
                   def vnfModelInfo = execution.getVariable("vnfModelInfo")
                   def vnfModelCustomizationUuid = jsonUtil.getJsonValue(vnfModelInfo, "modelCustomizationUuid")
                   String vfModuleModelName = execution.getVariable("DCVFM_vfModuleModelName")
                   msoLogger.debug("vfModuleModelName: " + vfModuleModelName)
                   def vnfModelInfo = execution.getVariable("vnfModelInfo")
                   def vnfModelCustomizationUuid = jsonUtil.getJsonValue(vnfModelInfo, "modelCustomizationUuid")
-                 
-                  msoLogger.debug("vnfModelCustomizationUuid: " + vnfModelCustomizationUuid)              
-               
+
+                  msoLogger.debug("vnfModelCustomizationUuid: " + vnfModelCustomizationUuid)
+
                   JSONArray vnfs = catalog.getAllVnfsByVnfModelCustomizationUuid(execution, vnfModelCustomizationUuid, "v2")
                   JSONArray vnfs = catalog.getAllVnfsByVnfModelCustomizationUuid(execution, vnfModelCustomizationUuid, "v2")
-                  
-                  msoLogger.debug("Incoming Query Catalog DB for Vnf Response is: " + vnfModelCustomizationUuid) 
+
+                  msoLogger.debug("Incoming Query Catalog DB for Vnf Response is: " + vnfModelCustomizationUuid)
                   // Only one match here
                   if (vnfs != null) {
                           JSONObject vnfObject = vnfs.get(0)
                           if (vnfObject != null) {
                                   String vnfJson = vnfObject.toString()
                                   //
                   // Only one match here
                   if (vnfs != null) {
                           JSONObject vnfObject = vnfs.get(0)
                           if (vnfObject != null) {
                                   String vnfJson = vnfObject.toString()
                                   //
-                                  ObjectMapper om = new ObjectMapper();                          
+                                  ObjectMapper om = new ObjectMapper();
                                   VnfResource vnf = om.readValue(vnfJson, VnfResource.class);
                                   VnfResource vnf = om.readValue(vnfJson, VnfResource.class);
-                  
+
                                   // Get multiStageDesign flag
                                   // Get multiStageDesign flag
-                  
+
                                   String multiStageDesignValue = vnf.getMultiStageDesign()
                                   msoLogger.debug("multiStageDesign value from Catalog DB is: " + multiStageDesignValue)
                                   if (multiStageDesignValue != null) {
                                   String multiStageDesignValue = vnf.getMultiStageDesign()
                                   msoLogger.debug("multiStageDesign value from Catalog DB is: " + multiStageDesignValue)
                                   if (multiStageDesignValue != null) {
@@ -2080,10 +2060,10 @@ public class DoCreateVfModule extends VfModuleBase {
                                   }
                           }
                   }
                                   }
                           }
                   }
-                  
+
                   msoLogger.debug("setting twoPhaseDesign flag to: " + twoPhaseDesign)
                   msoLogger.debug("setting twoPhaseDesign flag to: " + twoPhaseDesign)
-                  
-                  execution.setVariable("DCVFM_twoPhaseDesign", twoPhaseDesign)                
+
+                  execution.setVariable("DCVFM_twoPhaseDesign", twoPhaseDesign)
           } catch (BpmnError e) {
                   throw e;
           } catch (Exception e) {
           } catch (BpmnError e) {
                   throw e;
           } catch (Exception e) {
@@ -2091,13 +2071,13 @@ public class DoCreateVfModule extends VfModuleBase {
                   exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryCatalogDB(): ' + e.getMessage())
           }
    }
                   exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryCatalogDB(): ' + e.getMessage())
           }
    }
-       
-   
+
+
    public void preProcessRollback (DelegateExecution execution) {
 
           msoLogger.trace("preProcessRollback")
           try {
    public void preProcessRollback (DelegateExecution execution) {
 
           msoLogger.trace("preProcessRollback")
           try {
-                  
+
                   Object workflowException = execution.getVariable("WorkflowException");
 
                   if (workflowException instanceof WorkflowException) {
                   Object workflowException = execution.getVariable("WorkflowException");
 
                   if (workflowException instanceof WorkflowException) {
index a0b7dab..a553127 100644 (file)
@@ -28,6 +28,10 @@ import org.onap.so.bpmn.common.scripts.MsoUtils
 import org.onap.so.bpmn.common.scripts.SDNCAdapterUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.common.scripts.SDNCAdapterUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
+import org.onap.so.client.aai.AAIObjectPlurals
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
@@ -477,9 +481,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
                        execution.setVariable(Prefix + "networkPolicyFqdnCount", fqdnCount)
                        msoLogger.debug("networkPolicyFqdnCount - " + fqdnCount)
 
                        execution.setVariable(Prefix + "networkPolicyFqdnCount", fqdnCount)
                        msoLogger.debug("networkPolicyFqdnCount - " + fqdnCount)
 
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getNetworkPolicyUri(execution)
 
                        if (fqdnCount > 0) {
                                // AII loop call over contrail network policy fqdn list
 
                        if (fqdnCount > 0) {
                                // AII loop call over contrail network policy fqdn list
@@ -489,8 +491,10 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
                                        String fqdn = fqdnList[i]
 
                                        // Query AAI for this network policy FQDN
                                        String fqdn = fqdnList[i]
 
                                        // Query AAI for this network policy FQDN
+                                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY)
+                                       uri.queryParam("network-policy-fqdn", fqdn)
+                                       String queryNetworkPolicyByFqdnAAIRequest = aaiUriUtil.createAaiUri(uri)
 
 
-                                       String queryNetworkPolicyByFqdnAAIRequest = "${aai_endpoint}${aai_uri}?network-policy-fqdn=" + UriUtils.encode(fqdn, "UTF-8")
                                        msoLogger.debug("AAI request endpoint: "  + queryNetworkPolicyByFqdnAAIRequest)
 
                                        def aaiRequestId = UUID.randomUUID().toString()
                                        msoLogger.debug("AAI request endpoint: "  + queryNetworkPolicyByFqdnAAIRequest)
 
                                        def aaiRequestId = UUID.randomUUID().toString()
@@ -514,8 +518,9 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{
                                                def resourceVersion = utils.getNodeText(aaiResponseAsString, "resource-version")
                                                msoLogger.debug("Deleting network-policy with resource-version " + resourceVersion)
 
                                                def resourceVersion = utils.getNodeText(aaiResponseAsString, "resource-version")
                                                msoLogger.debug("Deleting network-policy with resource-version " + resourceVersion)
 
-                                               String delNetworkPolicyAAIRequest = "${aai_endpoint}${aai_uri}/" + UriUtils.encode(networkPolicyId, "UTF-8") +
-                                                       "?resource-version=" + UriUtils.encode(resourceVersion, "UTF-8")
+                                               AAIResourceUri delUri = AAIUriFactory.createResourceUri(AAIObjectType.NETWORK_POLICY, networkPolicyId)
+                                               delUri.resourceVersion(resourceVersion)
+                                               String delNetworkPolicyAAIRequest = aaiUriUtil.createAaiUri(delUri)
 
                                                msoLogger.debug("AAI request endpoint: " + delNetworkPolicyAAIRequest)
 
 
                                                msoLogger.debug("AAI request endpoint: " + delNetworkPolicyAAIRequest)
 
index 5995b6b..3b0707a 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -38,6 +38,11 @@ import org.onap.so.bpmn.common.scripts.VidUtils
 import org.onap.so.bpmn.core.RollbackData
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.RollbackData
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.AAIObjectPlurals
+import org.onap.so.constants.Defaults
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 import org.onap.so.logger.MsoLogger
@@ -46,14 +51,14 @@ import org.onap.so.logger.MessageEnum
 
 public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoCreateVfModuleVolumeRollback.class);
 
 public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoCreateVfModuleVolumeRollback.class);
-       
+
        String Prefix="DCVFMODVOLRBK_"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
        JsonUtils jsonUtil = new JsonUtils()
        VidUtils vidUtils = new VidUtils(this)
 
        def className = getClass().getSimpleName()
        String Prefix="DCVFMODVOLRBK_"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
        JsonUtils jsonUtil = new JsonUtils()
        VidUtils vidUtils = new VidUtils(this)
 
        def className = getClass().getSimpleName()
-       
+
        /**
         * This method is executed during the preProcessRequest task of the <class>DoCreateVfModuleVolumeRollback.bpmn</class> process.
         * @param execution
        /**
         * This method is executed during the preProcessRequest task of the <class>DoCreateVfModuleVolumeRollback.bpmn</class> process.
         * @param execution
@@ -80,7 +85,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
                InitializeProcessVariables(execution)
 //             rollbackData.put("DCVFMODULEVOL", "aiccloudregion", cloudSiteId)
                RollbackData rollbackData = execution.getVariable("rollbackData")
                InitializeProcessVariables(execution)
 //             rollbackData.put("DCVFMODULEVOL", "aiccloudregion", cloudSiteId)
                RollbackData rollbackData = execution.getVariable("rollbackData")
-               
+
 //             String vnfId = rollbackData.get("DCVFMODULEVOL", "vnfid")
 //             execution.setVariable("DCVFMODVOLRBK_vnfId", vnfId)
 //             String vfModuleId = rollbackData.get("DCVFMODULEVOL", "vfmoduleid")
 //             String vnfId = rollbackData.get("DCVFMODULEVOL", "vnfid")
 //             execution.setVariable("DCVFMODVOLRBK_vnfId", vnfId)
 //             String vfModuleId = rollbackData.get("DCVFMODULEVOL", "vfmoduleid")
@@ -107,47 +112,48 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
 //             execution.setVariable("DCVFMODVOLRBK_heatStackId", heatStackId)
 //             String requestId = rollbackData.get("DCVFMODULEVOL", "msorequestid")
 //             execution.setVariable("DCVFMODVOLRBK_requestId", requestId)
 //             execution.setVariable("DCVFMODVOLRBK_heatStackId", heatStackId)
 //             String requestId = rollbackData.get("DCVFMODULEVOL", "msorequestid")
 //             execution.setVariable("DCVFMODVOLRBK_requestId", requestId)
-               
+
                String volumeGroupName = rollbackData.get("DCVFMODULEVOL", "volumeGroupName")
                execution.setVariable("DCVFMODVOLRBK_volumeGroupName", volumeGroupName)
 
                String lcpCloudRegionId = rollbackData.get("DCVFMODULEVOL", "aiccloudregion")
                execution.setVariable("DCVFMODVOLRBK_lcpCloudRegionId", lcpCloudRegionId)
                String volumeGroupName = rollbackData.get("DCVFMODULEVOL", "volumeGroupName")
                execution.setVariable("DCVFMODVOLRBK_volumeGroupName", volumeGroupName)
 
                String lcpCloudRegionId = rollbackData.get("DCVFMODULEVOL", "aiccloudregion")
                execution.setVariable("DCVFMODVOLRBK_lcpCloudRegionId", lcpCloudRegionId)
-               
+
                execution.setVariable("DCVFMODVOLRBK_rollbackVnfARequest", rollbackData.get("DCVFMODULEVOL", "rollbackVnfARequest"))
                execution.setVariable("DCVFMODVOLRBK_backoutOnFailure", rollbackData.get("DCVFMODULEVOL", "backoutOnFailure"))
                execution.setVariable("DCVFMODVOLRBK_isCreateVnfRollbackNeeded", rollbackData.get("DCVFMODULEVOL", "isCreateVnfRollbackNeeded"))
                execution.setVariable("DCVFMODVOLRBK_isAAIRollbackNeeded", rollbackData.get("DCVFMODULEVOL", "isAAIRollbackNeeded"))
 
        }
                execution.setVariable("DCVFMODVOLRBK_rollbackVnfARequest", rollbackData.get("DCVFMODULEVOL", "rollbackVnfARequest"))
                execution.setVariable("DCVFMODVOLRBK_backoutOnFailure", rollbackData.get("DCVFMODULEVOL", "backoutOnFailure"))
                execution.setVariable("DCVFMODVOLRBK_isCreateVnfRollbackNeeded", rollbackData.get("DCVFMODULEVOL", "isCreateVnfRollbackNeeded"))
                execution.setVariable("DCVFMODVOLRBK_isAAIRollbackNeeded", rollbackData.get("DCVFMODULEVOL", "isAAIRollbackNeeded"))
 
        }
-       
+
        /**
         * Query AAI volume group by name
         * @param execution
         * @param isDebugEnabled
         */
        public void callRESTQueryAAIVolGrpName(DelegateExecution execution, isDebugEnabled) {
        /**
         * Query AAI volume group by name
         * @param execution
         * @param isDebugEnabled
         */
        public void callRESTQueryAAIVolGrpName(DelegateExecution execution, isDebugEnabled) {
-               
+
                def volumeGroupName = execution.getVariable('DCVFMODVOLRBK_volumeGroupName')
                def cloudRegion = execution.getVariable('DCVFMODVOLRBK_lcpCloudRegionId')
                def volumeGroupName = execution.getVariable('DCVFMODVOLRBK_volumeGroupName')
                def cloudRegion = execution.getVariable('DCVFMODVOLRBK_lcpCloudRegionId')
-               
+
                // This is for stub testing
                def testVolumeGroupName = execution.getVariable('test-volume-group-name')
                if (testVolumeGroupName != null && testVolumeGroupName.length() > 0) {
                        volumeGroupName = testVolumeGroupName
                }
                // This is for stub testing
                def testVolumeGroupName = execution.getVariable('test-volume-group-name')
                if (testVolumeGroupName != null && testVolumeGroupName.length() > 0) {
                        volumeGroupName = testVolumeGroupName
                }
-               
+
                AaiUtil aaiUtil = new AaiUtil(this)
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String queryAAIVolumeNameRequest = aaiEndpoint + '/' + cloudRegion + "/volume-groups" + "?volume-group-name=" + UriUtils.encode(volumeGroupName, 'UTF-8')
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion).queryParam("volume-group-name", volumeGroupName)
+               def queryAAIVolumeNameRequest = aaiUtil.createAaiUri(uri)
 
                msoLogger.debug('Query AAI volume group by name: ' + queryAAIVolumeNameRequest)
 
                msoLogger.debug('Query AAI volume group by name: ' + queryAAIVolumeNameRequest)
-               
+
                APIResponse response = aaiUtil.executeAAIGetCall(execution, queryAAIVolumeNameRequest)
                APIResponse response = aaiUtil.executeAAIGetCall(execution, queryAAIVolumeNameRequest)
-               
+
                String returnCode = response.getStatusCode()
                String aaiResponseAsString = response.getResponseBodyAsString()
                String returnCode = response.getStatusCode()
                String aaiResponseAsString = response.getResponseBodyAsString()
-               
+
                msoLogger.debug("AAI query volume group by name return code: " + returnCode)
                msoLogger.debug("AAI query volume group by name response: " + aaiResponseAsString)
 
                msoLogger.debug("AAI query volume group by name return code: " + returnCode)
                msoLogger.debug("AAI query volume group by name response: " + aaiResponseAsString)
 
@@ -171,31 +177,32 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
                        }
                }
        }
                        }
                }
        }
-       
-       
-       
+
+
+
        public void callRESTDeleteAAIVolumeGroup(DelegateExecution execution, isDebugEnabled) {
 
                callRESTQueryAAIVolGrpName(execution, isDebugEnabled)
        public void callRESTDeleteAAIVolumeGroup(DelegateExecution execution, isDebugEnabled) {
 
                callRESTQueryAAIVolGrpName(execution, isDebugEnabled)
-               
+
                def queryAaiVolumeGroupResponse = execution.getVariable(prefix+'queryAAIVolGrpNameResponse')
                def queryAaiVolumeGroupResponse = execution.getVariable(prefix+'queryAAIVolGrpNameResponse')
-               
+
                def volumeGroupId = utils.getNodeText(queryAaiVolumeGroupResponse, "volume-group-id")
                def resourceVersion = utils.getNodeText(queryAaiVolumeGroupResponse, "resource-version")
 
                def cloudRegion = execution.getVariable("DCVFMODVOLRBK_lcpCloudRegionId")
                def volumeGroupId = utils.getNodeText(queryAaiVolumeGroupResponse, "volume-group-id")
                def resourceVersion = utils.getNodeText(queryAaiVolumeGroupResponse, "resource-version")
 
                def cloudRegion = execution.getVariable("DCVFMODVOLRBK_lcpCloudRegionId")
-               
+
                AaiUtil aaiUtil = new AaiUtil(this)
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String deleteAAIVolumeGrpIdRequest = aaiEndpoint + '/' + cloudRegion + "/volume-groups/volume-group" + '/' +  volumeGroupId + "?resource-version=" + UriUtils.encode(resourceVersion, "UTF-8")
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, volumeGroupId).queryParam("resource-version", resourceVersion)
+               def deleteAAIVolumeGrpIdRequest = aaiUtil.createAaiUri(uri)
 
                msoLogger.debug('Delete AAI volume group : ' + deleteAAIVolumeGrpIdRequest)
 
                msoLogger.debug('Delete AAI volume group : ' + deleteAAIVolumeGrpIdRequest)
-               
+
                APIResponse response = aaiUtil.executeAAIDeleteCall(execution, deleteAAIVolumeGrpIdRequest)
                APIResponse response = aaiUtil.executeAAIDeleteCall(execution, deleteAAIVolumeGrpIdRequest)
-               
+
                String returnCode = response.getStatusCode()
                String aaiResponseAsString = response.getResponseBodyAsString()
                String returnCode = response.getStatusCode()
                String aaiResponseAsString = response.getResponseBodyAsString()
-               
+
                msoLogger.debug("AAI delete volume group return code: " + returnCode)
                msoLogger.debug("AAI delete volume group response: " + aaiResponseAsString)
 
                msoLogger.debug("AAI delete volume group return code: " + returnCode)
                msoLogger.debug("AAI delete volume group response: " + aaiResponseAsString)
 
@@ -219,18 +226,18 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
        // *******************************
 
 
        // *******************************
 
 
-       
+
        public void processJavaException(DelegateExecution execution){
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
                execution.setVariable("prefix",Prefix)
        public void processJavaException(DelegateExecution execution){
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
                execution.setVariable("prefix",Prefix)
-               
+
                try{
                        msoLogger.debug("Caught a Java Exception in " + Prefix)
                        msoLogger.debug("Started processJavaException Method")
                        msoLogger.debug("Variables List: " + execution.getVariables())
                        execution.setVariable("UnexpectedError", "Caught a Java Lang Exception - " + Prefix)  // Adding this line temporarily until this flows error handling gets updated
                        exceptionUtil.buildWorkflowException(execution, 500, "Caught a Java Lang Exception")
                try{
                        msoLogger.debug("Caught a Java Exception in " + Prefix)
                        msoLogger.debug("Started processJavaException Method")
                        msoLogger.debug("Variables List: " + execution.getVariables())
                        execution.setVariable("UnexpectedError", "Caught a Java Lang Exception - " + Prefix)  // Adding this line temporarily until this flows error handling gets updated
                        exceptionUtil.buildWorkflowException(execution, 500, "Caught a Java Lang Exception")
-                       
+
                }catch(Exception e){
                        msoLogger.debug("Caught Exception during processJavaException Method: " + e)
                        execution.setVariable("UnexpectedError", "Exception in processJavaException method - " + Prefix)  // Adding this line temporarily until this flows error handling gets updated
                }catch(Exception e){
                        msoLogger.debug("Caught Exception during processJavaException Method: " + e)
                        execution.setVariable("UnexpectedError", "Exception in processJavaException method - " + Prefix)  // Adding this line temporarily until this flows error handling gets updated
index f87f32c..cf5c214 100644 (file)
@@ -37,10 +37,12 @@ import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.AAIObjectType
 import org.springframework.web.util.UriUtils
 import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.AAIObjectPlurals
 import org.onap.so.client.aai.entities.AAIResultWrapper
 import org.onap.so.client.aai.entities.Relationships
 import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.client.aai.entities.AAIResultWrapper
 import org.onap.so.client.aai.entities.Relationships
 import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.constants.Defaults
 import org.json.JSONObject
 import javax.ws.rs.NotFoundException
 
 import org.json.JSONObject
 import javax.ws.rs.NotFoundException
 
@@ -82,7 +84,9 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
                if (cloudSiteId == null) {
                        String cloudConfiguration = execution.getVariable("cloudConfiguration")
                        cloudSiteId = jsonUtil.getJsonValue(cloudConfiguration, "cloudConfiguration.lcpCloudRegionId")
                if (cloudSiteId == null) {
                        String cloudConfiguration = execution.getVariable("cloudConfiguration")
                        cloudSiteId = jsonUtil.getJsonValue(cloudConfiguration, "cloudConfiguration.lcpCloudRegionId")
+                       def cloudOwner = jsonUtil.getJsonValue(cloudConfiguration, "cloudConfiguration.cloudOwner")
                        execution.setVariable("lcpCloudRegionId", cloudSiteId)
                        execution.setVariable("lcpCloudRegionId", cloudSiteId)
+                       execution.setVariable("cloudOwner", cloudOwner)
                }
 
                // Extract attributes from modelInfo
                }
 
                // Extract attributes from modelInfo
@@ -171,10 +175,9 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
                msoLogger.debug('Request cloud region is: ' + cloudRegion)
 
                AaiUtil aaiUtil = new AaiUtil(this)
                msoLogger.debug('Request cloud region is: ' + cloudRegion)
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String queryCloudRegionRequest = aaiEndpoint + '/' + cloudRegion
 
 
-               msoLogger.debug(queryCloudRegionRequest)
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, Defaults.CLOUD_OWNER.toString(), cloudRegion)
+               def queryCloudRegionRequest = aaiUtil.createAaiUri(uri)
 
                cloudRegion = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
 
 
                cloudRegion = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
 
@@ -220,8 +223,9 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
                }
 
                AaiUtil aaiUtil = new AaiUtil(this)
                }
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String queryAAIVolumeNameRequest = aaiEndpoint + '/' + cloudRegion + "/volume-groups" + "?volume-group-name=" + UriUtils.encode(volumeGroupName, 'UTF-8')
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion).queryParam("volume-group-name", volumeGroupName)
+               def queryAAIVolumeNameRequest = aaiUtil.createAaiUri(uri)
 
                msoLogger.debug('Query AAI volume group by name: ' + queryAAIVolumeNameRequest)
 
 
                msoLogger.debug('Query AAI volume group by name: ' + queryAAIVolumeNameRequest)
 
@@ -292,7 +296,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
                def vnfType = execution.getVariable("vnfType")
                def tenantId = execution.getVariable("tenantId")
                def cloudRegion = execution.getVariable('lcpCloudRegionId')
                def vnfType = execution.getVariable("vnfType")
                def tenantId = execution.getVariable("tenantId")
                def cloudRegion = execution.getVariable('lcpCloudRegionId')
-
+               def cloudOwner = execution.getVariable('cloudOwner')
                msoLogger.debug("volumeGroupId: " + volumeGroupId)
 
                def testGroupId = execution.getVariable('test-volume-group-id')
                msoLogger.debug("volumeGroupId: " + volumeGroupId)
 
                def testGroupId = execution.getVariable('test-volume-group-id')
@@ -305,16 +309,17 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
                msoLogger.debug("volumeGroupId to be used: " + volumeGroupId)
 
                AaiUtil aaiUtil = new AaiUtil(this)
                msoLogger.debug("volumeGroupId to be used: " + volumeGroupId)
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String createAAIVolumeGrpNameUrlRequest = aaiEndpoint + '/' + cloudRegion + "/volume-groups/volume-group/" + UriUtils.encode(volumeGroupId, "UTF-8")
 
 
-               String namespace =  aaiUtil.getNamespaceFromUri(aaiUtil.getCloudInfrastructureCloudRegionUri(execution))
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, volumeGroupId)
+               def createAAIVolumeGrpNameUrlRequest = aaiUtil.createAaiUri(uri)
+
+               String namespace =  aaiUtil.getNamespaceFromUri(createAAIVolumeGrpNameUrlRequest)
                msoLogger.debug("AAI namespace is: " + namespace)
 
                msoLogger.debug("Request URL for PUT: " + createAAIVolumeGrpNameUrlRequest)
 
                NetworkUtils networkUtils = new NetworkUtils()
                msoLogger.debug("AAI namespace is: " + namespace)
 
                msoLogger.debug("Request URL for PUT: " + createAAIVolumeGrpNameUrlRequest)
 
                NetworkUtils networkUtils = new NetworkUtils()
-               String payload = networkUtils.createCloudRegionVolumeRequest(volumeGroupId, volumeName, vnfType, vnfId, tenantId, cloudRegion, namespace, modelCustomizationId)
+               String payload = networkUtils.createCloudRegionVolumeRequest(volumeGroupId, volumeName, vnfType, vnfId, tenantId, cloudOwner, cloudRegion, namespace, modelCustomizationId)
                String payloadXml = utils.formatXml(payload)
                msoLogger.debug("Request payload for PUT: " + payloadXml)
 
                String payloadXml = utils.formatXml(payload)
                msoLogger.debug("Request payload for PUT: " + payloadXml)
 
@@ -541,10 +546,11 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
                String cloudRegion = execution.getVariable("lcpCloudRegionId")
 
                AaiUtil aaiUtil = new AaiUtil(this)
                String cloudRegion = execution.getVariable("lcpCloudRegionId")
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String updateAAIVolumeGroupUrlRequest = aaiEndpoint + '/' + cloudRegion + "/volume-groups/volume-group/" + UriUtils.encode(volumeGroupId, 'UTF-8')
 
 
-               String namespace =  aaiUtil.getNamespaceFromUri(aaiUtil.getCloudInfrastructureCloudRegionUri(execution))
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, volumeGroupId)
+               def updateAAIVolumeGroupUrlRequest = aaiUtil.createAaiUri(uri)
+
+               String namespace =  aaiUtil.getNamespaceFromUri(updateAAIVolumeGroupUrlRequest)
 
                msoLogger.debug("updateAAIVolumeGroupUrlRequest - " +  updateAAIVolumeGroupUrlRequest)
 
 
                msoLogger.debug("updateAAIVolumeGroupUrlRequest - " +  updateAAIVolumeGroupUrlRequest)
 
@@ -595,11 +601,11 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase {
                def vnfId = execution.getVariable('vnfId')
 
                AaiUtil aaiUtil = new AaiUtil(this)
                def vnfId = execution.getVariable('vnfId')
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getNetworkGenericVnfEndpoint(execution)
-               def String queryAAIRequest = aaiEndpoint + "/" + UriUtils.encode(vnfId, "UTF-8")
-
-               msoLogger.debug("AAI query generic vnf request: " + queryAAIRequest)
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+               String queryAAIRequest = aaiUtil.createAaiUri(uri)
 
 
+               msoLogger.debug("AAI query generic vnf endpoint: " + queryAAIRequest)
+               
                APIResponse response = aaiUtil.executeAAIGetCall(execution, queryAAIRequest)
 
                String returnCode = response.getStatusCode()
                APIResponse response = aaiUtil.executeAAIGetCall(execution, queryAAIRequest)
 
                String returnCode = response.getStatusCode()
index 1585a7b..b35aab1 100644 (file)
@@ -24,6 +24,7 @@ import static org.apache.commons.lang3.StringUtils.*
 
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.onap.aai.domain.yang.GenericVnf
 import org.onap.so.bpmn.common.scripts.AaiUtil
 import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
 import org.onap.so.bpmn.common.scripts.ExceptionUtil
 import org.onap.so.bpmn.common.scripts.AaiUtil
 import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
 import org.onap.so.bpmn.common.scripts.ExceptionUtil
@@ -105,7 +106,13 @@ class DoCreateVnf extends AbstractServiceTaskProcessor {
 
                        String vnfName = execution.getVariable("vnfName")
                        if (vnfName.equals("") || vnfName.equals("null")) {
 
                        String vnfName = execution.getVariable("vnfName")
                        if (vnfName.equals("") || vnfName.equals("null")) {
-                               vnfName = null
+                               AAIResourcesClient resourceClient = new AAIResourcesClient()
+                               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, execution.getVariable("vnfId"))
+                               if(resourceClient.exists(uri)){
+                                       exceptionUtil.buildWorkflowException(execution, 5000, "Generic Vnf Already Exist.")
+                               }
+
+
                        }
                        execution.setVariable("DoCVNF_vnfName", vnfName)
                        msoLogger.debug("Incoming Vnf Name is: " + vnfName)
                        }
                        execution.setVariable("DoCVNF_vnfName", vnfName)
                        msoLogger.debug("Incoming Vnf Name is: " + vnfName)
index 3ee059c..3812c08 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -33,6 +33,11 @@ import org.onap.so.bpmn.common.scripts.VidUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.graphinventory.entities.uri.Depth
+import org.onap.so.constants.Defaults
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse;
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse;
@@ -44,7 +49,7 @@ import groovy.json.*
 
 public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoDeleteNetworkInstance.class);
 
 public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoDeleteNetworkInstance.class);
-       
+
        String Prefix= "DELNWKI_"
        String groovyClassName = "DoDeleteNetworkInstance"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
        String Prefix= "DELNWKI_"
        String groovyClassName = "DoDeleteNetworkInstance"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
@@ -93,13 +98,13 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                execution.setVariable(Prefix + "deactivateSDNCResponse", "")
                execution.setVariable(Prefix + "deactivateSdncReturnCode", "")
                execution.setVariable(Prefix + "isSdncDeactivateRollbackNeeded", "")
                execution.setVariable(Prefix + "deactivateSDNCResponse", "")
                execution.setVariable(Prefix + "deactivateSdncReturnCode", "")
                execution.setVariable(Prefix + "isSdncDeactivateRollbackNeeded", "")
-               
+
                execution.setVariable(Prefix + "rollbackDeactivateSDNCRequest", "")
                execution.setVariable(Prefix + "isException", false)
                execution.setVariable(Prefix + "rollbackDeactivateSDNCRequest", "")
                execution.setVariable(Prefix + "isException", false)
-               
+
 
        }
 
        }
-       
+
        // **************************************************
        //     Pre or Prepare Request Section
        // **************************************************
        // **************************************************
        //     Pre or Prepare Request Section
        // **************************************************
@@ -112,19 +117,19 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
 
                // initialize flow variables
                InitializeProcessVariables(execution)
 
                // initialize flow variables
                InitializeProcessVariables(execution)
-               
+
                try {
                        // get incoming message/input
                        execution.setVariable("action", "DELETE")
                        String deleteNetwork = execution.getVariable("bpmnRequest")
                        if (deleteNetwork != null) {
                                if (deleteNetwork.contains("requestDetails")) {
                try {
                        // get incoming message/input
                        execution.setVariable("action", "DELETE")
                        String deleteNetwork = execution.getVariable("bpmnRequest")
                        if (deleteNetwork != null) {
                                if (deleteNetwork.contains("requestDetails")) {
-                                       // JSON format request is sent, create xml 
+                                       // JSON format request is sent, create xml
                                        try {
                                                def prettyJson = JsonOutput.prettyPrint(deleteNetwork.toString())
                                                msoLogger.debug(" Incoming message formatted . . . : " + '\n' + prettyJson)
                                                deleteNetwork =  vidUtils.createXmlNetworkRequestInfra(execution, deleteNetwork)
                                        try {
                                                def prettyJson = JsonOutput.prettyPrint(deleteNetwork.toString())
                                                msoLogger.debug(" Incoming message formatted . . . : " + '\n' + prettyJson)
                                                deleteNetwork =  vidUtils.createXmlNetworkRequestInfra(execution, deleteNetwork)
-               
+
                                        } catch (Exception ex) {
                                                String dataErrorMessage = " Invalid json format Request - " + ex.getMessage()
                                                msoLogger.debug(dataErrorMessage)
                                        } catch (Exception ex) {
                                                String dataErrorMessage = " Invalid json format Request - " + ex.getMessage()
                                                msoLogger.debug(dataErrorMessage)
@@ -132,26 +137,26 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                        }
                                } else {
                                           // XML format request is sent
                                        }
                                } else {
                                           // XML format request is sent
-                                          
+
                                }
                        } else {
                                        // vIPR format request is sent, create xml from individual variables
                                deleteNetwork = vidUtils.createXmlNetworkRequestInstance(execution)
                        }
                                }
                        } else {
                                        // vIPR format request is sent, create xml from individual variables
                                deleteNetwork = vidUtils.createXmlNetworkRequestInstance(execution)
                        }
-                               
+
                        deleteNetwork = utils.formatXml(deleteNetwork)
                        msoLogger.debug(deleteNetwork)
                        execution.setVariable(Prefix + "networkRequest", deleteNetwork)
                        msoLogger.debug(Prefix + "networkRequest - " + '\n' + deleteNetwork)
                        deleteNetwork = utils.formatXml(deleteNetwork)
                        msoLogger.debug(deleteNetwork)
                        execution.setVariable(Prefix + "networkRequest", deleteNetwork)
                        msoLogger.debug(Prefix + "networkRequest - " + '\n' + deleteNetwork)
-                               
+
                        // validate 'backout-on-failure' to override 'mso.rollback'
                        boolean rollbackEnabled = networkUtils.isRollbackEnabled(execution, deleteNetwork)
                        execution.setVariable(Prefix + "rollbackEnabled", rollbackEnabled)
                        msoLogger.debug(Prefix + "rollbackEnabled - " + rollbackEnabled)
                        // validate 'backout-on-failure' to override 'mso.rollback'
                        boolean rollbackEnabled = networkUtils.isRollbackEnabled(execution, deleteNetwork)
                        execution.setVariable(Prefix + "rollbackEnabled", rollbackEnabled)
                        msoLogger.debug(Prefix + "rollbackEnabled - " + rollbackEnabled)
-                       
+
                        String networkInputs = utils.getNodeXml(deleteNetwork, "network-inputs", false).replace("tag0:","").replace(":tag0","")
                        execution.setVariable(Prefix + "networkInputs", networkInputs)
                        String networkInputs = utils.getNodeXml(deleteNetwork, "network-inputs", false).replace("tag0:","").replace(":tag0","")
                        execution.setVariable(Prefix + "networkInputs", networkInputs)
-                       
+
                        // prepare messageId
                        String messageId = execution.getVariable("testMessageId")  // for testing
                        if (messageId == null || messageId == "") {
                        // prepare messageId
                        String messageId = execution.getVariable("testMessageId")  // for testing
                        if (messageId == null || messageId == "") {
@@ -161,11 +166,11 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                        msoLogger.debug(Prefix + "messageId, pre-assigned: " + messageId)
                        }
                        execution.setVariable(Prefix + "messageId", messageId)
                                        msoLogger.debug(Prefix + "messageId, pre-assigned: " + messageId)
                        }
                        execution.setVariable(Prefix + "messageId", messageId)
-                               
+
                        String source = utils.getNodeText(deleteNetwork, "source")
                        execution.setVariable(Prefix + "source", source)
                        msoLogger.debug(Prefix + "source - " + source)
                        String source = utils.getNodeText(deleteNetwork, "source")
                        execution.setVariable(Prefix + "source", source)
                        msoLogger.debug(Prefix + "source - " + source)
-                       
+
                        String networkId = ""
                        if (utils.nodeExists(networkInputs, "network-id")) {
                                networkId = utils.getNodeText(networkInputs, "network-id")
                        String networkId = ""
                        if (utils.nodeExists(networkInputs, "network-id")) {
                                networkId = utils.getNodeText(networkInputs, "network-id")
@@ -188,7 +193,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        }
                        execution.setVariable(Prefix + "lcpCloudRegion", lcpCloudRegion)
                        msoLogger.debug("lcpCloudRegion : " + lcpCloudRegion)
                        }
                        execution.setVariable(Prefix + "lcpCloudRegion", lcpCloudRegion)
                        msoLogger.debug("lcpCloudRegion : " + lcpCloudRegion)
-                       
+
                        String tenantId = null
                        if (utils.nodeExists(networkInputs, "tenant-id")) {
                                tenantId = utils.getNodeText(networkInputs, "tenant-id")
                        String tenantId = null
                        if (utils.nodeExists(networkInputs, "tenant-id")) {
                                tenantId = utils.getNodeText(networkInputs, "tenant-id")
@@ -199,18 +204,18 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        }
                        execution.setVariable(Prefix + "tenantId", tenantId)
                        msoLogger.debug("tenantId : " + tenantId)
                        }
                        execution.setVariable(Prefix + "tenantId", tenantId)
                        msoLogger.debug("tenantId : " + tenantId)
-                       
+
                        String sdncVersion = execution.getVariable("sdncVersion")
                        msoLogger.debug("sdncVersion? : " + sdncVersion)
                        String sdncVersion = execution.getVariable("sdncVersion")
                        msoLogger.debug("sdncVersion? : " + sdncVersion)
-                       
+
                        // PO Authorization Info / headers Authorization=
                        String basicAuthValuePO = UrnPropertiesReader.getVariable("mso.adapters.po.auth", execution)
                        // PO Authorization Info / headers Authorization=
                        String basicAuthValuePO = UrnPropertiesReader.getVariable("mso.adapters.po.auth", execution)
-                       
+
                        try {
                                def encodedString = utils.getBasicAuth(basicAuthValuePO, UrnPropertiesReader.getVariable("mso.msoKey", execution))
                                execution.setVariable("BasicAuthHeaderValuePO",encodedString)
                                execution.setVariable("BasicAuthHeaderValueSDNC", encodedString)
                        try {
                                def encodedString = utils.getBasicAuth(basicAuthValuePO, UrnPropertiesReader.getVariable("mso.msoKey", execution))
                                execution.setVariable("BasicAuthHeaderValuePO",encodedString)
                                execution.setVariable("BasicAuthHeaderValueSDNC", encodedString)
-       
+
                        } catch (IOException ex) {
                                String dataErrorMessage = " Unable to encode PO/SDNC user/password string - " + ex.getMessage()
                                msoLogger.debug(dataErrorMessage )
                        } catch (IOException ex) {
                                String dataErrorMessage = " Unable to encode PO/SDNC user/password string - " + ex.getMessage()
                                msoLogger.debug(dataErrorMessage )
@@ -227,7 +232,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
 
                }
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
 
                }
-               
+
        }
 
 
        }
 
 
@@ -243,10 +248,11 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                networkId = UriUtils.encode(networkId,"UTF-8")
 
                // Prepare AA&I url
                networkId = UriUtils.encode(networkId,"UTF-8")
 
                // Prepare AA&I url
-               String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                AaiUtil aaiUriUtil = new AaiUtil(this)
                AaiUtil aaiUriUtil = new AaiUtil(this)
-               String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-               String queryAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
+               uri.depth(Depth.ALL)
+
+               String queryAAIRequest = aaiUriUtil.createAaiUri(uri)
                msoLogger.debug(queryAAIRequest)
                execution.setVariable(Prefix + "queryAAIRequest", queryAAIRequest)
                msoLogger.debug(Prefix + "AAIRequest - " + "\n" + queryAAIRequest)
                msoLogger.debug(queryAAIRequest)
                execution.setVariable(Prefix + "queryAAIRequest", queryAAIRequest)
                msoLogger.debug(Prefix + "AAIRequest - " + "\n" + queryAAIRequest)
@@ -279,7 +285,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                                exceptionUtil.buildWorkflowException(execution, 2500, relationshipMessage)
 
                                        } else {
                                                exceptionUtil.buildWorkflowException(execution, 2500, relationshipMessage)
 
                                        } else {
-                                           // verify if lcpCloudRegion was sent as input, if not get value from AAI Response 
+                                           // verify if lcpCloudRegion was sent as input, if not get value from AAI Response
                                            if (execution.getVariable(Prefix + "lcpCloudRegion") == null ) {
                                                        String lcpCloudRegion = networkUtils.getCloudRegion(aaiResponseAsString)
                                                        execution.setVariable(Prefix + "lcpCloudRegion", lcpCloudRegion)
                                            if (execution.getVariable(Prefix + "lcpCloudRegion") == null ) {
                                                        String lcpCloudRegion = networkUtils.getCloudRegion(aaiResponseAsString)
                                                        execution.setVariable(Prefix + "lcpCloudRegion", lcpCloudRegion)
@@ -290,7 +296,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                                        execution.setVariable(Prefix + "tenantId", tenantId)
                                                        msoLogger.debug(" Get AAI getTenantId()  : " + tenantId)
                                                }
                                                        execution.setVariable(Prefix + "tenantId", tenantId)
                                                        msoLogger.debug(" Get AAI getTenantId()  : " + tenantId)
                                                }
-                                       
+
                                        }
                                }
                                msoLogger.debug(Prefix + "isVfRelationshipExist - " + isVfRelationshipExist)
                                        }
                                }
                                msoLogger.debug(Prefix + "isVfRelationshipExist - " + isVfRelationshipExist)
@@ -339,15 +345,13 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        String networkInputs  = execution.getVariable(Prefix + "networkInputs")
                        // String cloudRegion = utils.getNodeText(networkInputs, "aic-cloud-region")
                        String cloudRegion = execution.getVariable(Prefix + "lcpCloudRegion")
                        String networkInputs  = execution.getVariable(Prefix + "networkInputs")
                        // String cloudRegion = utils.getNodeText(networkInputs, "aic-cloud-region")
                        String cloudRegion = execution.getVariable(Prefix + "lcpCloudRegion")
-                       cloudRegion = UriUtils.encode(cloudRegion,"UTF-8")
                        // Prepare AA&I url
                        // Prepare AA&I url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUtil = new AaiUtil(this)
                        AaiUtil aaiUtil = new AaiUtil(this)
-                       String aai_uri = aaiUtil.getCloudInfrastructureCloudRegionUri(execution)
-                       String queryCloudRegionRequest = "${aai_endpoint}${aai_uri}/" + cloudRegion
-                       msoLogger.debug(queryCloudRegionRequest)
+
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, Defaults.CLOUD_OWNER.toString(), cloudRegion)
+                       def queryCloudRegionRequest = aaiUtil.createAaiUri(uri)
+
                        execution.setVariable(Prefix + "queryCloudRegionRequest", queryCloudRegionRequest)
                        execution.setVariable(Prefix + "queryCloudRegionRequest", queryCloudRegionRequest)
-                       msoLogger.debug(Prefix + "queryCloudRegionRequest - " + "\n" + queryCloudRegionRequest)
 
                        String cloudRegionPo = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
                        String cloudRegionSdnc = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "SDNC", cloudRegion)
 
                        String cloudRegionPo = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
                        String cloudRegionSdnc = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "SDNC", cloudRegion)
@@ -392,7 +396,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        String networkType = utils.getNodeText(queryAAIResponse, "network-type")
                        String networkId = utils.getNodeText(queryAAIResponse, "network-id")
                        String backoutOnFailure = execution.getVariable(Prefix + "rollbackEnabled")
                        String networkType = utils.getNodeText(queryAAIResponse, "network-type")
                        String networkId = utils.getNodeText(queryAAIResponse, "network-id")
                        String backoutOnFailure = execution.getVariable(Prefix + "rollbackEnabled")
-                       
+
                        String networkStackId = ""
                        networkStackId = utils.getNodeText(queryAAIResponse, "heat-stack-id")
                        if (networkStackId == 'null' || networkStackId == "" || networkStackId == null) {
                        String networkStackId = ""
                        networkStackId = utils.getNodeText(queryAAIResponse, "heat-stack-id")
                        if (networkStackId == 'null' || networkStackId == "" || networkStackId == null) {
@@ -412,14 +416,14 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        String notificationUrl = ""                                   //TODO - is this coming from URN? What variable/value to use?
                        //String notificationUrl = execution.getVariable("URN_?????") //TODO - is this coming from URN? What variable/value to use?
 
                        String notificationUrl = ""                                   //TODO - is this coming from URN? What variable/value to use?
                        //String notificationUrl = execution.getVariable("URN_?????") //TODO - is this coming from URN? What variable/value to use?
 
-                       String modelCustomizationUuid = ""                      
+                       String modelCustomizationUuid = ""
                        if (utils.nodeExists(networkRequest, "networkModelInfo")) {
                                String networkModelInfo = utils.getNodeXml(networkRequest, "networkModelInfo", false).replace("tag0:","").replace(":tag0","")
                                modelCustomizationUuid = utils.getNodeText(networkModelInfo, "modelCustomizationUuid")
                        } else {
                            modelCustomizationUuid = utils.getNodeText(networkRequest, "modelCustomizationId")
                        }
                        if (utils.nodeExists(networkRequest, "networkModelInfo")) {
                                String networkModelInfo = utils.getNodeXml(networkRequest, "networkModelInfo", false).replace("tag0:","").replace(":tag0","")
                                modelCustomizationUuid = utils.getNodeText(networkModelInfo, "modelCustomizationUuid")
                        } else {
                            modelCustomizationUuid = utils.getNodeText(networkRequest, "modelCustomizationId")
                        }
-                       
+
                        String deleteNetworkRequest = """
                                          <deleteNetworkRequest>
                                            <cloudSiteId>${MsoUtils.xmlEscape(cloudSiteId)}</cloudSiteId>
                        String deleteNetworkRequest = """
                                          <deleteNetworkRequest>
                                            <cloudSiteId>${MsoUtils.xmlEscape(cloudSiteId)}</cloudSiteId>
@@ -515,7 +519,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                networkId = utils.getNodeText(deleteNetworkInput, "network-id")
                        }
                        if (networkId == 'null') {networkId = ""}
                                networkId = utils.getNodeText(deleteNetworkInput, "network-id")
                        }
                        if (networkId == 'null') {networkId = ""}
-                       
+
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
 
                        // get/set 'msoRequestId' and 'mso-request-id'
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
 
                        // get/set 'msoRequestId' and 'mso-request-id'
@@ -524,11 +528,11 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                execution.setVariable("mso-request-id", requestId)
                        } else {
                            requestId = execution.getVariable("mso-request-id")
                                execution.setVariable("mso-request-id", requestId)
                        } else {
                            requestId = execution.getVariable("mso-request-id")
-                       }       
+                       }
                        execution.setVariable(Prefix + "requestId", requestId)
                        msoLogger.debug(Prefix + "requestId " + requestId)
                        String queryAAIResponse = execution.getVariable(Prefix + "queryAAIResponse")
                        execution.setVariable(Prefix + "requestId", requestId)
                        msoLogger.debug(Prefix + "requestId " + requestId)
                        String queryAAIResponse = execution.getVariable(Prefix + "queryAAIResponse")
-                       
+
                        SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils()
                        String cloudRegionId = execution.getVariable(Prefix + "cloudRegionSdnc")
                        // 1. prepare delete topology via SDNC Adapter SUBFLOW call
                        SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils()
                        String cloudRegionId = execution.getVariable(Prefix + "cloudRegionSdnc")
                        // 1. prepare delete topology via SDNC Adapter SUBFLOW call
@@ -567,7 +571,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        if (networkId == 'null') {networkId = ""}
 
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
                        if (networkId == 'null') {networkId = ""}
 
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
-                       
+
                        SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils()
                        String cloudRegionId = execution.getVariable(Prefix + "cloudRegionSdnc")
                        // 1. prepare delete topology via SDNC Adapter SUBFLOW call
                        SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils()
                        String cloudRegionId = execution.getVariable(Prefix + "cloudRegionSdnc")
                        // 1. prepare delete topology via SDNC Adapter SUBFLOW call
@@ -587,8 +591,8 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                }
 
        }
                }
 
        }
-       
-       
+
+
        public void prepareRpcSDNCDeactivate(DelegateExecution execution) {
 
                execution.setVariable("prefix",Prefix)
        public void prepareRpcSDNCDeactivate(DelegateExecution execution) {
 
                execution.setVariable("prefix",Prefix)
@@ -596,7 +600,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                msoLogger.trace("Inside prepareRpcSDNCDeactivate() of DoDeleteNetworkInstance ")
 
                try {
                msoLogger.trace("Inside prepareRpcSDNCDeactivate() of DoDeleteNetworkInstance ")
 
                try {
-               
+
                        // get variables
                        String sdncCallback = UrnPropertiesReader.getVariable("mso.workflow.sdncadapter.callback",execution)
                        String deleteNetworkInput = execution.getVariable(Prefix + "networkRequest")
                        // get variables
                        String sdncCallback = UrnPropertiesReader.getVariable("mso.workflow.sdncadapter.callback",execution)
                        String deleteNetworkInput = execution.getVariable(Prefix + "networkRequest")
@@ -607,7 +611,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        }
                        if (networkId == 'null') {networkId = ""}
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
                        }
                        if (networkId == 'null') {networkId = ""}
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
-                       
+
                        String sndcTopologyRollbackRpcRequest = sdncAdapterUtils.sdncTopologyRequestRsrc(execution, deleteNetworkInput, serviceInstanceId, sdncCallback, "deactivate", "DeleteNetworkInstance", cloudRegionId, networkId, null)
                        String sndcTopologyRollbackRpcRequestAsString = utils.formatXml(sndcTopologyRollbackRpcRequest)
                        execution.setVariable(Prefix + "deactivateSDNCRequest", sndcTopologyRollbackRpcRequestAsString)
                        String sndcTopologyRollbackRpcRequest = sdncAdapterUtils.sdncTopologyRequestRsrc(execution, deleteNetworkInput, serviceInstanceId, sdncCallback, "deactivate", "DeleteNetworkInstance", cloudRegionId, networkId, null)
                        String sndcTopologyRollbackRpcRequestAsString = utils.formatXml(sndcTopologyRollbackRpcRequest)
                        execution.setVariable(Prefix + "deactivateSDNCRequest", sndcTopologyRollbackRpcRequestAsString)
@@ -622,7 +626,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                }
 
        }
                }
 
        }
-       
+
        // **************************************************
        //     Post or Validate Response Section
        // **************************************************
        // **************************************************
        //     Post or Validate Response Section
        // **************************************************
@@ -640,7 +644,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        msoLogger.debug(" Network Adapter responseCode: " + returnCode)
                        msoLogger.debug("Network Adapter Response - " + "\n" + networkResponse)
                        msoLogger.debug(networkResponse)
                        msoLogger.debug(" Network Adapter responseCode: " + returnCode)
                        msoLogger.debug("Network Adapter Response - " + "\n" + networkResponse)
                        msoLogger.debug(networkResponse)
-                       
+
                        String errorMessage = ""
                        if (returnCode == "200") {
                                msoLogger.debug(" Network Adapter Response is successful - " + "\n" + networkResponse)
                        String errorMessage = ""
                        if (returnCode == "200") {
                                msoLogger.debug(" Network Adapter Response is successful - " + "\n" + networkResponse)
@@ -658,9 +662,9 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                    String rollbackNetworkXml = utils.formatXml(rollbackNetwork)
                                    execution.setVariable(Prefix + "rollbackNetworkRequest", rollbackNetworkXml)
                                    msoLogger.debug(" Network Adapter rollback data - " + "\n" + rollbackNetworkXml)
                                    String rollbackNetworkXml = utils.formatXml(rollbackNetwork)
                                    execution.setVariable(Prefix + "rollbackNetworkRequest", rollbackNetworkXml)
                                    msoLogger.debug(" Network Adapter rollback data - " + "\n" + rollbackNetworkXml)
-                               }       
-                               
-                               
+                               }
+
+
                        } else { // network error
                           if (returnCode.toInteger() > 399 && returnCode.toInteger() < 600) {   //4xx, 5xx
                                   if (networkResponse.contains("deleteNetworkError")  ) {
                        } else { // network error
                           if (returnCode.toInteger() > 399 && returnCode.toInteger() < 600) {   //4xx, 5xx
                                   if (networkResponse.contains("deleteNetworkError")  ) {
@@ -756,7 +760,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                }
 
        }
                }
 
        }
-       
+
        public void prepareRpcSDNCDeactivateRollback(DelegateExecution execution) {
 
                execution.setVariable("prefix",Prefix)
        public void prepareRpcSDNCDeactivateRollback(DelegateExecution execution) {
 
                execution.setVariable("prefix",Prefix)
@@ -764,7 +768,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                msoLogger.trace("Inside prepareRpcSDNCDeactivateRollback() of DoDeleteNetworkInstance ")
 
                try {
                msoLogger.trace("Inside prepareRpcSDNCDeactivateRollback() of DoDeleteNetworkInstance ")
 
                try {
-               
+
                        // get variables
                        String sdncCallback = UrnPropertiesReader.getVariable("mso.workflow.sdncadapter.callback",execution)
                        String deleteNetworkInput = execution.getVariable(Prefix + "networkRequest")
                        // get variables
                        String sdncCallback = UrnPropertiesReader.getVariable("mso.workflow.sdncadapter.callback",execution)
                        String deleteNetworkInput = execution.getVariable(Prefix + "networkRequest")
@@ -789,43 +793,43 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                }
 
        }
                }
 
        }
-       
+
        public void prepareRollbackData(DelegateExecution execution) {
 
                execution.setVariable("prefix",Prefix)
        public void prepareRollbackData(DelegateExecution execution) {
 
                execution.setVariable("prefix",Prefix)
-               
+
                msoLogger.trace("Inside prepareRollbackData() of DoDeleteNetworkInstance ")
                msoLogger.trace("Inside prepareRollbackData() of DoDeleteNetworkInstance ")
-               
+
                try {
                try {
-                       
+
                        Map<String, String> rollbackData = new HashMap<String, String>();
                        String rollbackNetworkRequest = execution.getVariable(Prefix + "rollbackNetworkRequest")
                        if (rollbackNetworkRequest != null) {
                                if (rollbackNetworkRequest != "") {
                                   rollbackData.put("rollbackNetworkRequest", execution.getVariable(Prefix + "rollbackNetworkRequest"))
                            }
                        Map<String, String> rollbackData = new HashMap<String, String>();
                        String rollbackNetworkRequest = execution.getVariable(Prefix + "rollbackNetworkRequest")
                        if (rollbackNetworkRequest != null) {
                                if (rollbackNetworkRequest != "") {
                                   rollbackData.put("rollbackNetworkRequest", execution.getVariable(Prefix + "rollbackNetworkRequest"))
                            }
-                       }       
+                       }
                        String rollbackDeactivateSDNCRequest = execution.getVariable(Prefix + "rollbackDeactivateSDNCRequest")
                        if (rollbackDeactivateSDNCRequest != null) {
                                if (rollbackDeactivateSDNCRequest != "") {
                                rollbackData.put("rollbackDeactivateSDNCRequest", execution.getVariable(Prefix + "rollbackDeactivateSDNCRequest"))
                            }
                        String rollbackDeactivateSDNCRequest = execution.getVariable(Prefix + "rollbackDeactivateSDNCRequest")
                        if (rollbackDeactivateSDNCRequest != null) {
                                if (rollbackDeactivateSDNCRequest != "") {
                                rollbackData.put("rollbackDeactivateSDNCRequest", execution.getVariable(Prefix + "rollbackDeactivateSDNCRequest"))
                            }
-                       }               
+                       }
                        execution.setVariable("rollbackData", rollbackData)
                        msoLogger.debug("** rollbackData : " + rollbackData)
                        execution.setVariable("rollbackData", rollbackData)
                        msoLogger.debug("** rollbackData : " + rollbackData)
-                       
+
                        execution.setVariable("WorkflowException", execution.getVariable("WorkflowException"))
                        msoLogger.debug("** WorkflowException : " + execution.getVariable("WorkflowException"))
                        execution.setVariable("WorkflowException", execution.getVariable("WorkflowException"))
                        msoLogger.debug("** WorkflowException : " + execution.getVariable("WorkflowException"))
-                       
+
                } catch (Exception ex) {
                        String exceptionMessage = " Bpmn error encountered in DoDeleteNetworkInstance flow. prepareRollbackData() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                        exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
                } catch (Exception ex) {
                        String exceptionMessage = " Bpmn error encountered in DoDeleteNetworkInstance flow. prepareRollbackData() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                        exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
-               
+
                }
                }
-               
+
        }
        }
-       
+
        public void postProcessResponse (DelegateExecution execution) {
 
                execution.setVariable("prefix", Prefix)
        public void postProcessResponse (DelegateExecution execution) {
 
                execution.setVariable("prefix", Prefix)
@@ -833,7 +837,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                msoLogger.trace("Inside postProcessResponse of DoDeleteNetworkInstance ")
 
                try {
                msoLogger.trace("Inside postProcessResponse of DoDeleteNetworkInstance ")
 
                try {
-                       
+
                        msoLogger.debug(" ***** Is Exception Encountered (isException)? : " + execution.getVariable(Prefix + "isException"))
                        if (execution.getVariable(Prefix + "isException") == false) {
                                execution.setVariable(Prefix + "Success", true)
                        msoLogger.debug(" ***** Is Exception Encountered (isException)? : " + execution.getVariable(Prefix + "isException"))
                        if (execution.getVariable(Prefix + "isException") == false) {
                                execution.setVariable(Prefix + "Success", true)
@@ -841,10 +845,10 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                if (execution.getVariable(Prefix + "isSilentSuccess") == true) {
                                        execution.setVariable("rolledBack", false)
                                } else {
                                if (execution.getVariable(Prefix + "isSilentSuccess") == true) {
                                        execution.setVariable("rolledBack", false)
                                } else {
-                                   execution.setVariable("rolledBack", true) 
+                                   execution.setVariable("rolledBack", true)
                                }
                                prepareSuccessRollbackData(execution) // populate rollbackData
                                }
                                prepareSuccessRollbackData(execution) // populate rollbackData
-                               
+
                        } else {
                                execution.setVariable(Prefix + "Success", false)
                                execution.setVariable("rollbackData", null)
                        } else {
                                execution.setVariable(Prefix + "Success", false)
                                execution.setVariable("rollbackData", null)
@@ -864,25 +868,25 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                          }
                               }
                                }
                                          }
                               }
                                }
-                                  
+
                                // going to the Main flow: a-la-carte or macro
                                msoLogger.debug(" ***** postProcessResponse(), BAD !!!")
                                exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
                                throw new BpmnError("MSOWorkflowException")
                                // going to the Main flow: a-la-carte or macro
                                msoLogger.debug(" ***** postProcessResponse(), BAD !!!")
                                exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
                                throw new BpmnError("MSOWorkflowException")
-                                
-                       }       
-                       
+
+                       }
+
                } catch(BpmnError b){
                    msoLogger.debug("Rethrowing MSOWorkflowException")
                    throw b
                } catch(BpmnError b){
                    msoLogger.debug("Rethrowing MSOWorkflowException")
                    throw b
-                       
+
                } catch (Exception ex) {
                        // caught exception
                        String exceptionMessage = "Bpmn error encountered in DoDeleteNetworkInstance, postProcessResponse() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                        exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
                        throw new BpmnError("MSOWorkflowException")
                } catch (Exception ex) {
                        // caught exception
                        String exceptionMessage = "Bpmn error encountered in DoDeleteNetworkInstance, postProcessResponse() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                        exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
                        throw new BpmnError("MSOWorkflowException")
-                       
+
         }
 
        }
         }
 
        }
@@ -890,18 +894,18 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
        public void prepareSuccessRollbackData(DelegateExecution execution) {
 
                execution.setVariable("prefix",Prefix)
        public void prepareSuccessRollbackData(DelegateExecution execution) {
 
                execution.setVariable("prefix",Prefix)
-               
+
                msoLogger.trace("Inside prepareSuccessRollbackData() of DoDeleteNetworkInstance ")
                msoLogger.trace("Inside prepareSuccessRollbackData() of DoDeleteNetworkInstance ")
-               
+
                try {
                try {
-                       
+
                        if (execution.getVariable("sdncVersion") != '1610') {
                                prepareRpcSDNCDeactivateRollback(execution)
                                prepareRpcSDNCUnassignRollback(execution)
                        } else {
                            prepareSDNCRollback(execution)
                        if (execution.getVariable("sdncVersion") != '1610') {
                                prepareRpcSDNCDeactivateRollback(execution)
                                prepareRpcSDNCUnassignRollback(execution)
                        } else {
                            prepareSDNCRollback(execution)
-                       }       
-                       
+                       }
+
                        Map<String, String> rollbackData = new HashMap<String, String>();
                        String rollbackSDNCRequest = execution.getVariable(Prefix + "rollbackSDNCRequest")
                        if (rollbackSDNCRequest != null) {
                        Map<String, String> rollbackData = new HashMap<String, String>();
                        String rollbackSDNCRequest = execution.getVariable(Prefix + "rollbackSDNCRequest")
                        if (rollbackSDNCRequest != null) {
@@ -914,26 +918,26 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                if (rollbackNetworkRequest != "") {
                                   rollbackData.put("rollbackNetworkRequest", execution.getVariable(Prefix + "rollbackNetworkRequest"))
                            }
                                if (rollbackNetworkRequest != "") {
                                   rollbackData.put("rollbackNetworkRequest", execution.getVariable(Prefix + "rollbackNetworkRequest"))
                            }
-                       }       
+                       }
                        String rollbackDeactivateSDNCRequest = execution.getVariable(Prefix + "rollbackDeactivateSDNCRequest")
                        if (rollbackDeactivateSDNCRequest != null) {
                                if (rollbackDeactivateSDNCRequest != "") {
                                rollbackData.put("rollbackDeactivateSDNCRequest", execution.getVariable(Prefix + "rollbackDeactivateSDNCRequest"))
                            }
                        String rollbackDeactivateSDNCRequest = execution.getVariable(Prefix + "rollbackDeactivateSDNCRequest")
                        if (rollbackDeactivateSDNCRequest != null) {
                                if (rollbackDeactivateSDNCRequest != "") {
                                rollbackData.put("rollbackDeactivateSDNCRequest", execution.getVariable(Prefix + "rollbackDeactivateSDNCRequest"))
                            }
-                       }               
+                       }
                        execution.setVariable("rollbackData", rollbackData)
                        execution.setVariable("rollbackData", rollbackData)
-                       
+
                        msoLogger.debug("** rollbackData : " + rollbackData)
                        execution.setVariable("WorkflowException", null)
 
                        msoLogger.debug("** rollbackData : " + rollbackData)
                        execution.setVariable("WorkflowException", null)
 
-                       
+
                } catch (Exception ex) {
                        String exceptionMessage = " Bpmn error encountered in DoDeleteNetworkInstance flow. prepareSuccessRollbackData() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                        exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
                } catch (Exception ex) {
                        String exceptionMessage = " Bpmn error encountered in DoDeleteNetworkInstance flow. prepareSuccessRollbackData() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                        exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
-               
+
                }
                }
-               
+
        }
 
        public void prepareRpcSDNCUnassignRollback(DelegateExecution execution) {
        }
 
        public void prepareRpcSDNCUnassignRollback(DelegateExecution execution) {
@@ -943,7 +947,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                msoLogger.trace("Inside prepareRpcSDNCUnassignRollbac() of DoDeleteNetworkInstance ")
 
                try {
                msoLogger.trace("Inside prepareRpcSDNCUnassignRollbac() of DoDeleteNetworkInstance ")
 
                try {
-               
+
                        // get variables
                        String sdncCallback = UrnPropertiesReader.getVariable("mso.workflow.sdncadapter.callback",execution)
                        String deleteNetworkInput = execution.getVariable(Prefix + "networkRequest")
                        // get variables
                        String sdncCallback = UrnPropertiesReader.getVariable("mso.workflow.sdncadapter.callback",execution)
                        String deleteNetworkInput = execution.getVariable(Prefix + "networkRequest")
@@ -952,7 +956,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        String networkId = utils.getNodeText(deleteSDNCResponse, "network-id")
                        if (networkId == 'null') {networkId = ""}
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
                        String networkId = utils.getNodeText(deleteSDNCResponse, "network-id")
                        if (networkId == 'null') {networkId = ""}
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
-                               
+
                        SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils()
                        String cloudRegionId = execution.getVariable(Prefix + "cloudRegionSdnc")
                        // 1. prepare delete topology via SDNC Adapter SUBFLOW call
                        SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils()
                        String cloudRegionId = execution.getVariable(Prefix + "cloudRegionSdnc")
                        // 1. prepare delete topology via SDNC Adapter SUBFLOW call
@@ -962,7 +966,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        execution.setVariable(Prefix + "rollbackSDNCRequest", sndcTopologyDeleteRequesAsString)
                        msoLogger.debug(Prefix + "rollbackSDNCRequest" + "\n" +  sndcTopologyDeleteRequesAsString)
                        msoLogger.debug(" Preparing request for RPC SDNC Topology 'assign-CreateNetworkInstance' rollback . . . - " + "\n" +  sndcTopologyDeleteRequesAsString)
                        execution.setVariable(Prefix + "rollbackSDNCRequest", sndcTopologyDeleteRequesAsString)
                        msoLogger.debug(Prefix + "rollbackSDNCRequest" + "\n" +  sndcTopologyDeleteRequesAsString)
                        msoLogger.debug(" Preparing request for RPC SDNC Topology 'assign-CreateNetworkInstance' rollback . . . - " + "\n" +  sndcTopologyDeleteRequesAsString)
-       
+
 
                } catch (Exception ex) {
                        String exceptionMessage = " Bpmn error encountered in DoDeleteNetworkInstance flow. prepareRpcSDNCUnassignRollback() - " + ex.getMessage()
 
                } catch (Exception ex) {
                        String exceptionMessage = " Bpmn error encountered in DoDeleteNetworkInstance flow. prepareRpcSDNCUnassignRollback() - " + ex.getMessage()
@@ -972,7 +976,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                }
 
        }
                }
 
        }
-       
+
        public void prepareSDNCRollback (DelegateExecution execution) {
 
                execution.setVariable("prefix", Prefix)
        public void prepareSDNCRollback (DelegateExecution execution) {
 
                execution.setVariable("prefix", Prefix)
@@ -980,7 +984,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                msoLogger.trace("Inside prepareSDNCRollback of DoDeleteNetworkInstance ")
 
                try {
                msoLogger.trace("Inside prepareSDNCRollback of DoDeleteNetworkInstance ")
 
                try {
-                       
+
                        // get variables
                        String sdncCallback = UrnPropertiesReader.getVariable("mso.workflow.sdncadapter.callback",execution)
                        String deleteNetworkInput = execution.getVariable(Prefix + "networkRequest")
                        // get variables
                        String sdncCallback = UrnPropertiesReader.getVariable("mso.workflow.sdncadapter.callback",execution)
                        String deleteNetworkInput = execution.getVariable(Prefix + "networkRequest")
@@ -990,7 +994,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                networkId = utils.getNodeText(deleteNetworkInput, "network-id")
                        }
                        if (networkId == 'null') {networkId = ""}
                                networkId = utils.getNodeText(deleteNetworkInput, "network-id")
                        }
                        if (networkId == 'null') {networkId = ""}
-                       
+
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
 
                        // get/set 'msoRequestId' and 'mso-request-id'
                        String serviceInstanceId = utils.getNodeText(deleteNetworkInput, "service-instance-id")
 
                        // get/set 'msoRequestId' and 'mso-request-id'
@@ -999,11 +1003,11 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                                execution.setVariable("mso-request-id", requestId)
                        } else {
                            requestId = execution.getVariable("mso-request-id")
                                execution.setVariable("mso-request-id", requestId)
                        } else {
                            requestId = execution.getVariable("mso-request-id")
-                       }       
+                       }
                        execution.setVariable(Prefix + "requestId", requestId)
                        execution.setVariable(Prefix + "requestId", requestId)
-                       
+
                        String queryAAIResponse = execution.getVariable(Prefix + "queryAAIResponse")
                        String queryAAIResponse = execution.getVariable(Prefix + "queryAAIResponse")
-                       
+
                        SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils()
                        String cloudRegionId = execution.getVariable(Prefix + "cloudRegionSdnc")
                        // 1. prepare delete topology via SDNC Adapter SUBFLOW call
                        SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils()
                        String cloudRegionId = execution.getVariable(Prefix + "cloudRegionSdnc")
                        // 1. prepare delete topology via SDNC Adapter SUBFLOW call
@@ -1025,33 +1029,33 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                }
 
        }
                }
 
        }
-       
+
        public void setExceptionFlag(DelegateExecution execution){
 
                execution.setVariable("prefix",Prefix)
        public void setExceptionFlag(DelegateExecution execution){
 
                execution.setVariable("prefix",Prefix)
-               
+
                msoLogger.trace("Inside setExceptionFlag() of DoDeleteNetworkInstance ")
                msoLogger.trace("Inside setExceptionFlag() of DoDeleteNetworkInstance ")
-               
+
                try {
 
                        execution.setVariable(Prefix + "isException", true)
                try {
 
                        execution.setVariable(Prefix + "isException", true)
-                       
+
                        if (execution.getVariable("SavedWorkflowException1") != null) {
                                execution.setVariable(Prefix + "WorkflowException", execution.getVariable("SavedWorkflowException1"))
                        } else {
                                execution.setVariable(Prefix + "WorkflowException", execution.getVariable("WorkflowException"))
                        }
                        msoLogger.debug(Prefix + "WorkflowException - " +execution.getVariable(Prefix + "WorkflowException"))
                        if (execution.getVariable("SavedWorkflowException1") != null) {
                                execution.setVariable(Prefix + "WorkflowException", execution.getVariable("SavedWorkflowException1"))
                        } else {
                                execution.setVariable(Prefix + "WorkflowException", execution.getVariable("WorkflowException"))
                        }
                        msoLogger.debug(Prefix + "WorkflowException - " +execution.getVariable(Prefix + "WorkflowException"))
-                       
+
                } catch(Exception ex){
                          String exceptionMessage = "Bpmn error encountered in DoDeleteNetworkInstance flow. setExceptionFlag(): " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                        exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
                }
                } catch(Exception ex){
                          String exceptionMessage = "Bpmn error encountered in DoDeleteNetworkInstance flow. setExceptionFlag(): " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                        exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
                }
-               
+
        }
        }
-       
-       
+
+
        // *******************************
        //     Build Error Section
        // *******************************
        // *******************************
        //     Build Error Section
        // *******************************
@@ -1065,7 +1069,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor {
                        msoLogger.debug("Variables List: " + execution.getVariables())
                        execution.setVariable("UnexpectedError", "Caught a Java Lang Exception")  // Adding this line temporarily until this flows error handling gets updated
                        exceptionUtil.buildWorkflowException(execution, 500, "Caught a Java Lang Exception")
                        msoLogger.debug("Variables List: " + execution.getVariables())
                        execution.setVariable("UnexpectedError", "Caught a Java Lang Exception")  // Adding this line temporarily until this flows error handling gets updated
                        exceptionUtil.buildWorkflowException(execution, 500, "Caught a Java Lang Exception")
-                       
+
                }catch(Exception e){
                        msoLogger.debug("Caught Exception during processJavaException Method: " + e)
                        execution.setVariable("UnexpectedError", "Exception in processJavaException method")  // Adding this line temporarily until this flows error handling gets updated
                }catch(Exception e){
                        msoLogger.debug("Caught Exception during processJavaException Method: " + e)
                        execution.setVariable("UnexpectedError", "Exception in processJavaException method")  // Adding this line temporarily until this flows error handling gets updated
index b41b74e..1a3e8aa 100644 (file)
@@ -34,6 +34,10 @@ import org.onap.so.bpmn.common.scripts.VfModule
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.aai.AAIObjectPlurals
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
@@ -470,9 +474,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
                        execution.setVariable("DoDVfMod_networkPolicyFqdnCount", fqdnCount)
                        msoLogger.debug("DoDVfMod_networkPolicyFqdnCount - " + fqdnCount)
 
                        execution.setVariable("DoDVfMod_networkPolicyFqdnCount", fqdnCount)
                        msoLogger.debug("DoDVfMod_networkPolicyFqdnCount - " + fqdnCount)
 
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getNetworkPolicyUri(execution)
 
                        if (fqdnCount > 0) {
                                // AII loop call over contrail network policy fqdn list
 
                        if (fqdnCount > 0) {
                                // AII loop call over contrail network policy fqdn list
@@ -482,10 +484,10 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
                                        String fqdn = fqdnList[i]
 
                                        // Query AAI for this network policy FQDN
                                        String fqdn = fqdnList[i]
 
                                        // Query AAI for this network policy FQDN
-
-                                       String queryNetworkPolicyByFqdnAAIRequest = "${aai_endpoint}${aai_uri}?network-policy-fqdn=" + UriUtils.encode(fqdn, "UTF-8")
+                                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY)
+                                       uri.queryParam("network-policy-fqdn", fqdn)
+                                       String queryNetworkPolicyByFqdnAAIRequest = aaiUriUtil.createAaiUri(uri)
                                        msoLogger.debug("AAI request endpoint: " + queryNetworkPolicyByFqdnAAIRequest)
                                        msoLogger.debug("AAI request endpoint: " + queryNetworkPolicyByFqdnAAIRequest)
-                                       msoLogger.debug("AAI request endpoint: "  + queryNetworkPolicyByFqdnAAIRequest)
 
                                        APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryNetworkPolicyByFqdnAAIRequest)
                                        int returnCode = response.getStatusCode()
 
                                        APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryNetworkPolicyByFqdnAAIRequest)
                                        int returnCode = response.getStatusCode()
@@ -508,9 +510,10 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
                                                def resourceVersion = utils.getNodeText(aaiResponseAsString, "resource-version")
                                                msoLogger.debug("Deleting network-policy with resource-version " + resourceVersion)
 
                                                def resourceVersion = utils.getNodeText(aaiResponseAsString, "resource-version")
                                                msoLogger.debug("Deleting network-policy with resource-version " + resourceVersion)
 
-                                               String delNetworkPolicyAAIRequest = "${aai_endpoint}${aai_uri}/" + UriUtils.encode(networkPolicyId, "UTF-8") +
-                                                       "?resource-version=" + UriUtils.encode(resourceVersion, "UTF-8")
-                                               msoLogger.debug("AAI request endpoint: " + delNetworkPolicyAAIRequest)
+                                               AAIResourceUri delUri = AAIUriFactory.createResourceUri(AAIObjectType.NETWORK_POLICY, networkPolicyId)
+                                               delUri.resourceVersion(resourceVersion)
+                                               String delNetworkPolicyAAIRequest = aaiUriUtil.createAaiUri(delUri)
+
                                                msoLogger.debug("AAI request endpoint: " + delNetworkPolicyAAIRequest)
 
                                                msoLogger.debug("invoking DELETE call to AAI")
                                                msoLogger.debug("AAI request endpoint: " + delNetworkPolicyAAIRequest)
 
                                                msoLogger.debug("invoking DELETE call to AAI")
@@ -644,11 +647,9 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{
                        def vfModuleId = execution.getVariable('vfModuleId')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        def vfModuleId = execution.getVariable('vfModuleId')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String  aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
 
 
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint",execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") +
-                                       "/vf-modules/vf-module/" + UriUtils.encode(vfModuleId, "UTF-8")
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
index 1024fc5..d90c316 100644 (file)
@@ -33,6 +33,11 @@ import org.onap.so.bpmn.common.scripts.VfModuleBase
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.graphinventory.entities.uri.Depth
+import org.onap.so.client.aai.AAIObjectPlurals
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
@@ -129,10 +134,9 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
                        def vnfId = execution.getVariable('vnfId')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        def vnfId = execution.getVariable('vnfId')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       def aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE)
+                       
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
 
                        msoLogger.debug("DoDeleteVfModuleFromVnf: AAI endPoint  : " + endPoint)
 
 
                        msoLogger.debug("DoDeleteVfModuleFromVnf: AAI endPoint  : " + endPoint)
 
@@ -490,9 +494,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
                        execution.setVariable("DDVFMV_networkPolicyFqdnCount", fqdnCount)
                        msoLogger.debug("DDVFMV_networkPolicyFqdnCount - " + fqdnCount)
 
                        execution.setVariable("DDVFMV_networkPolicyFqdnCount", fqdnCount)
                        msoLogger.debug("DDVFMV_networkPolicyFqdnCount - " + fqdnCount)
 
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getNetworkPolicyUri(execution)
 
                        if (fqdnCount > 0) {
                                // AII loop call over contrail network policy fqdn list
 
                        if (fqdnCount > 0) {
                                // AII loop call over contrail network policy fqdn list
@@ -503,10 +505,12 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
 
                                        // Query AAI for this network policy FQDN
 
 
                                        // Query AAI for this network policy FQDN
 
-                                       String queryNetworkPolicyByFqdnAAIRequest = "${aai_endpoint}${aai_uri}?network-policy-fqdn=" + UriUtils.encode(fqdn, "UTF-8")
+                                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY)
+                                       uri.queryParam("network-policy-fqdn", fqdn)
+                                       String queryNetworkPolicyByFqdnAAIRequest = aaiUriUtil.createAaiUri(uri)
+
                                        msoLogger.debug("AAI request endpoint: " + queryNetworkPolicyByFqdnAAIRequest)
                                        
                                        msoLogger.debug("AAI request endpoint: " + queryNetworkPolicyByFqdnAAIRequest)
                                        
-
                                        APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryNetworkPolicyByFqdnAAIRequest)
                                        int returnCode = response.getStatusCode()
                                        execution.setVariable("DCVFM_aaiQueryNetworkPolicyByFqdnReturnCode", returnCode)
                                        APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryNetworkPolicyByFqdnAAIRequest)
                                        int returnCode = response.getStatusCode()
                                        execution.setVariable("DCVFM_aaiQueryNetworkPolicyByFqdnReturnCode", returnCode)
@@ -528,8 +532,10 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase {
                                                def resourceVersion = utils.getNodeText(aaiResponseAsString, "resource-version")
                                                msoLogger.debug("Deleting network-policy with resource-version " + resourceVersion)
 
                                                def resourceVersion = utils.getNodeText(aaiResponseAsString, "resource-version")
                                                msoLogger.debug("Deleting network-policy with resource-version " + resourceVersion)
 
-                                               String delNetworkPolicyAAIRequest = "${aai_endpoint}${aai_uri}/" + UriUtils.encode(networkPolicyId, "UTF-8") +
-                                                       "?resource-version=" + UriUtils.encode(resourceVersion, "UTF-8")
+                                               AAIResourceUri delUri = AAIUriFactory.createResourceUri(AAIObjectType.NETWORK_POLICY, networkPolicyId)
+                                               delUri.resourceVersion(resourceVersion)
+                                               String delNetworkPolicyAAIRequest = aaiUriUtil.createAaiUri(delUri)
+                                               
                                                msoLogger.debug("AAI request endpoint: " + delNetworkPolicyAAIRequest)
 
                                                msoLogger.debug("invoking DELETE call to AAI")
                                                msoLogger.debug("AAI request endpoint: " + delNetworkPolicyAAIRequest)
 
                                                msoLogger.debug("invoking DELETE call to AAI")
index b1cef47..03e47cf 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -30,31 +30,35 @@ import org.onap.so.bpmn.common.scripts.MsoUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader;
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader;
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.constants.Defaults
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 
 class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoDeleteVfModuleVolumeV2.class);
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.springframework.web.util.UriUtils
 
 class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoDeleteVfModuleVolumeV2.class);
-       
+
        String prefix="DDVMV_"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
        XmlParser xmlParser = new XmlParser()
        JsonUtils jsonUtil = new JsonUtils()
        String prefix="DDVMV_"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
        XmlParser xmlParser = new XmlParser()
        JsonUtils jsonUtil = new JsonUtils()
-       
+
        @Override
        public void preProcessRequest(DelegateExecution execution) {
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
        @Override
        public void preProcessRequest(DelegateExecution execution) {
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
-               preProcessRequest(execution, isDebugEnabled)    
+               preProcessRequest(execution, isDebugEnabled)
        }
        }
-       
+
        /**
         * Set default variable values
         * @param execution
         * @param isDebugLogEnabled
         */
        public void preProcessRequest (DelegateExecution execution, isDebugEnabled) {
        /**
         * Set default variable values
         * @param execution
         * @param isDebugLogEnabled
         */
        public void preProcessRequest (DelegateExecution execution, isDebugEnabled) {
-               
+
                //Input:
                //  msoRequestId
                //  isDebugLogEnabled
                //Input:
                //  msoRequestId
                //  isDebugLogEnabled
@@ -71,13 +75,13 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                //  workflowException                                   @TODO: actual variable name is WorkflowException
                //  rolledBack
                //  wasDeleted
                //  workflowException                                   @TODO: actual variable name is WorkflowException
                //  rolledBack
                //  wasDeleted
-               
+
                execution.setVariable('prefix', prefix)
                execution.setVariable('wasDeleted', 'false')
                execution.setVariable('prefix', prefix)
                execution.setVariable('wasDeleted', 'false')
-               
+
                def tenantId = execution.getVariable("tenantId")
                def cloudSiteId = execution.getVariable("lcpCloudRegionId")
                def tenantId = execution.getVariable("tenantId")
                def cloudSiteId = execution.getVariable("lcpCloudRegionId")
-               
+
                // if tenantId or lcpCloudregionId is not passed, get it from cloudRegionConfiguration variable
                if(!tenantId || !cloudSiteId) {
                        def cloudConfiguration = execution.getVariable("cloudConfiguration")
                // if tenantId or lcpCloudregionId is not passed, get it from cloudRegionConfiguration variable
                if(!tenantId || !cloudSiteId) {
                        def cloudConfiguration = execution.getVariable("cloudConfiguration")
@@ -86,10 +90,12 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                        execution.setVariable("tenantId", tenantId)
                        cloudSiteId = jsonUtil.getJsonValue(cloudConfiguration, "lcpCloudRegionId")
                        execution.setVariable("lcpCloudRegionId", cloudSiteId)
                        execution.setVariable("tenantId", tenantId)
                        cloudSiteId = jsonUtil.getJsonValue(cloudConfiguration, "lcpCloudRegionId")
                        execution.setVariable("lcpCloudRegionId", cloudSiteId)
+                       cloudOwner = jsonUtil.getJsonValue(cloudConfiguration, "cloudOwner")
+                       execution.setVariable("cloudOwner", cloudOwner)
                }
        }
                }
        }
-       
-       
+
+
        /**
         * Set out 'wasDeleted' variable to 'true'
         * @param execution
        /**
         * Set out 'wasDeleted' variable to 'true'
         * @param execution
@@ -98,8 +104,8 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
        public void postProcess(DelegateExecution execution, isDebugLogEnabled) {
                execution.setVariable('wasDeleted', 'true')
        }
        public void postProcess(DelegateExecution execution, isDebugLogEnabled) {
                execution.setVariable('wasDeleted', 'true')
        }
-       
-       
+
+
        /**
         * Query and set cloud region to use for AAI calls
         * Output variables: prefix+'aicCloudRegion', prefix+'cloudRegion'
        /**
         * Query and set cloud region to use for AAI calls
         * Output variables: prefix+'aicCloudRegion', prefix+'cloudRegion'
@@ -107,14 +113,12 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
         * @param isDebugEnabled
         */
        public void callRESTQueryAAICloudRegion(DelegateExecution execution, isDebugEnabled) {
         * @param isDebugEnabled
         */
        public void callRESTQueryAAICloudRegion(DelegateExecution execution, isDebugEnabled) {
-               
-               String cloudRegion = execution.getVariable('lcpCloudRegionId')                                  
-               String aai_endpoint =  UrnPropertiesReader.getVariable("aai.endpoint",execution)
+
+               String cloudRegion = execution.getVariable('lcpCloudRegionId')
                AaiUtil aaiUtil = new AaiUtil(this)
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aai_uri = aaiUtil.getCloudInfrastructureCloudRegionUri(execution)
-               String queryCloudRegionRequest = "${aai_endpoint}${aai_uri}/" + cloudRegion
-               msoLogger.debug(queryCloudRegionRequest)
-               msoLogger.debug("AAI query cloud region URI - " + queryCloudRegionRequest)
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, Defaults.CLOUD_OWNER.toString(), cloudRegion)
+               def queryCloudRegionRequest = aaiUtil.createAaiUri(uri)
 
                cloudRegion = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
 
 
                cloudRegion = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
 
@@ -125,14 +129,14 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                        else{
                                execution.setVariable(prefix+"aicCloudRegion", cloudRegion)
                        }
                        else{
                                execution.setVariable(prefix+"aicCloudRegion", cloudRegion)
                        }
-               } 
+               }
                else {
                        msoLogger.debug("AAI Query Cloud Region Unsuccessful.")
                        exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "AAI Query Cloud Region Unsuccessful. Return Code: " + execution.getVariable(prefix+"queryCloudRegionReturnCode"))
                }
        }
                else {
                        msoLogger.debug("AAI Query Cloud Region Unsuccessful.")
                        exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "AAI Query Cloud Region Unsuccessful. Return Code: " + execution.getVariable(prefix+"queryCloudRegionReturnCode"))
                }
        }
-       
-       
+
+
        /**
         * Query AAI Volume Group
         * Output variables: prefix+'queryAAIVolGrpResponse'; prefix+'volumeGroupHeatStackId'
        /**
         * Query AAI Volume Group
         * Output variables: prefix+'queryAAIVolGrpResponse'; prefix+'volumeGroupHeatStackId'
@@ -140,9 +144,9 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
         * @param isDebugLogEnabled
         */
        public void callRESTQueryAAIForVolumeGroup(DelegateExecution execution, isDebugLogEnabled) {
         * @param isDebugLogEnabled
         */
        public void callRESTQueryAAIForVolumeGroup(DelegateExecution execution, isDebugLogEnabled) {
-               
-               def tenantId = execution.getVariable('tenantId')                                                                
-               def volumeGroupId = execution.getVariable('volumeGroupId')                                              
+
+               def tenantId = execution.getVariable('tenantId')
+               def volumeGroupId = execution.getVariable('volumeGroupId')
                if(volumeGroupId == null) {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 2500, 'volumeGroupId is not provided in the request')
                        throw new Exception('volume-group-id is not provided in the request')
                if(volumeGroupId == null) {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 2500, 'volumeGroupId is not provided in the request')
                        throw new Exception('volume-group-id is not provided in the request')
@@ -150,8 +154,9 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                String cloudRegion = execution.getVariable(prefix+'aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
                String cloudRegion = execution.getVariable(prefix+'aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String queryAAIVolumeGroupRequest = aaiEndpoint + '/' + URLEncoder.encode(cloudRegion, "UTF-8") + "/volume-groups/volume-group/" + UriUtils.encode(volumeGroupId, "UTF-8")
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, volumeGroupId)
+               def queryAAIVolumeGroupRequest = aaiUtil.createAaiUri(uri)
 
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
 
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
@@ -174,7 +179,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                        execution.setVariable(prefix+'volumeGroupHeatStackId', heatStackId)
 
                        msoLogger.debug('Heat stack id from AAI response: ' + heatStackId)
                        execution.setVariable(prefix+'volumeGroupHeatStackId', heatStackId)
 
                        msoLogger.debug('Heat stack id from AAI response: ' + heatStackId)
-                       
+
                        if(hasVfModuleRelationship(aaiResponseAsString)){
                                msoLogger.debug('Volume Group ' + volumeGroupId + ' currently in use')
                                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Volume Group ${volumeGroupId} currently in use - found vf-module relationship.")
                        if(hasVfModuleRelationship(aaiResponseAsString)){
                                msoLogger.debug('Volume Group ' + volumeGroupId + ' currently in use')
                                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Volume Group ${volumeGroupId} currently in use - found vf-module relationship.")
@@ -182,12 +187,12 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
 
                        def volumeGroupTenantId = getTenantIdFromVolumeGroup(aaiResponseAsString)
                        msoLogger.debug('Tenant ID from AAI response: ' + volumeGroupTenantId)
 
                        def volumeGroupTenantId = getTenantIdFromVolumeGroup(aaiResponseAsString)
                        msoLogger.debug('Tenant ID from AAI response: ' + volumeGroupTenantId)
-                       
+
                        if (volumeGroupTenantId == null) {
                                msoLogger.debug("Could not find Tenant Id element in Volume Group with Volume Group Id ${volumeGroupId}")
                                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Could not find Tenant Id element in Volume Group with Volume Group Id ${volumeGroupId}")
                        }
                        if (volumeGroupTenantId == null) {
                                msoLogger.debug("Could not find Tenant Id element in Volume Group with Volume Group Id ${volumeGroupId}")
                                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Could not find Tenant Id element in Volume Group with Volume Group Id ${volumeGroupId}")
                        }
-                       
+
                        if (volumeGroupTenantId != tenantId) {
                                def String errorMessage = 'TenantId ' + tenantId + ' in incoming request does not match Tenant Id ' + volumeGroupTenantId +     ' retrieved from AAI for Volume Group Id ' + volumeGroupId
                                msoLogger.debug("Error in DeleteVfModuleVolume: " + errorMessage)
                        if (volumeGroupTenantId != tenantId) {
                                def String errorMessage = 'TenantId ' + tenantId + ' in incoming request does not match Tenant Id ' + volumeGroupTenantId +     ' retrieved from AAI for Volume Group Id ' + volumeGroupId
                                msoLogger.debug("Error in DeleteVfModuleVolume: " + errorMessage)
@@ -206,7 +211,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                        }
                }
        }
                        }
                }
        }
-       
+
        /**
         * Format VNF Adapter subflow request XML
         * Variables: prefix+'deleteVnfARequest'
        /**
         * Format VNF Adapter subflow request XML
         * Variables: prefix+'deleteVnfARequest'
@@ -216,7 +221,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
        public void prepareVnfAdapterDeleteRequest(DelegateExecution execution, isDebugLogEnabled) {
                def cloudRegion = execution.getVariable(prefix+'aicCloudRegion')
                def tenantId = execution.getVariable('tenantId')                                                                                // input parameter (optional) - see preProcessRequest
        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)   
+               def volumeGroupId = execution.getVariable('volumeGroupId')                                                              // input parameter (required)
                def volumeGroupHeatStackId = execution.getVariable(prefix+'volumeGroupHeatStackId')             // from AAI query volume group
                def requestId = execution.getVariable('msoRequestId')                                                                   // input parameter (required)
                def serviceId = execution.getVariable('serviceInstanceId')                                                              // imput parameter (optional)
                def volumeGroupHeatStackId = execution.getVariable(prefix+'volumeGroupHeatStackId')             // from AAI query volume group
                def requestId = execution.getVariable('msoRequestId')                                                                   // input parameter (required)
                def serviceId = execution.getVariable('serviceInstanceId')                                                              // imput parameter (optional)
@@ -247,30 +252,27 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                execution.setVariable(prefix+'deleteVnfARequest', vnfAdapterRestRequest)
                msoLogger.debug('Request for VNFAdapter Rest:\n' + vnfAdapterRestRequest)
        }
                execution.setVariable(prefix+'deleteVnfARequest', vnfAdapterRestRequest)
                msoLogger.debug('Request for VNFAdapter Rest:\n' + vnfAdapterRestRequest)
        }
-       
-       
+
+
        /**
         * Delete volume group in AAI
         * @param execution
         * @param isDebugEnabled
         */
        public void callRESTDeleteAAIVolumeGroup(DelegateExecution execution, isDebugEnabled) {
        /**
         * Delete volume group in AAI
         * @param execution
         * @param isDebugEnabled
         */
        public void callRESTDeleteAAIVolumeGroup(DelegateExecution execution, isDebugEnabled) {
-               
+
                // get variables
                String queryAAIVolGrpIdResponse = execution.getVariable(prefix+"queryAAIVolGrpResponse")
                String groupId = utils.getNodeText(queryAAIVolGrpIdResponse, "volume-group-id")
                String resourceVersion = utils.getNodeText(queryAAIVolGrpIdResponse, "resource-version")
                // get variables
                String queryAAIVolGrpIdResponse = execution.getVariable(prefix+"queryAAIVolGrpResponse")
                String groupId = utils.getNodeText(queryAAIVolGrpIdResponse, "volume-group-id")
                String resourceVersion = utils.getNodeText(queryAAIVolGrpIdResponse, "resource-version")
-               
+
                String messageId = UUID.randomUUID().toString()
                String cloudRegion = execution.getVariable(prefix+'aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
                String messageId = UUID.randomUUID().toString()
                String cloudRegion = execution.getVariable(prefix+'aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String deleteAAIVolumeGrpIdRequest = aaiEndpoint + '/' + URLEncoder.encode(cloudRegion, "UTF-8")  + "/volume-groups/volume-group/" +  UriUtils.encode(groupId, "UTF-8")
 
 
-               if(resourceVersion !=null){
-                       deleteAAIVolumeGrpIdRequest = deleteAAIVolumeGrpIdRequest +'?resource-version=' + UriUtils.encode(resourceVersion, 'UTF-8')
-               }
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).queryParam("resource-version", resourceVersion)
+               def deleteAAIVolumeGrpIdRequest = aaiUtil.createAaiUri(uri)
 
                msoLogger.debug('Delete AAI volume group : ' + deleteAAIVolumeGrpIdRequest)
                msoLogger.debug("Delete AAI volume group : " + deleteAAIVolumeGrpIdRequest)
 
                msoLogger.debug('Delete AAI volume group : ' + deleteAAIVolumeGrpIdRequest)
                msoLogger.debug("Delete AAI volume group : " + deleteAAIVolumeGrpIdRequest)
@@ -297,8 +299,8 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                        }
                }
        }
                        }
                }
        }
-       
-       
+
+
        /**
         * Check if volume group has a relationship to vf-module
         * @param volumeGroupXml
        /**
         * Check if volume group has a relationship to vf-module
         * @param volumeGroupXml
@@ -322,7 +324,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                return false
        }
 
                return false
        }
 
-       
+
        /**
         * Extract the Tenant Id from the Volume Group information returned by AAI.
         * @param volumeGroupXml Volume Group XML returned by AAI.
        /**
         * Extract the Tenant Id from the Volume Group information returned by AAI.
         * @param volumeGroupXml Volume Group XML returned by AAI.
index 699e9bf..456a9cf 100644 (file)
@@ -27,12 +27,15 @@ import javax.xml.parsers.DocumentBuilderFactory
 import org.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.onap.aai.domain.yang.GenericVnf
 import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
 import org.onap.so.bpmn.common.scripts.ExceptionUtil
 import org.onap.so.bpmn.common.scripts.VidUtils
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
 import org.onap.so.bpmn.common.scripts.ExceptionUtil
 import org.onap.so.bpmn.common.scripts.VidUtils
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.graphinventory.entities.uri.Depth;
 import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.AAIObjectType
 import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.entities.AAIResultWrapper
 import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.w3c.dom.Document
 import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.w3c.dom.Document
@@ -80,8 +83,6 @@ class DoDeleteVnf extends AbstractServiceTaskProcessor {
                        execution.setVariable("DoDVNF_vnfId", vnfId)
                        msoLogger.debug("Incoming Vnf(Instance) Id is: " + vnfId)
 
                        execution.setVariable("DoDVNF_vnfId", vnfId)
                        msoLogger.debug("Incoming Vnf(Instance) Id is: " + vnfId)
 
-                       // Setting for sub flow calls
-                       execution.setVariable("DoDVNF_type", "generic-vnf")
                }catch(BpmnError b){
                        msoLogger.debug("Rethrowing MSOWorkflowException")
                        throw b
                }catch(BpmnError b){
                        msoLogger.debug("Rethrowing MSOWorkflowException")
                        throw b
@@ -94,49 +95,42 @@ class DoDeleteVnf extends AbstractServiceTaskProcessor {
        }
 
 
        }
 
 
-       public void processGetVnfResponse(DelegateExecution execution){
+       public void getVnf(DelegateExecution execution){
 
                execution.setVariable("prefix",Prefix)
 
                execution.setVariable("prefix",Prefix)
-               msoLogger.trace("STARTED DoDeleteVnf processGetVnfResponse Process ")
+               msoLogger.trace("STARTED DoDeleteVnf getVnf Process ")
                try {
                try {
-                       String vnf = execution.getVariable("DoDVNF_genericVnf")
-                       String resourceVersion = utils.getNodeText(vnf, "resource-version")
-                       execution.setVariable("DoDVNF_resourceVersion", resourceVersion)
-
-                       if(utils.nodeExists(vnf, "relationship")){
-                               InputSource source = new InputSource(new StringReader(vnf));
-                               DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
-                               DocumentBuilder docBuilder = docFactory.newDocumentBuilder()
-                               Document vnfXml = docBuilder.parse(source)
-
-                               NodeList nodeList = vnfXml.getElementsByTagName("relationship")
-                               for (int x = 0; x < nodeList.getLength(); x++) {
-                                       Node node = nodeList.item(x)
-                                       if (node.getNodeType() == Node.ELEMENT_NODE) {
-                                               Element eElement = (Element) node
-                                               def e = eElement.getElementsByTagName("related-to").item(0).getTextContent()
-                                               if(e.equals("volume-group") || e.equals("l3-network")){
-                                                       msoLogger.debug("Generic Vnf still has relationship to OpenStack.")
-                                                       execution.setVariable("DoDVNF_vnfInUse", true)
-                                               }else{
-                                                       msoLogger.debug("Relationship NOT related to OpenStack")
-                                               }
+
+                       AAIResourcesClient resourceClient = new AAIResourcesClient()
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, execution.getVariable('vnfId'))
+
+                       if(resourceClient.exists(uri)){
+                               execution.setVariable("GENGV_FoundIndicator", true)
+                               AAIResultWrapper wrapper = resourceClient.get(uri.depth(Depth.ONE))
+                               if(wrapper.getRelationships().isPresent()){
+                                       List<AAIResourceUri> relationships = wrapper.getRelationships().get().getRelatedAAIUris(AAIObjectType.CLOUD_REGION)
+                                       relationships.addAll(wrapper.getRelationships().get().getRelatedAAIUris(AAIObjectType.L3_NETWORK))
+                                       if(!relationships.isEmpty()){
+                                               execution.setVariable("DoDVNF_vnfInUse", true)
+                                       }else{
+                                               msoLogger.debug("Relationship NOT related to OpenStack")
                                        }
                                }
                                        }
                                }
-                       }
 
 
-                       if(utils.nodeExists(vnf, "vf-module")){
-                               execution.setVariable("DoDVNF_vnfInUse", true)
-                               msoLogger.debug("Generic Vnf still has vf-modules.")
+                               Optional<GenericVnf> vnf = wrapper.asBean(GenericVnf.class)
+                               if(!vnf.get().getVfModules().getVfModule().isEmpty()){
+                                       execution.setVariable("DoDVNF_vnfInUse", true)
+                               }
+                       }else{
+                               execution.setVariable("GENGV_FoundIndicator", false)
                        }
 
                        }
 
-
                } catch (Exception ex) {
                } catch (Exception ex) {
-                       msoLogger.debug("Error Occured in DoDeleteVnf processGetVnfResponse Process " + ex.getMessage())
-                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in DoDeleteVnf processGetVnfResponse Process")
+                       msoLogger.debug("Error Occured in DoDeleteVnf getVnf Process " + ex.getMessage())
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in DoDeleteVnf getVnf Process")
 
                }
 
                }
-               msoLogger.trace("COMPLETED DoDeleteVnf processGetVnfResponse Process ")
+               msoLogger.trace("COMPLETED DoDeleteVnf getVnf Process ")
        }
 
        /**
        }
 
        /**
index d448dd3..ddf2706 100644 (file)
@@ -39,6 +39,10 @@ import org.onap.so.bpmn.core.domain.ModuleResource
 import org.onap.so.bpmn.core.domain.ServiceDecomposition
 import org.onap.so.bpmn.core.domain.VnfResource
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.domain.ServiceDecomposition
 import org.onap.so.bpmn.core.domain.VnfResource
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.graphinventory.entities.uri.Depth
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
+import org.onap.so.client.aai.AAIObjectType
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
@@ -255,10 +259,9 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor {
                        def vnfId = execution.getVariable('vnfId')
                        
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        def vnfId = execution.getVariable('vnfId')
                        
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String  aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
+                       
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
index cb50fbb..5b7fdb2 100644 (file)
@@ -32,6 +32,11 @@ import org.onap.so.bpmn.core.RollbackData
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.domain.Resource
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.domain.Resource
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.AAIResourcesClient
+import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.springframework.web.util.UriUtils;
 
 import groovy.json.*
 import org.springframework.web.util.UriUtils;
 
 import groovy.json.*
@@ -269,11 +274,8 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor {
                def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
                utils.log("INFO","Entered " + method, isDebugEnabled)
                String msg = ""
                def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
                utils.log("INFO","Entered " + method, isDebugEnabled)
                String msg = ""
-               utils.log("INFO"," ***** preProcessAAIPUT *****",  isDebugEnabled)
-
 
                String serviceInstanceVersion = execution.getVariable("serviceInstanceVersion")
 
                String serviceInstanceVersion = execution.getVariable("serviceInstanceVersion")
-               //execution.setVariable("GENPS_serviceResourceVersion", serviceInstanceVersion)
 
                //requestDetails.modelInfo.for AAI PUT servieInstanceData
                //requestDetails.requestInfo. for AAI GET/PUT serviceInstanceData
 
                //requestDetails.modelInfo.for AAI PUT servieInstanceData
                //requestDetails.requestInfo. for AAI GET/PUT serviceInstanceData
@@ -285,71 +287,48 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor {
                String modelInvariantUuid = execution.getVariable("modelInvariantUuid")
                String modelUuid = execution.getVariable("modelUuid")
 
                String modelInvariantUuid = execution.getVariable("modelInvariantUuid")
                String modelUuid = execution.getVariable("modelUuid")
 
+               org.onap.aai.domain.yang.ServiceInstance si = new org.onap.aai.domain.yang.ServiceInstance()
+               si.setServiceInstanceId(serviceInstanceId)
+               si.setServiceInstanceName(serviceInstanceName)
+               si.setServiceType(aaiServiceType)
+               si.setServiceRole(aaiServiceRole)
+               si.setModelInvariantId(modelInvariantUuid)
+               si.setModelVersionId(modelUuid)
 
 
-               AaiUtil aaiUriUtil = new AaiUtil(this)
-               utils.log("INFO","start create aai uri: " + aaiUriUtil, isDebugEnabled)
-               String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution)
-               utils.log("INFO","aai_uri: " + aai_uri, isDebugEnabled)
-               String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri)
-               utils.log("INFO","namespace: " + namespace, isDebugEnabled)
-
-               //update target model to aai
-               String serviceInstanceData =
-                               """<service-instance xmlns=\"${namespace}\">
-                    <service-instance-id>${MsoUtils.xmlEscape(serviceInstanceId)}</service-instance-id>
-                    <service-instance-name>${MsoUtils.xmlEscape(serviceInstanceName)}</service-instance-name>
-                    <service-type>${MsoUtils.xmlEscape(aaiServiceType)}</service-type>
-                    <service-role>${MsoUtils.xmlEscape(aaiServiceRole)}</service-role>
-                    <resource-version>${MsoUtils.xmlEscape(serviceInstanceVersion)}</resource-version>
-                    <model-invariant-id>${MsoUtils.xmlEscape(modelInvariantUuid)}</model-invariant-id>
-                    <model-version-id>${MsoUtils.xmlEscape(modelUuid)}</model-version-id>
-                                </service-instance>""".trim()
-
-               execution.setVariable("serviceInstanceData", serviceInstanceData)
-               utils.log("INFO","serviceInstanceData: " + serviceInstanceData, isDebugEnabled)
-               utils.logAudit(serviceInstanceData)
-               utils.log("INFO", " aai_uri " + aai_uri + " namespace:" + namespace, isDebugEnabled)
-               utils.log("INFO", " 'payload' to update Service Instance in AAI - " + "\n" + serviceInstanceData, isDebugEnabled)
+               execution.setVariable("serviceInstanceData", si)
 
                utils.log("INFO", "Exited " + method, isDebugEnabled)
        }
 
 
                utils.log("INFO", "Exited " + method, isDebugEnabled)
        }
 
-       public void postProcessAAIPUT(DelegateExecution execution) {
+       public void updateServiceInstance(DelegateExecution execution) {
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
-               utils.log("INFO"," ***** postProcessAAIPUT ***** ", isDebugEnabled)
+               utils.log("INFO"," ***** createServiceInstance ***** ", isDebugEnabled)
                String msg = ""
                String msg = ""
+               String serviceInstanceId = execution.getVariable("serviceInstanceId")
                try {
                try {
-                       String serviceInstanceId = execution.getVariable("serviceInstanceId")
-                       boolean succInAAI = execution.getVariable("GENPS_SuccessIndicator")
-                       if(!succInAAI){
-                               utils.log("INFO","Error putting Service-instance in AAI", + serviceInstanceId, isDebugEnabled)
-                               WorkflowException workflowException = execution.getVariable("WorkflowException")
-                               utils.logAudit("workflowException: " + workflowException)
-                               if(workflowException != null){
-                                       exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage())
-                               }
-                       }
-                       else
-                       {
-                               //start rollback set up
-                               RollbackData rollbackData = new RollbackData()
-                               def disableRollback = execution.getVariable("disableRollback")
-                               rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
-                               rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
-                               rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", serviceInstanceId)
-                               rollbackData.put("SERVICEINSTANCE", "serviceType", execution.getVariable("serviceType"))
-                               rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))
-                               execution.setVariable("rollbackData", rollbackData)
-                       }
+                       org.onap.aai.domain.yang.ServiceInstance si = execution.getVariable("serviceInstanceData")
+
+                       AAIResourcesClient client = new AAIResourcesClient()
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstanceId)
+                       client.update(uri, si)
 
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex) {
 
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex) {
-                       msg = "Exception in DoCreateServiceInstance.postProcessAAIDEL. " + ex.getMessage()
+                       RollbackData rollbackData = new RollbackData()
+                       def disableRollback = execution.getVariable("disableRollback")
+                       rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
+                       rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
+                       rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", serviceInstanceId)
+                       rollbackData.put("SERVICEINSTANCE", "serviceType", execution.getVariable("serviceType"))
+                       rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))
+                       execution.setVariable("rollbackData", rollbackData)
+
+                       msg = "Exception in DoCreateServiceInstance.createServiceInstance. " + ex.getMessage()
                        utils.log("INFO", msg, isDebugEnabled)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                }
                        utils.log("INFO", msg, isDebugEnabled)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                }
-               utils.log("INFO"," *** Exit postProcessAAIPUT *** ", isDebugEnabled)
+               utils.log("INFO"," *** Exit createServiceInstance *** ", isDebugEnabled)
        }
 
        public void preProcessRollback (DelegateExecution execution) {
        }
 
        public void preProcessRollback (DelegateExecution execution) {
index 257142e..949a566 100644 (file)
@@ -25,9 +25,16 @@ 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.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.onap.so.bpmn.common.scripts.AaiUtil
 import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
 import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.onap.so.bpmn.common.scripts.ExceptionUtil
 import org.onap.so.bpmn.common.scripts.MsoUtils
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.common.scripts.MsoUtils
 import org.onap.so.bpmn.core.WorkflowException
+import org.onap.so.client.aai.AAIObjectType
+import org.onap.so.client.aai.AAIResourcesClient
+import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.logger.MsoLogger
 import org.onap.so.bpmn.common.scripts.ExceptionUtil;
 import groovy.json.*
 import org.onap.so.logger.MsoLogger
 import org.onap.so.bpmn.common.scripts.ExceptionUtil;
 import groovy.json.*
@@ -210,61 +217,38 @@ public class DoUpdateE2EServiceInstanceRollback extends AbstractServiceTaskProce
                String modelInvariantUuid = execution.getVariable("modelInvariantUuid")
                String modelUuid = execution.getVariable("model-version-id-original")
 
                String modelInvariantUuid = execution.getVariable("modelInvariantUuid")
                String modelUuid = execution.getVariable("model-version-id-original")
 
-               //AAI PUT
-               AaiUtil aaiUriUtil = new AaiUtil(this)
-               utils.log("INFO","start create aai uri: " + aaiUriUtil, isDebugEnabled)
-               String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution)
-               utils.log("INFO","aai_uri: " + aai_uri, isDebugEnabled)
-               String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri)
-               utils.log("INFO","namespace: " + namespace, isDebugEnabled)
-
-               String serviceInstanceData =
-                               """<service-instance xmlns=\"${namespace}\">
-                    <service-instance-id>${MsoUtils.xmlEscape(serviceInstanceId)}</service-instance-id>
-                    <service-instance-name>${MsoUtils.xmlEscape(serviceInstanceName)}</service-instance-name>
-                    <service-type>${MsoUtils.xmlEscape(aaiServiceType)}</service-type>
-                    <service-role>${MsoUtils.xmlEscape(aaiServiceRole)}</service-role>
-                    <resource-version>${MsoUtils.xmlEscape(serviceInstanceVersion)}</resource-version>
-                    <model-invariant-id>${MsoUtils.xmlEscape(modelInvariantUuid)}</model-invariant-id>
-                    <model-version-id>${MsoUtils.xmlEscape(modelUuid)}</model-version-id>
-                                </service-instance>""".trim()
-
-               execution.setVariable("serviceInstanceData", serviceInstanceData)
-               msoLogger.info("serviceInstanceData: " + serviceInstanceData)
-               msoLogger.debug(serviceInstanceData)
-               msoLogger.info(" aai_uri " + aai_uri + " namespace:" + namespace)
-               msoLogger.info(" 'payload' to update Service Instance in AAI - " + "\n" + serviceInstanceData)
+               org.onap.aai.domain.yang.ServiceInstance si = new org.onap.aai.domain.yang.ServiceInstance()
+               si.setServiceInstanceId(serviceInstanceId)
+               si.setServiceInstanceName(serviceInstanceName)
+               si.setServiceType(aaiServiceType)
+               si.setServiceRole(aaiServiceRole)
+               si.setModelInvariantId(modelInvariantUuid)
+               si.setModelVersionId(modelUuid)
+
+               execution.setVariable("serviceInstanceData", si)
 
                msoLogger.info("Exited " + method)
        }
 
 
                msoLogger.info("Exited " + method)
        }
 
-       public void postProcessAAIPUT(DelegateExecution execution) {
-               msoLogger.trace("postProcessAAIPUT ")
+       public void updateServiceInstance(DelegateExecution execution) {
+               msoLogger.trace("updateServiceInstance ")
                String msg = ""
                try {
                        String serviceInstanceId = execution.getVariable("serviceInstanceId")
                String msg = ""
                try {
                        String serviceInstanceId = execution.getVariable("serviceInstanceId")
-                       boolean succInAAI = execution.getVariable("GENPS_SuccessIndicator")
-                       if(!succInAAI){
-                               msoLogger.info("Error putting Service-instance in AAI", + serviceInstanceId)
-                               WorkflowException workflowException = execution.getVariable("WorkflowException")
-                               msoLogger.debug("workflowException: " + workflowException)
-                               if(workflowException != null){
-                                       exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage())
-                               }
-                       }
-                       else
-                       {
+                       org.onap.aai.domain.yang.ServiceInstance si = execution.getVariable("serviceInstanceData")
 
 
-                       }
+                       AAIResourcesClient client = new AAIResourcesClient()
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstanceId)
+                       client.update(uri, si)
 
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex) {
 
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception ex) {
-                       msg = "Exception in DoCreateServiceInstance.postProcessAAIDEL. " + ex.getMessage()
+                       msg = "Exception in DoCreateServiceInstance.updateServiceInstance. " + ex.getMessage()
                        msoLogger.info(msg)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                }
                        msoLogger.info(msg)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                }
-               msoLogger.trace("Exit postProcessAAIPUT ")
+               msoLogger.trace("Exit updateServiceInstance ")
        }
 
        public void processRollbackException(DelegateExecution execution){
        }
 
        public void processRollbackException(DelegateExecution execution){
index d7f2087..dbacd48 100644 (file)
@@ -20,6 +20,8 @@
 
 package org.onap.so.bpmn.infrastructure.scripts;
 
 
 package org.onap.so.bpmn.infrastructure.scripts;
 
+import javax.ws.rs.core.UriBuilder
+
 import org.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
 import org.apache.commons.lang3.*
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution
@@ -33,17 +35,18 @@ import org.onap.so.bpmn.common.scripts.VidUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils
-import org.onap.so.logger.MsoLogger
-import org.onap.so.rest.APIResponse
-import org.springframework.web.util.UriUtils
-
-import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.AAIObjectType
 import org.onap.so.client.aai.AAIObjectType
-import org.onap.so.client.aai.entities.AAIResultWrapper
-import org.onap.so.client.aai.entities.Relationships
+import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory
 import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory
-import org.json.JSONObject
+import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.graphinventory.entities.uri.Depth
+import org.onap.so.constants.Defaults
+import org.onap.so.logger.MsoLogger
+import org.onap.so.rest.APIResponse
+import org.springframework.web.util.UriUtils
+import org.onap.aai.domain.yang.VpnBinding
+import org.onap.aai.domain.yang.RouteTarget
 import javax.ws.rs.NotFoundException
 
 import groovy.json.*
 import javax.ws.rs.NotFoundException
 
 import groovy.json.*
@@ -352,16 +355,15 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                try {
                        String networkInputs  = execution.getVariable(Prefix + "networkInputs")
                        String cloudRegion = utils.getNodeText(networkInputs, "aic-cloud-region")
                try {
                        String networkInputs  = execution.getVariable(Prefix + "networkInputs")
                        String cloudRegion = utils.getNodeText(networkInputs, "aic-cloud-region")
-                       cloudRegion = UriUtils.encode(cloudRegion,"UTF-8")
 
                        // Prepare AA&I url
                        String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUtil = new AaiUtil(this)
 
                        // Prepare AA&I url
                        String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUtil = new AaiUtil(this)
-                       String aai_uri = aaiUtil.getCloudInfrastructureCloudRegionUri(execution)
-                       String queryCloudRegionRequest = "${aai_endpoint}${aai_uri}/" + cloudRegion
-                       msoLogger.debug(queryCloudRegionRequest)
+
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, Defaults.CLOUD_OWNER.toString(), cloudRegion)
+                       def queryCloudRegionRequest = aaiUtil.createAaiUri(uri)
+
                        execution.setVariable(Prefix + "queryCloudRegionRequest", queryCloudRegionRequest)
                        execution.setVariable(Prefix + "queryCloudRegionRequest", queryCloudRegionRequest)
-                       msoLogger.debug(" UPDNETI_queryCloudRegionRequest - " + "\n" + queryCloudRegionRequest)
 
                        String cloudRegionPo = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
                        String cloudRegionSdnc = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "SDNC", cloudRegion)
 
                        String cloudRegionPo = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "PO", cloudRegion)
                        String cloudRegionSdnc = aaiUtil.getAAICloudReqion(execution,  queryCloudRegionRequest, "SDNC", cloudRegion)
@@ -407,10 +409,11 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                        execution.setVariable(Prefix + "networkId", networkId)
 
                        // Prepare AA&I url
                        execution.setVariable(Prefix + "networkId", networkId)
 
                        // Prepare AA&I url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                       String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
+                       uri.depth(Depth.ALL)
+                       String queryIdAAIRequest = aaiUriUtil.createAaiUri(uri)
+
                        msoLogger.debug(queryIdAAIRequest)
                        execution.setVariable(Prefix + "queryIdAAIRequest", queryIdAAIRequest)
                        msoLogger.debug(Prefix + "queryIdAAIRequest - " + "\n" + queryIdAAIRequest)
                        msoLogger.debug(queryIdAAIRequest)
                        execution.setVariable(Prefix + "queryIdAAIRequest", queryIdAAIRequest)
                        msoLogger.debug(Prefix + "queryIdAAIRequest - " + "\n" + queryIdAAIRequest)
@@ -474,10 +477,11 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                        networkId = UriUtils.encode(networkId,"UTF-8")
 
                        // Prepare AA&I url
                        networkId = UriUtils.encode(networkId,"UTF-8")
 
                        // Prepare AA&I url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                       String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
+                       uri.depth(Depth.ALL)
+                       String requeryIdAAIRequest = aaiUriUtil.createAaiUri(uri)
+
                        msoLogger.debug(requeryIdAAIRequest)
                        execution.setVariable(Prefix + "requeryIdAAIRequest", requeryIdAAIRequest)
                        msoLogger.debug(" UPDNETI_requeryIdAAIRequest - " + "\n" + requeryIdAAIRequest)
                        msoLogger.debug(requeryIdAAIRequest)
                        execution.setVariable(Prefix + "requeryIdAAIRequest", requeryIdAAIRequest)
                        msoLogger.debug(" UPDNETI_requeryIdAAIRequest - " + "\n" + requeryIdAAIRequest)
@@ -557,93 +561,37 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                        execution.setVariable(Prefix + "vpnCount", vpnCount)
                        msoLogger.debug(" UPDNETI_vpnCount - " + vpnCount)
 
                        execution.setVariable(Prefix + "vpnCount", vpnCount)
                        msoLogger.debug(" UPDNETI_vpnCount - " + vpnCount)
 
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-
                        if (vpnCount > 0) {
                                execution.setVariable(Prefix + "vpnBindings", vpnBindingUri)
                                msoLogger.debug(" vpnBindingUri List - " + vpnBindingUri)
 
                                String routeTargets = ""
                                // AII loop call using list vpnBindings
                        if (vpnCount > 0) {
                                execution.setVariable(Prefix + "vpnBindings", vpnBindingUri)
                                msoLogger.debug(" vpnBindingUri List - " + vpnBindingUri)
 
                                String routeTargets = ""
                                // AII loop call using list vpnBindings
-                               for (i in 0..vpnBindingUri.size()-1) {
-
+                               for(i in 0..vpnBindingUri.size()-1) {
                                        int counting = i+1
 
                                        int counting = i+1
 
-                                       // prepare url using vpnBinding
-                                       String queryVpnBindingAAIRequest = ""
-                                       String aai_uri = aaiUriUtil.getNetworkVpnBindingUri(execution)
-
-                                       // Note: By default, the vpnBinding url is found in 'related-link' of the response,
-                                       //       so, the default in URN mappings for this is set to "" (ie, space), unless forced to use the URN mapping.
-                                       if (aai_uri == null || aai_uri == "") {
-                                               // using value of 'related-link' from response
-                                               if (vpnBindingUri[i].charAt(vpnBindingUri[i].length()-1) == '/') {
-                                                   queryVpnBindingAAIRequest = "${aai_endpoint}" + vpnBindingUri[i].substring(0, vpnBindingUri[i].length()-1) + "?depth=all"
-                                               } else {
-                                                   queryVpnBindingAAIRequest = "${aai_endpoint}" + vpnBindingUri[i] + "?depth=all"
-                                               }
-
-                                       } else {
-                                           // using uri value in URN mapping
-                                               String vpnBindingId = vpnBindingUri[i].substring(vpnBindingUri[i].indexOf("/vpn-binding/")+13, vpnBindingUri[i].length())
-                                               if (vpnBindingId.charAt(vpnBindingId.length()-1) == '/') {
-                                                       vpnBindingId = vpnBindingId.substring(0, vpnBindingId.length()-1)
-                                               }
-                                           queryVpnBindingAAIRequest = "${aai_endpoint}${aai_uri}/" + vpnBindingId + "?depth=all"
+                                       String vpnBindingId = vpnBindingUri[i].substring(vpnBindingUri[i].indexOf("/vpn-binding/")+13, vpnBindingUri[i].length())
+                                       if (vpnBindingId.charAt(vpnBindingId.length()-1) == '/') {
+                                               vpnBindingId = vpnBindingId.substring(0, vpnBindingId.length()-1)
                                        }
 
                                        }
 
-                                       msoLogger.debug(queryVpnBindingAAIRequest)
-                                       execution.setVariable(Prefix + "queryVpnBindingAAIRequest", queryVpnBindingAAIRequest)
-                                       msoLogger.debug(" UPDNETI_queryVpnBindingAAIRequest, , vpnBinding #" + counting + " : " + "\n" + queryVpnBindingAAIRequest)
-
-                                       APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryVpnBindingAAIRequest)
-                                       String returnCode = response.getStatusCode()
-                                       execution.setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", returnCode)
-                                       msoLogger.debug(" ***** AAI query vpn binding Response Code, vpnBinding #" + counting + " : " + returnCode)
-
-                                       String aaiResponseAsString = response.getResponseBodyAsString()
-
-                                       if (returnCode=='200') {
-                                               msoLogger.debug(aaiResponseAsString)
-                                               execution.setVariable(Prefix + "queryVpnBindingAAIResponse", aaiResponseAsString)
-                                               msoLogger.debug(" AAI Query Vpn Binding Success REST Response, , vpnBinding #" + counting + " : " + "\n" + aaiResponseAsString)
-
-                                               String routeTarget = ""
-                                               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.getNodeText(XmlUtil.serialize(aaiRouteTarget[j]), "global-route-target")
-                                                               routeRole  = utils.getNodeText(XmlUtil.serialize(aaiRouteTarget[j]), "route-target-role")
-                                                               routeTargets += "<routeTargets>" + '\n' +
-                                                                               " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' +
-                                                                                               " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' +
-                                                                                               "</routeTargets>" + '\n'
-                                                       }
-                                               }
-
-                                       } else {
-                                               if (returnCode=='404') {
-                                                       String dataErrorMessage = "Response Error from AAINetworkVpnBinding is 404 (Not Found)."
-                                                       msoLogger.debug(dataErrorMessage)
-                                                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
-                                               } else {
-                                                  if (aaiResponseAsString.contains("RESTFault")) {
-                                                          WorkflowException exceptionObject = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
-                                                          execution.setVariable("WorkflowException", exceptionObject)
-                                                          throw new BpmnError("MSOWorkflowException")
-
-                                                          } else {
-                                                                       // aai all errors
-                                                                       String dataErrorMessage = " Unexpected Response from AAINetworkVpnBinding - " + returnCode
-                                                                       msoLogger.debug(dataErrorMessage)
-                                                                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
-                                                         }
+                                       AAIResourcesClient resourceClient = new AAIResourcesClient()
+                                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VPN_BINDING, vpnBindingId)
+                                       AAIResultWrapper wrapper = resourceClient.get(uri.depth(Depth.TWO), NotFoundException.class)
+
+                                       Optional<VpnBinding> binding = wrapper.asBean(VpnBinding.class)
+
+                                       String routeTarget = ""
+                                       String routeRole = ""
+                                       if(binding.get().getRouteTargets() != null) {
+                                               List<RouteTarget> targets = binding.get().getRouteTargets().getRouteTarget()
+                                               for(RouteTarget target : targets) {
+                                                       routeTarget  = target.getGlobalRouteTarget()
+                                                       routeRole  = target.getRouteTargetRole()
+                                                       routeTargets += "<routeTargets>" + '\n' +
+                                                                       " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' +
+                                                                       " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' +
+                                                                       "</routeTargets>" + '\n'
                                                }
                                        }
 
                                                }
                                        }
 
@@ -655,8 +603,8 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", "200")
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", "200")
-                               String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                               String schemaVersion = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
+                               AaiUtil aaiUriUtil = new AaiUtil(this)
+                               String schemaVersion = aaiUriUtil.getNamespace()
                            String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <vpn-binding xmlns="${schemaVersion}">
                            String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <vpn-binding xmlns="${schemaVersion}">
@@ -670,9 +618,9 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
 
                        }
 
 
                        }
 
-               } catch (BpmnError e) {
-                       throw e;
-
+               } catch (NotFoundException e) {
+                       msoLogger.debug("Response Error from AAINetworkVpnBinding is 404 (Not Found).")
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Response Error from AAINetworkVpnBinding is 404 (Not Found).")
                } catch (Exception ex) {
                        String exceptionMessage = "Bpmn error encountered in DoUpdateNetworkInstance flow. callRESTQueryAAINetworkVpnBinding() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
                } catch (Exception ex) {
                        String exceptionMessage = "Bpmn error encountered in DoUpdateNetworkInstance flow. callRESTQueryAAINetworkVpnBinding() - " + ex.getMessage()
                        msoLogger.debug(exceptionMessage)
@@ -700,7 +648,6 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                        execution.setVariable(Prefix + "networkPolicyCount", networkPolicyCount)
                        msoLogger.debug(" UPDNETI_networkPolicyCount - " + networkPolicyCount)
 
                        execution.setVariable(Prefix + "networkPolicyCount", networkPolicyCount)
                        msoLogger.debug(" UPDNETI_networkPolicyCount - " + networkPolicyCount)
 
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
 
                        if (networkPolicyCount > 0) {
                        AaiUtil aaiUriUtil = new AaiUtil(this)
 
                        if (networkPolicyCount > 0) {
@@ -713,31 +660,11 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
 
                                        int counting = i+1
 
 
                                        int counting = i+1
 
-                                       // prepare url using vpnBinding
-                                       String queryNetworkPolicyAAIRequest = ""
-
-                                       String aai_uri = aaiUriUtil.getNetworkPolicyUri(execution)
-
-                                       // Note: By default, the network policy url is found in 'related-link' of the response,
-                                       //       so, the default in URN mappings for this is set to "" (ie, space), unless forced to use the URN mapping.
-                                       if (aai_uri == null || aai_uri == "") {
-                                               // using value of 'related-link' from response
-                                               if (networkPolicyUriList[i].charAt(networkPolicyUriList[i].length()-1) == '/') {
-                                                       queryNetworkPolicyAAIRequest = "${aai_endpoint}" + networkPolicyUriList[i].substring(0, networkPolicyUriList[i].length()-1) + "?depth=all"
-                                               } else {
-                                                       queryNetworkPolicyAAIRequest = "${aai_endpoint}" + networkPolicyUriList[i] + "?depth=all"
-                                               }
-                                       } else {
-                                               // using uri value in URN mapping
-                                               String networkPolicyId = networkPolicyUriList[i].substring(networkPolicyUriList[i].indexOf("/network-policy/")+16, networkPolicyUriList[i].length())
-                                               println " networkPolicyId - " + networkPolicyId
-                                               if (networkPolicyId.charAt(networkPolicyId.length()-1) == '/') {
-                                                       networkPolicyId = networkPolicyId.substring(0, networkPolicyId.length()-1)
-                                               }
-                                               queryNetworkPolicyAAIRequest = "${aai_endpoint}${aai_uri}/" + networkPolicyId + "?depth=all"
-
-                                       }
+                                       URI uri = UriBuilder.fromUri(networkPolicyUriList[i]).build()
 
 
+                                       AAIResourceUri aaiUri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.NETWORK_POLICY, uri)
+                                       aaiUri.depth(Depth.ALL)
+                                       String queryNetworkPolicyAAIRequest = aaiUriUtil.createAaiUri(aaiUri)
 
                                        msoLogger.debug(queryNetworkPolicyAAIRequest)
                                        execution.setVariable(Prefix + "queryNetworkPolicyAAIRequest", queryNetworkPolicyAAIRequest)
 
                                        msoLogger.debug(queryNetworkPolicyAAIRequest)
                                        execution.setVariable(Prefix + "queryNetworkPolicyAAIRequest", queryNetworkPolicyAAIRequest)
@@ -791,8 +718,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryNetworkPolicyReturnCode", "200")
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryNetworkPolicyReturnCode", "200")
-                               String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                               String schemaVersion = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
+                               String schemaVersion = aaiUriUtil.getNamespace()
                                String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <network-policy xmlns="${schemaVersion}">
                                String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <network-policy xmlns="${schemaVersion}">
@@ -850,30 +776,11 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                                        int counting = i+1
 
                                        // prepare url using tableRef
                                        int counting = i+1
 
                                        // prepare url using tableRef
-                                       String queryNetworkTableRefAAIRequest = ""
-
-                                       String aai_uri = aaiUriUtil.getNetworkTableReferencesUri(execution)
-
-                                       // Note: By default, the network policy url is found in 'related-link' of the response,
-                                       //       so, the default in URN mappings for this is set to "" (ie, space), unless forced to use the URN mapping.
-                                       if (aai_uri == null || aai_uri == "") {
-                                               // using value of 'related-link' from response
-                                               if (networkTableRefUriList[i].charAt(networkTableRefUriList[i].length()-1) == '/') {
-                                                       queryNetworkTableRefAAIRequest = "${aai_endpoint}" + networkTableRefUriList[i].substring(0, networkTableRefUriList[i].length()-1) + "?depth=all"
-                                               } else {
-                                                       queryNetworkTableRefAAIRequest = "${aai_endpoint}" + networkTableRefUriList[i] + "?depth=all"
-                                               }
-                                       } else {
-                                               // using uri value in URN mapping
-                                               String networkTableRefId = networkTableRefUriList[i].substring(networkTableRefUriList[i].indexOf("/route-table-reference/")+23, networkTableRefUriList[i].length())
-
-                                               if (networkTableRefId.charAt(networkTableRefId.length()-1) == '/') {
-                                                       networkTableRefId = networkTableRefId.substring(0, networkTableRefId.length()-1)
-                                               }
-                                               queryNetworkTableRefAAIRequest = "${aai_endpoint}${aai_uri}/" + networkTableRefId + "?depth=all"
-
-                                       }
+                                       URI uri = UriBuilder.fromUri(networkTableRefUriList[i]).build()
 
 
+                                       AAIResourceUri aaiUri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.ROUTE_TABLE_REFERENCE, uri)
+                                       aaiUri.depth(Depth.ALL)
+                                       String queryNetworkTableRefAAIRequest = aaiUriUtil.createAaiUri(aaiUri)
 
                                        msoLogger.debug(queryNetworkTableRefAAIRequest)
                                        execution.setVariable(Prefix + "queryNetworkTableRefAAIRequest", queryNetworkTableRefAAIRequest)
 
                                        msoLogger.debug(queryNetworkTableRefAAIRequest)
                                        execution.setVariable(Prefix + "queryNetworkTableRefAAIRequest", queryNetworkTableRefAAIRequest)
@@ -927,8 +834,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryNetworkTableRefReturnCode", "200")
                        } else {
                                // reset return code to success
                                execution.setVariable(Prefix + "aaiQqueryNetworkTableRefReturnCode", "200")
-                               String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                               String schemaVersion = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
+                               String schemaVersion = aaiUriUtil.getNamespace()
                                String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <route-table-references xmlns="${schemaVersion}">
                                String aaiStubResponse =
                                        """     <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
                                                        <route-table-references xmlns="${schemaVersion}">
@@ -969,17 +875,17 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor {
                        String updateNetworkResponse   = execution.getVariable(Prefix + "updateNetworkResponse")
 
                        // Prepare url
                        String updateNetworkResponse   = execution.getVariable(Prefix + "updateNetworkResponse")
 
                        // Prepare url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution)
-                       String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all"
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
+                       uri.depth(Depth.ALL)
+                       String updateContrailAAIUrlRequest = aaiUriUtil.createAaiUri(uri)
 
                        msoLogger.debug(updateContrailAAIUrlRequest)
                        execution.setVariable(Prefix + "updateContrailAAIUrlRequest", updateContrailAAIUrlRequest)
                        msoLogger.debug(" UPDNETI_updateContrailAAIUrlRequest - " + "\n" + updateContrailAAIUrlRequest)
 
                        //Prepare payload (PUT)
 
                        msoLogger.debug(updateContrailAAIUrlRequest)
                        execution.setVariable(Prefix + "updateContrailAAIUrlRequest", updateContrailAAIUrlRequest)
                        msoLogger.debug(" UPDNETI_updateContrailAAIUrlRequest - " + "\n" + updateContrailAAIUrlRequest)
 
                        //Prepare payload (PUT)
-                       String schemaVersion = aaiUriUtil.getNamespaceFromUri(execution, aai_uri)
+                       String schemaVersion = aaiUriUtil.getNamespaceFromUri(updateContrailAAIUrlRequest)
                        String payload = networkUtils.ContrailNetworkCreatedUpdate(requeryIdAAIResponse, updateNetworkResponse, schemaVersion)
                        String payloadXml = utils.formatXml(payload)
                        msoLogger.debug(payloadXml)
                        String payload = networkUtils.ContrailNetworkCreatedUpdate(requeryIdAAIResponse, updateNetworkResponse, schemaVersion)
                        String payloadXml = utils.formatXml(payload)
                        msoLogger.debug(payloadXml)
index 451e029..bce1979 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -33,11 +33,15 @@ import org.onap.so.bpmn.common.scripts.VfModuleBase
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils;
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.core.json.JsonUtils;
+import org.onap.so.client.graphinventory.entities.uri.Depth
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.entities.AAIResultWrapper
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.AAIResourcesClient
 import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
 import org.onap.so.client.aai.entities.uri.AAIUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.entities.uri.AAIUri
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.constants.Defaults
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
@@ -111,56 +115,56 @@ public class DoUpdateVfModule extends VfModuleBase {
                        def xml = getVariable(execution, 'DoUpdateVfModuleRequest')
                        msoLogger.debug("DoUpdateVfModule request: " + xml)
                        msoLogger.debug('Received request xml:\n' + xml)
                        def xml = getVariable(execution, 'DoUpdateVfModuleRequest')
                        msoLogger.debug("DoUpdateVfModule request: " + xml)
                        msoLogger.debug('Received request xml:\n' + xml)
-                       
+
                        if (xml == null || xml.isEmpty()) {
                                // Building Block-type request
 
                                String cloudConfiguration = execution.getVariable("cloudConfiguration")
                                String vfModuleModelInfo = execution.getVariable("vfModuleModelInfo")
                        if (xml == null || xml.isEmpty()) {
                                // Building Block-type request
 
                                String cloudConfiguration = execution.getVariable("cloudConfiguration")
                                String vfModuleModelInfo = execution.getVariable("vfModuleModelInfo")
-                               
+
                                def serviceModelInfo = execution.getVariable("serviceModelInfo")
                                msoLogger.debug("serviceModelInfo: " + serviceModelInfo)
                                String modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid")
                                msoLogger.debug("modelInvariantUuid: " + modelInvariantUuid)
                                def vnfModelInfo = execution.getVariable("vnfModelInfo")
                                def serviceModelInfo = execution.getVariable("serviceModelInfo")
                                msoLogger.debug("serviceModelInfo: " + serviceModelInfo)
                                String modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid")
                                msoLogger.debug("modelInvariantUuid: " + modelInvariantUuid)
                                def vnfModelInfo = execution.getVariable("vnfModelInfo")
-                               
+
                                //tenantId
                                def tenantId = execution.getVariable("tenantId")
                                execution.setVariable("DOUPVfMod_tenantId", tenantId)
                                //tenantId
                                def tenantId = execution.getVariable("tenantId")
                                execution.setVariable("DOUPVfMod_tenantId", tenantId)
-                               
+
                                //volumeGroupId
                                def volumeGroupId = execution.getVariable("volumeGroupId")
                                execution.setVariable("DOUPVfMod_volumeGroupId", volumeGroupId)
                                //volumeGroupId
                                def volumeGroupId = execution.getVariable("volumeGroupId")
                                execution.setVariable("DOUPVfMod_volumeGroupId", volumeGroupId)
-                               
+
                                //cloudSiteId
                                def cloudSiteId = execution.getVariable("lcpCloudRegionId")
                                execution.setVariable("DOUPVfMod_aicCloudRegion", cloudSiteId)
                                //cloudSiteId
                                def cloudSiteId = execution.getVariable("lcpCloudRegionId")
                                execution.setVariable("DOUPVfMod_aicCloudRegion", cloudSiteId)
-                               
+
                                msoLogger.debug("cloudSiteId: " + cloudSiteId)
                                //vnfType
                                def vnfType = execution.getVariable("vnfType")
                                execution.setVariable("DOUPVfMod_vnfType", vnfType)
                                msoLogger.debug("cloudSiteId: " + cloudSiteId)
                                //vnfType
                                def vnfType = execution.getVariable("vnfType")
                                execution.setVariable("DOUPVfMod_vnfType", vnfType)
-                               
+
                                msoLogger.debug("vnfType: " + vnfType)
                                //vnfName
                                def vnfName = execution.getVariable("vnfName")
                                execution.setVariable("DOUPVfMod_vnfName", vnfName)
                                msoLogger.debug("vnfType: " + vnfType)
                                //vnfName
                                def vnfName = execution.getVariable("vnfName")
                                execution.setVariable("DOUPVfMod_vnfName", vnfName)
-                               
+
                                msoLogger.debug("vnfName: " + vnfName)
                                //vnfId
                                def vnfId = execution.getVariable("vnfId")
                                execution.setVariable("DOUPVfMod_vnfId", vnfId)
                                msoLogger.debug("vnfName: " + vnfName)
                                //vnfId
                                def vnfId = execution.getVariable("vnfId")
                                execution.setVariable("DOUPVfMod_vnfId", vnfId)
-                               
+
                                msoLogger.debug("vnfId: " + vnfId)
                                //vfModuleName
                                def vfModuleName = execution.getVariable("vfModuleName")
                                execution.setVariable("DOUPVfMod_vfModuleName", vfModuleName)
                                msoLogger.debug("vnfId: " + vnfId)
                                //vfModuleName
                                def vfModuleName = execution.getVariable("vfModuleName")
                                execution.setVariable("DOUPVfMod_vfModuleName", vfModuleName)
-                               
+
                                msoLogger.debug("vfModuleName: " + vfModuleName)
                                //vfModuleModelName
                                def vfModuleModelName = jsonUtil.getJsonValue(vfModuleModelInfo, "modelName")
                                execution.setVariable("DOUPVfMod_vfModuleModelName", vfModuleModelName)
                                msoLogger.debug("vfModuleName: " + vfModuleName)
                                //vfModuleModelName
                                def vfModuleModelName = jsonUtil.getJsonValue(vfModuleModelInfo, "modelName")
                                execution.setVariable("DOUPVfMod_vfModuleModelName", vfModuleModelName)
-                               
+
                                msoLogger.debug("vfModuleModelName: " + vfModuleModelName)
                                //modelCustomizationUuid
                                def modelCustomizationUuid = jsonUtil.getJsonValue(vfModuleModelInfo, "modelCustomizationUuid")
                                msoLogger.debug("vfModuleModelName: " + vfModuleModelName)
                                //modelCustomizationUuid
                                def modelCustomizationUuid = jsonUtil.getJsonValue(vfModuleModelInfo, "modelCustomizationUuid")
@@ -168,7 +172,7 @@ public class DoUpdateVfModule extends VfModuleBase {
                                        modelCustomizationUuid = ""
                                }
                                execution.setVariable("DOUPVfMod_modelCustomizationUuid", modelCustomizationUuid)
                                        modelCustomizationUuid = ""
                                }
                                execution.setVariable("DOUPVfMod_modelCustomizationUuid", modelCustomizationUuid)
-                               
+
                                msoLogger.debug("modelCustomizationUuid: " + modelCustomizationUuid)
                                //vfModuleId
                                def vfModuleId = execution.getVariable("vfModuleId")
                                msoLogger.debug("modelCustomizationUuid: " + modelCustomizationUuid)
                                //vfModuleId
                                def vfModuleId = execution.getVariable("vfModuleId")
@@ -186,12 +190,12 @@ public class DoUpdateVfModule extends VfModuleBase {
                                //serviceInstanceId
                                def serviceInstanceId = execution.getVariable("serviceInstanceId")
                                execution.setVariable("DOUPVfMod_serviceInstanceId", serviceInstanceId)
                                //serviceInstanceId
                                def serviceInstanceId = execution.getVariable("serviceInstanceId")
                                execution.setVariable("DOUPVfMod_serviceInstanceId", serviceInstanceId)
-                               
+
                                msoLogger.debug("serviceInstanceId: " + serviceInstanceId)
                                //source - HARDCODED
                                def source = "VID"
                                execution.setVariable("DOUPVfMod_source", source)
                                msoLogger.debug("serviceInstanceId: " + serviceInstanceId)
                                //source - HARDCODED
                                def source = "VID"
                                execution.setVariable("DOUPVfMod_source", source)
-                               
+
                                msoLogger.debug("source: " + source)
                                //backoutOnFailure
                                def disableRollback = execution.getVariable("disableRollback")
                                msoLogger.debug("source: " + source)
                                //backoutOnFailure
                                def disableRollback = execution.getVariable("disableRollback")
@@ -239,16 +243,16 @@ public class DoUpdateVfModule extends VfModuleBase {
                                String vnfQueryPath = execution.getVariable("vnfQueryPath")
                                execution.setVariable("DOUPVfMod_vnfQueryPath", vnfQueryPath)
                                msoLogger.debug("vnfQueryPath: " + vnfQueryPath)
                                String vnfQueryPath = execution.getVariable("vnfQueryPath")
                                execution.setVariable("DOUPVfMod_vnfQueryPath", vnfQueryPath)
                                msoLogger.debug("vnfQueryPath: " + vnfQueryPath)
-                               
+
                                Map<String,String> vfModuleInputParams = execution.getVariable("vfModuleInputParams")
                                if (vfModuleInputParams != null) {
                                Map<String,String> vfModuleInputParams = execution.getVariable("vfModuleInputParams")
                                if (vfModuleInputParams != null) {
-                                       execution.setVariable("DOUPVfMod_vnfParamsMap", vfModuleInputParams)                                    
-                               }       
+                                       execution.setVariable("DOUPVfMod_vnfParamsMap", vfModuleInputParams)
+                               }
                                //get workload and environment context from parent SI
                                String environmentContext = ""
                                String workloadContext =""
                                String serviceType =""
                                //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")
                                try{
                                        String json = catalog.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid )
                                        serviceType = jsonUtil.getJsonValue(json, "serviceResources.serviceType")
@@ -259,7 +263,7 @@ public class DoUpdateVfModule extends VfModuleBase {
                                        msoLogger.debug(msg)
                                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                                }
                                        msoLogger.debug(msg)
                                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
                                }
-                               
+
                                try{
                                        AAIUri serviceInstanceURI = AAIUriFactory.create(AAIObjectType.SERVICE_INSTANCE, globalSubscriberId,serviceType,serviceInstanceId)
                                        AAIResourcesClient aaiRC = new AAIResourcesClient()
                                try{
                                        AAIUri serviceInstanceURI = AAIUriFactory.create(AAIObjectType.SERVICE_INSTANCE, globalSubscriberId,serviceType,serviceInstanceId)
                                        AAIResourcesClient aaiRC = new AAIResourcesClient()
@@ -267,11 +271,11 @@ public class DoUpdateVfModule extends VfModuleBase {
                                        Map<String, Object> aaiJson = aaiRW.asMap()
                                        environmentContext = aaiJson.getOrDefault("environment-context","")
                                        workloadContext = aaiJson.getOrDefault("workload-context","")
                                        Map<String, Object> aaiJson = aaiRW.asMap()
                                        environmentContext = aaiJson.getOrDefault("environment-context","")
                                        workloadContext = aaiJson.getOrDefault("workload-context","")
-                                       
+
                                }catch (Exception ex) {
                                        msoLogger.debug("Error retreiving parent service instance information")
                                }
                                }catch (Exception ex) {
                                        msoLogger.debug("Error retreiving parent service instance information")
                                }
-                               
+
                                execution.setVariable("DCVFM_environmentContext",environmentContext)
                                execution.setVariable("DCVFM_workloadContext",workloadContext)
                        }
                                execution.setVariable("DCVFM_environmentContext",environmentContext)
                                execution.setVariable("DCVFM_workloadContext",workloadContext)
                        }
@@ -285,7 +289,7 @@ public class DoUpdateVfModule extends VfModuleBase {
                                        serviceInstanceId = ''
                                }
                                execution.setVariable('DOUPVfMod_serviceInstanceId', serviceInstanceId)
                                        serviceInstanceId = ''
                                }
                                execution.setVariable('DOUPVfMod_serviceInstanceId', serviceInstanceId)
-       
+
                                def vnfInputs = getRequiredNodeXml(execution, xml, 'vnf-inputs')
                                execution.setVariable('DOUPVfMod_vnfInputs', vnfInputs)
                                execution.setVariable('DOUPVfMod_vnfId', getRequiredNodeText(execution, vnfInputs, 'vnf-id'))
                                def vnfInputs = getRequiredNodeXml(execution, xml, 'vnf-inputs')
                                execution.setVariable('DOUPVfMod_vnfInputs', vnfInputs)
                                execution.setVariable('DOUPVfMod_vnfId', getRequiredNodeText(execution, vnfInputs, 'vnf-id'))
@@ -306,14 +310,14 @@ public class DoUpdateVfModule extends VfModuleBase {
                                        execution.setVariable("DOUPVfMod_isBaseVfModule", isBaseVfModule)
                                }
                                msoLogger.debug("isBaseVfModule: " + isBaseVfModule)
                                        execution.setVariable("DOUPVfMod_isBaseVfModule", isBaseVfModule)
                                }
                                msoLogger.debug("isBaseVfModule: " + isBaseVfModule)
-       
+
                                NetworkUtils networkUtils = new NetworkUtils()
                                def backoutOnFailure = networkUtils.isRollbackEnabled(execution, xml)
                                execution.setVariable("DOUPVfMod_backoutOnFailure", backoutOnFailure)
                                NetworkUtils networkUtils = new NetworkUtils()
                                def backoutOnFailure = networkUtils.isRollbackEnabled(execution, xml)
                                execution.setVariable("DOUPVfMod_backoutOnFailure", backoutOnFailure)
-       
+
                                def String vgi = getNodeTextForce(vnfInputs, 'volume-group-id')
                                execution.setVariable('DOUPVfMod_volumeGroupId', vgi)
                                def String vgi = getNodeTextForce(vnfInputs, 'volume-group-id')
                                execution.setVariable('DOUPVfMod_volumeGroupId', vgi)
-       
+
                                execution.setVariable('DOUPVfMod_vnfParams', utils.getNodeXml(xml, 'vnf-params', false))
                        }
 
                                execution.setVariable('DOUPVfMod_vnfParams', utils.getNodeXml(xml, 'vnf-params', false))
                        }
 
@@ -382,7 +386,7 @@ public class DoUpdateVfModule extends VfModuleBase {
                def method = getClass().getSimpleName() + '.prepConfirmVolumeGroupTenant(' +
                        'execution=' + execution.getId() +
                        ')'
                def method = getClass().getSimpleName() + '.prepConfirmVolumeGroupTenant(' +
                        'execution=' + execution.getId() +
                        ')'
-               
+
                def prefix = execution.getVariable("prefix")
 
                msoLogger.trace('Entered ' + method)
                def prefix = execution.getVariable("prefix")
 
                msoLogger.trace('Entered ' + method)
@@ -391,14 +395,12 @@ public class DoUpdateVfModule extends VfModuleBase {
                        String cloudRegion = execution.getVariable(prefix + "aicCloudRegion")
 
                        // Prepare AA&I url
                        String cloudRegion = execution.getVariable(prefix + "aicCloudRegion")
 
                        // Prepare AA&I url
-                       String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        AaiUtil aaiUtil = new AaiUtil(this)
                        AaiUtil aaiUtil = new AaiUtil(this)
-                       String aai_uri = aaiUtil.getCloudInfrastructureCloudRegionUri(execution)
-                       String queryCloudRegionRequest = "${aai_endpoint}${aai_uri}/" + cloudRegion
-                       msoLogger.debug("CloudRegion Request: " + queryCloudRegionRequest)
+
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, Defaults.CLOUD_OWNER.toString(), cloudRegion)
+                       def queryCloudRegionRequest = aaiUtil.createAaiUri(uri)
 
                        execution.setVariable(prefix + "queryCloudRegionRequest", queryCloudRegionRequest)
 
                        execution.setVariable(prefix + "queryCloudRegionRequest", queryCloudRegionRequest)
-                       msoLogger.debug(prefix + "queryCloudRegionRequest - " + "\n" + queryCloudRegionRequest)
 
                        cloudRegion = aaiUtil.getAAICloudReqion(execution, queryCloudRegionRequest, "AAI", cloudRegion)
 
 
                        cloudRegion = aaiUtil.getAAICloudReqion(execution, queryCloudRegionRequest, "AAI", cloudRegion)
 
@@ -427,9 +429,9 @@ public class DoUpdateVfModule extends VfModuleBase {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Exception occured during prepConfirmVolumeGroupTenant(): " + e.getMessage())
                }
                msoLogger.trace('Exited ' + method)
                        exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Exception occured during prepConfirmVolumeGroupTenant(): " + e.getMessage())
                }
                msoLogger.trace('Exited ' + method)
-               
+
        }
        }
-       
+
        /**
         * Prepare a Request for invoking the SDNC Adapter subflow to perform
         * a VNF topology 'changeassign' operation.
        /**
         * Prepare a Request for invoking the SDNC Adapter subflow to perform
         * a VNF topology 'changeassign' operation.
@@ -625,19 +627,19 @@ public class DoUpdateVfModule extends VfModuleBase {
                        def asdcServiceModelVersion = execution.getVariable('DOUPVfMod_asdcServiceModelVersion')
                        def modelCustomizationUuid = execution.getVariable('DOUPVfMod_modelCustomizationUuid')
                        def backoutOnFailure = execution.getVariable("DOUPVfMod_backoutOnFailure")
                        def asdcServiceModelVersion = execution.getVariable('DOUPVfMod_asdcServiceModelVersion')
                        def modelCustomizationUuid = execution.getVariable('DOUPVfMod_modelCustomizationUuid')
                        def backoutOnFailure = execution.getVariable("DOUPVfMod_backoutOnFailure")
-                       
+
                        def messageId = execution.getVariable('mso-request-id') + '-' + System.currentTimeMillis()
                        def notificationUrl = createCallbackURL(execution, "VNFAResponse", messageId)
                        def useQualifiedHostName = UrnPropertiesReader.getVariable("mso.use.qualified.host",execution)
                        if ('true'.equals(useQualifiedHostName)) {
                                        notificationUrl = utils.getQualifiedHostNameForCallback(notificationUrl)
                        }
                        def messageId = execution.getVariable('mso-request-id') + '-' + System.currentTimeMillis()
                        def notificationUrl = createCallbackURL(execution, "VNFAResponse", messageId)
                        def useQualifiedHostName = UrnPropertiesReader.getVariable("mso.use.qualified.host",execution)
                        if ('true'.equals(useQualifiedHostName)) {
                                        notificationUrl = utils.getQualifiedHostNameForCallback(notificationUrl)
                        }
-                       
+
                        String environmentContext = execution.getVariable("DOUPVEnvironment_context")
                        String workloadContext = execution.getVariable("DOUPVWorkload_context")
                        msoLogger.debug("workloadContext: " + workloadContext)
                        msoLogger.debug("environmentContext: " + environmentContext)
                        String environmentContext = execution.getVariable("DOUPVEnvironment_context")
                        String workloadContext = execution.getVariable("DOUPVWorkload_context")
                        msoLogger.debug("workloadContext: " + workloadContext)
                        msoLogger.debug("environmentContext: " + environmentContext)
-                       
+
                        Map<String, String> vnfParamsMap = execution.getVariable("DOUPVfMod_vnfParamsMap")
 
                        String sdncGetResponse = execution.getVariable('DOUPVfMod_sdncTopologyResponse')
                        Map<String, String> vnfParamsMap = execution.getVariable("DOUPVfMod_vnfParamsMap")
 
                        String sdncGetResponse = execution.getVariable('DOUPVfMod_sdncTopologyResponse')
@@ -791,7 +793,7 @@ public class DoUpdateVfModule extends VfModuleBase {
                                        ${personaModelCustomizationIdElement}
                                </UpdateAAIVfModuleRequest>
                        """
                                        ${personaModelCustomizationIdElement}
                                </UpdateAAIVfModuleRequest>
                        """
-                       
+
                        msoLogger.debug('Unformatted updateAAIVfModuleRequest: ' + updateAAIVfModuleRequest)
                        updateAAIVfModuleRequest = utils.formatXml(updateAAIVfModuleRequest)
                        execution.setVariable('DOUPVfMod_updateAAIVfModuleRequest', updateAAIVfModuleRequest)
                        msoLogger.debug('Unformatted updateAAIVfModuleRequest: ' + updateAAIVfModuleRequest)
                        updateAAIVfModuleRequest = utils.formatXml(updateAAIVfModuleRequest)
                        execution.setVariable('DOUPVfMod_updateAAIVfModuleRequest', updateAAIVfModuleRequest)
@@ -846,7 +848,7 @@ public class DoUpdateVfModule extends VfModuleBase {
                        if (!usePreload) {
                                modelCustomizationUuidString = "<modelCustomizationUuid>" + modelCustomizationUuid + "</modelCustomizationUuid>"
                        }
                        if (!usePreload) {
                                modelCustomizationUuidString = "<modelCustomizationUuid>" + modelCustomizationUuid + "</modelCustomizationUuid>"
                        }
-                       
+
                        def vnfParamsXml = execution.getVariable('DOUPVfMod_vnfParams')
                        def vnfNetworks = transformNetworkParamsToVnfNetworks(vnfParamsXml)
 
                        def vnfParamsXml = execution.getVariable('DOUPVfMod_vnfParams')
                        def vnfNetworks = transformNetworkParamsToVnfNetworks(vnfParamsXml)
 
@@ -974,10 +976,10 @@ public class DoUpdateVfModule extends VfModuleBase {
                        def vfModuleId = execution.getVariable('DOUPVfMod_vfModuleId')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        def vfModuleId = execution.getVariable('DOUPVfMod_vfModuleId')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String  aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
+                       
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
 
 
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
index 6b42406..afe01b9 100644 (file)
@@ -33,6 +33,11 @@ import org.onap.so.bpmn.core.domain.ModelInfo
 import org.onap.so.bpmn.core.domain.ModuleResource
 import org.onap.so.bpmn.core.domain.VnfResource
 import org.onap.so.bpmn.core.json.JsonUtils
 import org.onap.so.bpmn.core.domain.ModuleResource
 import org.onap.so.bpmn.core.domain.VnfResource
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.graphinventory.entities.uri.Depth
+import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.AAIResourcesClient
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
@@ -152,10 +157,8 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
                        def vnfId = execution.getVariable('vnfId')
                        
                        AaiUtil aaiUriUtil = new AaiUtil(this)
                        def vnfId = execution.getVariable('vnfId')
                        
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String  aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
-
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
                        msoLogger.debug("AAI endPoint: " + endPoint)
 
                        try {
index 8673ee7..f45e97f 100644 (file)
@@ -190,6 +190,8 @@ public class ReplaceVnfInfra extends VnfCmBase {
                        execution.setVariable('cloudConfiguration', cloudConfiguration)
                        def lcpCloudRegionId    = jsonUtils.getJsonValue(cloudConfiguration, "lcpCloudRegionId")
                        execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
                        execution.setVariable('cloudConfiguration', cloudConfiguration)
                        def lcpCloudRegionId    = jsonUtils.getJsonValue(cloudConfiguration, "lcpCloudRegionId")
                        execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
+                       def cloudOwner  = jsonUtils.getJsonValue(cloudConfiguration, "cloudOwner")
+                       execution.setVariable('cloudOwner', cloudOwner)
                        def tenantId = jsonUtils.getJsonValue(cloudConfiguration, "tenantId")
                        execution.setVariable('tenantId', tenantId)
                        
                        def tenantId = jsonUtils.getJsonValue(cloudConfiguration, "tenantId")
                        execution.setVariable('tenantId', tenantId)
                        
index 416d0d6..566afb0 100644 (file)
@@ -175,6 +175,10 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor {
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
+                       
+                       def cloudOwner  = cloudConfiguration.cloudOwner
+                       execution.setVariable(prefix + 'cloudOwner', cloudOwner)
+                       
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable(prefix + 'tenantId', tenantId)
                        
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable(prefix + 'tenantId', tenantId)
                        
index a926030..0972ee1 100644 (file)
@@ -191,6 +191,10 @@ public class UpdateVfModuleInfraV2 {
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
+                       
+                       def cloudOwner  = cloudConfiguration.cloudOwner
+                       execution.setVariable(prefix + 'cloudOwner', cloudOwner)
+                       
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable(prefix + 'tenantId', tenantId)
 
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable(prefix + 'tenantId', tenantId)
 
index 7b2d1b7..ce93db5 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -30,6 +30,10 @@ import org.onap.so.bpmn.common.scripts.VfModuleBase;
 import org.onap.so.bpmn.common.scripts.VidUtils;
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
 import org.onap.so.bpmn.common.scripts.VidUtils;
 import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.WorkflowException
+import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.AAIResourcesClient
+import org.onap.so.client.aai.entities.uri.AAIResourceUri
+import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
 import org.onap.so.logger.MessageEnum
 import org.onap.so.logger.MsoLogger
 import org.onap.so.rest.APIResponse
@@ -39,10 +43,10 @@ import groovy.json.JsonSlurper
 
 class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, UpdateVfModuleVolumeInfraV1.class);
 
 class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, UpdateVfModuleVolumeInfraV1.class);
-       
+
        /**
         * Initialize the flow's variables.
        /**
         * Initialize the flow's variables.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        private void initProcessVariables(DelegateExecution execution) {
         * @param execution The flow's execution instance.
         */
        private void initProcessVariables(DelegateExecution execution) {
@@ -62,7 +66,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                execution.setVariable('UPDVfModVol_volumeGroupTenantId', null)
                execution.setVariable('UpdateVfModuleVolumeSuccessIndicator', false)
        }
                execution.setVariable('UPDVfModVol_volumeGroupTenantId', null)
                execution.setVariable('UpdateVfModuleVolumeSuccessIndicator', false)
        }
-       
+
 
        /**
         * Perform initial processing, such as request validation, initialization of variables, etc.
 
        /**
         * Perform initial processing, such as request validation, initialization of variables, etc.
@@ -72,33 +76,33 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
                preProcessRequest(execution, isDebugEnabled)
        }
                def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
                preProcessRequest(execution, isDebugEnabled)
        }
-       
+
        public void preProcessRequest(DelegateExecution execution, isDebugLogEnabled) {
 
                initProcessVariables(execution)
                String jsonRequest = validateRequest(execution)
        public void preProcessRequest(DelegateExecution execution, isDebugLogEnabled) {
 
                initProcessVariables(execution)
                String jsonRequest = validateRequest(execution)
-               
+
                def request = ""
                def request = ""
-               
+
                try {
                        def jsonSlurper = new JsonSlurper()
                        Map reqMap = jsonSlurper.parseText(jsonRequest)
                try {
                        def jsonSlurper = new JsonSlurper()
                        Map reqMap = jsonSlurper.parseText(jsonRequest)
-                       
+
                        def serviceInstanceId = execution.getVariable('serviceInstanceId')
                        def volumeGroupId = execution.getVariable('volumeGroupId')
                        //def vnfId = execution.getVariable('vnfId')
                        def serviceInstanceId = execution.getVariable('serviceInstanceId')
                        def volumeGroupId = execution.getVariable('volumeGroupId')
                        //def vnfId = execution.getVariable('vnfId')
-                       
+
                        def vidUtils = new VidUtils(this)
                        request = vidUtils.createXmlVolumeRequest(reqMap, 'UPDATE_VF_MODULE_VOL', serviceInstanceId, volumeGroupId)
                        def vidUtils = new VidUtils(this)
                        request = vidUtils.createXmlVolumeRequest(reqMap, 'UPDATE_VF_MODULE_VOL', serviceInstanceId, volumeGroupId)
-                       
+
                        execution.setVariable('UPDVfModVol_Request', request)
                        execution.setVariable("UPDVfModVol_isVidRequest", true)
                        execution.setVariable('UPDVfModVol_Request', request)
                        execution.setVariable("UPDVfModVol_isVidRequest", true)
-                       
+
                        //need to get persona-model-id aka model-invariantId to use later to validate vf-module relation in AAI
                        //need to get persona-model-id aka model-invariantId to use later to validate vf-module relation in AAI
-                       
+
                        def modelInvariantId = reqMap.requestDetails.modelInfo.modelInvariantUuid ?: ''
                        execution.setVariable('UPDVfModVol_modelInvariantId', modelInvariantId)
                        def modelInvariantId = reqMap.requestDetails.modelInfo.modelInvariantUuid ?: ''
                        execution.setVariable('UPDVfModVol_modelInvariantId', modelInvariantId)
-               
+
                        msoLogger.debug("modelInvariantId from request: " + modelInvariantId)
                        msoLogger.debug("XML request:\n" + request)
                }
                        msoLogger.debug("modelInvariantId from request: " + modelInvariantId)
                        msoLogger.debug("XML request:\n" + request)
                }
@@ -106,15 +110,15 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                        msoLogger.debug(" Request is in XML format.")
                        // assume request is in XML format - proceed as usual to process XML request
                }
                        msoLogger.debug(" Request is in XML format.")
                        // assume request is in XML format - proceed as usual to process XML request
                }
-               
+
                def requestId = execution.getVariable('mso-request-id')
                def requestId = execution.getVariable('mso-request-id')
-               
+
                def requestInfo = getRequiredNodeXml(execution, request, 'request-info')
                execution.setVariable('UPDVfModVol_requestInfo', requestInfo)
                execution.setVariable('UPDVfModVol_requestId', requestId)
                //execution.setVariable('UPDVfModVol_requestId', getRequiredNodeText(execution, requestInfo, 'request-id'))
                execution.setVariable('UPDVfModVol_source', getNodeTextForce(requestInfo, 'source'))
                def requestInfo = getRequiredNodeXml(execution, request, 'request-info')
                execution.setVariable('UPDVfModVol_requestInfo', requestInfo)
                execution.setVariable('UPDVfModVol_requestId', requestId)
                //execution.setVariable('UPDVfModVol_requestId', getRequiredNodeText(execution, requestInfo, 'request-id'))
                execution.setVariable('UPDVfModVol_source', getNodeTextForce(requestInfo, 'source'))
-               
+
                def volumeInputs = getRequiredNodeXml(execution, request, 'volume-inputs')
                execution.setVariable('UPDVfModVol_volumeInputs', volumeInputs)
                execution.setVariable('UPDVfModVol_volumeGroupId', getRequiredNodeText(execution, volumeInputs, 'volume-group-id'))
                def volumeInputs = getRequiredNodeXml(execution, request, 'volume-inputs')
                execution.setVariable('UPDVfModVol_volumeInputs', volumeInputs)
                execution.setVariable('UPDVfModVol_volumeGroupId', getRequiredNodeText(execution, volumeInputs, 'volume-group-id'))
@@ -126,14 +130,14 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                //execution.setVariable('UPDVfModVol_modelCustomizationId', getRequiredNodeText(execution, volumeInputs, 'model-customization-id'))
 
                setBasicDBAuthHeader(execution, isDebugLogEnabled)
                //execution.setVariable('UPDVfModVol_modelCustomizationId', getRequiredNodeText(execution, volumeInputs, 'model-customization-id'))
 
                setBasicDBAuthHeader(execution, isDebugLogEnabled)
-               
+
                def volumeParams = utils.getNodeXml(request, 'volume-params')
                execution.setVariable('UPDVfModVol_volumeParams', volumeParams)
        }
 
        /**
         * Prepare and send the synchronous response.
                def volumeParams = utils.getNodeXml(request, 'volume-params')
                execution.setVariable('UPDVfModVol_volumeParams', volumeParams)
        }
 
        /**
         * Prepare and send the synchronous response.
-        * 
+        *
         * @param execution The flow's execution instance.
         */
        public void sendSynchResponse(DelegateExecution execution, isDebugLogEnabled) {
         * @param execution The flow's execution instance.
         */
        public void sendSynchResponse(DelegateExecution execution, isDebugLogEnabled) {
@@ -150,7 +154,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                        startTime = System.currentTimeMillis()
                }
                def volumeInputs = execution.getVariable('UPDVfModVol_volumeInputs')
                        startTime = System.currentTimeMillis()
                }
                def volumeInputs = execution.getVariable('UPDVfModVol_volumeInputs')
-               
+
                String xmlSyncResponse = """
                        <volume-request xmlns="http://org.onap/so/infra/vnf-request/v1">
                                <request-info>
                String xmlSyncResponse = """
                        <volume-request xmlns="http://org.onap/so/infra/vnf-request/v1">
                                <request-info>
@@ -167,20 +171,20 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
 
                def syncResponse = ''
                def isVidRequest = execution.getVariable('UPDVfModVol_isVidRequest')
 
                def syncResponse = ''
                def isVidRequest = execution.getVariable('UPDVfModVol_isVidRequest')
-               
+
                if(isVidRequest) {
                        def volumeGroupId = execution.getVariable('volumeGroupId')
                        syncResponse = """{"requestReferences":{"instanceId":"${volumeGroupId}","requestId":"${requestId}"}}""".trim()
                if(isVidRequest) {
                        def volumeGroupId = execution.getVariable('volumeGroupId')
                        syncResponse = """{"requestReferences":{"instanceId":"${volumeGroupId}","requestId":"${requestId}"}}""".trim()
-               } 
+               }
                else {
                        syncResponse = utils.formatXml(xmlSyncResponse)
                }
                else {
                        syncResponse = utils.formatXml(xmlSyncResponse)
                }
-               
+
                msoLogger.debug('Sync response: ' + syncResponse)
                execution.setVariable('UPDVfModVol_syncResponseSent', true)
                sendWorkflowResponse(execution, 200, syncResponse)
        }
                msoLogger.debug('Sync response: ' + syncResponse)
                execution.setVariable('UPDVfModVol_syncResponseSent', true)
                sendWorkflowResponse(execution, 200, syncResponse)
        }
-       
+
        /**
         * Prepare a Request for querying AAI for Volume Group information using the
         * Volume Group Id and Aic Cloud Region.
        /**
         * Prepare a Request for querying AAI for Volume Group information using the
         * Volume Group Id and Aic Cloud Region.
@@ -192,31 +196,32 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
                def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
 
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getCloudInfrastructureCloudRegionEndpoint(execution)
-               String queryAAIVolumeGroupRequest = aaiEndpoint + '/' + URLEncoder.encode(aicCloudRegion, "UTF-8") + "/volume-groups/volume-group/" + UriUtils.encode(volumeGroupId, "UTF-8")
-               
+
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), aicCloudRegion, volumeGroupId)
+               def queryAAIVolumeGroupRequest = aaiUtil.createAaiUri(uri)
+
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
                msoLogger.debug('Query AAI volume group by ID: ' + queryAAIVolumeGroupRequest)
-               
+
                APIResponse response = aaiUtil.executeAAIGetCall(execution, queryAAIVolumeGroupRequest)
                APIResponse response = aaiUtil.executeAAIGetCall(execution, queryAAIVolumeGroupRequest)
-               
+
                String returnCode = response.getStatusCode()
                String aaiResponseAsString = response.getResponseBodyAsString()
                String returnCode = response.getStatusCode()
                String aaiResponseAsString = response.getResponseBodyAsString()
-               
+
                msoLogger.debug("AAI query volume group by id return code: " + returnCode)
                msoLogger.debug("AAI query volume group by id response: " + aaiResponseAsString)
                msoLogger.debug("AAI query volume group by id return code: " + returnCode)
                msoLogger.debug("AAI query volume group by id response: " + aaiResponseAsString)
-               
+
                msoLogger.debug("AAI Volume Group return code: " + returnCode)
                msoLogger.debug("AAI Volume Group response: " + aaiResponseAsString)
                msoLogger.debug("AAI Volume Group return code: " + returnCode)
                msoLogger.debug("AAI Volume Group response: " + aaiResponseAsString)
-               
+
                ExceptionUtil exceptionUtil = new ExceptionUtil()
                ExceptionUtil exceptionUtil = new ExceptionUtil()
-               
+
                if ((returnCode == '200') || (returnCode == '204')) {
                if ((returnCode == '200') || (returnCode == '204')) {
-                       
+
                        execution.setVariable('UPDVfModVol_aaiVolumeGroupResponse', aaiResponseAsString)
                        //def heatStackId = getNodeTextForce(aaiResponseAsString, 'heat-stack-id')
                        //execution.setVariable('UPDVfModVol_volumeGroupHeatStackId', heatStackId)
                        execution.setVariable('UPDVfModVol_aaiVolumeGroupResponse', aaiResponseAsString)
                        //def heatStackId = getNodeTextForce(aaiResponseAsString, 'heat-stack-id')
                        //execution.setVariable('UPDVfModVol_volumeGroupHeatStackId', heatStackId)
-                       
+
                        def volumeGroupTenantId = getTenantIdFromVolumeGroup(aaiResponseAsString)
                        if (volumeGroupTenantId == null) {
                                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Could not find Tenant Id element in Volume Group with Volume Group Id " + volumeGroupId
                        def volumeGroupTenantId = getTenantIdFromVolumeGroup(aaiResponseAsString)
                        if (volumeGroupTenantId == null) {
                                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Could not find Tenant Id element in Volume Group with Volume Group Id " + volumeGroupId
@@ -228,42 +233,42 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                        def relatedVfModuleLink = getRelatedVfModuleRelatedLink(aaiResponseAsString)
                        msoLogger.debug("Related VF Module link: " + relatedVfModuleLink)
                        execution.setVariable('UPDVfModVol_relatedVfModuleLink', relatedVfModuleLink)
                        def relatedVfModuleLink = getRelatedVfModuleRelatedLink(aaiResponseAsString)
                        msoLogger.debug("Related VF Module link: " + relatedVfModuleLink)
                        execution.setVariable('UPDVfModVol_relatedVfModuleLink', relatedVfModuleLink)
-                       
-               } 
+
+               }
                else if (returnCode == '404') {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Volume Group " + volumeGroupId + " not found at AAI")
                else if (returnCode == '404') {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Volume Group " + volumeGroupId + " not found at AAI")
-               } 
+               }
                else {
                        WorkflowException aWorkflowException = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
                        throw new BpmnError("MSOWorkflowException")
                }
        }
                else {
                        WorkflowException aWorkflowException = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
                        throw new BpmnError("MSOWorkflowException")
                }
        }
-       
+
        /**
         * Query AAI service instance
         * @param execution
         * @param isDebugEnabled
         */
        public void queryAAIForGenericVnf(DelegateExecution execution, isDebugEnabled) {
        /**
         * Query AAI service instance
         * @param execution
         * @param isDebugEnabled
         */
        public void queryAAIForGenericVnf(DelegateExecution execution, isDebugEnabled) {
-               
+
                def vnfId = execution.getVariable('vnfId')
                def vnfId = execution.getVariable('vnfId')
-               
+
                AaiUtil aaiUtil = new AaiUtil(this)
                AaiUtil aaiUtil = new AaiUtil(this)
-               String aaiEndpoint = aaiUtil.getNetworkGenericVnfEndpoint(execution)
-               def String queryAAIRequest = aaiEndpoint + "/" + UriUtils.encode(vnfId, "UTF-8")
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
+               String queryAAIRequest = aaiUtil.createAaiUri(uri)
                
                msoLogger.debug("AAI query generic vnf request: " + queryAAIRequest)
                
                msoLogger.debug("AAI query generic vnf request: " + queryAAIRequest)
-               
+
                APIResponse response = aaiUtil.executeAAIGetCall(execution, queryAAIRequest)
                APIResponse response = aaiUtil.executeAAIGetCall(execution, queryAAIRequest)
-               
+
                String returnCode = response.getStatusCode()
                String aaiResponseAsString = response.getResponseBodyAsString()
                String returnCode = response.getStatusCode()
                String aaiResponseAsString = response.getResponseBodyAsString()
-               
+
                msoLogger.debug("AAI query generic vnf return code: " + returnCode)
                msoLogger.debug("AAI query generic vnf response: " + aaiResponseAsString)
 
                ExceptionUtil exceptionUtil = new ExceptionUtil()
                msoLogger.debug("AAI query generic vnf return code: " + returnCode)
                msoLogger.debug("AAI query generic vnf response: " + aaiResponseAsString)
 
                ExceptionUtil exceptionUtil = new ExceptionUtil()
-               
+
                if (returnCode=='200') {
                        msoLogger.debug('Generic vnf ' + vnfId + ' found in AAI.')
                        execution.setVariable('UPDVfModVol_AAIQueryGenericVfnResponse', aaiResponseAsString)
                if (returnCode=='200') {
                        msoLogger.debug('Generic vnf ' + vnfId + ' found in AAI.')
                        execution.setVariable('UPDVfModVol_AAIQueryGenericVfnResponse', aaiResponseAsString)
@@ -278,40 +283,40 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                        }
                }
        }
                        }
                }
        }
-       
+
        /**
         * Query AAI for VF Module using vf-module-id
         * @param execution
         * @param isDebugLogEnabled
         */
        public void queryAAIForVfModule(DelegateExecution execution, isDebugLogEnabled) {
        /**
         * Query AAI for VF Module using vf-module-id
         * @param execution
         * @param isDebugLogEnabled
         */
        public void queryAAIForVfModule(DelegateExecution execution, isDebugLogEnabled) {
-               
+
                        AaiUtil aaiUtil = new AaiUtil(this)
                        String queryAAIVfModuleRequest = execution.getVariable('UPDVfModVol_relatedVfModuleLink')
                        execution.setVariable('UPDVfModVol_personaModelId', '')
                        AaiUtil aaiUtil = new AaiUtil(this)
                        String queryAAIVfModuleRequest = execution.getVariable('UPDVfModVol_relatedVfModuleLink')
                        execution.setVariable('UPDVfModVol_personaModelId', '')
-                       
+
                        msoLogger.debug('Query AAI VF Module: ' + queryAAIVfModuleRequest)
                        msoLogger.debug('Query AAI VF Module: ' + queryAAIVfModuleRequest)
                        msoLogger.debug('Query AAI VF Module: ' + queryAAIVfModuleRequest)
                        msoLogger.debug('Query AAI VF Module: ' + queryAAIVfModuleRequest)
-                       
+
                        def aaiUrl = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        msoLogger.debug('A&AI URL: ' + aaiUrl)
                        def aaiUrl = UrnPropertiesReader.getVariable("aai.endpoint", execution)
                        msoLogger.debug('A&AI URL: ' + aaiUrl)
-                       
+
                        def requestEndpoint = aaiUrl + queryAAIVfModuleRequest
                        msoLogger.debug('A&AI request endpoint: ' + requestEndpoint)
                        def requestEndpoint = aaiUrl + queryAAIVfModuleRequest
                        msoLogger.debug('A&AI request endpoint: ' + requestEndpoint)
-                       
+
                        APIResponse response = aaiUtil.executeAAIGetCall(execution, requestEndpoint)
                        APIResponse response = aaiUtil.executeAAIGetCall(execution, requestEndpoint)
-                       
+
                        String returnCode = response.getStatusCode()
                        String aaiResponseAsString = response.getResponseBodyAsString()
                        String returnCode = response.getStatusCode()
                        String aaiResponseAsString = response.getResponseBodyAsString()
-                       
+
                        msoLogger.debug("AAI query vf-module: " + returnCode)
                        msoLogger.debug("AAI query vf-module response: " + aaiResponseAsString)
                        msoLogger.debug("AAI query vf-module: " + returnCode)
                        msoLogger.debug("AAI query vf-module response: " + aaiResponseAsString)
-                       
+
                        msoLogger.debug("AAI query vf-module:: " + returnCode)
                        msoLogger.debug("AAI query vf-module response: " + aaiResponseAsString)
                        msoLogger.debug("AAI query vf-module:: " + returnCode)
                        msoLogger.debug("AAI query vf-module response: " + aaiResponseAsString)
-                       
+
                        ExceptionUtil exceptionUtil = new ExceptionUtil()
                        ExceptionUtil exceptionUtil = new ExceptionUtil()
-                       
+
                        if ((returnCode == '200') || (returnCode == '204')) {
                                def personaModelId =  utils.getNodeText(aaiResponseAsString, 'model-invariant-id')
                                if(personaModelId == null) {
                        if ((returnCode == '200') || (returnCode == '204')) {
                                def personaModelId =  utils.getNodeText(aaiResponseAsString, 'model-invariant-id')
                                if(personaModelId == null) {
@@ -330,14 +335,14 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                        }
                }
        /**
                        }
                }
        /**
-        * 
+        *
         */
        public String getRelatedVfModuleRelatedLink(xml) {
                def list = new XmlSlurper().parseText(xml)
                def vfModuleRelationship = list.'**'.find { node -> node.'related-to'.text() == 'vf-module'     }
                return vfModuleRelationship?.'related-link'?.text() ?: ''
        }
         */
        public String getRelatedVfModuleRelatedLink(xml) {
                def list = new XmlSlurper().parseText(xml)
                def vfModuleRelationship = list.'**'.find { node -> node.'related-to'.text() == 'vf-module'     }
                return vfModuleRelationship?.'related-link'?.text() ?: ''
        }
-       
+
        /**
         * Prepare a Request for invoking the VnfAdapterRest subflow to do
         * a Volume Group update.
        /**
         * Prepare a Request for invoking the VnfAdapterRest subflow to do
         * a Volume Group update.
@@ -345,11 +350,11 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
         * @param execution The flow's execution instance.
         */
        public void prepVnfAdapterRest(DelegateExecution execution, isDebugLogEnabled) {
         * @param execution The flow's execution instance.
         */
        public void prepVnfAdapterRest(DelegateExecution execution, isDebugLogEnabled) {
-               
+
                def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
                def tenantId = execution.getVariable('UPDVfModVol_tenantId')
                def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
                def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
                def tenantId = execution.getVariable('UPDVfModVol_tenantId')
                def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
-               
+
                def aaiVolumeGroupResponse = execution.getVariable('UPDVfModVol_aaiVolumeGroupResponse')
                def volumeGroupHeatStackId = getNodeTextForce(aaiVolumeGroupResponse, 'heat-stack-id')
                def volumeGroupName = getNodeTextForce(aaiVolumeGroupResponse, 'volume-group-name')
                def aaiVolumeGroupResponse = execution.getVariable('UPDVfModVol_aaiVolumeGroupResponse')
                def volumeGroupHeatStackId = getNodeTextForce(aaiVolumeGroupResponse, 'heat-stack-id')
                def volumeGroupName = getNodeTextForce(aaiVolumeGroupResponse, 'volume-group-name')
@@ -358,21 +363,21 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                        // Check old attribute name
                        modelCustomizationId = getNodeTextForce(aaiVolumeGroupResponse, 'vf-module-persona-model-customization-id')
                }
                        // Check old attribute name
                        modelCustomizationId = getNodeTextForce(aaiVolumeGroupResponse, 'vf-module-persona-model-customization-id')
                }
-               
+
                def vnfType = execution.getVariable('UPDVfModVol_vnfType')
                def vnfVersion = execution.getVariable('UPDVfModVol_vnfVersion')
                def vnfType = execution.getVariable('UPDVfModVol_vnfType')
                def vnfVersion = execution.getVariable('UPDVfModVol_vnfVersion')
-               
+
                def aaiGenericVnfResponse = execution.getVariable('UPDVfModVol_AAIQueryGenericVfnResponse')
                def vnfId = utils.getNodeText(aaiGenericVnfResponse, 'vnf-id')
                def vnfName = utils.getNodeText(aaiGenericVnfResponse, 'vnf-name')
 
                def aaiGenericVnfResponse = execution.getVariable('UPDVfModVol_AAIQueryGenericVfnResponse')
                def vnfId = utils.getNodeText(aaiGenericVnfResponse, 'vnf-id')
                def vnfName = utils.getNodeText(aaiGenericVnfResponse, 'vnf-name')
 
-               
+
                def volumeParamsXml = execution.getVariable('UPDVfModVol_volumeParams')
                def volumeGroupParams = transformVolumeParamsToEntries(volumeParamsXml)
                def volumeParamsXml = execution.getVariable('UPDVfModVol_volumeParams')
                def volumeGroupParams = transformVolumeParamsToEntries(volumeParamsXml)
-               
+
                def requestId = execution.getVariable('UPDVfModVol_requestId')
                def serviceId = execution.getVariable('UPDVfModVol_serviceId')
                def requestId = execution.getVariable('UPDVfModVol_requestId')
                def serviceId = execution.getVariable('UPDVfModVol_serviceId')
-               
+
                def messageId = execution.getVariable('mso-request-id') + '-' + System.currentTimeMillis()
                def notificationUrl = createCallbackURL(execution, "VNFAResponse", messageId)
                def useQualifiedHostName = UrnPropertiesReader.getVariable("mso.use.qualified.host",execution)
                def messageId = execution.getVariable('mso-request-id') + '-' + System.currentTimeMillis()
                def notificationUrl = createCallbackURL(execution, "VNFAResponse", messageId)
                def useQualifiedHostName = UrnPropertiesReader.getVariable("mso.use.qualified.host",execution)
@@ -425,7 +430,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                execution.setVariable('UPDVfModVol_vnfAdapterRestRequest', vnfAdapterRestRequest)
                msoLogger.debug('Request for VNFAdapter Rest:\n' + vnfAdapterRestRequest)
        }
                execution.setVariable('UPDVfModVol_vnfAdapterRestRequest', vnfAdapterRestRequest)
                msoLogger.debug('Request for VNFAdapter Rest:\n' + vnfAdapterRestRequest)
        }
-       
+
        /**
         * Prepare a Request for updating the DB for this Infra request.
         *
        /**
         * Prepare a Request for updating the DB for this Infra request.
         *
@@ -435,7 +440,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
 
                def requestId = execution.getVariable('UPDVfModVol_requestId')
                ExceptionUtil exceptionUtil = new ExceptionUtil();
 
                def requestId = execution.getVariable('UPDVfModVol_requestId')
                ExceptionUtil exceptionUtil = new ExceptionUtil();
-               
+
                String updateInfraRequest = """
                        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                                        xmlns:req="http://org.onap.so/requestsdb">
                String updateInfraRequest = """
                        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                                        xmlns:req="http://org.onap.so/requestsdb">
@@ -455,7 +460,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                execution.setVariable('UPDVfModVol_updateInfraRequest', updateInfraRequest)
                msoLogger.debug('Request for Update Infra Request:\n' + updateInfraRequest)
        }
                execution.setVariable('UPDVfModVol_updateInfraRequest', updateInfraRequest)
                msoLogger.debug('Request for Update Infra Request:\n' + updateInfraRequest)
        }
-       
+
        /**
         * Build a "CompletionHandler" request.
         * @param execution The flow's execution instance.
        /**
         * Build a "CompletionHandler" request.
         * @param execution The flow's execution instance.
@@ -471,14 +476,14 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                                <source>${MsoUtils.xmlEscape(source)}</source>
                        </request-info>
                        <aetgt:mso-bpel-name>BPMN VF Module Volume action: UPDATE</aetgt:mso-bpel-name>
                                <source>${MsoUtils.xmlEscape(source)}</source>
                        </request-info>
                        <aetgt:mso-bpel-name>BPMN VF Module Volume action: UPDATE</aetgt:mso-bpel-name>
-               </aetgt:MsoCompletionRequest>           
+               </aetgt:MsoCompletionRequest>
                """
 
                content = utils.formatXml(content)
                msoLogger.debug('Request for Completion Handler:\n' + content)
                execution.setVariable('UPDVfModVol_CompletionHandlerRequest', content)
        }
                """
 
                content = utils.formatXml(content)
                msoLogger.debug('Request for Completion Handler:\n' + content)
                execution.setVariable('UPDVfModVol_CompletionHandlerRequest', content)
        }
-       
+
 
        /**
         * Build a "FalloutHandler" request.
 
        /**
         * Build a "FalloutHandler" request.
@@ -487,14 +492,14 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
        public void prepFalloutHandler(DelegateExecution execution, isDebugLogEnabled) {
                def requestId = execution.getVariable('UPDVfModVol_requestId')
                def source = execution.getVariable('UPDVfModVol_source')
        public void prepFalloutHandler(DelegateExecution execution, isDebugLogEnabled) {
                def requestId = execution.getVariable('UPDVfModVol_requestId')
                def source = execution.getVariable('UPDVfModVol_source')
-               
+
                String requestInfo = """
                <request-info xmlns="http://org.onap/so/infra/vnf-request/v1">
                <request-id>${MsoUtils.xmlEscape(requestId)}</request-id>
                <action>UPDATE</action>
                <source>${MsoUtils.xmlEscape(source)}</source>
           </request-info>"""
                String requestInfo = """
                <request-info xmlns="http://org.onap/so/infra/vnf-request/v1">
                <request-id>${MsoUtils.xmlEscape(requestId)}</request-id>
                <action>UPDATE</action>
                <source>${MsoUtils.xmlEscape(source)}</source>
           </request-info>"""
-               
+
                def WorkflowException workflowException = execution.getVariable("WorkflowException")
                def errorResponseCode = workflowException.getErrorCode()
                def errorResponseMsg = workflowException.getErrorMessage()
                def WorkflowException workflowException = execution.getVariable("WorkflowException")
                def errorResponseCode = workflowException.getErrorCode()
                def errorResponseMsg = workflowException.getErrorMessage()
@@ -507,55 +512,55 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                        <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://org.onap/so/workflow/schema/v1"
                                        xmlns:reqtype="http://org.onap/so/request/types/v1"
                                        xmlns:msoservtypes="http://org.onap/so/request/types/v1"
                        <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://org.onap/so/workflow/schema/v1"
                                        xmlns:reqtype="http://org.onap/so/request/types/v1"
                                        xmlns:msoservtypes="http://org.onap/so/request/types/v1"
-                                       xmlns:structuredtypes="http://org.onap/so/structured/types/v1">                         
+                                       xmlns:structuredtypes="http://org.onap/so/structured/types/v1">
                                ${requestInfo}
                                <sdncadapterworkflow:WorkflowException>
                                        <sdncadapterworkflow:ErrorMessage>${MsoUtils.xmlEscape(encErrorResponseMsg)}</sdncadapterworkflow:ErrorMessage>
                                        <sdncadapterworkflow:ErrorCode>${MsoUtils.xmlEscape(errorResponseCode)}</sdncadapterworkflow:ErrorCode>
                                ${requestInfo}
                                <sdncadapterworkflow:WorkflowException>
                                        <sdncadapterworkflow:ErrorMessage>${MsoUtils.xmlEscape(encErrorResponseMsg)}</sdncadapterworkflow:ErrorMessage>
                                        <sdncadapterworkflow:ErrorCode>${MsoUtils.xmlEscape(errorResponseCode)}</sdncadapterworkflow:ErrorCode>
-                               </sdncadapterworkflow:WorkflowException>        
+                               </sdncadapterworkflow:WorkflowException>
                        </sdncadapterworkflow:FalloutHandlerRequest>
                """
                content = utils.formatXml(content)
                msoLogger.debug('Request for Fallout Handler:\n' + content)
                execution.setVariable('UPDVfModVol_FalloutHandlerRequest', content)
        }
                        </sdncadapterworkflow:FalloutHandlerRequest>
                """
                content = utils.formatXml(content)
                msoLogger.debug('Request for Fallout Handler:\n' + content)
                execution.setVariable('UPDVfModVol_FalloutHandlerRequest', content)
        }
-       
+
        /**
         * Create a WorkflowException for the error case where the Tenant Id from
         * AAI did not match the Tenant Id in the incoming request.
         * @param execution The flow's execution instance.
         */
        public void handleTenantIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
        /**
         * Create a WorkflowException for the error case where the Tenant Id from
         * AAI did not match the Tenant Id in the incoming request.
         * @param execution The flow's execution instance.
         */
        public void handleTenantIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
-               
+
                def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
                def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
                def tenantId = execution.getVariable('UPDVfModVol_tenantId')
                def volumeGroupTenantId = execution.getVariable('UPDVfModVol_volumeGroupTenantId')
                def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
                def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
                def tenantId = execution.getVariable('UPDVfModVol_tenantId')
                def volumeGroupTenantId = execution.getVariable('UPDVfModVol_volumeGroupTenantId')
-               
+
                def String errorMessage = "TenantId " + tenantId + " in incoming request does not match Tenant Id " + volumeGroupTenantId +
                def String errorMessage = "TenantId " + tenantId + " in incoming request does not match Tenant Id " + volumeGroupTenantId +
-                       " retrieved from AAI for Volume Group Id " + volumeGroupId + ", AIC Cloud Region " + aicCloudRegion 
-               
+                       " retrieved from AAI for Volume Group Id " + volumeGroupId + ", AIC Cloud Region " + aicCloudRegion
+
                ExceptionUtil exceptionUtil = new ExceptionUtil()
                msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, 'Error in UpdateVfModuleVol: ' + errorMessage, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "Exception");
                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, errorMessage)
        }
                ExceptionUtil exceptionUtil = new ExceptionUtil()
                msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, 'Error in UpdateVfModuleVol: ' + errorMessage, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "Exception");
                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, errorMessage)
        }
-       
+
        /**
         * Create a WorkflowException for the error case where the Personal Model Id from
         * AAI did not match the model invariant ID in the incoming request.
         * @param execution The flow's execution instance.
         */
        public void handlePersonaModelIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
        /**
         * Create a WorkflowException for the error case where the Personal Model Id from
         * AAI did not match the model invariant ID in the incoming request.
         * @param execution The flow's execution instance.
         */
        public void handlePersonaModelIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
-               
+
                def modelInvariantId = execution.getVariable('UPDVfModVol_modelInvariantId')
                def personaModelId = execution.getVariable('UPDVfModVol_personaModelId')
                def modelInvariantId = execution.getVariable('UPDVfModVol_modelInvariantId')
                def personaModelId = execution.getVariable('UPDVfModVol_personaModelId')
-               
+
                def String errorMessage = "Model Invariant ID " + modelInvariantId + " in incoming request does not match persona model ID " + personaModelId +
                        " retrieved from AAI for Volume Group Id "
                def String errorMessage = "Model Invariant ID " + modelInvariantId + " in incoming request does not match persona model ID " + personaModelId +
                        " retrieved from AAI for Volume Group Id "
-               
+
                ExceptionUtil exceptionUtil = new ExceptionUtil()
                msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, 'Error in UpdateVfModuleVol: ' + errorMessage, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "Exception");
                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, errorMessage)
        }
                ExceptionUtil exceptionUtil = new ExceptionUtil()
                msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, 'Error in UpdateVfModuleVol: ' + errorMessage, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "Exception");
                exceptionUtil.buildAndThrowWorkflowException(execution, 2500, errorMessage)
        }
-       
+
 }
 }
index f251dc4..548f521 100644 (file)
@@ -170,6 +170,8 @@ public class UpdateVnfInfra extends VnfCmBase {
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
+                       def cloudOwner  = jsonUtils.getJsonValue(cloudConfiguration, "cloudOwner")
+                       execution.setVariable('cloudOwner', cloudOwner)
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable('tenantId', tenantId)
                        
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable('tenantId', tenantId)
                        
index 68d5c19..2c1b66d 100644 (file)
@@ -143,6 +143,8 @@ public class VnfInPlaceUpdate extends VnfCmBase {
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
                        def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
                        def lcpCloudRegionId    = cloudConfiguration.lcpCloudRegionId
                        execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
+                       def cloudOwner  = cloudConfiguration.cloudOwner
+                       execution.setVariable('cloudOwner', cloudOwner)
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable('tenantId', tenantId)
 
                        def tenantId = cloudConfiguration.tenantId
                        execution.setVariable('tenantId', tenantId)
 
index 85993d6..8a3dcba 100644 (file)
@@ -146,6 +146,9 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor {
                        String lcpCloudRegionId = jsonUtil.getJsonValue(cloudConfiguration, "lcpCloudRegionId")
                        execution.setVariable("lcpCloudRegionId", lcpCloudRegionId)
                        msoLogger.debug("lcpCloudRegionId: "+ lcpCloudRegionId)
                        String lcpCloudRegionId = jsonUtil.getJsonValue(cloudConfiguration, "lcpCloudRegionId")
                        execution.setVariable("lcpCloudRegionId", lcpCloudRegionId)
                        msoLogger.debug("lcpCloudRegionId: "+ lcpCloudRegionId)
+                       String cloudOwner = jsonUtil.getJsonValue(cloudConfiguration, "cloudOwner")
+                       execution.setVariable("cloudOwner", cloudOwner)
+                       msoLogger.debug("cloudOwner: "+ cloudOwner)
                        String tenantId = jsonUtil.getJsonValue(cloudConfiguration, "tenantId")
                        execution.setVariable("tenantId", tenantId)
                        msoLogger.debug("tenantId: "+ tenantId)
                        String tenantId = jsonUtil.getJsonValue(cloudConfiguration, "tenantId")
                        execution.setVariable("tenantId", tenantId)
                        msoLogger.debug("tenantId: "+ tenantId)
index c04c2dc..6062129 100644 (file)
@@ -70,7 +70,7 @@ public class AAICreateResources {
                AAIResourcesClient aaiRC = new AAIResourcesClient();
                return aaiRC.get(OwningEntities.class,
                                AAIUriFactory
                AAIResourcesClient aaiRC = new AAIResourcesClient();
                return aaiRC.get(OwningEntities.class,
                                AAIUriFactory
-                                               .createResourceUri(AAIObjectPlurals.OWNING_ENTITIES)
+                                               .createResourceUri(AAIObjectPlurals.OWNING_ENTITY)
                                                .queryParam("owning-entity-name", owningEntityName))
                                .orElseGet(() -> {
                                        msoLogger.debug("No Owning Entity matched by name");
                                                .queryParam("owning-entity-name", owningEntityName))
                                .orElseGet(() -> {
                                        msoLogger.debug("No Owning Entity matched by name");
index 5fe28b9..e753f79 100644 (file)
@@ -28,6 +28,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Optional;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.ParseException;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.ParseException;
@@ -45,17 +47,27 @@ import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.util.EntityUtils;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.camunda.bpm.engine.runtime.Execution;
 import org.apache.http.util.EntityUtils;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.camunda.bpm.engine.runtime.Execution;
+import org.onap.aai.domain.yang.LogicalLink;
+import org.onap.aai.domain.yang.LogicalLinks;
+import org.onap.aai.domain.yang.PInterface;
 import org.onap.so.bpmn.core.UrnPropertiesReader;
 import org.onap.so.bpmn.core.UrnPropertiesReader;
-import org.onap.so.bpmn.core.domain.ServiceDecomposition;
 import org.onap.so.bpmn.core.domain.Resource;
 import org.onap.so.bpmn.core.domain.Resource;
+import org.onap.so.bpmn.core.domain.ServiceDecomposition;
 import org.onap.so.bpmn.core.json.JsonUtils;
 import org.onap.so.bpmn.core.json.JsonUtils;
+import org.onap.so.client.aai.AAIObjectPlurals;
+import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.AAIResourcesClient;
+import org.onap.so.client.aai.entities.AAIResultWrapper;
+import org.onap.so.client.aai.entities.Relationships;
+import org.onap.so.client.aai.entities.uri.AAIResourceUri;
+import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.logger.MessageEnum;
 import org.onap.so.logger.MsoLogger;
 import org.onap.so.logger.MessageEnum;
 import org.onap.so.logger.MsoLogger;
-import org.onap.so.bpmn.common.scripts.AaiUtil;
+import org.springframework.web.util.UriUtils;
+
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
-import org.springframework.web.util.UriUtils;
 
 public class ServicePluginFactory {
 
 
 public class ServicePluginFactory {
 
@@ -307,8 +319,7 @@ public class ServicePluginFactory {
        @SuppressWarnings("unchecked")
        private void allocateCrossTPResources(DelegateExecution execution, Map<String, Object> serviceRequestInputs) {
 
        @SuppressWarnings("unchecked")
        private void allocateCrossTPResources(DelegateExecution execution, Map<String, Object> serviceRequestInputs) {
 
-               AaiUtil aai = new AaiUtil();
-               Map<String, Object> crossTPs = aai.getTPsfromAAI(execution);
+               Map<String, Object> crossTPs = this.getTPsfromAAI();
                
                if(crossTPs == null || crossTPs.isEmpty()) {
                        serviceRequestInputs.put("local-access-provider-id", "");
                
                if(crossTPs == null || crossTPs.isEmpty()) {
                        serviceRequestInputs.put("local-access-provider-id", "");
@@ -338,6 +349,106 @@ public class ServicePluginFactory {
                return;
        }
 
                return;
        }
 
+       // This method returns Local and remote TPs information from AAI        
+       public Map getTPsfromAAI() {
+               Map<String, Object> tpInfo = new HashMap<>();
+               
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.LOGICAL_LINK);
+               AAIResourcesClient client = new AAIResourcesClient();
+               Optional<LogicalLinks> result = client.get(LogicalLinks.class, uri);
+               
+               if (result.isPresent()) {
+                       LogicalLinks links = result.get();
+                       boolean isRemoteLink = false;
+                       
+                       links.getLogicalLink();
+                       
+                       for (LogicalLink link : links.getLogicalLink()) {
+                               AAIResultWrapper wrapper = new AAIResultWrapper(link);
+                               Optional<Relationships> optRelationships = wrapper.getRelationships();
+                               List<AAIResourceUri> pInterfaces = new ArrayList<>();
+                               if (optRelationships.isPresent()) {
+                                       Relationships relationships = optRelationships.get();
+                                       if (!relationships.getRelatedAAIUris(AAIObjectType.EXT_AAI_NETWORK).isEmpty()) {
+                                               isRemoteLink = true;
+                                       }
+                                       pInterfaces.addAll(relationships.getRelatedAAIUris(AAIObjectType.P_INTERFACE));
+                               }
+                               
+                               if (isRemoteLink) {
+                                       // find remote p interface
+                                       AAIResourceUri localTP = null;
+                                       AAIResourceUri remoteTP = null;
+
+                                       AAIResourceUri pInterface0 = pInterfaces.get(0);
+
+                                       if (isRemotePInterface(client, pInterface0)) {
+                                               remoteTP = pInterfaces.get(0);
+                                               localTP = pInterfaces.get(1);
+                                       } else {
+                                               localTP = pInterfaces.get(0);
+                                               remoteTP = pInterfaces.get(1);
+                                       }
+
+                                       if (localTP != null && remoteTP != null) {
+                                               // give local tp
+                                               String tpUrl = localTP.build().toString();
+                                               PInterface intfLocal = client.get(PInterface.class, localTP).get();
+                                               tpInfo.put("local-access-node-id", tpUrl.split("/")[6]);
+                                       
+                                               String[] networkRef = intfLocal.getNetworkRef().split("/");
+                                               if (networkRef.length == 6) {
+                                                       tpInfo.put("local-access-provider-id", networkRef[1]);
+                                                       tpInfo.put("local-access-client-id", networkRef[3]);
+                                                       tpInfo.put("local-access-topology-id", networkRef[5]);
+                                               }
+                                               String ltpIdStr = tpUrl.substring(tpUrl.lastIndexOf("/") + 1);
+                                               if (ltpIdStr.contains("-")) {
+                                                       tpInfo.put("local-access-ltp-id", ltpIdStr.substring(ltpIdStr.lastIndexOf("-") + 1));
+                                               }
+                                               
+                                               // give remote tp
+                                               tpUrl = remoteTP.build().toString();
+                                               PInterface intfRemote = client.get(PInterface.class, remoteTP).get();
+                                               tpInfo.put("remote-access-node-id", tpUrl.split("/")[6]);
+
+                                               String[] networkRefRemote = intfRemote.getNetworkRef().split("/");
+
+                                               if (networkRefRemote.length == 6) {
+                                                       tpInfo.put("remote-access-provider-id", networkRefRemote[1]);
+                                                       tpInfo.put("remote-access-client-id", networkRefRemote[3]);
+                                                       tpInfo.put("remote-access-topology-id", networkRefRemote[5]);
+                                               }
+                                               String ltpIdStrR = tpUrl.substring(tpUrl.lastIndexOf("/") + 1);
+                                               if (ltpIdStrR.contains("-")) {
+                                                       tpInfo.put("remote-access-ltp-id", ltpIdStrR.substring(ltpIdStr.lastIndexOf("-") + 1));
+                                               }
+                                               return tpInfo;
+                                       }
+                               }
+                       }
+               }
+               return tpInfo;
+       }
+
+       // this method check if pInterface is remote
+       private boolean isRemotePInterface(AAIResourcesClient client, AAIResourceUri uri) {
+               
+               Map<String, String> keys = uri.getURIKeys();
+               String uriString = uri.build().toString();
+               AAIResourceUri parent = AAIUriFactory.createResourceUri(AAIObjectType.PNF, keys.get("pnf-name"));
+               
+               AAIResultWrapper wrapper = client.get(parent);
+               Optional<Relationships> optRelationships = wrapper.getRelationships();
+               if (optRelationships.isPresent()) {
+                       Relationships relationships = optRelationships.get();
+                       
+                       return !relationships.getRelatedAAIUris(AAIObjectType.EXT_AAI_NETWORK).isEmpty();
+               }
+               
+               return false;
+       }
+
        public String preProcessService(ServiceDecomposition serviceDecomposition, String uuiRequest) {
 
                // now only for sotn
        public String preProcessService(ServiceDecomposition serviceDecomposition, String uuiRequest) {
 
                // now only for sotn
index 4d5f506..2f07842 100644 (file)
@@ -85,6 +85,7 @@ class CreateNetworkInstanceTest  {
       <source>VID</source>
    </request-info>
    <aetgt:status-message>Network has been created successfully.</aetgt:status-message>
       <source>VID</source>
    </request-info>
    <aetgt:status-message>Network has been created successfully.</aetgt:status-message>
+   <aetgt:networkId>fb03f6f0-9012-41c4-87d8-1dbf3c22b889</aetgt:networkId>
    <aetgt:mso-bpel-name>BPMN Network action: CREATE</aetgt:mso-bpel-name>
 </aetgt:MsoCompletionRequest>"""
 
    <aetgt:mso-bpel-name>BPMN Network action: CREATE</aetgt:mso-bpel-name>
 </aetgt:MsoCompletionRequest>"""
 
@@ -272,6 +273,7 @@ String jsonIncomingRequest =
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
                        when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")
                        when(mockExecution.getVariable(Prefix + "dbReturnCode")).thenReturn("200")
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
                        when(mockExecution.getVariable("mso-request-id")).thenReturn("88f65519-9a38-4c4b-8445-9eb4a5a5af56")
                        when(mockExecution.getVariable(Prefix + "dbReturnCode")).thenReturn("200")
+                       when(mockExecution.getVariable("networkId")).thenReturn("fb03f6f0-9012-41c4-87d8-1dbf3c22b889")
                        
                        // postProcessResponse(DelegateExecution execution)
                        CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
                        
                        // postProcessResponse(DelegateExecution execution)
                        CreateNetworkInstance CreateNetworkInstance = new CreateNetworkInstance()
index 72f79c8..d8a82ac 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -76,7 +76,6 @@ class DoCreateE2EServiceInstanceTest {
         when(mockExecution.getVariable("mso.workflow.sdncadapter.callback")).thenReturn("/mso/sdncadapter/")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.default.aai.customer.version")).thenReturn("8")
         when(mockExecution.getVariable("mso.workflow.sdncadapter.callback")).thenReturn("/mso/sdncadapter/")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.default.aai.customer.version")).thenReturn("8")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.customer.uri")).thenReturn('/aai/v8/business/customers/customer')
         DoCreateE2EServiceInstance obj = new DoCreateE2EServiceInstance()
         obj.preProcessRequest(mockExecution)
         Mockito.verify(mockExecution, times(7)).setVariable(captor.capture(), captor.capture())
         DoCreateE2EServiceInstance obj = new DoCreateE2EServiceInstance()
         obj.preProcessRequest(mockExecution)
         Mockito.verify(mockExecution, times(7)).setVariable(captor.capture(), captor.capture())
index cc6f898..587abbe 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -83,7 +83,6 @@ class DoCreateServiceInstanceTest {
         when(mockExecution.getVariable("serviceDecomposition")).thenReturn(decomposition)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.default.aai.customer.version")).thenReturn("8")
         when(mockExecution.getVariable("serviceDecomposition")).thenReturn(decomposition)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.default.aai.customer.version")).thenReturn("8")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.customer.uri")).thenReturn('/aai/v8/business/customers/customer')
 
 
         DoCreateServiceInstance obj = new DoCreateServiceInstance()
 
 
         DoCreateServiceInstance obj = new DoCreateServiceInstance()
@@ -93,7 +92,7 @@ class DoCreateServiceInstanceTest {
         verify(mockExecution).setVariable("sdncCallbackUrl", "http://localhost:28080/mso/SDNCAdapterCallbackService")
     }
 
         verify(mockExecution).setVariable("sdncCallbackUrl", "http://localhost:28080/mso/SDNCAdapterCallbackService")
     }
 
+
 
     @Test
     void testGetAAICustomerById() {
 
     @Test
     void testGetAAICustomerById() {
@@ -101,7 +100,6 @@ class DoCreateServiceInstanceTest {
         when(mockExecution.getVariable("prefix")).thenReturn(prefix)
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("globalSubscriberId")).thenReturn("12345")
         when(mockExecution.getVariable("prefix")).thenReturn(prefix)
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("globalSubscriberId")).thenReturn("12345")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.customer.uri")).thenReturn("/aai/v9/business/customers/customer")
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.DoCreateServiceInstance.aai.version")).thenReturn('8')
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
         when(mockExecution.getVariable("mso.workflow.custom.DoCreateServiceInstance.aai.version")).thenReturn('8')
index fcb0fb0..447463a 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -85,7 +85,7 @@ class DoDeleteVfModuleFromVnfTest {
         Mockito.verify(mockExecution).setVariable("sdncCallbackUrl", "http://localhost:8090/SDNCAdapterCallback")
     }
 
         Mockito.verify(mockExecution).setVariable("sdncCallbackUrl", "http://localhost:8090/SDNCAdapterCallback")
     }
 
+
 
     @Test
     void testDeleteNetworkPoliciesFromAAI() {
 
     @Test
     void testDeleteNetworkPoliciesFromAAI() {
@@ -106,7 +106,7 @@ class DoDeleteVfModuleFromVnfTest {
         Mockito.verify(mockExecution).setVariable("DCVFM_aaiQueryNetworkPolicyByFqdnReturnCode", 200)
     }
 
         Mockito.verify(mockExecution).setVariable("DCVFM_aaiQueryNetworkPolicyByFqdnReturnCode", 200)
     }
 
-   
+
     @Test
     void testQueryAAIForVfModule() {
         ExecutionEntity mockExecution = setupMock()
     @Test
     void testQueryAAIForVfModule() {
         ExecutionEntity mockExecution = setupMock()
@@ -115,7 +115,6 @@ class DoDeleteVfModuleFromVnfTest {
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("mso.workflow.global.default.aai.namespace")
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8")
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("mso.workflow.global.default.aai.namespace")
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
         when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
         when(mockExecution.getVariable("aai.auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
 
         when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
         when(mockExecution.getVariable("aai.auth")).thenReturn("757A94191D685FD2092AC1490730A4FC")
 
@@ -126,7 +125,7 @@ class DoDeleteVfModuleFromVnfTest {
         Mockito.verify(mockExecution, atLeastOnce()).setVariable("DDVMFV_getVnfResponseCode", 200)
     }
 
         Mockito.verify(mockExecution, atLeastOnce()).setVariable("DDVMFV_getVnfResponseCode", 200)
     }
 
-   
+
 
     private ExecutionEntity setupMock() {
 
 
     private ExecutionEntity setupMock() {
 
index beaebce..67b1c23 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -77,7 +77,7 @@ class DoUpdateVfModuleTest {
         Mockito.verify(mockExecution, atLeastOnce()).getVariable("mso.workflow.sdncadapter.callback")
     }
 
         Mockito.verify(mockExecution, atLeastOnce()).getVariable("mso.workflow.sdncadapter.callback")
     }
 
-  
+
 
     @Test
     void testPrepConfirmVolumeGroupTenant() {
 
     @Test
     void testPrepConfirmVolumeGroupTenant() {
@@ -100,7 +100,7 @@ class DoUpdateVfModuleTest {
         Mockito.verify(mockExecution).setVariable(prefix + "isCloudRegionGood", true)
     }
 
         Mockito.verify(mockExecution).setVariable(prefix + "isCloudRegionGood", true)
     }
 
-  
+
     @Test
     void testPrepSDNCTopologyChg() {
         ExecutionEntity mockExecution = setupMock()
     @Test
     void testPrepSDNCTopologyChg() {
         ExecutionEntity mockExecution = setupMock()
@@ -148,7 +148,7 @@ class DoUpdateVfModuleTest {
         XmlComparator.assertXMLEquals(sdncChangeAssignRequest, captor.getValue())
     }
 
         XmlComparator.assertXMLEquals(sdncChangeAssignRequest, captor.getValue())
     }
 
-   
+
 
     @Test
     void testPrepSDNCTopologyQuery() {
 
     @Test
     void testPrepSDNCTopologyQuery() {
@@ -168,7 +168,7 @@ class DoUpdateVfModuleTest {
         XmlComparator.assertXMLEquals(sdncTopologyRequest, captor.getValue())
     }
 
         XmlComparator.assertXMLEquals(sdncTopologyRequest, captor.getValue())
     }
 
-  
+
 
     @Test
     void testPrepVnfAdapterRest() {
 
     @Test
     void testPrepVnfAdapterRest() {
@@ -219,7 +219,7 @@ class DoUpdateVfModuleTest {
         XmlComparator.assertXMLEquals(createVnfARequest, captor.getValue(), "messageId", "notificationUrl")
     }
 
         XmlComparator.assertXMLEquals(createVnfARequest, captor.getValue(), "messageId", "notificationUrl")
     }
 
-   
+
 
     @Test
     void testPrepSDNCTopologyAct() {
 
     @Test
     void testPrepSDNCTopologyAct() {
@@ -263,7 +263,6 @@ class DoUpdateVfModuleTest {
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("12345")
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8")
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("12345")
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
 
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
 
index ba54787..a86029e 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -61,7 +61,7 @@ class DoUpdateVnfAndModulesTest {
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("vnfId")).thenReturn("12345")
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8")
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("vnfId")).thenReturn("12345")
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
 
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
 
@@ -78,7 +78,7 @@ class DoUpdateVnfAndModulesTest {
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("vnfId")).thenReturn("12345")
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8")
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
         when(mockExecution.getVariable("vnfId")).thenReturn("12345")
         when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8")
-        when(mockExecution.getVariable("mso.workflow.default.aai.v8.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf")
+
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
 
         when(mockExecution.getVariable("aai.endpoint")).thenReturn(null)
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/")
 
index 523c791..84da045 100644 (file)
@@ -576,6 +576,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
                
                verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
                verify(mex).setVariable("lcpCloudRegionId", "mdt1")
                
                verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
                verify(mex).setVariable("lcpCloudRegionId", "mdt1")
+               verify(mex).setVariable("cloudOwner", "my-cloud-owner")
                verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
        }
                        
                verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
        }
                        
@@ -594,6 +595,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
                
                verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
                verify(mex).setVariable("lcpCloudRegionId", "mdt1")
                
                verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
                verify(mex).setVariable("lcpCloudRegionId", "mdt1")
+               verify(mex).setVariable("cloudOwner", "my-cloud-owner")
                verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
        }
                        
                verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
        }
                        
@@ -612,6 +614,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase {
                
                verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
                verify(mex).setVariable("lcpCloudRegionId", "mdt1")
                
                verify(mex).setVariable("productFamilyId", "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb")
                verify(mex).setVariable("lcpCloudRegionId", "mdt1")
+               verify(mex).setVariable("cloudOwner", "my-cloud-owner")
                verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
        }
                        
                verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
        }
                        
index b7c7549..c2384b6 100644 (file)
@@ -145,6 +145,7 @@ class DeleteVcpeResCustServiceTest extends GroovyTestBase {
                verify(mex).setVariable("subscriptionServiceType", SVC) 
                
                verify(mex).setVariable("lcpCloudRegionId", "mdt1")
                verify(mex).setVariable("subscriptionServiceType", SVC) 
                
                verify(mex).setVariable("lcpCloudRegionId", "mdt1")
+               verify(mex).setVariable("cloudOwner", "my-cloud-owner")
                verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
                assertEquals("""{"tenantId":"8b1df54faa3b49078e3416e21370a3ba","lcpCloudRegionId":"mdt1"}""", map.get("cloudConfiguration"))
                verify(mex).setVariable("sdncVersion", "1707")
                verify(mex).setVariable("tenantId", "8b1df54faa3b49078e3416e21370a3ba")
                assertEquals("""{"tenantId":"8b1df54faa3b49078e3416e21370a3ba","lcpCloudRegionId":"mdt1"}""", map.get("cloudConfiguration"))
                verify(mex).setVariable("sdncVersion", "1707")
index 96cdebc..78ecd6c 100644 (file)
-aai:
-  auth: 757A94191D685FD2092AC1490730A4FC
-  dme2:
-    timeout: '30000'
-  endpoint: http://localhost:${wiremock.server.port}
-camunda:
-  bpm:
-    admin-user:
-      id: admin
-      password: admin
-    database:
-      type: h2
-    history-level: FULL
-    metrics:
-      enabled: false
-      db-reporter-activate: false
-canopi:
-  auth: 757A94191D685FD2092AC1490730A4FC
-csi:
-  aots:
-    addincidentmanagement:
-      endpoint: http://localhost:${wiremock.server.port}/AddIncidentManagementTicketRequest
-  networkstatus:
-    endpoint: http://localhost:${wiremock.server.port}/SendManagedNetworkStatusNotification
-entitymanager:
-  packagesToScan: com
-mso:
-  correlation:
-    timeout: PT60S
-  logPath: logs
-  async:
-    core-pool-size: 50
-    max-pool-size: 50
-    queue-capacity: 500
-  adapters:
-    completemsoprocess:
-      endpoint: http://localhost:30253/CompleteMsoProcess
-    db:
-      auth: 757A94191D685FD2092AC1490730A4FC
-      password: wLg4sjrAFUS8rfVfdvTXeQ==
-      endpoint: http://localhost:${wiremock.server.port}/services/RequestsDbAdapter
-      spring:
-        endpoint: http://localhost:${wiremock.server.port}
-    network:
-      endpoint: http://localhost:30253/services/NetworkAdapter
-      rest:
-        endpoint: http://localhost:30253/services/rest/v1/networks
-    openecomp:
-      db:
-        endpoint: http://localhost:${wiremock.server.port}/services/RequestsDbAdapter
-    po:
-      auth: 757A94191D685FD2092AC1490730A4FC
-      password: 3141634BF7E070AA289CF2892C986C0B
-    sdnc:
-      endpoint: http://localhost:${wiremock.server.port}/adapters/SDNCAdapter
-      rest:
-        endpoint: http://localhost:${wiremock.server.port}/adapters/rest/v1/sdnc
-      timeout: PT150S
-    tenant:
-      endpoint: http://localhost:30253/services/TenantAdapter
-    vnf:
-      endpoint: http://localhost:${wiremock.server.port}/services/VnfAdapter
-      rest:
-        endpoint: http://localhost:${wiremock.server.port}/services/rest/v1/vnfs
-    volume-groups:
-      rest:
-        endpoint: http://localhost:30253/services/rest/v1/volume-groups
-    vnf-async:
-      endpoint: http://localhost:30253/services/VnfAdapterAsync
-  adiod:
-    vce:
-      service:
-        model:
-          invariant:
-            uuid: 1cc4e2e4-eb6e-404d-a66f-c8733cedcce8
-          version: '5.0'
-  bpmn:
-    process:
-      historyTimeToLive: '30'
-  callbackRetryAttempts: '5'
-  catalog:
-    db:
-      endpoint: http://localhost:${wiremock.server.port}/ecomp/mso/catalog
-      spring:
-        endpoint: http://localhost:30258
-  csi:
-    pwd: 4EA237303511EFBBC37F17A351562131
-    sendmanagednetworkstatusnotification:
-      applicationname: NetworkManagementEthernetOverFiber
-      version: '212'
-    usrname: mso
-  db:
-    auth: Basic YnBlbDptc28tZGItMTUwNyE=
-  default:
-    adapter:
-      namespace: http://com.att.mso
-  gateway:
-    service:
-      model:
-        name: HNGWaaS for DHV Test
-  healthcheck:
-    log:
-      debug: 'false'
-  infra:
-    customer:
-      id: testCustIdInfra
-  msoKey: 07a7159d3bf51a0e53be7a8f89699be7
-  oam:
-    network:
-      role:
-        gateway: HngwOamNetVto.OAM
-        portal: HnportalOamNetVto.OAM
-  po:
-    timeout: PT60S
-  portal:
-    service:
-      model:
-        name: HNPortalaaS for DHV Test
-  request:
-    db:
-      endpoint: http://localhost:${wiremock.server.port}/
-  rollback: 'true'
-  sdnc:
-    firewall:
-      yang:
-        model:
-          version: '2015-05-15'
-    password: 3141634BF7E070AA289CF2892C986C0B
-    timeout:
-      firewall:
-        minutes: '20'
-      ucpe:
-        async:
-          hours: '120'
-          minutes: '5'
-  site-name: CamundaEngine
-  sriov:
-    network:
-      role:
-        gateway1: HngwSriovProviderNet.SR_IOV_Provider2_1
-        gateway2: HngwSriovProviderNet.SR_IOV_Provider2_2
-        portal1: HnportalSriovProviderNet3.SR_IOV_Provider2_1
-        portal2: HnportalSriovProviderNet3.SR_IOV_Provider2_2
-  workflow:
-    sdnc:
-      replication:
-        delay: PT5S
-    aai:
-      distribution:
-        delay: PT5S
-    CreateGenericVNFV1:
-      aai:
-        volume-group:
-          uri: /aai/v6/cloud-infrastructure/volume-groups/volume-group
-    DHVCreateService:
-      aai:
-        customer:
-          uri: /aai/v9/business/customers/customer
-    createvce:
-      delay:
-        seconds: '1'
-    default:
-      aai:
-        version: '8'
-        cloud-region:
-          version: '9'
-        generic-vnf:
-          version: '9'
-        v11:
-          customer:
-            uri: /aai/v11/business/customers/customer
-          generic-query:
-            uri: /aai/v11/search/generic-query
-          generic-vnf:
-            uri: /aai/v11/network/generic-vnfs/generic-vnf
-          l3-network:
-            uri: /aai/v11/network/l3-networks/l3-network
-          network-policy:
-            uri: /aai/v11/network/network-policies/network-policy
-          nodes-query:
-            uri: /aai/v11/search/nodes-query
-          route-table-reference:
-            uri: /aai/v11/network/route-table-references/route-table-reference
-          tenant:
-            uri: /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
-          vce:
-            uri: /aai/v11/network/vces/vce
-          vpn-binding:
-            uri: /aai/v11/network/vpn-bindings/vpn-binding
-        v8:
-          configuration:
-            uri: /aai/v11/network/configurations/configuration
-          customer:
-            uri: /aai/v8/business/customers/customer
-          generic-query:
-            uri: /aai/v8/search/generic-query
-          l3-network:
-            uri: /aai/v8/network/l3-networks/l3-network
-          network-policy:
-            uri: /aai/v8/network/network-policies/network-policy
-          nodes-query:
-            uri: /aai/v8/search/nodes-query
-          route-table-reference:
-            uri: /aai/v8/network/route-table-references/route-table-reference
-          tenant:
-            uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
-          vce:
-            uri: /aai/v8/network/vces/vce
-          vpn-binding:
-            uri: /aai/v8/network/vpn-bindings/vpn-binding
-        v9:
-          cloud-region:
-            uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic
-          generic-vnf:
-            uri: /aai/v9/network/generic-vnfs/generic-vnf
-      retry:
-        attempts: '1'
-    deleteCinderVolumeV1:
-      aai:
-        volume-group:
-          uri: /aai/v6/cloud-infrastructure/volume-groups/volume-group
-    global:
-      default:
-        aai:
-          namespace: http://org.openecomp.aai.inventory/
-    l3ToHigherLayerAddBonding:
-      model:
-        invariantid: 50359538-066f-4a8d-807f-f2bc8eaa79dc
-        name: WAN Bonding v0.1
-        version: '0.1'
-        versionid: 52dbec20-47aa-42e4-936c-331d8e350d44
-    message:
-      endpoint: http://localhost:30252/mso/WorkflowMessage
-    notification:
-      name: GenericNotificationServiceATT
-    sdncadapter:
-      callback: http://localhost:${wiremock.server.port}/mso/SDNCAdapterCallbackService
-    vnfadapter:
-      create:
-        callback: http://localhost:30253/mso/vnfAdapterNotify
-      delete:
-        callback: http://localhost:30253/mso/vnfAdapterNotify
-      query:
-        callback: http://localhost:30253/mso/vnfAdapterNotify
-      rollback:
-        callback: http://localhost:30253/mso/vnfAdapterNotify
-policy:
-  auth: Basic dGVzdHBkcDphbHBoYTEyMw==
-  client:
-    auth: Basic bTAzNzQzOnBvbGljeVIwY2sk
-  endpoint: https://localhost:8081/pdp/api/
-  environment: TEST
-sdnc:
-  auth: Basic YWRtaW46YWRtaW4=
-  host: https://localhost:8443
-  path: /restconf/operations/GENERIC-RESOURCE-API
-sdno:
-  health-check:
-    dmaap:
-      password: eHQ1cUJrOUc
-      publisher:
-        topic: com.att.sdno.test-health-diagnostic-v02
-      subscriber:
-        topic: com.att.sdno.test-health-diagnostic-v02
-      username: testuser
-pnf:
-  dmaap:
-    host:
-    port:
-sniro:
-  conductor:
-    host: http://localhost:30253
-    uri: /release
-  manager:
-    timeout: PT30M
-    host: http://localhost:${wiremock.server.port}
-    uri.v1: /sniro/api/v2/placement
-    uri.v2: /sniro/api/placement/v2
-    headers.auth: Basic dGVzdDp0ZXN0cHdk
-    headers.patchVersion: 1
-    headers.minorVersion: 1
-    headers.latestVersion: 2
-server:
-  port: 8080
-  tomcat:
-    max-threads: 50
-  # ssl:
-    # key-store: /app/msoClientKeyStore.jks
-    # key-store-password: mso4you
-    # key-store-type: JKS
-    # trust-store: /app/msoTrustStore.jks
-    # trust-store-password: mso_Domain2.0_4you
-spring:
-  h2:
-    console:
-      enabled: true
-      path: /h2
-  datasource:
-    url: jdbc:h2:mem:AZ;;DB_CLOSE_ON_EXIT=FALSE
-    username: sa
-    password: sa
-    driverClassName: org.h2.Driver
-  security:
-    usercredentials:
-    -  
-      username: test
-      password: '$2a$12$Zi3AuYcZoZO/gBQyUtST2.F5N6HqcTtaNci2Et.ufsQhski56srIu'
-      role: BPMN-Client    
-# Hibernate
-hibernate:
-  dialect: org.hibernate.dialect.MySQL5Dialect
-  show_sql: false
-
-management:
-  security:
-    enabled: false
-
-security:
-  basic:
-    enabled: false
-
-appc:
-  client:
-    topic:
-      read: 
-        name: APPC-TEST-AMDOCS2
-        timeout: 360000 
-      write: APPC-TEST-AMDOCS1-IST
-    response:
-      timeout: 360000
-    key: LSl8QKolmKcC0yJR
-    secret: lgjXraD1HutKxv8jEN6tVouu
-    service: ueb
+aai:\r
+  auth: 757A94191D685FD2092AC1490730A4FC\r
+  dme2:\r
+    timeout: '30000'\r
+  endpoint: http://localhost:${wiremock.server.port}\r
+camunda:\r
+  bpm:\r
+    admin-user:\r
+      id: admin\r
+      password: admin\r
+    database:\r
+      type: h2\r
+    history-level: FULL\r
+    metrics:\r
+      enabled: false\r
+      db-reporter-activate: false\r
+canopi:\r
+  auth: 757A94191D685FD2092AC1490730A4FC\r
+csi:\r
+  aots:\r
+    addincidentmanagement:\r
+      endpoint: http://localhost:${wiremock.server.port}/AddIncidentManagementTicketRequest\r
+  networkstatus:\r
+    endpoint: http://localhost:${wiremock.server.port}/SendManagedNetworkStatusNotification\r
+entitymanager:\r
+  packagesToScan: com\r
+mso:\r
+  correlation:\r
+    timeout: PT60S\r
+  logPath: logs\r
+  async:\r
+    core-pool-size: 50\r
+    max-pool-size: 50\r
+    queue-capacity: 500\r
+  adapters:\r
+    completemsoprocess:\r
+      endpoint: http://localhost:30253/CompleteMsoProcess\r
+    db:\r
+      auth: 757A94191D685FD2092AC1490730A4FC\r
+      password: wLg4sjrAFUS8rfVfdvTXeQ==\r
+      endpoint: http://localhost:${wiremock.server.port}/services/RequestsDbAdapter\r
+      spring:\r
+        endpoint: http://localhost:${wiremock.server.port}\r
+    network:\r
+      endpoint: http://localhost:30253/services/NetworkAdapter\r
+      rest:\r
+        endpoint: http://localhost:30253/services/rest/v1/networks\r
+    openecomp:\r
+      db:\r
+        endpoint: http://localhost:${wiremock.server.port}/services/RequestsDbAdapter\r
+    po:\r
+      auth: 757A94191D685FD2092AC1490730A4FC\r
+      password: 3141634BF7E070AA289CF2892C986C0B\r
+    sdnc:\r
+      endpoint: http://localhost:${wiremock.server.port}/adapters/SDNCAdapter\r
+      rest:\r
+        endpoint: http://localhost:${wiremock.server.port}/adapters/rest/v1/sdnc\r
+      timeout: PT150S\r
+    tenant:\r
+      endpoint: http://localhost:30253/services/TenantAdapter\r
+    vnf:\r
+      endpoint: http://localhost:${wiremock.server.port}/services/VnfAdapter\r
+      rest:\r
+        endpoint: http://localhost:${wiremock.server.port}/services/rest/v1/vnfs\r
+    volume-groups:\r
+      rest:\r
+        endpoint: http://localhost:30253/services/rest/v1/volume-groups\r
+    vnf-async:\r
+      endpoint: http://localhost:30253/services/VnfAdapterAsync\r
+  adiod:\r
+    vce:\r
+      service:\r
+        model:\r
+          invariant:\r
+            uuid: 1cc4e2e4-eb6e-404d-a66f-c8733cedcce8\r
+          version: '5.0'\r
+  bpmn:\r
+    process:\r
+      historyTimeToLive: '30'\r
+  callbackRetryAttempts: '5'\r
+  catalog:\r
+    db:\r
+      endpoint: http://localhost:${wiremock.server.port}/ecomp/mso/catalog\r
+      spring:\r
+        endpoint: http://localhost:30258\r
+  csi:\r
+    pwd: 4EA237303511EFBBC37F17A351562131\r
+    sendmanagednetworkstatusnotification:\r
+      applicationname: NetworkManagementEthernetOverFiber\r
+      version: '212'\r
+    usrname: mso\r
+  db:\r
+    auth: Basic YnBlbDptc28tZGItMTUwNyE=\r
+  default:\r
+    adapter:\r
+      namespace: http://com.att.mso\r
+  gateway:\r
+    service:\r
+      model:\r
+        name: HNGWaaS for DHV Test\r
+  healthcheck:\r
+    log:\r
+      debug: 'false'\r
+  infra:\r
+    customer:\r
+      id: testCustIdInfra\r
+  msoKey: 07a7159d3bf51a0e53be7a8f89699be7\r
+  oam:\r
+    network:\r
+      role:\r
+        gateway: HngwOamNetVto.OAM\r
+        portal: HnportalOamNetVto.OAM\r
+  po:\r
+    timeout: PT60S\r
+  portal:\r
+    service:\r
+      model:\r
+        name: HNPortalaaS for DHV Test\r
+  request:\r
+    db:\r
+      endpoint: http://localhost:${wiremock.server.port}/\r
+  rollback: 'true'\r
+  sdnc:\r
+    firewall:\r
+      yang:\r
+        model:\r
+          version: '2015-05-15'\r
+    password: 3141634BF7E070AA289CF2892C986C0B\r
+    timeout:\r
+      firewall:\r
+        minutes: '20'\r
+      ucpe:\r
+        async:\r
+          hours: '120'\r
+          minutes: '5'\r
+  site-name: CamundaEngine\r
+  sriov:\r
+    network:\r
+      role:\r
+        gateway1: HngwSriovProviderNet.SR_IOV_Provider2_1\r
+        gateway2: HngwSriovProviderNet.SR_IOV_Provider2_2\r
+        portal1: HnportalSriovProviderNet3.SR_IOV_Provider2_1\r
+        portal2: HnportalSriovProviderNet3.SR_IOV_Provider2_2\r
+  workflow:\r
+    sdnc:\r
+      replication:\r
+        delay: PT5S\r
+    aai:\r
+      distribution:\r
+        delay: PT5S\r
+    CreateGenericVNFV1:\r
+      aai:\r
+        volume-group:\r
+          uri: /aai/v6/cloud-infrastructure/volume-groups/volume-group\r
+    DHVCreateService:\r
+      aai:\r
+        customer:\r
+          uri: /aai/v9/business/customers/customer\r
+    createvce:\r
+      delay:\r
+        seconds: '1'\r
+    default:\r
+      aai:\r
+        version: '8'\r
+        cloud-region:\r
+          version: '9'\r
+        generic-vnf:\r
+          version: '9'\r
+      retry:\r
+        attempts: '1'\r
+    deleteCinderVolumeV1:\r
+      aai:\r
+        volume-group:\r
+          uri: /aai/v6/cloud-infrastructure/volume-groups/volume-group\r
+    global:\r
+      default:\r
+        aai:\r
+          namespace: http://org.openecomp.aai.inventory/\r
+    l3ToHigherLayerAddBonding:\r
+      model:\r
+        invariantid: 50359538-066f-4a8d-807f-f2bc8eaa79dc\r
+        name: WAN Bonding v0.1\r
+        version: '0.1'\r
+        versionid: 52dbec20-47aa-42e4-936c-331d8e350d44\r
+    message:\r
+      endpoint: http://localhost:30252/mso/WorkflowMessage\r
+    notification:\r
+      name: GenericNotificationServiceATT\r
+    sdncadapter:\r
+      callback: http://localhost:${wiremock.server.port}/mso/SDNCAdapterCallbackService\r
+    vnfadapter:\r
+      create:\r
+        callback: http://localhost:30253/mso/vnfAdapterNotify\r
+      delete:\r
+        callback: http://localhost:30253/mso/vnfAdapterNotify\r
+      query:\r
+        callback: http://localhost:30253/mso/vnfAdapterNotify\r
+      rollback:\r
+        callback: http://localhost:30253/mso/vnfAdapterNotify\r
+policy:\r
+  auth: Basic dGVzdHBkcDphbHBoYTEyMw==\r
+  client:\r
+    auth: Basic bTAzNzQzOnBvbGljeVIwY2sk\r
+  endpoint: https://localhost:8081/pdp/api/\r
+  environment: TEST\r
+sdnc:\r
+  auth: Basic YWRtaW46YWRtaW4=\r
+  host: https://localhost:8443\r
+  path: /restconf/operations/GENERIC-RESOURCE-API\r
+sdno:\r
+  health-check:\r
+    dmaap:\r
+      password: eHQ1cUJrOUc\r
+      publisher:\r
+        topic: com.att.sdno.test-health-diagnostic-v02\r
+      subscriber:\r
+        topic: com.att.sdno.test-health-diagnostic-v02\r
+      username: testuser\r
+pnf:\r
+  dmaap:\r
+    host:\r
+    port:\r
+sniro:\r
+  conductor:\r
+    host: http://localhost:30253\r
+    uri: /release\r
+  manager:\r
+    timeout: PT30M\r
+    host: http://localhost:${wiremock.server.port}\r
+    uri.v1: /sniro/api/v2/placement\r
+    uri.v2: /sniro/api/placement/v2\r
+    headers.auth: Basic dGVzdDp0ZXN0cHdk\r
+    headers.patchVersion: 1\r
+    headers.minorVersion: 1\r
+    headers.latestVersion: 2\r
+server:\r
+  port: 8080\r
+  tomcat:\r
+    max-threads: 50\r
+  # ssl:\r
+    # key-store: /app/msoClientKeyStore.jks\r
+    # key-store-password: mso4you\r
+    # key-store-type: JKS\r
+    # trust-store: /app/msoTrustStore.jks\r
+    # trust-store-password: mso_Domain2.0_4you\r
+spring:\r
+  h2:\r
+    console:\r
+      enabled: true\r
+      path: /h2\r
+  datasource:\r
+    url: jdbc:h2:mem:AZ;;DB_CLOSE_ON_EXIT=FALSE\r
+    username: sa\r
+    password: sa\r
+    driverClassName: org.h2.Driver\r
+  security:\r
+    usercredentials:\r
+    -  \r
+      username: test\r
+      password: '$2a$12$Zi3AuYcZoZO/gBQyUtST2.F5N6HqcTtaNci2Et.ufsQhski56srIu'\r
+      role: BPMN-Client    \r
+# Hibernate\r
+hibernate:\r
+  dialect: org.hibernate.dialect.MySQL5Dialect\r
+  show_sql: false\r
+\r
+management:\r
+  security:\r
+    enabled: false\r
+\r
+security:\r
+  basic:\r
+    enabled: false\r
+\r
+appc:\r
+  client:\r
+    topic:\r
+      read: \r
+        name: APPC-TEST-AMDOCS2\r
+        timeout: 360000 \r
+      write: APPC-TEST-AMDOCS1-IST\r
+    response:\r
+      timeout: 360000\r
+    key: LSl8QKolmKcC0yJR\r
+    secret: lgjXraD1HutKxv8jEN6tVouu\r
+    service: ueb\r
     poolMembers: localhost:3904,localhost:3904,localhost:3904
\ No newline at end of file
     poolMembers: localhost:3904,localhost:3904,localhost:3904
\ No newline at end of file
index 9b21b93..b35aa80 100644 (file)
@@ -30,6 +30,7 @@ networkMod.processJavaException(execution)]]></bpmn2:script>
         <camunda:in source="networkId" target="networkId" />
         <camunda:in source="networkName" target="networkName" />
         <camunda:in source="networkModelInfo" target="networkModelInfo" />
         <camunda:in source="networkId" target="networkId" />
         <camunda:in source="networkName" target="networkName" />
         <camunda:in source="networkModelInfo" target="networkModelInfo" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
index 3b49011..7413e6d 100644 (file)
@@ -505,6 +505,7 @@ CreateVcpeResCustService.prepareCreateAllottedResourceBRG(execution)]]></bpmn2:s
         <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
index 06c517c..bfbdc25 100644 (file)
@@ -475,6 +475,7 @@ CreateVcpeResCustService.prepareCreateAllottedResourceTXC(execution)]]></bpmn2:s
         <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
index eefc2ca..150d502 100644 (file)
@@ -32,6 +32,7 @@
         <camunda:in source="CVFMI_globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="CVFMI_sdncVersion" target="sdncVersion" />
         <camunda:in source="CVFMI_lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="CVFMI_globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="CVFMI_sdncVersion" target="sdncVersion" />
         <camunda:in source="CVFMI_lcpCloudRegionId" target="lcpCloudRegionId" />
+        <camunda:in source="CVFMI_cloudOwner" target="cloudOwner" />
         <camunda:in source="CVFMI_tenantId" target="tenantId" />
         <camunda:in source="CVFMI_vfModuleId" target="vfModuleId" />
         <camunda:in source="CVFMI_vfModuleModelInfo" target="vfModuleModelInfo" />
         <camunda:in source="CVFMI_tenantId" target="tenantId" />
         <camunda:in source="CVFMI_vfModuleId" target="vfModuleId" />
         <camunda:in source="CVFMI_vfModuleModelInfo" target="vfModuleModelInfo" />
index dcdcdc9..c1e60ba 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?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="_CyftwG_HEeaKe-v4u9MasA" 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="_CyftwG_HEeaKe-v4u9MasA" 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="CreateVfModuleVolumeInfraV1" name="CreateVfModuleVolumeInfraV1" isExecutable="true">
     <bpmn2:startEvent id="StartEvent_createVfModuleVolumeInfraV1">
       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
   <bpmn2:process id="CreateVfModuleVolumeInfraV1" name="CreateVfModuleVolumeInfraV1" isExecutable="true">
     <bpmn2:startEvent id="StartEvent_createVfModuleVolumeInfraV1">
       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
@@ -154,6 +154,7 @@ createVfModuleVolumeInfraV1.executeMethod('buildWorkflowException', execution, 2
         <camunda:in source="vnfName" target="vnfName" />
         <camunda:in source="volumeGroupName" target="volumeGroupName" />
         <camunda:in source="vfModuleModelInfo" target="vfModuleModelInfo" />
         <camunda:in source="vnfName" target="vnfName" />
         <camunda:in source="volumeGroupName" target="volumeGroupName" />
         <camunda:in source="vfModuleModelInfo" target="vfModuleModelInfo" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="vnfType" target="vnfType" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="vnfType" target="vnfType" />
index 6af8c22..d7d4561 100644 (file)
@@ -37,6 +37,7 @@ createVnf.sendSyncResponse(execution)]]></bpmn2:script>
         <camunda:out source="vnfOutputParameters" target="CREVI_vnfOutputParameters" />
         <camunda:out source="WorkflowException" target="WorkflowException" />
         <camunda:in source="CREVI_lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:out source="vnfOutputParameters" target="CREVI_vnfOutputParameters" />
         <camunda:out source="WorkflowException" target="WorkflowException" />
         <camunda:in source="CREVI_lcpCloudRegionId" target="lcpCloudRegionId" />
+        <camunda:in source="CREVI_cloudOwner" target="cloudOwner" />
         <camunda:in source="CREVI_tenantId" target="tenandId" />
         <camunda:in source="CREVI_vnfResourceDecomposition" target="vnfResourceDecomposition" />
       </bpmn2:extensionElements>
         <camunda:in source="CREVI_tenantId" target="tenandId" />
         <camunda:in source="CREVI_vnfResourceDecomposition" target="vnfResourceDecomposition" />
       </bpmn2:extensionElements>
index a62e165..827dfb0 100644 (file)
@@ -30,6 +30,7 @@ networkMod.processJavaException(execution)]]></bpmn2:script>
         <camunda:in source="networkId" target="networkId" />
         <camunda:in source="networkName" target="networkName" />
         <camunda:in source="networkModelInfo" target="networkModelInfo" />
         <camunda:in source="networkId" target="networkId" />
         <camunda:in source="networkName" target="networkName" />
         <camunda:in source="networkModelInfo" target="networkModelInfo" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
index 0d287eb..fd0d8ff 100644 (file)
@@ -240,6 +240,7 @@ DeleteVcpeResCustService.getServiceInstance(execution)]]></bpmn2:script>
         <camunda:out source="rollbackData" target="rollbackData" />
         <camunda:out source="WorkflowException" target="WorkflowException" />
         <camunda:out source="rolledBack" target="rolledBack" />
         <camunda:out source="rollbackData" target="rollbackData" />
         <camunda:out source="WorkflowException" target="WorkflowException" />
         <camunda:out source="rolledBack" target="rolledBack" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="cloudConfiguration" target="cloudConfiguration" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="cloudConfiguration" target="cloudConfiguration" />
index 6a157eb..25b4f5d 100644 (file)
@@ -362,6 +362,7 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script>
         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
index e5236f9..50600bd 100644 (file)
@@ -30,6 +30,7 @@ networkMod.processJavaException(execution)</bpmn2:script>
         <camunda:in source="networkId" target="networkId" />
         <camunda:in source="networkName" target="networkName" />
         <camunda:in source="networkModelInfo" target="networkModelInfo" />
         <camunda:in source="networkId" target="networkId" />
         <camunda:in source="networkName" target="networkName" />
         <camunda:in source="networkModelInfo" target="networkModelInfo" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="productFamilyId" target="productFamilyId" />
index c35e7ec..3c5fff2 100644 (file)
@@ -122,6 +122,7 @@ uvfm.falloutHandlerPrep(execution, 'UPDVfModI_FalloutHandlerRequest')
         <camunda:in source="UPDVfModI_vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="UPDVfModI_globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="UPDVfModI_lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="UPDVfModI_vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="UPDVfModI_globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="UPDVfModI_lcpCloudRegionId" target="lcpCloudRegionId" />
+        <camunda:in source="UPDVfModI_cloudOwner" target="cloudOwner" />
         <camunda:in source="UPDVfModI_tenantId" target="tenantId" />
         <camunda:in source="UPDVfModI_sdncVersion" target="sdncVersion" />
         <camunda:in source="UPDVfModI_vfModuleModelInfo" target="vfModuleModelInfo" />
         <camunda:in source="UPDVfModI_tenantId" target="tenantId" />
         <camunda:in source="UPDVfModI_sdncVersion" target="sdncVersion" />
         <camunda:in source="UPDVfModI_vfModuleModelInfo" target="vfModuleModelInfo" />
index 1efb127..8d30679 100644 (file)
@@ -164,6 +164,7 @@ uvfm.vfFlagSet(execution)]]></bpmn2:script>
         <camunda:in source="UPDVfModI_vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="UPDVfModI_globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="UPDVfModI_lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="UPDVfModI_vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="UPDVfModI_globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="UPDVfModI_lcpCloudRegionId" target="lcpCloudRegionId" />
+        <camunda:in source="UPDVfModI_cloudOwner" target="cloudOwner" />
         <camunda:in source="UPDVfModI_tenantId" target="tenantId" />
         <camunda:in source="UPDVfModI_sdncVersion" target="sdncVersion" />
         <camunda:in source="UPDVfModI_vfModuleModelInfo" target="vfModuleModelInfo" />
         <camunda:in source="UPDVfModI_tenantId" target="tenantId" />
         <camunda:in source="UPDVfModI_sdncVersion" target="sdncVersion" />
         <camunda:in source="UPDVfModI_vfModuleModelInfo" target="vfModuleModelInfo" />
index e50eb7f..71fc966 100644 (file)
@@ -142,6 +142,7 @@ uvfm.postProcessRollback(execution)]]></bpmn2:script>
         <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
index 9cf21dd..01040ba 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?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: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.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
   <bpmn2:process id="DoCreateE2EServiceInstanceV3" name="DoCreateE2EServiceInstanceV3" isExecutable="true">
     <bpmn2:startEvent id="createSI_startEvent" name="Start Flow">
       <bpmn2:outgoing>SequenceFlow_1qiiycn</bpmn2:outgoing>
   <bpmn2:process id="DoCreateE2EServiceInstanceV3" name="DoCreateE2EServiceInstanceV3" isExecutable="true">
     <bpmn2:startEvent id="createSI_startEvent" name="Start Flow">
       <bpmn2:outgoing>SequenceFlow_1qiiycn</bpmn2:outgoing>
@@ -12,21 +12,6 @@ def dcsi = new DoCreateE2EServiceInstance()
 dcsi.preProcessRequest(execution)
 ]]></bpmn2:script>
     </bpmn2:scriptTask>
 dcsi.preProcessRequest(execution)
 ]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:callActivity id="CustomE2EPutService" name="Call Custom E2E Put Service" calledElement="CustomE2EPutService">
-      <bpmn2:extensionElements>
-        <camunda:in source="globalSubscriberId" target="GENPS_globalSubscriberId" />
-        <camunda:in source="serviceInstanceId" target="GENPS_serviceInstanceId" />
-        <camunda:in source="serviceType" target="GENPS_serviceType" />
-        <camunda:in sourceExpression="service-instance" target="GENPS_type" />
-        <camunda:in source="serviceInstanceData" target="GENPS_payload" />
-        <camunda:out source="GENPS_SuccessIndicator" target="GENPS_SuccessIndicator" />
-        <camunda:in source="msoRequestId" target="GENPS_requesId" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-      </bpmn2:extensionElements>
-      <bpmn2:incoming>SequenceFlow_1i7t9hq</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_129ih1g</bpmn2:outgoing>
-    </bpmn2:callActivity>
-    <bpmn2:sequenceFlow id="SequenceFlow_129ih1g" sourceRef="CustomE2EPutService" targetRef="ScriptTask_0q37vn9" />
     <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:subProcess id="SubProcess_06d8lk8" name="Sub-process for Application Errors" triggeredByEvent="true">
       <bpmn2:startEvent id="StartEvent_0yljq9y">
         <bpmn2:outgoing>SequenceFlow_0tgrn11</bpmn2:outgoing>
@@ -67,51 +52,17 @@ dcsi.postProcessRollback(execution)
       </bpmn2:scriptTask>
       <bpmn2:sequenceFlow id="SequenceFlow_1xzgv5k" sourceRef="ScriptTask_1p0vyip" targetRef="EndEvent_117lkk3" />
     </bpmn2:subProcess>
       </bpmn2:scriptTask>
       <bpmn2:sequenceFlow id="SequenceFlow_1xzgv5k" sourceRef="ScriptTask_1p0vyip" targetRef="EndEvent_117lkk3" />
     </bpmn2:subProcess>
-    <bpmn2:scriptTask id="ScriptTask_0q37vn9" name="Post Process AAI PUT" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_129ih1g</bpmn2:incoming>
+    <bpmn2:scriptTask id="ScriptTask_0q37vn9" name="&#10;AAI&#10;Create&#10;(srv instance)&#10;" scriptFormat="groovy">
+      <bpmn2:incoming>SequenceFlow_012h7yx</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_1tkgqu3</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def ddsi = new DoCreateE2EServiceInstance()
       <bpmn2:outgoing>SequenceFlow_1tkgqu3</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def ddsi = new DoCreateE2EServiceInstance()
-ddsi.postProcessAAIPUT(execution)]]></bpmn2:script>
+ddsi.createServiceInstance(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_1qctzm0" sourceRef="Task_0uiekmn" targetRef="Task_0raqlqc" />
-    <bpmn2:scriptTask id="Task_0uiekmn" name="Prepare Resource Oper Status" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_1e5j351</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1qctzm0</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
-def ddsi = new DoCreateE2EServiceInstance()
-ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:serviceTask id="Task_0raqlqc" name="Init Resource Oper Status">
-      <bpmn2:extensionElements>
-        <camunda:connector>
-          <camunda:inputOutput>
-            <camunda:inputParameter name="url">${CVFMI_dbAdapterEndpoint}</camunda:inputParameter>
-            <camunda:inputParameter name="headers">
-              <camunda:map>
-                <camunda:entry key="content-type">application/soap+xml</camunda:entry>
-                <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry>
-              </camunda:map>
-            </camunda:inputParameter>
-            <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter>
-            <camunda:inputParameter name="method">POST</camunda:inputParameter>
-            <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter>
-            <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter>
-          </camunda:inputOutput>
-          <camunda:connectorId>http-connector</camunda:connectorId>
-        </camunda:connector>
-      </bpmn2:extensionElements>
-      <bpmn2:incoming>SequenceFlow_1qctzm0</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1s5aas9</bpmn2:outgoing>
-    </bpmn2:serviceTask>
     <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0bq4fxs" name="Go to Decompose_Service">
       <bpmn2:incoming>SequenceFlow_0w9t6tc</bpmn2:incoming>
       <bpmn2:linkEventDefinition name="Decompose_Service" />
     </bpmn2:intermediateThrowEvent>
     <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0bq4fxs" name="Go to Decompose_Service">
       <bpmn2:incoming>SequenceFlow_0w9t6tc</bpmn2:incoming>
       <bpmn2:linkEventDefinition name="Decompose_Service" />
     </bpmn2:intermediateThrowEvent>
-    <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1mlbhmt" name="GoTo StartService">
-      <bpmn2:incoming>SequenceFlow_012h7yx</bpmn2:incoming>
-      <bpmn2:linkEventDefinition name="StartService" />
-    </bpmn2:intermediateThrowEvent>
     <bpmn2:scriptTask id="ScriptTask_1o01d7d" name="PostProcess&#10;Decompose&#10;Service&#10;" scriptFormat="groovy">
       <bpmn2:incoming>SequenceFlow_0xjwb45</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_012h7yx</bpmn2:outgoing>
     <bpmn2:scriptTask id="ScriptTask_1o01d7d" name="PostProcess&#10;Decompose&#10;Service&#10;" scriptFormat="groovy">
       <bpmn2:incoming>SequenceFlow_0xjwb45</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_012h7yx</bpmn2:outgoing>
@@ -152,17 +103,41 @@ dcsi.prepareDecomposeService(execution)]]></bpmn2:script>
     </bpmn2:intermediateThrowEvent>
     <bpmn2:sequenceFlow id="SequenceFlow_1tkgqu3" sourceRef="ScriptTask_0q37vn9" targetRef="IntermediateThrowEvent_16okck2" />
     <bpmn2:sequenceFlow id="SequenceFlow_0w9t6tc" sourceRef="preProcessRequest_ScriptTask" targetRef="IntermediateThrowEvent_0bq4fxs" />
     </bpmn2:intermediateThrowEvent>
     <bpmn2:sequenceFlow id="SequenceFlow_1tkgqu3" sourceRef="ScriptTask_0q37vn9" targetRef="IntermediateThrowEvent_16okck2" />
     <bpmn2:sequenceFlow id="SequenceFlow_0w9t6tc" sourceRef="preProcessRequest_ScriptTask" targetRef="IntermediateThrowEvent_0bq4fxs" />
-    <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0jrb3xu" name="StartService">
-      <bpmn2:outgoing>SequenceFlow_1i7t9hq</bpmn2:outgoing>
-      <bpmn2:linkEventDefinition name="StartService" />
-    </bpmn2:intermediateCatchEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1i7t9hq" sourceRef="IntermediateCatchEvent_0jrb3xu" targetRef="CustomE2EPutService" />
     <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_05dus9b" name="StartPrepareResource">
     <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_05dus9b" name="StartPrepareResource">
-      <bpmn2:outgoing>SequenceFlow_1hbesp9</bpmn2:outgoing>
+      <bpmn2:outgoing>SequenceFlow_0yuzaen</bpmn2:outgoing>
       <bpmn2:linkEventDefinition name="StartPrepareResource" />
     </bpmn2:intermediateCatchEvent>
       <bpmn2:linkEventDefinition name="StartPrepareResource" />
     </bpmn2:intermediateCatchEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1hbesp9" sourceRef="IntermediateCatchEvent_05dus9b" targetRef="ScriptTask_0dpt36a" />
-    <bpmn2:callActivity id="CallActivity_1ojtwas" name="Call DoCreateResources" calledElement="DoCreateResourcesV3">
+    <bpmn2:sequenceFlow id="SequenceFlow_012h7yx" sourceRef="ScriptTask_1o01d7d" targetRef="ScriptTask_0q37vn9" />
+    <bpmn2:scriptTask id="ScriptTask_1rzf8a1" name="Prepare Resource Oper Status" scriptFormat="groovy">
+      <bpmn2:incoming>SequenceFlow_1y9rkfr</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_0n7nbx3</bpmn2:outgoing>
+      <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+def ddsi = new DoCreateE2EServiceInstance()
+ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script>
+    </bpmn2:scriptTask>
+    <bpmn2:serviceTask id="ServiceTask_1asgesv" name="Init Resource Oper Status">
+      <bpmn2:extensionElements>
+        <camunda:connector>
+          <camunda:inputOutput>
+            <camunda:inputParameter name="url">${CVFMI_dbAdapterEndpoint}</camunda:inputParameter>
+            <camunda:inputParameter name="headers">
+              <camunda:map>
+                <camunda:entry key="content-type">application/soap+xml</camunda:entry>
+                <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry>
+              </camunda:map>
+            </camunda:inputParameter>
+            <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter>
+            <camunda:inputParameter name="method">POST</camunda:inputParameter>
+            <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter>
+            <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter>
+          </camunda:inputOutput>
+          <camunda:connectorId>http-connector</camunda:connectorId>
+        </camunda:connector>
+      </bpmn2:extensionElements>
+      <bpmn2:incoming>SequenceFlow_0n7nbx3</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_0ckto7v</bpmn2:outgoing>
+    </bpmn2:serviceTask>
+    <bpmn2:callActivity id="CallActivity_1gae03e" name="Call DoCreateResources" calledElement="DoCreateResourcesV3">
       <bpmn2:extensionElements>
         <camunda:in source="nsServiceName" target="nsServiceName" />
         <camunda:in source="nsServiceDescription" target="nsServiceDescription" />
       <bpmn2:extensionElements>
         <camunda:in source="nsServiceName" target="nsServiceName" />
         <camunda:in source="nsServiceDescription" target="nsServiceDescription" />
@@ -180,71 +155,62 @@ dcsi.prepareDecomposeService(execution)]]></bpmn2:script>
         <camunda:in source="uuiRequest" target="uuiRequest" />
         <camunda:in source="msoRequestId" target="msoRequestId" />
       </bpmn2:extensionElements>
         <camunda:in source="uuiRequest" target="uuiRequest" />
         <camunda:in source="msoRequestId" target="msoRequestId" />
       </bpmn2:extensionElements>
-      <bpmn2:incoming>SequenceFlow_0bf6bzp</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0d0c20n</bpmn2:outgoing>
+      <bpmn2:incoming>SequenceFlow_0b1dsaj</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_0sphcy5</bpmn2:outgoing>
     </bpmn2:callActivity>
     </bpmn2:callActivity>
-    <bpmn2:scriptTask id="ScriptTask_04b21gb" name="PreProcess for Add Resources" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_0p6ba92</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0bf6bzp</bpmn2:outgoing>
+    <bpmn2:scriptTask id="ScriptTask_0ns08tn" name="PreProcess for Add Resources" scriptFormat="groovy">
+      <bpmn2:incoming>SequenceFlow_022onug</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_0b1dsaj</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def csi = new  DoCreateE2EServiceInstance()
 csi.preProcessForAddResource(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def csi = new  DoCreateE2EServiceInstance()
 csi.preProcessForAddResource(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:scriptTask id="ScriptTask_1y7jr4t" name="PostProcess for Add Resource" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_0d0c20n</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0a6vgsu</bpmn2:outgoing>
+    <bpmn2:scriptTask id="ScriptTask_19t13rd" name="PostProcess for Add Resource" scriptFormat="groovy">
+      <bpmn2:incoming>SequenceFlow_0sphcy5</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_18gnns6</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def csi = new  DoCreateE2EServiceInstance()
 csi.postProcessForAddResource(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def csi = new  DoCreateE2EServiceInstance()
 csi.postProcessForAddResource(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_0bf6bzp" sourceRef="ScriptTask_04b21gb" targetRef="CallActivity_1ojtwas" />
-    <bpmn2:sequenceFlow id="SequenceFlow_0d0c20n" sourceRef="CallActivity_1ojtwas" targetRef="ScriptTask_1y7jr4t" />
-    <bpmn2:endEvent id="EndEvent_0hzmoug">
-      <bpmn2:incoming>SequenceFlow_0a6vgsu</bpmn2:incoming>
+    <bpmn2:endEvent id="EndEvent_1x4kvfh">
+      <bpmn2:incoming>SequenceFlow_18gnns6</bpmn2:incoming>
     </bpmn2:endEvent>
     </bpmn2:endEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_0a6vgsu" sourceRef="ScriptTask_1y7jr4t" targetRef="EndEvent_0hzmoug" />
-    <bpmn2:sequenceFlow id="SequenceFlow_012h7yx" sourceRef="ScriptTask_1o01d7d" targetRef="IntermediateThrowEvent_1mlbhmt" />
-    <bpmn2:scriptTask id="ScriptTask_0dpt36a" name="Process Site Location" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_1hbesp9</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1e5j351</bpmn2:outgoing>
+    <bpmn2:scriptTask id="ScriptTask_0jxdler" name="Process Site Location" scriptFormat="groovy">
+      <bpmn2:incoming>SequenceFlow_0yuzaen</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_1y9rkfr</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def dcsi= new DoCreateE2EServiceInstance()
 dcsi.doProcessSiteLocation(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def dcsi= new DoCreateE2EServiceInstance()
 dcsi.doProcessSiteLocation(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:scriptTask id="ScriptTask_1a5mdd6" name="Process Link TP Resource Allocation" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_1s5aas9</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0p6ba92</bpmn2:outgoing>
+    <bpmn2:scriptTask id="ScriptTask_0ts3c3b" name="Process Link TP Resource Allocation" scriptFormat="groovy">
+      <bpmn2:incoming>SequenceFlow_0ckto7v</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_022onug</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def dcsi= new DoCreateE2EServiceInstance()
 dcsi.doTPResourcesAllocation(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def dcsi= new DoCreateE2EServiceInstance()
 dcsi.doTPResourcesAllocation(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_0p6ba92" sourceRef="ScriptTask_1a5mdd6" targetRef="ScriptTask_04b21gb" />
-    <bpmn2:sequenceFlow id="SequenceFlow_1s5aas9" sourceRef="Task_0raqlqc" targetRef="ScriptTask_1a5mdd6" />
-    <bpmn2:sequenceFlow id="SequenceFlow_1e5j351" sourceRef="ScriptTask_0dpt36a" targetRef="Task_0uiekmn" />
+    <bpmn2:sequenceFlow id="SequenceFlow_1y9rkfr" sourceRef="ScriptTask_0jxdler" targetRef="ScriptTask_1rzf8a1" />
+    <bpmn2:sequenceFlow id="SequenceFlow_0n7nbx3" sourceRef="ScriptTask_1rzf8a1" targetRef="ServiceTask_1asgesv" />
+    <bpmn2:sequenceFlow id="SequenceFlow_0ckto7v" sourceRef="ServiceTask_1asgesv" targetRef="ScriptTask_0ts3c3b" />
+    <bpmn2:sequenceFlow id="SequenceFlow_0b1dsaj" sourceRef="ScriptTask_0ns08tn" targetRef="CallActivity_1gae03e" />
+    <bpmn2:sequenceFlow id="SequenceFlow_0sphcy5" sourceRef="CallActivity_1gae03e" targetRef="ScriptTask_19t13rd" />
+    <bpmn2:sequenceFlow id="SequenceFlow_022onug" sourceRef="ScriptTask_0ts3c3b" targetRef="ScriptTask_0ns08tn" />
+    <bpmn2:sequenceFlow id="SequenceFlow_18gnns6" sourceRef="ScriptTask_19t13rd" targetRef="EndEvent_1x4kvfh" />
+    <bpmn2:sequenceFlow id="SequenceFlow_0yuzaen" sourceRef="IntermediateCatchEvent_05dus9b" targetRef="ScriptTask_0jxdler" />
   </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="DoCreateE2EServiceInstanceV3">
       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_47" bpmnElement="createSI_startEvent">
   </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="DoCreateE2EServiceInstanceV3">
       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_47" bpmnElement="createSI_startEvent">
-        <dc:Bounds x="18" y="-207" width="36" height="36" />
+        <dc:Bounds x="9" y="-22" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="12" y="-166" width="50" height="12" />
+          <dc:Bounds x="3" y="19" width="50" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_61" bpmnElement="preProcessRequest_ScriptTask">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_61" bpmnElement="preProcessRequest_ScriptTask">
-        <dc:Bounds x="126" y="-229" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="CallActivity_0khp0qc_di" bpmnElement="CustomE2EPutService">
-        <dc:Bounds x="478" y="54" width="100" height="80" />
+        <dc:Bounds x="117" y="-44" width="100" height="80" />
       </bpmndi:BPMNShape>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_129ih1g_di" bpmnElement="SequenceFlow_129ih1g">
-        <di:waypoint xsi:type="dc:Point" x="578" y="94" />
-        <di:waypoint xsi:type="dc:Point" x="713" y="94" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="600.5" y="79" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="SubProcess_06d8lk8_di" bpmnElement="SubProcess_06d8lk8" isExpanded="true">
         <dc:Bounds x="15" y="865" width="783" height="195" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="SubProcess_06d8lk8_di" bpmnElement="SubProcess_06d8lk8" isExpanded="true">
         <dc:Bounds x="15" y="865" width="783" height="195" />
       </bpmndi:BPMNShape>
@@ -278,7 +244,7 @@ dcsi.doTPResourcesAllocation(execution)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0q37vn9_di" bpmnElement="ScriptTask_0q37vn9">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0q37vn9_di" bpmnElement="ScriptTask_0q37vn9">
-        <dc:Bounds x="713" y="54" width="100" height="80" />
+        <dc:Bounds x="1012" y="106" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0ocetux_di" bpmnElement="ScriptTask_0ocetux">
         <dc:Bounds x="246" y="920" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0ocetux_di" bpmnElement="ScriptTask_0ocetux">
         <dc:Bounds x="246" y="920" width="100" height="80" />
@@ -302,109 +268,77 @@ dcsi.doTPResourcesAllocation(execution)]]></bpmn2:script>
           <dc:Bounds x="679" y="960" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
           <dc:Bounds x="679" y="960" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1qctzm0_di" bpmnElement="SequenceFlow_1qctzm0">
-        <di:waypoint xsi:type="dc:Point" x="376" y="300" />
-        <di:waypoint xsi:type="dc:Point" x="447" y="300" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="367" y="279" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="ScriptTask_0v81r5h_di" bpmnElement="Task_0uiekmn">
-        <dc:Bounds x="276" y="260" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ServiceTask_14tnuxf_di" bpmnElement="Task_0raqlqc">
-        <dc:Bounds x="447" y="260" width="100" height="80" />
-      </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="IntermediateThrowEvent_11saqvj_di" bpmnElement="IntermediateThrowEvent_0bq4fxs">
       <bpmndi:BPMNShape id="IntermediateThrowEvent_11saqvj_di" bpmnElement="IntermediateThrowEvent_0bq4fxs">
-        <dc:Bounds x="1315" y="-207" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="1290" y="-167" width="88" height="36" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_1mlbhmt_di" bpmnElement="IntermediateThrowEvent_1mlbhmt">
-        <dc:Bounds x="1315" y="-57" width="36" height="36" />
+        <dc:Bounds x="1306" y="-22" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1288" y="-16" width="90" height="12" />
+          <dc:Bounds x="1281" y="18" width="88" height="36" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1o01d7d_di" bpmnElement="ScriptTask_1o01d7d">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1o01d7d_di" bpmnElement="ScriptTask_1o01d7d">
-        <dc:Bounds x="713" y="-79" width="100" height="80" />
+        <dc:Bounds x="704" y="106" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="CallActivity_0biblpc_di" bpmnElement="CallActivity_0biblpc">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="CallActivity_0biblpc_di" bpmnElement="CallActivity_0biblpc">
-        <dc:Bounds x="478" y="-79" width="100" height="80" />
+        <dc:Bounds x="469" y="106" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1cllqk3_di" bpmnElement="ScriptTask_1cllqk3">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1cllqk3_di" bpmnElement="ScriptTask_1cllqk3">
-        <dc:Bounds x="196" y="-79" width="100" height="80" />
+        <dc:Bounds x="187" y="106" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="IntermediateCatchEvent_0tv85pg_di" bpmnElement="IntermediateCatchEvent_0tv85pg">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="IntermediateCatchEvent_0tv85pg_di" bpmnElement="IntermediateCatchEvent_0tv85pg">
-        <dc:Bounds x="26" y="-57" width="36" height="36" />
+        <dc:Bounds x="17" y="128" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="2" y="-21" width="88" height="24" />
+          <dc:Bounds x="-7" y="164" width="88" height="24" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0xjwb45_di" bpmnElement="SequenceFlow_0xjwb45">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0xjwb45_di" bpmnElement="SequenceFlow_0xjwb45">
-        <di:waypoint xsi:type="dc:Point" x="578" y="-39" />
-        <di:waypoint xsi:type="dc:Point" x="713" y="-39" />
+        <di:waypoint xsi:type="dc:Point" x="569" y="146" />
+        <di:waypoint xsi:type="dc:Point" x="704" y="146" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="645.5" y="-60" width="0" height="12" />
+          <dc:Bounds x="592" y="125" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0qxzgvq_di" bpmnElement="SequenceFlow_0qxzgvq">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0qxzgvq_di" bpmnElement="SequenceFlow_0qxzgvq">
-        <di:waypoint xsi:type="dc:Point" x="296" y="-39" />
-        <di:waypoint xsi:type="dc:Point" x="478" y="-39" />
+        <di:waypoint xsi:type="dc:Point" x="287" y="146" />
+        <di:waypoint xsi:type="dc:Point" x="469" y="146" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="387" y="-60" width="0" height="12" />
+          <dc:Bounds x="333" y="125" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1qiiycn_di" bpmnElement="SequenceFlow_1qiiycn">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1qiiycn_di" bpmnElement="SequenceFlow_1qiiycn">
-        <di:waypoint xsi:type="dc:Point" x="54" y="-189" />
-        <di:waypoint xsi:type="dc:Point" x="126" y="-189" />
+        <di:waypoint xsi:type="dc:Point" x="45" y="-4" />
+        <di:waypoint xsi:type="dc:Point" x="117" y="-4" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="90" y="-210" width="0" height="12" />
+          <dc:Bounds x="36" y="-25" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_166w91p_di" bpmnElement="SequenceFlow_166w91p">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_166w91p_di" bpmnElement="SequenceFlow_166w91p">
-        <di:waypoint xsi:type="dc:Point" x="62" y="-39" />
-        <di:waypoint xsi:type="dc:Point" x="196" y="-39" />
+        <di:waypoint xsi:type="dc:Point" x="53" y="146" />
+        <di:waypoint xsi:type="dc:Point" x="187" y="146" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="129" y="-60" width="0" height="12" />
+          <dc:Bounds x="75" y="125" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="IntermediateThrowEvent_16okck2_di" bpmnElement="IntermediateThrowEvent_16okck2">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="IntermediateThrowEvent_16okck2_di" bpmnElement="IntermediateThrowEvent_16okck2">
-        <dc:Bounds x="1315" y="76" width="36" height="36" />
+        <dc:Bounds x="1306" y="128" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1299" y="117" width="71" height="24" />
+          <dc:Bounds x="1285" y="169" width="82" height="36" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1tkgqu3_di" bpmnElement="SequenceFlow_1tkgqu3">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1tkgqu3_di" bpmnElement="SequenceFlow_1tkgqu3">
-        <di:waypoint xsi:type="dc:Point" x="813" y="94" />
-        <di:waypoint xsi:type="dc:Point" x="1315" y="94" />
+        <di:waypoint xsi:type="dc:Point" x="1112" y="146" />
+        <di:waypoint xsi:type="dc:Point" x="1222" y="146" />
+        <di:waypoint xsi:type="dc:Point" x="1222" y="146" />
+        <di:waypoint xsi:type="dc:Point" x="1306" y="146" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1019" y="73" width="90" height="12" />
+          <dc:Bounds x="1192" y="140" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0w9t6tc_di" bpmnElement="SequenceFlow_0w9t6tc">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0w9t6tc_di" bpmnElement="SequenceFlow_0w9t6tc">
-        <di:waypoint xsi:type="dc:Point" x="226" y="-189" />
-        <di:waypoint xsi:type="dc:Point" x="771" y="-189" />
-        <di:waypoint xsi:type="dc:Point" x="771" y="-189" />
-        <di:waypoint xsi:type="dc:Point" x="1315" y="-189" />
+        <di:waypoint xsi:type="dc:Point" x="217" y="-4" />
+        <di:waypoint xsi:type="dc:Point" x="762" y="-4" />
+        <di:waypoint xsi:type="dc:Point" x="762" y="-4" />
+        <di:waypoint xsi:type="dc:Point" x="1306" y="-4" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="786" y="-195" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateCatchEvent_0jrb3xu_di" bpmnElement="IntermediateCatchEvent_0jrb3xu">
-        <dc:Bounds x="18" y="76" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="8" y="112" width="60" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1i7t9hq_di" bpmnElement="SequenceFlow_1i7t9hq">
-        <di:waypoint xsi:type="dc:Point" x="54" y="94" />
-        <di:waypoint xsi:type="dc:Point" x="266" y="94" />
-        <di:waypoint xsi:type="dc:Point" x="266" y="94" />
-        <di:waypoint xsi:type="dc:Point" x="478" y="94" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="236" y="88" width="90" height="12" />
+          <dc:Bounds x="732" y="-10" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="IntermediateCatchEvent_05dus9b_di" bpmnElement="IntermediateCatchEvent_05dus9b">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="IntermediateCatchEvent_05dus9b_di" bpmnElement="IntermediateCatchEvent_05dus9b">
@@ -413,83 +347,98 @@ dcsi.doTPResourcesAllocation(execution)]]></bpmn2:script>
           <dc:Bounds x="-3" y="318" width="82" height="24" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
           <dc:Bounds x="-3" y="318" width="82" height="24" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1hbesp9_di" bpmnElement="SequenceFlow_1hbesp9">
-        <di:waypoint xsi:type="dc:Point" x="54" y="300" />
-        <di:waypoint xsi:type="dc:Point" x="102" y="300" />
+      <bpmndi:BPMNEdge id="SequenceFlow_012h7yx_di" bpmnElement="SequenceFlow_012h7yx">
+        <di:waypoint xsi:type="dc:Point" x="804" y="146" />
+        <di:waypoint xsi:type="dc:Point" x="917" y="146" />
+        <di:waypoint xsi:type="dc:Point" x="917" y="146" />
+        <di:waypoint xsi:type="dc:Point" x="1012" y="146" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="33" y="279" width="90" height="12" />
+          <dc:Bounds x="887" y="139" width="90" height="14" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="CallActivity_1ojtwas_di" bpmnElement="CallActivity_1ojtwas">
-        <dc:Bounds x="971" y="260" width="100" height="80" />
+      <bpmndi:BPMNShape id="ScriptTask_1rzf8a1_di" bpmnElement="ScriptTask_1rzf8a1">
+        <dc:Bounds x="262" y="260" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_1asgesv_di" bpmnElement="ServiceTask_1asgesv">
+        <dc:Bounds x="433" y="260" width="100" height="80" />
       </bpmndi:BPMNShape>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ScriptTask_04b21gb_di" bpmnElement="ScriptTask_04b21gb">
-        <dc:Bounds x="799" y="260" width="100" height="80" />
+      <bpmndi:BPMNShape id="CallActivity_1gae03e_di" bpmnElement="CallActivity_1gae03e">
+        <dc:Bounds x="957" y="260" width="100" height="80" />
       </bpmndi:BPMNShape>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ScriptTask_1y7jr4t_di" bpmnElement="ScriptTask_1y7jr4t">
-        <dc:Bounds x="1145" y="260" width="100" height="80" />
+      <bpmndi:BPMNShape id="ScriptTask_0ns08tn_di" bpmnElement="ScriptTask_0ns08tn">
+        <dc:Bounds x="785" y="260" width="100" height="80" />
       </bpmndi:BPMNShape>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0bf6bzp_di" bpmnElement="SequenceFlow_0bf6bzp">
-        <di:waypoint xsi:type="dc:Point" x="899" y="300" />
-        <di:waypoint xsi:type="dc:Point" x="971" y="300" />
+      <bpmndi:BPMNShape id="ScriptTask_19t13rd_di" bpmnElement="ScriptTask_19t13rd">
+        <dc:Bounds x="1131" y="260" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="EndEvent_1x4kvfh_di" bpmnElement="EndEvent_1x4kvfh">
+        <dc:Bounds x="1301" y="282" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="890" y="279" width="90" height="12" />
+          <dc:Bounds x="1274" y="322" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ScriptTask_0jxdler_di" bpmnElement="ScriptTask_0jxdler">
+        <dc:Bounds x="88" y="260" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ScriptTask_0ts3c3b_di" bpmnElement="ScriptTask_0ts3c3b">
+        <dc:Bounds x="599" y="260" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1y9rkfr_di" bpmnElement="SequenceFlow_1y9rkfr">
+        <di:waypoint xsi:type="dc:Point" x="188" y="300" />
+        <di:waypoint xsi:type="dc:Point" x="262" y="300" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="180" y="279" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0d0c20n_di" bpmnElement="SequenceFlow_0d0c20n">
-        <di:waypoint xsi:type="dc:Point" x="1071" y="300" />
-        <di:waypoint xsi:type="dc:Point" x="1145" y="300" />
+      <bpmndi:BPMNEdge id="SequenceFlow_0n7nbx3_di" bpmnElement="SequenceFlow_0n7nbx3">
+        <di:waypoint xsi:type="dc:Point" x="362" y="300" />
+        <di:waypoint xsi:type="dc:Point" x="433" y="300" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1063" y="279" width="90" height="12" />
+          <dc:Bounds x="353.5" y="279" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="EndEvent_0hzmoug_di" bpmnElement="EndEvent_0hzmoug">
-        <dc:Bounds x="1315" y="282.4076655052265" width="36" height="36" />
+      <bpmndi:BPMNEdge id="SequenceFlow_0ckto7v_di" bpmnElement="SequenceFlow_0ckto7v">
+        <di:waypoint xsi:type="dc:Point" x="533" y="300" />
+        <di:waypoint xsi:type="dc:Point" x="599" y="300" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1333" y="322.4076655052265" width="0" height="12" />
+          <dc:Bounds x="521" y="279" width="0" height="12" />
         </bpmndi:BPMNLabel>
         </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0a6vgsu_di" bpmnElement="SequenceFlow_0a6vgsu">
-        <di:waypoint xsi:type="dc:Point" x="1245" y="300" />
-        <di:waypoint xsi:type="dc:Point" x="1315" y="300" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_0b1dsaj_di" bpmnElement="SequenceFlow_0b1dsaj">
+        <di:waypoint xsi:type="dc:Point" x="885" y="300" />
+        <di:waypoint xsi:type="dc:Point" x="957" y="300" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1235" y="279" width="90" height="12" />
+          <dc:Bounds x="876" y="279" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_012h7yx_di" bpmnElement="SequenceFlow_012h7yx">
-        <di:waypoint xsi:type="dc:Point" x="813" y="-39" />
-        <di:waypoint xsi:type="dc:Point" x="1315" y="-39" />
+      <bpmndi:BPMNEdge id="SequenceFlow_0sphcy5_di" bpmnElement="SequenceFlow_0sphcy5">
+        <di:waypoint xsi:type="dc:Point" x="1057" y="300" />
+        <di:waypoint xsi:type="dc:Point" x="1131" y="300" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1064" y="-61" width="0" height="14" />
+          <dc:Bounds x="1049" y="279" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="ScriptTask_0dpt36a_di" bpmnElement="ScriptTask_0dpt36a">
-        <dc:Bounds x="102" y="260" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ScriptTask_1a5mdd6_di" bpmnElement="ScriptTask_1a5mdd6">
-        <dc:Bounds x="613" y="260" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0p6ba92_di" bpmnElement="SequenceFlow_0p6ba92">
-        <di:waypoint xsi:type="dc:Point" x="713" y="300" />
-        <di:waypoint xsi:type="dc:Point" x="799" y="300" />
+      <bpmndi:BPMNEdge id="SequenceFlow_022onug_di" bpmnElement="SequenceFlow_022onug">
+        <di:waypoint xsi:type="dc:Point" x="699" y="300" />
+        <di:waypoint xsi:type="dc:Point" x="785" y="300" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="756" y="279" width="0" height="12" />
+          <dc:Bounds x="697" y="279" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1s5aas9_di" bpmnElement="SequenceFlow_1s5aas9">
-        <di:waypoint xsi:type="dc:Point" x="547" y="300" />
-        <di:waypoint xsi:type="dc:Point" x="613" y="300" />
+      <bpmndi:BPMNEdge id="SequenceFlow_18gnns6_di" bpmnElement="SequenceFlow_18gnns6">
+        <di:waypoint xsi:type="dc:Point" x="1231" y="300" />
+        <di:waypoint xsi:type="dc:Point" x="1301" y="300" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="580" y="279" width="0" height="12" />
+          <dc:Bounds x="1221" y="279" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1e5j351_di" bpmnElement="SequenceFlow_1e5j351">
-        <di:waypoint xsi:type="dc:Point" x="202" y="300" />
-        <di:waypoint xsi:type="dc:Point" x="276" y="300" />
+      <bpmndi:BPMNEdge id="SequenceFlow_0yuzaen_di" bpmnElement="SequenceFlow_0yuzaen">
+        <di:waypoint xsi:type="dc:Point" x="54" y="300" />
+        <di:waypoint xsi:type="dc:Point" x="88" y="300" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="239" y="279" width="0" height="12" />
+          <dc:Bounds x="71" y="279" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
+</bpmn2:definitions>
\ No newline at end of file
index 77c62e5..c699f91 100644 (file)
@@ -14,21 +14,6 @@ dcsi.preProcessRequest(execution)
 ]]></bpmn2:script>
     </bpmn2:scriptTask>
     <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="preProcessRequest_ScriptTask" targetRef="IntermediateThrowEvent_0aggdcl_GoToStartService" />
 ]]></bpmn2:script>
     </bpmn2:scriptTask>
     <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="preProcessRequest_ScriptTask" targetRef="IntermediateThrowEvent_0aggdcl_GoToStartService" />
-    <bpmn2:callActivity id="CustomE2EPutService" name="Call Custom E2E Put Service" calledElement="CustomE2EPutService">
-      <bpmn2:extensionElements>
-        <camunda:in source="globalSubscriberId" target="GENPS_globalSubscriberId" />
-        <camunda:in source="serviceInstanceId" target="GENPS_serviceInstanceId" />
-        <camunda:in source="serviceType" target="GENPS_serviceType" />
-        <camunda:in sourceExpression="service-instance" target="GENPS_type" />
-        <camunda:in source="serviceInstanceData" target="GENPS_payload" />
-        <camunda:out source="GENPS_SuccessIndicator" target="GENPS_SuccessIndicator" />
-        <camunda:in source="msoRequestId" target="GENPS_requesId" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-      </bpmn2:extensionElements>
-      <bpmn2:incoming>SequenceFlow_0zmz5am</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_129ih1g</bpmn2:outgoing>
-    </bpmn2:callActivity>
-    <bpmn2:sequenceFlow id="SequenceFlow_129ih1g" sourceRef="CustomE2EPutService" targetRef="ScriptTask_0q37vn9_PostProcessAAIPUT" />
     <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:subProcess id="SubProcess_06d8lk8" name="Sub-process for Application Errors" triggeredByEvent="true">
       <bpmn2:startEvent id="StartEvent_0yljq9y">
         <bpmn2:outgoing>SequenceFlow_0tgrn11</bpmn2:outgoing>
@@ -70,7 +55,7 @@ dcsi.postProcessRollback(execution)
       <bpmn2:sequenceFlow id="SequenceFlow_1xzgv5k" sourceRef="ScriptTask_1p0vyip" targetRef="EndEvent_117lkk3" />
     </bpmn2:subProcess>
     <bpmn2:scriptTask id="ScriptTask_0q37vn9_PostProcessAAIPUT" name="Post Process AAI PUT" scriptFormat="groovy">
       <bpmn2:sequenceFlow id="SequenceFlow_1xzgv5k" sourceRef="ScriptTask_1p0vyip" targetRef="EndEvent_117lkk3" />
     </bpmn2:subProcess>
     <bpmn2:scriptTask id="ScriptTask_0q37vn9_PostProcessAAIPUT" name="Post Process AAI PUT" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_129ih1g</bpmn2:incoming>
+      <bpmn2:incoming>SequenceFlow_0zmz5am</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_03fabby</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def ddsi = new DoCreateE2EServiceInstanceV2()
       <bpmn2:outgoing>SequenceFlow_03fabby</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def ddsi = new DoCreateE2EServiceInstanceV2()
@@ -212,7 +197,7 @@ csi.postOtherControllerType(execution)]]></bpmn2:script>
       <bpmn2:outgoing>SequenceFlow_0zmz5am</bpmn2:outgoing>
       <bpmn2:linkEventDefinition name="StartService" />
     </bpmn2:intermediateCatchEvent>
       <bpmn2:outgoing>SequenceFlow_0zmz5am</bpmn2:outgoing>
       <bpmn2:linkEventDefinition name="StartService" />
     </bpmn2:intermediateCatchEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_0zmz5am" sourceRef="StartEvent_0l5bz4h_StartService" targetRef="CustomE2EPutService" />
+    <bpmn2:sequenceFlow id="SequenceFlow_0zmz5am" sourceRef="StartEvent_0l5bz4h_StartService" targetRef="ScriptTask_0q37vn9_PostProcessAAIPUT" />
     <bpmn2:sequenceFlow id="SequenceFlow_1rhn48b" sourceRef="StartEvent_StartResource" targetRef="ExclusiveGateway_1pwgsa8" />
     <bpmn2:intermediateCatchEvent id="StartEvent_StartResource" name="StartResource">
       <bpmn2:outgoing>SequenceFlow_1rhn48b</bpmn2:outgoing>
     <bpmn2:sequenceFlow id="SequenceFlow_1rhn48b" sourceRef="StartEvent_StartResource" targetRef="ExclusiveGateway_1pwgsa8" />
     <bpmn2:intermediateCatchEvent id="StartEvent_StartResource" name="StartResource">
       <bpmn2:outgoing>SequenceFlow_1rhn48b</bpmn2:outgoing>
@@ -471,16 +456,6 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script>
           <dc:Bounds x="718" y="82" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
           <dc:Bounds x="718" y="82" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="CallActivity_0khp0qc_di" bpmnElement="CustomE2EPutService">
-        <dc:Bounds x="564" y="244" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_129ih1g_di" bpmnElement="SequenceFlow_129ih1g">
-        <di:waypoint xsi:type="dc:Point" x="664" y="284" />
-        <di:waypoint xsi:type="dc:Point" x="917" y="284" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="745.5" y="269" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="SubProcess_06d8lk8_di" bpmnElement="SubProcess_06d8lk8" isExpanded="true">
         <dc:Bounds x="-11" y="1751" width="783" height="195" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="SubProcess_06d8lk8_di" bpmnElement="SubProcess_06d8lk8" isExpanded="true">
         <dc:Bounds x="-11" y="1751" width="783" height="195" />
       </bpmndi:BPMNShape>
@@ -731,9 +706,9 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0zmz5am_di" bpmnElement="SequenceFlow_0zmz5am">
         <di:waypoint xsi:type="dc:Point" x="22" y="284" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0zmz5am_di" bpmnElement="SequenceFlow_0zmz5am">
         <di:waypoint xsi:type="dc:Point" x="22" y="284" />
-        <di:waypoint xsi:type="dc:Point" x="564" y="284" />
+        <di:waypoint xsi:type="dc:Point" x="917" y="284" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="248" y="263" width="90" height="12" />
+          <dc:Bounds x="424.5" y="263" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1rhn48b_di" bpmnElement="SequenceFlow_1rhn48b">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1rhn48b_di" bpmnElement="SequenceFlow_1rhn48b">
index 2c6f5ee..e3f1d77 100644 (file)
@@ -1,6 +1,6 @@
 <?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.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
 <?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.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="DoCreateServiceInstance" name="DoCreateServiceInstance" isExecutable="true">
+  <bpmn2:process id="DoCreateServiceInstance" name="DoCreateServiceInstance&#10;" isExecutable="true">
     <bpmn2:startEvent id="createSI_startEvent" name="Start Flow">
       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
     </bpmn2:startEvent>
     <bpmn2:startEvent id="createSI_startEvent" name="Start Flow">
       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
     </bpmn2:startEvent>
@@ -12,7 +12,7 @@
 def dcsi = new DoCreateServiceInstance()
 dcsi.getAAICustomerById(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
 def dcsi = new DoCreateServiceInstance()
 dcsi.getAAICustomerById(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="getAAICustomerById_scriptTask" targetRef="callGenericPutService" />
+    <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="getAAICustomerById_scriptTask" targetRef="ScriptTask_0q37vn9" />
     <bpmn2:scriptTask id="preProcessRequest_ScriptTask" name="PreProcess Incoming Request" scriptFormat="groovy">
       <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
     <bpmn2:scriptTask id="preProcessRequest_ScriptTask" name="PreProcess Incoming Request" scriptFormat="groovy">
       <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
@@ -54,20 +54,6 @@ dcsi.postProcessSDNCAssign(execution)]]></bpmn2:script>
     <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="PreProcessSDNCAssignRequest" targetRef="CallSDNCAdapterServiceTopologyAssign" />
     <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="CallSDNCAdapterServiceTopologyAssign" targetRef="PostProcessSDNCAssignRequest" />
     <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="PostProcessSDNCAssignRequest" targetRef="EndEvent_3" />
     <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="PreProcessSDNCAssignRequest" targetRef="CallSDNCAdapterServiceTopologyAssign" />
     <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="CallSDNCAdapterServiceTopologyAssign" targetRef="PostProcessSDNCAssignRequest" />
     <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="PostProcessSDNCAssignRequest" targetRef="EndEvent_3" />
-    <bpmn2:callActivity id="callGenericPutService" name="Call Generic Put Service" calledElement="GenericPutService">
-      <bpmn2:extensionElements>
-        <camunda:in source="globalSubscriberId" target="GENPS_globalSubscriberId" />
-        <camunda:in source="serviceInstanceId" target="GENPS_serviceInstanceId" />
-        <camunda:in source="subscriptionServiceType" target="GENPS_serviceType" />
-        <camunda:in sourceExpression="service-instance" target="GENPS_type" />
-        <camunda:in source="serviceInstanceData" target="GENPS_payload" />
-        <camunda:out source="GENPS_SuccessIndicator" target="GENPS_SuccessIndicator" />
-        <camunda:in source="msoRequestId" target="GENPS_requesId" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-      </bpmn2:extensionElements>
-      <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1jhzmzn</bpmn2:outgoing>
-    </bpmn2:callActivity>
     <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:subProcess id="SubProcess_06d8lk8" name="Sub-process for Application Errors" triggeredByEvent="true">
       <bpmn2:startEvent id="StartEvent_0yljq9y">
         <bpmn2:outgoing>SequenceFlow_0tgrn11</bpmn2:outgoing>
@@ -120,12 +106,12 @@ dcsi.postProcessRollback(execution)
     <bpmn2:sequenceFlow id="SequenceFlow_00v4npo" name="yes" sourceRef="ExclusiveGateway_1nk6aol" targetRef="EndEvent_10659gr">
       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{!execution.getVariable("sendToSDNC")}]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="SequenceFlow_00v4npo" name="yes" sourceRef="ExclusiveGateway_1nk6aol" targetRef="EndEvent_10659gr">
       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{!execution.getVariable("sendToSDNC")}]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
-    <bpmn2:scriptTask id="ScriptTask_0q37vn9" name="Post Process AAI PUT" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_1jhzmzn</bpmn2:incoming>
+    <bpmn2:scriptTask id="ScriptTask_0q37vn9" name="&#10;AAI&#10;Create&#10;(svc instance)&#10;" scriptFormat="groovy">
+      <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_16sdyz9</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def ddsi = new DoCreateServiceInstance()
       <bpmn2:outgoing>SequenceFlow_16sdyz9</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def ddsi = new DoCreateServiceInstance()
-ddsi.postProcessAAIPUT(execution)]]></bpmn2:script>
+ddsi.putServiceInstance(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:scriptTask>
     <bpmn2:sequenceFlow id="SequenceFlow_0k0wn03" sourceRef="Task_0wj9ajs" targetRef="Task_1g8wthf" />
     <bpmn2:scriptTask id="Task_0wj9ajs" name="Create Project" scriptFormat="groovy">
@@ -142,7 +128,6 @@ dcsi.createProject(execution)]]></bpmn2:script>
 def dcsi = new DoCreateServiceInstance()
 dcsi.createOwningEntity(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
 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: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">
@@ -189,26 +174,25 @@ dcsi.processJavaException(execution)]]></bpmn2:script>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_62">
         <di:waypoint xsi:type="dc:Point" x="493" y="97" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_62">
         <di:waypoint xsi:type="dc:Point" x="493" y="97" />
-        <di:waypoint xsi:type="dc:Point" x="1022" y="97" />
-        <di:waypoint xsi:type="dc:Point" x="1022" y="206" />
+        <di:waypoint xsi:type="dc:Point" x="572" y="97" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="712.5" y="82" width="90" height="0" />
+          <dc:Bounds x="487.5" y="82" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_3">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_3">
-        <dc:Bounds x="1004" y="1216" width="36" height="36" />
+        <dc:Bounds x="1057" y="660" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="977" y="1257" width="90" height="0" />
+          <dc:Bounds x="1030" y="701" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_334" bpmnElement="PreProcessSDNCAssignRequest">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_334" bpmnElement="PreProcessSDNCAssignRequest">
-        <dc:Bounds x="972" y="810" width="100" height="80" />
+        <dc:Bounds x="1025" y="202" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_335" bpmnElement="PostProcessSDNCAssignRequest">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_335" bpmnElement="PostProcessSDNCAssignRequest">
-        <dc:Bounds x="972" y="1054" width="100" height="80" />
+        <dc:Bounds x="1025" y="493" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_CallActivity_74" bpmnElement="CallSDNCAdapterServiceTopologyAssign">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_CallActivity_74" bpmnElement="CallSDNCAdapterServiceTopologyAssign">
-        <dc:Bounds x="972" y="930" width="100" height="80" />
+        <dc:Bounds x="1025" y="339" 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" />
       </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" />
@@ -218,29 +202,30 @@ dcsi.processJavaException(execution)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_334" targetElement="_BPMNShape_CallActivity_74">
         </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="890" />
-        <di:waypoint xsi:type="dc:Point" x="1020" y="930" />
+        <di:waypoint xsi:type="dc:Point" x="1073" y="282" />
+        <di:waypoint xsi:type="dc:Point" x="1073" y="339" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="990" y="910" width="90" height="0" />
+          <dc:Bounds x="1043" y="310.5" 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">
         </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="1010" />
-        <di:waypoint xsi:type="dc:Point" x="1022" y="1054" />
+        <di:waypoint xsi:type="dc:Point" x="1075" y="419" />
+        <di:waypoint xsi:type="dc:Point" x="1075" y="459" />
+        <di:waypoint xsi:type="dc:Point" x="1075" y="459" />
+        <di:waypoint xsi:type="dc:Point" x="1075" y="493" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="992" y="1032" width="90" height="0" />
+          <dc:Bounds x="1045" y="459" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_335">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_335">
-        <di:waypoint xsi:type="dc:Point" x="1023" y="1134" />
-        <di:waypoint xsi:type="dc:Point" x="1022" y="1216" />
+        <di:waypoint xsi:type="dc:Point" x="1076" y="573" />
+        <di:waypoint xsi:type="dc:Point" x="1076" y="617" />
+        <di:waypoint xsi:type="dc:Point" x="1075" y="617" />
+        <di:waypoint xsi:type="dc:Point" x="1075" y="660" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="977.5" y="1160" width="90" height="0" />
+          <dc:Bounds x="1030.5" y="602" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="CallActivity_0khp0qc_di" bpmnElement="callGenericPutService">
-        <dc:Bounds x="972" y="206" width="100" height="80" />
-      </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="SubProcess_06d8lk8_di" bpmnElement="SubProcess_06d8lk8" isExpanded="true">
         <dc:Bounds x="99" y="531" width="783" height="195" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="SubProcess_06d8lk8_di" bpmnElement="SubProcess_06d8lk8" isExpanded="true">
         <dc:Bounds x="99" y="531" width="783" height="195" />
       </bpmndi:BPMNShape>
@@ -274,31 +259,29 @@ dcsi.processJavaException(execution)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ExclusiveGateway_1nk6aol_di" bpmnElement="ExclusiveGateway_1nk6aol" isMarkerVisible="true">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ExclusiveGateway_1nk6aol_di" bpmnElement="ExclusiveGateway_1nk6aol" isMarkerVisible="true">
-        <dc:Bounds x="997" y="717" width="50" height="50" />
+        <dc:Bounds x="1050" y="72" width="50" height="50" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="898" y="729" width="86" height="36" />
+          <dc:Bounds x="1032" y="32" width="86" height="36" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_156ih25_di" bpmnElement="SequenceFlow_156ih25">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_156ih25_di" bpmnElement="SequenceFlow_156ih25">
-        <di:waypoint xsi:type="dc:Point" x="1022" y="767" />
-        <di:waypoint xsi:type="dc:Point" x="1022" y="810" />
+        <di:waypoint xsi:type="dc:Point" x="1075" y="122" />
+        <di:waypoint xsi:type="dc:Point" x="1075" y="202" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1039" y="770" width="12" height="12" />
+          <dc:Bounds x="1084" y="134.8139534883721" width="12" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="EndEvent_10659gr_di" bpmnElement="EndEvent_10659gr">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="EndEvent_10659gr_di" bpmnElement="EndEvent_10659gr">
-        <dc:Bounds x="1105" y="724" width="36" height="36" />
+        <dc:Bounds x="1168" y="79" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1078" y="765" width="90" height="0" />
+          <dc:Bounds x="1141" y="120" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_00v4npo_di" bpmnElement="SequenceFlow_00v4npo">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_00v4npo_di" bpmnElement="SequenceFlow_00v4npo">
-        <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" />
+        <di:waypoint xsi:type="dc:Point" x="1100" y="97" />
+        <di:waypoint xsi:type="dc:Point" x="1168" y="97" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1050.5" y="718" width="18" height="12" />
+          <dc:Bounds x="1108.5" y="99.57142857142858" width="19" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0ocetux_di" bpmnElement="ScriptTask_0ocetux">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0ocetux_di" bpmnElement="ScriptTask_0ocetux">
@@ -324,40 +307,33 @@ dcsi.processJavaException(execution)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0q37vn9_di" bpmnElement="ScriptTask_0q37vn9">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0q37vn9_di" bpmnElement="ScriptTask_0q37vn9">
-        <dc:Bounds x="972" y="336" width="100" height="80" />
+        <dc:Bounds x="572" y="57" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0k0wn03_di" bpmnElement="SequenceFlow_0k0wn03">
       </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" />
+        <di:waypoint xsi:type="dc:Point" x="833" y="97" />
+        <di:waypoint xsi:type="dc:Point" x="886" y="97" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="992" y="559" width="90" height="12" />
+          <dc:Bounds x="814.5" y="76" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0v8y3ex_di" bpmnElement="Task_0wj9ajs">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0v8y3ex_di" bpmnElement="Task_0wj9ajs">
-        <dc:Bounds x="972" y="461" width="100" height="80" />
+        <dc:Bounds x="733" y="57" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0lndrbk_di" bpmnElement="Task_1g8wthf">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0lndrbk_di" bpmnElement="Task_1g8wthf">
-        <dc:Bounds x="972" y="589" width="100" height="80" />
+        <dc:Bounds x="886" y="57" width="100" height="80" />
       </bpmndi:BPMNShape>
       </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">
       <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" />
+        <di:waypoint xsi:type="dc:Point" x="986" y="97" />
+        <di:waypoint xsi:type="dc:Point" x="1050" y="97" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1037" y="687" width="0" height="12" />
+          <dc:Bounds x="973" y="76" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_16sdyz9_di" bpmnElement="SequenceFlow_16sdyz9">
         </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" />
+        <di:waypoint xsi:type="dc:Point" x="672" y="97" />
+        <di:waypoint xsi:type="dc:Point" x="733" y="97" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1037" y="432.5" width="0" height="12" />
+          <dc:Bounds x="657.5" y="76" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="SubProcess_1awd8cm_di" bpmnElement="SubProcess_1awd8cm" isExpanded="true">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="SubProcess_1awd8cm_di" bpmnElement="SubProcess_1awd8cm" isExpanded="true">
index 820d117..c16061e 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?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="_pNTO8MRhEeWv36YLr7PC3Q" 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="_pNTO8MRhEeWv36YLr7PC3Q" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
   <bpmn2:process id="DoCreateVfModule" name="DoCreateVfModule" isExecutable="true">
     <bpmn2:startEvent id="StartEvent_1" name="Start">
       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
   <bpmn2:process id="DoCreateVfModule" name="DoCreateVfModule" isExecutable="true">
     <bpmn2:startEvent id="StartEvent_1" name="Start">
       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
@@ -400,13 +400,13 @@ doCreateVfModule.prepUpdateAAIGenericVnf(execution)]]></bpmn2:script>
       <bpmn2:outgoing>SequenceFlow_112los9</bpmn2:outgoing>
     </bpmn2:callActivity>
     <bpmn2:sequenceFlow id="SequenceFlow_0zcfn2x" name="no" sourceRef="ExclusiveGateway_2" targetRef="IntermediateThrowEvent_3" />
       <bpmn2:outgoing>SequenceFlow_112los9</bpmn2:outgoing>
     </bpmn2:callActivity>
     <bpmn2:sequenceFlow id="SequenceFlow_0zcfn2x" name="no" sourceRef="ExclusiveGateway_2" targetRef="IntermediateThrowEvent_3" />
-    <bpmn2:sequenceFlow id="SequenceFlow_0m382su" name="yes" sourceRef="ExclusiveGateway_2" targetRef="QueryVNF">
+    <bpmn2:sequenceFlow id="SequenceFlow_0m382su" name="yes" sourceRef="ExclusiveGateway_2" targetRef="PreProcessSDNCVnfGetRequest">
       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFM_sdncVersion" ) == '1707'}]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="SequenceFlow_0g270u0" sourceRef="PreProcessSDNCVnfGetRequest" targetRef="CallSDNCAdapterVNFTopologyGET" />
     <bpmn2:sequenceFlow id="SequenceFlow_1yrlvgb" sourceRef="CallSDNCAdapterVNFTopologyGET" targetRef="PostProcessSDNCVnfGetRequest" />
     <bpmn2:scriptTask id="PreProcessSDNCVnfGetRequest" name="PreProcess SDNC VNF Topology GET Request" scriptFormat="groovy">
       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFM_sdncVersion" ) == '1707'}]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="SequenceFlow_0g270u0" sourceRef="PreProcessSDNCVnfGetRequest" targetRef="CallSDNCAdapterVNFTopologyGET" />
     <bpmn2:sequenceFlow id="SequenceFlow_1yrlvgb" sourceRef="CallSDNCAdapterVNFTopologyGET" targetRef="PostProcessSDNCVnfGetRequest" />
     <bpmn2:scriptTask id="PreProcessSDNCVnfGetRequest" name="PreProcess SDNC VNF Topology GET Request" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_0d00zqi</bpmn2:incoming>
+      <bpmn2:incoming>SequenceFlow_0m382su</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_0g270u0</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def doCreateVfModule = new DoCreateVfModule()
       <bpmn2:outgoing>SequenceFlow_0g270u0</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def doCreateVfModule = new DoCreateVfModule()
@@ -435,19 +435,7 @@ String response = execution.getVariable("DCVFM_getVnfSDNCAdapterResponse")
 def doCreateVfModule = new DoCreateVfModule()
 doCreateVfModule.validateSDNCResponse(execution, response, "get")]]></bpmn2:script>
     </bpmn2:scriptTask>
 def doCreateVfModule = new DoCreateVfModule()
 doCreateVfModule.validateSDNCResponse(execution, response, "get")]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_0d00zqi" sourceRef="QueryVNF" targetRef="PreProcessSDNCVnfGetRequest" />
     <bpmn2:sequenceFlow id="SequenceFlow_170kw7h" sourceRef="PostProcessSDNCVnfGetRequest" targetRef="IntermediateThrowEvent_3" />
     <bpmn2:sequenceFlow id="SequenceFlow_170kw7h" sourceRef="PostProcessSDNCVnfGetRequest" targetRef="IntermediateThrowEvent_3" />
-    <bpmn2:callActivity id="QueryVNF" name="Query VNF" calledElement="GenericGetVnf">
-      <bpmn2:extensionElements>
-        <camunda:in source="DCVFM_vnfId" target="GENGV_vnfId" />
-        <camunda:in source="DCVFM_vnfTypeToQuery" target="GENGV_type" />
-        <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
-        <camunda:out source="GENGV_vnf" target="DCVFM_vnfQueryResponse" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-      </bpmn2:extensionElements>
-      <bpmn2:incoming>SequenceFlow_0m382su</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0d00zqi</bpmn2:outgoing>
-    </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_1y1ttqe</bpmn2:incoming>
     <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_1y1ttqe</bpmn2:incoming>
@@ -1248,9 +1236,9 @@ doCreateVfModule.preProcessUpdateAAIVfModuleRequestStatus(execution, 'Assigned')
       <bpmndi:BPMNEdge id="SequenceFlow_0m382su_di" bpmnElement="SequenceFlow_0m382su">
         <di:waypoint xsi:type="dc:Point" x="1433" y="418" />
         <di:waypoint xsi:type="dc:Point" x="1433" y="521" />
       <bpmndi:BPMNEdge id="SequenceFlow_0m382su_di" bpmnElement="SequenceFlow_0m382su">
         <di:waypoint xsi:type="dc:Point" x="1433" y="418" />
         <di:waypoint xsi:type="dc:Point" x="1433" y="521" />
-        <di:waypoint xsi:type="dc:Point" x="1513" y="521" />
+        <di:waypoint xsi:type="dc:Point" x="1666" y="521" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1439" y="459.5" width="18" height="12" />
+          <dc:Bounds x="1363.5900806639468" y="422.98801391242307" width="19" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0g270u0_di" bpmnElement="SequenceFlow_0g270u0">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0g270u0_di" bpmnElement="SequenceFlow_0g270u0">
@@ -1276,13 +1264,6 @@ doCreateVfModule.preProcessUpdateAAIVfModuleRequestStatus(execution, 'Assigned')
       <bpmndi:BPMNShape id="ScriptTask_09wgk9p_di" bpmnElement="PostProcessSDNCVnfGetRequest">
         <dc:Bounds x="1969" y="481" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_09wgk9p_di" bpmnElement="PostProcessSDNCVnfGetRequest">
         <dc:Bounds x="1969" y="481" width="100" height="80" />
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0d00zqi_di" bpmnElement="SequenceFlow_0d00zqi">
-        <di:waypoint xsi:type="dc:Point" x="1613" y="521" />
-        <di:waypoint xsi:type="dc:Point" x="1666" y="521" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="1640" y="506" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_170kw7h_di" bpmnElement="SequenceFlow_170kw7h">
         <di:waypoint xsi:type="dc:Point" x="2069" y="521" />
         <di:waypoint xsi:type="dc:Point" x="2131" y="521" />
       <bpmndi:BPMNEdge id="SequenceFlow_170kw7h_di" bpmnElement="SequenceFlow_170kw7h">
         <di:waypoint xsi:type="dc:Point" x="2069" y="521" />
         <di:waypoint xsi:type="dc:Point" x="2131" y="521" />
@@ -1292,9 +1273,6 @@ doCreateVfModule.preProcessUpdateAAIVfModuleRequestStatus(execution, 'Assigned')
           <dc:Bounds x="2146" y="447.5" width="0" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
           <dc:Bounds x="2146" y="447.5" width="0" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="CallActivity_0xev9kl_di" bpmnElement="QueryVNF">
-        <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="776" y="282" />
         <di:waypoint xsi:type="dc:Point" x="846" y="282" />
       <bpmndi:BPMNEdge id="SequenceFlow_1f53tby_di" bpmnElement="SequenceFlow_1f53tby">
         <di:waypoint xsi:type="dc:Point" x="776" y="282" />
         <di:waypoint xsi:type="dc:Point" x="846" y="282" />
index a093bea..5043635 100644 (file)
@@ -13,44 +13,8 @@ DoCreateVnf createVnf = new DoCreateVnf()
 createVnf.preProcessRequest(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
     <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="initialization" targetRef="callGetService" />
 createVnf.preProcessRequest(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
     <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="initialization" targetRef="callGetService" />
-    <bpmn2:exclusiveGateway id="vnfExist" name="Vnf Already Exist?" default="vnfExistYes">
-      <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
-      <bpmn2:outgoing>vnfExistYes</bpmn2:outgoing>
-      <bpmn2:outgoing>vnfExistNo</bpmn2:outgoing>
-    </bpmn2:exclusiveGateway>
-    <bpmn2:sequenceFlow id="vnfExistYes" name="Yes" sourceRef="vnfExist" targetRef="vnfExistWorkflowException" />
-    <bpmn2:sequenceFlow id="vnfExistNo" name="No" sourceRef="vnfExist" targetRef="prepareCreateGenericVnf">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENGV_FoundIndicator" ) == false && execution.getVariable("GENGV_SuccessIndicator" ) == true}]]></bpmn2:conditionExpression>
-    </bpmn2:sequenceFlow>
-    <bpmn2:callActivity id="callGetVnf" name="Get&#10;&#10;Generic Vnf" calledElement="GenericGetVnf">
-      <bpmn2:extensionElements>
-        <camunda:in source="DoCVNF_vnfName" target="GENGV_vnfName" />
-        <camunda:in source="DoCVNF_type" target="GENGV_type" />
-        <camunda:out source="GENGV_vnf" target="CRTVI_genericVnf" />
-        <camunda:out source="GENGV_FoundIndicator" target="GENGV_FoundIndicator" />
-        <camunda:out source="GENGV_SuccessIndicator" target="GENGV_SuccessIndicator" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-        <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
-      </bpmn2:extensionElements>
-      <bpmn2:incoming>VnfNameSpecified1</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
-    </bpmn2:callActivity>
-    <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="callGetVnf" targetRef="vnfExist" />
-    <bpmn2:scriptTask id="vnfExistWorkflowException" name="Create Workflow Exception" scriptFormat="groovy">
-      <bpmn2:incoming>vnfExistYes</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
-ExceptionUtil exceptionUtil = new ExceptionUtil()
-exceptionUtil.buildWorkflowException(execution, 5000, "Generic Vnf Already Exist.")]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="vnfExistWorkflowException" targetRef="EndEvent_2" />
-    <bpmn2:endEvent id="EndEvent_2">
-      <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
-      <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" errorRef="Error_2" />
-    </bpmn2:endEvent>
     <bpmn2:scriptTask id="prepareCreateGenericVnf" name="&#10;AAI&#10;Create&#10;(generic vnf)&#10;" scriptFormat="groovy">
     <bpmn2:scriptTask id="prepareCreateGenericVnf" name="&#10;AAI&#10;Create&#10;(generic vnf)&#10;" scriptFormat="groovy">
-      <bpmn2:incoming>vnfExistNo</bpmn2:incoming>
-      <bpmn2:incoming>VnfNameNotSpecified1</bpmn2:incoming>
+      <bpmn2:incoming>SequenceFlow_11b2sf3</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 DoCreateVnf createVnf = new DoCreateVnf()
       <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 DoCreateVnf createVnf = new DoCreateVnf()
@@ -162,15 +126,6 @@ createVnfInfra.validateSDNCResponse(execution, response, "activate")]]></bpmn2:s
 DoCreateVnf createVnf = new DoCreateVnf()
 createVnf.postProcessCreateGenericVnf(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
 DoCreateVnf createVnf = new DoCreateVnf()
 createVnf.postProcessCreateGenericVnf(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:exclusiveGateway id="ExclusiveGateway_0j73e7c" name="Vnf-name specified?" default="VnfNameSpecified1">
-      <bpmn2:incoming>SequenceFlow_1mvplyi</bpmn2:incoming>
-      <bpmn2:outgoing>VnfNameNotSpecified1</bpmn2:outgoing>
-      <bpmn2:outgoing>VnfNameSpecified1</bpmn2:outgoing>
-    </bpmn2:exclusiveGateway>
-    <bpmn2:sequenceFlow id="VnfNameNotSpecified1" name="No" sourceRef="ExclusiveGateway_0j73e7c" targetRef="prepareCreateGenericVnf">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DoCVNF_vnfName" ) == null}]]></bpmn2:conditionExpression>
-    </bpmn2:sequenceFlow>
-    <bpmn2:sequenceFlow id="VnfNameSpecified1" name="Yes" sourceRef="ExclusiveGateway_0j73e7c" targetRef="callGetVnf" />
     <bpmn2:sequenceFlow id="SequenceFlow_1h9jdgr" sourceRef="PreProcessSDNCGetRequest" targetRef="CallSDNCAdapterVNFTopologyGet" />
     <bpmn2:sequenceFlow id="SequenceFlow_14xac2y" sourceRef="CallSDNCAdapterVNFTopologyGet" targetRef="PostProcessSDNCGetRequest" />
     <bpmn2:sequenceFlow id="SequenceFlow_1q1poly" sourceRef="PostProcessSDNCGetRequest" targetRef="preProcessSDNCActivateRequest" />
     <bpmn2:sequenceFlow id="SequenceFlow_1h9jdgr" sourceRef="PreProcessSDNCGetRequest" targetRef="CallSDNCAdapterVNFTopologyGet" />
     <bpmn2:sequenceFlow id="SequenceFlow_14xac2y" sourceRef="CallSDNCAdapterVNFTopologyGet" targetRef="PostProcessSDNCGetRequest" />
     <bpmn2:sequenceFlow id="SequenceFlow_1q1poly" sourceRef="PostProcessSDNCGetRequest" targetRef="preProcessSDNCActivateRequest" />
@@ -236,12 +191,12 @@ doCreateVnf.prepUpdateAAIGenericVnf(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
     <bpmn2:scriptTask id="callGetService" name="AAI&#10;Query&#10;(svc instance)" scriptFormat="groovy">
       <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
     </bpmn2:scriptTask>
     <bpmn2:scriptTask id="callGetService" name="AAI&#10;Query&#10;(svc instance)" scriptFormat="groovy">
       <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1mvplyi</bpmn2:outgoing>
+      <bpmn2:outgoing>SequenceFlow_11b2sf3</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 DoCreateVnf createVnf = new DoCreateVnf()
 createVnf.getServiceInstance(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 DoCreateVnf createVnf = new DoCreateVnf()
 createVnf.getServiceInstance(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_1mvplyi" sourceRef="callGetService" targetRef="ExclusiveGateway_0j73e7c" />
+    <bpmn2:sequenceFlow id="SequenceFlow_11b2sf3" sourceRef="callGetService" targetRef="prepareCreateGenericVnf" />
   </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" />
   </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" />
@@ -265,62 +220,14 @@ createVnf.getServiceInstance(execution)]]></bpmn2:script>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_285">
         <di:waypoint xsi:type="dc:Point" x="338" y="240" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_285">
         <di:waypoint xsi:type="dc:Point" x="338" y="240" />
-        <di:waypoint xsi:type="dc:Point" x="425" y="240" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="336.5" y="225" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_CallActivity_60" bpmnElement="callGetVnf">
-        <dc:Bounds x="720" y="288" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_232" bpmnElement="vnfExist" isMarkerVisible="true">
-        <dc:Bounds x="854" y="302" width="50" height="50" />
+        <di:waypoint xsi:type="dc:Point" x="493" y="240" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="890" y="332" width="114" height="22" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_CallActivity_60" targetElement="_BPMNShape_ExclusiveGateway_232">
-        <di:waypoint xsi:type="dc:Point" x="820" y="328" />
-        <di:waypoint xsi:type="dc:Point" x="854" y="327" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="804" y="330" width="6" height="6" />
+          <dc:Bounds x="370.5" y="225" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_299" bpmnElement="vnfExistWorkflowException">
-        <dc:Bounds x="926" y="367" width="100" height="80" />
-      </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_300" bpmnElement="prepareCreateGenericVnf">
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_300" bpmnElement="prepareCreateGenericVnf">
-        <dc:Bounds x="959" y="200" width="100" height="80" />
+        <dc:Bounds x="781" y="200" width="100" height="80" />
       </bpmndi:BPMNShape>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="vnfExistYes" sourceElement="_BPMNShape_ExclusiveGateway_232" targetElement="_BPMNShape_ScriptTask_299">
-        <di:waypoint xsi:type="dc:Point" x="879" y="352" />
-        <di:waypoint xsi:type="dc:Point" x="879" y="407" />
-        <di:waypoint xsi:type="dc:Point" x="926" y="407" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="880" y="367" width="29" height="22" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="vnfExistNo" sourceElement="_BPMNShape_ExclusiveGateway_232" targetElement="_BPMNShape_ScriptTask_300">
-        <di:waypoint xsi:type="dc:Point" x="879" y="302" />
-        <di:waypoint xsi:type="dc:Point" x="879" y="240" />
-        <di:waypoint xsi:type="dc:Point" x="959" y="240" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="884" y="254" width="14" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_227" bpmnElement="EndEvent_2">
-        <dc:Bounds x="1092" y="389" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="1110" y="430" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_299" targetElement="_BPMNShape_EndEvent_227">
-        <di:waypoint xsi:type="dc:Point" x="1026" y="407" />
-        <di:waypoint xsi:type="dc:Point" x="1092" y="407" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="1034" y="407" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_228" bpmnElement="EndEvent_3">
         <dc:Bounds x="1765" y="537" width="36" height="36" />
         <bpmndi:BPMNLabel>
       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_228" bpmnElement="EndEvent_3">
         <dc:Bounds x="1765" y="537" width="36" height="36" />
         <bpmndi:BPMNLabel>
@@ -328,10 +235,10 @@ createVnf.getServiceInstance(execution)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_ScriptTask_300" targetElement="ScriptTask_0y55cyz_di">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_ScriptTask_300" targetElement="ScriptTask_0y55cyz_di">
-        <di:waypoint xsi:type="dc:Point" x="1059" y="240" />
+        <di:waypoint xsi:type="dc:Point" x="881" y="240" />
         <di:waypoint xsi:type="dc:Point" x="1146" y="240" />
         <bpmndi:BPMNLabel>
         <di:waypoint xsi:type="dc:Point" x="1146" y="240" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1057.5" y="225" width="90" height="0" />
+          <dc:Bounds x="968.5" y="225" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_32" bpmnElement="javaErrorHandlingSubProcess" isExpanded="true">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_32" bpmnElement="javaErrorHandlingSubProcess" isExpanded="true">
@@ -454,27 +361,6 @@ createVnf.getServiceInstance(execution)]]></bpmn2:script>
       <bpmndi:BPMNShape id="ScriptTask_0y55cyz_di" bpmnElement="postProcessCreateGenericVnf">
         <dc:Bounds x="1146" y="200" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0y55cyz_di" bpmnElement="postProcessCreateGenericVnf">
         <dc:Bounds x="1146" y="200" width="100" height="80" />
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ExclusiveGateway_0j73e7c_di" bpmnElement="ExclusiveGateway_0j73e7c" isMarkerVisible="true">
-        <dc:Bounds x="646" y="215" width="50" height="50" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="653" y="184" width="51" height="24" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0k2oavy_di" bpmnElement="VnfNameNotSpecified1">
-        <di:waypoint xsi:type="dc:Point" x="696" y="240" />
-        <di:waypoint xsi:type="dc:Point" x="959" y="240" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="821.0502092050209" y="215" width="14" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1pwgmrg_di" bpmnElement="VnfNameSpecified1">
-        <di:waypoint xsi:type="dc:Point" x="671" y="265" />
-        <di:waypoint xsi:type="dc:Point" x="671" y="328" />
-        <di:waypoint xsi:type="dc:Point" x="720" y="328" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="677" y="286.5" width="18" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1h9jdgr_di" bpmnElement="SequenceFlow_1h9jdgr">
         <di:waypoint xsi:type="dc:Point" x="777" y="693" />
         <di:waypoint xsi:type="dc:Point" x="799" y="693" />
       <bpmndi:BPMNEdge id="SequenceFlow_1h9jdgr_di" bpmnElement="SequenceFlow_1h9jdgr">
         <di:waypoint xsi:type="dc:Point" x="777" y="693" />
         <di:waypoint xsi:type="dc:Point" x="799" y="693" />
@@ -555,13 +441,13 @@ createVnf.getServiceInstance(execution)]]></bpmn2:script>
         <dc:Bounds x="1445" y="515" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_019g8vu_di" bpmnElement="callGetService">
         <dc:Bounds x="1445" y="515" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_019g8vu_di" bpmnElement="callGetService">
-        <dc:Bounds x="425" y="200" width="100" height="80" />
+        <dc:Bounds x="493" y="200" width="100" height="80" />
       </bpmndi:BPMNShape>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1mvplyi_di" bpmnElement="SequenceFlow_1mvplyi">
-        <di:waypoint xsi:type="dc:Point" x="525" y="240" />
-        <di:waypoint xsi:type="dc:Point" x="646" y="240" />
+      <bpmndi:BPMNEdge id="SequenceFlow_11b2sf3_di" bpmnElement="SequenceFlow_11b2sf3">
+        <di:waypoint xsi:type="dc:Point" x="593" y="240" />
+        <di:waypoint xsi:type="dc:Point" x="781" y="240" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="585.5" y="219" width="0" height="12" />
+          <dc:Bounds x="687" y="219" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
index 0d48719..b598853 100644 (file)
@@ -36,6 +36,7 @@ doCreateVnfAndModules.preProcessRequest(execution)]]></bpmn:script>
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="false" target="usePreload" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="false" target="usePreload" />
@@ -71,6 +72,7 @@ doCreateVnfAndModules.preProcessRequest(execution)]]></bpmn:script>
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="false" target="usePreload" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="false" target="usePreload" />
@@ -123,6 +125,7 @@ doCreateVnfAndModules.validateAddOnModule(execution)]]></bpmn:script>
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
         <camunda:out source="vnfName" target="vnfName" />
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
         <camunda:out source="vnfName" target="vnfName" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="rollbackData" target="rollbackData" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="rollbackData" target="rollbackData" />
index d9596f0..da7fc65 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?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="_9MhrcHqVEea26OhQB97uCQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_9MhrcHqVEea26OhQB97uCQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
   <bpmn2:process id="DoDeleteVnf" name="DoDeleteVnf" isExecutable="true">
     <bpmn2:startEvent id="StartEvent_1">
       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
   <bpmn2:process id="DoDeleteVnf" name="DoDeleteVnf" isExecutable="true">
     <bpmn2:startEvent id="StartEvent_1">
       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
 DoDeleteVnf deleteVnf = new DoDeleteVnf()
 deleteVnf.preProcessRequest(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
 DoDeleteVnf deleteVnf = new DoDeleteVnf()
 deleteVnf.preProcessRequest(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="intialization" targetRef="callGetVnf" />
-    <bpmn2:callActivity id="callGetVnf" name="Get&#10;&#10;Generic Vnf" calledElement="GenericGetVnf">
-      <bpmn2:extensionElements>
-        <camunda:out source="GENGV_vnf" target="DoDVNF_genericVnf" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-        <camunda:out source="GENGV_SuccessIndicator" target="GENGV_SuccessIndicator" />
-        <camunda:out source="GENGV_FoundIndicator" target="GENGV_FoundIndicator" />
-        <camunda:in source="DoDVNF_type" target="GENGV_type" />
-        <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
-        <camunda:in source="DoDVNF_vnfId" target="GENGV_vnfId" />
-      </bpmn2:extensionElements>
-      <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
-    </bpmn2:callActivity>
-    <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="callGetVnf" targetRef="vnfFoundCheck" />
+    <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="intialization" targetRef="processResponse" />
     <bpmn2:exclusiveGateway id="vnfFoundCheck" name="Vnf Found?" default="notFound">
     <bpmn2:exclusiveGateway id="vnfFoundCheck" name="Vnf Found?" default="notFound">
-      <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
+      <bpmn2:incoming>SequenceFlow_0hbmag5</bpmn2:incoming>
       <bpmn2:outgoing>vnfFound</bpmn2:outgoing>
       <bpmn2:outgoing>notFound</bpmn2:outgoing>
     </bpmn2:exclusiveGateway>
       <bpmn2:outgoing>vnfFound</bpmn2:outgoing>
       <bpmn2:outgoing>notFound</bpmn2:outgoing>
     </bpmn2:exclusiveGateway>
-    <bpmn2:sequenceFlow id="vnfFound" name="Yes" sourceRef="vnfFoundCheck" targetRef="processResponse">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENGV_FoundIndicator") == true && execution.getVariable("GENGV_SuccessIndicator") == true}]]></bpmn2:conditionExpression>
+    <bpmn2:sequenceFlow id="vnfFound" name="Yes" sourceRef="vnfFoundCheck" targetRef="vnfInUseCheck">
+      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENGV_FoundIndicator") == true}]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="notFound" name="No" sourceRef="vnfFoundCheck" targetRef="IntermediateThrowEvent_1" />
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="notFound" name="No" sourceRef="vnfFoundCheck" targetRef="IntermediateThrowEvent_1" />
-    <bpmn2:scriptTask id="processResponse" name="Process Response" scriptFormat="groovy">
-      <bpmn2:incoming>vnfFound</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
+    <bpmn2:scriptTask id="processResponse" name="&#10;AAI&#10;Query&#10;(generic vnf)&#10;" scriptFormat="groovy">
+      <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_0hbmag5</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 DoDeleteVnf deleteVnf = new DoDeleteVnf()
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 DoDeleteVnf deleteVnf = new DoDeleteVnf()
-deleteVnf.processGetVnfResponse(execution)]]></bpmn2:script>
+deleteVnf.getVnf(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="processResponse" targetRef="vnfInUseCheck" />
     <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1" name="Skip Delete">
       <bpmn2:incoming>notFound</bpmn2:incoming>
       <bpmn2:linkEventDefinition id="LinkEventDefinition_1" name="Skip Delete" />
     </bpmn2:intermediateThrowEvent>
     <bpmn2:exclusiveGateway id="vnfInUseCheck" name="Vnf In Use?" default="notInUse">
     <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1" name="Skip Delete">
       <bpmn2:incoming>notFound</bpmn2:incoming>
       <bpmn2:linkEventDefinition id="LinkEventDefinition_1" name="Skip Delete" />
     </bpmn2:intermediateThrowEvent>
     <bpmn2:exclusiveGateway id="vnfInUseCheck" name="Vnf In Use?" default="notInUse">
-      <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
+      <bpmn2:incoming>vnfFound</bpmn2:incoming>
       <bpmn2:outgoing>inUse</bpmn2:outgoing>
       <bpmn2:outgoing>notInUse</bpmn2:outgoing>
     </bpmn2:exclusiveGateway>
       <bpmn2:outgoing>inUse</bpmn2:outgoing>
       <bpmn2:outgoing>notInUse</bpmn2:outgoing>
     </bpmn2:exclusiveGateway>
@@ -110,6 +95,7 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script>
 DoDeleteVnf delete = new DoDeleteVnf()
 delete.deleteVnf(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
 DoDeleteVnf delete = new DoDeleteVnf()
 delete.deleteVnf(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
+    <bpmn2:sequenceFlow id="SequenceFlow_0hbmag5" sourceRef="processResponse" targetRef="vnfFoundCheck" />
   </bpmn2:process>
   <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
   <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
   </bpmn2:process>
   <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
   <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
@@ -133,67 +119,50 @@ delete.deleteVnf(execution)]]></bpmn2:script>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_311">
         <di:waypoint xsi:type="dc:Point" x="422" y="228" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_311">
         <di:waypoint xsi:type="dc:Point" x="422" y="228" />
-        <di:waypoint xsi:type="dc:Point" x="504" y="228" />
+        <di:waypoint xsi:type="dc:Point" x="485" y="227" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="463" y="213" width="0" height="0" />
+          <dc:Bounds x="408.5" y="212.5" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_314" bpmnElement="processResponse">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_314" bpmnElement="processResponse">
-        <dc:Bounds x="704" y="291" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_CallActivity_63" bpmnElement="callGetVnf">
-        <dc:Bounds x="504" y="188" width="100" height="80" />
+        <dc:Bounds x="485" y="187" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_236" bpmnElement="vnfInUseCheck" isMarkerVisible="true">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_236" bpmnElement="vnfInUseCheck" isMarkerVisible="true">
-        <dc:Bounds x="840" y="305" width="50" height="50" />
+        <dc:Bounds x="789" y="306" width="50" height="50" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="890" y="335" width="73" height="22" />
+          <dc:Bounds x="847" y="336" width="58" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_314" targetElement="_BPMNShape_ExclusiveGateway_236">
-        <di:waypoint xsi:type="dc:Point" x="804" y="331" />
-        <di:waypoint xsi:type="dc:Point" x="840" y="330" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="799" y="325" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_CallActivity_63" targetElement="_BPMNShape_ExclusiveGateway_237">
-        <di:waypoint xsi:type="dc:Point" x="604" y="228" />
-        <di:waypoint xsi:type="dc:Point" x="634" y="227" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="630" y="227" width="6" height="6" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_315" bpmnElement="createWorkflowExceptionInUse">
       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_315" bpmnElement="createWorkflowExceptionInUse">
-        <dc:Bounds x="912" y="196" width="100" height="80" />
+        <dc:Bounds x="861" y="196" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="inUse" sourceElement="_BPMNShape_ExclusiveGateway_236" targetElement="_BPMNShape_ScriptTask_315">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="inUse" sourceElement="_BPMNShape_ExclusiveGateway_236" targetElement="_BPMNShape_ScriptTask_315">
-        <di:waypoint xsi:type="dc:Point" x="865" y="305" />
-        <di:waypoint xsi:type="dc:Point" x="865" y="236" />
-        <di:waypoint xsi:type="dc:Point" x="912" y="236" />
+        <di:waypoint xsi:type="dc:Point" x="814" y="306" />
+        <di:waypoint xsi:type="dc:Point" x="814" y="236" />
+        <di:waypoint xsi:type="dc:Point" x="861" y="236" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="867" y="258" width="29" height="22" />
+          <dc:Bounds x="821" y="258.40579710144925" width="19" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="notInUse" sourceElement="_BPMNShape_ExclusiveGateway_236" targetElement="ScriptTask_1ps8v06_di">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="notInUse" sourceElement="_BPMNShape_ExclusiveGateway_236" targetElement="ScriptTask_1ps8v06_di">
-        <di:waypoint xsi:type="dc:Point" x="865" y="355" />
-        <di:waypoint xsi:type="dc:Point" x="865" y="424" />
-        <di:waypoint xsi:type="dc:Point" x="912" y="424" />
+        <di:waypoint xsi:type="dc:Point" x="814" y="356" />
+        <di:waypoint xsi:type="dc:Point" x="814" y="424" />
+        <di:waypoint xsi:type="dc:Point" x="861" y="424" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="874" y="384" width="14" height="12" />
+          <dc:Bounds x="823" y="384.4927536231884" width="14" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_236" bpmnElement="EndEvent_1">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_236" bpmnElement="EndEvent_1">
-        <dc:Bounds x="1100" y="218" width="36" height="36" />
+        <dc:Bounds x="1049" y="218" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1118" y="259" width="0" height="0" />
+          <dc:Bounds x="1022" y="259" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_315" targetElement="_BPMNShape_EndEvent_236">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_315" targetElement="_BPMNShape_EndEvent_236">
-        <di:waypoint xsi:type="dc:Point" x="1012" y="236" />
-        <di:waypoint xsi:type="dc:Point" x="1100" y="236" />
+        <di:waypoint xsi:type="dc:Point" x="961" y="236" />
+        <di:waypoint xsi:type="dc:Point" x="1049" y="236" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1062" y="236" width="6" height="6" />
+          <dc:Bounds x="969" y="236" width="90" height="6" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_237" bpmnElement="vnfFoundCheck" isMarkerVisible="true">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_237" bpmnElement="vnfFoundCheck" isMarkerVisible="true">
@@ -202,12 +171,12 @@ delete.deleteVnf(execution)]]></bpmn2:script>
           <dc:Bounds x="672" y="240" width="72" height="22" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
           <dc:Bounds x="672" y="240" width="72" height="22" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="vnfFound" sourceElement="_BPMNShape_ExclusiveGateway_237" targetElement="_BPMNShape_ScriptTask_314">
+      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="vnfFound" sourceElement="_BPMNShape_ExclusiveGateway_237" targetElement="_BPMNShape_ExclusiveGateway_236">
         <di:waypoint xsi:type="dc:Point" x="659" y="252" />
         <di:waypoint xsi:type="dc:Point" x="659" y="331" />
         <di:waypoint xsi:type="dc:Point" x="659" y="252" />
         <di:waypoint xsi:type="dc:Point" x="659" y="331" />
-        <di:waypoint xsi:type="dc:Point" x="704" y="331" />
+        <di:waypoint xsi:type="dc:Point" x="789" y="331" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="659" y="288" width="29" height="22" />
+          <dc:Bounds x="664" y="288" width="19" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_2" bpmnElement="IntermediateThrowEvent_1">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_2" bpmnElement="IntermediateThrowEvent_1">
@@ -225,42 +194,42 @@ delete.deleteVnf(execution)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_237" bpmnElement="EndEvent_2">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_237" bpmnElement="EndEvent_2">
-        <dc:Bounds x="1174" y="405" width="36" height="36" />
+        <dc:Bounds x="1151" y="405" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1192" y="446" width="0" height="0" />
+          <dc:Bounds x="1124" y="446" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_238" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_238" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true">
-        <dc:Bounds x="1062" y="398" width="50" height="50" />
+        <dc:Bounds x="1011" y="399" width="50" height="50" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1087" y="453" width="0" height="0" />
+          <dc:Bounds x="991" y="454" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_9" sourceElement="ScriptTask_1ps8v06_di" targetElement="_BPMNShape_ExclusiveGateway_238">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_9" sourceElement="ScriptTask_1ps8v06_di" targetElement="_BPMNShape_ExclusiveGateway_238">
-        <di:waypoint xsi:type="dc:Point" x="1012" y="424" />
-        <di:waypoint xsi:type="dc:Point" x="1062" y="423" />
+        <di:waypoint xsi:type="dc:Point" x="961" y="425" />
+        <di:waypoint xsi:type="dc:Point" x="1011" y="424" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="992" y="405.5" width="90" height="6" />
+          <dc:Bounds x="941" y="406.5" width="90" height="6" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ExclusiveGateway_238">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ExclusiveGateway_238">
-        <di:waypoint xsi:type="dc:Point" x="1111" y="422" />
-        <di:waypoint xsi:type="dc:Point" x="1174" y="423" />
+        <di:waypoint xsi:type="dc:Point" x="1060" y="423" />
+        <di:waypoint xsi:type="dc:Point" x="1151" y="423" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1143" y="407.5" width="0" height="0" />
+          <dc:Bounds x="1060.5" y="408" width="90" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_2" bpmnElement="IntermediateCatchEvent_1">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_2" bpmnElement="IntermediateCatchEvent_1">
-        <dc:Bounds x="1069" y="492" width="36" height="36" />
+        <dc:Bounds x="1018" y="492" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1051" y="533" width="73" height="22" />
+          <dc:Bounds x="1009" y="533" width="55" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_IntermediateCatchEvent_2" targetElement="_BPMNShape_ExclusiveGateway_238">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_IntermediateCatchEvent_2" targetElement="_BPMNShape_ExclusiveGateway_238">
-        <di:waypoint xsi:type="dc:Point" x="1087" y="492" />
-        <di:waypoint xsi:type="dc:Point" x="1087" y="448" />
+        <di:waypoint xsi:type="dc:Point" x="1036" y="492" />
+        <di:waypoint xsi:type="dc:Point" x="1036" y="449" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1084" y="462" width="6" height="6" />
+          <dc:Bounds x="1006" y="467.5" width="90" height="6" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_35" bpmnElement="javaErrorHandlingSubProcess" isExpanded="true">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_35" bpmnElement="javaErrorHandlingSubProcess" isExpanded="true">
@@ -296,8 +265,16 @@ delete.deleteVnf(execution)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_1ps8v06_di" bpmnElement="deleteVnf">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_1ps8v06_di" bpmnElement="deleteVnf">
-        <dc:Bounds x="912" y="384" width="100" height="80" />
+        <dc:Bounds x="861" y="384" width="100" height="80" />
       </bpmndi:BPMNShape>
       </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_0hbmag5_di" bpmnElement="SequenceFlow_0hbmag5">
+        <di:waypoint xsi:type="dc:Point" x="585" y="227" />
+        <di:waypoint xsi:type="dc:Point" x="607" y="227" />
+        <di:waypoint xsi:type="dc:Point" x="634" y="227" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="596" y="206" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </bpmn2:definitions>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </bpmn2:definitions>
index 4d6d000..7563c05 100644 (file)
@@ -193,6 +193,7 @@ ddvam.validateSDNCResponse(execution, response, "unassign")]]></bpmn2:script>
         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
         <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
         <camunda:in source="vnfId" target="vnfId" />
         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
         <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
         <camunda:in source="vnfId" target="vnfId" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="DDVAM_sdncVersion" target="sdncVersion" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="DDVAM_sdncVersion" target="sdncVersion" />
index ef3340e..8383ccb 100644 (file)
@@ -87,59 +87,33 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script>
       <bpmn2:incoming>SequenceFlow_177wo8z</bpmn2:incoming>
       <bpmn2:linkEventDefinition name="StartDeleteResources" />
     </bpmn2:intermediateThrowEvent>
       <bpmn2:incoming>SequenceFlow_177wo8z</bpmn2:incoming>
       <bpmn2:linkEventDefinition name="StartDeleteResources" />
     </bpmn2:intermediateThrowEvent>
-    <bpmn2:callActivity id="CallActivity_1nm9zq7" name="Call Custom E2E Put Service" calledElement="CustomE2EPutService">
-      <bpmn2:extensionElements>
-        <camunda:in source="globalSubscriberId" target="GENPS_globalSubscriberId" />
-        <camunda:in source="serviceInstanceId" target="GENPS_serviceInstanceId" />
-        <camunda:in source="serviceType" target="GENPS_serviceType" />
-        <camunda:in sourceExpression="service-instance" target="GENPS_type" />
-        <camunda:in source="serviceInstanceData" target="GENPS_payload" />
-        <camunda:out source="GENPS_SuccessIndicator" target="GENPS_SuccessIndicator" />
-        <camunda:in source="msoRequestId" target="GENPS_requesId" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-        <camunda:in source="GENPS_serviceResourceVersion" target="GENPS_serviceResourceVersion" />
-      </bpmn2:extensionElements>
+    <bpmn2:scriptTask id="ScriptTask_0xtabf8" name="&#10;AAI&#10;Create&#10;(svc instance)&#10;" scriptFormat="groovy">
       <bpmn2:incoming>SequenceFlow_1kx5ke9</bpmn2:incoming>
       <bpmn2:incoming>SequenceFlow_1kx5ke9</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0f76thv</bpmn2:outgoing>
-    </bpmn2:callActivity>
-    <bpmn2:scriptTask id="ScriptTask_0xtabf8" name="Post Process AAI PUT" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_0f76thv</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0x0mhlj</bpmn2:outgoing>
+      <bpmn2:outgoing>SequenceFlow_1cur6kz</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def ddsi = new DoUpdateE2EServiceInstance()
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def ddsi = new DoUpdateE2EServiceInstance()
-ddsi.postProcessAAIPUT(execution)]]></bpmn2:script>
+ddsi.updateServiceInstance(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
     <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0a9bdjw" name="UpdateAAI">
       <bpmn2:outgoing>SequenceFlow_1demy08</bpmn2:outgoing>
       <bpmn2:linkEventDefinition name="UpdateAAI" />
     </bpmn2:intermediateCatchEvent>
     <bpmn2:sequenceFlow id="SequenceFlow_1demy08" sourceRef="IntermediateCatchEvent_0a9bdjw" targetRef="ScriptTask_0sis7k0" />
     </bpmn2:scriptTask>
     <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0a9bdjw" name="UpdateAAI">
       <bpmn2:outgoing>SequenceFlow_1demy08</bpmn2:outgoing>
       <bpmn2:linkEventDefinition name="UpdateAAI" />
     </bpmn2:intermediateCatchEvent>
     <bpmn2:sequenceFlow id="SequenceFlow_1demy08" sourceRef="IntermediateCatchEvent_0a9bdjw" targetRef="ScriptTask_0sis7k0" />
-    <bpmn2:sequenceFlow id="SequenceFlow_0f76thv" sourceRef="CallActivity_1nm9zq7" targetRef="ScriptTask_0xtabf8" />
     <bpmn2:scriptTask id="ScriptTask_19v8l1w" name="Post Config Service Instance Update" scriptFormat="groovy">
     <bpmn2:scriptTask id="ScriptTask_19v8l1w" name="Post Config Service Instance Update" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_0ku36oy</bpmn2:incoming>
+      <bpmn2:incoming>SequenceFlow_1cur6kz</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_07aa121</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def csi = new  DoUpdateE2EServiceInstance()
 csi.postConfigRequest(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
       <bpmn2:outgoing>SequenceFlow_07aa121</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def csi = new  DoUpdateE2EServiceInstance()
 csi.postConfigRequest(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0z04o3s" name="FinishProcess">
-      <bpmn2:outgoing>SequenceFlow_0ku36oy</bpmn2:outgoing>
-      <bpmn2:linkEventDefinition name="FinishProcess" />
-    </bpmn2:intermediateCatchEvent>
     <bpmn2:endEvent id="EndEvent_0exzmfn">
       <bpmn2:incoming>SequenceFlow_07aa121</bpmn2:incoming>
     </bpmn2:endEvent>
     <bpmn2:sequenceFlow id="SequenceFlow_07aa121" sourceRef="ScriptTask_19v8l1w" targetRef="EndEvent_0exzmfn" />
     <bpmn2:endEvent id="EndEvent_0exzmfn">
       <bpmn2:incoming>SequenceFlow_07aa121</bpmn2:incoming>
     </bpmn2:endEvent>
     <bpmn2:sequenceFlow id="SequenceFlow_07aa121" sourceRef="ScriptTask_19v8l1w" targetRef="EndEvent_0exzmfn" />
-    <bpmn2:sequenceFlow id="SequenceFlow_0ku36oy" sourceRef="IntermediateCatchEvent_0z04o3s" targetRef="ScriptTask_19v8l1w" />
     <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_06lo96a" name="GoTo UpdateAAI">
       <bpmn2:incoming>SequenceFlow_1uu6uiu</bpmn2:incoming>
       <bpmn2:linkEventDefinition name="UpdateAAI" />
     </bpmn2:intermediateThrowEvent>
     <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_06lo96a" name="GoTo UpdateAAI">
       <bpmn2:incoming>SequenceFlow_1uu6uiu</bpmn2:incoming>
       <bpmn2:linkEventDefinition name="UpdateAAI" />
     </bpmn2:intermediateThrowEvent>
-    <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0hucdtk" name="GoTo FinishProcess">
-      <bpmn2:incoming>SequenceFlow_0x0mhlj</bpmn2:incoming>
-      <bpmn2:linkEventDefinition name="FinishProcess" />
-    </bpmn2:intermediateThrowEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_0x0mhlj" sourceRef="ScriptTask_0xtabf8" targetRef="IntermediateThrowEvent_0hucdtk" />
     <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_09ur9ds" name="GoTo StartAddResources">
       <bpmn2:incoming>SequenceFlow_1muxopq</bpmn2:incoming>
       <bpmn2:linkEventDefinition name="StartAddResources" />
     <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_09ur9ds" name="GoTo StartAddResources">
       <bpmn2:incoming>SequenceFlow_1muxopq</bpmn2:incoming>
       <bpmn2:linkEventDefinition name="StartAddResources" />
@@ -180,7 +154,7 @@ dcsi.postProcessRollback(execution)
 def dcsi = new DoUpdateE2EServiceInstance()
 dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
 def dcsi = new DoUpdateE2EServiceInstance()
 dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_1kx5ke9" sourceRef="ScriptTask_0sis7k0" targetRef="CallActivity_1nm9zq7" />
+    <bpmn2:sequenceFlow id="SequenceFlow_1kx5ke9" sourceRef="ScriptTask_0sis7k0" targetRef="ScriptTask_0xtabf8" />
     <bpmn2:sequenceFlow id="SequenceFlow_04xlw7s" sourceRef="preProcessRequest_ScriptTask" targetRef="ScriptTask_0acnvkp" />
     <bpmn2:exclusiveGateway id="ExclusiveGateway_06gj84t" name="HasResourcetoAdd?" default="SequenceFlow_01po987">
       <bpmn2:incoming>SequenceFlow_0yztz2p</bpmn2:incoming>
     <bpmn2:sequenceFlow id="SequenceFlow_04xlw7s" sourceRef="preProcessRequest_ScriptTask" targetRef="ScriptTask_0acnvkp" />
     <bpmn2:exclusiveGateway id="ExclusiveGateway_06gj84t" name="HasResourcetoAdd?" default="SequenceFlow_01po987">
       <bpmn2:incoming>SequenceFlow_0yztz2p</bpmn2:incoming>
@@ -245,6 +219,7 @@ dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("hasResourcetoDelete") == true}]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="SequenceFlow_070o30v" sourceRef="ExclusiveGateway_1fcnq0g" targetRef="IntermediateThrowEvent_0y1ii4i" />
       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("hasResourcetoDelete") == true}]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="SequenceFlow_070o30v" sourceRef="ExclusiveGateway_1fcnq0g" targetRef="IntermediateThrowEvent_0y1ii4i" />
+    <bpmn2:sequenceFlow id="SequenceFlow_1cur6kz" sourceRef="ScriptTask_0xtabf8" targetRef="ScriptTask_19v8l1w" />
   </bpmn2:process>
   <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
   <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
   </bpmn2:process>
   <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
   <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
@@ -341,11 +316,8 @@ dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
           <dc:Bounds x="1738" y="890" width="86" height="36" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
           <dc:Bounds x="1738" y="890" width="86" height="36" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="CallActivity_1nm9zq7_di" bpmnElement="CallActivity_1nm9zq7">
-        <dc:Bounds x="1229" y="1333" width="100" height="80" />
-      </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0xtabf8_di" bpmnElement="ScriptTask_0xtabf8">
       <bpmndi:BPMNShape id="ScriptTask_0xtabf8_di" bpmnElement="ScriptTask_0xtabf8">
-        <dc:Bounds x="1473" y="1333" width="100" height="80" />
+        <dc:Bounds x="844" y="1333" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="IntermediateCatchEvent_0a9bdjw_di" bpmnElement="IntermediateCatchEvent_0a9bdjw">
         <dc:Bounds x="74" y="1355" width="36" height="36" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="IntermediateCatchEvent_0a9bdjw_di" bpmnElement="IntermediateCatchEvent_0a9bdjw">
         <dc:Bounds x="74" y="1355" width="36" height="36" />
@@ -355,45 +327,27 @@ dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1demy08_di" bpmnElement="SequenceFlow_1demy08">
         <di:waypoint xsi:type="dc:Point" x="110" y="1373" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1demy08_di" bpmnElement="SequenceFlow_1demy08">
         <di:waypoint xsi:type="dc:Point" x="110" y="1373" />
-        <di:waypoint xsi:type="dc:Point" x="978" y="1373" />
+        <di:waypoint xsi:type="dc:Point" x="293" y="1373" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="499" y="1352" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0f76thv_di" bpmnElement="SequenceFlow_0f76thv">
-        <di:waypoint xsi:type="dc:Point" x="1329" y="1373" />
-        <di:waypoint xsi:type="dc:Point" x="1473" y="1373" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="1356" y="1352" width="90" height="12" />
+          <dc:Bounds x="156.5" y="1352" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_19v8l1w_di" bpmnElement="ScriptTask_19v8l1w">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_19v8l1w_di" bpmnElement="ScriptTask_19v8l1w">
-        <dc:Bounds x="858" y="1579" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="IntermediateCatchEvent_0z04o3s_di" bpmnElement="IntermediateCatchEvent_0z04o3s">
-        <dc:Bounds x="74" y="1601" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="57" y="1641" width="70" height="12" />
-        </bpmndi:BPMNLabel>
+        <dc:Bounds x="1229" y="1333" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_0exzmfn_di" bpmnElement="EndEvent_0exzmfn">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_0exzmfn_di" bpmnElement="EndEvent_0exzmfn">
-        <dc:Bounds x="1772" y="1601" width="36" height="36" />
+        <dc:Bounds x="1750" y="1355" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1700" y="1641" width="90" height="12" />
+          <dc:Bounds x="1678" y="1395" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_07aa121_di" bpmnElement="SequenceFlow_07aa121">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_07aa121_di" bpmnElement="SequenceFlow_07aa121">
-        <di:waypoint xsi:type="dc:Point" x="958" y="1619" />
-        <di:waypoint xsi:type="dc:Point" x="1772" y="1619" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="1320" y="1598" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0ku36oy_di" bpmnElement="SequenceFlow_0ku36oy">
-        <di:waypoint xsi:type="dc:Point" x="110" y="1619" />
-        <di:waypoint xsi:type="dc:Point" x="858" y="1619" />
+        <di:waypoint xsi:type="dc:Point" x="1329" y="1373" />
+        <di:waypoint xsi:type="dc:Point" x="1551" y="1373" />
+        <di:waypoint xsi:type="dc:Point" x="1551" y="1373" />
+        <di:waypoint xsi:type="dc:Point" x="1750" y="1373" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="439" y="1598" width="90" height="12" />
+          <dc:Bounds x="1521" y="1367" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="IntermediateThrowEvent_06lo96a_di" bpmnElement="IntermediateThrowEvent_06lo96a">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="IntermediateThrowEvent_06lo96a_di" bpmnElement="IntermediateThrowEvent_06lo96a">
@@ -402,19 +356,6 @@ dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
           <dc:Bounds x="1750" y="1143" width="82" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
           <dc:Bounds x="1750" y="1143" width="82" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_0hucdtk_di" bpmnElement="IntermediateThrowEvent_0hucdtk">
-        <dc:Bounds x="1762" y="1355" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="1756" y="1395" width="70" height="24" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0x0mhlj_di" bpmnElement="SequenceFlow_0x0mhlj">
-        <di:waypoint xsi:type="dc:Point" x="1573" y="1373" />
-        <di:waypoint xsi:type="dc:Point" x="1762" y="1373" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="1622.5" y="1352" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="IntermediateThrowEvent_09ur9ds_di" bpmnElement="IntermediateThrowEvent_09ur9ds">
         <dc:Bounds x="1762" y="622" width="36" height="36" />
         <bpmndi:BPMNLabel>
       <bpmndi:BPMNShape id="IntermediateThrowEvent_09ur9ds_di" bpmnElement="IntermediateThrowEvent_09ur9ds">
         <dc:Bounds x="1762" y="622" width="36" height="36" />
         <bpmndi:BPMNLabel>
@@ -429,55 +370,55 @@ dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="SubProcess_0jo0nms_di" bpmnElement="SubProcess_0jo0nms" isExpanded="true">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="SubProcess_0jo0nms_di" bpmnElement="SubProcess_0jo0nms" isExpanded="true">
-        <dc:Bounds x="236" y="1818" width="1428" height="210" />
+        <dc:Bounds x="244" y="1688" width="1428" height="210" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="StartEvent_06768u3_di" bpmnElement="StartEvent_06768u3">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="StartEvent_06768u3_di" bpmnElement="StartEvent_06768u3">
-        <dc:Bounds x="266" y="1895" width="36" height="36" />
+        <dc:Bounds x="274" y="1765" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="194" y="1936" width="90" height="12" />
+          <dc:Bounds x="202" y="1806" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_014jyvb_di" bpmnElement="EndEvent_014jyvb">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_014jyvb_di" bpmnElement="EndEvent_014jyvb">
-        <dc:Bounds x="1581" y="1895" width="36" height="36" />
+        <dc:Bounds x="1589" y="1765" width="36" height="36" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1509" y="1936" width="90" height="12" />
+          <dc:Bounds x="1517" y="1806" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1awrp72_di" bpmnElement="ScriptTask_1awrp72">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1awrp72_di" bpmnElement="ScriptTask_1awrp72">
-        <dc:Bounds x="557" y="1873" width="100" height="80" />
+        <dc:Bounds x="565" y="1743" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0vc9jgo_di" bpmnElement="ScriptTask_0vc9jgo">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0vc9jgo_di" bpmnElement="ScriptTask_0vc9jgo">
-        <dc:Bounds x="1248" y="1873" width="100" height="80" />
+        <dc:Bounds x="1256" y="1743" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_05j3sat_di" bpmnElement="SequenceFlow_05j3sat">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_05j3sat_di" bpmnElement="SequenceFlow_05j3sat">
-        <di:waypoint xsi:type="dc:Point" x="302" y="1913" />
-        <di:waypoint xsi:type="dc:Point" x="557" y="1913" />
+        <di:waypoint xsi:type="dc:Point" x="310" y="1783" />
+        <di:waypoint xsi:type="dc:Point" x="565" y="1783" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="385" y="1892" width="90" height="12" />
+          <dc:Bounds x="393" y="1762" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_02znk15_di" bpmnElement="SequenceFlow_02znk15">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_02znk15_di" bpmnElement="SequenceFlow_02znk15">
-        <di:waypoint xsi:type="dc:Point" x="1348" y="1913" />
-        <di:waypoint xsi:type="dc:Point" x="1581" y="1913" />
+        <di:waypoint xsi:type="dc:Point" x="1356" y="1783" />
+        <di:waypoint xsi:type="dc:Point" x="1589" y="1783" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1376" y="1898" width="90" height="12" />
+          <dc:Bounds x="1384" y="1768" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_19ly8h7_di" bpmnElement="SequenceFlow_19ly8h7">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_19ly8h7_di" bpmnElement="SequenceFlow_19ly8h7">
-        <di:waypoint xsi:type="dc:Point" x="657" y="1913" />
-        <di:waypoint xsi:type="dc:Point" x="1248" y="1913" />
+        <di:waypoint xsi:type="dc:Point" x="665" y="1783" />
+        <di:waypoint xsi:type="dc:Point" x="1256" y="1783" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="907.5" y="1892" width="90" height="12" />
+          <dc:Bounds x="916" y="1762" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0sis7k0_di" bpmnElement="ScriptTask_0sis7k0">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0sis7k0_di" bpmnElement="ScriptTask_0sis7k0">
-        <dc:Bounds x="978" y="1333" width="100" height="80" />
+        <dc:Bounds x="293" y="1333" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1kx5ke9_di" bpmnElement="SequenceFlow_1kx5ke9">
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1kx5ke9_di" bpmnElement="SequenceFlow_1kx5ke9">
-        <di:waypoint xsi:type="dc:Point" x="1078" y="1373" />
-        <di:waypoint xsi:type="dc:Point" x="1229" y="1373" />
+        <di:waypoint xsi:type="dc:Point" x="393" y="1373" />
+        <di:waypoint xsi:type="dc:Point" x="844" y="1373" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1108.5" y="1352" width="90" height="12" />
+          <dc:Bounds x="573.5" y="1352" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_04xlw7s_di" bpmnElement="SequenceFlow_04xlw7s">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_04xlw7s_di" bpmnElement="SequenceFlow_04xlw7s">
@@ -579,6 +520,13 @@ dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
           <dc:Bounds x="630" y="1176" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
           <dc:Bounds x="630" y="1176" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_1cur6kz_di" bpmnElement="SequenceFlow_1cur6kz">
+        <di:waypoint xsi:type="dc:Point" x="944" y="1373" />
+        <di:waypoint xsi:type="dc:Point" x="1229" y="1373" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="1086.5" y="1352" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </bpmn2:definitions>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </bpmn2:definitions>
index b53e87d..23233ab 100644 (file)
@@ -190,31 +190,15 @@ csi.postProcessForAddResource(execution)]]></bpmn2:script>
 def dcsi = new DoUpdateE2EServiceInstanceRollback()
 dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
 def dcsi = new DoUpdateE2EServiceInstanceRollback()
 dcsi.preProcessAAIPUT(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:callActivity id="CallActivity_0zs5y0x" name="Call Custom E2E Put Service" calledElement="CustomE2EPutService">
-      <bpmn2:extensionElements>
-        <camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" />
-        <camunda:in sourceExpression="service-instance" target="GENGS_type" />
-        <camunda:out source="GENGS_FoundIndicator" target="GENGS_FoundIndicator" />
-        <camunda:out source="GENGS_SuccessIndicator" target="GENGS_SuccessIndicator" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-        <camunda:out source="GENGS_siResourceLink" target="GENGS_siResourceLink" />
-        <camunda:out source="GENGS_service" target="GENGS_service" />
-        <camunda:in source="globalSubscriberId" target="GENGS_globalCustomerId" />
-        <camunda:in source="serviceType" target="GENGS_serviceType" />
-      </bpmn2:extensionElements>
+    <bpmn2:scriptTask id="ScriptTask_1p96syr" name="&#10;AAI&#10;Create&#10;(svc instance)&#10;" scriptFormat="groovy">
       <bpmn2:incoming>SequenceFlow_1lppnhy</bpmn2:incoming>
       <bpmn2:incoming>SequenceFlow_1lppnhy</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_0kbisn8</bpmn2:outgoing>
-    </bpmn2:callActivity>
-    <bpmn2:scriptTask id="ScriptTask_1p96syr" name="Post Process AAI PUT" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_0kbisn8</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_1azhgda</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def dcsi = new DoUpdateE2EServiceInstanceRollback()
       <bpmn2:outgoing>SequenceFlow_1azhgda</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
 def dcsi = new DoUpdateE2EServiceInstanceRollback()
-dcsi.postProcessAAIPUT(execution)]]></bpmn2:script>
+dcsi.updateServiceInstance(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
     <bpmn2:sequenceFlow id="SequenceFlow_1a65s3k" sourceRef="IntermediateCatchEvent_0546q5i" targetRef="ScriptTask_0gj4dj5" />
     </bpmn2:scriptTask>
     <bpmn2:sequenceFlow id="SequenceFlow_1a65s3k" sourceRef="IntermediateCatchEvent_0546q5i" targetRef="ScriptTask_0gj4dj5" />
-    <bpmn2:sequenceFlow id="SequenceFlow_1lppnhy" sourceRef="ScriptTask_0gj4dj5" targetRef="CallActivity_0zs5y0x" />
-    <bpmn2:sequenceFlow id="SequenceFlow_0kbisn8" sourceRef="CallActivity_0zs5y0x" targetRef="ScriptTask_1p96syr" />
+    <bpmn2:sequenceFlow id="SequenceFlow_1lppnhy" sourceRef="ScriptTask_0gj4dj5" targetRef="ScriptTask_1p96syr" />
     <bpmn2:exclusiveGateway id="ExclusiveGateway_1k16vgh" name="RollBackAAI?" default="SequenceFlow_161uzhj">
       <bpmn2:documentation>rollback AAI</bpmn2:documentation>
       <bpmn2:incoming>SequenceFlow_08p4pkv</bpmn2:incoming>
     <bpmn2:exclusiveGateway id="ExclusiveGateway_1k16vgh" name="RollBackAAI?" default="SequenceFlow_161uzhj">
       <bpmn2:documentation>rollback AAI</bpmn2:documentation>
       <bpmn2:incoming>SequenceFlow_08p4pkv</bpmn2:incoming>
@@ -562,11 +546,8 @@ rbk.postProcessRequest(execution)]]></bpmn2:script>
       <bpmndi:BPMNShape id="ScriptTask_0gj4dj5_di" bpmnElement="ScriptTask_0gj4dj5">
         <dc:Bounds x="687" y="743" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0gj4dj5_di" bpmnElement="ScriptTask_0gj4dj5">
         <dc:Bounds x="687" y="743" width="100" height="80" />
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="CallActivity_0zs5y0x_di" bpmnElement="CallActivity_0zs5y0x">
-        <dc:Bounds x="841" y="743" width="100" height="80" />
-      </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1p96syr_di" bpmnElement="ScriptTask_1p96syr">
       <bpmndi:BPMNShape id="ScriptTask_1p96syr_di" bpmnElement="ScriptTask_1p96syr">
-        <dc:Bounds x="1014" y="743" width="100" height="80" />
+        <dc:Bounds x="929" y="743" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1a65s3k_di" bpmnElement="SequenceFlow_1a65s3k">
         <di:waypoint xsi:type="dc:Point" x="192" y="783" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1a65s3k_di" bpmnElement="SequenceFlow_1a65s3k">
         <di:waypoint xsi:type="dc:Point" x="192" y="783" />
@@ -577,18 +558,9 @@ rbk.postProcessRequest(execution)]]></bpmn2:script>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1lppnhy_di" bpmnElement="SequenceFlow_1lppnhy">
         <di:waypoint xsi:type="dc:Point" x="787" y="783" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1lppnhy_di" bpmnElement="SequenceFlow_1lppnhy">
         <di:waypoint xsi:type="dc:Point" x="787" y="783" />
-        <di:waypoint xsi:type="dc:Point" x="841" y="783" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="769" y="762" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0kbisn8_di" bpmnElement="SequenceFlow_0kbisn8">
-        <di:waypoint xsi:type="dc:Point" x="941" y="783" />
-        <di:waypoint xsi:type="dc:Point" x="978" y="783" />
-        <di:waypoint xsi:type="dc:Point" x="978" y="783" />
-        <di:waypoint xsi:type="dc:Point" x="1014" y="783" />
+        <di:waypoint xsi:type="dc:Point" x="929" y="783" />
         <bpmndi:BPMNLabel>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="948" y="777" width="90" height="12" />
+          <dc:Bounds x="813" y="762" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ExclusiveGateway_1k16vgh_di" bpmnElement="ExclusiveGateway_1k16vgh" isMarkerVisible="true">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ExclusiveGateway_1k16vgh_di" bpmnElement="ExclusiveGateway_1k16vgh" isMarkerVisible="true">
@@ -719,10 +691,10 @@ rbk.postProcessRequest(execution)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1azhgda_di" bpmnElement="SequenceFlow_1azhgda">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1azhgda_di" bpmnElement="SequenceFlow_1azhgda">
-        <di:waypoint xsi:type="dc:Point" x="1114" y="783" />
+        <di:waypoint xsi:type="dc:Point" x="1029" y="783" />
         <di:waypoint xsi:type="dc:Point" x="1171" y="783" />
         <bpmndi:BPMNLabel>
         <di:waypoint xsi:type="dc:Point" x="1171" y="783" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1097.5" y="762" width="90" height="12" />
+          <dc:Bounds x="1055" y="762" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_055b52t_di" bpmnElement="SequenceFlow_055b52t">
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_055b52t_di" bpmnElement="SequenceFlow_055b52t">
index ae77461..c77c684 100644 (file)
@@ -63,6 +63,7 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script>
         <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
         <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
         <camunda:in source="vnfModelInfo" target="vnfModelInfo" />
         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
+        <camunda:in source="cloudOwner" target="cloudOwner" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
         <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
         <camunda:in source="tenantId" target="tenantId" />
         <camunda:in source="sdncVersion" target="sdncVersion" />
index dc4669e..13dd322 100644 (file)
@@ -24,6 +24,7 @@
                        "cloudConfiguration":
                                {
                                        "lcpCloudRegionId":"mdt1",
                        "cloudConfiguration":
                                {
                                        "lcpCloudRegionId":"mdt1",
+                                       "cloudOwner" : "my-cloud-owner",
                                        "tenantId":"8b1df54faa3b49078e3416e21370a3ba"
                                },
                        "requestParameters":
                                        "tenantId":"8b1df54faa3b49078e3416e21370a3ba"
                                },
                        "requestParameters":
index dc4669e..13dd322 100644 (file)
@@ -24,6 +24,7 @@
                        "cloudConfiguration":
                                {
                                        "lcpCloudRegionId":"mdt1",
                        "cloudConfiguration":
                                {
                                        "lcpCloudRegionId":"mdt1",
+                                       "cloudOwner" : "my-cloud-owner",
                                        "tenantId":"8b1df54faa3b49078e3416e21370a3ba"
                                },
                        "requestParameters":
                                        "tenantId":"8b1df54faa3b49078e3416e21370a3ba"
                                },
                        "requestParameters":
index 8a5ade6..dc48c79 100644 (file)
@@ -101,30 +101,6 @@ mso:
           version: '9'
         generic-vnf:
           version: '9'
           version: '9'
         generic-vnf:
           version: '9'
-        v8:
-          customer:
-            uri: /aai/v8/business/customers/customer
-          generic-query:
-            uri: /aai/v8/search/generic-query
-          l3-network:
-            uri: /aai/v8/network/l3-networks/l3-network
-          network-policy:
-            uri: /aai/v8/network/network-policies/network-policy
-          nodes-query:
-            uri: /aai/v8/search/nodes-query
-          route-table-reference:
-            uri: /aai/v8/network/route-table-references/route-table-reference
-          tenant:
-            uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
-          vce:
-            uri: /aai/v8/network/vces/vce
-          vpn-binding:
-            uri: /aai/v8/network/vpn-bindings/vpn-binding
-        v9:
-          cloud-region:
-            uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic
-          generic-vnf:
-            uri: /aai/v9/network/generic-vnfs/generic-vnf
     global:
       default:
         aai:
     global:
       default:
         aai:
index 007615e..f214c61 100644 (file)
@@ -178,53 +178,6 @@ mso:
           version: '9'
         generic-vnf:
           version: '9'
           version: '9'
         generic-vnf:
           version: '9'
-        v11:
-          customer:
-            uri: /aai/v11/business/customers/customer
-          generic-query:
-            uri: /aai/v11/search/generic-query
-          generic-vnf:
-            uri: /aai/v11/network/generic-vnfs/generic-vnf
-          l3-network:
-            uri: /aai/v11/network/l3-networks/l3-network
-          network-policy:
-            uri: /aai/v11/network/network-policies/network-policy
-          nodes-query:
-            uri: /aai/v11/search/nodes-query
-          route-table-reference:
-            uri: /aai/v11/network/route-table-references/route-table-reference
-          tenant:
-            uri: /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
-          vce:
-            uri: /aai/v11/network/vces/vce
-          vpn-binding:
-            uri: /aai/v11/network/vpn-bindings/vpn-binding
-        v8:
-          configuration:
-            uri: /aai/v11/network/configurations/configuration
-          customer:
-            uri: /aai/v8/business/customers/customer
-          generic-query:
-            uri: /aai/v8/search/generic-query
-          l3-network:
-            uri: /aai/v8/network/l3-networks/l3-network
-          network-policy:
-            uri: /aai/v8/network/network-policies/network-policy
-          nodes-query:
-            uri: /aai/v8/search/nodes-query
-          route-table-reference:
-            uri: /aai/v8/network/route-table-references/route-table-reference
-          tenant:
-            uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
-          vce:
-            uri: /aai/v8/network/vces/vce
-          vpn-binding:
-            uri: /aai/v8/network/vpn-bindings/vpn-binding
-        v9:
-          cloud-region:
-            uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic
-          generic-vnf:
-            uri: /aai/v9/network/generic-vnfs/generic-vnf
       retry:
         attempts: '1'
     deleteCinderVolumeV1:
       retry:
         attempts: '1'
     deleteCinderVolumeV1:
index 3483aed..d9b3ee5 100644 (file)
@@ -29,7 +29,7 @@
                <dependency>
                        <groupId>org.onap.sdnc.northbound</groupId>
                        <artifactId>generic-resource-api-client</artifactId>
                <dependency>
                        <groupId>org.onap.sdnc.northbound</groupId>
                        <artifactId>generic-resource-api-client</artifactId>
-                       <version>1.4.0-SNAPSHOT</version>
+                       <version>1.4.0</version>
                        <exclusions>
                                <exclusion>
                                        <groupId>javax.ws.rs</groupId>
                        <exclusions>
                                <exclusion>
                                        <groupId>javax.ws.rs</groupId>
index 7bc4851..0190f3d 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -29,6 +29,7 @@ import java.util.UUID;
 
 import org.apache.commons.lang.SerializationUtils;
 import org.camunda.bpm.engine.delegate.BpmnError;
 
 import org.apache.commons.lang.SerializationUtils;
 import org.camunda.bpm.engine.delegate.BpmnError;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.json.JSONArray;
 import org.json.JSONObject;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
 import org.json.JSONArray;
 import org.json.JSONObject;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
index bf429ee..534e936 100644 (file)
@@ -29,6 +29,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
 import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
 import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
+import org.onap.so.client.aai.entities.AAIEdgeLabel;
 import org.onap.so.client.exception.ExceptionBuilder;
 import org.onap.so.client.orchestration.AAIInstanceGroupResources;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.onap.so.client.exception.ExceptionBuilder;
 import org.onap.so.client.orchestration.AAIInstanceGroupResources;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -55,10 +56,10 @@ public class AssignVnf {
                                if(ModelInfoInstanceGroup.TYPE_VNFC.equalsIgnoreCase(instanceGroup.getModelInfoInstanceGroup().getType())) {
                                        instanceGroup.setInstanceGroupName(aaiObjectInstanceNameGenerator.generateInstanceGroupName(instanceGroup, vnf));
                                        aaiInstanceGroupResources.createInstanceGroup(instanceGroup);
                                if(ModelInfoInstanceGroup.TYPE_VNFC.equalsIgnoreCase(instanceGroup.getModelInfoInstanceGroup().getType())) {
                                        instanceGroup.setInstanceGroupName(aaiObjectInstanceNameGenerator.generateInstanceGroupName(instanceGroup, vnf));
                                        aaiInstanceGroupResources.createInstanceGroup(instanceGroup);
-                                       aaiInstanceGroupResources.connectInstanceGroupToVnf(instanceGroup, vnf);
+                                       aaiInstanceGroupResources.connectInstanceGroupToVnf(instanceGroup, vnf, AAIEdgeLabel.BELONGS_TO);
                                }
                                else if(ModelInfoInstanceGroup.TYPE_NETWORK_INSTANCE_GROUP.equalsIgnoreCase(instanceGroup.getModelInfoInstanceGroup().getType())) {
                                }
                                else if(ModelInfoInstanceGroup.TYPE_NETWORK_INSTANCE_GROUP.equalsIgnoreCase(instanceGroup.getModelInfoInstanceGroup().getType())) {
-                                       aaiInstanceGroupResources.connectInstanceGroupToVnf(instanceGroup, vnf);
+                                       aaiInstanceGroupResources.connectInstanceGroupToVnf(instanceGroup, vnf, AAIEdgeLabel.USES);
                                }
                        }
                } 
                                }
                        }
                } 
index e7d09f8..724dea6 100644 (file)
@@ -104,6 +104,7 @@ public class WorkflowAction {
        private static final String USERPARAMSERVICE = "service";
        private static final String supportedTypes = "vnfs|vfModules|networks|networkCollections|volumeGroups|serviceInstances";
        private static final String HOMINGSOLUTION = "Homing_Solution";
        private static final String USERPARAMSERVICE = "service";
        private static final String supportedTypes = "vnfs|vfModules|networks|networkCollections|volumeGroups|serviceInstances";
        private static final String HOMINGSOLUTION = "Homing_Solution";
+       private static final String FABRIC_CONFIGURATION = "FabricConfiguration";       
        private static final Logger logger = LoggerFactory.getLogger(WorkflowAction.class);
        
        @Autowired
        private static final Logger logger = LoggerFactory.getLogger(WorkflowAction.class);
        
        @Autowired
@@ -177,6 +178,7 @@ public class WorkflowAction {
                                if (orchFlows == null || orchFlows.isEmpty()) {
                                        orchFlows = queryNorthBoundRequestCatalogDb(execution, requestAction, resourceType, aLaCarte);
                                }
                                if (orchFlows == null || orchFlows.isEmpty()) {
                                        orchFlows = queryNorthBoundRequestCatalogDb(execution, requestAction, resourceType, aLaCarte);
                                }
+                               orchFlows = filterOrchFlows(orchFlows, resourceType, execution);
                                String key = "";
                                ModelInfo modelInfo = sIRequest.getRequestDetails().getModelInfo();
                                if(modelInfo.getModelType().equals(ModelType.service)) {
                                String key = "";
                                ModelInfo modelInfo = sIRequest.getRequestDetails().getModelInfo();
                                if(modelInfo.getModelType().equals(ModelType.service)) {
@@ -238,7 +240,7 @@ public class WorkflowAction {
                                                && (requestAction.equalsIgnoreCase("activateInstance")
                                                                || requestAction.equalsIgnoreCase("unassignInstance")
                                                                || requestAction.equalsIgnoreCase("deleteInstance")
                                                && (requestAction.equalsIgnoreCase("activateInstance")
                                                                || requestAction.equalsIgnoreCase("unassignInstance")
                                                                || requestAction.equalsIgnoreCase("deleteInstance")
-                                                               || requestAction.equalsIgnoreCase("activateFabricConfiguration"))) {
+                                                               || requestAction.equalsIgnoreCase("activate" + FABRIC_CONFIGURATION))) {
                                        // SERVICE-MACRO-ACTIVATE, SERVICE-MACRO-UNASSIGN, and
                                        // SERVICE-MACRO-DELETE
                                        // Will never get user params with service, macro will have
                                        // SERVICE-MACRO-ACTIVATE, SERVICE-MACRO-UNASSIGN, and
                                        // SERVICE-MACRO-DELETE
                                        // Will never get user params with service, macro will have
@@ -619,13 +621,13 @@ public class WorkflowAction {
        }
        
 
        }
        
 
-       private List<String> traverseCatalogDbForConfiguration(String vnfCustomizationUUID, String vfModuleCustomizationUUID) {
+       protected List<String> traverseCatalogDbForConfiguration(String vnfCustomizationUUID, String vfModuleCustomizationUUID) {
                List<String> configurations = new ArrayList<>();
                try{
                        List<CvnfcCustomization> cvnfcCustomizations = catalogDbClient.getCvnfcCustomizationByVnfCustomizationUUIDAndVfModuleCustomizationUUID(vnfCustomizationUUID, vfModuleCustomizationUUID);
                        for(CvnfcCustomization cvnfc : cvnfcCustomizations){
                                for(VnfVfmoduleCvnfcConfigurationCustomization customization : cvnfc.getVnfVfmoduleCvnfcConfigurationCustomization()){
                List<String> configurations = new ArrayList<>();
                try{
                        List<CvnfcCustomization> cvnfcCustomizations = catalogDbClient.getCvnfcCustomizationByVnfCustomizationUUIDAndVfModuleCustomizationUUID(vnfCustomizationUUID, vfModuleCustomizationUUID);
                        for(CvnfcCustomization cvnfc : cvnfcCustomizations){
                                for(VnfVfmoduleCvnfcConfigurationCustomization customization : cvnfc.getVnfVfmoduleCvnfcConfigurationCustomization()){
-                                       if(customization.getConfigurationResource().getToscaNodeType().contains("FabricConfiguration")){
+                                       if(customization.getConfigurationResource().getToscaNodeType().contains(FABRIC_CONFIGURATION)){
                                                configurations.add(customization.getConfigurationResource().getModelUUID());
                                        }
                                }
                                                configurations.add(customization.getConfigurationResource().getModelUUID());
                                        }
                                }
@@ -964,6 +966,17 @@ public class WorkflowAction {
                }
                return listToExecute;
        }
                }
                return listToExecute;
        }
+       
+       protected List<OrchestrationFlow> filterOrchFlows(List<OrchestrationFlow> orchFlows, WorkflowType resourceType, DelegateExecution execution) {
+               List<OrchestrationFlow> result = new ArrayList<>(orchFlows);
+               if (resourceType.equals(WorkflowType.VFMODULE)) {
+                       List<String> fabricCustomizations = traverseCatalogDbForConfiguration((String)execution.getVariable("vnfId"), (String)execution.getVariable("vfModuleId"));
+                       if (fabricCustomizations.isEmpty()) {
+                               result = orchFlows.stream().filter(item -> !item.getFlowName().contains(FABRIC_CONFIGURATION)).collect(Collectors.toList());
+                       }
+               }
+               return result;
+       }
 
        protected void buildAndThrowException(DelegateExecution execution, String msg, Exception ex) {
                logger.error(msg, ex);
 
        protected void buildAndThrowException(DelegateExecution execution, String msg, Exception ex) {
                logger.error(msg, ex);
index 2b58b7b..81c2107 100644 (file)
@@ -23,15 +23,18 @@ package org.onap.so.client.adapter.vnf.mapper;
 import static java.util.Arrays.asList;
 
 import java.io.IOException;
 import static java.util.Arrays.asList;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Optional;
 
 import javax.annotation.PostConstruct;
 import java.util.Optional;
 
 import javax.annotation.PostConstruct;
-import javax.validation.Valid;
 
 import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
 
 import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
 import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
@@ -303,6 +306,9 @@ public class VnfAdapterVfModuleObjectMapper {
                                                                                buildVfModuleSriovParameters(paramsMap, network, networkKey);                                                                   
                                                                                // IPV4 and IPV6 Addresses
                                                                                buildVfModuleNetworkInformation(paramsMap, network, key, networkKey);
                                                                                buildVfModuleSriovParameters(paramsMap, network, networkKey);                                                                   
                                                                                // IPV4 and IPV6 Addresses
                                                                                buildVfModuleNetworkInformation(paramsMap, network, key, networkKey);
+                                                                               
+                                                                               buildVlanInformation(paramsMap, network, key, networkKey);
+                                                                               
                                                                        }
                                                                }
                                                        }
                                                                        }
                                                                }
                                                        }
@@ -315,6 +321,36 @@ public class VnfAdapterVfModuleObjectMapper {
                }
        }
        
                }
        }
        
+       protected void buildVlanInformation(Map<String, String> paramsMap,
+                       GenericResourceApiVmNetworkData network, String key, String networkKey) {
+               
+               String networkString = convertToString(network);
+               String vlanFilterKey = key + UNDERSCORE + networkKey + UNDERSCORE + "vlan_filter";
+               String privateVlansKey = key + UNDERSCORE + networkKey + UNDERSCORE + "private_vlans";
+               String publicVlansKey = key + UNDERSCORE + networkKey + UNDERSCORE + "public_vlans";
+               String guestVlansKey = key + UNDERSCORE + networkKey + UNDERSCORE + "guest_vlans";
+               
+               if (network.getSegmentationId() != null) {
+                       paramsMap.put(vlanFilterKey, network.getSegmentationId());
+               }
+               
+               List<String> privateVlans = jsonPath.locateResultList(networkString, "$.related-networks.related-network[?(@.vlan-tags.is-private == true)].vlan-tags.upper-tag-id");
+               List<String> publicVlans = jsonPath.locateResultList(networkString, "$.related-networks.related-network[?(@.vlan-tags.is-private == false)].vlan-tags.upper-tag-id");
+               List<String> concat = new ArrayList<>(privateVlans);
+               concat.addAll(publicVlans);
+               Collection<String> guestVlans = new HashSet<>(concat);
+               
+               if (!privateVlans.isEmpty()) {
+                       paramsMap.put(privateVlansKey, Joiner.on(",").join(privateVlans));
+               }
+               if (!publicVlans.isEmpty()) {
+                       paramsMap.put(publicVlansKey, Joiner.on(",").join(publicVlans));
+               }
+               if (!guestVlans.isEmpty()) {
+                       paramsMap.put(guestVlansKey, Joiner.on(",").join(guestVlans));
+               }
+       }
+
        private void buildVfModuleVmNames(Map<String,String> paramsMap, GenericResourceApiVmTopologyData vm, String key) {
                String values = "";
                GenericResourceApiVmtopologydataVmNames vmNames = vm.getVmNames();
        private void buildVfModuleVmNames(Map<String,String> paramsMap, GenericResourceApiVmTopologyData vm, String key) {
                String values = "";
                GenericResourceApiVmtopologydataVmNames vmNames = vm.getVmNames();
index 4c4edb7..68f6e8f 100644 (file)
@@ -26,6 +26,7 @@ import org.onap.so.bpmn.common.InjectionHelper;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
 import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.entities.AAIEdgeLabel;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.mapper.AAIObjectMapper;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.mapper.AAIObjectMapper;
@@ -57,6 +58,12 @@ public class AAIInstanceGroupResources {
                injectionHelper.getAaiClient().connect(instanceGroupUri, vnfURI);
        }
        
                injectionHelper.getAaiClient().connect(instanceGroupUri, vnfURI);
        }
        
+       public void connectInstanceGroupToVnf(InstanceGroup instanceGroup, GenericVnf vnf, AAIEdgeLabel aaiLabel) {
+               AAIResourceUri instanceGroupUri = AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroup.getId());
+               AAIResourceUri vnfURI = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnf.getVnfId());
+               injectionHelper.getAaiClient().connect(instanceGroupUri, vnfURI, aaiLabel);
+       }
+       
        public boolean exists(InstanceGroup instanceGroup) {
                AAIResourceUri instanceGroupUri = AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroup.getId());
                return injectionHelper.getAaiClient().exists(instanceGroupUri);
        public boolean exists(InstanceGroup instanceGroup) {
                AAIResourceUri instanceGroupUri = AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroup.getId());
                return injectionHelper.getAaiClient().exists(instanceGroupUri);
index b5738dc..86dd22b 100644 (file)
@@ -107,7 +107,7 @@ public class AAIServiceInstanceResources {
        }
        
        public boolean existsOwningEntityName(String owningEntityName) {
        }
        
        public boolean existsOwningEntityName(String owningEntityName) {
-               AAIResourceUri owningEntityUri = AAIUriFactory.createResourceUri(AAIObjectPlurals.OWNING_ENTITIES).queryParam("owning-entity-name", owningEntityName);
+               AAIResourceUri owningEntityUri = AAIUriFactory.createResourceUri(AAIObjectPlurals.OWNING_ENTITY).queryParam("owning-entity-name", owningEntityName);
                AAIResourcesClient aaiRC = injectionHelper.getAaiClient();
                return aaiRC.exists(owningEntityUri);
        }
                AAIResourcesClient aaiRC = injectionHelper.getAaiClient();
                return aaiRC.exists(owningEntityUri);
        }
index 8bd55f0..092af30 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -28,6 +28,7 @@ import org.onap.aai.domain.yang.VpnBindings;
 import org.onap.so.bpmn.common.InjectionHelper;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding;
 import org.onap.so.bpmn.common.InjectionHelper;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding;
+import org.onap.so.client.aai.AAIObjectPlurals;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
@@ -39,10 +40,10 @@ import org.springframework.stereotype.Component;
 public class AAIVpnBindingResources {
        @Autowired
        private InjectionHelper injectionHelper;
 public class AAIVpnBindingResources {
        @Autowired
        private InjectionHelper injectionHelper;
-       
+
        @Autowired
        private AAIObjectMapper aaiObjectMapper;
        @Autowired
        private AAIObjectMapper aaiObjectMapper;
-       
+
        /**
         * @param customer
         */
        /**
         * @param customer
         */
@@ -56,10 +57,10 @@ public class AAIVpnBindingResources {
         * @return
         */
        public Optional<VpnBindings> getVpnBindingByCustomerVpnId (String customerVpnId) {
         * @return
         */
        public Optional<VpnBindings> getVpnBindingByCustomerVpnId (String customerVpnId) {
-               AAIResourceUri aaiVpnBindingsResourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VPN_BINDINGS)
+               AAIResourceUri aaiVpnBindingsResourceUri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VPN_BINDING)
                                                                                        .queryParam("customer-vpn-id",customerVpnId);
                                                                                        .queryParam("customer-vpn-id",customerVpnId);
-               return injectionHelper.getAaiClient().get(VpnBindings.class,aaiVpnBindingsResourceUri); 
-               
+               return injectionHelper.getAaiClient().get(VpnBindings.class,aaiVpnBindingsResourceUri);
+
        }
 
        /**
        }
 
        /**
index 432399b..3975b25 100644 (file)
@@ -86,8 +86,8 @@ public class GeneralTopologyObjectMapper {
 
                networkInformation.setFromPreload(null);
                networkInformation.setNetworkId(network.getNetworkId());
 
                networkInformation.setFromPreload(null);
                networkInformation.setNetworkId(network.getNetworkId());
-               //TODO fix this after network type filed included in L3Network object type
-               //networkInformation.setNetworkType(network.getNetwork);
+               networkInformation.setNetworkType(network.getNetworkType());
+               networkInformation.setNetworkTechnology(network.getNetworkTechnology());
                return networkInformation;
        }
        /*
                return networkInformation;
        }
        /*
index 8944d1e..1355151 100644 (file)
@@ -71,7 +71,7 @@ public class VnfTopologyOperationRequestMapper {
 
                vnfRequestInput.setTenant(cloudRegion.getTenantId());
                vnfRequestInput.setAicCloudRegion(cloudRegion.getLcpCloudRegionId());
 
                vnfRequestInput.setTenant(cloudRegion.getTenantId());
                vnfRequestInput.setAicCloudRegion(cloudRegion.getLcpCloudRegionId());
-
+               
                if (StringUtils.isNotBlank(vnf.getVnfName())) {
                        vnfRequestInput.setVnfName(vnf.getVnfName());
                }
                if (StringUtils.isNotBlank(vnf.getVnfName())) {
                        vnfRequestInput.setVnfName(vnf.getVnfName());
                }
index e1b652a..8382b9b 100644 (file)
@@ -33,6 +33,7 @@ import org.onap.so.bpmn.BaseTaskTest;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
+import org.onap.so.client.aai.entities.AAIEdgeLabel;
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class AssignVnfTest extends BaseTaskTest {
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class AssignVnfTest extends BaseTaskTest {
@@ -87,10 +88,10 @@ public class AssignVnfTest extends BaseTaskTest {
                assignVnf.createInstanceGroups(execution);
                verify(aaiInstanceGroupResources, times(1)).createInstanceGroup(instanceGroup1);
                verify(aaiInstanceGroupResources, times(1)).createInstanceGroup(instanceGroup2);
                assignVnf.createInstanceGroups(execution);
                verify(aaiInstanceGroupResources, times(1)).createInstanceGroup(instanceGroup1);
                verify(aaiInstanceGroupResources, times(1)).createInstanceGroup(instanceGroup2);
-               verify(aaiInstanceGroupResources, times(1)).connectInstanceGroupToVnf(instanceGroup1, genericVnf);
-               verify(aaiInstanceGroupResources, times(1)).connectInstanceGroupToVnf(instanceGroup2, genericVnf);
-               verify(aaiInstanceGroupResources, times(1)).connectInstanceGroupToVnf(instanceGroup3, genericVnf);
-               verify(aaiInstanceGroupResources, times(1)).connectInstanceGroupToVnf(instanceGroup4, genericVnf);
+               verify(aaiInstanceGroupResources, times(1)).connectInstanceGroupToVnf(instanceGroup1, genericVnf, AAIEdgeLabel.BELONGS_TO);
+               verify(aaiInstanceGroupResources, times(1)).connectInstanceGroupToVnf(instanceGroup2, genericVnf, AAIEdgeLabel.BELONGS_TO);
+               verify(aaiInstanceGroupResources, times(1)).connectInstanceGroupToVnf(instanceGroup3, genericVnf, AAIEdgeLabel.USES);
+               verify(aaiInstanceGroupResources, times(1)).connectInstanceGroupToVnf(instanceGroup4, genericVnf, AAIEdgeLabel.USES);
        }
        
        @Test
        }
        
        @Test
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionUnitTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionUnitTest.java
new file mode 100644 (file)
index 0000000..b818b07
--- /dev/null
@@ -0,0 +1,158 @@
+package org.onap.so.bpmn.infrastructure.workflow.tasks;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetup;
+import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils;
+import org.onap.so.client.exception.ExceptionBuilder;
+import org.onap.so.client.orchestration.AAIConfigurationResources;
+import org.onap.so.db.catalog.beans.ConfigurationResource;
+import org.onap.so.db.catalog.beans.CvnfcCustomization;
+import org.onap.so.db.catalog.beans.VnfVfmoduleCvnfcConfigurationCustomization;
+import org.onap.so.db.catalog.beans.macro.OrchestrationFlow;
+import org.onap.so.db.catalog.client.CatalogDbClient;
+
+@RunWith(MockitoJUnitRunner.class)
+public class WorkflowActionUnitTest {
+
+       private final static String JSON_FILE_LOCATION = "src/test/resources/__files/Macro/";
+       
+       @Mock
+       private CatalogDbClient catalogDbClient;
+       @Mock
+       private BBInputSetup bbInputSetup;
+       @Mock
+       private BBInputSetupUtils bbInputSetupUtils;
+       @Mock
+       private ExceptionBuilder exceptionBuilder;
+       @Mock
+       private AAIConfigurationResources aaiConfigurationResources;
+       
+       @InjectMocks
+       @Spy
+       private WorkflowAction workflowAction;
+       
+       @Test
+       public void filterOrchFlowsHasFabricTest() {
+               
+               List<OrchestrationFlow> flows = createFlowList(
+                               "DeactivateFabricConfigurationBB",
+                               "flow x",
+                               "flow y",
+                               "ActivateFabricConfigurationBB",
+                               "flow z");
+               doReturn(Arrays.asList("yes", "yes")).when(workflowAction).traverseCatalogDbForConfiguration(any(String.class), any(String.class));
+               
+               List<OrchestrationFlow> result = workflowAction.filterOrchFlows(flows, WorkflowType.VFMODULE, mock(DelegateExecution.class));
+               
+               assertThat(result, is(flows));
+       }
+       
+       @Test
+       public void filterOrchFlowNoFabricTest() {
+               List<OrchestrationFlow> flows = createFlowList(
+                               "DeactivateFabricConfigurationBB",
+                               "flow x",
+                               "flow y",
+                               "ActivateFabricConfigurationBB",
+                               "flow z");
+               doReturn(Arrays.asList()).when(workflowAction).traverseCatalogDbForConfiguration(any(String.class), any(String.class));
+               
+               List<OrchestrationFlow> result = workflowAction.filterOrchFlows(flows, WorkflowType.VFMODULE, mock(DelegateExecution.class));
+               List<OrchestrationFlow> expected = createFlowList(
+                               "flow x",
+                               "flow y",
+                               "flow z");
+               
+               assertThat(result, is(expected));
+       }
+       
+       @Test
+       public void traverseCatalogDbForConfigurationTest() {
+               
+               CvnfcCustomization cvnfcCustomization = new CvnfcCustomization();
+               VnfVfmoduleCvnfcConfigurationCustomization vfModuleCustomization = new VnfVfmoduleCvnfcConfigurationCustomization();
+               ConfigurationResource configuration = new ConfigurationResource();
+               configuration.setToscaNodeType("FabricConfiguration");
+               configuration.setModelUUID("my-uuid");
+               vfModuleCustomization.setConfigurationResource(configuration);
+               cvnfcCustomization.setVnfVfmoduleCvnfcConfigurationCustomization(Collections.singleton(vfModuleCustomization));
+               List<CvnfcCustomization> cvnfcCustomizations = Arrays.asList(cvnfcCustomization);
+               when(catalogDbClient.getCvnfcCustomizationByVnfCustomizationUUIDAndVfModuleCustomizationUUID(any(String.class), any(String.class)))
+                       .thenReturn(cvnfcCustomizations);
+               
+               List<String> results = workflowAction.traverseCatalogDbForConfiguration("myVnfCustomizationId", "myVfModuleCustomizationId");
+               
+               assertThat(results, is(Arrays.asList("my-uuid")));
+               
+       }
+       
+       @Test
+       public void verifyFilterOrchInvocation() throws Exception {
+               DelegateExecution execution = mock(DelegateExecution.class);
+               
+               when(execution.getVariable(eq("aLaCarte"))).thenReturn(true);
+               when(execution.getVariable(eq("bpmnRequest"))).thenReturn(getJson("ServiceMacroAssign.json"));
+               when(execution.getVariable(eq("requestUri"))).thenReturn("/v6/serviceInstances/123/vnfs/1234");
+               
+               OrchestrationFlow flow = new OrchestrationFlow();
+               flow.setFlowName("flow x");
+               
+               List<OrchestrationFlow> flows = Arrays.asList(flow);
+               doReturn(Arrays.asList(flow)).when(workflowAction).queryNorthBoundRequestCatalogDb(any(), any(), any(), anyBoolean());
+               workflowAction.selectExecutionList(execution);
+               
+               verify(workflowAction, times(1)).filterOrchFlows(eq(flows), any(), any());
+               
+               flow = new OrchestrationFlow();
+               flow.setFlowName("flow y");
+               flows = Arrays.asList(flow);
+               when(execution.getVariable(eq("aLaCarte"))).thenReturn(false);
+               workflowAction.selectExecutionList(execution);
+               
+               verify(workflowAction, never()).filterOrchFlows(eq(flows), any(), any());
+
+       }
+       
+       private String getJson(String filename) throws IOException {
+                return new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + filename)));
+       }
+       
+       private List<OrchestrationFlow> createFlowList(String... myList) {
+               
+               List<OrchestrationFlow> result = new ArrayList<>();
+               for (String name : myList) {
+                       OrchestrationFlow flow = new OrchestrationFlow();
+                       flow.setFlowName(name);
+                       result.add(flow);
+               }
+               
+               return result;
+               
+       }
+}
index 0c9e281..a68afd8 100644 (file)
@@ -22,17 +22,20 @@ package org.onap.so.client.adapter.vnf.mapper;
 
 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
 
 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
+import static org.junit.Assert.assertEquals;
 
 
+import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.HashMap;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.HashMap;
+import java.util.Map;
 
 import org.junit.Before;
 import org.junit.Test;
 
 import org.junit.Before;
 import org.junit.Test;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVmNetworkData;
 import org.onap.so.adapters.vnfrest.CreateVfModuleRequest;
 import org.onap.so.adapters.vnfrest.DeleteVfModuleRequest;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
 import org.onap.so.adapters.vnfrest.CreateVfModuleRequest;
 import org.onap.so.adapters.vnfrest.DeleteVfModuleRequest;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
@@ -770,4 +773,18 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
 
                assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
        }
 
                assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
        }
+       
+       @Test
+       public void networkCloudParamsTest() throws IOException {
+               
+               String json = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "grApiVmNetworkSubSectionWith5GParams.json")));
+               GenericResourceApiVmNetworkData network = omapper.readValue(json, GenericResourceApiVmNetworkData.class);
+               Map<String, String> paramsMap = new HashMap<>();
+               vfModuleObjectMapper.buildVlanInformation(paramsMap, network, "testKey", "testType");
+               
+               assertEquals("1,3", paramsMap.get("testKey_testType_private_vlans"));
+               assertEquals("2,3", paramsMap.get("testKey_testType_public_vlans"));
+               assertEquals("1,2,3", paramsMap.get("testKey_testType_guest_vlans"));
+               assertEquals("my-segemntation-id", paramsMap.get("testKey_testType_vlan_filter"));
+       }
 }
 }
index aef25e5..621e275 100644 (file)
@@ -40,6 +40,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.AAIResourcesClient;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.AAIResourcesClient;
+import org.onap.so.client.aai.entities.AAIEdgeLabel;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.mapper.AAIObjectMapper;
 @RunWith(MockitoJUnitRunner.class)
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.mapper.AAIObjectMapper;
 @RunWith(MockitoJUnitRunner.class)
@@ -86,6 +87,12 @@ public class AAIInstanceGroupResourcesTest extends TestDataSetup{
                verify(MOCK_aaiResourcesClient, times(1)).connect(eq(AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroup.getId())), eq(AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnf.getVnfId())));
        }
        
                verify(MOCK_aaiResourcesClient, times(1)).connect(eq(AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroup.getId())), eq(AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnf.getVnfId())));
        }
        
+       @Test
+       public void connectInstanceGroupWithEdgeTest() throws Exception {
+               aaiInstanceGroupResources.connectInstanceGroupToVnf(instanceGroup, vnf, AAIEdgeLabel.BELONGS_TO);
+               verify(MOCK_aaiResourcesClient, times(1)).connect(eq(AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroup.getId())), eq(AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnf.getVnfId())), eq(AAIEdgeLabel.BELONGS_TO));
+       }
+       
        @Test
        public void existsTest() throws Exception {
                aaiInstanceGroupResources.exists(instanceGroup);
        @Test
        public void existsTest() throws Exception {
                aaiInstanceGroupResources.exists(instanceGroup);
index 298a3de..ba7dc8d 100644 (file)
 
 package org.onap.so.client.sdnc.mapper;
 
 
 package org.onap.so.client.sdnc.mapper;
 
+import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
 
 import java.util.HashMap;
 
 
 import java.util.HashMap;
 
@@ -32,28 +34,31 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.mockito.InjectMocks;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.mockito.InjectMocks;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiConfigurationinformationConfigurationInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiGcrequestinputGcRequestInput;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkinformationNetworkInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiOnapmodelinformationOnapModelInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiSvcActionEnumeration;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfinformationVnfInformation;
 import org.onap.so.bpmn.common.data.TestDataSetup;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.common.data.TestDataSetup;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoConfiguration;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoConfiguration;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
 import org.onap.so.client.sdnc.beans.SDNCSvcAction;
 
 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
 import org.onap.so.client.sdnc.beans.SDNCSvcAction;
 
-import org.onap.sdnc.northbound.client.model.GenericResourceApiConfigurationinformationConfigurationInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiGcrequestinputGcRequestInput;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiSvcActionEnumeration;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfinformationVnfInformation;
-
 
 
-public class GeneralTopologyObjectMapperTest  extends TestDataSetup{
+public class GeneralTopologyObjectMapperTest  extends TestDataSetup {
        @InjectMocks
        private GeneralTopologyObjectMapper genObjMapper = new GeneralTopologyObjectMapper();
 
        @InjectMocks
        private GeneralTopologyObjectMapper genObjMapper = new GeneralTopologyObjectMapper();
 
@@ -222,4 +227,55 @@ public class GeneralTopologyObjectMapperTest  extends TestDataSetup{
                assertEquals(vnf.getVnfId(),gcRequestInput.getVnfId());
                assertNotNull(gcRequestInput.getVnfId());
        }
                assertEquals(vnf.getVnfId(),gcRequestInput.getVnfId());
                assertNotNull(gcRequestInput.getVnfId());
        }
+       
+       @Test
+       public void buildNetworkInformationTest() {
+               
+               L3Network network = new L3Network();
+               ModelInfoNetwork modelInfoNetwork = new ModelInfoNetwork();
+               modelInfoNetwork.setModelInvariantUUID("my-uuid");
+               modelInfoNetwork.setModelName("my-model-name");
+               modelInfoNetwork.setModelVersion("my-model-version");
+               modelInfoNetwork.setModelUUID("my-model-uuid");
+               modelInfoNetwork.setModelCustomizationUUID("my-customization-uuid");
+               network.setModelInfoNetwork(modelInfoNetwork);
+               network.setNetworkId("my-network-id");
+               network.setNetworkType("my-network-type");
+               network.setNetworkTechnology("my-network-technology");
+               
+               GenericResourceApiNetworkinformationNetworkInformation networkInformation = new GenericResourceApiNetworkinformationNetworkInformation();
+               GenericResourceApiOnapmodelinformationOnapModelInformation onapModelInformation = new GenericResourceApiOnapmodelinformationOnapModelInformation();
+               networkInformation.setNetworkId("my-network-id");
+               networkInformation.setNetworkType("my-network-type");
+               networkInformation.networkTechnology("my-network-technology");
+               networkInformation.setFromPreload(null);
+               onapModelInformation.setModelInvariantUuid("my-uuid");
+               onapModelInformation.setModelName("my-model-name");
+               onapModelInformation.setModelVersion("my-model-version");
+               onapModelInformation.setModelUuid("my-model-uuid");
+               onapModelInformation.setModelCustomizationUuid("my-customization-uuid");
+               networkInformation.setOnapModelInformation(onapModelInformation);
+               
+               assertThat(networkInformation, sameBeanAs(genObjMapper.buildNetworkInformation(network)));
+               
+       }
+       
+       @Test
+       public void buildNetworkInformationNoModelTest() {
+               
+               L3Network network = new L3Network();
+               network.setNetworkId("my-network-id");
+               network.setNetworkType("my-network-type");
+               network.setNetworkTechnology("my-network-technology");
+               
+               GenericResourceApiNetworkinformationNetworkInformation networkInformation = new GenericResourceApiNetworkinformationNetworkInformation();
+               networkInformation.setNetworkId("my-network-id");
+               networkInformation.setNetworkType("my-network-type");
+               networkInformation.networkTechnology("my-network-technology");
+               networkInformation.setFromPreload(null);
+               
+               
+               assertThat(networkInformation, sameBeanAs(genObjMapper.buildNetworkInformation(network)));
+               
+       }
 }
 }
diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/grApiVmNetworkSubSectionWith5GParams.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/grApiVmNetworkSubSectionWith5GParams.json
new file mode 100644 (file)
index 0000000..e83f487
--- /dev/null
@@ -0,0 +1,73 @@
+{
+       "network-role": "vmNetworkRole0",
+       "segmentation-id" : "my-segemntation-id",
+       "floating-ips": {
+               "floating-ip-v4": [
+                       "floatingIpV40",
+                       "floatingIpV41"
+               ],
+               "floating-ip-v6": [
+                       "floatingIpV60",
+                       "floatingIpV61"
+               ]
+       },
+       "interface-route-prefixes": {
+               "interface-route-prefix": [
+                       "interfaceRoutePrefix0",
+                       "interfaceRoutePrefix1"
+               ]
+       },
+       "sriov-parameters": {
+               "heat-vlan-filters": {
+                       "heat-vlan-filter": [
+                               "heatVlanFilter0",
+                               "heatVlanFilter1"
+                       ]
+               }
+       },
+       "network-information-items": {
+               "network-information-item": [
+                       {
+                               "network-ips": {
+                                       "network-ip": [
+                                               "ip0",
+                                               "ip1"
+                                       ]
+                               },
+                               "ip-version": "ipv4"
+                       },
+                       {
+                               "network-ips": {
+                                       "network-ip": [
+                                               "ip2",
+                                               "ip3"
+                                       ]
+                               },
+                               "ip-version": "ipv6"
+                       }
+               ]
+       },
+       "related-networks" : {
+               "related-network" : [{
+                       "vlan-tags" : {
+                               "is-private" : "True",
+                               "upper-tag-id" : "1"
+                       }
+               },{
+                       "vlan-tags" : {
+                               "is-private" : "False",
+                               "upper-tag-id" : "2"
+                       }
+               },{
+                       "vlan-tags" : {
+                               "is-private" : "True",
+                               "upper-tag-id" : "3"
+                       }
+               },{
+                       "vlan-tags" : {
+                               "is-private" : "False",
+                               "upper-tag-id" : "3"
+                       }
+               }]
+       }
+}
\ No newline at end of file
index 4562ebd..6f67a9c 100644 (file)
@@ -114,30 +114,6 @@ mso:
           version: '9'
         generic-vnf:
           version: '9'
           version: '9'
         generic-vnf:
           version: '9'
-        v8:
-          customer:
-            uri: /aai/v8/business/customers/customer
-          generic-query:
-            uri: /aai/v8/search/generic-query
-          l3-network:
-            uri: /aai/v8/network/l3-networks/l3-network
-          network-policy:
-            uri: /aai/v8/network/network-policies/network-policy
-          nodes-query:
-            uri: /aai/v8/search/nodes-query
-          route-table-reference:
-            uri: /aai/v8/network/route-table-references/route-table-reference
-          tenant:
-            uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
-          vce:
-            uri: /aai/v8/network/vces/vce
-          vpn-binding:
-            uri: /aai/v8/network/vpn-bindings/vpn-binding
-        v9:
-          cloud-region:
-            uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic
-          generic-vnf:
-            uri: /aai/v9/network/generic-vnfs/generic-vnf
     global:
       default:
         aai:
     global:
       default:
         aai:
@@ -220,4 +196,4 @@ camunda:
   bpm:
     metrics:
       enabled: false
   bpm:
     metrics:
       enabled: false
-      db-reporter-activate: false
\ No newline at end of file
+      db-reporter-activate: false
index d8e71b0..d2dba45 100644 (file)
@@ -62,7 +62,7 @@
                <dependency>
                        <groupId>org.onap.aai.aai-common</groupId>
                        <artifactId>aai-schema</artifactId>
                <dependency>
                        <groupId>org.onap.aai.aai-common</groupId>
                        <artifactId>aai-schema</artifactId>
-                       <version>1.3.0</version>
+                       <version>1.3.1-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.modelmapper</groupId>
                </dependency>
                <dependency>
                        <groupId>org.modelmapper</groupId>
index 553c1e0..4f3816a 100644 (file)
 
 package org.onap.so.client.aai;
 
 
 package org.onap.so.client.aai;
 
+import org.onap.aai.domain.yang.NetworkTechnologies;
 import org.onap.so.client.graphinventory.GraphInventoryObjectPlurals;
 import org.onap.so.client.graphinventory.GraphInventoryObjectPlurals;
+import org.onap.so.constants.Defaults;
 
 import com.google.common.base.CaseFormat;
 
 public enum AAIObjectPlurals implements GraphInventoryObjectPlurals {
 
 
 import com.google.common.base.CaseFormat;
 
 public enum AAIObjectPlurals implements GraphInventoryObjectPlurals {
 
+       CUSTOMER(AAINamespaceConstants.BUSINESS, "/customers"),
        GENERIC_VNF(AAINamespaceConstants.NETWORK, "/generic-vnfs"),
        PSERVER(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, "/pservers"),
        P_INTERFACE(AAIObjectType.PSERVER.uriTemplate(), "/p-interfaces"),
        L3_NETWORK(AAINamespaceConstants.NETWORK, "/l3-networks"),
        GENERIC_VNF(AAINamespaceConstants.NETWORK, "/generic-vnfs"),
        PSERVER(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, "/pservers"),
        P_INTERFACE(AAIObjectType.PSERVER.uriTemplate(), "/p-interfaces"),
        L3_NETWORK(AAINamespaceConstants.NETWORK, "/l3-networks"),
+       NETWORK_POLICY(AAINamespaceConstants.NETWORK, "/network-policies"),
+       VPN_BINDING(AAINamespaceConstants.NETWORK, "/vpn-bindings"),
        SERVICE_SUBSCRIPTION(AAIObjectType.CUSTOMER.uriTemplate(), "/service-subscriptions"),
        SERVICE_INSTANCE(AAIObjectType.SERVICE_SUBSCRIPTION.uriTemplate(), "/service-instances"),
        SERVICE_SUBSCRIPTION(AAIObjectType.CUSTOMER.uriTemplate(), "/service-subscriptions"),
        SERVICE_INSTANCE(AAIObjectType.SERVICE_SUBSCRIPTION.uriTemplate(), "/service-instances"),
-       OWNING_ENTITIES(AAINamespaceConstants.BUSINESS, "/owning-entities"),
-       VOLUME_GROUP(AAIObjectType.CLOUD_REGION.uriTemplate(), "/volume-groups/"),
-       AVAILIBILITY_ZONE(AAIObjectType.CLOUD_REGION.uriTemplate(), "/availability-zones/");
-
+       OWNING_ENTITY(AAINamespaceConstants.BUSINESS, "/owning-entities"),
+       VOLUME_GROUP(AAIObjectType.CLOUD_REGION.uriTemplate(), "/volume-groups"),
+       AVAILIBILITY_ZONE(AAIObjectType.CLOUD_REGION.uriTemplate(), "/availability-zones"),
+       VF_MODULE(AAIObjectType.GENERIC_VNF.uriTemplate(), "/vf-modules"),
+       CONFIGURATION(AAINamespaceConstants.NETWORK, "/configurations"),
+       DEFAULT_TENANT(AAINamespaceConstants.CLOUD_INFRASTRUCTURE + "/cloud-regions/cloud-region/" + Defaults.CLOUD_OWNER + "/AAIAIC25", "/tenants"),
+       NETWORK_TECHNOLOGY(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, "/network-technologies"),
+       LOGICAL_LINK(AAINamespaceConstants.NETWORK, "/logical-links");
 
        private final String uriTemplate;
        private final String partialUri;
 
        private final String uriTemplate;
        private final String partialUri;
index 4b646f9..0e50818 100644 (file)
@@ -7,9 +7,9 @@
  * 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
  * 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
  *      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.
  * 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.
@@ -29,13 +29,16 @@ import org.onap.aai.domain.yang.CloudRegion;
 import org.onap.aai.domain.yang.Collection;
 import org.onap.aai.domain.yang.Complex;
 import org.onap.aai.domain.yang.Configuration;
 import org.onap.aai.domain.yang.Collection;
 import org.onap.aai.domain.yang.Complex;
 import org.onap.aai.domain.yang.Configuration;
+import org.onap.aai.domain.yang.Connector;
 import org.onap.aai.domain.yang.Customer;
 import org.onap.aai.domain.yang.Customer;
+import org.onap.aai.domain.yang.ExtAaiNetwork;
 import org.onap.aai.domain.yang.GenericVnf;
 import org.onap.aai.domain.yang.InstanceGroup;
 import org.onap.aai.domain.yang.L3Network;
 import org.onap.aai.domain.yang.LineOfBusiness;
 import org.onap.aai.domain.yang.ModelVer;
 import org.onap.aai.domain.yang.NetworkPolicy;
 import org.onap.aai.domain.yang.GenericVnf;
 import org.onap.aai.domain.yang.InstanceGroup;
 import org.onap.aai.domain.yang.L3Network;
 import org.onap.aai.domain.yang.LineOfBusiness;
 import org.onap.aai.domain.yang.ModelVer;
 import org.onap.aai.domain.yang.NetworkPolicy;
+import org.onap.aai.domain.yang.NetworkTechnology;
 import org.onap.aai.domain.yang.OperationalEnvironment;
 import org.onap.aai.domain.yang.OwningEntity;
 import org.onap.aai.domain.yang.PInterface;
 import org.onap.aai.domain.yang.OperationalEnvironment;
 import org.onap.aai.domain.yang.OwningEntity;
 import org.onap.aai.domain.yang.PInterface;
@@ -46,6 +49,7 @@ import org.onap.aai.domain.yang.Pserver;
 import org.onap.aai.domain.yang.RouteTableReferences;
 import org.onap.aai.domain.yang.ServiceInstance;
 import org.onap.aai.domain.yang.ServiceSubscription;
 import org.onap.aai.domain.yang.RouteTableReferences;
 import org.onap.aai.domain.yang.ServiceInstance;
 import org.onap.aai.domain.yang.ServiceSubscription;
+import org.onap.aai.domain.yang.Subnet;
 import org.onap.aai.domain.yang.Tenant;
 import org.onap.aai.domain.yang.TunnelXconnect;
 import org.onap.aai.domain.yang.Vce;
 import org.onap.aai.domain.yang.Tenant;
 import org.onap.aai.domain.yang.TunnelXconnect;
 import org.onap.aai.domain.yang.Vce;
@@ -56,12 +60,13 @@ import org.onap.aai.domain.yang.VolumeGroup;
 import org.onap.aai.domain.yang.VpnBinding;
 import org.onap.aai.domain.yang.Vserver;
 import org.onap.so.client.graphinventory.GraphInventoryObjectType;
 import org.onap.aai.domain.yang.VpnBinding;
 import org.onap.aai.domain.yang.Vserver;
 import org.onap.so.client.graphinventory.GraphInventoryObjectType;
+import org.onap.so.constants.Defaults;
 
 import com.google.common.base.CaseFormat;
 
 public enum AAIObjectType implements GraphInventoryObjectType {
 
 
 import com.google.common.base.CaseFormat;
 
 public enum AAIObjectType implements GraphInventoryObjectType {
 
-       DEFAULT_CLOUD_REGION(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, "/cloud-regions/cloud-region/att-aic/{cloud-region-id}"),
+       DEFAULT_CLOUD_REGION(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, "/cloud-regions/cloud-region/" + Defaults.CLOUD_OWNER + "/{cloud-region-id}"),
        CUSTOMER(AAINamespaceConstants.BUSINESS, Customer.class),
        GENERIC_QUERY("/search", "/generic-query"),
        BULK_PROCESS("/bulkprocess", ""),
        CUSTOMER(AAINamespaceConstants.BUSINESS, Customer.class),
        GENERIC_QUERY("/search", "/generic-query"),
        BULK_PROCESS("/bulkprocess", ""),
@@ -73,10 +78,9 @@ public enum AAIObjectType implements GraphInventoryObjectType {
        NODES_QUERY("/search", "/nodes-query"),
        CUSTOM_QUERY("/query", ""),
        ROUTE_TABLE_REFERENCE(AAINamespaceConstants.NETWORK, RouteTableReferences.class),
        NODES_QUERY("/search", "/nodes-query"),
        CUSTOM_QUERY("/query", ""),
        ROUTE_TABLE_REFERENCE(AAINamespaceConstants.NETWORK, RouteTableReferences.class),
-       DEFAULT_TENANT(AAINamespaceConstants.CLOUD_INFRASTRUCTURE + "/cloud-regions/cloud-region/att-aic/AAIAIC25", "/tenants/tenant/{tenant-id}"),
+       DEFAULT_TENANT(AAINamespaceConstants.CLOUD_INFRASTRUCTURE + "/cloud-regions/cloud-region/" + Defaults.CLOUD_OWNER + "/AAIAIC25", "/tenants/tenant/{tenant-id}"),
        VCE(AAINamespaceConstants.NETWORK, Vce.class),
        VPN_BINDING(AAINamespaceConstants.NETWORK, VpnBinding.class),
        VCE(AAINamespaceConstants.NETWORK, Vce.class),
        VPN_BINDING(AAINamespaceConstants.NETWORK, VpnBinding.class),
-       VPN_BINDINGS(AAINamespaceConstants.NETWORK, "/vpn-bindings"),
        CONFIGURATION(AAINamespaceConstants.NETWORK, Configuration.class),
        PSERVER(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, Pserver.class),
        SERVICE_SUBSCRIPTION(AAIObjectType.CUSTOMER.uriTemplate(), ServiceSubscription.class),
        CONFIGURATION(AAINamespaceConstants.NETWORK, Configuration.class),
        PSERVER(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, Pserver.class),
        SERVICE_SUBSCRIPTION(AAIObjectType.CUSTOMER.uriTemplate(), ServiceSubscription.class),
@@ -101,6 +105,10 @@ public enum AAIObjectType implements GraphInventoryObjectType {
        VNFC(AAINamespaceConstants.NETWORK, Vnfc.class),
        VLAN_TAG(AAINamespaceConstants.NETWORK, VlanTag.class),
        COMPLEX(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, Complex.class),
        VNFC(AAINamespaceConstants.NETWORK, Vnfc.class),
        VLAN_TAG(AAINamespaceConstants.NETWORK, VlanTag.class),
        COMPLEX(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, Complex.class),
+       CONNECTOR(AAINamespaceConstants.BUSINESS, Connector.class),
+       NETWORK_TECHNOLOGY(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, NetworkTechnology.class),
+       SUBNET(AAIObjectType.L3_NETWORK.uriTemplate(), Subnet.class),
+       EXT_AAI_NETWORK(AAINamespaceConstants.NETWORK, ExtAaiNetwork.class),
        UNKNOWN("", "");
 
        private final String uriTemplate;
        UNKNOWN("", "");
 
        private final String uriTemplate;
@@ -114,7 +122,7 @@ public enum AAIObjectType implements GraphInventoryObjectType {
                this.uriTemplate = parentUri + partialUri;
                this.aaiObjectClass = null;
        }
                this.uriTemplate = parentUri + partialUri;
                this.aaiObjectClass = null;
        }
-       
+
        private AAIObjectType(String parentUri, Class<?> aaiObjectClass) {
                this.parentUri = parentUri;
                this.partialUri = removeParentUri(aaiObjectClass, parentUri);
        private AAIObjectType(String parentUri, Class<?> aaiObjectClass) {
                this.parentUri = parentUri;
                this.partialUri = removeParentUri(aaiObjectClass, parentUri);
@@ -126,14 +134,14 @@ public enum AAIObjectType implements GraphInventoryObjectType {
        public String toString() {
                return this.uriTemplate();
        }
        public String toString() {
                return this.uriTemplate();
        }
-       
+
        public static AAIObjectType fromTypeName(String name) {
                if (map.isEmpty()) {
                        for (AAIObjectType type : AAIObjectType.values()) {
                                map.put(type.typeName(), type);
                        }
                }
        public static AAIObjectType fromTypeName(String name) {
                if (map.isEmpty()) {
                        for (AAIObjectType type : AAIObjectType.values()) {
                                map.put(type.typeName(), type);
                        }
                }
-               
+
                if (map.containsKey(name)) {
                        return map.get(name);
                } else {
                if (map.containsKey(name)) {
                        return map.get(name);
                } else {
@@ -163,7 +171,7 @@ public enum AAIObjectType implements GraphInventoryObjectType {
        public String partialUri() {
                return this.partialUri;
        }
        public String partialUri() {
                return this.partialUri;
        }
-       
+
        protected String removeParentUri(Class<?> aaiObjectClass, String parentUri) {
                 return aaiObjectClass.getAnnotation(Metadata.class).uriTemplate().replace(parentUri, "");
        }
        protected String removeParentUri(Class<?> aaiObjectClass, String parentUri) {
                 return aaiObjectClass.getAnnotation(Metadata.class).uriTemplate().replace(parentUri, "");
        }
diff --git a/common/src/main/java/org/onap/so/constants/Defaults.java b/common/src/main/java/org/onap/so/constants/Defaults.java
new file mode 100644 (file)
index 0000000..abbd522
--- /dev/null
@@ -0,0 +1,18 @@
+package org.onap.so.constants;
+
+public enum Defaults {
+
+       CLOUD_OWNER("att-aic");
+       
+       
+       private final String value;
+       
+       private Defaults(String value) {
+               this.value = value;
+       }
+
+       @Override
+       public String toString() {
+               return this.value;
+       }
+}
index a58949e..67d852e 100644 (file)
@@ -22,13 +22,16 @@ package org.onap.so.serviceinstancebeans;
 
 import java.io.Serializable;
 
 
 import java.io.Serializable;
 
+import org.onap.so.constants.Defaults;
+
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonRootName;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonRootName;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 
 @JsonRootName(value = "cloudConfiguration")
 
 @JsonRootName(value = "cloudConfiguration")
-@JsonInclude(Include.NON_DEFAULT)
+@JsonInclude(Include.NON_EMPTY)
 public class CloudConfiguration implements Serializable {
 
        private static final long serialVersionUID = 6260165690180745471L;
 public class CloudConfiguration implements Serializable {
 
        private static final long serialVersionUID = 6260165690180745471L;
@@ -36,6 +39,8 @@ public class CloudConfiguration implements Serializable {
     protected String aicNodeClli;
        @JsonProperty("tenantId")
     protected String tenantId;
     protected String aicNodeClli;
        @JsonProperty("tenantId")
     protected String tenantId;
+       @JsonProperty("cloudOwner")
+       protected String cloudOwner = Defaults.CLOUD_OWNER.toString();
        @JsonProperty("lcpCloudRegionId")
     protected String lcpCloudRegionId;
 
        @JsonProperty("lcpCloudRegionId")
     protected String lcpCloudRegionId;
 
@@ -96,11 +101,19 @@ public class CloudConfiguration implements Serializable {
                this.lcpCloudRegionId = lcpCloudRegionId;
        }
 
                this.lcpCloudRegionId = lcpCloudRegionId;
        }
 
-       @Override
-       public String toString() {
-               return "CloudConfiguration [aicNodeClli=" + aicNodeClli + ", tenantId="
-                               + tenantId + ", lcpCloudRegionId=" + lcpCloudRegionId + "]";
+       public String getCloudOwner() {
+               return cloudOwner;
        }
 
        }
 
+       public void setCloudOwner(String cloudOwner) {
+               this.cloudOwner = cloudOwner;
+       }
 
 
+       @Override
+       public String toString() {
+               return new ToStringBuilder(this).append("aicNodeClli", getAicNodeClli()).append("tenantId", getTenantId())
+                               .append("cloudOwner", getCloudOwner()).append("lcpCloudRegionId", getLcpCloudRegionId()).toString();
+       }
+       
+       
 }
 }
index 7a4af78..5af84fd 100644 (file)
 
 package org.onap.so.serviceinstancebeans;
 
 
 package org.onap.so.serviceinstancebeans;
 
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+
 import org.junit.Test;
 import org.onap.so.openpojo.rules.HasToStringRule;
 import org.onap.so.openpojo.rules.ToStringTester;
 
 import org.junit.Test;
 import org.onap.so.openpojo.rules.HasToStringRule;
 import org.onap.so.openpojo.rules.ToStringTester;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.openpojo.reflection.PojoClass;
 import com.openpojo.reflection.PojoClassFilter;
 import com.openpojo.reflection.filters.FilterEnum;
 import com.openpojo.reflection.PojoClass;
 import com.openpojo.reflection.PojoClassFilter;
 import com.openpojo.reflection.filters.FilterEnum;
@@ -43,6 +49,17 @@ public class ServiceInstanceBeansTest {
        public void pojoStructure() {
                test("org.onap.so.serviceinstancebeans");
        }
        public void pojoStructure() {
                test("org.onap.so.serviceinstancebeans");
        }
+       
+       @Test
+       public void cloudConfigurationkeepDefaultValues() throws IOException {
+               CloudConfiguration cloudConfiguration = new CloudConfiguration();
+               cloudConfiguration.setLcpCloudRegionId("myRegionId");
+               ObjectMapper mapper = new ObjectMapper();
+               
+               assertEquals("{\"cloudOwner\":\"att-aic\",\"lcpCloudRegionId\":\"myRegionId\"}", mapper.writeValueAsString(cloudConfiguration));
+               
+               
+       }
 
        private void test(String pojoPackage) {
                Validator validator = ValidatorBuilder.create()
 
        private void test(String pojoPackage) {
                Validator validator = ValidatorBuilder.create()
diff --git a/logger/logback-spring.xml b/logger/logback-spring.xml
new file mode 100644 (file)
index 0000000..dbba5da
--- /dev/null
@@ -0,0 +1,188 @@
+<!-- ============LICENSE_START======================================================= 
+    ECOMP MSO ================================================================================ 
+    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========================================================= -->
+
+<configuration scan="true" debug="false">
+    <contextListener class="org.onap.so.logger.LoggerStartupListener" />
+    <include resource="org/springframework/boot/logging/logback/base.xml" />
+
+    <property name="queueSize" value="256" />
+    <property name="maxFileSize" value="200MB" />
+    <property name="maxHistory" value="30" />
+    <property name="totalSizeCap" value="10GB" />
+
+    <!-- log file names -->
+    <property name="errorLogName" value="error" />
+    <property name="metricsLogName" value="metrics" />
+    <property name="auditLogName" value="audit" />
+    <property name="debugLogName" value="debug" />
+    <property name="saneLogName" value="sane" />
+
+    <property name="errorPattern"
+        value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
+
+    <property name="debugPattern"
+        value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%msg%n" />
+
+    <property name="auditPattern"
+        value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
+
+    <property name="metricPattern"
+        value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
+
+    <property name="defaultPattern"
+        value="%nopexception%logger
+                \t%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX,UTC}
+                \t%level
+                \t%replace(%replace(%message){'\t','\\\\t'}){'\n','\\\\n'}
+                \t%replace(%replace(%mdc){'\t','\\\\t'}){'\n','\\\\n'}
+                \t%replace(%replace(%rootException){'\t','\\\\t'}){'\n','\\\\n'}
+                \t%replace(%replace(%marker){'\t','\\\\t'}){'\n','\\\\n'}
+                \t%thread
+                \t%n" />
+
+    <appender name="SANE"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logs_dir:-.}/${saneLogName}.log</file>
+        <rollingPolicy
+            class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <fileNamePattern>${logs_dir:-.}/${saneLogName}.%d{yyyy-MM-dd}.%i.log.zip
+            </fileNamePattern>
+             
+           
+            <maxFileSize>${maxFileSize}</maxFileSize>
+            <maxHistory>${maxHistory}</maxHistory>
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${defaultPattern}</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="Audit"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logs_dir:-.}/${auditLogName}.log</file>
+        <rollingPolicy
+            class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <fileNamePattern>${logs_dir:-.}/${auditLogName}.%d{yyyy-MM-dd}.%i.log.zip
+            </fileNamePattern>
+            <maxFileSize>${maxFileSize}</maxFileSize>
+            <maxHistory>${maxHistory}</maxHistory>
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${auditPattern}</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="asyncAudit" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>256</queueSize>
+        <appender-ref ref="Audit" />
+    </appender>
+
+    <appender name="Metric"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logs_dir:-.}/${metricsLogName}.log</file>
+        <rollingPolicy
+            class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <fileNamePattern>${logs_dir:-.}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log.zip
+            </fileNamePattern>
+            <maxFileSize>${maxFileSize}</maxFileSize>
+            <maxHistory>${maxHistory}</maxHistory>
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${metricPattern}</pattern>
+        </encoder>
+    </appender>
+
+
+    <appender name="asyncMetric" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>256</queueSize>
+        <appender-ref ref="Metric" />
+    </appender>
+
+    <appender name="Error"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>ERROR</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logs_dir:-.}/${errorLogName}.log</file>
+        <rollingPolicy
+            class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <fileNamePattern>${logs_dir:-.}/${errorLogName}.%d{yyyy-MM-dd}.%i.log.zip
+            </fileNamePattern>
+            <maxFileSize>${maxFileSize}</maxFileSize>
+            <maxHistory>${maxHistory}</maxHistory>
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${errorPattern}</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="asyncError" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>256</queueSize>
+        <appender-ref ref="Error" />
+    </appender>
+
+    <appender name="Debug"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logs_dir:-.}/${debugLogName}.log</file>
+        <rollingPolicy
+            class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <fileNamePattern>${logs_dir:-.}/${debugLogName}.%d{yyyy-MM-dd}.%i.log.zip
+            </fileNamePattern>
+            <maxFileSize>${maxFileSize}</maxFileSize>
+            <maxHistory>${maxHistory}</maxHistory>
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${debugPattern}</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="asyncDebug" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>256</queueSize>
+        <appender-ref ref="Debug" />
+        <includeCallerData>true</includeCallerData>
+    </appender>
+
+    <!-- Spring related loggers -->
+    <logger name="org.springframework" level="WARN" />
+
+    <!-- Camunda related loggers -->
+    <logger name="org.camunda.bpm.engine.jobexecutor.level" level="WARN" />
+    <logger
+        name="org.camunda.bpm.engine.impl.persistence.entity.JobEntity.level"
+        level="WARN" />
+
+    <logger name="org.apache.wire" level="DEBUG" />
+    <logger name="org.onap" level="DEBUG" />
+    <logger name="com.att.ecomp" level="DEBUG" />
+    <logger name="org.apache.cxf.interceptor" level="DEBUG" />
+
+    <logger name="AUDIT" level="INFO" additivity="false">
+        <appender-ref ref="asyncAudit" />
+    </logger>
+
+    <logger name="METRIC" level="INFO" additivity="false">
+        <appender-ref ref="asyncMetric" />
+    </logger>
+
+    <root level="WARN">
+        <appender-ref ref="asyncDebug" />
+        <appender-ref ref="SANE" />
+        <appender-ref ref="asyncError" />
+    </root>
+
+</configuration>
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/RequestDbFailureException.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/RequestDbFailureException.java
new file mode 100644 (file)
index 0000000..154ae36
--- /dev/null
@@ -0,0 +1,43 @@
+/*-
+ * ============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.onap.so.apihandlerinfra.exceptions;
+
+public class RequestDbFailureException extends ApiException {
+
+    private static final String requestDbFailMessage = "Unable to %s due to error contacting requestDb: %s";
+
+    private RequestDbFailureException(Builder builder) {
+        super(builder);
+    }
+
+    public static class Builder extends ApiException.Builder<Builder>{
+
+
+        public Builder(String action, String error, int httpResponseCode, String messageID) {
+            super(requestDbFailMessage.format(requestDbFailMessage, action, error),httpResponseCode,messageID);
+        }
+
+        public RequestDbFailureException build() {
+            return new RequestDbFailureException(this);
+        }
+    }
+
+}
index bb7df4b..fb6076e 100644 (file)
@@ -45,6 +45,7 @@ import org.onap.so.apihandlerinfra.exceptions.BPMNFailureException;
 import org.onap.so.apihandlerinfra.exceptions.ClientConnectionException;
 import org.onap.so.apihandlerinfra.exceptions.DuplicateRequestException;
 import org.onap.so.apihandlerinfra.exceptions.RecipeNotFoundException;
 import org.onap.so.apihandlerinfra.exceptions.ClientConnectionException;
 import org.onap.so.apihandlerinfra.exceptions.DuplicateRequestException;
 import org.onap.so.apihandlerinfra.exceptions.RecipeNotFoundException;
+import org.onap.so.apihandlerinfra.exceptions.RequestDbFailureException;
 import org.onap.so.apihandlerinfra.exceptions.ValidateException;
 import org.onap.so.apihandlerinfra.exceptions.VfModuleNotFoundException;
 import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo;
 import org.onap.so.apihandlerinfra.exceptions.ValidateException;
 import org.onap.so.apihandlerinfra.exceptions.VfModuleNotFoundException;
 import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo;
@@ -109,6 +110,7 @@ public class ServiceInstances {
        private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.APIH,MsoRequest.class);
        private static String NAME = "name";
        private static String VALUE = "value";
        private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.APIH,MsoRequest.class);
        private static String NAME = "name";
        private static String VALUE = "value";
+       private static final String SAVE_TO_DB = "save instance to db";
        
        @Autowired
        private Environment env;
        
        @Autowired
        private Environment env;
@@ -740,7 +742,13 @@ public class ServiceInstances {
                if (sir.getCorrelationId() != null) {
                        correlationId = sir.getCorrelationId();
                }
                if (sir.getCorrelationId() != null) {
                        correlationId = sir.getCorrelationId();
                }
-               infraActiveRequestsClient.save(currentActiveReq);
+               try{
+                       infraActiveRequestsClient.save(currentActiveReq);
+               }catch(Exception e){
+                       ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_DB_ACCESS_EXC, MsoLogger.ErrorCode.DataError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build();
+            throw new RequestDbFailureException.Builder(SAVE_TO_DB, e.toString(), HttpStatus.SC_INTERNAL_SERVER_ERROR, ErrorNumbers.SVC_DETAILED_SERVICE_ERROR).cause(e)
+                    .errorInfo(errorLoggerInfo).build();
+               }
                
                if(!requestScope.equalsIgnoreCase(ModelType.service.name())){
                        aLaCarte = true;
                
                if(!requestScope.equalsIgnoreCase(ModelType.service.name())){
                        aLaCarte = true;
@@ -870,7 +878,13 @@ public class ServiceInstances {
                                currentActiveReq.setRequestStatus(Status.IN_PROGRESS.name());
                                setInstanceId(currentActiveReq, requestScope, jsonResponse.getRequestReferences().getInstanceId(), new HashMap<>());
                                
                                currentActiveReq.setRequestStatus(Status.IN_PROGRESS.name());
                                setInstanceId(currentActiveReq, requestScope, jsonResponse.getRequestReferences().getInstanceId(), new HashMap<>());
                                
-                               infraActiveRequestsClient.save(currentActiveReq);
+                               try{
+                                       infraActiveRequestsClient.save(currentActiveReq);
+                               }catch(Exception e){
+                                       ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_DB_ACCESS_EXC, MsoLogger.ErrorCode.DataError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build();
+                           throw new RequestDbFailureException.Builder(SAVE_TO_DB, e.toString(), HttpStatus.SC_INTERNAL_SERVER_ERROR, ErrorNumbers.SVC_DETAILED_SERVICE_ERROR).cause(e)
+                                   .errorInfo(errorLoggerInfo).build();
+                               }
                                return builder.buildResponse(HttpStatus.SC_ACCEPTED, requestId, jsonResponse, apiVersion);
                        } 
                }
                                return builder.buildResponse(HttpStatus.SC_ACCEPTED, requestId, jsonResponse, apiVersion);
                        } 
                }
@@ -983,14 +997,10 @@ public class ServiceInstances {
                        }
                } catch (Exception e) {
             ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_DUPLICATE_CHECK_EXC, MsoLogger.ErrorCode.DataError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build();
                        }
                } catch (Exception e) {
             ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_DUPLICATE_CHECK_EXC, MsoLogger.ErrorCode.DataError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build();
-
-
-            ValidateException validateException = new ValidateException.Builder("Duplicate Check Request", HttpStatus.SC_INTERNAL_SERVER_ERROR, ErrorNumbers.SVC_DETAILED_SERVICE_ERROR).cause(e)
+            RequestDbFailureException requestDbFailureException = new RequestDbFailureException.Builder("check for duplicate instance", e.toString(), HttpStatus.SC_INTERNAL_SERVER_ERROR, ErrorNumbers.SVC_DETAILED_SERVICE_ERROR).cause(e)
                     .errorInfo(errorLoggerInfo).build();
                     .errorInfo(errorLoggerInfo).build();
-
-            updateStatus(currentActiveReq, Status.FAILED, validateException.getMessage());
-
-            throw validateException;
+            updateStatus(currentActiveReq, Status.FAILED, requestDbFailureException.getMessage());
+            throw requestDbFailureException;
                }
                return dup;
        }
                }
                return dup;
        }
@@ -1016,7 +1026,7 @@ public class ServiceInstances {
        }
        
        private void parseRequest(ServiceInstancesRequest sir, HashMap<String, String> instanceIdMap, Actions action, String version, 
        }
        
        private void parseRequest(ServiceInstancesRequest sir, HashMap<String, String> instanceIdMap, Actions action, String version, 
-                                                               String requestJSON, Boolean aLaCarte, String requestId, InfraActiveRequests currentActiveReq) throws ValidateException {
+                                                               String requestJSON, Boolean aLaCarte, String requestId, InfraActiveRequests currentActiveReq) throws ValidateException, RequestDbFailureException {
                int reqVersion = Integer.parseInt(version.substring(1));
                try {
                        msoRequest.parse(sir, instanceIdMap, action, version, requestJSON, reqVersion, aLaCarte);
                int reqVersion = Integer.parseInt(version.substring(1));
                try {
                        msoRequest.parse(sir, instanceIdMap, action, version, requestJSON, reqVersion, aLaCarte);
@@ -1218,6 +1228,7 @@ public class ServiceInstances {
                        targetConfiguration.setAicNodeClli(sourceCloudConfiguration.getAicNodeClli());
                        targetConfiguration.setTenantId(sourceCloudConfiguration.getTenantId());
                        targetConfiguration.setLcpCloudRegionId(sourceCloudConfiguration.getLcpCloudRegionId());
                        targetConfiguration.setAicNodeClli(sourceCloudConfiguration.getAicNodeClli());
                        targetConfiguration.setTenantId(sourceCloudConfiguration.getTenantId());
                        targetConfiguration.setLcpCloudRegionId(sourceCloudConfiguration.getLcpCloudRegionId());
+                       targetConfiguration.setCloudOwner(sourceCloudConfiguration.getCloudOwner());
                        return Optional.of(targetConfiguration);
                }
                return Optional.empty();
                        return Optional.of(targetConfiguration);
                }
                return Optional.empty();
@@ -1633,7 +1644,13 @@ public class ServiceInstances {
                if (sir.getCorrelationId() != null) {
                        correlationId = sir.getCorrelationId();
                }
                if (sir.getCorrelationId() != null) {
                        correlationId = sir.getCorrelationId();
                }
-               infraActiveRequestsClient.save(currentActiveReq);
+               try{
+                       infraActiveRequestsClient.save(currentActiveReq);
+               }catch(Exception e){
+                       ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_DB_ACCESS_EXC, MsoLogger.ErrorCode.DataError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build();
+            throw new RequestDbFailureException.Builder(SAVE_TO_DB, e.toString(), HttpStatus.SC_INTERNAL_SERVER_ERROR, ErrorNumbers.SVC_DETAILED_SERVICE_ERROR).cause(e)
+                    .errorInfo(errorLoggerInfo).build();
+               }
                
                if(!requestScope.equalsIgnoreCase(ModelType.service.name())){
                        aLaCarte = true;
                
                if(!requestScope.equalsIgnoreCase(ModelType.service.name())){
                        aLaCarte = true;
@@ -1660,14 +1677,20 @@ public class ServiceInstances {
                        throw validateException;
        }
     }
                        throw validateException;
        }
     }
-       public void updateStatus(InfraActiveRequests aq, Status status, String errorMessage){
+       public void updateStatus(InfraActiveRequests aq, Status status, String errorMessage) throws RequestDbFailureException{
                if ((status == Status.FAILED) || (status == Status.COMPLETE)) {
                        aq.setStatusMessage (errorMessage);
                        aq.setProgress(new Long(100));
                        aq.setRequestStatus(status.toString());
                        Timestamp endTimeStamp = new Timestamp (System.currentTimeMillis());
                        aq.setEndTime (endTimeStamp);
                if ((status == Status.FAILED) || (status == Status.COMPLETE)) {
                        aq.setStatusMessage (errorMessage);
                        aq.setProgress(new Long(100));
                        aq.setRequestStatus(status.toString());
                        Timestamp endTimeStamp = new Timestamp (System.currentTimeMillis());
                        aq.setEndTime (endTimeStamp);
-                       infraActiveRequestsClient.save(aq);
+                       try{
+                               infraActiveRequestsClient.save(aq);
+                       }catch(Exception e){
+                               ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_DB_ACCESS_EXC, MsoLogger.ErrorCode.DataError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build();
+                   throw new RequestDbFailureException.Builder(SAVE_TO_DB, e.toString(), HttpStatus.SC_INTERNAL_SERVER_ERROR, ErrorNumbers.SVC_DETAILED_SERVICE_ERROR).cause(e)
+                           .errorInfo(errorLoggerInfo).build();
+                       }
                }
        }
 }
                }
        }
 }
index 464d5e6..b3ee40b 100644 (file)
@@ -2302,4 +2302,94 @@ public class ServiceInstancesTest extends BaseTest{
           RequestError realResponse = mapper.readValue(response.getBody(), RequestError.class);
           assertEquals("Exception caught mapping Camunda JSON response to object", realResponse.getServiceException().getText());
     }
           RequestError realResponse = mapper.readValue(response.getBody(), RequestError.class);
           assertEquals("Exception caught mapping Camunda JSON response to object", realResponse.getServiceException().getText());
     }
+    @Test
+    public void createServiceInstanceDuplicateError() throws IOException{
+               stubFor(post(urlMatching(".*/infraActiveRequests/checkInstanceNameDuplicate"))
+                               .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                                               .withStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR)));
+          
+        uri = servInstanceuri + "v5/serviceInstances";
+        ResponseEntity<String> response = sendRequest(inputStream("/ServiceInstanceDefault.json"), uri, HttpMethod.POST);
+
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
+
+        assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
+        RequestError realResponse = mapper.readValue(response.getBody(), RequestError.class);
+        assertEquals("Unable to check for duplicate instance due to error contacting requestDb: org.springframework.web.client.HttpServerErrorException: 500 Server Error", realResponse.getServiceException().getText());
+    }
+    @Test
+    public void createServiceInstanceSaveError() throws IOException{
+       ServiceRecipe serviceRecipe = new ServiceRecipe();
+        serviceRecipe.setOrchestrationUri("/mso/async/services/WorkflowActionBB");
+        serviceRecipe.setServiceModelUUID("d88da85c-d9e8-4f73-b837-3a72a431622a");
+        serviceRecipe.setAction(Action.createInstance.toString());
+        serviceRecipe.setId(1);
+        serviceRecipe.setRecipeTimeout(180);
+        Service defaultService = new Service();
+        defaultService.setModelUUID("d88da85c-d9e8-4f73-b837-3a72a431622a");
+               stubFor(post(urlMatching(".*/infraActiveRequests/"))
+                               .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                                               .withStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR)));
+               stubFor(get(urlMatching(".*/service/.*"))
+                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                        .withBody(mapper.writeValueAsString(defaultService))
+                        .withStatus(HttpStatus.SC_OK)));
+
+        stubFor(get(urlMatching(".*/serviceRecipe/search.*"))
+                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                        .withBody(mapper.writeValueAsString(serviceRecipe))
+                        .withStatus(HttpStatus.SC_OK)));
+          
+        uri = servInstanceuri + "v5/serviceInstances";
+        ResponseEntity<String> response = sendRequest(inputStream("/ServiceInstanceDefault.json"), uri, HttpMethod.POST);
+
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
+
+        assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
+        RequestError realResponse = mapper.readValue(response.getBody(), RequestError.class);
+        assertEquals("Unable to save instance to db due to error contacting requestDb: org.springframework.web.client.HttpServerErrorException: 500 Server Error", realResponse.getServiceException().getText());
+    }
+    @Test
+    public void createPortConfigurationSaveError() throws IOException {
+       stubFor(post(urlMatching(".*/infraActiveRequests/"))
+                               .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                                               .withStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR)));
+        stubFor(post(urlPathEqualTo("/mso/async/services/ALaCarteOrchestrator"))
+                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                        .withBodyFile("Camunda/TestResponse.json").withStatus(org.apache.http.HttpStatus.SC_OK)));
+        
+        HttpHeaders headers = new HttpHeaders();
+        
+        uri = servInstanceuri + "v5" + "/serviceInstances/f7ce78bb-423b-11e7-93f8-0050569a7968/configurations";
+        ResponseEntity<String> response = sendRequest(inputStream("/ServiceInstancePortConfiguration.json"), uri, HttpMethod.POST, headers);
+
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
+
+        assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
+        RequestError realResponse = mapper.readValue(response.getBody(), RequestError.class);
+        assertEquals("Unable to save instance to db due to error contacting requestDb: org.springframework.web.client.HttpServerErrorException: 500 Server Error", realResponse.getServiceException().getText());
+    }
+    @Test
+    public void createPortConfigDbUpdateError() throws IOException {
+       stubFor(post(urlMatching(".*/infraActiveRequests/"))
+                               .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                                               .withStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR)));
+       
+        uri = servInstanceuri + "v5" + "/serviceInstances/f7ce78bb-423b-11e7-93f8-0050569a7968/configurations";
+        ResponseEntity<String> response = sendRequest(inputStream("/ServiceInstanceParseFail.json"), uri, HttpMethod.POST);
+
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
+
+        assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
+        RequestError realResponse = mapper.readValue(response.getBody(), RequestError.class);
+        assertEquals("Unable to save instance to db due to error contacting requestDb: org.springframework.web.client.HttpServerErrorException: 500 Server Error", realResponse.getServiceException().getText());
+    }
 }
\ No newline at end of file
 }
\ No newline at end of file
index 07d185b..b809691 100644 (file)
@@ -59,6 +59,7 @@ import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.HttpClientErrorException;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.HttpClientErrorException;
 import org.springframework.web.client.RestTemplate;
+
 import uk.co.blackpepper.bowman.ClientFactory;
 import uk.co.blackpepper.bowman.Configuration;
 
 import uk.co.blackpepper.bowman.ClientFactory;
 import uk.co.blackpepper.bowman.Configuration;
 
index 9742a0c..4f070e7 100644 (file)
 
 package org.onap.so.db.catalog.client;
 
 
 package org.onap.so.db.catalog.client;
 
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.annotation.PostConstruct;
+import javax.ws.rs.core.UriBuilder;
+
 import org.onap.so.db.catalog.beans.BuildingBlockDetail;
 import org.onap.so.db.catalog.beans.CloudSite;
 import org.onap.so.db.catalog.beans.CloudifyManager;
 import org.onap.so.db.catalog.beans.BuildingBlockDetail;
 import org.onap.so.db.catalog.beans.CloudSite;
 import org.onap.so.db.catalog.beans.CloudifyManager;
@@ -27,6 +35,7 @@ import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
 import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization;
 import org.onap.so.db.catalog.beans.ControllerSelectionReference;
 import org.onap.so.db.catalog.beans.CvnfcCustomization;
 import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization;
 import org.onap.so.db.catalog.beans.ControllerSelectionReference;
 import org.onap.so.db.catalog.beans.CvnfcCustomization;
+import org.onap.so.db.catalog.beans.ExternalServiceToInternalService;
 import org.onap.so.db.catalog.beans.InstanceGroup;
 import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
 import org.onap.so.db.catalog.beans.NetworkRecipe;
 import org.onap.so.db.catalog.beans.InstanceGroup;
 import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
 import org.onap.so.db.catalog.beans.NetworkRecipe;
@@ -55,17 +64,11 @@ import org.springframework.http.client.BufferingClientHttpRequestFactory;
 import org.springframework.http.client.ClientHttpRequestFactory;
 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.stereotype.Component;
 import org.springframework.http.client.ClientHttpRequestFactory;
 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.stereotype.Component;
+
 import uk.co.blackpepper.bowman.Client;
 import uk.co.blackpepper.bowman.ClientFactory;
 import uk.co.blackpepper.bowman.Configuration;
 
 import uk.co.blackpepper.bowman.Client;
 import uk.co.blackpepper.bowman.ClientFactory;
 import uk.co.blackpepper.bowman.Configuration;
 
-import javax.annotation.PostConstruct;
-import javax.ws.rs.core.UriBuilder;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 @Component("CatalogDbClient")
 public class CatalogDbClient {
 
 @Component("CatalogDbClient")
 public class CatalogDbClient {
 
@@ -84,6 +87,7 @@ public class CatalogDbClient {
        private static final String NETWORK_COLLECTION_RESOURCE_CUSTOMIZATION = "/networkCollectionResourceCustomization";
        private static final String VNF_RESOURCE_CUSTOMIZATION = "/vnfResourceCustomization";
        private static final String SERVICE = "/service";
        private static final String NETWORK_COLLECTION_RESOURCE_CUSTOMIZATION = "/networkCollectionResourceCustomization";
        private static final String VNF_RESOURCE_CUSTOMIZATION = "/vnfResourceCustomization";
        private static final String SERVICE = "/service";
+       private static final String EXTERNAL_SERVICE_TO_INTERNAL_MODEL_MAPPING = "/externalServiceToInternalService";
        private static final String VNF_RESOURCE = "/vnfResource";
        private static final String VNF_RECIPE = "/vnfRecipe";
        private static final String VFMODULE = "/vfModule";
        private static final String VNF_RESOURCE = "/vnfResource";
        private static final String VNF_RECIPE = "/vnfRecipe";
        private static final String VFMODULE = "/vfModule";
@@ -96,6 +100,8 @@ public class CatalogDbClient {
        private static final String URI_SEPARATOR = "/";
 
        private static final String SERVICE_MODEL_UUID = "serviceModelUUID";
        private static final String URI_SEPARATOR = "/";
 
        private static final String SERVICE_MODEL_UUID = "serviceModelUUID";
+       private static final String SERVICE_NAME = "serviceName";
+       private static final String MODEL_UUID = "modelUUID";
        private static final String MODEL_CUSTOMIZATION_UUID = "modelCustomizationUUID";
        private static final String ACTION = "action";
        private static final String MODEL_NAME = "modelName";
        private static final String MODEL_CUSTOMIZATION_UUID = "modelCustomizationUUID";
        private static final String ACTION = "action";
        private static final String MODEL_NAME = "modelName";
@@ -122,6 +128,10 @@ public class CatalogDbClient {
        
        private static final String TARGET_ENTITY = "SO:CatalogDB";
 
        
        private static final String TARGET_ENTITY = "SO:CatalogDB";
 
+       private String findExternalToInternalServiceByServiceName = "/findByServiceName";
+       private String findServiceByModelName = "/findOneByModelName";
+       private String findServiceRecipeByActionAndServiceModelUUID = "/findByActionAndServiceModelUUID";
+       private String findServiceByModelUUID = "/findOneByModelUUID";
        private String findFirstByModelNameURI = "/findFirstByModelNameOrderByModelVersionDesc";
        private String findFirstByServiceModelUUIDAndActionURI = "/findFirstByServiceModelUUIDAndAction";
        private String findFirstByModelVersionAndModelInvariantUUIDURI = "/findFirstByModelVersionAndModelInvariantUUID";
        private String findFirstByModelNameURI = "/findFirstByModelNameOrderByModelVersionDesc";
        private String findFirstByServiceModelUUIDAndActionURI = "/findFirstByServiceModelUUIDAndAction";
        private String findFirstByModelVersionAndModelInvariantUUIDURI = "/findFirstByModelVersionAndModelInvariantUUID";
@@ -196,6 +206,8 @@ public class CatalogDbClient {
 
        private final Client<ServiceRecipe> serviceRecipeClient;
 
 
        private final Client<ServiceRecipe> serviceRecipeClient;
 
+       private final Client<ExternalServiceToInternalService> externalServiceToInternalServiceClient;
+
        private final Client<CloudSite> cloudSiteClient;
 
        private final Client<CloudifyManager> cloudifyManagerClient;
        private final Client<CloudSite> cloudSiteClient;
 
        private final Client<CloudifyManager> cloudifyManagerClient;
@@ -213,6 +225,10 @@ public class CatalogDbClient {
 
        @PostConstruct
        public void init(){
 
        @PostConstruct
        public void init(){
+               findExternalToInternalServiceByServiceName = endpoint + EXTERNAL_SERVICE_TO_INTERNAL_MODEL_MAPPING + SEARCH + findExternalToInternalServiceByServiceName;
+               findServiceByModelName =  endpoint + SERVICE + SEARCH + findServiceByModelName;
+               findServiceRecipeByActionAndServiceModelUUID = endpoint + SERVICE_RECIPE + SEARCH + findServiceRecipeByActionAndServiceModelUUID;
+               findServiceByModelUUID =  endpoint + SERVICE + SEARCH + findServiceByModelUUID;
                findFirstByModelNameURI = endpoint + SERVICE + SEARCH + findFirstByModelNameURI;
                findFirstByModelVersionAndModelInvariantUUIDURI = endpoint + SERVICE + SEARCH + findFirstByModelVersionAndModelInvariantUUIDURI;
                findByModelInvariantUUIDURI = endpoint + SERVICE + SEARCH + findByModelInvariantUUIDURI;
                findFirstByModelNameURI = endpoint + SERVICE + SEARCH + findFirstByModelNameURI;
                findFirstByModelVersionAndModelInvariantUUIDURI = endpoint + SERVICE + SEARCH + findFirstByModelVersionAndModelInvariantUUIDURI;
                findByModelInvariantUUIDURI = endpoint + SERVICE + SEARCH + findByModelInvariantUUIDURI;
@@ -288,6 +304,7 @@ public class CatalogDbClient {
                serviceRecipeClient = clientFactory.create(ServiceRecipe.class);
                cvnfcCustomizationClient = clientFactory.create(CvnfcCustomization.class);
                controllerSelectionReferenceClient = clientFactory.create(ControllerSelectionReference.class);
                serviceRecipeClient = clientFactory.create(ServiceRecipe.class);
                cvnfcCustomizationClient = clientFactory.create(CvnfcCustomization.class);
                controllerSelectionReferenceClient = clientFactory.create(ControllerSelectionReference.class);
+               externalServiceToInternalServiceClient = clientFactory.create(ExternalServiceToInternalService.class);
        }
 
        public CatalogDbClient(String baseUri, String auth) {
        }
 
        public CatalogDbClient(String baseUri, String auth) {
@@ -329,6 +346,7 @@ public class CatalogDbClient {
                serviceRecipeClient = clientFactory.create(ServiceRecipe.class);
                cvnfcCustomizationClient = clientFactory.create(CvnfcCustomization.class);
                controllerSelectionReferenceClient = clientFactory.create(ControllerSelectionReference.class);
                serviceRecipeClient = clientFactory.create(ServiceRecipe.class);
                cvnfcCustomizationClient = clientFactory.create(CvnfcCustomization.class);
                controllerSelectionReferenceClient = clientFactory.create(ControllerSelectionReference.class);
+               externalServiceToInternalServiceClient = clientFactory.create(ExternalServiceToInternalService.class);
        }
 
        public NetworkCollectionResourceCustomization getNetworkCollectionResourceCustomizationByID(String modelCustomizationUUID) {
        }
 
        public NetworkCollectionResourceCustomization getNetworkCollectionResourceCustomizationByID(String modelCustomizationUUID) {
@@ -495,6 +513,30 @@ public class CatalogDbClient {
                                .queryParam(MODEL_NAME,modelName).build());
        }
 
                                .queryParam(MODEL_NAME,modelName).build());
        }
 
+       public ExternalServiceToInternalService findExternalToInternalServiceByServiceName(String serviceName){
+               return this.getSingleResource(externalServiceToInternalServiceClient, getUri(UriBuilder
+                               .fromUri(findExternalToInternalServiceByServiceName)
+                               .queryParam(SERVICE_NAME,serviceName).build().toString()));
+       }
+
+       public  ServiceRecipe findServiceRecipeByActionAndServiceModelUUID(String action,String modelUUID){
+               return this.getSingleResource(serviceRecipeClient, getUri(UriBuilder
+                               .fromUri(findServiceRecipeByActionAndServiceModelUUID)
+                               .queryParam(ACTION,action)
+                               .queryParam(SERVICE_MODEL_UUID,modelUUID).build().toString()));
+       }
+
+       public Service getServiceByModelName(String modelName){
+               return this.getSingleResource(serviceClient,getUri(UriBuilder
+                               .fromUri(findServiceByModelName)
+                               .queryParam(MODEL_NAME,modelName).build().toString()));
+       }
+
+       public Service getServiceByModelUUID(String modelModelUUID){
+               return this.getSingleResource(serviceClient,getUri(UriBuilder
+                               .fromUri(findServiceByModelUUID)
+                               .queryParam(MODEL_UUID,modelModelUUID).build().toString()));
+       }
 
        public VnfResource getFirstVnfResourceByModelInvariantUUIDAndModelVersion(String modelInvariantUUID, String modelVersion){
                return this.getSingleResource(vnfResourceClient, getUri(UriBuilder
 
        public VnfResource getFirstVnfResourceByModelInvariantUUIDAndModelVersion(String modelInvariantUUID, String modelVersion){
                return this.getSingleResource(vnfResourceClient, getUri(UriBuilder