8/23: merge casablanca to master 96/71096/1
authorRob Daugherty <rd472p@att.com>
Tue, 23 Oct 2018 18:08:57 +0000 (14:08 -0400)
committerRob Daugherty <rd472p@att.com>
Tue, 23 Oct 2018 20:18:55 +0000 (16:18 -0400)
Change-Id: I0a73fbedf8c6f22e0a37cd8f0505ddcf83250341
Issue-ID: SO-1160
Signed-off-by: Rob Daugherty <rd472p@att.com>
143 files changed:
asdc-controller/src/main/java/org/onap/so/asdc/tenantIsolation/AaiClientPropertiesImpl.java
asdc-controller/src/test/java/org/onap/so/asdc/BaseTest.java
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AbstractServiceTaskProcessor.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/BuildingBlockExecution.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/DelegateExecutionImpl.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/ConfirmVolumeGroupTenantTest.groovy
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/mock/StubResponseAAI.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java
bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockCMExpected.json
bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestDetails_CreateVnf.json
bpmn/MSOCommonBPMN/src/test/resources/__files/aai-volume-group-id-info.xml
bpmn/MSOCommonBPMN/src/test/resources/__files/aai/resources/e2e-complex.json
bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/json/JsonUtilsTest.java
bpmn/MSOCoreBPMN/src/test/resources/json-examples/SNIROExample.json
bpmn/mso-infrastructure-bpmn/src/main/resources/application-local.yml
bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingIT.java
bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingTestIT.java
bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SniroHomingV1IT.java
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/VfModule-supercool.xml
bpmn/mso-infrastructure-bpmn/src/test/resources/__files/VfModularity/VolumeGroup.xml
bpmn/mso-infrastructure-bpmn/src/test/resources/application-test.yaml
bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AssignVfModuleBB.bpmn
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.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/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/DoCreateVfModuleVolumeRollback.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/UpdateVfModuleVolume.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateNetworkInstanceTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateVfModuleTest.groovy
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/AAI_defaultCloudRegionByCloudRegionId.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/AAI_genericVnfsByVnfId.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/AAI_pserverByVnfId.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/l3NetworkBbObject.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/payloadUpdateCreated.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/queryAAICloudRegion.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/queryAAICloudRegion25.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/queryAAICloudRegionError.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/queryAAINetworkTestResponse.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/queryAAIResponse.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/queryIdAAIResponse.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/unassignNetworkBB_queryAAIResponse_.json
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/BuildingBlocks/Network/updateContrailAAIPayloadRequest.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/CreateServiceInstance/createServiceInstance_queryGlobalCustomerId_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_404.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/CreateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_HasVfModRelationship.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/DeleteNetworkV2/cloudRegion25_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/DoCreateVfModule/cloudRegion_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/DoCreateVfModule/sdncGetResponse.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/DoCreateVfModuleVolumeV2/cloudRegion_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/DoUpdateVfModule/cloudRegion_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/DoUpdateVfModule/sdncGetResponse.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VfModularity/VfModule-supercool.xml
bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VfModularity/VolumeGroup.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/AAI/AAI_defaultCloudRegionByCloudRegionId.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/AAI/AAI_genericVnfsByVnfId.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/AAI/AAI_pserverByVnfId.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/l3NetworkBbObject.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/payloadUpdateCreated.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/queryAAICloudRegion.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/queryAAICloudRegion25.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/queryAAICloudRegionError.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/queryAAINetworkTestResponse.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/queryAAIResponse.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/queryIdAAIResponse.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/unassignNetworkBB_queryAAIResponse_.json
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/BuildingBlocks/Network/updateContrailAAIPayloadRequest.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/CreateNetworkV2/cloudRegion25_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/CreateNetworkV2/cloudRegion30_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/CreateServiceInstance/createServiceInstance_queryGlobalCustomerId_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/CreateVfModuleVolumeInfraV1/createVfModuleVolume_queryVolumeName_AAIResponse_404.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/CreateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_HasVfModRelationship.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/DeleteNetworkV2/cloudRegion25_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/DeleteNetworkV2/cloudRegion30_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/DeleteVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/DoCreateVfModule/cloudRegion_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/DoCreateVfModule/sdncGetResponse.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/DoCreateVfModuleVolumeV2/cloudRegion_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/DoUpdateVfModule/cloudRegion_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/DoUpdateVfModule/sdncGetResponse.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/VfModularity/VfModule-supercool.xml
bpmn/so-bpmn-infrastructure-flows/src/test/resources/__files/VfModularity/VolumeGroup.xml
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidatorTest.java
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/l3NetworkBbObject.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/payloadUpdateCreated.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/queryAAICloudRegion.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/queryAAICloudRegion25.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/queryAAICloudRegionError.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/queryAAINetworkTestResponse.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/queryAAIResponse.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/queryIdAAIResponse.xml
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/unassignNetworkBB_queryAAIResponse_.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/Network/updateContrailAAIPayloadRequest.xml
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/NetworkMapper/generalBB.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/NetworkMapper/queryAAINetwork.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/aaiQueryAAIResponse-Wrapper.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAAICloudRegion.json
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/sniroCallbackInfraVnf
bpmn/so-bpmn-tasks/src/test/resources/__files/VfModularity/VfModule-supercool.xml
bpmn/so-bpmn-tasks/src/test/resources/__files/VfModularity/VolumeGroup.xml
common/pom.xml
common/src/main/java/org/onap/so/constants/Defaults.java
common/src/main/java/org/onap/so/serviceinstancebeans/ModelType.java
common/src/main/java/org/onap/so/spring/SpringContextHelper.java [moved from bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/SpringContextHelper.java with 92% similarity]
common/src/test/java/org/onap/so/NonSpringSuite.java [moved from asdc-controller/src/main/java/org/onap/so/asdc/tenantIsolation/SpringContextHelper.java with 57% similarity]
common/src/test/java/org/onap/so/SpringSuite.java [moved from mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/SpringContextHelper.java with 56% similarity]
common/src/test/java/org/onap/so/constants/DefaultsTest.java [new file with mode: 0644]
common/src/test/java/org/onap/so/serviceinstancebeans/ServiceInstanceBeansTest.java
common/src/test/java/org/onap/so/test/categories/SpringAware.java [new file with mode: 0644]
common/src/test/resources/__files/aai/resources/e2e-complex.json
common/src/test/resources/application-test.yaml [new file with mode: 0644]
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/AaiClientPropertiesImpl.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/GrmClientPropertiesImpl.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/dmaap/DmaapPropertiesImpl.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/RelatedInstancesValidation.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/RelatedInstancesValidationTest.java
mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RelatedInstances/v7CreateVnfNetworkInstanceGroup.json [moved from mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RelatedInstances/v7CreateVnfNetworkCollection.json with 96% similarity]
mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/VnfwithNeteworkInstanceGroup.json [new file with mode: 0644]
mso-api-handlers/mso-requests-db-repositories/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImpl.java
mso-api-handlers/mso-requests-db-repositories/src/test/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImplTest.java
mso-catalog-db/src/test/resources/data.sql
so-monitoring/so-monitoring-service/src/main/resources/application.yaml

index dcfeb10..7b769bd 100644 (file)
@@ -25,6 +25,7 @@ import java.net.URL;
 
 import org.onap.so.client.aai.AAIProperties;
 import org.onap.so.client.aai.AAIVersion;
+import org.onap.so.spring.SpringContextHelper;
 import org.springframework.context.ApplicationContext;
 
 public class AaiClientPropertiesImpl implements AAIProperties {
index 9a7240c..74f0d60 100644 (file)
@@ -27,8 +27,8 @@ import org.junit.runner.RunWith;
 import org.onap.so.asdc.installer.ToscaResourceStructure;
 import org.onap.so.asdc.installer.VfResourceStructure;
 import org.onap.so.asdc.installer.heat.ToscaResourceInstaller;
-import org.onap.so.asdc.tenantIsolation.SpringContextHelper;
 import org.onap.so.asdc.tenantIsolation.WatchdogDistribution;
+import org.onap.so.spring.SpringContextHelper;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
 import org.springframework.boot.test.context.SpringBootTest;
index 00bd8e9..9e71313 100644 (file)
@@ -693,32 +693,6 @@ public abstract class AbstractServiceTaskProcessor implements ServiceTaskProcess
                        '/' + UriUtils.encodePathSegment(correlator, 'UTF-8')
        }
 
-       /**
-        * Constructs a workflow message callback URL for the specified message type and correlator.
-        * This type of callback URL is used when a workflow wants an MSO adapter (like the SDNC
-        * adapter) to call it back.  In other words, this is for callbacks internal to the MSO
-        * complex.  Use <code>createWorkflowMessageAdapterCallbackURL</code> if the callback
-        * will come from outside the MSO complex.
-        * @param endpoint endpoint address to contruct URL from
-        * @param messageType the message type (e.g. SDNCAResponse or VNFAResponse)
-        * @param correlator the correlator value (e.g. a request ID)
-        */
-       public String createCallbackURL(String endpoint, String messageType, String correlator) {
-               if (endpoint == null || endpoint.isEmpty()) {
-                       ExceptionUtil exceptionUtil = new ExceptionUtil()
-                       exceptionUtil.buildAndThrowWorkflowException(execution, 2000,
-                                       'mso:workflow:message:endpoint was not passed in')
-               }
-
-               while (endpoint.endsWith('/')) {
-                       endpoint = endpoint.substring(0, endpoint.length()-1)
-               }
-
-               return endpoint +
-                               '/' + UriUtils.encodePathSegment(messageType, 'UTF-8') +
-                               '/' + UriUtils.encodePathSegment(correlator, 'UTF-8')
-       }
-
        /**
         *
         * Constructs a workflow message callback URL for the specified message type and correlator.
index aa0d8ac..533df72 100644 (file)
@@ -41,6 +41,7 @@ import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
 
 import org.json.JSONArray
 import org.json.JSONObject
+import org.springframework.web.util.UriUtils
 
 import static org.onap.so.bpmn.common.scripts.GenericUtils.*
 
@@ -338,4 +339,37 @@ class OofHoming extends AbstractServiceTaskProcessor {
      */
     public void preProcessRequest(DelegateExecution execution) {}
         // Not Implemented Method
+
+    /**
+     * Constructs a workflow message callback URL for the specified message type and correlator.
+     * This type of callback URL is used when a workflow wants an MSO adapter (like the SDNC
+     * adapter) to call it back.  In other words, this is for callbacks internal to the MSO
+     * complex.  Use <code>createWorkflowMessageAdapterCallbackURL</code> if the callback
+     * will come from outside the MSO complex.
+     * @param endpoint endpoint address to contruct URL from
+     * @param messageType the message type (e.g. SDNCAResponse or VNFAResponse)
+     * @param correlator the correlator value (e.g. a request ID)
+     */
+    public String createHomingCallbackURL(String endpoint, String messageType, String correlator) {
+        try {
+            if (endpoint == null || endpoint.isEmpty()) {
+                ExceptionUtil exceptionUtil = new ExceptionUtil()
+                exceptionUtil.buildAndThrowWorkflowException(execution, 2000,
+                        'mso:workflow:message:endpoint was not passed in')
+            }
+
+            utils.log("DEBUG", "passed in endpoint: " + endpoint + " *****", "true")
+
+            while (endpoint.endsWith('/')) {
+                endpoint = endpoint.substring(0, endpoint.length() - 1)
+            }
+            utils.log("DEBUG", "processed endpoint: " + endpoint + " *****", "true")
+
+            return endpoint +
+                    '/' + UriUtils.encodePathSegment(messageType, 'UTF-8') +
+                    '/' + UriUtils.encodePathSegment(correlator, 'UTF-8')
+        } catch (Exception ex) {
+            utils.log("DEBUG", "createCallbackURL Exception: " + ex + " *****", "true")
+        }
+    }
 }
index b1da7cf..197589e 100644 (file)
@@ -89,138 +89,148 @@ class OofUtils {
         utils.log("DEBUG", "Started Building OOF Request", isDebugEnabled)
         String callbackEndpoint = UrnPropertiesReader.getVariable("mso.oof.callbackEndpoint", execution)
         utils.log("DEBUG", "mso.oof.callbackEndpoint is: " + callbackEndpoint, isDebugEnabled)
-        def callbackUrl = utils.createWorkflowMessageAdapterCallbackURL(callbackEndpoint, "oofResponse", requestId)
-        def transactionId = requestId
-        //ServiceInstance Info
-        ServiceInstance serviceInstance = decomposition.getServiceInstance()
-        def serviceInstanceId = ""
-        def serviceName = ""
-
-        serviceInstanceId = execution.getVariable("serviceInstanceId")
-        serviceName = execution.getVariable("subscriptionServiceType")
-
-        if (serviceInstanceId == null || serviceInstanceId == "null") {
-            utils.log("DEBUG", "Unable to obtain Service Instance Id", isDebugEnabled)
-            exceptionUtil.buildAndThrowWorkflowException(execution, 400, "Internal Error - Unable to " +
-                    "obtain Service Instance Id, execution.getVariable(\"serviceInstanceId\") is null")
-        }
-        if (serviceName == null || serviceName == "null") {
-            utils.log("DEBUG", "Unable to obtain Service Name", isDebugEnabled)
-            exceptionUtil.buildAndThrowWorkflowException(execution, 400, "Internal Error - Unable to " +
-                    "obtain Service Name, execution.getVariable(\"subscriptionServiceType\") is null")
-        }
-        //Model Info
-        ModelInfo model = decomposition.getModelInfo()
-        String modelType = model.getModelType()
-        String modelInvariantId = model.getModelInvariantUuid()
-        String modelVersionId = model.getModelUuid()
-        String modelName = model.getModelName()
-        String modelVersion = model.getModelVersion()
-        //Subscriber Info
-        String subscriberId = ""
-        String subscriberName = ""
-        String commonSiteId = ""
-        if (subscriber != null){
-            subscriberId = subscriber.getGlobalId()
-            subscriberName = subscriber.getName()
-            commonSiteId = subscriber.getCommonSiteId()
-        }
-
-        //Determine RequestType
-        //TODO Figure out better way to determine this
-        String requestType = "create"
-        List<Resource> resources = decomposition.getServiceResources()
-        for(Resource r:resources){
-            HomingSolution currentSolution = (HomingSolution) r.getCurrentHomingSolution()
-            if(currentSolution != null){
-                requestType = "speed changed"
+        try {
+            def callbackUrl = utils.createHomingCallbackURL(callbackEndpoint, "oofResponse", requestId)
+            utils.log("DEBUG", "callbackUrl is: " + callbackUrl, isDebugEnabled)
+
+
+            def transactionId = requestId
+            utils.log("DEBUG", "transactionId is: " + transactionId, isDebugEnabled)
+            //ServiceInstance Info
+            ServiceInstance serviceInstance = decomposition.getServiceInstance()
+            def serviceInstanceId = ""
+            def serviceName = ""
+
+            serviceInstanceId = execution.getVariable("serviceInstanceId")
+            utils.log("DEBUG", "serviceInstanceId is: " + serviceInstanceId, isDebugEnabled)
+            serviceName = execution.getVariable("subscriptionServiceType")
+            utils.log("DEBUG", "serviceName is: " + serviceName, isDebugEnabled)
+
+            if (serviceInstanceId == null || serviceInstanceId == "null") {
+                utils.log("DEBUG", "Unable to obtain Service Instance Id", isDebugEnabled)
+                exceptionUtil.buildAndThrowWorkflowException(execution, 400, "Internal Error - Unable to " +
+                        "obtain Service Instance Id, execution.getVariable(\"serviceInstanceId\") is null")
+            }
+            if (serviceName == null || serviceName == "null") {
+                utils.log("DEBUG", "Unable to obtain Service Name", isDebugEnabled)
+                exceptionUtil.buildAndThrowWorkflowException(execution, 400, "Internal Error - Unable to " +
+                        "obtain Service Name, execution.getVariable(\"subscriptionServiceType\") is null")
+            }
+            //Model Info
+            ModelInfo model = decomposition.getModelInfo()
+            utils.log("DEBUG", "ModelInfo: " + model.toString(), isDebugEnabled)
+            String modelType = model.getModelType()
+            String modelInvariantId = model.getModelInvariantUuid()
+            String modelVersionId = model.getModelUuid()
+            String modelName = model.getModelName()
+            String modelVersion = model.getModelVersion()
+            //Subscriber Info
+            String subscriberId = ""
+            String subscriberName = ""
+            String commonSiteId = ""
+            if (subscriber != null) {
+                subscriberId = subscriber.getGlobalId()
+                subscriberName = subscriber.getName()
+                commonSiteId = subscriber.getCommonSiteId()
             }
-        }
 
-        //Demands
-        String placementDemands = ""
-        StringBuilder sb = new StringBuilder()
-        List<AllottedResource> allottedResourceList = decomposition.getAllottedResources()
-        List<VnfResource> vnfResourceList = decomposition.getVnfResources()
+            //Determine RequestType
+            //TODO Figure out better way to determine this
+            String requestType = "create"
+            List<Resource> resources = decomposition.getServiceResources()
+            for (Resource r : resources) {
+                HomingSolution currentSolution = (HomingSolution) r.getCurrentHomingSolution()
+                if (currentSolution != null) {
+                    requestType = "speed changed"
+                }
+            }
 
-        if (allottedResourceList == null || allottedResourceList.isEmpty() ) {
-            utils.log("DEBUG", "Allotted Resources List is empty - will try to get service VNFs instead.",
-                    isDebugEnabled)
-            allottedResourceList = decomposition.getVnfResources()
-        }
+            //Demands
+            String placementDemands = ""
+            StringBuilder sb = new StringBuilder()
+            List<AllottedResource> allottedResourceList = decomposition.getAllottedResources()
+            List<VnfResource> vnfResourceList = decomposition.getVnfResources()
 
-        if (allottedResourceList == null || allottedResourceList.isEmpty()) {
-            utils.log("DEBUG", "Resources List is Empty", isDebugEnabled)
-        } else {
-            for (AllottedResource resource : allottedResourceList) {
-                utils.log("DEBUG", "Allotted Resource: " + resource.toString(),
+            if (allottedResourceList == null || allottedResourceList.isEmpty()) {
+                utils.log("DEBUG", "Allotted Resources List is empty - will try to get service VNFs instead.",
                         isDebugEnabled)
-                def serviceResourceId = resource.getResourceId()
-                def resourceModelInvariantId = resource.getModelInfo().getModelInvariantUuid()
-                def resourceModelVersionId = resource.getModelInfo().getModelUuid()
-                def resourceModelName = resource.getModelInfo().getModelName()
-                def resourceModelVersion = resource.getModelInfo().getModelVersion()
-                def resourceModelType = resource.getModelInfo().getModelType()
-                def tenantId = execution.getVariable("tenantId")
-                def requiredCandidatesJson = ""
-
-                requiredCandidatesJson = createCandidateJson(
-                        existingCandidates,
-                        excludedCandidates,
-                        requiredCandidates)
-
-                String demand =
-                        "      {\n" +
-                        "      \"resourceModuleName\": \"${resourceModelName}\",\n" +
-                        "      \"serviceResourceId\": \"${serviceResourceId}\",\n" +
-                        "      \"tenantId\": \"${tenantId}\",\n" +
-                        "      \"resourceModelInfo\": {\n" +
-                        "        \"modelInvariantId\": \"${resourceModelInvariantId}\",\n" +
-                        "        \"modelVersionId\": \"${resourceModelVersionId}\",\n" +
-                        "        \"modelName\": \"${resourceModelName}\",\n" +
-                        "        \"modelType\": \"${resourceModelType}\",\n" +
-                        "        \"modelVersion\": \"${resourceModelVersion}\",\n" +
-                        "        \"modelCustomizationName\": \"\"\n" +
-                        "        }" + requiredCandidatesJson + "\n" +
-                        "      },"
-
-                placementDemands = sb.append(demand)
+            } else {
+                for (AllottedResource resource : allottedResourceList) {
+                    utils.log("DEBUG", "Allotted Resource: " + resource.toString(),
+                            isDebugEnabled)
+                    def serviceResourceId = resource.getResourceId()
+                    def resourceModelInvariantId = resource.getModelInfo().getModelInvariantUuid()
+                    def resourceModelVersionId = resource.getModelInfo().getModelUuid()
+                    def resourceModelName = resource.getModelInfo().getModelName()
+                    def resourceModelVersion = resource.getModelInfo().getModelVersion()
+                    def resourceModelType = resource.getModelInfo().getModelType()
+                    def tenantId = execution.getVariable("tenantId")
+                    def requiredCandidatesJson = ""
+
+                    requiredCandidatesJson = createCandidateJson(
+                            existingCandidates,
+                            excludedCandidates,
+                            requiredCandidates)
+
+                    String demand =
+                            "      {\n" +
+                                    "      \"resourceModuleName\": \"${resourceModelName}\",\n" +
+                                    "      \"serviceResourceId\": \"${serviceResourceId}\",\n" +
+                                    "      \"tenantId\": \"${tenantId}\",\n" +
+                                    "      \"resourceModelInfo\": {\n" +
+                                    "        \"modelInvariantId\": \"${resourceModelInvariantId}\",\n" +
+                                    "        \"modelVersionId\": \"${resourceModelVersionId}\",\n" +
+                                    "        \"modelName\": \"${resourceModelName}\",\n" +
+                                    "        \"modelType\": \"${resourceModelType}\",\n" +
+                                    "        \"modelVersion\": \"${resourceModelVersion}\",\n" +
+                                    "        \"modelCustomizationName\": \"\"\n" +
+                                    "        }" + requiredCandidatesJson + "\n" +
+                                    "      },"
+
+                    placementDemands = sb.append(demand)
+                }
             }
-            for (VnfResource vnfResource : vnfResourceList) {
-                utils.log("DEBUG", "VNF Resource: " + vnfResource.toString(),
+
+            if (vnfResourceList == null || vnfResourceList.isEmpty()) {
+                utils.log("DEBUG", "VNF Resources List is empty",
                         isDebugEnabled)
-                ModelInfo vnfResourceModelInfo = vnfResource.getModelInfo()
-                def serviceResourceId = vnfResource.getResourceId()
-                def resourceModelInvariantId = vnfResourceModelInfo.getModelInvariantUuid()
-                def resourceModelName = vnfResourceModelInfo.getModelName()
-                def resourceModelVersion = vnfResourceModelInfo.getModelVersion()
-                def resourceModelVersionId = vnfResourceModelInfo.getModelUuid()
-                def resourceModelType = vnfResourceModelInfo.getModelType()
-                def tenantId = execution.getVariable("tenantId")
-                def requiredCandidatesJson = ""
-
-
-                String placementDemand =
-                        "      {\n" +
-                        "      \"resourceModuleName\": \"${resourceModelName}\",\n" +
-                        "      \"serviceResourceId\": \"${serviceResourceId}\",\n" +
-                        "      \"tenantId\": \"${tenantId}\",\n" +
-                        "      \"resourceModelInfo\": {\n" +
-                        "        \"modelInvariantId\": \"${resourceModelInvariantId}\",\n" +
-                        "        \"modelVersionId\": \"${resourceModelVersionId}\",\n" +
-                        "        \"modelName\": \"${resourceModelName}\",\n" +
-                        "        \"modelType\": \"${resourceModelType}\",\n" +
-                        "        \"modelVersion\": \"${resourceModelVersion}\",\n" +
-                        "        \"modelCustomizationName\": \"\"\n" +
-                        "        }" + requiredCandidatesJson + "\n" +
-                        "      },"
-
-                placementDemands = sb.append(placementDemand)
+            } else {
+
+                for (VnfResource vnfResource : vnfResourceList) {
+                    utils.log("DEBUG", "VNF Resource: " + vnfResource.toString(),
+                            isDebugEnabled)
+                    ModelInfo vnfResourceModelInfo = vnfResource.getModelInfo()
+                    def serviceResourceId = vnfResource.getResourceId()
+                    def resourceModelInvariantId = vnfResourceModelInfo.getModelInvariantUuid()
+                    def resourceModelName = vnfResourceModelInfo.getModelName()
+                    def resourceModelVersion = vnfResourceModelInfo.getModelVersion()
+                    def resourceModelVersionId = vnfResourceModelInfo.getModelUuid()
+                    def resourceModelType = vnfResourceModelInfo.getModelType()
+                    def tenantId = execution.getVariable("tenantId")
+                    def requiredCandidatesJson = ""
+
+
+                    String placementDemand =
+                            "      {\n" +
+                                    "      \"resourceModuleName\": \"${resourceModelName}\",\n" +
+                                    "      \"serviceResourceId\": \"${serviceResourceId}\",\n" +
+                                    "      \"tenantId\": \"${tenantId}\",\n" +
+                                    "      \"resourceModelInfo\": {\n" +
+                                    "        \"modelInvariantId\": \"${resourceModelInvariantId}\",\n" +
+                                    "        \"modelVersionId\": \"${resourceModelVersionId}\",\n" +
+                                    "        \"modelName\": \"${resourceModelName}\",\n" +
+                                    "        \"modelType\": \"${resourceModelType}\",\n" +
+                                    "        \"modelVersion\": \"${resourceModelVersion}\",\n" +
+                                    "        \"modelCustomizationName\": \"\"\n" +
+                                    "        }" + requiredCandidatesJson + "\n" +
+                                    "      },"
+
+                    placementDemands = sb.append(placementDemand)
+                }
+                placementDemands = placementDemands.substring(0, placementDemands.length() - 1)
             }
-            placementDemands = placementDemands.substring(0, placementDemands.length() - 1)
-        }
 
-        /* Commenting Out Licensing as OOF doesn't support for Beijing
+            /* Commenting Out Licensing as OOF doesn't support for Beijing
         String licenseDemands = ""
         sb = new StringBuilder()
         if (vnfResourceList.isEmpty() || vnfResourceList == null) {
@@ -265,50 +275,53 @@ class OofUtils {
             licenseDemands = licenseDemands.substring(0, licenseDemands.length() - 1)
         }*/
 
-        String request =
-                "{\n" +
-                "  \"requestInfo\": {\n" +
-                "    \"transactionId\": \"${transactionId}\",\n" +
-                "    \"requestId\": \"${requestId}\",\n" +
-                "    \"callbackUrl\": \"${callbackUrl}\",\n" +
-                "    \"sourceId\": \"so\",\n" +
-                "    \"requestType\": \"${requestType}\"," +
-                "    \"numSolutions\": 1,\n" +
-                "    \"optimizers\": [\"placement\"],\n" +
-                "    \"timeout\": 600\n" +
-                "    },\n" +
-                "  \"placementInfo\": {\n" +
-                "    \"requestParameters\": {\n" +
-                "      \"customerLatitude\": \"${customerLocation.customerLatitude}\",\n" +
-                "      \"customerLongitude\": \"${customerLocation.customerLongitude}\",\n" +
-                "      \"customerName\": \"${customerLocation.customerName}\"\n" +
-                "    }," +
-                "    \"subscriberInfo\": { \n" +
-                "      \"globalSubscriberId\": \"${subscriberId}\",\n" +
-                "      \"subscriberName\": \"${subscriberName}\",\n" +
-                "      \"subscriberCommonSiteId\": \"${commonSiteId}\"\n" +
-                "    },\n" +
-                "    \"placementDemands\": [\n" +
-                "      ${placementDemands}\n" +
-                "      ]\n" +
-                "    },\n" +
-                "  \"serviceInfo\": {\n" +
-                "    \"serviceInstanceId\": \"${serviceInstanceId}\",\n" +
-                "    \"serviceName\": \"${serviceName}\",\n" +
-                "    \"modelInfo\": {\n" +
-                "      \"modelType\": \"${modelType}\",\n" +
-                "      \"modelInvariantId\": \"${modelInvariantId}\",\n" +
-                "      \"modelVersionId\": \"${modelVersionId}\",\n" +
-                "      \"modelName\": \"${modelName}\",\n" +
-                "      \"modelVersion\": \"${modelVersion}\",\n" +
-                "      \"modelCustomizationName\": \"\"\n" +
-                "    }\n" +
-                "  }\n" +
-                "}"
-
-
-        utils.log("DEBUG", "Completed Building OOF Request", isDebugEnabled)
-        return request
+            String request =
+                    "{\n" +
+                            "  \"requestInfo\": {\n" +
+                            "    \"transactionId\": \"${transactionId}\",\n" +
+                            "    \"requestId\": \"${requestId}\",\n" +
+                            "    \"callbackUrl\": \"${callbackUrl}\",\n" +
+                            "    \"sourceId\": \"so\",\n" +
+                            "    \"requestType\": \"${requestType}\"," +
+                            "    \"numSolutions\": 1,\n" +
+                            "    \"optimizers\": [\"placement\"],\n" +
+                            "    \"timeout\": 600\n" +
+                            "    },\n" +
+                            "  \"placementInfo\": {\n" +
+                            "    \"requestParameters\": {\n" +
+                            "      \"customerLatitude\": \"${customerLocation.customerLatitude}\",\n" +
+                            "      \"customerLongitude\": \"${customerLocation.customerLongitude}\",\n" +
+                            "      \"customerName\": \"${customerLocation.customerName}\"\n" +
+                            "    }," +
+                            "    \"subscriberInfo\": { \n" +
+                            "      \"globalSubscriberId\": \"${subscriberId}\",\n" +
+                            "      \"subscriberName\": \"${subscriberName}\",\n" +
+                            "      \"subscriberCommonSiteId\": \"${commonSiteId}\"\n" +
+                            "    },\n" +
+                            "    \"placementDemands\": [\n" +
+                            "      ${placementDemands}\n" +
+                            "      ]\n" +
+                            "    },\n" +
+                            "  \"serviceInfo\": {\n" +
+                            "    \"serviceInstanceId\": \"${serviceInstanceId}\",\n" +
+                            "    \"serviceName\": \"${serviceName}\",\n" +
+                            "    \"modelInfo\": {\n" +
+                            "      \"modelType\": \"${modelType}\",\n" +
+                            "      \"modelInvariantId\": \"${modelInvariantId}\",\n" +
+                            "      \"modelVersionId\": \"${modelVersionId}\",\n" +
+                            "      \"modelName\": \"${modelName}\",\n" +
+                            "      \"modelVersion\": \"${modelVersion}\",\n" +
+                            "      \"modelCustomizationName\": \"\"\n" +
+                            "    }\n" +
+                            "  }\n" +
+                            "}"
+
+
+            utils.log("DEBUG", "Completed Building OOF Request", isDebugEnabled)
+            return request
+        } catch (Exception ex) {
+             utils.log("DEBUG", "buildRequest Exception: " + ex, isDebugEnabled)
+        }
     }
 
     /**
index a2f6637..1ffd9dd 100644 (file)
@@ -34,4 +34,5 @@ public interface BuildingBlockExecution {
        public <T> T getRequiredVariable(String key) throws RequiredExecutionVariableExeception;
        public void setVariable(String key, Serializable value);
        public Map<ResourceKey, String> getLookupMap();
+       public String getFlowToBeCalled();
 }
index ef564c6..1c1d6b7 100644 (file)
@@ -97,6 +97,10 @@ public class DelegateExecutionImpl implements BuildingBlockExecution, Serializab
                return this.get("lookupKeyMap");
        }
        
+       @Override
+       public String getFlowToBeCalled() {
+               return this.get("flowToBeCalled");
+       }
        public DelegateExecution getDelegateExecution() {
                return this.execution;
        }
index 769d3e4..8cc25a2 100644 (file)
@@ -571,7 +571,7 @@ public class BBInputSetup implements JavaDelegate {
                if (relatedInstanceList != null) {
                        for (RelatedInstanceList relatedInstList : relatedInstanceList) {
                                RelatedInstance relatedInstance = relatedInstList.getRelatedInstance();
-                               if (relatedInstance.getModelInfo().getModelType().equals(ModelType.networkCollection)) {
+                               if (relatedInstance.getModelInfo().getModelType().equals(ModelType.networkInstanceGroup)) {
                                        instanceGroupModelInfo = relatedInstance.getModelInfo();
                                        instanceGroupId = relatedInstance.getInstanceId();
                                }
index 1b76f5c..5a01c83 100644 (file)
@@ -77,7 +77,7 @@ class ConfirmVolumeGroupTenantTest extends MsoGroovyTest {
         when(mockExecution.getVariable("aicCloudRegion")).thenReturn('aicCloudRegion')
         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.default.aai.v8.cloud-region.uri")).thenReturn('/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner')
         when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
 
 
@@ -89,17 +89,17 @@ class ConfirmVolumeGroupTenantTest extends MsoGroovyTest {
       /*  Mockito.verify(mockExecution, times(5)).setVariable(captor.capture(), captor.capture())*/
         verify(mockExecution).setVariable("prefix", "CVGT_")
         verify(mockExecution).setVariable("queryVolumeGroupResponseCode", 200)
-        verify(mockExecution).setVariable("queryAAIVolumeGroupResponse", "<volume-group xmlns=\"http://org.openecomp.aai.inventory/v10\"><volume-group-id>17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c</volume-group-id><volume-group-name>MSOTESTVOL103a-vSAMP12_base_module-0_vol</volume-group-name><heat-stack-id>9d1f53e3-3158-44f8-8032-a6bf40bbc9db</heat-stack-id><vnf-type>pcrf-capacity</vnf-type><orchestration-status>Active</orchestration-status><resource-version>0000020</resource-version><relationship-list><relationship><related-to>tenant</related-to><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>RegionOne</relationship-value></relationship-data><relationship-data><relationship-key>tenant.tenant-id</relationship-key><relationship-value>22eb191dd41a4f3c9be370fc638322f4</relationship-value></relationship-data></relationship></relationship-list></volume-group>")
+        verify(mockExecution).setVariable("queryAAIVolumeGroupResponse", "<volume-group xmlns=\"http://org.openecomp.aai.inventory/v10\"><volume-group-id>17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c</volume-group-id><volume-group-name>MSOTESTVOL103a-vSAMP12_base_module-0_vol</volume-group-name><heat-stack-id>9d1f53e3-3158-44f8-8032-a6bf40bbc9db</heat-stack-id><vnf-type>pcrf-capacity</vnf-type><orchestration-status>Active</orchestration-status><resource-version>0000020</resource-version><relationship-list><relationship><related-to>tenant</related-to><relationship-data><relationship-key>cloud-region.cloud-owner</relationship-key><relationship-value>CloudOwner</relationship-value></relationship-data><relationship-data><relationship-key>cloud-region.cloud-region-id</relationship-key><relationship-value>RegionOne</relationship-value></relationship-data><relationship-data><relationship-key>tenant.tenant-id</relationship-key><relationship-value>22eb191dd41a4f3c9be370fc638322f4</relationship-value></relationship-data></relationship></relationship-list></volume-group>")
         verify(mockExecution).setVariable("tenantIdsMatch", false)
         verify(mockExecution).setVariable("groupNamesMatch", false)
     }
 
 
     private void mockData() {
-        stubFor(get(urlMatching("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/aicCloudRegion/volume-groups/volume-group/testVolumeGroupId"))
+        stubFor(get(urlMatching("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/aicCloudRegion/volume-groups/volume-group/testVolumeGroupId"))
                 .willReturn(aResponse()
                 .withStatus(200)
-                .withBody("<volume-group xmlns=\"http://org.openecomp.aai.inventory/v10\"><volume-group-id>17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c</volume-group-id><volume-group-name>MSOTESTVOL103a-vSAMP12_base_module-0_vol</volume-group-name><heat-stack-id>9d1f53e3-3158-44f8-8032-a6bf40bbc9db</heat-stack-id><vnf-type>pcrf-capacity</vnf-type><orchestration-status>Active</orchestration-status><resource-version>0000020</resource-version><relationship-list><relationship><related-to>tenant</related-to><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>RegionOne</relationship-value></relationship-data><relationship-data><relationship-key>tenant.tenant-id</relationship-key><relationship-value>22eb191dd41a4f3c9be370fc638322f4</relationship-value></relationship-data></relationship></relationship-list></volume-group>")))
+                .withBody("<volume-group xmlns=\"http://org.openecomp.aai.inventory/v10\"><volume-group-id>17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c</volume-group-id><volume-group-name>MSOTESTVOL103a-vSAMP12_base_module-0_vol</volume-group-name><heat-stack-id>9d1f53e3-3158-44f8-8032-a6bf40bbc9db</heat-stack-id><vnf-type>pcrf-capacity</vnf-type><orchestration-status>Active</orchestration-status><resource-version>0000020</resource-version><relationship-list><relationship><related-to>tenant</related-to><relationship-data><relationship-key>cloud-region.cloud-owner</relationship-key><relationship-value>CloudOwner</relationship-value></relationship-data><relationship-data><relationship-key>cloud-region.cloud-region-id</relationship-key><relationship-value>RegionOne</relationship-value></relationship-data><relationship-data><relationship-key>tenant.tenant-id</relationship-key><relationship-value>22eb191dd41a4f3c9be370fc638322f4</relationship-value></relationship-data></relationship></relationship-list></volume-group>")))
     }
 
     private ExecutionEntity setupMock() {
index 38be9f3..79b0d33 100644 (file)
@@ -505,7 +505,7 @@ public class StubResponseAAI {
        }
 
        public static void MockGetNetworkCloudRegion(String responseFile, String cloudRegion) {
-               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/"+cloudRegion))
+               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/"+cloudRegion))
                                .willReturn(aResponse()
                                                .withStatus(200)
                                                .withHeader("Content-Type", "text/xml")
@@ -529,7 +529,7 @@ public class StubResponseAAI {
        }
 
        public static void MockGetNetworkCloudRegion_404(String cloudRegion) {
-               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/"+cloudRegion))
+               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/"+cloudRegion))
                                .willReturn(aResponse()
                                                .withStatus(404)));
        }
@@ -722,12 +722,12 @@ public class StubResponseAAI {
                                .withStatus(200)
                                .withHeader("Content-Type", "text/xml")
                                .withBodyFile("VfModularity/ConfirmVolumeGroupTenantResponse.xml")));
-               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/MDTWNJ21/volume-groups/volume-group/78987"))
+               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/MDTWNJ21/volume-groups/volume-group/78987"))
                        .willReturn(aResponse()
                                .withStatus(200)
                                .withHeader("Content-Type", "text/xml")
                                .withBodyFile("VfModularity/VolumeGroup.xml")));
-               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/volume-groups/volume-group/78987"))
+               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/volume-groups/volume-group/78987"))
                                .willReturn(aResponse()
                                        .withStatus(200)
                                        .withHeader("Content-Type", "text/xml")
@@ -757,7 +757,7 @@ public class StubResponseAAI {
         */
 
        public static void MockGetCloudRegion(String cloudRegionId, int statusCode, String responseFile) {
-               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId))
+               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId))
                                .willReturn(aResponse()
                                                .withStatus(statusCode)
                                                .withHeader("Content-Type", "text/xml")
@@ -772,7 +772,7 @@ public class StubResponseAAI {
        }
 
        public static void MockGetVolumeGroupById(String cloudRegionId, String volumeGroupId, String responseFile, int responseCode) {
-               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId))
+               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId))
                                .willReturn(aResponse()
                                                .withStatus(responseCode)
                                                .withHeader("Content-Type", "text/xml")
@@ -780,7 +780,7 @@ public class StubResponseAAI {
        }
 
        public static void MockPutVolumeGroupById(String cloudRegionId, String volumeGroupId, String responseFile, int statusCode) {
-               stubFor(put(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId))
+               stubFor(put(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId))
                                .willReturn(aResponse()
                                                .withStatus(statusCode)
                                                .withHeader("Content-Type", "text/xml")
@@ -788,7 +788,7 @@ public class StubResponseAAI {
        }
 
        public static void MockGetVolumeGroupByName(String cloudRegionId, String volumeGroupName, String responseFile, int statusCode) {
-               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName))
+               stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName))
                                .willReturn(aResponse()
                                                .withStatus(statusCode)
                                                .withHeader("Content-Type", "text/xml")
@@ -796,19 +796,19 @@ public class StubResponseAAI {
        }
 
        public static void MockDeleteVolumeGroupById(String cloudRegionId, String volumeGroupId, String resourceVersion, int statusCode) {
-               stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion))
+               stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion))
                                  .willReturn(aResponse()
                                  .withStatus(statusCode)));
        }
 
        public static void MockGetVolumeGroupByName_404(String cloudRegionId, String volumeGroupName) {
-               stubFor(get(urlMatching("/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName))
+               stubFor(get(urlMatching("/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName))
                                .willReturn(aResponse()
                                .withStatus(404)));
        }
 
        public static void MockDeleteVolumeGroup(String cloudRegionId, String volumeGroupId, String resourceVersion) {
-               stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion))
+               stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion))
                                .willReturn(aResponse()
                                .withStatus(200)));
        }
@@ -913,7 +913,7 @@ public class StubResponseAAI {
        }
 
        public static void MockGetDefaultCloudRegionByCloudRegionId(String cloudRegionId, String responseFile, int statusCode) {
-               stubFor(get(urlMatching("/aai/v1[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/"+cloudRegionId + ".*"))
+               stubFor(get(urlMatching("/aai/v1[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/"+cloudRegionId + ".*"))
                                .willReturn(aResponse()
                                                .withStatus(statusCode)
                                                .withHeader("Content-Type", "application/json; charset=utf-8")
index eed4b14..0db2f9f 100644 (file)
@@ -118,7 +118,7 @@ public class BBInputSetupTest {
        private static final String RESOURCE_PATH = "src/test/resources/__files/ExecuteBuildingBlock/";
 
        protected ObjectMapper mapper = new ObjectMapper();
-       private static final String CLOUD_OWNER = "att-aic";
+       private static final String CLOUD_OWNER = "CloudOwner";
 
        @Spy
        private BBInputSetup SPY_bbInputSetup = new BBInputSetup();
index 8332ddc..a6072bb 100644 (file)
@@ -45,7 +45,7 @@
                        "relatedInstance": {
                                "instanceId": "{instanceGroupId}",
                                "modelInfo": {
-                                       "modelType": "networkCollection",
+                                       "modelType": "networkInstanceGroup",
                                        "modelInvariantId": "9ea660dc-155f-44d3-b45c-cc7648b4f31c",
                                        "modelVersionId": "bb07aad1-ce2d-40c1-85cb-5392f76bb1ef",
                                        "modelName": "{network collection model name}",
index 4167e2e..dff05c9 100644 (file)
@@ -11,7 +11,7 @@
                <tns:related-to>tenant</tns:related-to>
                 <tns:relationship-data>
                   <tns:relationship-key>cloud-region.cloud-owner</tns:relationship-key>
-                  <tns:relationship-value>att-aic</tns:relationship-value>
+                  <tns:relationship-value>CloudOwner</tns:relationship-value>
                </tns:relationship-data>
                <tns:relationship-data>
                   <tns:relationship-key>cloud-region.cloud-region-id</tns:relationship-key>
index 21bacbd..e3d830e 100644 (file)
                         },
                         {
                             "related-to": "cloud-region",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtcnj2",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtcnj2",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
                         },
                         {
                             "related-to": "oam-network",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/f9263cat-4eaa-43a0-bea4-adcf6e123456",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/f9263cat-4eaa-43a0-bea4-adcf6e123456",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
                         },
                         {
                             "related-to": "oam-network",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/b9263fab-4eaa-43a0-bea4-adcf6e999999",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/b9263fab-4eaa-43a0-bea4-adcf6e999999",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
                         },
                         {
                             "related-to": "oam-network",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/cf33dc95-c5d2-48fd-8078-fd949363f63b",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/cf33dc95-c5d2-48fd-8078-fd949363f63b",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
                         },
                         {
                             "related-to": "availability-zone",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/availability-zones/availability-zone/mtcnj-esx-az01",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/availability-zones/availability-zone/mtcnj-esx-az01",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
index 07523ca..6748128 100644 (file)
@@ -69,7 +69,7 @@ public class JsonUtilsTest {
                JSONObject homingDataJson = arr.getJSONObject(0);
                JSONArray assignmentInfo = homingDataJson.getJSONArray("assignmentInfo");
                Map<String, String> map = utils.entryArrayToMap(execution, assignmentInfo.toString(), "variableName", "variableValue");
-               assertEquals(map.get("cloudOwner"), "att-aic");
+               assertEquals(map.get("cloudOwner"), "CloudOwner");
        }
        @Test
        public void entryArrayToMapStringTest() throws IOException {
@@ -80,7 +80,7 @@ public class JsonUtilsTest {
                JSONObject homingDataJson = arr.getJSONObject(0);
                JSONArray assignmentInfo = homingDataJson.getJSONArray("assignmentInfo");
                Map<String, String> map = utils.entryArrayToMap(assignmentInfo.toString(), "variableName", "variableValue");
-               assertEquals(map.get("cloudOwner"), "att-aic");
+               assertEquals(map.get("cloudOwner"), "CloudOwner");
        }       
        @Test
        public void getJsonRootPropertyTest() throws IOException {
index 838bcd8..f952302 100644 (file)
@@ -23,7 +23,7 @@
                                                "variableName": "aicVersion"
                                        },
                                        {
-                                               "variableValue": "att-aic",
+                                               "variableValue": "CloudOwner",
                                                "variableName": "cloudOwner"
                                        }
                                ],
@@ -48,7 +48,7 @@
                                                "variableName": "aicVersion"
                                        },
                                        {
-                                               "variableValue": "att-aic",
+                                               "variableValue": "CloudOwner",
                                                "variableName": "cloudOwner"
                                        },
                                        {
@@ -73,7 +73,7 @@
                                                "variableName": "aicVersion"
                                        },
                                        {
-                                               "variableValue": "att-aic",
+                                               "variableValue": "CloudOwner",
                                                "variableName": "cloudOwner"
                                        }
                                ],
@@ -94,7 +94,7 @@
                                                "variableName": "aicVersion"
                                        },
                                        {
-                                               "variableValue": "att-aic",
+                                               "variableValue": "CloudOwner",
                                                "variableName": "cloudOwner"
                                        }
                                ],
                                                "variableName": "aicVersion"
                                        },
                                        {
-                                               "variableValue": "att-aic",
+                                               "variableValue": "CloudOwner",
                                                "variableName": "cloudOwner"
                                        },
                                        {
                                                "variableName": "aicVersion"
                                        },
                                        {
-                                               "variableValue": "att-aic",
+                                               "variableValue": "CloudOwner",
                                                "variableName": "cloudOwner"
                                        }
                                ],
index 9f6d276..911aabd 100644 (file)
@@ -137,7 +137,7 @@ mso:
           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
+            uri: /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant
           vce:
             uri: /aai/v11/network/vces/vce
           vpn-binding:
@@ -158,14 +158,14 @@ mso:
           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
+            uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/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
+            uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner
           generic-vnf:
             uri: /aai/v9/network/generic-vnfs/generic-vnf
       retry:
index d2dbde4..0c88b58 100644 (file)
@@ -468,7 +468,7 @@ public class OofHomingIT extends BaseIntegrationTest {
         //System.out.println("resourceVnfHoming.getVnf().getResourceId() is: " + resourceVnfHoming.getVnf().getResourceId());
 
         assertEquals(homingSolutionService("service", "service-instance-01234",
-                "MDTNJ01", "test-resource-id-000","att-aic",
+                "MDTNJ01", "test-resource-id-000","CloudOwner",
                 "mtmnj1a",
                 "\"f1d563e8-e714-4393-8f99-cc480144a05e\"," +
                         " \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
index 7485526..398efb9 100644 (file)
@@ -478,7 +478,7 @@ public class OofHomingTestIT extends BaseIntegrationTest {
         //logger.debug("resourceVnfHoming.getVnf().getResourceId() is: " + resourceVnfHoming.getVnf().getResourceId());
 
         assertEquals(homingSolutionService("service", "service-instance-01234",
-                "MDTNJ01", "test-resource-id-000","att-aic",
+                "MDTNJ01", "test-resource-id-000","CloudOwner",
                 "mtmnj1a",
                 "\"f1d563e8-e714-4393-8f99-cc480144a05e\"," +
                         " \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
index f780b69..f3f9507 100644 (file)
@@ -280,7 +280,7 @@ public class SniroHomingV1IT extends BaseIntegrationTest {
                String sniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
                assertEquals(FileUtil.readResourceFile("__files/BuildingBlocks/sniroRequest_infravnf").replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""), sniroRequest.replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""));
 
-               assertEquals(homingSolutionService("service", "service-instance-01234", "MDTNJ01", "att-aic", "mtmnj1a", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceVnfHomingString);
+               assertEquals(homingSolutionService("service", "service-instance-01234", "MDTNJ01", "CloudOwner", "mtmnj1a", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceVnfHomingString);
        }
 
        @Test
index 5a2b730..2d1ce54 100644 (file)
@@ -12,7 +12,7 @@
                        <related-to>volume-group</related-to>
                        <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>
index 7e913dd..ff33ca3 100644 (file)
@@ -10,7 +10,7 @@
                <related-to>tenant</related-to>
                <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>
index 8a5ade6..167c2fa 100644 (file)
@@ -115,14 +115,14 @@ mso:
           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
+            uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/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
+            uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner
           generic-vnf:
             uri: /aai/v9/network/generic-vnfs/generic-vnf
     global:
index 92b03a7..3ab34c4 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0">
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0">
   <bpmn:process id="AssignVfModuleBB" name="AssignVfModuleBB" isExecutable="true">
     <bpmn:startEvent id="AssignVfModuleBB_Start">
       <bpmn:outgoing>SequenceFlow_1xr6chl</bpmn:outgoing>
@@ -18,7 +18,7 @@
       <bpmn:incoming>SequenceFlow_14xl505</bpmn:incoming>
     </bpmn:endEvent>
     <bpmn:sequenceFlow id="SequenceFlow_14xl505" sourceRef="UpdateVfModuleStatus" targetRef="AssignVfModuleBB_End" />
-    <bpmn:serviceTask id="UpdateVfModuleStatus" name="&#10;AAI&#10;Update&#10;(vf module)&#10;" camunda:expression="${AAIUpdateTasks.updateOrchestrationStatusAssignedVfModule(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+    <bpmn:serviceTask id="UpdateVfModuleStatus" name="&#10;AAI&#10;Update&#10;(vf module)&#10;" camunda:expression="${AAIUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
       <bpmn:incoming>SequenceFlow_15hn8si</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_14xl505</bpmn:outgoing>
     </bpmn:serviceTask>
index b43a96b..ec2fed5 100644 (file)
@@ -200,6 +200,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
 
                try {
                        String requestId = execution.getVariable("msoRequestId")
+                       String serviceInstanceId = execution.getVariable("serviceInstanceId")
                        String source = execution.getVariable("source")
                        String msoCompletionRequest =
                        """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.onap/so/workflow/schema/v1"
@@ -209,8 +210,9 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
                                                        <action>DELETE</action>
                                                        <source>${MsoUtils.xmlEscape(source)}</source>
                                                </request-info>
-                                               <aetgt:status-message>Service Instance was deleted successfully.</aetgt:status-message>
-                                               <aetgt:mso-bpel-name>DeleteGenericALaCarteServiceInstance</aetgt:mso-bpel-name>
+                                               <status-message>Service Instance was deleted successfully.</status-message>
+                                               <serviceInstanceId>${MsoUtils.xmlEscape(serviceInstanceId)}</serviceInstanceId>
+                                               <mso-bpel-name>DeleteGenericALaCarteServiceInstance</mso-bpel-name>
                                        </aetgt:MsoCompletionRequest>"""
 
                        // Format Response
index 7ddfdec..83f2fe0 100644 (file)
@@ -395,13 +395,9 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
 
                AaiUtil aaiUtil = new AaiUtil(this)
 
-               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).queryParam("resource-version", resourceVersion)
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).resourceVersion(resourceVersion)
                def deleteAAIVolumeGrpIdRequest = aaiUtil.createAaiUri(uri)
 
-               if(resourceVersion !=null){
-                       deleteAAIVolumeGrpIdRequest = deleteAAIVolumeGrpIdRequest +'?resource-version=' + UriUtils.encode(resourceVersion, 'UTF-8')
-               }
-
                msoLogger.debug("Delete AAI volume group : " + deleteAAIVolumeGrpIdRequest)
 
                APIResponse response = aaiUtil.executeAAIDeleteCall(execution, deleteAAIVolumeGrpIdRequest)
index 38836c3..6d41923 100644 (file)
@@ -94,6 +94,12 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                try {
                        String requestId = execution.getVariable("msoRequestId")
                        execution.setVariable("prefix", Prefix)
+                       
+                       def rollbackData = execution.getVariable("rollbackData")
+                       if (rollbackData == null) {
+                               rollbackData = new RollbackData()
+                       }
+                       execution.setVariable("rollbackData", rollbackData)
 
                        setBasicDBAuthHeader(execution, isDebugEnabled)
                        //Inputs
@@ -409,7 +415,10 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                        throw e;
                } catch (Exception ex) {
                        //start rollback set up
-                       RollbackData rollbackData = new RollbackData()
+                       def rollbackData = execution.getVariable("rollbackData")
+                       if (rollbackData == null) {
+                               rollbackData = new RollbackData()
+                       }                       
                        def disableRollback = execution.getVariable("disableRollback")
                        rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
                        rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
@@ -506,11 +515,13 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                        def sdncRequestId3 = UUID.randomUUID().toString()
                        String sdncDeactivate = sdncDelete.replace(">delete<", ">deactivate<").replace(">${sdncRequestId2}<", ">${sdncRequestId3}<")
                        def rollbackData = execution.getVariable("rollbackData")
-                       rollbackData.put("SERVICEINSTANCE", "sdncDeactivate", sdncDeactivate)
-                       rollbackData.put("SERVICEINSTANCE", "sdncDelete", sdncDelete)
-                       execution.setVariable("rollbackData", rollbackData)
+                       if (rollbackData != null) {
+                               rollbackData.put("SERVICEINSTANCE", "sdncDeactivate", sdncDeactivate)
+                               rollbackData.put("SERVICEINSTANCE", "sdncDelete", sdncDelete)
+                               execution.setVariable("rollbackData", rollbackData)             
 
-                       msoLogger.debug("rollbackData:\n" + rollbackData.toString())
+                               msoLogger.debug("rollbackData:\n" + rollbackData.toString())
+                       }
 
                } catch (BpmnError e) {
                        throw e;
@@ -541,8 +552,10 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                                msoLogger.debug("Good response from SDNC Adapter for service-instance  topology assign: \n" + response)
 
                                def rollbackData = execution.getVariable("rollbackData")
-                               rollbackData.put("SERVICEINSTANCE", "rollbackSDNC", "true")
-                               execution.setVariable("rollbackData", rollbackData)
+                               if (rollbackData != null) {
+                                       rollbackData.put("SERVICEINSTANCE", "rollbackSDNC", "true")
+                                       execution.setVariable("rollbackData", rollbackData)
+                               }
 
                        }else{
                                msoLogger.debug("Bad Response from SDNC Adapter for service-instance assign")
index 6783808..58b90a1 100644 (file)
@@ -720,7 +720,7 @@ public class DoCreateVfModule extends VfModuleBase {
                        def vfModuleName = execution.getVariable('DCVFM_vfModuleName')
 
                        AaiUtil aaiUriUtil = new AaiUtil(this)
-                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VF_MODULES, vnfId).queryParam("vf-module-name",vfModuleName)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VF_MODULE, vnfId).queryParam("vf-module-name",vfModuleName)
                        String endPoint = aaiUriUtil.createAaiUri(uri)
 
                        try {
index 3b0707a..8968c75 100644 (file)
@@ -193,7 +193,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor
 
                AaiUtil aaiUtil = new AaiUtil(this)
 
-               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, volumeGroupId).queryParam("resource-version", resourceVersion)
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, volumeGroupId).resourceVersion(resourceVersion)
                def deleteAAIVolumeGrpIdRequest = aaiUtil.createAaiUri(uri)
 
                msoLogger.debug('Delete AAI volume group : ' + deleteAAIVolumeGrpIdRequest)
index 03e47cf..73fd78f 100644 (file)
@@ -271,7 +271,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
 
                AaiUtil aaiUtil = new AaiUtil(this)
 
-               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).queryParam("resource-version", resourceVersion)
+               AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).resourceVersion(resourceVersion)
                def deleteAAIVolumeGrpIdRequest = aaiUtil.createAaiUri(uri)
 
                msoLogger.debug('Delete AAI volume group : ' + deleteAAIVolumeGrpIdRequest)
@@ -282,8 +282,6 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor{
                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)
 
index b7f31d7..82e27ec 100644 (file)
@@ -173,7 +173,7 @@ class UpdateVfModuleVolume extends VfModuleBase {
                        def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
                        def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
                        def endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) +
-                               '/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/' + UriUtils.encode(aicCloudRegion, "UTF-8") +
+                               '/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/' + UriUtils.encode(aicCloudRegion, "UTF-8") +
                                '/volume-groups/volume-group/' + UriUtils.encode(volumeGroupId, "UTF-8")
 
                        msoLogger.debug('Sending GET to AAI endpoint \'' + endPoint + '\'')
index 0a1f8f2..11dbf7d 100644 (file)
@@ -1126,10 +1126,10 @@ String queryIdAIIResponse_SRIOV =
        <relationship-list>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn16/tenants/tenant/6accefef3cb442ff9e644d589fb04107</related-link>
+                       <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn16/tenants/tenant/6accefef3cb442ff9e644d589fb04107</related-link>
                        <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>
@@ -1146,10 +1146,10 @@ String queryIdAIIResponse_SRIOV =
                </relationship>
                <relationship>
                        <related-to>cloud-region</related-to>
-                       <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn16</related-link>
+                       <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn16</related-link>
                        <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>
@@ -1238,7 +1238,7 @@ String queryIdAIIResponse_SRIOV =
        <relationship-list>
                <relationship>
                        <related-to>cloud-region</related-to>
-                       <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/
+                       <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/
                        </related-link>
                        <relationship-data>
                                <relationship-key>cloud-region.cloud-region-id</relationship-key>
@@ -1246,7 +1246,7 @@ String queryIdAIIResponse_SRIOV =
                        </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>
                        <related-to-property>
                                <property-key>cloud-region.owner-defined-type</property-key>
@@ -1255,7 +1255,7 @@ String queryIdAIIResponse_SRIOV =
                </relationship>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/4ae1d3446a4c48b2bec44b6cfba06d68/</related-link>
+                       <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/4ae1d3446a4c48b2bec44b6cfba06d68/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>4ae1d3446a4c48b2bec44b6cfba06d68
@@ -1263,7 +1263,7 @@ String queryIdAIIResponse_SRIOV =
                        </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>
@@ -3623,9 +3623,9 @@ String sdncAdapterWorkflowAssignResponse =
                        when(mockExecution.getVariable("prefix")).thenReturn(Prefix)
                        when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedvIPRNetworkRequest)
                        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
-                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        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.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        //
                        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
@@ -3659,9 +3659,9 @@ String sdncAdapterWorkflowAssignResponse =
                        when(mockExecution.getVariable("prefix")).thenReturn(Prefix)
                        when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedvIPRNetworkRequest)
                        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
-                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        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.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        //
                        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
@@ -3695,9 +3695,9 @@ String sdncAdapterWorkflowAssignResponse =
                        when(mockExecution.getVariable("prefix")).thenReturn(Prefix)
                        when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(vnfRequestFakeRegion)
                        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
-                       //old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+                       //old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        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.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        //
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
                        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
index 1a2d16d..7f55eb3 100644 (file)
@@ -730,10 +730,10 @@ String aaiWorkflowException =
             </relationship>
                        <relationship>
                <related-to>cloud-region</related-to>
-               <related-link>cloud-infrastructure/cloud-regions/cloud-region/att-aic/RDM2WAGPLCP/</related-link>
+               <related-link>cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RDM2WAGPLCP/</related-link>
                <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>
@@ -1697,9 +1697,9 @@ String sdncAdapterWorkflowFormattedResponse_404 =
                        when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
                        when(mockExecution.getVariable(Prefix + "lcpCloudRegion")).thenReturn("RDM2WAGPLCP")
                        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
-                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        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.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
                        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
                        when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
@@ -1727,9 +1727,9 @@ String sdncAdapterWorkflowFormattedResponse_404 =
                        when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(vnfRequestCloudRegionNotFound)
                        when(mockExecution.getVariable(Prefix + "lcpCloudRegion")).thenReturn("MDTWNJ21")
                        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
-                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        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.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
                        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
                        when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
@@ -1759,9 +1759,9 @@ String sdncAdapterWorkflowFormattedResponse_404 =
                        when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
                        when(mockExecution.getVariable(Prefix + "lcpCloudRegion")).thenReturn("RDM2WAGPLCP")
                        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
-                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+                       // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        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.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        //
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
                        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
index de3db5b..14dd10f 100644 (file)
@@ -736,7 +736,7 @@ String expectedNetworkInputsMissingNetworkId =
        <relationship-list>
                <relationship>
                        <related-to>cloud-region</related-to>
-                       <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/
+                       <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/
                        </related-link>
                        <relationship-data>
                                <relationship-key>cloud-region.cloud-region-id</relationship-key>
@@ -744,7 +744,7 @@ String expectedNetworkInputsMissingNetworkId =
                        </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>
                        <related-to-property>
                                <property-key>cloud-region.owner-defined-type</property-key>
@@ -753,7 +753,7 @@ String expectedNetworkInputsMissingNetworkId =
                </relationship>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/4ae1d3446a4c48b2bec44b6cfba06d68/</related-link>
+                       <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/4ae1d3446a4c48b2bec44b6cfba06d68/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>4ae1d3446a4c48b2bec44b6cfba06d68
@@ -761,7 +761,7 @@ String expectedNetworkInputsMissingNetworkId =
                        </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>
@@ -2148,7 +2148,7 @@ String rollbackNetworkRequest =
                        when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
                        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
                        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.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
                        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
                        when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
@@ -2181,7 +2181,7 @@ String rollbackNetworkRequest =
                        when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
                        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
                        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.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
                        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
                        when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
@@ -2214,7 +2214,7 @@ String rollbackNetworkRequest =
                        when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(vnfRequestFakeRegion)
                        when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
                        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.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
                        when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
                        when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
                        when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
index 67b1c23..6ed9dbd 100644 (file)
@@ -84,7 +84,7 @@ class DoUpdateVfModuleTest {
         ExecutionEntity mockExecution = setupMock()
         when(mockExecution.getVariable("prefix")).thenReturn(prefix)
         when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
-        when(mockExecution.getVariable(prefix + "aicCloudRegion")).thenReturn("att-aic")
+        when(mockExecution.getVariable(prefix + "aicCloudRegion")).thenReturn("CloudOwner")
         when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region")
         when(mockExecution.getVariable("mso.workflow.default.aai.cloud-region.version")).thenReturn("8")
         when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
@@ -94,7 +94,7 @@ class DoUpdateVfModuleTest {
         DoUpdateVfModule obj = new DoUpdateVfModule()
         obj.prepConfirmVolumeGroupTenant(mockExecution)
 
-        Mockito.verify(mockExecution).setVariable(prefix + "queryCloudRegionRequest", "http://localhost:28090/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+        Mockito.verify(mockExecution).setVariable(prefix + "queryCloudRegionRequest", "http://localhost:28090/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
         Mockito.verify(mockExecution).setVariable(prefix + "queryCloudRegionReturnCode", "200")
         Mockito.verify(mockExecution).setVariable(prefix + "cloudRegionForVolume", "AAIAIC25")
         Mockito.verify(mockExecution).setVariable(prefix + "isCloudRegionGood", true)
@@ -295,7 +295,7 @@ class DoUpdateVfModuleTest {
     }
 
     private static void mockData() {
-        stubFor(get(urlMatching(".*/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic"))
+        stubFor(get(urlMatching(".*/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner"))
                 .willReturn(aResponse()
                 .withStatus(200).withHeader("Content-Type", "text/xml")
                 .withBodyFile("DoUpdateVfModule/cloudRegion_AAIResponse_Success.xml")))
index f0936d6..0ad0f05 100644 (file)
             {
          "related-to": "vserver",
          "relationship-label": "tosca.relationships.HostedOn",
-         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5",
+         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
             {
          "related-to": "vserver",
          "relationship-label": "tosca.relationships.HostedOn",
-         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/14551849-1e70-45cd-bc5d-a256d49548a2",
+         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/14551849-1e70-45cd-bc5d-a256d49548a2",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
             {
          "related-to": "vserver",
          "relationship-label": "tosca.relationships.HostedOn",
-         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/48bd7f11-408f-417c-b834-b41c1b98f7d7",
+         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/48bd7f11-408f-417c-b834-b41c1b98f7d7",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
index 4b1f69a..892e41a 100644 (file)
           "relationship": [
             {
               "relatedTo": "vserver",
-              "relatedLink": "/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/8862-tenantl-LB1113/vservers/vserver/8862-Lvserver-LB1113",
+              "relatedLink": "/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/8862-tenantl-LB1113/vservers/vserver/8862-Lvserver-LB1113",
               "relationshipData": [
                 {
                   "relationshipKey": "cloud-region.cloud-owner",
-                  "relationshipValue": "att-aic"
+                  "relationshipValue": "CloudOwner"
                 },
                 {
                   "relationshipKey": "cloud-region.cloud-region-id",
index d5d234c..e052360 100644 (file)
                        },
                        {
                                "related-to": "cloud-region",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
                        },
                        {
                                "related-to": "tenant",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
index aa63208..84ce037 100644 (file)
                        },
                        {
                                "related-to": "cloud-region",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
                        },
                        {
                                "related-to": "tenant",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
index 181494d..5432133 100644 (file)
                        {
                                "related-to": "cloud-region",
                                "relationship-label": "org.onap.relationships.inventory.Uses",
-                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A",
+                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
                        {
                                "related-to": "tenant",
                                "relationship-label": "org.onap.relationships.inventory.Uses",
-                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
+                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
index b22f389..81f9a78 100644 (file)
       },
             {
          "related-to": "cloud-region",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
       },
             {
          "related-to": "tenant",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
index 6dd91c6..5e1e2f6 100644 (file)
       </relationship>
       <relationship>
          <related-to>cloud-region</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
          <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>
       <relationship>
          <related-to>tenant</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
          <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>
index f076c90..a99d25b 100644 (file)
       },
             {
          "related-to": "cloud-region",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
index 92fec2d..8b70a13 100644 (file)
       </relationship>
       <relationship>
          <related-to>cloud-region</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
          <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>
       <relationship>
          <related-to>tenant</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
          <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>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 9b651f2..ca29b22 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>3.0</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index be820b8..eb2ed36 100644 (file)
                                        <relationship-list>
                                                <relationship>
                                                        <related-to>tenant</related-to>
-                                                       <related-link>https://aai-conexus-e2e.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/396d61752cf04c3b8ca2afcb4ee049e9/</related-link>
+                                                       <related-link>https://aai-conexus-e2e.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/396d61752cf04c3b8ca2afcb4ee049e9/</related-link>
                                                        <relationship-data>
                                                                <relationship-key>tenant.tenant-id</relationship-key>
                                                                <relationship-value>396d61752cf04c3b8ca2afcb4ee049e9</relationship-value>
                                                        </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>
index 96e906f..b653da6 100644 (file)
@@ -9,14 +9,14 @@
        <relationship-list>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/e444c311b27a45dc9522f2370d70f90f/</related-link>
+                       <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/e444c311b27a45dc9522f2370d70f90f/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>e444c311b27a45dc9522f2370d70f90f</relationship-value>
                        </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>
index 7e2a676..f4a9f3e 100644 (file)
                </relationship>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+                       <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
                        </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>
                <relationship>
                        <related-to>vf-module</related-to>
-                       <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+                       <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
                        <relationship-data>
                                <relationship-key>vf-module.vf-module-id</relationship-key>
                                <relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
                        </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>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 9b651f2..ca29b22 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>3.0</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index c12bcd4..a34574f 100644 (file)
             </relationship>
                        <relationship>
                <related-to>cloud-region</related-to>
-               <related-link>cloud-infrastructure/cloud-regions/cloud-region/att-aic/RDM2WAGPLCP/</related-link>
+               <related-link>cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RDM2WAGPLCP/</related-link>
                <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>
index fd10548..b0203db 100644 (file)
                </relationship>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+                       <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
                        </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>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 20b5462..d8c5208 100644 (file)
                 <generic-vnf-service>
                     <cloud-region-id>FRN1</cloud-region-id>
                     <outer-vlan-tag>4027</outer-vlan-tag>
-                    <cloud-owner>att-aic</cloud-owner>
+                    <cloud-owner>CloudOwner</cloud-owner>
                     <service-ecomp-model-information>
                         <model-uuid>b73c6911-be64-448a-bb4b-7b7a7006507a</model-uuid>
                         <model-version>5.0</model-version>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 20b5462..d8c5208 100644 (file)
                 <generic-vnf-service>
                     <cloud-region-id>FRN1</cloud-region-id>
                     <outer-vlan-tag>4027</outer-vlan-tag>
-                    <cloud-owner>att-aic</cloud-owner>
+                    <cloud-owner>CloudOwner</cloud-owner>
                     <service-ecomp-model-information>
                         <model-uuid>b73c6911-be64-448a-bb4b-7b7a7006507a</model-uuid>
                         <model-version>5.0</model-version>
index 03d63f9..e36fbe1 100644 (file)
@@ -9,14 +9,14 @@
        <relationship-list>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+                       <related-link>/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
                        </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>
index 4087ab8..f89b24b 100644 (file)
    <relationship-list>
       <relationship>
          <related-to>volume-group</related-to>
-         <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/volume-groups/volume-group/064bd1c6-e377-4009-a744-e958eec6e727/</related-link>
+         <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/volume-groups/volume-group/064bd1c6-e377-4009-a744-e958eec6e727/</related-link>
          <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>
index 49513f1..8186a6d 100644 (file)
@@ -12,7 +12,7 @@
                        <related-to>volume-group</related-to>
                        <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>
index df84706..59ef3e2 100644 (file)
@@ -10,7 +10,7 @@
                <related-to>tenant</related-to>
                <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>
index f0936d6..0ad0f05 100644 (file)
             {
          "related-to": "vserver",
          "relationship-label": "tosca.relationships.HostedOn",
-         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5",
+         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
             {
          "related-to": "vserver",
          "relationship-label": "tosca.relationships.HostedOn",
-         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/14551849-1e70-45cd-bc5d-a256d49548a2",
+         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/14551849-1e70-45cd-bc5d-a256d49548a2",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
             {
          "related-to": "vserver",
          "relationship-label": "tosca.relationships.HostedOn",
-         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/48bd7f11-408f-417c-b834-b41c1b98f7d7",
+         "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/48bd7f11-408f-417c-b834-b41c1b98f7d7",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
index 4b1f69a..892e41a 100644 (file)
           "relationship": [
             {
               "relatedTo": "vserver",
-              "relatedLink": "/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/8862-tenantl-LB1113/vservers/vserver/8862-Lvserver-LB1113",
+              "relatedLink": "/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/8862-tenantl-LB1113/vservers/vserver/8862-Lvserver-LB1113",
               "relationshipData": [
                 {
                   "relationshipKey": "cloud-region.cloud-owner",
-                  "relationshipValue": "att-aic"
+                  "relationshipValue": "CloudOwner"
                 },
                 {
                   "relationshipKey": "cloud-region.cloud-region-id",
index d5d234c..e052360 100644 (file)
                        },
                        {
                                "related-to": "cloud-region",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
                        },
                        {
                                "related-to": "tenant",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
index aa63208..84ce037 100644 (file)
                        },
                        {
                                "related-to": "cloud-region",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
                        },
                        {
                                "related-to": "tenant",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
index 181494d..5432133 100644 (file)
                        {
                                "related-to": "cloud-region",
                                "relationship-label": "org.onap.relationships.inventory.Uses",
-                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A",
+                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
                        {
                                "related-to": "tenant",
                                "relationship-label": "org.onap.relationships.inventory.Uses",
-                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
+                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
index b22f389..81f9a78 100644 (file)
       },
             {
          "related-to": "cloud-region",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
       },
             {
          "related-to": "tenant",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
index 6dd91c6..5e1e2f6 100644 (file)
       </relationship>
       <relationship>
          <related-to>cloud-region</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
          <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>
       <relationship>
          <related-to>tenant</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
          <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>
index f076c90..a99d25b 100644 (file)
       },
             {
          "related-to": "cloud-region",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
index 92fec2d..8b70a13 100644 (file)
       </relationship>
       <relationship>
          <related-to>cloud-region</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
          <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>
       <relationship>
          <related-to>tenant</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
          <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>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 9b651f2..ca29b22 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>3.0</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index be820b8..eb2ed36 100644 (file)
                                        <relationship-list>
                                                <relationship>
                                                        <related-to>tenant</related-to>
-                                                       <related-link>https://aai-conexus-e2e.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/396d61752cf04c3b8ca2afcb4ee049e9/</related-link>
+                                                       <related-link>https://aai-conexus-e2e.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/396d61752cf04c3b8ca2afcb4ee049e9/</related-link>
                                                        <relationship-data>
                                                                <relationship-key>tenant.tenant-id</relationship-key>
                                                                <relationship-value>396d61752cf04c3b8ca2afcb4ee049e9</relationship-value>
                                                        </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>
index 96e906f..b653da6 100644 (file)
@@ -9,14 +9,14 @@
        <relationship-list>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/e444c311b27a45dc9522f2370d70f90f/</related-link>
+                       <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/e444c311b27a45dc9522f2370d70f90f/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>e444c311b27a45dc9522f2370d70f90f</relationship-value>
                        </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>
index 7e2a676..f4a9f3e 100644 (file)
                </relationship>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+                       <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
                        </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>
                <relationship>
                        <related-to>vf-module</related-to>
-                       <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+                       <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
                        <relationship-data>
                                <relationship-key>vf-module.vf-module-id</relationship-key>
                                <relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
                        </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>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 9b651f2..ca29b22 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>3.0</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index c12bcd4..a34574f 100644 (file)
             </relationship>
                        <relationship>
                <related-to>cloud-region</related-to>
-               <related-link>cloud-infrastructure/cloud-regions/cloud-region/att-aic/RDM2WAGPLCP/</related-link>
+               <related-link>cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RDM2WAGPLCP/</related-link>
                <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>
index fd10548..b0203db 100644 (file)
                </relationship>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+                       <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
                        </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>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 20b5462..d8c5208 100644 (file)
                 <generic-vnf-service>
                     <cloud-region-id>FRN1</cloud-region-id>
                     <outer-vlan-tag>4027</outer-vlan-tag>
-                    <cloud-owner>att-aic</cloud-owner>
+                    <cloud-owner>CloudOwner</cloud-owner>
                     <service-ecomp-model-information>
                         <model-uuid>b73c6911-be64-448a-bb4b-7b7a7006507a</model-uuid>
                         <model-version>5.0</model-version>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 90c668c..00fee73 100644 (file)
@@ -11,7 +11,7 @@
    </rest:headers>
    <rest:payload contentType="text/xml">
       <l3-network xmlns="http://org.openecomp.aai.inventory/v8">
-         <cloud-owner>att-aic</cloud-owner>
+         <cloud-owner>CloudOwner</cloud-owner>
          <cloud-region-id>RDM2WAGPLCP</cloud-region-id>
          <cloud-region-version>2.5</cloud-region-version>
          <complex-name>RDM2WAGPLCP</complex-name>
index 20b5462..d8c5208 100644 (file)
                 <generic-vnf-service>
                     <cloud-region-id>FRN1</cloud-region-id>
                     <outer-vlan-tag>4027</outer-vlan-tag>
-                    <cloud-owner>att-aic</cloud-owner>
+                    <cloud-owner>CloudOwner</cloud-owner>
                     <service-ecomp-model-information>
                         <model-uuid>b73c6911-be64-448a-bb4b-7b7a7006507a</model-uuid>
                         <model-version>5.0</model-version>
index 03d63f9..e36fbe1 100644 (file)
@@ -9,14 +9,14 @@
        <relationship-list>
                <relationship>
                        <related-to>tenant</related-to>
-                       <related-link>/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+                       <related-link>/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
                        <relationship-data>
                                <relationship-key>tenant.tenant-id</relationship-key>
                                <relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
                        </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>
index 4087ab8..f89b24b 100644 (file)
    <relationship-list>
       <relationship>
          <related-to>volume-group</related-to>
-         <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/volume-groups/volume-group/064bd1c6-e377-4009-a744-e958eec6e727/</related-link>
+         <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/volume-groups/volume-group/064bd1c6-e377-4009-a744-e958eec6e727/</related-link>
          <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>
index 49513f1..8186a6d 100644 (file)
@@ -12,7 +12,7 @@
                        <related-to>volume-group</related-to>
                        <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>
index df84706..59ef3e2 100644 (file)
@@ -10,7 +10,7 @@
                <related-to>tenant</related-to>
                <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>
index c84e269..87c04d7 100644 (file)
@@ -54,6 +54,8 @@ import org.springframework.stereotype.Component;
 @Component
 public class AAIUpdateTasks {
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, AAIUpdateTasks.class);
+       private static final String MULTI_STAGE_DESIGN_OFF = "false";
+       private static final String MULTI_STAGE_DESIGN_ON = "true";
        @Autowired
        private AAIServiceInstanceResources aaiServiceInstanceResources;
        @Autowired
@@ -185,6 +187,26 @@ public class AAIUpdateTasks {
                }
        }
        
+       public void updateOrchestrationStatusAssignedOrPendingActivationVfModule(BuildingBlockExecution execution) {
+               try {
+                       VfModule vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID, execution.getLookupMap().get(ResourceKey.VF_MODULE_ID));
+                       vfModule.setHeatStackId("");
+                       GenericVnf vnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
+                       String multiStageDesign = MULTI_STAGE_DESIGN_OFF;
+                       if (vnf.getModelInfoGenericVnf() != null) {
+                               multiStageDesign = vnf.getModelInfoGenericVnf().getMultiStageDesign();
+                       }
+                       if (multiStageDesign != null && multiStageDesign.equalsIgnoreCase(MULTI_STAGE_DESIGN_ON)) {
+                               aaiVfModuleResources.updateOrchestrationStatusVfModule(vfModule,vnf,OrchestrationStatus.PENDING_ACTIVATION);
+                       }
+                       else {
+                               aaiVfModuleResources.updateOrchestrationStatusVfModule(vfModule,vnf,OrchestrationStatus.ASSIGNED);
+                       }
+               } catch (Exception ex) {                        
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
+               }
+       }
+       
        public void updateOrchestrationStatusCreatedVfModule(BuildingBlockExecution execution) {                
                try {
                        VfModule vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID, execution.getLookupMap().get(ResourceKey.VF_MODULE_ID));
index 55ebad6..88ae374 100644 (file)
@@ -23,12 +23,15 @@ package org.onap.so.bpmn.infrastructure.workflow.tasks;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
 import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
+import org.onap.so.client.exception.BBObjectNotFoundException;
 import org.onap.so.client.exception.ExceptionBuilder;
 import org.onap.so.client.exception.OrchestrationStatusValidationException;
 import org.onap.so.db.catalog.beans.BuildingBlockDetail;
+import org.onap.so.db.catalog.beans.OrchestrationAction;
 import org.onap.so.db.catalog.beans.OrchestrationStatus;
 import org.onap.so.db.catalog.beans.OrchestrationStatusStateTransitionDirective;
 import org.onap.so.db.catalog.beans.OrchestrationStatusValidationDirective;
+import org.onap.so.db.catalog.beans.ResourceType;
 import org.onap.so.db.catalog.client.CatalogDbClient;
 import org.onap.so.logger.MsoLogger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +45,8 @@ public class OrchestrationStatusValidator {
        private static final String UNKNOWN_RESOURCE_TYPE = "Building Block (%s) not set up correctly in Orchestration_Status_Validation table in CatalogDB. ResourceType=(%s), TargetAction=(%s)";
        private static final String ORCHESTRATION_VALIDATION_FAIL = "Orchestration Status Validation failed. ResourceType=(%s), TargetAction=(%s), OrchestrationStatus=(%s)";
        private static final String ORCHESTRATION_STATUS_VALIDATION_RESULT = "orchestrationStatusValidationResult";
+       private static final String MULTI_STAGE_DESIGN_OFF = "false";
+       private static final String MULTI_STAGE_DESIGN_ON = "true";
        
        
        @Autowired
@@ -53,9 +58,11 @@ public class OrchestrationStatusValidator {
        
        public void validateOrchestrationStatus(BuildingBlockExecution execution) {
                try {
+                       OrchestrationStatusValidationDirective previousOrchestrationStatusValidationResult = execution.getVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT);
+                       
                        execution.setVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT, null);
                        
-                       String buildingBlockFlowName = (String) execution.getVariable("flowToBeCalled");
+                       String buildingBlockFlowName = execution.getFlowToBeCalled();
                        
                        BuildingBlockDetail buildingBlockDetail = catalogDbClient.getBuildingBlockDetail(buildingBlockFlowName);
                        
@@ -105,13 +112,40 @@ public class OrchestrationStatusValidator {
                        }
                        OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = catalogDbClient.getOrchestrationStatusStateTransitionDirective(buildingBlockDetail.getResourceType(), orchestrationStatus, buildingBlockDetail.getTargetAction());
                        
+                       if(ResourceType.VF_MODULE.equals(buildingBlockDetail.getResourceType()) && OrchestrationAction.CREATE.equals(buildingBlockDetail.getTargetAction()) &&
+                                       OrchestrationStatus.PENDING_ACTIVATION.equals(orchestrationStatus)) {                           
+                               org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
+                               orchestrationStatusStateTransitionDirective = processPossibleSecondStageofVfModuleCreate(execution, previousOrchestrationStatusValidationResult,
+                                               genericVnf, orchestrationStatusStateTransitionDirective);       
+                       }
+                       
                        if (orchestrationStatusStateTransitionDirective.getFlowDirective() == OrchestrationStatusValidationDirective.FAIL) {
                                throw new OrchestrationStatusValidationException(String.format(ORCHESTRATION_VALIDATION_FAIL, buildingBlockDetail.getResourceType(), buildingBlockDetail.getTargetAction(), orchestrationStatus));
                        }
                        
                        execution.setVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT, orchestrationStatusStateTransitionDirective.getFlowDirective());
-               } catch (Exception e) {
+               }catch(BBObjectNotFoundException ex){
+                       if(execution.getFlowToBeCalled().contains("Unassign")){
+                               execution.setVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT, OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+                       }else{
+                               exceptionBuilder.buildAndThrowWorkflowException(execution, 7000, ex);
+                       }
+               }catch (Exception e) {
                        exceptionBuilder.buildAndThrowWorkflowException(execution, 7000, e);
                }
        }
+       
+       private OrchestrationStatusStateTransitionDirective processPossibleSecondStageofVfModuleCreate(BuildingBlockExecution execution, OrchestrationStatusValidationDirective previousOrchestrationStatusValidationResult,
+                       org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf genericVnf, OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective) {               
+               if (previousOrchestrationStatusValidationResult != null && previousOrchestrationStatusValidationResult.equals(OrchestrationStatusValidationDirective.SILENT_SUCCESS)) {                 
+                       String multiStageDesign = "false";                      
+                       if (genericVnf.getModelInfoGenericVnf() != null) {
+                               multiStageDesign = genericVnf.getModelInfoGenericVnf().getMultiStageDesign();
+                       }
+                       if (multiStageDesign != null && multiStageDesign.equalsIgnoreCase("true")) {                            
+                               orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.CONTINUE);                                          
+                       }                                       
+               }
+               return orchestrationStatusStateTransitionDirective;
+       }
 }
index 2424627..8bc499c 100644 (file)
@@ -170,6 +170,7 @@ public class WorkflowAction {
                                                execution.setVariable("homing", true);
                                                execution.setVariable("callHoming", true);
                                                execution.setVariable("homingSolution", params.get(HOMINGSOLUTION));
+                                               execution.setVariable("homingService", params.get(HOMINGSOLUTION));
                                        }
                                }
                        }
index 5595894..560f2a9 100644 (file)
@@ -49,6 +49,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
 import org.onap.so.db.catalog.beans.OrchestrationStatus;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -166,6 +167,37 @@ public class AAIUpdateTasksTest extends BaseTaskTest{
                aaiUpdateTasks.updateOrchestrationStatusAssignedVfModule(execution);
        }
        
+       @Test
+       public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleNoMultiStageTest() throws Exception {
+               ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
+               modelInfoGenericVnf.setMultiStageDesign("false");
+               genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
+               doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
+               aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
+               verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
+               assertEquals("", vfModule.getHeatStackId());
+       }
+       
+       @Test
+       public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleWithMultiStageTest() throws Exception {
+               ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
+               modelInfoGenericVnf.setMultiStageDesign("true");
+               genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
+               doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.PENDING_ACTIVATION);
+               aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
+               verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.PENDING_ACTIVATION);
+               assertEquals("", vfModule.getHeatStackId());
+       }
+       
+       @Test
+       public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleExceptionTest() throws Exception {
+               doThrow(Exception.class).when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
+               
+               expectedException.expect(BpmnError.class);
+               
+               aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
+       }
+       
        @Test
        public void updateOrchestrationStatusCreatedVfModuleTest() throws Exception {           
                doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.CREATED);
index b0b07d8..fa5081d 100644 (file)
@@ -24,14 +24,17 @@ import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.doReturn;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 import org.camunda.bpm.engine.delegate.BpmnError;
 import org.junit.Test;
 import org.onap.so.bpmn.BaseTaskTest;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
 import org.onap.so.db.catalog.beans.BuildingBlockDetail;
 import org.onap.so.db.catalog.beans.OrchestrationAction;
 import org.onap.so.db.catalog.beans.OrchestrationStatus;
@@ -179,4 +182,206 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
                
                orchestrationStatusValidator.validateOrchestrationStatus(execution);
        }
+       
+       @Test
+       public void test_validateOrchestrationStatus_unassignNotFound() throws Exception{
+               String flowToBeCalled = "UnassignServiceInstanceBB";
+               
+               execution.setVariable("flowToBeCalled", flowToBeCalled);
+               
+               BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+               buildingBlockDetail.setBuildingBlockName("UnassignServiceInstanceBB");
+               buildingBlockDetail.setId(1);
+               buildingBlockDetail.setResourceType(ResourceType.SERVICE);
+               buildingBlockDetail.setTargetAction(OrchestrationAction.UNASSIGN);
+               
+               doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+               
+               lookupKeyMap = new HashMap<ResourceKey, String>();
+               
+               orchestrationStatusValidator.validateOrchestrationStatus(execution);
+               
+               assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS,execution.getVariable("orchestrationStatusValidationResult"));
+       }
+       
+       @Test
+       public void test_validateOrchestrationStatusSecondStageOfMultiStageEnabledVfModule() throws Exception {
+               String flowToBeCalled = "CreateVfModuleBB";
+                               
+               execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+               
+               execution.setVariable("flowToBeCalled", flowToBeCalled);
+               
+               GenericVnf genericVnf = buildGenericVnf();
+               ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+               modelInfoGenericVnf.setMultiStageDesign("true");
+               setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+               setVfModule().setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+               
+               BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+               buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+               buildingBlockDetail.setId(1);
+               buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+               buildingBlockDetail.setTargetAction(OrchestrationAction.CREATE);
+               
+               doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+               
+               OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+               orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.FAIL);
+               orchestrationStatusStateTransitionDirective.setId(1);
+               orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+               orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+               orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.CREATE);
+               
+               doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+               
+               orchestrationStatusValidator.validateOrchestrationStatus(execution);
+               
+               assertEquals(OrchestrationStatusValidationDirective.CONTINUE, execution.getVariable("orchestrationStatusValidationResult"));
+       }
+       
+
+       @Test
+       public void test_validateOrchestrationStatusSecondStageOfMultiStageWrongPrevStatusVfModule() throws Exception {
+               String flowToBeCalled = "CreateVfModuleBB";
+               
+               execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.CONTINUE);
+               
+               execution.setVariable("flowToBeCalled", flowToBeCalled);
+               
+               GenericVnf genericVnf = buildGenericVnf();
+               ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+               modelInfoGenericVnf.setMultiStageDesign("true");
+               setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+               setVfModule().setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+               
+               BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+               buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+               buildingBlockDetail.setId(1);
+               buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+               buildingBlockDetail.setTargetAction(OrchestrationAction.CREATE);
+               
+               doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+               
+               OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+               orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+               orchestrationStatusStateTransitionDirective.setId(1);
+               orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+               orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+               orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.CREATE);
+               
+               doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+               
+               orchestrationStatusValidator.validateOrchestrationStatus(execution);
+               
+               assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS, execution.getVariable("orchestrationStatusValidationResult"));
+       }
+       
+       @Test
+       public void test_validateOrchestrationStatusSecondStageOfMultiStageDisabledVfModule() throws Exception {
+               String flowToBeCalled = "CreateVfModuleBB";             
+               
+               execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+               
+               execution.setVariable("flowToBeCalled", flowToBeCalled);
+               
+               GenericVnf genericVnf = buildGenericVnf();
+               ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+               modelInfoGenericVnf.setMultiStageDesign("false");
+               setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+               setVfModule().setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+               
+               BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+               buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+               buildingBlockDetail.setId(1);
+               buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+               buildingBlockDetail.setTargetAction(OrchestrationAction.CREATE);
+               
+               doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+               
+               OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+               orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+               orchestrationStatusStateTransitionDirective.setId(1);
+               orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+               orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+               orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.CREATE);
+               
+               doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+               
+               orchestrationStatusValidator.validateOrchestrationStatus(execution);
+               
+               assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS, execution.getVariable("orchestrationStatusValidationResult"));
+       }
+       
+       @Test
+       public void test_validateOrchestrationStatusSecondStageOfMultiStageWrongOrchStatusVfModule() throws Exception {
+               String flowToBeCalled = "CreateVfModuleBB";
+                               
+               execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+               
+               execution.setVariable("flowToBeCalled", flowToBeCalled);
+               
+               GenericVnf genericVnf = buildGenericVnf();
+               ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+               modelInfoGenericVnf.setMultiStageDesign("true");
+               setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+               setVfModule().setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
+               
+               BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+               buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+               buildingBlockDetail.setId(1);
+               buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+               buildingBlockDetail.setTargetAction(OrchestrationAction.CREATE);
+               
+               doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+               
+               OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+               orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+               orchestrationStatusStateTransitionDirective.setId(1);
+               orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+               orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+               orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.CREATE);
+               
+               doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.ASSIGNED, OrchestrationAction.CREATE);
+               
+               orchestrationStatusValidator.validateOrchestrationStatus(execution);
+               
+               assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS, execution.getVariable("orchestrationStatusValidationResult"));
+       }
+       
+       @Test
+       public void test_validateOrchestrationStatusSecondStageOfMultiStageWrongTargetActionVfModule() throws Exception {
+               String flowToBeCalled = "CreateVfModuleBB";
+                               
+               execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+               
+               execution.setVariable("flowToBeCalled", flowToBeCalled);
+               
+               GenericVnf genericVnf = buildGenericVnf();
+               ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+               modelInfoGenericVnf.setMultiStageDesign("true");
+               setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+               setVfModule().setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+               
+               BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+               buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+               buildingBlockDetail.setId(1);
+               buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+               buildingBlockDetail.setTargetAction(OrchestrationAction.ACTIVATE);
+               
+               doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+               
+               OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+               orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+               orchestrationStatusStateTransitionDirective.setId(1);
+               orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+               orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+               orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.ACTIVATE);
+               
+               doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.ACTIVATE);
+               
+               orchestrationStatusValidator.validateOrchestrationStatus(execution);
+               
+               assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS, execution.getVariable("orchestrationStatusValidationResult"));
+       }
 }
index d5d234c..e052360 100644 (file)
                        },
                        {
                                "related-to": "cloud-region",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
                        },
                        {
                                "related-to": "tenant",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
index aa63208..84ce037 100644 (file)
                        },
                        {
                                "related-to": "cloud-region",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
                        },
                        {
                                "related-to": "tenant",
-                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+                               "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
index 181494d..5432133 100644 (file)
                        {
                                "related-to": "cloud-region",
                                "relationship-label": "org.onap.relationships.inventory.Uses",
-                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A",
+                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
                        {
                                "related-to": "tenant",
                                "relationship-label": "org.onap.relationships.inventory.Uses",
-                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
+                               "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
                                "relationship-data": [
                                        {
                                                "relationship-key": "cloud-region.cloud-owner",
-                                               "relationship-value": "att-aic"
+                                               "relationship-value": "CloudOwner"
                                        },
                                        {
                                                "relationship-key": "cloud-region.cloud-region-id",
index b22f389..81f9a78 100644 (file)
       },
             {
          "related-to": "cloud-region",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
       },
             {
          "related-to": "tenant",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
index 6dd91c6..5e1e2f6 100644 (file)
       </relationship>
       <relationship>
          <related-to>cloud-region</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
          <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>
       <relationship>
          <related-to>tenant</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
          <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>
index f076c90..a99d25b 100644 (file)
       },
             {
          "related-to": "cloud-region",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
index 92fec2d..8b70a13 100644 (file)
       </relationship>
       <relationship>
          <related-to>cloud-region</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
          <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>
       <relationship>
          <related-to>tenant</related-to>
-         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+         <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
          <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>
index 4817dfb..6c6981b 100644 (file)
   },
   "cloudRegion" : {
     "lcp-cloud-region-id" : "DYH1A",
-    "cloud-owner" : "att-aic",
+    "cloud-owner" : "CloudOwner",
     "tenant-id" : "7f3db563322146a688601ade1294a749",
     "complex" : "c1",
     "cloud-region-version" : "aic3.0"
index 36bc04b..2a5a18f 100644 (file)
       { 
         "related-to": "cloud-region", 
         "relationship-label": "org.onap.relationships.inventory.Uses", 
-        "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A", 
+        "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A", 
         "relationship-data": [ 
           { 
             "relationship-key": "cloud-region.cloud-owner", 
-            "relationship-value": "att-aic
+            "relationship-value": "CloudOwner
           }, 
           { 
             "relationship-key": "cloud-region.cloud-region-id", 
       { 
         "related-to": "tenant", 
         "relationship-label": "org.onap.relationships.inventory.Uses", 
-        "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A/tenants/tenant/7f3db563322146a688601ade1294a749", 
+        "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A/tenants/tenant/7f3db563322146a688601ade1294a749", 
         "relationship-data": [ 
           { 
             "relationship-key": "cloud-region.cloud-owner", 
-            "relationship-value": "att-aic
+            "relationship-value": "CloudOwner
           }, 
           { 
             "relationship-key": "cloud-region.cloud-region-id", 
index b22f389..81f9a78 100644 (file)
       },
             {
          "related-to": "cloud-region",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
       },
             {
          "related-to": "tenant",
-         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+         "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
          "relationship-data":          [
                         {
                "relationship-key": "cloud-region.cloud-owner",
-               "relationship-value": "att-aic"
+               "relationship-value": "CloudOwner"
             },
                         {
                "relationship-key": "cloud-region.cloud-region-id",
index 5addff2..0185d56 100644 (file)
@@ -1,5 +1,5 @@
 {
-   "cloud-owner": "att-aic",
+   "cloud-owner": "CloudOwner",
    "cloud-region-id": "mtn6",
    "cloud-type": "openstack",
    "owner-defined-type": "LCP",
index 9159d80..f1ba9c5 100644 (file)
@@ -15,7 +15,7 @@
             "assignmentInfo": [
                {
                   "variableName": "cloudOwner",
-                  "variableValue": "att-aic"
+                  "variableValue": "CloudOwner"
                },
                {
                   "variableName": "vnfHostName",
index 5a2b730..2d1ce54 100644 (file)
@@ -12,7 +12,7 @@
                        <related-to>volume-group</related-to>
                        <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>
index 7e913dd..ff33ca3 100644 (file)
@@ -10,7 +10,7 @@
                <related-to>tenant</related-to>
                <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>
index c5bb44f..735b132 100644 (file)
                        <artifactId>logging-slf4j</artifactId>
                        <version>1.2.2</version>
                </dependency>
+               <dependency>
+                       <groupId>org.springframework.boot</groupId>
+                       <artifactId>spring-boot-starter-test</artifactId>
+                       <scope>test</scope>
+               </dependency>
     </dependencies>
        <build>
                <resources>
                                        <include>**/*.java</include>
                                </includes>
                        </resource>
-               </resources>            
+               </resources>
+               <plugins>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-surefire-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>default-test</id>
+                                               <goals>
+                                                       <goal>test</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <includes>
+                                                               <include>**/NonSpringSuite.java</include>
+                                                       </includes>     
+                                               </configuration>
+                                       </execution>
+                                       <execution>
+                                               <id>spring-tests</id>
+                                               <goals>
+                                                       <goal>test</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <includes>
+                                                               <include>**/SpringSuite.java</include>
+                                                       </includes>     
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+               </plugins>      
        </build>
 </project>
index 06c6fae..13a378e 100644 (file)
 
 package org.onap.so.constants;
 
+import java.util.Optional;
+
+import org.onap.so.spring.SpringContextHelper;
+import org.springframework.context.ApplicationContext;
+
 public enum Defaults {
 
-       CLOUD_OWNER("att-aic");
-       
-       
-       private final String value;
+       CLOUD_OWNER("org.onap.so.cloud-owner", "CloudOwner");
        
-       private Defaults(String value) {
-               this.value = value;
+       private final String propName;
+       private final String defaultValue;
+
+       private Defaults(String propName, String defaultValue) {
+               this.defaultValue = defaultValue;
+               this.propName = propName;
        }
 
        @Override
        public String toString() {
-               return this.value;
+               Optional<ApplicationContext> context = getAppContext();
+               if (context.isPresent()) {
+                       return context.get().getEnvironment().getProperty(this.propName, this.defaultValue);
+               } else {
+                       return this.defaultValue;
+               }
+               
+       }
+       
+       protected Optional<ApplicationContext> getAppContext() {
+               return Optional.ofNullable(SpringContextHelper.getAppContext());
        }
 }
index 2ddad20..1e5124b 100644 (file)
@@ -32,5 +32,5 @@ public enum ModelType {
        configuration,
        connectionPoint,
        pnf,
-       networkCollection
+       networkInstanceGroup
 }
@@ -18,9 +18,8 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.so.bpmn.common;
+package org.onap.so.spring;
 
-import org.springframework.beans.BeansException;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
 import org.springframework.stereotype.Component;
@@ -31,7 +30,7 @@ public class SpringContextHelper implements ApplicationContextAware {
        private static ApplicationContext context;
 
        @Override
-       public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+       public void setApplicationContext(ApplicationContext applicationContext) {
                context = applicationContext;
        }
 
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP - SO
  * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 - 2018 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.
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.so.asdc.tenantIsolation;
+package org.onap.so;
 
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.stereotype.Component;
+import org.junit.runner.RunWith;
+import org.onap.so.test.categories.SpringAware;
 
-@Component
-public class SpringContextHelper implements ApplicationContextAware {
+import com.googlecode.junittoolbox.ExcludeCategories;
+import com.googlecode.junittoolbox.SuiteClasses;
+import com.googlecode.junittoolbox.WildcardPatternSuite;
 
-       private static ApplicationContext context;
+@RunWith(WildcardPatternSuite.class)
+@ExcludeCategories({SpringAware.class})
+@SuiteClasses({"**/*Test.class"})
+public class NonSpringSuite {
 
-       @Override
-       public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
-               context = applicationContext;
-       }
-
-       public static ApplicationContext getAppContext() {
-               return context;
-       }
 }
@@ -2,9 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP - SO
  * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Modifications Copyright (C) 2018 IBM.
+ * Copyright (C) 2017 - 2018 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.
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.so.apihandlerinfra;
-
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.stereotype.Component;
+package org.onap.so;
 
-@Component
-public class SpringContextHelper implements ApplicationContextAware {
+import org.junit.runner.RunWith;
+import org.onap.so.test.categories.SpringAware;
 
-       private static ApplicationContext context;
+import com.googlecode.junittoolbox.IncludeCategories;
+import com.googlecode.junittoolbox.SuiteClasses;
+import com.googlecode.junittoolbox.WildcardPatternSuite;
 
-       @Override
-       public void setApplicationContext(ApplicationContext applicationContext) {
-               context = applicationContext;
-       }
+@RunWith(WildcardPatternSuite.class)
+@IncludeCategories({SpringAware.class})
+@SuiteClasses({"**/*Test.class"})
+public class SpringSuite {
 
-       public static ApplicationContext getAppContext() {
-               return context;
-       }
 }
diff --git a/common/src/test/java/org/onap/so/constants/DefaultsTest.java b/common/src/test/java/org/onap/so/constants/DefaultsTest.java
new file mode 100644 (file)
index 0000000..1bcee07
--- /dev/null
@@ -0,0 +1,46 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 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.constants;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.onap.so.spring.SpringContextHelper;
+import org.onap.so.test.categories.SpringAware;
+import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@ContextConfiguration(classes = SpringContextHelper.class, initializers = ConfigFileApplicationContextInitializer.class)
+@ActiveProfiles("test")
+@Category(SpringAware.class)
+public class DefaultsTest {
+
+       @Test
+       public void checkValue() {
+               
+               assertEquals("CloudOwner", Defaults.CLOUD_OWNER.toString());
+       }
+}
index 5af84fd..946214e 100644 (file)
@@ -56,7 +56,7 @@ public class ServiceInstanceBeansTest {
                cloudConfiguration.setLcpCloudRegionId("myRegionId");
                ObjectMapper mapper = new ObjectMapper();
                
-               assertEquals("{\"cloudOwner\":\"att-aic\",\"lcpCloudRegionId\":\"myRegionId\"}", mapper.writeValueAsString(cloudConfiguration));
+               assertEquals("{\"cloudOwner\":\"CloudOwner\",\"lcpCloudRegionId\":\"myRegionId\"}", mapper.writeValueAsString(cloudConfiguration));
                
                
        }
diff --git a/common/src/test/java/org/onap/so/test/categories/SpringAware.java b/common/src/test/java/org/onap/so/test/categories/SpringAware.java
new file mode 100644 (file)
index 0000000..21035fc
--- /dev/null
@@ -0,0 +1,25 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 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.test.categories;
+
+public interface SpringAware {
+       /* category marker */
+}
index 21bacbd..e3d830e 100644 (file)
                         },
                         {
                             "related-to": "cloud-region",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtcnj2",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtcnj2",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
                         },
                         {
                             "related-to": "oam-network",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/f9263cat-4eaa-43a0-bea4-adcf6e123456",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/f9263cat-4eaa-43a0-bea4-adcf6e123456",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
                         },
                         {
                             "related-to": "oam-network",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/b9263fab-4eaa-43a0-bea4-adcf6e999999",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/b9263fab-4eaa-43a0-bea4-adcf6e999999",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
                         },
                         {
                             "related-to": "oam-network",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/cf33dc95-c5d2-48fd-8078-fd949363f63b",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/cf33dc95-c5d2-48fd-8078-fd949363f63b",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
                         },
                         {
                             "related-to": "availability-zone",
-                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/availability-zones/availability-zone/mtcnj-esx-az01",
+                            "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/availability-zones/availability-zone/mtcnj-esx-az01",
                             "relationship-data": [
                                 {
                                     "relationship-key": "cloud-region.cloud-owner",
-                                    "relationship-value": "att-aic"
+                                    "relationship-value": "CloudOwner"
                                 },
                                 {
                                     "relationship-key": "cloud-region.cloud-region-id",
diff --git a/common/src/test/resources/application-test.yaml b/common/src/test/resources/application-test.yaml
new file mode 100644 (file)
index 0000000..cf386cb
--- /dev/null
@@ -0,0 +1,4 @@
+org:
+  onap:
+    so:
+      cloud-owner: CloudOwner
\ No newline at end of file
index 5675588..1ea77ac 100644 (file)
@@ -23,9 +23,9 @@ package org.onap.so.apihandlerinfra.tenantisolation;
 import java.net.MalformedURLException;
 import java.net.URL;
 
-import org.onap.so.apihandlerinfra.SpringContextHelper;
 import org.onap.so.client.aai.AAIProperties;
 import org.onap.so.client.aai.AAIVersion;
+import org.onap.so.spring.SpringContextHelper;
 import org.springframework.context.ApplicationContext;
 
 public class AaiClientPropertiesImpl implements AAIProperties {
index 58a7cb2..f83e707 100644 (file)
@@ -25,8 +25,8 @@ import java.net.URL;
 
 import javax.ws.rs.core.MediaType;
 
-import org.onap.so.apihandlerinfra.SpringContextHelper;
 import org.onap.so.client.grm.GRMProperties;
+import org.onap.so.spring.SpringContextHelper;
 import org.springframework.context.ApplicationContext;
 
 public class GrmClientPropertiesImpl implements GRMProperties {
index 0e26178..813299c 100644 (file)
@@ -23,8 +23,8 @@ package org.onap.so.apihandlerinfra.tenantisolation.dmaap;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.onap.so.apihandlerinfra.SpringContextHelper;
 import org.onap.so.client.dmaap.DmaapProperties;
+import org.onap.so.spring.SpringContextHelper;
 import org.springframework.context.ApplicationContext;
 
 public class DmaapPropertiesImpl implements DmaapProperties {
index 1f4fbc9..f22294b 100644 (file)
@@ -106,7 +106,7 @@ public class RelatedInstancesValidation implements ValidationRule{
                                if(!(   relatedInstanceModelInfo.getModelType().equals(ModelType.volumeGroup) || 
                                                relatedInstanceModelInfo.getModelType().equals(ModelType.connectionPoint) ||
                                                relatedInstanceModelInfo.getModelType().equals(ModelType.pnf) ||
-                                               relatedInstanceModelInfo.getModelType().equals(ModelType.networkCollection))) {
+                                               relatedInstanceModelInfo.getModelType().equals(ModelType.networkInstanceGroup))) {
 
                                        if(empty (relatedInstanceModelInfo.getModelInvariantId ())) {
                                                throw new ValidationException ("modelInvariantId in relatedInstance");
index dfcf9ff..01b5b38 100644 (file)
@@ -2392,4 +2392,43 @@ public class ServiceInstancesTest extends BaseTest{
         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 vnfUpdateWithNetworkInstanceGroup() throws IOException{
+       stubFor(post(urlPathEqualTo("/mso/async/services/WorkflowActionBB"))
+                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                        .withBodyFile("Camunda/TestResponse.json").withStatus(org.apache.http.HttpStatus.SC_OK)));
+
+        stubFor(get(urlMatching(".*/vnfResourceCustomization/2ccae1b4-7d9e-46fa-a452-9180ce008d17"))
+                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                        .withBody(getWiremockResponseForCatalogdb("vnfResourceCustomization_Response.json"))
+                        .withStatus(org.apache.http.HttpStatus.SC_OK)));
+
+        stubFor(get(urlMatching(".*/vnfResourceCustomization/68dc9a92-214c-11e7-93ae-92361f002674/vnfResources"))
+                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                        .withBody(getWiremockResponseForCatalogdb("vnfResources_Response.json"))
+                        .withStatus(org.apache.http.HttpStatus.SC_OK)));
+        
+        stubFor(get(urlMatching(".*/vnfRecipe/search/findFirstVnfRecipeByNfRoleAndAction" +
+                "[?]nfRole=GR-API-DEFAULT&action=updateInstance"))
+                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                        .withBody(getWiremockResponseForCatalogdb("UpdateVnfRecipe_Response.json"))
+                        .withStatus(org.apache.http.HttpStatus.SC_OK)));
+        HttpHeaders headers = new HttpHeaders();
+        headers.set(MsoLogger.CLIENT_ID, "VID");
+        //expect
+        ServiceInstancesResponse expectedResponse = new ServiceInstancesResponse();
+        RequestReferences requestReferences = new RequestReferences();
+        requestReferences.setInstanceId("1882939");
+        expectedResponse.setRequestReferences(requestReferences);
+        uri = servInstanceuri + "v7/serviceInstances/e05864f0-ab35-47d0-8be4-56fd9619ba3c/vnfs/f501ce76-a9bc-4601-9837-74fd9f4d5eca";
+        ResponseEntity<String> response = sendRequest(inputStream("/VnfwithNeteworkInstanceGroup.json"), uri, HttpMethod.PUT, headers);
+
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+
+        //then         
+        assertEquals(Response.Status.ACCEPTED.getStatusCode(), response.getStatusCode().value());
+        ServiceInstancesResponse realResponse = mapper.readValue(response.getBody(), ServiceInstancesResponse.class);
+        assertThat(realResponse, sameBeanAs(expectedResponse).ignoring("requestReferences.requestId"));        
+    }
 }
index 93542c0..02fd7a1 100644 (file)
@@ -38,8 +38,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 public class RelatedInstancesValidationTest extends BaseTest{
 
        @Test
-       public void testCreateVnfNetworkCollection() throws IOException, ValidationException {
-               String requestJson = new String(Files.readAllBytes(Paths.get("src/test/resources/MsoRequestTest/RelatedInstances/v7CreateVnfNetworkCollection.json")));
+       public void testCreateVnfNetworkInstanceGroup() throws IOException, ValidationException {
+               String requestJson = new String(Files.readAllBytes(Paths.get("src/test/resources/MsoRequestTest/RelatedInstances/v7CreateVnfNetworkInstanceGroup.json")));
                ObjectMapper mapper = new ObjectMapper();
                ServiceInstancesRequest sir  = mapper.readValue(requestJson, ServiceInstancesRequest.class);
                ValidationInformation info = new ValidationInformation(sir, new HashMap<String, String>(), Action.createInstance, 
@@ -42,7 +42,7 @@
             "relatedInstance": {
                "instanceId": "0fd90c0c-0e3a-46e2-abb5-4c4820d5985b",
                "modelInfo": {   
-                  "modelType": "networkCollection"
+                  "modelType": "networkInstanceGroup"
                }
             }
          }
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/VnfwithNeteworkInstanceGroup.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/VnfwithNeteworkInstanceGroup.json
new file mode 100644 (file)
index 0000000..fb6b9c2
--- /dev/null
@@ -0,0 +1,57 @@
+{
+   "requestDetails":{
+      "requestInfo":{
+         "productFamilyId":"e433710f-9217-458d-a79d-1c7aff376d87",
+         "source":"VID",
+         "suppressRollback":false,
+         "requestorId":"xxxxxx"
+      },
+      "lineOfBusiness":{
+         "lineOfBusinessName":"line_of_business"
+      },
+      "cloudConfiguration":{
+         "lcpCloudRegionId":"DYH1A",
+         "tenantId":"7f3db563322146a688601ade1294a747"
+      },
+      "platform":{
+
+      },
+      "modelInfo":{
+         "modelCustomizationId":"2ccae1b4-7d9e-46fa-a452-9180ce008d17",
+         "modelCustomizationName":"test_name",
+         "modelVersionId":"0f161f68-9cd8-41f3-872d-41e58d83d318",
+         "modelName":"modelName",
+         "modelInvariantId":"f501ce76-a9bc-4601-9837-74fd9f4d5ecb",
+         "modelType":"vnf",
+         "modelVersion":"7.0"
+      },
+      "requestParameters":{
+         "userParams":[
+
+         ],
+         "testApi":"GR_API"
+      },
+      "relatedInstanceList":[
+         {
+            "relatedInstance":{
+               "instanceId":"e05864f0-ab35-47d0-8be4-56fd9619ba3c",
+               "modelInfo":{
+                  "modelVersionId":"ecd348d8-41f6-447a-93a6-4300db495688",
+                  "modelName":"Subinterface_SVC_ym161d",
+                  "modelInvariantId":"4c1147bd-de97-43d5-b05e-5faa9aba220d",
+                  "modelType":"service",
+                  "modelVersion":"5.0"
+               }
+            }
+         },
+         {
+            "relatedInstance":{
+               "instanceId":"1b53f649-8969-443f-8ca4-d70f2ec6de0b",
+               "modelInfo":{
+                  "modelType":"networkInstanceGroup"
+               }
+            }
+         }
+      ]
+   }
+}
\ No newline at end of file
index d66e378..951f02e 100644 (file)
@@ -172,6 +172,7 @@ public class InfraActiveRequestsRepositoryImpl implements InfraActiveRequestsRep
         final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
         final CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
         final Root<InfraActiveRequests> tableRoot = crit.from(InfraActiveRequests.class);
+        InfraActiveRequests infraActiveRequests = null;
 
         if (instanceName != null && !instanceName.equals("")) {
 
@@ -229,18 +230,17 @@ public class InfraActiveRequestsRepositoryImpl implements InfraActiveRequestsRep
                 }
             }
         }
-
-        predicates.add(tableRoot.get(REQUEST_STATUS)
+        if(!predicates.isEmpty()){
+               predicates.add(tableRoot.get(REQUEST_STATUS)
                 .in(Arrays.asList("PENDING", "IN_PROGRESS", "TIMEOUT", "PENDING_MANUAL_TASK")));
 
-        final Order order = cb.desc(tableRoot.get(START_TIME));
-
-        final List<InfraActiveRequests> dupList = executeInfraQuery(crit, predicates, order);
-
-        InfraActiveRequests infraActiveRequests = null;
-
-        if (dupList != null && !dupList.isEmpty()) {
-            infraActiveRequests = dupList.get(0);
+               final Order order = cb.desc(tableRoot.get(START_TIME));
+       
+               final List<InfraActiveRequests> dupList = executeInfraQuery(crit, predicates, order);
+       
+               if (dupList != null && !dupList.isEmpty()) {
+                   infraActiveRequests = dupList.get(0);
+               }
         }
 
         return infraActiveRequests;
index b7eb764..4097aee 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.so.db.request.data.repository;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.onap.so.db.request.data.repository.InfraActiveRequestsRepositoryImpl.ACTION;
 import static org.onap.so.db.request.data.repository.InfraActiveRequestsRepositoryImpl.REQUEST_ID;
@@ -181,4 +182,12 @@ public class InfraActiveRequestsRepositoryImplTest {
                 objUnderTest.getInfraActiveRequests(null, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, MAX_LIMIT);
         assertTrue(actualRequests.isEmpty());
     }
+    
+    @Test
+    public void checkInstanceNameDuplicateNullInstanceNameTest(){
+       Map<String, String> instanceIdMap = new HashMap<>();
+        instanceIdMap.put("serviceInstanceId", "e05864f0-ab35-47d0-8be4-56fd9619ba3b");
+       InfraActiveRequests results = objUnderTest.checkInstanceNameDuplicate((HashMap<String, String>)instanceIdMap, null, "vnf");
+       assertNull(results);
+    }
 }
index 3f3aabb..3451011 100644 (file)
@@ -512,7 +512,7 @@ VALUES
 ('SERVICE', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'), 
 ('VNF', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'), 
 ('VOLUME_GROUP', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'), 
-('VF_MODULE', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'), 
+('VF_MODULE', 'PENDING_ACTIVATION', 'ACTIVATE', 'SILENT_SUCCESS'), 
 ('NETWORK', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'), 
 ('SERVICE', 'PENDING', 'ACTIVATE', 'FAIL'), 
 ('VNF', 'PENDING', 'ACTIVATE', 'FAIL'), 
@@ -613,7 +613,7 @@ VALUES
 ('VF_MODULE', 'PENDING_DELETE', 'CREATE', 'CONTINUE'), 
 ('NETWORK', 'PENDING_DELETE', 'CREATE', 'CONTINUE'), 
 ('VOLUME_GROUP', 'PENDING_ACTIVATION', 'CREATE', 'FAIL'), 
-('VF_MODULE', 'PENDING_ACTIVATION', 'CREATE', 'FAIL'), 
+('VF_MODULE', 'PENDING_ACTIVATION', 'CREATE', 'SILENT_SUCCESS'), 
 ('NETWORK', 'PENDING_ACTIVATION', 'CREATE', 'FAIL'), 
 ('VOLUME_GROUP', 'PENDING', 'CREATE', 'CONTINUE'), 
 ('VF_MODULE', 'PENDING', 'CREATE', 'FAIL'), 
index d1d2d00..8235c74 100644 (file)
@@ -6,12 +6,13 @@ ssl-enable: false
 camunda:
   rest:
     api:
-      url: http://bpmn-infra:8081/engine-rest/engine/
+      url: http://so-bpmn-infra.onap:8081/sobpmnengine/engine/
       engine: default
-      auth: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==
+      auth: Basic YXBpaEJwbW46cGFzc3dvcmQxJA==
 mso:
   database:
     rest:
       api:
-        url: http://so-request-db-adapter:8083/infraActiveRequests/
+        url: http://so-request-db-adapter.onap:8083/infraActiveRequests/
         auth: Basic YnBlbDpwYXNzd29yZDEk
+