aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/MSOCommonBPMN/src
diff options
context:
space:
mode:
Diffstat (limited to 'bpmn/MSOCommonBPMN/src')
-rw-r--r--bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AbstractServiceTaskProcessor.groovy26
-rw-r--r--bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy34
-rw-r--r--bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy347
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/SpringContextHelper.java41
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java18
-rw-r--r--bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/ConfirmVolumeGroupTenantTest.groovy8
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/mock/StubResponseAAI.java24
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java19
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java2
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockCMExpected.json3
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockExpected.json21
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestContextExpected.json24
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestDetailsInput_mapReqContext.json17
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/aai-volume-group-id-info.xml2
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/aai/resources/e2e-complex.json20
15 files changed, 336 insertions, 270 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AbstractServiceTaskProcessor.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AbstractServiceTaskProcessor.groovy
index 00bd8e9ef8..9e71313e09 100644
--- a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AbstractServiceTaskProcessor.groovy
+++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AbstractServiceTaskProcessor.groovy
@@ -694,32 +694,6 @@ public abstract class AbstractServiceTaskProcessor implements ServiceTaskProcess
}
/**
- * 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.
* This type of callback URL is used when a workflow wants a system outside the MSO complex
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy
index aa0d8ace6a..533df72285 100644
--- a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy
+++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy
@@ -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")
+ }
+ }
}
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy
index b1da7cf49b..197589efa1 100644
--- a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy
+++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy
@@ -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)
+ }
}
/**
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/SpringContextHelper.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/SpringContextHelper.java
deleted file mode 100644
index edc544d939..0000000000
--- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/SpringContextHelper.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * ============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.bpmn.common;
-
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.stereotype.Component;
-
-@Component
-public class SpringContextHelper implements ApplicationContextAware {
-
- private static ApplicationContext context;
-
- @Override
- public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
- context = applicationContext;
- }
-
- public static ApplicationContext getAppContext() {
- return context;
- }
-}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java
index d463fde09c..0f52c96d0e 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java
@@ -22,6 +22,7 @@ package org.onap.so.bpmn.servicedecomposition.tasks;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -84,6 +85,8 @@ import org.springframework.stereotype.Component;
@Component("BBInputSetupMapperLayer")
public class BBInputSetupMapperLayer {
+ private static final String USER_PARAM_NAME_KEY = "name";
+ private static final String USER_PARAM_VALUE_KEY = "value";
private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL,
BBInputSetupMapperLayer.class);
@@ -332,6 +335,7 @@ public class BBInputSetupMapperLayer {
if (null != requestParameters) {
context.setSubscriptionServiceType(requestParameters.getSubscriptionServiceType());
context.setRequestParameters(this.mapRequestParameters(requestDetails.getRequestParameters()));
+ context.setUserParams(this.mapNameValueUserParams(requestDetails.getRequestParameters()));
}
return context;
}
@@ -344,6 +348,20 @@ public class BBInputSetupMapperLayer {
requestParams.setPayload(requestParameters.getPayload());
return requestParams;
}
+
+ protected HashMap<String,String> mapNameValueUserParams(org.onap.so.serviceinstancebeans.RequestParameters requestParameters) {
+ HashMap<String,String> userParamsResult = new HashMap<String,String>();
+ if (requestParameters.getUserParams() != null) {
+ List<Map<String, Object>> userParams = requestParameters.getUserParams();
+ for (Map<String, Object> userParamsMap : userParams) {
+ if ( userParamsMap.containsKey(USER_PARAM_NAME_KEY) && (userParamsMap.get(USER_PARAM_NAME_KEY) instanceof String)
+ && userParamsMap.containsKey(USER_PARAM_VALUE_KEY) && (userParamsMap.get(USER_PARAM_VALUE_KEY) instanceof String)) {
+ userParamsResult.put((String) userParamsMap.get(USER_PARAM_NAME_KEY), (String) userParamsMap.get(USER_PARAM_VALUE_KEY));
+ }
+ }
+ }
+ return userParamsResult;
+ }
protected OrchestrationContext mapOrchestrationContext(RequestDetails requestDetails) {
OrchestrationContext context = new OrchestrationContext();
diff --git a/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/ConfirmVolumeGroupTenantTest.groovy b/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/ConfirmVolumeGroupTenantTest.groovy
index 1b76f5cb3f..5a01c83a80 100644
--- a/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/ConfirmVolumeGroupTenantTest.groovy
+++ b/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/ConfirmVolumeGroupTenantTest.groovy
@@ -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() {
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/mock/StubResponseAAI.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/mock/StubResponseAAI.java
index 38be9f3790..79b0d33062 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/mock/StubResponseAAI.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/mock/StubResponseAAI.java
@@ -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")
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java
index 94dbbf427c..1babac68ca 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java
@@ -23,6 +23,8 @@ package org.onap.so.bpmn.servicedecomposition.tasks;
import static com.shazam.shazamcrest.MatcherAssert.assertThat;
import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
import static org.hamcrest.CoreMatchers.equalTo;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.IOException;
@@ -33,7 +35,6 @@ import java.util.List;
import java.util.Map;
import org.junit.Test;
-import org.mockito.InjectMocks;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
@@ -636,4 +637,20 @@ public class BBInputSetupMapperLayerTest {
assertThat(actual, sameBeanAs(expected));
}
+
+ @Test
+ public void testMapNameValueUserParams() throws IOException {
+ RequestDetails requestDetails = mapper.readValue(new File(RESOURCE_PATH + "RequestDetailsInput_mapReqContext.json"), RequestDetails.class);
+ HashMap<String,String> actual = bbInputSetupMapperLayer.mapNameValueUserParams(requestDetails.getRequestParameters());
+
+ assertTrue(actual.containsKey("name1"));
+ assertTrue(actual.containsValue("value1"));
+ assertTrue(actual.get("name1").equals("value1"));
+ assertTrue(actual.containsKey("name2"));
+ assertTrue(actual.containsValue("value2"));
+ assertTrue(actual.get("name2").equals("value2"));
+ assertFalse(actual.containsKey("ignore"));
+ assertFalse(actual.containsValue("ignore"));
+ }
+
}
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java
index eed4b1411f..0db2f9fc12 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java
@@ -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();
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockCMExpected.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockCMExpected.json
index 60dd880040..a53ed4dfde 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockCMExpected.json
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockCMExpected.json
@@ -1,6 +1,7 @@
{
"requestContext": {
"source": "VID",
+ "user-params": {},
"mso-request-id": "requestId",
"action": "createInstance",
"requestParameters": {
@@ -14,7 +15,7 @@
},
"cloudRegion": {
"lcp-cloud-region-id" : "myRegionId",
- "cloud-owner": "att-aic"
+ "cloud-owner": "CloudOwner"
},
"userInput": null,
"customer": {
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockExpected.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockExpected.json
index cf65143c9a..926bf2ccb7 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockExpected.json
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/GeneralBuildingBlockExpected.json
@@ -5,11 +5,28 @@
"requestor-id": "requestorId",
"mso-request-id": "requestId",
"subscription-service-type": "subscriptionServiceType",
- "user-params": null,
+ "user-params": {
+ "name1": "value1",
+ "name2": "value2"
+ },
"action": "createInstance",
"callback-url": "callbackURL",
"requestParameters": {
- "subscriptionServiceType": "subscriptionServiceType"
+ "subscriptionServiceType": "subscriptionServiceType",
+ "userParams": [
+ {
+ "name": "name1",
+ "value": "value1"
+ },
+ {
+ "name": "name2",
+ "value": "value2"
+ },
+ {
+ "ignore": "false",
+ "skip": "ignore"
+ }
+ ]
}
},
"orchContext": {
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestContextExpected.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestContextExpected.json
index 6f82a9dd75..dfc6d4f555 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestContextExpected.json
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestContextExpected.json
@@ -2,11 +2,29 @@
"product-family-id": "productFamilyId",
"source": "source",
"requestor-id": "requestorId",
- "subscription-service-type": "subscriptionServiceType",
- "user-params": null,
+ "subscription-service-type": "subscriptionServiceType",
"action": null,
"callback-url": "callbackURL",
+ "user-params": {
+ "name1": "value1",
+ "name2": "value2"
+ },
"requestParameters": {
- "subscriptionServiceType": "subscriptionServiceType"
+ "subscriptionServiceType": "subscriptionServiceType",
+ "userParams": [
+ {
+ "name": "name1",
+ "value": "value1"
+ },
+ {
+ "name": "name2",
+ "value": "value2"
+ },
+ {
+ "ignore": "false",
+ "skip": "ignore"
+ }
+ ]
}
+
}
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestDetailsInput_mapReqContext.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestDetailsInput_mapReqContext.json
index e91875135b..7386828d27 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestDetailsInput_mapReqContext.json
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/RequestDetailsInput_mapReqContext.json
@@ -7,7 +7,22 @@
"requestorId": "requestorId"
},
"requestParameters": {
- "subscriptionServiceType": "subscriptionServiceType"
+ "subscriptionServiceType": "subscriptionServiceType",
+ "userParams": [
+ {
+ "name": "name1",
+ "value": "value1"
+ },
+ {
+ "name": "name2",
+ "value": "value2"
+ },
+ {
+ "ignore": "false",
+ "skip": "ignore"
+ }
+ ]
+
}
}
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/aai-volume-group-id-info.xml b/bpmn/MSOCommonBPMN/src/test/resources/__files/aai-volume-group-id-info.xml
index 4167e2e87d..dff05c908a 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/aai-volume-group-id-info.xml
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/aai-volume-group-id-info.xml
@@ -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>
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/aai/resources/e2e-complex.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/aai/resources/e2e-complex.json
index 21bacbd5ce..e3d830e978 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/aai/resources/e2e-complex.json
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/aai/resources/e2e-complex.json
@@ -547,11 +547,11 @@
},
{
"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",
@@ -567,11 +567,11 @@
},
{
"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",
@@ -591,11 +591,11 @@
},
{
"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",
@@ -615,11 +615,11 @@
},
{
"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",
@@ -639,11 +639,11 @@
},
{
"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",