aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/utils/MsoCloudifyUtils.java8
-rw-r--r--adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoHeatUtils.java47
-rw-r--r--adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/utils/MsoCloudifyUtilsTest.java56
-rw-r--r--adapters/mso-adapter-utils/src/test/java/org/onap/so/openstack/utils/MsoHeatUtilsUnitTest.java67
-rw-r--r--adapters/mso-adapter-utils/src/test/resources/__files/MsoHeatUtils/free-form.json7
-rw-r--r--adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java6
-rw-r--r--adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVolumeGroupRequest.java6
-rw-r--r--adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVfModuleRequest.java6
-rw-r--r--adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVolumeGroupRequest.java6
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapter.java8
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsync.java4
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImpl.java4
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterImpl.java36
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java12
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java18
-rw-r--r--adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImplTest.java8
-rw-r--r--adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterImplTest.java44
-rw-r--r--adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImplTest.java4
-rw-r--r--adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java2
-rw-r--r--adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImplTest.java12
-rw-r--r--adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VnfAdapterRestTest.java8
-rw-r--r--adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VolumeGroupAdapterCommon.java8
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/generalobjects/RequestContext.java6
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java4
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java2
-rw-r--r--bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/UpdateNetworkBB.bpmn158
-rw-r--r--bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/UpdateNetworkBBTest.java8
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/VnfCmBase.groovy20
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/VnfInPlaceUpdate.bpmn779
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java31
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasks.java25
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/CloudSiteCatalogUtils.java76
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java6
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java60
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapper.java18
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapper.java52
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapper.java27
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapper.java21
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapper.java36
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapper.java29
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java24
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasksTest.java39
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/CloudSiteCatalogUtilsTest.java88
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java13
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java22
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperTest.java2
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/SDNCConfigurationResourcesTest.java35
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapperTest.java23
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapperTest.java3
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapperTest.java24
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapperTest.java15
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapperTest.java23
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapperTest.java15
53 files changed, 1379 insertions, 682 deletions
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/utils/MsoCloudifyUtils.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/utils/MsoCloudifyUtils.java
index 9212fbcc6c..f50a6fd1bd 100644
--- a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/utils/MsoCloudifyUtils.java
+++ b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/utils/MsoCloudifyUtils.java
@@ -1032,14 +1032,14 @@ public class MsoCloudifyUtils extends MsoCommonUtils implements VduPlugin{
* Normalize an input value to an Object, based on the target parameter type.
* If the type is not recognized, it will just be returned unchanged (as a string).
*/
- public Object convertInputValue (String inputValue, HeatTemplateParam templateParam)
+ public Object convertInputValue (Object inputValue, HeatTemplateParam templateParam)
{
String type = templateParam.getParamType();
logger.debug("Parameter: {} is of type {}", templateParam.getParamName(), type);
if (type.equalsIgnoreCase("number")) {
try {
- return Integer.valueOf(inputValue);
+ return Integer.valueOf(inputValue.toString());
}
catch (Exception e) {
logger.debug("Unable to convert {} to an integer!", inputValue);
@@ -1047,14 +1047,14 @@ public class MsoCloudifyUtils extends MsoCommonUtils implements VduPlugin{
}
} else if (type.equalsIgnoreCase("json")) {
try {
- return new ObjectMapper().readTree(inputValue);
+ return JSON_MAPPER.writeValueAsString(inputValue);
}
catch (Exception e) {
logger.debug("Unable to convert {} to a JsonNode!", inputValue);
return null;
}
} else if (type.equalsIgnoreCase("boolean")) {
- return new Boolean(inputValue);
+ return new Boolean(inputValue.toString());
}
// Nothing else matched. Return the original string
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoHeatUtils.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoHeatUtils.java
index efc232e79e..ee1c79c09c 100644
--- a/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoHeatUtils.java
+++ b/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoHeatUtils.java
@@ -86,6 +86,24 @@ import org.springframework.context.annotation.Primary;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.woorea.openstack.base.client.OpenStackConnectException;
+import com.woorea.openstack.base.client.OpenStackRequest;
+import com.woorea.openstack.base.client.OpenStackResponseException;
+import com.woorea.openstack.heat.Heat;
+import com.woorea.openstack.heat.model.CreateStackParam;
+import com.woorea.openstack.heat.model.Resources;
+import com.woorea.openstack.heat.model.Stack;
+import com.woorea.openstack.heat.model.Stack.Output;
+import com.woorea.openstack.heat.model.Stacks;
+import com.woorea.openstack.keystone.Keystone;
+import com.woorea.openstack.keystone.model.Access;
+import com.woorea.openstack.keystone.model.Authentication;
+import com.woorea.openstack.keystone.utils.KeystoneUtils;
+
@Primary
@Component
public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
@@ -1005,7 +1023,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
return heatStack.getOutputs();
}
- public void copyStringOutputsToInputs(Map<String, String> inputs,
+ public void copyStringOutputsToInputs(Map<String, Object> inputs,
Map<String, Object> otherStackOutputs, boolean overWrite) {
if (inputs == null || otherStackOutputs == null)
return;
@@ -1245,7 +1263,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
* (heat variable type) -> java Object type
* string -> String
* number -> Integer
- * json -> JsonNode XXX Removed with MSO-1475 / 1802
+ * json -> marshal object to json
* comma_delimited_list -> ArrayList
* boolean -> Boolean
* if any of the conversions should fail, we will default to adding it to the inputs
@@ -1256,7 +1274,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
* @param template the HeatTemplate object - this is so we can also verify if the param is valid for this template
* @return HashMap<String, Object> of the inputs, cleaned and converted
*/
- public Map<String, Object> convertInputMap(Map<String, String> inputs, HeatTemplate template) {
+ public Map<String, Object> convertInputMap(Map<String, Object> inputs, HeatTemplate template) {
HashMap<String, Object> newInputs = new HashMap<>();
HashMap<String, HeatTemplateParam> params = new HashMap<>();
HashMap<String, HeatTemplateParam> paramAliases = new HashMap<>();
@@ -1309,13 +1327,13 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
logger.debug("Parameter: {} is of type {}", key, type);
if ("string".equalsIgnoreCase(type)) {
// Easiest!
- String str = inputs.get(key);
+ String str = inputs.get(key).toString();
if (alias)
newInputs.put(realName, str);
else
newInputs.put(key, str);
} else if ("number".equalsIgnoreCase(type)) {
- String integerString = inputs.get(key);
+ String integerString = inputs.get(key).toString();
Integer anInteger = null;
try {
anInteger = Integer.parseInt(integerString);
@@ -1336,16 +1354,21 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
newInputs.put(key, integerString);
}
} else if ("json".equalsIgnoreCase(type)) {
- // MSO-1475 - Leave this as a string now
- String jsonString = inputs.get(key);
- logger.debug("Skipping conversion to jsonNode...");
- if (alias)
+ Object jsonObj = inputs.get(key);
+ String jsonString;
+ try {
+ jsonString = JSON_MAPPER.writeValueAsString(jsonObj);
+ } catch (JsonProcessingException e) {
+ logger.error("failed to map to json, directly converting to string instead", e);
+ jsonString = jsonObj.toString();
+ }
+ if (alias)
newInputs.put(realName, jsonString);
else
newInputs.put(key, jsonString);
//}
} else if ("comma_delimited_list".equalsIgnoreCase(type)) {
- String commaSeparated = inputs.get(key);
+ String commaSeparated = inputs.get(key).toString();
try {
List<String> anArrayList = this.convertCdlToArrayList(commaSeparated);
if (alias)
@@ -1360,7 +1383,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
newInputs.put(key, commaSeparated);
}
} else if ("boolean".equalsIgnoreCase(type)) {
- String booleanString = inputs.get(key);
+ String booleanString = inputs.get(key).toString();
Boolean aBool = Boolean.valueOf(booleanString);
if (alias)
newInputs.put(realName, aBool);
@@ -1368,7 +1391,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{
newInputs.put(key, aBool);
} else {
// it's null or something undefined - just add it back as a String
- String str = inputs.get(key);
+ String str = inputs.get(key).toString();
if (alias)
newInputs.put(realName, str);
else
diff --git a/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/utils/MsoCloudifyUtilsTest.java b/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/utils/MsoCloudifyUtilsTest.java
index 7c5111bd18..f63aab7ce1 100644
--- a/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/utils/MsoCloudifyUtilsTest.java
+++ b/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/utils/MsoCloudifyUtilsTest.java
@@ -23,7 +23,7 @@ package org.onap.so.cloudify.utils;
import static com.shazam.shazamcrest.MatcherAssert.assertThat;
import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
@@ -33,7 +33,9 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import com.fasterxml.jackson.databind.JsonNode;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -52,17 +54,23 @@ import org.onap.so.adapters.vdu.VduModelInfo;
import org.onap.so.adapters.vdu.VduStateType;
import org.onap.so.adapters.vdu.VduStatus;
import org.onap.so.cloud.CloudConfig;
-import org.onap.so.cloudify.beans.DeploymentInfoBuilder;
-import org.onap.so.db.catalog.beans.CloudIdentity;
-import org.onap.so.db.catalog.beans.CloudSite;
import org.onap.so.cloudify.beans.DeploymentInfo;
+import org.onap.so.cloudify.beans.DeploymentInfoBuilder;
import org.onap.so.cloudify.beans.DeploymentStatus;
import org.onap.so.cloudify.v3.client.Cloudify;
import org.onap.so.cloudify.v3.model.AzureConfig;
+import org.onap.so.db.catalog.beans.CloudIdentity;
+import org.onap.so.db.catalog.beans.CloudSite;
import org.onap.so.db.catalog.beans.CloudifyManager;
import org.onap.so.db.catalog.beans.HeatTemplateParam;
import org.onap.so.openstack.exceptions.MsoAdapterException;
import org.onap.so.openstack.exceptions.MsoException;
+import org.skyscreamer.jsonassert.JSONAssert;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
public class MsoCloudifyUtilsTest {
@@ -282,21 +290,31 @@ public class MsoCloudifyUtilsTest {
}
@Test
- public void convertInputValue_successful() {
- MsoCloudifyUtils testedObject = new MsoCloudifyUtils();
-
- HeatTemplateParam heatTemplateParam = new HeatTemplateParam();
- heatTemplateParam.setParamType("number");
- Object result = testedObject.convertInputValue("5", heatTemplateParam);
- assertTrue(result instanceof Integer);
-
- heatTemplateParam.setParamType("json");
- Object result2 = testedObject.convertInputValue("{\"key\": \"value\"}", heatTemplateParam);
- assertTrue(result2 instanceof JsonNode);
+ public void convertInputValueTest() throws JsonParseException, JsonMappingException, IOException {
+ MsoCloudifyUtils utils = new MsoCloudifyUtils();
+ ObjectMapper mapper = new ObjectMapper();
+ HeatTemplateParam paramNum = new HeatTemplateParam();
+ paramNum.setParamType("number");
+ paramNum.setParamName("my-number");
+
+ HeatTemplateParam paramString = new HeatTemplateParam();
+ paramString.setParamType("string");
+ paramString.setParamName("my-string");
+
+ HeatTemplateParam paramJson = new HeatTemplateParam();
+ paramJson.setParamType("json");
+ paramJson.setParamName("my-json");
+
+ Map<String, Object> jsonMap = mapper.readValue(getJson("free-form.json"), new TypeReference<Map<String, Object>>(){});
+
+ assertEquals(3, utils.convertInputValue("3", paramNum));
+ assertEquals("hello", utils.convertInputValue("hello", paramString));
+ JSONAssert.assertEquals(getJson("free-form.json"), utils.convertInputValue(jsonMap, paramJson).toString(), false);
+
+ }
- heatTemplateParam.setParamType("boolean");
- Object result3 = testedObject.convertInputValue("true", heatTemplateParam);
- assertTrue(result3 instanceof Boolean);
+ private String getJson(String filename) throws IOException {
+ return new String(Files.readAllBytes(Paths.get("src/test/resources/__files/MsoHeatUtils/" + filename)));
}
private void mockCloudConfig(MsoCloudifyUtils testedObjectSpy) {
diff --git a/adapters/mso-adapter-utils/src/test/java/org/onap/so/openstack/utils/MsoHeatUtilsUnitTest.java b/adapters/mso-adapter-utils/src/test/java/org/onap/so/openstack/utils/MsoHeatUtilsUnitTest.java
new file mode 100644
index 0000000000..40bbe90218
--- /dev/null
+++ b/adapters/mso-adapter-utils/src/test/java/org/onap/so/openstack/utils/MsoHeatUtilsUnitTest.java
@@ -0,0 +1,67 @@
+package org.onap.so.openstack.utils;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.junit.Test;
+import org.onap.so.db.catalog.beans.HeatTemplate;
+import org.onap.so.db.catalog.beans.HeatTemplateParam;
+import org.skyscreamer.jsonassert.JSONAssert;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class MsoHeatUtilsUnitTest {
+
+
+ private ObjectMapper mapper = new ObjectMapper();
+ @Test
+ public void convertInputMapTest() throws JsonParseException, JsonMappingException, IOException {
+ MsoHeatUtils utils = new MsoHeatUtils();
+
+ Map<String, Object> input = new HashMap<>();
+ HeatTemplate template = new HeatTemplate();
+ template.setArtifactUuid("my-uuid");
+ Set<HeatTemplateParam> parameters = template.getParameters();
+ HeatTemplateParam paramNum = new HeatTemplateParam();
+ paramNum.setParamType("number");
+ paramNum.setParamName("my-number");
+ input.put("my-number", "3");
+
+ HeatTemplateParam paramString = new HeatTemplateParam();
+ paramString.setParamType("string");
+ paramString.setParamName("my-string");
+ input.put("my-string", "hello");
+
+ HeatTemplateParam paramJson = new HeatTemplateParam();
+ paramJson.setParamType("json");
+ paramJson.setParamName("my-json");
+
+ Map<String, Object> jsonMap = mapper.readValue(getJson("free-form.json"), new TypeReference<Map<String, Object>>(){});
+ input.put("my-json", jsonMap);
+
+ parameters.add(paramNum);
+ parameters.add(paramString);
+ parameters.add(paramJson);
+
+ Map<String, Object> output = utils.convertInputMap(input, template);
+
+ assertEquals(3, output.get("my-number"));
+ assertEquals("hello", output.get("my-string"));
+ JSONAssert.assertEquals(getJson("free-form.json"), (String)output.get("my-json"), false);
+ }
+
+
+ private String getJson(String filename) throws IOException {
+ return new String(Files.readAllBytes(Paths.get("src/test/resources/__files/MsoHeatUtils/" + filename)));
+ }
+
+}
diff --git a/adapters/mso-adapter-utils/src/test/resources/__files/MsoHeatUtils/free-form.json b/adapters/mso-adapter-utils/src/test/resources/__files/MsoHeatUtils/free-form.json
new file mode 100644
index 0000000000..3efe43682d
--- /dev/null
+++ b/adapters/mso-adapter-utils/src/test/resources/__files/MsoHeatUtils/free-form.json
@@ -0,0 +1,7 @@
+{
+ "a" : "value",
+ "b" : {
+ "my-key" : "my-value",
+ "array" : [1, 3, 4]
+ }
+} \ No newline at end of file
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java
index a383aac77f..c62dc0dfbf 100644
--- a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java
+++ b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java
@@ -58,7 +58,7 @@ public class CreateVfModuleRequest extends VfRequestCommon {
private Boolean backout = true;
private Boolean enableBridge;
- private Map<String, String> vfModuleParams = new HashMap<>();
+ private Map<String, Object> vfModuleParams = new HashMap<>();
private MsoRequest msoRequest = new MsoRequest();
public String getCloudSiteId() {
@@ -189,11 +189,11 @@ public class CreateVfModuleRequest extends VfRequestCommon {
this.backout = backout;
}
- public Map<String, String> getVfModuleParams() {
+ public Map<String, Object> getVfModuleParams() {
return vfModuleParams;
}
- public void setVfModuleParams(Map<String, String> vfModuleParams) {
+ public void setVfModuleParams(Map<String, Object> vfModuleParams) {
this.vfModuleParams = vfModuleParams;
}
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVolumeGroupRequest.java b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVolumeGroupRequest.java
index 698b2ccebe..214abd4e9d 100644
--- a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVolumeGroupRequest.java
+++ b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVolumeGroupRequest.java
@@ -41,7 +41,7 @@ public class CreateVolumeGroupRequest extends VfRequestCommon {
private String vnfVersion;
private String vfModuleType;
private String modelCustomizationUuid;
- private Map<String,String> volumeGroupParams = new HashMap<>();
+ private Map<String,Object> volumeGroupParams = new HashMap<>();
private Boolean failIfExists;
private Boolean enableBridge;
private Boolean suppressBackout;
@@ -91,11 +91,11 @@ public class CreateVolumeGroupRequest extends VfRequestCommon {
this.vfModuleType = vfModuleType;
}
- public Map<String, String> getVolumeGroupParams() {
+ public Map<String, Object> getVolumeGroupParams() {
return volumeGroupParams;
}
- public void setVolumeGroupParams(Map<String, String> volumeGroupParams) {
+ public void setVolumeGroupParams(Map<String, Object> volumeGroupParams) {
this.volumeGroupParams = volumeGroupParams;
}
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVfModuleRequest.java b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVfModuleRequest.java
index 0fb5c05e2a..1c7696a79b 100644
--- a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVfModuleRequest.java
+++ b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVfModuleRequest.java
@@ -58,7 +58,7 @@ public class UpdateVfModuleRequest extends VfRequestCommon {
private Boolean failIfExists;
private Boolean backout;
- private Map<String,String> vfModuleParams = new HashMap<>();
+ private Map<String,Object> vfModuleParams = new HashMap<>();
private MsoRequest msoRequest = new MsoRequest();
public String getCloudSiteId() {
@@ -197,11 +197,11 @@ public class UpdateVfModuleRequest extends VfRequestCommon {
this.backout = backout;
}
- public Map<String, String> getVfModuleParams() {
+ public Map<String, Object> getVfModuleParams() {
return vfModuleParams;
}
- public void setVfModuleParams(Map<String, String> vfModuleParams) {
+ public void setVfModuleParams(Map<String, Object> vfModuleParams) {
this.vfModuleParams = vfModuleParams;
}
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVolumeGroupRequest.java b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVolumeGroupRequest.java
index d9f83aad2f..8ddef1eeaf 100644
--- a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVolumeGroupRequest.java
+++ b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/UpdateVolumeGroupRequest.java
@@ -41,7 +41,7 @@ public class UpdateVolumeGroupRequest extends VfRequestCommon {
private String vnfVersion;
private String vfModuleType;
private String modelCustomizationUuid;
- private Map<String,String> volumeGroupParams = new HashMap<>();
+ private Map<String,Object> volumeGroupParams = new HashMap<>();
private MsoRequest msoRequest = new MsoRequest();
public UpdateVolumeGroupRequest() {
@@ -112,11 +112,11 @@ public class UpdateVolumeGroupRequest extends VfRequestCommon {
this.modelCustomizationUuid = modelCustomizationUuid;
}
- public Map<String, String> getVolumeGroupParams() {
+ public Map<String, Object> getVolumeGroupParams() {
return volumeGroupParams;
}
- public void setVolumeGroupParams(Map<String, String> volumeGroupParams) {
+ public void setVolumeGroupParams(Map<String, Object> volumeGroupParams) {
this.volumeGroupParams = volumeGroupParams;
}
diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapter.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapter.java
index 7c49c9f948..c54b067a78 100644
--- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapter.java
+++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapter.java
@@ -50,7 +50,7 @@ public interface MsoVnfAdapter
@WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
@WebParam(name="requestType") @XmlElement(required=false) String requestType,
@WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
- @WebParam(name="inputs") Map<String,String> inputs,
+ @WebParam(name="inputs") Map<String,Object> inputs,
@WebParam(name="failIfExists") Boolean failIfExists,
@WebParam(name="backout") Boolean backout,
@WebParam(name="enableBridge") Boolean enableBridge,
@@ -68,7 +68,7 @@ public interface MsoVnfAdapter
@WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
@WebParam(name="requestType") @XmlElement(required=false) String requestType,
@WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
- @WebParam(name="inputs") Map<String,String> inputs,
+ @WebParam(name="inputs") Map<String,Object> inputs,
@WebParam(name="request") MsoRequest msoRequest,
@WebParam(name="outputs", mode=Mode.OUT) Holder<Map<String,String>> outputs,
@WebParam(name="rollback", mode=Mode.OUT) Holder<VnfRollback> rollback )
@@ -109,7 +109,7 @@ public interface MsoVnfAdapter
@WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
@WebParam(name="baseVfHeatStackId") @XmlElement(required=false) String baseVfHeatStackId,
@WebParam(name = "modelCustomizationUuid") @XmlElement(required = false) String modelCustomizationUuid,
- @WebParam(name="inputs") Map<String,String> inputs,
+ @WebParam(name="inputs") Map<String,Object> inputs,
@WebParam(name="failIfExists") Boolean failIfExists,
@WebParam(name="backout") Boolean backout,
@WebParam(name="enableBridge") Boolean enableBridge,
@@ -138,7 +138,7 @@ public interface MsoVnfAdapter
@WebParam(name="baseVfHeatStackId") @XmlElement(required=false) String baseVfHeatStackId,
@WebParam(name="vfModuleStackId") @XmlElement(required=false) String vfModuleStackId,
@WebParam(name = "modelCustomizationUuid") @XmlElement(required = false) String modelCustomizationUuid,
- @WebParam(name="inputs") Map<String,String> inputs,
+ @WebParam(name="inputs") Map<String,Object> inputs,
@WebParam(name="request") MsoRequest msoRequest,
@WebParam(name="outputs", mode=Mode.OUT) Holder<Map<String,String>> outputs,
@WebParam(name="rollback", mode=Mode.OUT) Holder<VnfRollback> rollback )
diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsync.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsync.java
index b67a412c3e..6f61f0292c 100644
--- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsync.java
+++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsync.java
@@ -53,7 +53,7 @@ public interface MsoVnfAdapterAsync
@WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
@WebParam(name="requestType") @XmlElement(required=false) String requestType,
@WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
- @WebParam(name="inputs") Map<String,String> inputs,
+ @WebParam(name="inputs") Map<String,Object> inputs,
@WebParam(name="failIfExists") Boolean failIfExists,
@WebParam(name="backout") Boolean backout,
@WebParam(name="enableBridge") Boolean enableBridge,
@@ -70,7 +70,7 @@ public interface MsoVnfAdapterAsync
@WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
@WebParam(name="requestType") @XmlElement(required=false) String requestType,
@WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
- @WebParam(name="inputs") Map<String,String> inputs,
+ @WebParam(name="inputs") Map<String,Object> inputs,
@WebParam(name="messageId") @XmlElement(required=true) String messageId,
@WebParam(name="request") MsoRequest msoRequest,
@WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImpl.java
index 6340f76388..2c9d3776a7 100644
--- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImpl.java
+++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImpl.java
@@ -125,7 +125,7 @@ public class MsoVnfAdapterAsyncImpl implements MsoVnfAdapterAsync {
String vnfName,
String requestType,
String volumeGroupHeatStackId,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
Boolean failIfExists,
Boolean backout,
Boolean enableBridge,
@@ -214,7 +214,7 @@ public class MsoVnfAdapterAsyncImpl implements MsoVnfAdapterAsync {
String vnfName,
String requestType,
String volumeGroupHeatStackId,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
String messageId,
MsoRequest msoRequest,
String notificationUrl) {
diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterImpl.java
index 94434cd781..96160760fd 100644
--- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterImpl.java
+++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfAdapterImpl.java
@@ -180,7 +180,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
String vnfName,
String requestType,
String volumeGroupHeatStackId,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
Boolean failIfExists,
Boolean backout,
Boolean enableBridge,
@@ -265,7 +265,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
String vnfName,
String requestType,
String volumeGroupHeatStackId,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
MsoRequest msoRequest,
Holder <Map <String, String>> outputs,
Holder <VnfRollback> rollback) throws VnfException {
@@ -474,7 +474,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
return stringOutputs;
}
- private Map <String, Object> copyStringInputs (Map <String, String> stringInputs) {
+ private Map <String, Object> copyStringInputs (Map <String, Object> stringInputs) {
return new HashMap <> (stringInputs);
}
@@ -579,7 +579,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
String volumeGroupHeatStackId,
String baseVfHeatStackId,
String modelCustomizationUuid,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
Boolean failIfExists,
Boolean backout,
Boolean enableBridge,
@@ -1343,7 +1343,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
String baseVfHeatStackId,
String vfModuleStackId,
String modelCustomizationUuid,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
MsoRequest msoRequest,
Holder <Map <String, String>> outputs,
Holder <VnfRollback> rollback) throws VnfException {
@@ -1794,8 +1794,8 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
hasJson = true;
String jsonString = null;
try {
- jsonString = inputs.get(parm.getParamName());
- jsonNode = new ObjectMapper().readTree(jsonString);
+ jsonString = JSON_MAPPER.writeValueAsString(inputs.get(parm.getParamName()));
+ jsonNode = JSON_MAPPER.readTree(jsonString);
} catch (JsonParseException jpe) {
//TODO - what to do here?
//for now - send the error to debug, but just leave it as a String
@@ -1816,8 +1816,8 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
hasJson = true;
String jsonString = null;
try {
- jsonString = inputs.get(parm.getParamAlias());
- jsonNode = new ObjectMapper().readTree(jsonString);
+ jsonString = (String)inputs.get(parm.getParamAlias());
+ jsonNode = JSON_MAPPER.readTree(jsonString);
} catch (JsonParseException jpe) {
//TODO - what to do here?
//for now - send the error to debug, but just leave it as a String
@@ -1847,7 +1847,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
// They've submitted using an alias name. Remove that from inputs, and add back using real name.
String realParamName = parm.getParamName ();
String alias = parm.getParamAlias ();
- String value = inputs.get (alias);
+ Object value = inputs.get (alias);
LOGGER.debug ("*Found an Alias: paramName=" + realParamName
+ ",alias="
+ alias
@@ -1911,9 +1911,9 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
Map<String, Object> inputsTwo = null;
if (hasJson && jsonParams.size() > 0) {
inputsTwo = new HashMap<>();
- for (Map.Entry<String, String> entry : inputs.entrySet()) {
+ for (Map.Entry<String, Object> entry : inputs.entrySet()) {
String keyParamName = entry.getKey();
- String value = entry.getValue();
+ Object value = entry.getValue();
if (jsonParams.containsKey(keyParamName)) {
inputsTwo.put(keyParamName, jsonParams.get(keyParamName));
} else {
@@ -2085,7 +2085,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
*/
private boolean valetCreateRequest(String cloudSiteId, String tenantId, Map<String, Object> heatFilesObjects, Map<String, Object> nestedTemplatesChecked,
String vfModuleName, boolean backout, HeatTemplate heatTemplate, String newEnvironmentString, Map<String, Object> goldenInputs,
- MsoRequest msoRequest, Map<String, String> inputs, boolean failRequestOnValetFailure, Holder<Map<String, Object>> valetModifiedParamsHolder) throws VnfException {
+ MsoRequest msoRequest, Map<String, Object> inputs, boolean failRequestOnValetFailure, Holder<Map<String, Object>> valetModifiedParamsHolder) throws VnfException {
boolean valetSucceeded = false;
String valetErrorMessage = "more detail not available";
try {
@@ -2095,8 +2095,8 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
HeatRequest heatRequest = new HeatRequest(vfModuleName, backout, heatTemplate.getTimeoutMinutes(),
heatTemplate.getTemplateBody(), newEnvironmentString, files, goldenInputs);
GenericValetResponse<ValetCreateResponse> createReq = this.vci.callValetCreateRequest(msoRequest.getRequestId(),
- cloudSiteId, tenantId, msoRequest.getServiceInstanceId(), inputs.get("vnf_id"),
- inputs.get("vnf_name"), inputs.get("vf_module_id"), inputs.get("vf_module_name"), keystoneUrl,
+ cloudSiteId, tenantId, msoRequest.getServiceInstanceId(), (String)inputs.get("vnf_id"),
+ (String)inputs.get("vnf_name"), (String)inputs.get("vf_module_id"), (String)inputs.get("vf_module_name"), keystoneUrl,
heatRequest);
ValetCreateResponse vcr = createReq.getReturnObject();
if (vcr != null && createReq.getStatusCode() == 200) {
@@ -2145,7 +2145,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
private boolean valetUpdateRequest(String cloudSiteId, String tenantId,
Map<String, Object> heatFilesObjects, Map<String, Object> nestedTemplatesChecked, String vfModuleName,
boolean backout, HeatTemplate heatTemplate, String newEnvironmentString,
- Map<String, Object> goldenInputs, MsoRequest msoRequest, Map<String, String> inputs,
+ Map<String, Object> goldenInputs, MsoRequest msoRequest, Map<String, Object> inputs,
boolean failRequestOnValetFailure, Holder<Map<String, Object>> valetModifiedParamsHolder) throws VnfException {
boolean valetSucceeded = false;
@@ -2158,8 +2158,8 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter {
heatTemplate.getTemplateBody(), newEnvironmentString, files, goldenInputs);
// vnf name is not sent to MSO on update requests - so we will set it to the vf module name for now
GenericValetResponse<ValetUpdateResponse> updateReq = this.vci.callValetUpdateRequest(msoRequest.getRequestId(),
- cloudSiteId, tenantId, msoRequest.getServiceInstanceId(), inputs.get("vnf_id"),
- vfModuleName, inputs.get("vf_module_id"), vfModuleName, keystoneUrl,
+ cloudSiteId, tenantId, msoRequest.getServiceInstanceId(), (String)inputs.get("vnf_id"),
+ vfModuleName, (String)inputs.get("vf_module_id"), vfModuleName, keystoneUrl,
heatRequest);
ValetUpdateResponse vur = updateReq.getReturnObject();
if (vur != null && updateReq.getStatusCode() == 200) {
diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java
index 00e72373dd..f34a79491e 100644
--- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java
+++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImpl.java
@@ -132,7 +132,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter {
String vnfName,
String requestType,
String volumeGroupHeatStackId,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
Boolean failIfExists,
Boolean backout,
Boolean enableBridge,
@@ -160,7 +160,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter {
String vnfName,
String requestType,
String volumeGroupHeatStackId,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
MsoRequest msoRequest,
Holder <Map <String, String>> outputs,
Holder <VnfRollback> rollback)
@@ -428,7 +428,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter {
return;
}
- private void sendMapToDebug(Map<String, String> inputs) {
+ private void sendMapToDebug(Map<String, Object> inputs) {
int i = 0;
StringBuilder sb = new StringBuilder("inputs:");
if (inputs == null) {
@@ -567,7 +567,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter {
String volumeGroupId,
String baseVfModuleId,
String modelCustomizationUuid,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
Boolean failIfExists,
Boolean backout,
Boolean enableBridge,
@@ -605,7 +605,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter {
if (inputs == null) {
// Create an empty set of inputs
- inputs = new HashMap<String,String>();
+ inputs = new HashMap<>();
LOGGER.debug("inputs == null - setting to empty");
} else {
this.sendMapToDebug(inputs);
@@ -1212,7 +1212,7 @@ public class MsoVnfCloudifyAdapterImpl implements MsoVnfAdapter {
String baseVfHeatStackId,
String vfModuleStackId,
String modelCustomizationUuid,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
MsoRequest msoRequest,
Holder <Map <String, String>> outputs,
Holder <VnfRollback> rollback) throws VnfException
diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java
index 09ee0cde04..13212be74a 100644
--- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java
+++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java
@@ -155,7 +155,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter {
String vnfName,
String requestType,
String volumeGroupHeatStackId,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
Boolean failIfExists,
Boolean backout,
Boolean enableBridge,
@@ -183,7 +183,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter {
String vnfName,
String requestType,
String volumeGroupHeatStackId,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
MsoRequest msoRequest,
Holder <Map <String, String>> outputs,
Holder <VnfRollback> rollback)
@@ -379,14 +379,14 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter {
* Normalize an input value to an Object, based on the target parameter type.
* If the type is not recognized, it will just be returned unchanged (as a string).
*/
- private Object convertInputValue (String inputValue, HeatTemplateParam templateParam)
+ private Object convertInputValue (Object inputValue, HeatTemplateParam templateParam)
{
String type = templateParam.getParamType();
LOGGER.debug("Parameter: " + templateParam.getParamName() + " is of type " + type);
if (type.equalsIgnoreCase("number")) {
try {
- return Integer.valueOf(inputValue);
+ return Integer.valueOf(inputValue.toString());
}
catch (Exception e) {
LOGGER.debug("Unable to convert " + inputValue + " to an integer!" , e);
@@ -394,7 +394,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter {
}
} else if (type.equalsIgnoreCase("json")) {
try {
- JsonNode jsonNode = new ObjectMapper().readTree(inputValue);
+ JsonNode jsonNode = JSON_MAPPER.readTree(JSON_MAPPER.writeValueAsString(inputValue));
return jsonNode;
}
catch (Exception e) {
@@ -402,7 +402,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter {
return null;
}
} else if (type.equalsIgnoreCase("boolean")) {
- return new Boolean(inputValue);
+ return new Boolean(inputValue.toString());
}
// Nothing else matched. Return the original string
@@ -471,7 +471,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter {
return;
}
- private void sendMapToDebug(Map<String, String> inputs) {
+ private void sendMapToDebug(Map<String, Object> inputs) {
int i = 0;
StringBuilder sb = new StringBuilder("inputs:");
if (inputs == null) {
@@ -608,7 +608,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter {
String volumeGroupId,
String baseVfModuleId,
String modelCustomizationUuid,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
Boolean failIfExists,
Boolean backout,
Boolean enableBridge,
@@ -1212,7 +1212,7 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter {
String baseVfHeatStackId,
String vfModuleStackId,
String modelCustomizationUuid,
- Map <String, String> inputs,
+ Map <String, Object> inputs,
MsoRequest msoRequest,
Holder <Map <String, String>> outputs,
Holder <VnfRollback> rollback) throws VnfException
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImplTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImplTest.java
index 4f1c2c8707..3ebaea9c2c 100644
--- a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImplTest.java
+++ b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterAsyncImplTest.java
@@ -76,7 +76,7 @@ public class MsoVnfAdapterAsyncImplTest extends BaseRestTestUtils {
String vnfName = "DEV-VF-1802-it3-pwt3-v6-vSAMP10a-addon2-Replace-1001/stackId";
String notificationUrl = "http://localhost:"+wireMockPort+"/notify/adapterNotify/updateVnfNotificationRequest";
instance.createVnfA("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", vnfName, "VFMOD",
- "volumeGroupHeatStackId|1", new HashMap<String, String>(), Boolean.FALSE, Boolean.TRUE, Boolean.FALSE, "messageId",
+ "volumeGroupHeatStackId|1", new HashMap<String, Object>(), Boolean.FALSE, Boolean.TRUE, Boolean.FALSE, "messageId",
msoRequest, notificationUrl);
verify(1,postRequestedFor(urlEqualTo("/notify/adapterNotify/updateVnfNotificationRequest")));
@@ -86,7 +86,7 @@ public class MsoVnfAdapterAsyncImplTest extends BaseRestTestUtils {
public void createVNFTest_Exception() throws Exception {
String notificationUrl = "http://localhost:"+wireMockPort+"/notify/adapterNotify/updateVnfNotificationRequest";
instance.createVnfA("mdt1", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "vSAMP12", "VFMOD",
- "volumeGroupHeatStackId|1", new HashMap<String, String>(), Boolean.FALSE, Boolean.TRUE, Boolean.FALSE, "messageId",
+ "volumeGroupHeatStackId|1", new HashMap<String, Object>(), Boolean.FALSE, Boolean.TRUE, Boolean.FALSE, "messageId",
null, notificationUrl);
verify(1,postRequestedFor(urlEqualTo("/notify/adapterNotify/updateVnfNotificationRequest")));
@@ -99,7 +99,7 @@ public class MsoVnfAdapterAsyncImplTest extends BaseRestTestUtils {
msoRequest.setRequestId("12345");
msoRequest.setServiceInstanceId("12345");
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
stubFor(post(urlPathEqualTo("/notify/adapterNotify/updateVnfNotificationRequest")).withRequestBody
(containing("messageId"))
@@ -116,7 +116,7 @@ public class MsoVnfAdapterAsyncImplTest extends BaseRestTestUtils {
msoRequest.setRequestId("12345");
msoRequest.setServiceInstanceId("12345");
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
stubFor(post(urlPathEqualTo("/notify/adapterNotify/updateVnfNotificationRequest")).withRequestBody
(containing("messageId"))
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterImplTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterImplTest.java
index 849c0811b0..be3b54e23f 100644
--- a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterImplTest.java
+++ b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfAdapterImplTest.java
@@ -104,7 +104,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("MTN13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -124,7 +124,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -144,7 +144,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -164,7 +164,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -181,7 +181,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -195,7 +195,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
expectedException.expect(VnfException.class);
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -211,7 +211,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -230,7 +230,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -250,7 +250,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -268,7 +268,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -300,7 +300,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -337,7 +337,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "XVFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", null, map,
@@ -355,7 +355,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -375,7 +375,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
expectedException.expect(VnfException.class);
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.updateVfModule("mdt1", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "vSAMP12", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "vfModuleStackId",
@@ -388,7 +388,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
expectedException.expect(VnfNotFound.class);
MsoRequest msoRequest = getMsoRequest();
mockOpenStackResponseAccess(wireMockPort);
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.updateVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", vnfName, "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "vfModuleStackId",
@@ -405,7 +405,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
stubFor(get(urlPathEqualTo("/mockPublicUrl/stacks/volumeGroupHeatStackId"))
.willReturn(aResponse().withHeader("Content-Type", "application/json")
.withStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR)));
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.updateVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", vnfName, "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "vfModuleStackId",
@@ -422,7 +422,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
stubFor(get(urlPathEqualTo("/mockPublicUrl/stacks/volumeGroupHeatStackId"))
.willReturn(aResponse().withHeader("Content-Type", "application/json")
.withStatus(HttpStatus.SC_NOT_FOUND)));
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.updateVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", vnfName, "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "vfModuleStackId",
@@ -438,7 +438,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
mockOpenStackGetStackVfModule_200();
mockOpenstackGetWithResponse("/mockPublicUrl/stacks/volumeGroupHeatStackId",HttpStatus.SC_OK,"OpenstackResponse_Stack_Created_VfModule.json");
mockOpenstackGetWithResponse("/mockPublicUrl/stacks/baseVfHeatStackId",HttpStatus.SC_INTERNAL_SERVER_ERROR,"OpenstackResponse_Stack_Created_VfModule.json");
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.updateVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", vnfName, "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "vfModuleStackId",
@@ -454,7 +454,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
mockOpenStackGetStackVfModule_200();
mockOpenstackGetWithResponse("/mockPublicUrl/stacks/volumeGroupHeatStackId",HttpStatus.SC_OK,"OpenstackResponse_Stack_Created_VfModule.json");
mockOpenstackGetWithResponse("/mockPublicUrl/stacks/baseVfHeatStackId",HttpStatus.SC_NOT_FOUND,"OpenstackResponse_Stack_Created_VfModule.json");
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.updateVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", vnfName, "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "vfModuleStackId",
@@ -470,7 +470,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
mockOpenStackGetStackVfModule_200();
mockOpenstackGetWithResponse("/mockPublicUrl/stacks/volumeGroupHeatStackId",HttpStatus.SC_OK,"OpenstackResponse_Stack_Created_VfModule.json");
mockOpenstackGetWithResponse("/mockPublicUrl/stacks/baseVfHeatStackId",HttpStatus.SC_OK,"OpenstackResponse_Stack_Created_VfModule.json");
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.updateVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", vnfName, "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "vfModuleStackId",
@@ -489,7 +489,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
VfModuleCustomization vfModuleCustomization = getVfModuleCustomization();
vfModuleCustomization.getVfModule().getModuleHeatTemplate().setParameters(new HashSet<>());
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.updateVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", vnfName, "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "vfModuleStackId",
@@ -509,7 +509,7 @@ public class MsoVnfAdapterImplTest extends BaseRestTestUtils {
VfModuleCustomization vfModuleCustomization = getVfModuleCustomization();
vfModuleCustomization.getVfModule().getModuleHeatTemplate().setParameters(new HashSet<>());
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
instance.updateVfModule("MTN13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", vnfName, "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "vfModuleStackId",
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImplTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImplTest.java
index addc12a5d3..44843900fc 100644
--- a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImplTest.java
+++ b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfCloudifyAdapterImplTest.java
@@ -265,7 +265,7 @@ public class MsoVnfCloudifyAdapterImplTest extends BaseRestTestUtils {
msoRequest.setRequestId("12345");
msoRequest.setServiceInstanceId("12345");
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
try {
instance.createVnf("mdt1", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "vSAMP12", "VFMOD",
@@ -282,7 +282,7 @@ public class MsoVnfCloudifyAdapterImplTest extends BaseRestTestUtils {
msoRequest.setRequestId("12345");
msoRequest.setServiceInstanceId("12345");
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
try {
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java
index 1fd3ffc90a..75cea9eafc 100644
--- a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java
+++ b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java
@@ -66,7 +66,7 @@ public class MsoVnfMulticloudAdapterImplTest extends BaseRestTestUtils{
@Test
public void createVfModule() throws Exception {
//expectedException.expect(VnfException.class);
- Map<String, String> stackInputs = new HashMap<>();
+ Map<String, Object> stackInputs = new HashMap<>();
stackInputs.put("oof_directives", "{}");
stackInputs.put("sdnc_directives", "{}");
stackInputs.put("generic_vnf_id", "genVNFID");
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImplTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImplTest.java
index a422680d00..0cd3d1a61d 100644
--- a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImplTest.java
+++ b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImplTest.java
@@ -56,7 +56,7 @@ public class MsoVnfPluginAdapterImplTest extends BaseRestTestUtils {
public void createVfModule_ModelCustUuidIsNull() throws Exception {
expectedException.expect(VnfException.class);
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
msoVnfPluginAdapter.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", null, map,
@@ -68,7 +68,7 @@ public class MsoVnfPluginAdapterImplTest extends BaseRestTestUtils {
public void createVfModule_ModelCustUuidIsNotFound() throws Exception {
expectedException.expect(VnfException.class);
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
msoVnfPluginAdapter.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "88a6ca3ee0394ade9403f075db23167e", map,
@@ -80,7 +80,7 @@ public class MsoVnfPluginAdapterImplTest extends BaseRestTestUtils {
public void createVfModule_VduException() throws Exception {
expectedException.expect(VnfException.class);
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
msoVnfPluginAdapter.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "9b339a61-69ca-465f-86b8-1c72c582b8e8", map,
@@ -94,7 +94,7 @@ public class MsoVnfPluginAdapterImplTest extends BaseRestTestUtils {
mockOpenStackGetStackVfModule_200();
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
msoVnfPluginAdapter.createVfModule("MTN13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
null, "baseVfHeatStackId", "9b339a61-69ca-465f-86b8-1c72c582b8e8", map,
@@ -107,7 +107,7 @@ public class MsoVnfPluginAdapterImplTest extends BaseRestTestUtils {
expectedException.expect(VnfException.class);
mockOpenStackResponseAccess(wireMockPort);
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
msoVnfPluginAdapter.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId|1", "baseVfHeatStackId", "9b339a61-69ca-465f-86b8-1c72c582b8e8", map,
@@ -125,7 +125,7 @@ public class MsoVnfPluginAdapterImplTest extends BaseRestTestUtils {
.withBodyFile("OpenstackResponse_Stack_Created_VfModule.json")
.withStatus(HttpStatus.SC_OK)));
MsoRequest msoRequest = getMsoRequest();
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
msoVnfPluginAdapter.createVfModule("mtn13", "88a6ca3ee0394ade9403f075db23167e", "vnf", "1", "", vnfName, "", "VFMOD",
"volumeGroupHeatStackId", "baseVfHeatStackId", "9b339a61-69ca-465f-86b8-1c72c582b8e8", map,
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VnfAdapterRestTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VnfAdapterRestTest.java
index c502620920..343b6245e6 100644
--- a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VnfAdapterRestTest.java
+++ b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VnfAdapterRestTest.java
@@ -169,7 +169,7 @@ public class VnfAdapterRestTest extends BaseRestTestUtils {
MsoRequest msoReq = new MsoRequest();
boolean failIfExists = true;
Boolean enableBridge = null;
- Map<String, String> vfModuleParams = new HashMap<String, String>();
+ Map<String, Object> vfModuleParams = new HashMap<>();
vfModuleParams.put("vf_module_id", VF_MODULE_ID);
@@ -236,7 +236,7 @@ public class VnfAdapterRestTest extends BaseRestTestUtils {
MsoRequest msoReq = new MsoRequest();
boolean failIfExists = true;
boolean enableBridge = false;
- Map<String, String> vfModuleParams = new HashMap<String, String>();
+ Map<String, Object> vfModuleParams = new HashMap<>();
vfModuleParams.put("vf_module_id", VF_MODULE_ID);
vfModuleParams.put("vnf_id", AAI_VNF_ID);
@@ -385,7 +385,7 @@ public class VnfAdapterRestTest extends BaseRestTestUtils {
msoRequest.setRequestId(MSO_REQUEST_ID);
msoRequest.setServiceInstanceId(MSO_SERVICE_INSTANCE_ID);
- Map<String, String> vfModuleParams = new HashMap<String, String>();
+ Map<String, Object> vfModuleParams = new HashMap<>();
vfModuleParams.put("exn_direct_net_fqdn", EXN_DIRECT_NET_FQDN);
vfModuleParams.put("exn_hsl_net_fqdn", EXN_HSL_NET_FQDN);
@@ -511,7 +511,7 @@ public class VnfAdapterRestTest extends BaseRestTestUtils {
MsoRequest msoReq = new MsoRequest();
boolean failIfExists = true;
boolean enableBridge = false;
- Map<String, String> vfModuleParams = new HashMap<String, String>();
+ Map<String, Object> vfModuleParams = new HashMap<>();
vfModuleParams.put("vf_module_id", VF_MODULE_ID);
vfModuleParams.put("vnf_id", AAI_VNF_ID);
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VolumeGroupAdapterCommon.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VolumeGroupAdapterCommon.java
index 68982799f1..d0d06aed6c 100644
--- a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VolumeGroupAdapterCommon.java
+++ b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/VolumeGroupAdapterCommon.java
@@ -56,7 +56,7 @@ public class VolumeGroupAdapterCommon extends BaseRestTestUtils {
request.setModelCustomizationUuid(MODEL_CUSTOMIZATION_UUID);
request.setSkipAAI(true);
request.setVolumeGroupStackId(VOUME_GROUP_NAME);
- Map<String, String> volumeGroupParams = getVolumeGroupParamsMap();
+ Map<String, Object> volumeGroupParams = getVolumeGroupParamsMap();
request.setVolumeGroupParams(volumeGroupParams);
MsoRequest msoReq = getMsoRequest();
request.setMsoRequest(msoReq);
@@ -104,7 +104,7 @@ public class VolumeGroupAdapterCommon extends BaseRestTestUtils {
request.setFailIfExists(true);
request.setEnableBridge(false);
request.setSuppressBackout(true);
- Map<String, String> volumeGroupParams = getVolumeGroupParamsMap();
+ Map<String, Object> volumeGroupParams = getVolumeGroupParamsMap();
request.setVolumeGroupParams(volumeGroupParams);
MsoRequest msoReq = getMsoRequest();
request.setMsoRequest(msoReq);
@@ -112,8 +112,8 @@ public class VolumeGroupAdapterCommon extends BaseRestTestUtils {
return request;
}
- private Map<String, String> getVolumeGroupParamsMap() {
- Map<String, String> volumeGroupParams = new HashMap<>();
+ private Map<String, Object> getVolumeGroupParamsMap() {
+ Map<String, Object> volumeGroupParams = new HashMap<>();
volumeGroupParams.put("fsb_volume_type_0","volume_type");
volumeGroupParams.put("fsb_volume_image_name_1","vol_img_1");
volumeGroupParams.put("fsb_volume_image_name_0","vol_img_0");
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/generalobjects/RequestContext.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/generalobjects/RequestContext.java
index d37c8d13f3..cd66e512a5 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/generalobjects/RequestContext.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/generalobjects/RequestContext.java
@@ -43,7 +43,7 @@ public class RequestContext implements Serializable{
@JsonProperty("subscription-service-type")
private String subscriptionServiceType;
@JsonProperty("user-params")
- private HashMap<String, String> userParams;
+ private Map<String, Object> userParams = new HashMap<>();
@JsonProperty("action")
private String action;
@JsonProperty("callback-url")
@@ -87,10 +87,10 @@ public class RequestContext implements Serializable{
public void setSubscriptionServiceType(String subscriptionServiceType) {
this.subscriptionServiceType = subscriptionServiceType;
}
- public HashMap<String, String> getUserParams() {
+ public Map<String, Object> getUserParams() {
return userParams;
}
- public void setUserParams(HashMap<String, String> userParams) {
+ public void setUserParams(Map<String, Object> userParams) {
this.userParams = userParams;
}
public String getAction() {
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 d6597ecb1a..81a504da4a 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
@@ -355,8 +355,8 @@ public class BBInputSetupMapperLayer {
return requestParams;
}
- protected HashMap<String,String> mapNameValueUserParams(org.onap.so.serviceinstancebeans.RequestParameters requestParameters) {
- HashMap<String,String> userParamsResult = new HashMap<String,String>();
+ protected Map<String,Object> mapNameValueUserParams(org.onap.so.serviceinstancebeans.RequestParameters requestParameters) {
+ Map<String,Object> userParamsResult = new HashMap<String,Object>();
if (requestParameters.getUserParams() != null) {
List<Map<String, Object>> userParams = requestParameters.getUserParams();
for (Map<String, Object> userParamsMap : userParams) {
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 7e76e52959..753a354d95 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
@@ -643,7 +643,7 @@ public class BBInputSetupMapperLayerTest {
@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());
+ Map<String,Object> actual = bbInputSetupMapperLayer.mapNameValueUserParams(requestDetails.getRequestParameters());
assertTrue(actual.containsKey("name1"));
assertTrue(actual.containsValue("value1"));
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/UpdateNetworkBB.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/UpdateNetworkBB.bpmn
index 1cfb9a3860..1235469b42 100644
--- a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/UpdateNetworkBB.bpmn
+++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/UpdateNetworkBB.bpmn
@@ -1,19 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.7.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
<bpmn2:process id="UpdateNetworkBB" name="UpdateNetworkBB" isExecutable="true">
<bpmn2:startEvent id="UpdateNetworkBB_Start" name="Start">
<bpmn2:outgoing>SequenceFlow_074w2et</bpmn2:outgoing>
</bpmn2:startEvent>
<bpmn2:serviceTask id="SDNCChangeAssignNetwork" name="SDNC ChangeAssign Network" camunda:expression="${SDNCChangeAssignTasks.changeAssignNetwork(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
<bpmn2:incoming>SequenceFlow_074w2et</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_04yezm3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0rvstwt</bpmn2:outgoing>
</bpmn2:serviceTask>
<bpmn2:sequenceFlow id="SequenceFlow_074w2et" sourceRef="UpdateNetworkBB_Start" targetRef="SDNCChangeAssignNetwork" />
<bpmn2:intermediateThrowEvent id="SDNC_End" name="To AAI">
- <bpmn2:incoming>SequenceFlow_04yezm3</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1eacnem</bpmn2:incoming>
<bpmn2:linkEventDefinition name="SDNC_to_AAI" />
</bpmn2:intermediateThrowEvent>
- <bpmn2:sequenceFlow id="SequenceFlow_04yezm3" sourceRef="SDNCChangeAssignNetwork" targetRef="SDNC_End" />
<bpmn2:intermediateCatchEvent id="AAI_Start" name="To AAI">
<bpmn2:outgoing>SequenceFlow_1trqq6d</bpmn2:outgoing>
<bpmn2:linkEventDefinition name="SDNC_to_AAI" />
@@ -38,24 +37,51 @@
<bpmn2:linkEventDefinition name="AAI_to_AIC" />
</bpmn2:intermediateThrowEvent>
<bpmn2:sequenceFlow id="SequenceFlow_00xbxe7" sourceRef="QueryNetworkTableRefAAI" targetRef="AAI_End" />
- <bpmn2:intermediateCatchEvent id="AIC_Start" name="To AIC">
- <bpmn2:outgoing>SequenceFlow_196cgux</bpmn2:outgoing>
+ <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0y5f10a" name="To AIC">
+ <bpmn2:outgoing>SequenceFlow_0qrtpcy</bpmn2:outgoing>
<bpmn2:linkEventDefinition name="AAI_to_AIC" />
</bpmn2:intermediateCatchEvent>
- <bpmn2:sequenceFlow id="SequenceFlow_196cgux" sourceRef="AIC_Start" targetRef="UpdateNetworkAdapter" />
- <bpmn2:serviceTask id="UpdateNetworkAdapter" name="Update Network (Network Adapter)" camunda:expression="${NetworkAdapterUpdateTasks.updateNetwork(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
- <bpmn2:incoming>SequenceFlow_196cgux</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0hsvgje</bpmn2:outgoing>
- </bpmn2:serviceTask>
- <bpmn2:sequenceFlow id="SequenceFlow_0hsvgje" sourceRef="UpdateNetworkAdapter" targetRef="UpdateNetworkAAI" />
- <bpmn2:serviceTask id="UpdateNetworkAAI" name="Update Network (AAI)" camunda:expression="${AAIUpdateTasks.updateObjectNetwork(execution.getVariable(&#34;&#34;))}">
- <bpmn2:incoming>SequenceFlow_0hsvgje</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0fhfitm</bpmn2:outgoing>
+ <bpmn2:serviceTask id="Update_Network_AAI_ServiceTask" name="Update Network (AAI)" camunda:expression="${AAIUpdateTasks.updateNetworkUpdated(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+ <bpmn2:incoming>SequenceFlow_001ursg</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_06ei0em</bpmn2:outgoing>
</bpmn2:serviceTask>
<bpmn2:endEvent id="UpdateNetworkBB_End" name="End">
- <bpmn2:incoming>SequenceFlow_0fhfitm</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_06ei0em</bpmn2:incoming>
</bpmn2:endEvent>
- <bpmn2:sequenceFlow id="SequenceFlow_0fhfitm" sourceRef="UpdateNetworkAAI" targetRef="UpdateNetworkBB_End" />
+ <bpmn2:callActivity id="CallActivity_NetworkAdapterRestV1" name="Call NetworkAdapterRestV1" calledElement="NetworkAdapterRestV1">
+ <bpmn2:extensionElements>
+ <camunda:in source="networkAdapterRequest" target="networkAdapterRequest" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:out source="updateNetworkResponse" target="updateNetworkResponse" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_07hq1eg</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_183ph5i</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:serviceTask id="ServiceTask_ProcessResponse" name="Process Response From Openstack" camunda:expression="${NetworkAdapterUpdateTasks.processResponseFromOpenstack(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+ <bpmn2:incoming>SequenceFlow_183ph5i</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_001ursg</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ <bpmn2:serviceTask id="Create_Network_ServiceTask" name="&#10;AIC&#10;Update&#10;(network)&#10;" camunda:expression="${NetworkAdapterUpdateTasks.updateNetwork(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+ <bpmn2:incoming>SequenceFlow_0qrtpcy</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_07hq1eg</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0qrtpcy" sourceRef="IntermediateCatchEvent_0y5f10a" targetRef="Create_Network_ServiceTask" />
+ <bpmn2:sequenceFlow id="SequenceFlow_001ursg" sourceRef="ServiceTask_ProcessResponse" targetRef="Update_Network_AAI_ServiceTask" />
+ <bpmn2:sequenceFlow id="SequenceFlow_06ei0em" sourceRef="Update_Network_AAI_ServiceTask" targetRef="UpdateNetworkBB_End" />
+ <bpmn2:sequenceFlow id="SequenceFlow_07hq1eg" sourceRef="Create_Network_ServiceTask" targetRef="CallActivity_NetworkAdapterRestV1" />
+ <bpmn2:sequenceFlow id="SequenceFlow_183ph5i" sourceRef="CallActivity_NetworkAdapterRestV1" targetRef="ServiceTask_ProcessResponse" />
+ <bpmn2:callActivity id="CallActivity_sdncHandlerCallChangeAssign" name="SDNC Change Assign (network)" calledElement="SDNCHandler">
+ <bpmn2:extensionElements>
+ <camunda:in source="SDNCRequest" target="SDNCRequest" />
+ <camunda:out source="SDNCResponse" target="SDNCResponse" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0rvstwt</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1eacnem</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_0rvstwt" sourceRef="SDNCChangeAssignNetwork" targetRef="CallActivity_sdncHandlerCallChangeAssign" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1eacnem" sourceRef="CallActivity_sdncHandlerCallChangeAssign" targetRef="SDNC_End" />
</bpmn2:process>
<bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
<bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
@@ -79,18 +105,11 @@
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_0pce3rm_di" bpmnElement="SDNC_End">
- <dc:Bounds x="487" y="77" width="36" height="36" />
+ <dc:Bounds x="665" y="77" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="490" y="117" width="33" height="12" />
+ <dc:Bounds x="669" y="117" width="32" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_04yezm3_di" bpmnElement="SequenceFlow_04yezm3">
- <di:waypoint xsi:type="dc:Point" x="378" y="95" />
- <di:waypoint xsi:type="dc:Point" x="487" y="95" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="432.5" y="74" width="0" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateCatchEvent_1hbb3j8_di" bpmnElement="AAI_Start">
<dc:Bounds x="144" y="215" width="36" height="36" />
<bpmndi:BPMNLabel>
@@ -140,43 +159,82 @@
<dc:Bounds x="755" y="212" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="IntermediateCatchEvent_0sx0nb6_di" bpmnElement="AIC_Start">
- <dc:Bounds x="144" y="332" width="36" height="36" />
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0y5f10a_di" bpmnElement="IntermediateCatchEvent_0y5f10a">
+ <dc:Bounds x="144" y="384" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="146" y="372" width="34" height="12" />
+ <dc:Bounds x="147" y="424" width="33" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_196cgux_di" bpmnElement="SequenceFlow_196cgux">
- <di:waypoint xsi:type="dc:Point" x="180" y="350" />
- <di:waypoint xsi:type="dc:Point" x="248" y="350" />
+ <bpmndi:BPMNShape id="ServiceTask_1ltcf7v_di" bpmnElement="Update_Network_AAI_ServiceTask">
+ <dc:Bounds x="806" y="362" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_1nhzcte_di" bpmnElement="UpdateNetworkBB_End">
+ <dc:Bounds x="983" y="384" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="169" y="329" width="90" height="12" />
+ <dc:Bounds x="992" y="424" width="19" height="12" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ServiceTask_0i66n9g_di" bpmnElement="UpdateNetworkAdapter">
- <dc:Bounds x="248" y="310" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_0hsvgje_di" bpmnElement="SequenceFlow_0hsvgje">
- <di:waypoint xsi:type="dc:Point" x="348" y="350" />
- <di:waypoint xsi:type="dc:Point" x="422" y="350" />
+ <bpmndi:BPMNShape id="CallActivity_1jpfzuh_di" bpmnElement="CallActivity_NetworkAdapterRestV1">
+ <dc:Bounds x="445" y="362" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_1kgckv9_di" bpmnElement="ServiceTask_ProcessResponse">
+ <dc:Bounds x="625" y="362" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_03ywm5v_di" bpmnElement="Create_Network_ServiceTask">
+ <dc:Bounds x="278" y="362" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0qrtpcy_di" bpmnElement="SequenceFlow_0qrtpcy">
+ <di:waypoint xsi:type="dc:Point" x="180" y="402" />
+ <di:waypoint xsi:type="dc:Point" x="229" y="402" />
+ <di:waypoint xsi:type="dc:Point" x="229" y="402" />
+ <di:waypoint xsi:type="dc:Point" x="278" y="402" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="340" y="329" width="90" height="12" />
+ <dc:Bounds x="199" y="396" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ServiceTask_1ydm5u9_di" bpmnElement="UpdateNetworkAAI">
- <dc:Bounds x="422" y="310" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="EndEvent_0fsts2w_di" bpmnElement="UpdateNetworkBB_End">
- <dc:Bounds x="637" y="332" width="36" height="36" />
+ <bpmndi:BPMNEdge id="SequenceFlow_001ursg_di" bpmnElement="SequenceFlow_001ursg">
+ <di:waypoint xsi:type="dc:Point" x="725" y="402" />
+ <di:waypoint xsi:type="dc:Point" x="806" y="402" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="646" y="372" width="19" height="12" />
+ <dc:Bounds x="720.5" y="381" width="0" height="12" />
</bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_06ei0em_di" bpmnElement="SequenceFlow_06ei0em">
+ <di:waypoint xsi:type="dc:Point" x="906" y="402" />
+ <di:waypoint xsi:type="dc:Point" x="983" y="402" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="899.5" y="381" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_07hq1eg_di" bpmnElement="SequenceFlow_07hq1eg">
+ <di:waypoint xsi:type="dc:Point" x="378" y="402" />
+ <di:waypoint xsi:type="dc:Point" x="445" y="402" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="411.5" y="381" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_183ph5i_di" bpmnElement="SequenceFlow_183ph5i">
+ <di:waypoint xsi:type="dc:Point" x="545" y="402" />
+ <di:waypoint xsi:type="dc:Point" x="625" y="402" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="585" y="381" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1da6ys0_di" bpmnElement="CallActivity_sdncHandlerCallChangeAssign">
+ <dc:Bounds x="455" y="55" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_0fhfitm_di" bpmnElement="SequenceFlow_0fhfitm">
- <di:waypoint xsi:type="dc:Point" x="522" y="350" />
- <di:waypoint xsi:type="dc:Point" x="637" y="350" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0rvstwt_di" bpmnElement="SequenceFlow_0rvstwt">
+ <di:waypoint xsi:type="dc:Point" x="378" y="95" />
+ <di:waypoint xsi:type="dc:Point" x="455" y="95" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="416.5" y="74" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1eacnem_di" bpmnElement="SequenceFlow_1eacnem">
+ <di:waypoint xsi:type="dc:Point" x="555" y="95" />
+ <di:waypoint xsi:type="dc:Point" x="665" y="95" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="535" y="329" width="90" height="12" />
+ <dc:Bounds x="610" y="74" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
diff --git a/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/UpdateNetworkBBTest.java b/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/UpdateNetworkBBTest.java
index 98e049f440..1bb065ae06 100644
--- a/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/UpdateNetworkBBTest.java
+++ b/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/UpdateNetworkBBTest.java
@@ -33,22 +33,24 @@ import org.onap.so.bpmn.common.BuildingBlockExecution;
public class UpdateNetworkBBTest extends BaseBPMNTest {
@Test
public void updateNetworkBBTest() throws InterruptedException {
+ mockSubprocess("SDNCHandler", "My Mock Process Name", "GenericStub");
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("UpdateNetworkBB", variables);
assertThat(processInstance).isNotNull();
assertThat(processInstance).isStarted().hasPassedInOrder(
- "UpdateNetworkBB_Start", "SDNCChangeAssignNetwork",
+ "UpdateNetworkBB_Start", "SDNCChangeAssignNetwork", "CallActivity_sdncHandlerCallChangeAssign",
"QueryVpnBindingAAI", "QueryNetworkPolicyAAI", "QueryNetworkTableRefAAI",
- "UpdateNetworkAdapter", "UpdateNetworkAAI", "UpdateNetworkBB_End");
+ "Create_Network_ServiceTask", "CallActivity_NetworkAdapterRestV1", "ServiceTask_ProcessResponse", "Update_Network_AAI_ServiceTask", "UpdateNetworkBB_End");
assertThat(processInstance).isEnded();
}
@Test
public void updateNetworkBBExceptionTest() throws Exception {
+ mockSubprocess("SDNCHandler", "My Mock Process Name", "GenericStub");
doThrow(new BpmnError("7000", "TESTING ERRORS")).when(aaiQueryTasks).queryNetworkVpnBinding(any(BuildingBlockExecution.class));
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("UpdateNetworkBB", variables);
assertThat(processInstance).isStarted().hasPassedInOrder(
- "UpdateNetworkBB_Start", "SDNCChangeAssignNetwork",
+ "UpdateNetworkBB_Start", "SDNCChangeAssignNetwork", "CallActivity_sdncHandlerCallChangeAssign",
"QueryVpnBindingAAI")
.hasNotPassed("QueryNetworkPolicyAAI", "QueryNetworkTableRefAAI",
"UpdateNetworkAdapter", "UpdateNetworkAAI", "UpdateNetworkBB_End");
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/VnfCmBase.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/VnfCmBase.groovy
index 4237a8d6a4..32fc46a84f 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/VnfCmBase.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/VnfCmBase.groovy
@@ -264,24 +264,8 @@ public abstract class VnfCmBase extends AbstractServiceTaskProcessor {
execution.setVariable("vmIdList", vmidsArray.toString())
execution.setVariable("vserverIdList", vserveridsArray.toString())
}
- }
-
- if (cloudRegionId != null) {
- AAIUri cloudRegionUri = AAIUriFactory.createResourceUri(AAIObjectType.DEFAULT_CLOUD_REGION, cloudRegionId)
- // Check if this client region exists
- if (!client.exists(cloudRegionUri)) {
- msoLogger.debug("Cloud Region with cloudRegionId " + cloudRegionId + " does not exist in A&AI")
- exceptionUtil.buildAndThrowWorkflowException(execution, 404, "Cloud Region with cloudRegionId " + cloudRegionId + " does not exist in A&AI")
- }
-
- AAIResultWrapper aaiRWCloud = client.get(cloudRegionUri)
+ }
- Map<String, Object> resultCloud = aaiRWCloud.asMap()
-
- String aicIdentity = resultCloud.get("identity-url")
- msoLogger.debug("aicIdentity from A&AI is: " + aicIdentity)
- execution.setVariable("aicIdentity", aicIdentity)
- }
// preserve relationships if exist
Optional<Relationships> relationships = aaiRW.getRelationships()
@@ -825,7 +809,5 @@ public abstract class VnfCmBase extends AbstractServiceTaskProcessor {
}
msoLogger.trace("Exit postProcessRollback ")
}
-
-
}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/VnfInPlaceUpdate.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/VnfInPlaceUpdate.bpmn
index 3c42320302..3663badb6e 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/VnfInPlaceUpdate.bpmn
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/VnfInPlaceUpdate.bpmn
@@ -131,7 +131,7 @@ uvfm.postProcessRollback(execution)]]></bpmn2:script>
</bpmn2:startEvent>
<bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" />
<bpmn2:sequenceFlow id="SequenceFlow_3" name="no" sourceRef="ExclusiveGateway_18j1ow5" targetRef="ScriptTask_10" />
- <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0vy2zge" />
+ <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0op98k0" />
<bpmn2:scriptTask id="Task_1opcb4j" name="Query A&#38;AI for VNF" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_0y0jt4l</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_053qjfy</bpmn2:outgoing>
@@ -169,8 +169,8 @@ uvfm.setVnfInMaintFlagInAAI(execution, false)
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:scriptTask id="Task_0vy2zge" name="Check If Physical Servers Are Locked in A&#38;AI" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_179tyul</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1us5byg</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0usxnlk</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def uvfm = new VnfInPlaceUpdate()
@@ -240,7 +240,7 @@ uvfm.checkIfPserversInMaintInAAI(execution)
<bpmn2:outgoing>SequenceFlow_1c0vdki</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_11o5j55</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
- <bpmn2:sequenceFlow id="SequenceFlow_1c0vdki" name="no" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0eae8go" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1c0vdki" name="no" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0qa3yfr" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_02tj4dw" name="Error on Upgrade Software?" default="SequenceFlow_162mm0m">
<bpmn2:incoming>SequenceFlow_1uno5rs</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_162mm0m</bpmn2:outgoing>
@@ -295,13 +295,15 @@ uvfm.abortProcessing(execution)]]></bpmn2:script>
<bpmn2:outgoing>SequenceFlow_1quapjx</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_101n488</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_021ah63</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_015qhj5</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1xeh8rb</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_05gpym3" name="Skip" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ExclusiveGateway_0y82zzx">
<bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Skip"]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_19ba94v" sourceRef="Task_0eae8go" targetRef="ExclusiveGateway_19an3h2" />
<bpmn2:sequenceFlow id="SequenceFlow_1nlqlwn" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0ee7wot">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "QuiesceTraffic") ||
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Stop") ||
(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Snapshot")]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_1c022sy" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" />
@@ -371,15 +373,6 @@ uvfm.checkIfClosedLoopDisabledInAAI(execution)
<bpmn2:sequenceFlow id="SequenceFlow_0zzwdwf" sourceRef="IntermediateThrowEvent_1wdxgjm" targetRef="Task_0e313zv" />
<bpmn2:sequenceFlow id="SequenceFlow_06ajc11" name="no" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="Task_0e313zv" />
<bpmn2:sequenceFlow id="SequenceFlow_179z9vl" sourceRef="Task_0n1d5f2" targetRef="ExclusiveGateway_148eo7w" />
- <bpmn2:scriptTask id="Task_0n1d5f2" name="Set VF Is Closed Loop Disabled Flag in A&#38;AI" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0du9273</bpmn2:incoming>
- <bpmn2:incoming>SequenceFlow_032tm9y</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_179z9vl</bpmn2:outgoing>
- <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
-def uvfm = new VnfInPlaceUpdate()
-uvfm.setClosedLoopDisabledInAAI(execution, true)
-]]></bpmn2:script>
- </bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_032tm9y" sourceRef="IntermediateThrowEvent_1552q1o" targetRef="Task_0n1d5f2" />
<bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1552q1o" name="To set Closed Loop Disabled">
<bpmn2:outgoing>SequenceFlow_032tm9y</bpmn2:outgoing>
@@ -434,7 +427,7 @@ uvfm.setClosedLoopDisabledInAAI(execution, true)
<bpmn2:outgoing>SequenceFlow_1fuaq5k</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_04gth9f</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
- <bpmn2:sequenceFlow id="SequenceFlow_1fuaq5k" name="no" sourceRef="ExclusiveGateway_19an3h2" targetRef="Task_1mdr1nd" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1fuaq5k" name="no" sourceRef="ExclusiveGateway_19an3h2" targetRef="Task_1j68pc1" />
<bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0a1s69h" name="To SnapShot">
<bpmn2:outgoing>SequenceFlow_0if6xj4</bpmn2:outgoing>
<bpmn2:linkEventDefinition name="To SnapShot" />
@@ -594,11 +587,11 @@ uvfm.setClosedLoopDisabledInAAI(execution, false)
(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Lock")]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_1ar6ikk" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1p9i2bi">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradePreCheck") ||
-(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "QuiesceTraffic")]]></bpmn2:conditionExpression>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "QuiesceTraffic") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Stop")]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_171iq7e" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0rp1ax0">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Snapshot") ||
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Start") ||
(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradeBackup")]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_1553o9f" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_01ngkx2">
@@ -653,9 +646,9 @@ uvfm.setClosedLoopDisabledInAAI(execution, false)
<bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Lock") ||
(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradePreCheck")]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
- <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1p9i2bi" name="To Quiesce Traffic">
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1p9i2bi" name="To Stop VNF">
<bpmn2:incoming>SequenceFlow_1ar6ikk</bpmn2:incoming>
- <bpmn2:linkEventDefinition name="To Quiesce Traffic" />
+ <bpmn2:linkEventDefinition name="To Stop VNF" />
</bpmn2:intermediateThrowEvent>
<bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0ee7wot" name="To SnapShot">
<bpmn2:incoming>SequenceFlow_1nlqlwn</bpmn2:incoming>
@@ -718,12 +711,12 @@ uvfm.setClosedLoopDisabledInAAI(execution, false)
<camunda:out source="workStep" target="workStep" />
<camunda:out source="failedActivity" target="failedActivity" />
<camunda:in source="vmIdList" target="vmIdList" />
- <camunda:in source="aicIdentity" target="identityUrl" />
+ <camunda:in source="identityUrl" target="identityUrl" />
<camunda:in source="controllerType" target="controllerType" />
<camunda:in source="vserverIdList" target="vserverIdList" />
</bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_1c0vdki</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_0if6xj4</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_10yw9oj</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_19ba94v</bpmn2:outgoing>
</bpmn2:callActivity>
<bpmn2:callActivity id="Task_1dtbnuy" name="Call APP-C VNF Lock" calledElement="AppCClient">
@@ -888,8 +881,8 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
<camunda:in source="vnfName" target="vnfName" />
<camunda:in source="controllerType" target="controllerType" />
</bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_1fuaq5k</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_1v59be9</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0ugaydb</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_04rprct</bpmn2:outgoing>
</bpmn2:callActivity>
<bpmn2:callActivity id="Task_1hdg951" name="Call APP-C Upgrade Software" calledElement="AppCClient">
@@ -934,6 +927,107 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
<bpmn2:outgoing>SequenceFlow_1j81s6b</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_0qy68ib</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_10yw9oj" sourceRef="ExclusiveGateway_0bd79on" targetRef="Task_0eae8go" />
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_10hdz40" name="To Stop VNF">
+ <bpmn2:outgoing>SequenceFlow_02zphll</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Stop VNF" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_02zphll" sourceRef="IntermediateThrowEvent_10hdz40" targetRef="Task_0qa3yfr" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0bd79on" name="Error on Stop VNF?" default="SequenceFlow_10yw9oj">
+ <bpmn2:incoming>SequenceFlow_0ayfzd3</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_10yw9oj</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1qdt3ml</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0ayfzd3" sourceRef="Task_0qa3yfr" targetRef="ExclusiveGateway_0bd79on" />
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0u4t4eb" name="To Rainy Day Handling">
+ <bpmn2:incoming>SequenceFlow_1qdt3ml</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1qdt3ml" name="yes" sourceRef="ExclusiveGateway_0bd79on" targetRef="IntermediateThrowEvent_0u4t4eb">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:callActivity id="Task_0qa3yfr" name="Call APP-C Stop VNF" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionStop" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="identityUrl" target="identityUrl" />
+ <camunda:in source="controllerType" target="controllerType" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1c0vdki</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_02zphll</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0ayfzd3</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_015qhj5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0utxo48">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradePreCheck") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "QuiesceTraffic")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0utxo48" name="To Quiesce Traffic">
+ <bpmn2:incoming>SequenceFlow_015qhj5</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Quiesce Traffic" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1xeh8rb" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_034letx">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Snapshot") ||
+(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Start")]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_034letx" name="To Start VNF">
+ <bpmn2:incoming>SequenceFlow_1xeh8rb</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Start VNF" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1c2q423" sourceRef="Task_1j68pc1" targetRef="ExclusiveGateway_1aepvyq" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1aepvyq" name="Error on Start VNF?" default="SequenceFlow_0ugaydb">
+ <bpmn2:incoming>SequenceFlow_1c2q423</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0ugaydb</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1ouddzv</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0ugaydb" name="no" sourceRef="ExclusiveGateway_1aepvyq" targetRef="Task_1mdr1nd" />
+ <bpmn2:sequenceFlow id="SequenceFlow_12k801c" sourceRef="IntermediateThrowEvent_01xb76a" targetRef="Task_1j68pc1" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1ouddzv" name="yes" sourceRef="ExclusiveGateway_1aepvyq" targetRef="IntermediateThrowEvent_0d6k86e">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_01xb76a" name="To Start VNF">
+ <bpmn2:outgoing>SequenceFlow_12k801c</bpmn2:outgoing>
+ <bpmn2:linkEventDefinition name="To Start VNF" />
+ </bpmn2:intermediateCatchEvent>
+ <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0d6k86e" name="To Rainy Day Handler">
+ <bpmn2:incoming>SequenceFlow_1ouddzv</bpmn2:incoming>
+ <bpmn2:linkEventDefinition name="To Rainy Day Handling" />
+ </bpmn2:intermediateThrowEvent>
+ <bpmn2:callActivity id="Task_1j68pc1" name="Call APP-C Start VNF" calledElement="AppCClient">
+ <bpmn2:extensionElements>
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:in source="actionStart" target="action" />
+ <camunda:in source="vnfId" target="vnfId" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:in source="identityUrl" target="identityUrl" />
+ <camunda:in source="controllerType" target="controllerType" />
+ <camunda:out source="errorCode" target="errorCode" />
+ <camunda:out source="errorText" target="errorText" />
+ <camunda:out source="workStep" target="workStep" />
+ <camunda:out source="failedActivity" target="failedActivity" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_1fuaq5k</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_12k801c</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1c2q423</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:scriptTask id="Task_0n1d5f2" name="Set VF Is Closed Loop Disabled Flag in A&#38;AI" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0du9273</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_032tm9y</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_179z9vl</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+def uvfm = new VnfInPlaceUpdate()
+uvfm.setClosedLoopDisabledInAAI(execution, true)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_1us5byg" sourceRef="Task_0op98k0" targetRef="Task_0vy2zge" />
+ <bpmn2:serviceTask id="Task_0op98k0" name="Query Catalog DB for IdentityUrl" camunda:expression="${CloudSiteCatalogUtils.getIdentityUrlFromCloudSite(execution)}">
+ <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1us5byg</bpmn2:outgoing>
+ </bpmn2:serviceTask>
</bpmn2:process>
<bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
@@ -945,9 +1039,9 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_125" bpmnElement="EndEvent_1">
- <dc:Bounds x="569" y="1073" width="36" height="36" />
+ <dc:Bounds x="1248" y="1096" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="568" y="1114" width="38" height="12" />
+ <dc:Bounds x="1247" y="1137" width="38" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124">
@@ -978,30 +1072,30 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_127" bpmnElement="ScriptTask_4">
- <dc:Bounds x="415" y="1051" width="100" height="80" />
+ <dc:Bounds x="1094" y="1074" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_127" targetElement="_BPMNShape_EndEvent_125">
- <di:waypoint xsi:type="dc:Point" x="515" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="549" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="549" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="569" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="1194" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="1228" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="1228" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="1248" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="564" y="1091" width="0" height="0" />
+ <dc:Bounds x="1243" y="1114" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_133" bpmnElement="ScriptTask_10">
- <dc:Bounds x="126" y="1051" width="100" height="80" />
+ <dc:Bounds x="805" y="1074" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_CallActivity_27" bpmnElement="CallActivity_1">
- <dc:Bounds x="269" y="1051" width="100" height="80" />
+ <dc:Bounds x="948" y="1074" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_133" targetElement="_BPMNShape_CallActivity_27">
- <di:waypoint xsi:type="dc:Point" x="226" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="248" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="248" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="269" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="905" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="927" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="927" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="948" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="263" y="1091" width="0" height="0" />
+ <dc:Bounds x="942" y="1114" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_SubProcess_17" bpmnElement="SubProcess_1" isExpanded="true">
@@ -1059,12 +1153,12 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
<dc:Bounds x="748" y="1446" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_CallActivity_27" targetElement="_BPMNShape_ScriptTask_127">
- <di:waypoint xsi:type="dc:Point" x="369" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="392" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="392" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="415" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="1048" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="1071" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="1071" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="1094" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="407" y="1091" width="0" height="0" />
+ <dc:Bounds x="1086" y="1114" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_CallActivity_28" targetElement="_BPMNShape_EndEvent_126">
@@ -1075,25 +1169,17 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" targetElement="_BPMNShape_ScriptTask_133">
- <di:waypoint xsi:type="dc:Point" x="1459" y="800" />
- <di:waypoint xsi:type="dc:Point" x="1561" y="800" />
- <di:waypoint xsi:type="dc:Point" x="1561" y="989" />
- <di:waypoint xsi:type="dc:Point" x="99" y="989" />
- <di:waypoint xsi:type="dc:Point" x="99" y="1091" />
- <di:waypoint xsi:type="dc:Point" x="126" y="1091" />
+ <di:waypoint xsi:type="dc:Point" x="756" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="805" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1482" y="772.5275881403734" width="12" height="12" />
+ <dc:Bounds x="794" y="1090.1083303171945" width="12" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_053qjfy_di" bpmnElement="SequenceFlow_053qjfy">
<di:waypoint xsi:type="dc:Point" x="671" y="90" />
- <di:waypoint xsi:type="dc:Point" x="982" y="90" />
- <di:waypoint xsi:type="dc:Point" x="982" y="156" />
- <di:waypoint xsi:type="dc:Point" x="103" y="156" />
- <di:waypoint xsi:type="dc:Point" x="103" y="237" />
- <di:waypoint xsi:type="dc:Point" x="131" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="750" y="90" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="543" y="141" width="0" height="0" />
+ <dc:Bounds x="711" y="75" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_08xzuox_di" bpmnElement="Task_1opcb4j">
@@ -1120,7 +1206,7 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
<dc:Bounds x="608" y="197" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_0sgm9bu_di" bpmnElement="Task_1drglpt">
- <dc:Bounds x="1058" y="760" width="100" height="80" />
+ <dc:Bounds x="355" y="1074" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_16jtt5t_di" bpmnElement="Task_0vy2zge">
<dc:Bounds x="131" y="197" width="100" height="80" />
@@ -1147,24 +1233,24 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1uno5rs_di" bpmnElement="SequenceFlow_1uno5rs">
- <di:waypoint xsi:type="dc:Point" x="223" y="800" />
- <di:waypoint xsi:type="dc:Point" x="266" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="683" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="726" y="800" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="245" y="785" width="0" height="0" />
+ <dc:Bounds x="706" y="785" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1c79909_di" bpmnElement="SequenceFlow_1c79909">
- <di:waypoint xsi:type="dc:Point" x="464" y="800" />
- <di:waypoint xsi:type="dc:Point" x="513" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="924" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="973" y="800" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="489" y="785" width="0" height="0" />
+ <dc:Bounds x="949" y="785" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1xfbwpi_di" bpmnElement="SequenceFlow_1xfbwpi">
- <di:waypoint xsi:type="dc:Point" x="926" y="800" />
- <di:waypoint xsi:type="dc:Point" x="955" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="223" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="252" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="941" y="785" width="0" height="0" />
+ <dc:Bounds x="238" y="1099" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_0q323wc_di" bpmnElement="ExclusiveGateway_0q323wc" isMarkerVisible="true">
@@ -1262,41 +1348,41 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1c0vdki_di" bpmnElement="SequenceFlow_1c0vdki">
<di:waypoint xsi:type="dc:Point" x="785" y="510" />
- <di:waypoint xsi:type="dc:Point" x="826" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="824" y="510" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="804" y="487" width="12" height="12" />
+ <dc:Bounds x="1024" y="485" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true">
- <dc:Bounds x="266" y="775" width="50" height="50" />
+ <dc:Bounds x="726" y="775" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="247" y="735" width="88" height="24" />
+ <dc:Bounds x="709" y="735" width="84" height="26" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m">
- <di:waypoint xsi:type="dc:Point" x="316" y="800" />
- <di:waypoint xsi:type="dc:Point" x="364" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="776" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="824" y="800" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="333" y="780" width="12" height="12" />
+ <dc:Bounds x="793" y="780" width="12" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true">
- <dc:Bounds x="513" y="775" width="50" height="50" />
+ <dc:Bounds x="973" y="775" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="502" y="735" width="72" height="24" />
+ <dc:Bounds x="962" y="735" width="72" height="26" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true">
- <dc:Bounds x="1195" y="775" width="50" height="50" />
+ <dc:Bounds x="492" y="1089" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1183" y="728" width="73" height="36" />
+ <dc:Bounds x="480" y="1042" width="73" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6">
- <di:waypoint xsi:type="dc:Point" x="1158" y="800" />
- <di:waypoint xsi:type="dc:Point" x="1195" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="455" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="492" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1178" y="785" width="0" height="0" />
+ <dc:Bounds x="475" y="1099" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h">
@@ -1322,10 +1408,10 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v">
- <di:waypoint xsi:type="dc:Point" x="926" y="510" />
- <di:waypoint xsi:type="dc:Point" x="955" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1160" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1193" y="510" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="941" y="495" width="0" height="0" />
+ <dc:Bounds x="1177" y="495" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1nlqlwn_di" bpmnElement="SequenceFlow_1nlqlwn">
@@ -1488,9 +1574,6 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
<dc:Bounds x="1165" y="222" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_1iio503_di" bpmnElement="Task_0n1d5f2">
- <dc:Bounds x="1046" y="197" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_032tm9y_di" bpmnElement="SequenceFlow_032tm9y">
<di:waypoint xsi:type="dc:Point" x="1096" y="308" />
<di:waypoint xsi:type="dc:Point" x="1096" y="277" />
@@ -1602,393 +1685,394 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_19an3h2_di" bpmnElement="ExclusiveGateway_19an3h2" isMarkerVisible="true">
- <dc:Bounds x="955" y="485" width="50" height="50" />
+ <dc:Bounds x="1193" y="485" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="953" y="441" width="53" height="24" />
+ <dc:Bounds x="1191" y="441" width="54" height="26" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1fuaq5k_di" bpmnElement="SequenceFlow_1fuaq5k">
- <di:waypoint xsi:type="dc:Point" x="1005" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1064" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1243" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1294" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1294" y="681" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="681" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="124" y="800" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1030" y="485" width="12" height="12" />
+ <dc:Bounds x="1260" y="484.09433477074754" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateCatchEvent_199cotj_di" bpmnElement="IntermediateThrowEvent_0a1s69h">
- <dc:Bounds x="858" y="581" width="36" height="36" />
+ <dc:Bounds x="1092" y="581" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="844" y="617" width="63" height="13" />
+ <dc:Bounds x="1079" y="617" width="62" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0if6xj4_di" bpmnElement="SequenceFlow_0if6xj4">
- <di:waypoint xsi:type="dc:Point" x="876" y="581" />
- <di:waypoint xsi:type="dc:Point" x="876" y="550" />
+ <di:waypoint xsi:type="dc:Point" x="1110" y="581" />
+ <di:waypoint xsi:type="dc:Point" x="1110" y="550" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="891" y="565.5" width="0" height="0" />
+ <dc:Bounds x="1125" y="565.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_04gth9f_di" bpmnElement="SequenceFlow_04gth9f">
- <di:waypoint xsi:type="dc:Point" x="980" y="535" />
- <di:waypoint xsi:type="dc:Point" x="980" y="581" />
+ <di:waypoint xsi:type="dc:Point" x="1218" y="535" />
+ <di:waypoint xsi:type="dc:Point" x="1218" y="581" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="986" y="558" width="18" height="12" />
+ <dc:Bounds x="1227" y="546.6958260869565" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_1ly7m7x_di" bpmnElement="IntermediateThrowEvent_11vs7u4">
- <dc:Bounds x="962" y="581" width="36" height="36" />
+ <dc:Bounds x="1200" y="581" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="945" y="617" width="69" height="24" />
+ <dc:Bounds x="1184" y="617" width="68" height="26" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1v59be9_di" bpmnElement="SequenceFlow_1v59be9">
- <di:waypoint xsi:type="dc:Point" x="1114" y="581" />
- <di:waypoint xsi:type="dc:Point" x="1114" y="550" />
+ <di:waypoint xsi:type="dc:Point" x="414" y="871" />
+ <di:waypoint xsi:type="dc:Point" x="414" y="840" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1129" y="565.5" width="0" height="0" />
+ <dc:Bounds x="429" y="856" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateCatchEvent_0gvhqjf_di" bpmnElement="IntermediateThrowEvent_162mb2a">
- <dc:Bounds x="1096" y="581" width="36" height="36" />
+ <dc:Bounds x="396" y="871" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1084" y="617" width="60" height="25" />
+ <dc:Bounds x="385" y="907" width="58" height="26" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_0ssvndw_di" bpmnElement="ExclusiveGateway_0ssvndw" isMarkerVisible="true">
- <dc:Bounds x="1195.192" y="485" width="50" height="50" />
+ <dc:Bounds x="495" y="775" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1177" y="439" width="85" height="24" />
+ <dc:Bounds x="478" y="729" width="84" height="26" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_04rprct_di" bpmnElement="SequenceFlow_04rprct">
- <di:waypoint xsi:type="dc:Point" x="1164" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1195" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="464" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="495" y="800" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1180" y="495" width="0" height="0" />
+ <dc:Bounds x="480" y="785" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_14s9cw9_di" bpmnElement="IntermediateThrowEvent_1yfd3sz">
- <dc:Bounds x="1202" y="581" width="36" height="36" />
+ <dc:Bounds x="502" y="871" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1185" y="617" width="69" height="24" />
+ <dc:Bounds x="486" y="907" width="68" height="26" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1uceq96_di" bpmnElement="SequenceFlow_1uceq96">
- <di:waypoint xsi:type="dc:Point" x="1220" y="535" />
- <di:waypoint xsi:type="dc:Point" x="1220" y="581" />
+ <di:waypoint xsi:type="dc:Point" x="520" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="520" y="871" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1226" y="548" width="18" height="12" />
+ <dc:Bounds x="526" y="838" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0txgesu_di" bpmnElement="SequenceFlow_0txgesu">
- <di:waypoint xsi:type="dc:Point" x="1245" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1286" y="510" />
- <di:waypoint xsi:type="dc:Point" x="1286" y="676" />
- <di:waypoint xsi:type="dc:Point" x="95" y="676" />
- <di:waypoint xsi:type="dc:Point" x="95" y="800" />
- <di:waypoint xsi:type="dc:Point" x="123" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="545" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="583" y="800" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1259" y="488" width="12" height="12" />
+ <dc:Bounds x="559" y="778" width="12" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0trguug_di" bpmnElement="SequenceFlow_0trguug">
- <di:waypoint xsi:type="dc:Point" x="701" y="800" />
- <di:waypoint xsi:type="dc:Point" x="735" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1161" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1195" y="800" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="718" y="785" width="0" height="0" />
+ <dc:Bounds x="1178" y="785" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1ozuicc_di" bpmnElement="ExclusiveGateway_1ozuicc" isMarkerVisible="true">
- <dc:Bounds x="735.304" y="775" width="50" height="50" />
+ <dc:Bounds x="1195" y="775" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="716" y="735" width="87" height="24" />
+ <dc:Bounds x="1178" y="735" width="84" height="26" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1q3bwlt_di" bpmnElement="SequenceFlow_1q3bwlt">
- <di:waypoint xsi:type="dc:Point" x="785.304" y="800" />
- <di:waypoint xsi:type="dc:Point" x="826" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1245" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1290" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1290" y="969" />
+ <di:waypoint xsi:type="dc:Point" x="80" y="969" />
+ <di:waypoint xsi:type="dc:Point" x="80" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="123" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="800" y="775" width="12" height="12" />
+ <dc:Bounds x="1260" y="770.0957837465772" width="12" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_123vjyo_di" bpmnElement="ExclusiveGateway_123vjyo" isMarkerVisible="true">
- <dc:Bounds x="955" y="775" width="50" height="50" />
+ <dc:Bounds x="252" y="1089" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="946" y="735" width="68" height="24" />
+ <dc:Bounds x="243" y="1049" width="68" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1nr9o85_di" bpmnElement="SequenceFlow_1nr9o85">
- <di:waypoint xsi:type="dc:Point" x="1005" y="800" />
- <di:waypoint xsi:type="dc:Point" x="1037" y="800" />
- <di:waypoint xsi:type="dc:Point" x="1037" y="800" />
- <di:waypoint xsi:type="dc:Point" x="1058" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="302" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="334" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="334" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="355" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1024" y="772" width="12" height="12" />
+ <dc:Bounds x="321" y="1086" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_11ot6vh_di" bpmnElement="IntermediateThrowEvent_1nij04n">
- <dc:Bounds x="273" y="886" width="36" height="36" />
+ <dc:Bounds x="733" y="871" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="256" y="921.6089999999999" width="69" height="24" />
+ <dc:Bounds x="716" y="907" width="69" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1gagrha_di" bpmnElement="SequenceFlow_1gagrha">
- <di:waypoint xsi:type="dc:Point" x="291" y="825" />
- <di:waypoint xsi:type="dc:Point" x="291" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="751" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="751" y="871" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="297" y="845.5" width="18" height="12" />
+ <dc:Bounds x="757" y="839.1147540983607" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_16igl7b_di" bpmnElement="SequenceFlow_16igl7b">
- <di:waypoint xsi:type="dc:Point" x="414" y="886" />
- <di:waypoint xsi:type="dc:Point" x="414" y="840" />
+ <di:waypoint xsi:type="dc:Point" x="874" y="871" />
+ <di:waypoint xsi:type="dc:Point" x="874" y="840" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="429" y="863" width="0" height="0" />
+ <dc:Bounds x="889" y="855.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateCatchEvent_174wgan_di" bpmnElement="IntermediateThrowEvent_0fhmhsk">
- <dc:Bounds x="396" y="886" width="36" height="36" />
+ <dc:Bounds x="856" y="871" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="384" y="922" width="59" height="24" />
+ <dc:Bounds x="844" y="907" width="60" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1urpp94_di" bpmnElement="SequenceFlow_1urpp94">
- <di:waypoint xsi:type="dc:Point" x="538" y="825" />
- <di:waypoint xsi:type="dc:Point" x="538" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="998" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="998" y="871" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="544" y="855.5" width="18" height="12" />
+ <dc:Bounds x="1004" y="846.4451837791199" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_1vi3wf9_di" bpmnElement="IntermediateThrowEvent_0vf0a28">
- <dc:Bounds x="520" y="886" width="36" height="36" />
+ <dc:Bounds x="980" y="871" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="503" y="922" width="69" height="24" />
+ <dc:Bounds x="963" y="907" width="69" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1c2xyhk_di" bpmnElement="SequenceFlow_1c2xyhk">
- <di:waypoint xsi:type="dc:Point" x="563" y="800" />
- <di:waypoint xsi:type="dc:Point" x="601" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1023" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="1061" y="800" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="577" y="775" width="12" height="12" />
+ <dc:Bounds x="1037" y="775" width="12" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateCatchEvent_165ve6q_di" bpmnElement="IntermediateThrowEvent_0pxvl24">
- <dc:Bounds x="632" y="886" width="36" height="36" />
+ <dc:Bounds x="1093" y="871" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="607" y="922" width="85" height="13" />
+ <dc:Bounds x="1066" y="907" width="90" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0yja56j_di" bpmnElement="SequenceFlow_0yja56j">
- <di:waypoint xsi:type="dc:Point" x="650" y="886" />
- <di:waypoint xsi:type="dc:Point" x="651" y="840" />
+ <di:waypoint xsi:type="dc:Point" x="1111" y="871" />
+ <di:waypoint xsi:type="dc:Point" x="1112" y="840" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="651" y="848" width="0" height="0" />
+ <dc:Bounds x="1112" y="840.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1xg6pwh_di" bpmnElement="SequenceFlow_1xg6pwh">
- <di:waypoint xsi:type="dc:Point" x="760" y="825" />
- <di:waypoint xsi:type="dc:Point" x="760" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="1220" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="1220" y="871" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="766" y="855.5" width="18" height="12" />
+ <dc:Bounds x="1226" y="846.655737704918" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_0unfhc9_di" bpmnElement="IntermediateThrowEvent_1vjqksl">
- <dc:Bounds x="742" y="886" width="36" height="36" />
+ <dc:Bounds x="1202" y="871" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="725" y="922" width="69" height="24" />
+ <dc:Bounds x="1185" y="907" width="69" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateCatchEvent_1om2udh_di" bpmnElement="IntermediateThrowEvent_1vwqesb">
- <dc:Bounds x="859" y="886" width="36" height="36" />
+ <dc:Bounds x="156" y="1200" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="842" y="922" width="70" height="13" />
+ <dc:Bounds x="137" y="1236" width="74" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1hwtq9x_di" bpmnElement="SequenceFlow_1hwtq9x">
- <di:waypoint xsi:type="dc:Point" x="877" y="886" />
- <di:waypoint xsi:type="dc:Point" x="876" y="840" />
+ <di:waypoint xsi:type="dc:Point" x="174" y="1200" />
+ <di:waypoint xsi:type="dc:Point" x="173" y="1154" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="877" y="848" width="0" height="0" />
+ <dc:Bounds x="174" y="1162" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0ttowkv_di" bpmnElement="SequenceFlow_0ttowkv">
- <di:waypoint xsi:type="dc:Point" x="980" y="825" />
- <di:waypoint xsi:type="dc:Point" x="980" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="277" y="1139" />
+ <di:waypoint xsi:type="dc:Point" x="277" y="1200" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="986" y="855.5" width="18" height="12" />
+ <dc:Bounds x="283" y="1170" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_1u04oef_di" bpmnElement="IntermediateThrowEvent_0m9jtv2">
- <dc:Bounds x="962" y="886" width="36" height="36" />
+ <dc:Bounds x="259" y="1200" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="945" y="922" width="69" height="24" />
+ <dc:Bounds x="242" y="1236" width="69" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateCatchEvent_1bsxf5o_di" bpmnElement="IntermediateThrowEvent_0pk24h2">
- <dc:Bounds x="155" y="886" width="36" height="36" />
+ <dc:Bounds x="615" y="871" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="143" y="922" width="59" height="25" />
+ <dc:Bounds x="603" y="907" width="60" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1colra4_di" bpmnElement="SequenceFlow_1colra4">
- <di:waypoint xsi:type="dc:Point" x="173" y="886" />
- <di:waypoint xsi:type="dc:Point" x="173" y="863" />
- <di:waypoint xsi:type="dc:Point" x="173" y="863" />
- <di:waypoint xsi:type="dc:Point" x="173" y="840" />
+ <di:waypoint xsi:type="dc:Point" x="633" y="871" />
+ <di:waypoint xsi:type="dc:Point" x="633" y="840" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="188" y="863" width="0" height="0" />
+ <dc:Bounds x="648" y="855.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_18j1ow5_di" bpmnElement="ExclusiveGateway_18j1ow5" isMarkerVisible="true">
- <dc:Bounds x="1409.304" y="775" width="50" height="50" />
+ <dc:Bounds x="706" y="1089" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1396" y="724" width="75" height="36" />
+ <dc:Bounds x="693" y="1038" width="75" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0u6ho2p_di" bpmnElement="SequenceFlow_0u6ho2p">
- <di:waypoint xsi:type="dc:Point" x="1245" y="800" />
- <di:waypoint xsi:type="dc:Point" x="1275" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="542" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="572" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1255" y="775" width="12" height="12" />
+ <dc:Bounds x="552" y="1089" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_08r89q9_di" bpmnElement="Task_0y1h8go">
- <dc:Bounds x="1275" y="760" width="100" height="80" />
+ <dc:Bounds x="572" y="1074" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1tzax6l_di" bpmnElement="SequenceFlow_1tzax6l">
- <di:waypoint xsi:type="dc:Point" x="1375" y="800" />
- <di:waypoint xsi:type="dc:Point" x="1409" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="672" y="1114" />
+ <di:waypoint xsi:type="dc:Point" x="706" y="1114" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1392" y="775" width="0" height="0" />
+ <dc:Bounds x="689" y="1089" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateCatchEvent_06j33fe_di" bpmnElement="IntermediateThrowEvent_0pmevcz">
- <dc:Bounds x="1090" y="886" width="36" height="36" />
+ <dc:Bounds x="387" y="1200" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1072" y="922" width="72" height="25" />
+ <dc:Bounds x="370" y="1236" width="70" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_16ff86u_di" bpmnElement="SequenceFlow_16ff86u">
- <di:waypoint xsi:type="dc:Point" x="1108" y="886" />
- <di:waypoint xsi:type="dc:Point" x="1108" y="840" />
+ <di:waypoint xsi:type="dc:Point" x="405" y="1200" />
+ <di:waypoint xsi:type="dc:Point" x="405" y="1154" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1123" y="853" width="0" height="0" />
+ <dc:Bounds x="420" y="1167" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0k3zxpd_di" bpmnElement="SequenceFlow_0k3zxpd">
- <di:waypoint xsi:type="dc:Point" x="1220" y="825" />
- <di:waypoint xsi:type="dc:Point" x="1220" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="517" y="1139" />
+ <di:waypoint xsi:type="dc:Point" x="517" y="1200" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1226" y="855.5" width="18" height="12" />
+ <dc:Bounds x="523" y="1170" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_105mp22_di" bpmnElement="IntermediateThrowEvent_1awckg7">
- <dc:Bounds x="1202" y="886" width="36" height="36" />
+ <dc:Bounds x="499" y="1200" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1185" y="922" width="69" height="24" />
+ <dc:Bounds x="482" y="1236" width="69" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateCatchEvent_0kglv4e_di" bpmnElement="IntermediateThrowEvent_1b3smly">
- <dc:Bounds x="1307" y="886" width="36" height="36" />
+ <dc:Bounds x="604" y="1200" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1285" y="922" width="79" height="25" />
+ <dc:Bounds x="581" y="1236" width="82" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_09xxorv_di" bpmnElement="SequenceFlow_09xxorv">
- <di:waypoint xsi:type="dc:Point" x="1325" y="886" />
- <di:waypoint xsi:type="dc:Point" x="1325" y="840" />
+ <di:waypoint xsi:type="dc:Point" x="622" y="1200" />
+ <di:waypoint xsi:type="dc:Point" x="622" y="1154" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1340" y="853" width="0" height="0" />
+ <dc:Bounds x="637" y="1167" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0w8mkkn_di" bpmnElement="SequenceFlow_0w8mkkn">
- <di:waypoint xsi:type="dc:Point" x="1434" y="825" />
- <di:waypoint xsi:type="dc:Point" x="1434" y="886" />
+ <di:waypoint xsi:type="dc:Point" x="731" y="1139" />
+ <di:waypoint xsi:type="dc:Point" x="731" y="1200" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1440" y="855.5" width="18" height="12" />
+ <dc:Bounds x="737" y="1170" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_0jwgx1d_di" bpmnElement="IntermediateThrowEvent_1cw8gsw">
- <dc:Bounds x="1416" y="886" width="36" height="36" />
+ <dc:Bounds x="713" y="1200" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1399" y="922" width="69" height="24" />
+ <dc:Bounds x="696" y="1236" width="69" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateCatchEvent_0zw87jy_di" bpmnElement="IntermediateThrowEvent_0x846wp">
- <dc:Bounds x="158" y="1186" width="36" height="36" />
+ <dc:Bounds x="837" y="1200" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="140" y="1221.609" width="72" height="25" />
+ <dc:Bounds x="819" y="1236" width="72" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_07uuj2d_di" bpmnElement="SequenceFlow_07uuj2d">
- <di:waypoint xsi:type="dc:Point" x="176" y="1186" />
- <di:waypoint xsi:type="dc:Point" x="176" y="1160" />
- <di:waypoint xsi:type="dc:Point" x="176" y="1160" />
- <di:waypoint xsi:type="dc:Point" x="176" y="1131" />
+ <di:waypoint xsi:type="dc:Point" x="855" y="1200" />
+ <di:waypoint xsi:type="dc:Point" x="855" y="1154" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="191" y="1160" width="0" height="0" />
+ <dc:Bounds x="870" y="1177" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0ueoglv_di" bpmnElement="SequenceFlow_0ueoglv">
<di:waypoint xsi:type="dc:Point" x="2117" y="490" />
- <di:waypoint xsi:type="dc:Point" x="2173" y="264" />
+ <di:waypoint xsi:type="dc:Point" x="2168" y="266" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2145" y="362" width="0" height="0" />
+ <dc:Bounds x="2143" y="363" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_15fqlwe_di" bpmnElement="SequenceFlow_15fqlwe">
- <di:waypoint xsi:type="dc:Point" x="2120" y="493" />
- <di:waypoint xsi:type="dc:Point" x="2209" y="290" />
+ <di:waypoint xsi:type="dc:Point" x="2119" y="492" />
+ <di:waypoint xsi:type="dc:Point" x="2194" y="302" />
+ <di:waypoint xsi:type="dc:Point" x="2201" y="283" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2165" y="377" width="0" height="0" />
+ <dc:Bounds x="2157" y="382" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0yuj0l5_di" bpmnElement="SequenceFlow_0yuj0l5">
- <di:waypoint xsi:type="dc:Point" x="2122" y="495" />
- <di:waypoint xsi:type="dc:Point" x="2247" y="319" />
+ <di:waypoint xsi:type="dc:Point" x="2121" y="494" />
+ <di:waypoint xsi:type="dc:Point" x="2234" y="304" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2185" y="392" width="0" height="0" />
+ <dc:Bounds x="2178" y="384" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1abb030_di" bpmnElement="SequenceFlow_1abb030">
- <di:waypoint xsi:type="dc:Point" x="2125" y="498" />
- <di:waypoint xsi:type="dc:Point" x="2284" y="348" />
+ <di:waypoint xsi:type="dc:Point" x="2123" y="496" />
+ <di:waypoint xsi:type="dc:Point" x="2268" y="329" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2205" y="408" width="0" height="0" />
+ <dc:Bounds x="2196" y="397.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0ls3ej5_di" bpmnElement="SequenceFlow_0ls3ej5">
- <di:waypoint xsi:type="dc:Point" x="2127" y="500" />
- <di:waypoint xsi:type="dc:Point" x="2313" y="386" />
+ <di:waypoint xsi:type="dc:Point" x="2125" y="498" />
+ <di:waypoint xsi:type="dc:Point" x="2293" y="363" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2220" y="428" width="0" height="0" />
+ <dc:Bounds x="2209" y="415.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1ar6ikk_di" bpmnElement="SequenceFlow_1ar6ikk">
<di:waypoint xsi:type="dc:Point" x="2133" y="506" />
- <di:waypoint xsi:type="dc:Point" x="2372" y="460" />
+ <di:waypoint xsi:type="dc:Point" x="2372" y="462" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2253" y="468" width="0" height="0" />
+ <dc:Bounds x="2253" y="469" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_171iq7e_di" bpmnElement="SequenceFlow_171iq7e">
- <di:waypoint xsi:type="dc:Point" x="2134" y="513" />
- <di:waypoint xsi:type="dc:Point" x="2372" y="553" />
+ <di:waypoint xsi:type="dc:Point" x="2132" y="515" />
+ <di:waypoint xsi:type="dc:Point" x="2363" y="585" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2253" y="518" width="0" height="0" />
+ <dc:Bounds x="2248" y="535" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1553o9f_di" bpmnElement="SequenceFlow_1553o9f">
- <di:waypoint xsi:type="dc:Point" x="2129" y="518" />
- <di:waypoint xsi:type="dc:Point" x="2353" y="595" />
+ <di:waypoint xsi:type="dc:Point" x="2128" y="519" />
+ <di:waypoint xsi:type="dc:Point" x="2335" y="623" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2241" y="541.5" width="0" height="0" />
+ <dc:Bounds x="2232" y="556" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0dmxwel_di" bpmnElement="SequenceFlow_0dmxwel">
- <di:waypoint xsi:type="dc:Point" x="2125" y="522" />
- <di:waypoint xsi:type="dc:Point" x="2294" y="685" />
+ <di:waypoint xsi:type="dc:Point" x="2124" y="523" />
+ <di:waypoint xsi:type="dc:Point" x="2281" y="692" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2210" y="588.5" width="0" height="0" />
+ <dc:Bounds x="2203" y="592.5" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1id2p8y_di" bpmnElement="SequenceFlow_1id2p8y">
@@ -2020,52 +2104,52 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_17syve1_di" bpmnElement="IntermediateThrowEvent_0rz6jh4">
- <dc:Bounds x="2159" y="229" width="36" height="36" />
+ <dc:Bounds x="2150" y="230" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2165" y="189" width="84" height="36" />
+ <dc:Bounds x="2156" y="190" width="84" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_0nv8aic_di" bpmnElement="IntermediateThrowEvent_1wip9vc">
- <dc:Bounds x="2199" y="256" width="36" height="36" />
+ <dc:Bounds x="2189" y="249" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2213" y="235" width="89" height="24" />
+ <dc:Bounds x="2203" y="228" width="89" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_1g4pmwc_di" bpmnElement="IntermediateThrowEvent_1hki8xj">
- <dc:Bounds x="2240" y="287" width="36" height="36" />
+ <dc:Bounds x="2227" y="273" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2280" y="256" width="64" height="36" />
+ <dc:Bounds x="2267" y="242" width="64" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_1ypnogn_di" bpmnElement="IntermediateThrowEvent_1gfnt9b">
- <dc:Bounds x="2279" y="319" width="36" height="36" />
+ <dc:Bounds x="2263" y="299" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2325" y="305" width="71" height="24" />
+ <dc:Bounds x="2309" y="285" width="71" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_1i9ttzs_di" bpmnElement="IntermediateThrowEvent_1gzhs1a">
- <dc:Bounds x="2311" y="359" width="36" height="36" />
+ <dc:Bounds x="2289" y="334" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2357" y="356" width="64" height="12" />
+ <dc:Bounds x="2335" y="331" width="64" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_0840e02_di" bpmnElement="IntermediateThrowEvent_0385ons">
- <dc:Bounds x="2343" y="392" width="36" height="36" />
+ <dc:Bounds x="2324" y="362" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2393" y="383" width="60" height="24" />
+ <dc:Bounds x="2374" y="353" width="60" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1quapjx_di" bpmnElement="SequenceFlow_1quapjx">
- <di:waypoint xsi:type="dc:Point" x="2130" y="503" />
- <di:waypoint xsi:type="dc:Point" x="2345" y="416" />
+ <di:waypoint xsi:type="dc:Point" x="2128" y="501" />
+ <di:waypoint xsi:type="dc:Point" x="2326" y="389" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2239" y="445" width="0" height="0" />
+ <dc:Bounds x="2227" y="430" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="IntermediateThrowEvent_1xq4kx8_di" bpmnElement="IntermediateThrowEvent_1p9i2bi">
- <dc:Bounds x="2371" y="439" width="36" height="36" />
+ <dc:Bounds x="2371" y="441" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2412" y="440" width="90" height="12" />
+ <dc:Bounds x="2419" y="444" width="62" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_03b4y60_di" bpmnElement="IntermediateThrowEvent_0ee7wot">
@@ -2075,21 +2159,21 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_1ghdnpx_di" bpmnElement="IntermediateThrowEvent_0rp1ax0">
- <dc:Bounds x="2371" y="538" width="36" height="36" />
+ <dc:Bounds x="2362" y="572" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2424" y="544" width="60" height="24" />
+ <dc:Bounds x="2415" y="578" width="60" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_1nls1oo_di" bpmnElement="IntermediateThrowEvent_01ngkx2">
- <dc:Bounds x="2352" y="582" width="36" height="36" />
+ <dc:Bounds x="2333" y="612" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2401" y="587" width="60" height="24" />
+ <dc:Bounds x="2382" y="617" width="60" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_0qt249a_di" bpmnElement="IntermediateThrowEvent_0lbd0cs">
- <dc:Bounds x="2289" y="679" width="36" height="36" />
+ <dc:Bounds x="2276" y="686" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2337" y="706" width="90" height="12" />
+ <dc:Bounds x="2324" y="713" width="90" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_0frwxx8_di" bpmnElement="IntermediateThrowEvent_1ycbds3">
@@ -2156,31 +2240,31 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="CallActivity_1y81g09_di" bpmnElement="Task_0eae8go">
- <dc:Bounds x="826" y="470" width="100" height="80" />
+ <dc:Bounds x="1060" y="470" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_0n20gvh_di" bpmnElement="Task_1dtbnuy">
<dc:Bounds x="126" y="470" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_08wyi5l_di" bpmnElement="Task_1sove95">
- <dc:Bounds x="826" y="760" width="100" height="80" />
+ <dc:Bounds x="123" y="1074" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_1a5n5ff_di" bpmnElement="Task_1fj63ov">
<dc:Bounds x="364" y="470" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_0mp082m_di" bpmnElement="Task_1ca5ctq">
- <dc:Bounds x="364" y="760" width="100" height="80" />
+ <dc:Bounds x="824" y="760" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_07dp1m8_di" bpmnElement="IntermediateThrowEvent_1kbtw2p">
- <dc:Bounds x="2324" y="634" width="36" height="36" />
+ <dc:Bounds x="2303" y="648" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2345" y="668" width="60" height="24" />
+ <dc:Bounds x="2324" y="682" width="60" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_021ah63_di" bpmnElement="SequenceFlow_021ah63">
- <di:waypoint xsi:type="dc:Point" x="2127" y="520" />
- <di:waypoint xsi:type="dc:Point" x="2327" y="643" />
+ <di:waypoint xsi:type="dc:Point" x="2126" y="521" />
+ <di:waypoint xsi:type="dc:Point" x="2307" y="655" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2227" y="566.5" width="0" height="0" />
+ <dc:Bounds x="2217" y="573" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_1qr054i_di" bpmnElement="ScriptTask_1qr054i">
@@ -2253,13 +2337,13 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
<dc:Bounds x="600" y="470" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_1kw9f96_di" bpmnElement="Task_1mdr1nd">
- <dc:Bounds x="1064" y="470" width="100" height="80" />
+ <dc:Bounds x="364" y="760" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_0d1uai9_di" bpmnElement="Task_1hdg951">
- <dc:Bounds x="123" y="760" width="100" height="80" />
+ <dc:Bounds x="583" y="760" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_1onqhy5_di" bpmnElement="Task_0h2nq31">
- <dc:Bounds x="601" y="760" width="100" height="80" />
+ <dc:Bounds x="1061" y="760" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_1slvyx2_di" bpmnElement="ExclusiveGateway_1slvyx2" isMarkerVisible="true">
<dc:Bounds x="266" y="485" width="50" height="50" />
@@ -2297,6 +2381,147 @@ execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount"
<bpmndi:BPMNShape id="ScriptTask_032b6ij_di" bpmnElement="Task_1mt62gu">
<dc:Bounds x="491" y="1446" width="100" height="80" />
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_10yw9oj_di" bpmnElement="SequenceFlow_10yw9oj">
+ <di:waypoint xsi:type="dc:Point" x="1006" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="1060" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1033" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0mnk8wv_di" bpmnElement="IntermediateThrowEvent_10hdz40">
+ <dc:Bounds x="856" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="843" y="617" width="62" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_02zphll_di" bpmnElement="SequenceFlow_02zphll">
+ <di:waypoint xsi:type="dc:Point" x="874" y="581" />
+ <di:waypoint xsi:type="dc:Point" x="874" y="550" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="889" y="565.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0bd79on_di" bpmnElement="ExclusiveGateway_0bd79on" isMarkerVisible="true">
+ <dc:Bounds x="955" y="485" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="946" y="447" width="68" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ayfzd3_di" bpmnElement="SequenceFlow_0ayfzd3">
+ <di:waypoint xsi:type="dc:Point" x="924" y="510" />
+ <di:waypoint xsi:type="dc:Point" x="955" y="510" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="940" y="495" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_112p1kw_di" bpmnElement="IntermediateThrowEvent_0u4t4eb">
+ <dc:Bounds x="962" y="581" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="945" y="617" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1qdt3ml_di" bpmnElement="SequenceFlow_1qdt3ml">
+ <di:waypoint xsi:type="dc:Point" x="980" y="535" />
+ <di:waypoint xsi:type="dc:Point" x="980" y="581" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="986" y="548" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_04cfhj4_di" bpmnElement="Task_0qa3yfr">
+ <dc:Bounds x="824" y="470" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_015qhj5_di" bpmnElement="SequenceFlow_015qhj5">
+ <di:waypoint xsi:type="dc:Point" x="2130" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="2354" y="422" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2242" y="447.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1leefua_di" bpmnElement="IntermediateThrowEvent_0utxo48">
+ <dc:Bounds x="2352" y="398" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2398" y="400.907" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1xeh8rb_di" bpmnElement="SequenceFlow_1xeh8rb">
+ <di:waypoint xsi:type="dc:Point" x="2134" y="513" />
+ <di:waypoint xsi:type="dc:Point" x="2386" y="551" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2260" y="517" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_05jik84_di" bpmnElement="IntermediateThrowEvent_034letx">
+ <dc:Bounds x="2385" y="536" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="2431" y="547.9069999999999" width="63" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1c2q423_di" bpmnElement="SequenceFlow_1c2q423">
+ <di:waypoint xsi:type="dc:Point" x="224" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="266" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="245" y="785" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1aepvyq_di" bpmnElement="ExclusiveGateway_1aepvyq" isMarkerVisible="true">
+ <dc:Bounds x="266" y="775" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="256" y="733" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ugaydb_di" bpmnElement="SequenceFlow_0ugaydb">
+ <di:waypoint xsi:type="dc:Point" x="316" y="800" />
+ <di:waypoint xsi:type="dc:Point" x="364" y="800" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="334" y="775" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_12k801c_di" bpmnElement="SequenceFlow_12k801c">
+ <di:waypoint xsi:type="dc:Point" x="174" y="871" />
+ <di:waypoint xsi:type="dc:Point" x="174" y="840" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="189" y="855.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ouddzv_di" bpmnElement="SequenceFlow_1ouddzv">
+ <di:waypoint xsi:type="dc:Point" x="291" y="825" />
+ <di:waypoint xsi:type="dc:Point" x="291" y="871" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="298" y="842" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_01iotuk_di" bpmnElement="IntermediateThrowEvent_01xb76a">
+ <dc:Bounds x="156" y="871" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="142" y="907" width="63" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_05f5orq_di" bpmnElement="IntermediateThrowEvent_0d6k86e">
+ <dc:Bounds x="273" y="871" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="256" y="907" width="69" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1acjd9q_di" bpmnElement="Task_1j68pc1">
+ <dc:Bounds x="124" y="760" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_19sq3od_di" bpmnElement="Task_0n1d5f2">
+ <dc:Bounds x="1046" y="197" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1us5byg_di" bpmnElement="SequenceFlow_1us5byg">
+ <di:waypoint xsi:type="dc:Point" x="850" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="90" />
+ <di:waypoint xsi:type="dc:Point" x="982" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="156" />
+ <di:waypoint xsi:type="dc:Point" x="103" y="237" />
+ <di:waypoint xsi:type="dc:Point" x="131" y="237" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="543" y="141" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_1jatgi1_di" bpmnElement="Task_0op98k0">
+ <dc:Bounds x="750" y="50" width="100" height="80" />
+ </bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java
index 37e1a93044..34598ef00a 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasks.java
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.Map;
import org.onap.so.adapters.nwrest.CreateNetworkResponse;
+import org.onap.so.adapters.nwrest.UpdateNetworkResponse;
import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
@@ -338,7 +339,7 @@ public class AAIUpdateTasks {
}
/**
- * BPMN access method to update L3Network after it was created in AIC
+ * BPMN access method to update L3Network after it was created in cloud
* @param execution
* @throws Exception
*/
@@ -379,6 +380,34 @@ public class AAIUpdateTasks {
}
}
+ /**
+ * BPMN access method to update L3Network after it was updated in cloud
+ * @param execution
+ * @throws Exception
+ */
+ public void updateNetworkUpdated(BuildingBlockExecution execution) throws Exception {
+ L3Network l3network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
+ L3Network copiedl3network = l3network.shallowCopyId();
+ UpdateNetworkResponse response = execution.getVariable("updateNetworkResponse");
+ try {
+ copiedl3network.setNeutronNetworkId(response.getNeutronNetworkId());
+ aaiNetworkResources.updateNetwork(copiedl3network);
+
+ Map<String, String> subnetMap = response.getSubnetMap();
+ List<Subnet> subnets = l3network.getSubnets();
+ if (subnets != null && subnetMap != null){
+ for (Subnet subnet: subnets){
+ Subnet copiedSubnet = subnet.shallowCopyId();
+ copiedSubnet.setNeutronSubnetId(subnetMap.get(copiedSubnet.getSubnetId()));
+ copiedSubnet.setOrchestrationStatus(OrchestrationStatus.CREATED);
+ aaiNetworkResources.updateSubnet(copiedl3network, copiedSubnet);
+ }
+ }
+ } catch (Exception ex) {
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
+ }
+ }
+
public void updateObjectNetwork(BuildingBlockExecution execution) {
try {
L3Network l3network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasks.java
index ee7f3697ae..61687081d9 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasks.java
@@ -22,8 +22,7 @@
package org.onap.so.bpmn.infrastructure.adapter.network.tasks;
-import java.util.Optional;
-
+import org.onap.so.adapters.nwrest.UpdateNetworkRequest;
import org.onap.so.adapters.nwrest.UpdateNetworkResponse;
import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
@@ -31,6 +30,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock;
import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
+import org.onap.so.client.adapter.network.mapper.NetworkAdapterObjectMapper;
import org.onap.so.client.exception.ExceptionBuilder;
import org.onap.so.client.orchestration.NetworkAdapterResources;
import org.slf4j.Logger;
@@ -45,7 +45,7 @@ public class NetworkAdapterUpdateTasks {
@Autowired
private ExtractPojosForBB extractPojosForBB;
@Autowired
- private NetworkAdapterResources networkAdapterResources;
+ private NetworkAdapterObjectMapper networkAdapterObjectMapper;
@Autowired
private ExceptionBuilder exceptionUtil;
@@ -54,14 +54,23 @@ public class NetworkAdapterUpdateTasks {
GeneralBuildingBlock gBBInput = execution.getGeneralBuildingBlock();
ServiceInstance serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID, execution.getLookupMap().get(ResourceKey.SERVICE_INSTANCE_ID));
L3Network l3Network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID, execution.getLookupMap().get(ResourceKey.NETWORK_ID));
- Optional<UpdateNetworkResponse> oUpdateNetworkResponse = networkAdapterResources.updateNetwork(gBBInput.getRequestContext(), gBBInput.getCloudRegion(), gBBInput.getOrchContext(), serviceInstance, l3Network, gBBInput.getUserInput(), gBBInput.getCustomer());
- if(oUpdateNetworkResponse.isPresent()) {
- UpdateNetworkResponse updateNetworkResponse = oUpdateNetworkResponse.get();
- execution.setVariable("NetworkAdapterUpdateNetworkResponse", updateNetworkResponse);
- }
+ UpdateNetworkRequest updateNetworkRequest = networkAdapterObjectMapper.createNetworkUpdateRequestMapper(gBBInput.getRequestContext(), gBBInput.getCloudRegion(), gBBInput.getOrchContext(), serviceInstance, l3Network, gBBInput.getUserInput(), gBBInput.getCustomer());
+ execution.setVariable("networkAdapterRequest", updateNetworkRequest);
+
} catch(Exception ex) {
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
}
}
+
+ public void processResponseFromOpenstack(BuildingBlockExecution execution) {
+ try {
+ UpdateNetworkResponse updateNetworkResponse = execution.getVariable("updateNetworkResponse");
+ if(updateNetworkResponse == null) {
+ throw new Exception("No response was sent back from NetworkAdapterRestV1 subflow.");
+ }
+ } catch (Exception ex) {
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
+ }
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/CloudSiteCatalogUtils.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/CloudSiteCatalogUtils.java
new file mode 100644
index 0000000000..bba883e727
--- /dev/null
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/CloudSiteCatalogUtils.java
@@ -0,0 +1,76 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.bpmn.infrastructure.flowspecific.tasks;
+
+import java.util.Optional;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.onap.so.client.exception.ExceptionBuilder;
+import org.onap.so.db.catalog.client.CatalogDbClient;
+import org.onap.so.db.catalog.beans.CloudSite;
+import org.onap.so.logger.MsoLogger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class CloudSiteCatalogUtils {
+
+ private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, CloudSiteCatalogUtils.class);
+ @Autowired
+ private ExceptionBuilder exceptionUtil;
+
+ @Autowired
+ private CatalogDbClient catalogDbClient;
+
+
+ public void getIdentityUrlFromCloudSite(DelegateExecution execution) {
+ String cloudRegionId = (String) execution.getVariable("lcpCloudRegionId");
+
+ if (cloudRegionId != null) {
+ Optional<CloudSite> cloudSite = getCloudSite(cloudRegionId);
+ if (!cloudSite.isPresent()) {
+ msoLogger.debug("Cloud Region with cloudRegionId " + cloudRegionId + " not found in Catalog DB");
+ exceptionUtil.buildAndThrowWorkflowException(execution, 404, "Cloud Region with cloudRegionId " + cloudRegionId + " not found in Catalog DB");
+ }
+
+ if (cloudSite.get().getIdentityService() == null) {
+ msoLogger.debug("No identityService found for Cloud Region with cloudRegionId " + cloudRegionId + " in Catalog DB");
+ exceptionUtil.buildAndThrowWorkflowException(execution, 404, "No identityService found for Cloud Region with cloudRegionId " + cloudRegionId + " in Catalog DB");
+ }
+ String identityUrl = cloudSite.get().getIdentityService().getIdentityUrl();
+
+ msoLogger.debug("identityUrl from Catalog DB is: " + identityUrl);
+ execution.setVariable("identityUrl", identityUrl);
+ }
+ }
+
+ protected Optional<CloudSite> getCloudSite(String id) {
+ if (id == null) {
+ return Optional.empty();
+ }
+ CloudSite cloudSite = catalogDbClient.getCloudSite(id);
+
+ if (cloudSite != null) {
+ return Optional.of(cloudSite);
+ } else {
+ return(Optional.of(catalogDbClient.getCloudSiteByClliAndAicVersion(id,"2.5")));
+ }
+ }
+} \ No newline at end of file
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java
index 701817ab58..2559087619 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java
@@ -110,8 +110,8 @@ public class VnfAdapterObjectMapper {
return deleteVolumeGroupRequest;
}
- public Map<String, String> createVolumeGroupParams(RequestContext requestContext,GenericVnf genericVnf, VolumeGroup volumeGroup, String sdncVfModuleQueryResponse) throws JsonParseException, JsonMappingException, IOException {
- Map<String, String> volumeGroupParams = new HashMap<>();
+ public Map<String, Object> createVolumeGroupParams(RequestContext requestContext,GenericVnf genericVnf, VolumeGroup volumeGroup, String sdncVfModuleQueryResponse) throws JsonParseException, JsonMappingException, IOException {
+ Map<String, Object> volumeGroupParams = new HashMap<>();
final String USER_PARAM_NAME_KEY = "name";
final String USER_PARAM_VALUE_KEY = "value";
// sdncVfModuleQueryResponse will not be available in aLaCarte case
@@ -147,7 +147,7 @@ public class VnfAdapterObjectMapper {
return msoRequest;
}
- private void buildParamsMapFromSdncParams(Map<String,String> volumeGroupParams, GenericResourceApiParam sdncParameters) {
+ private void buildParamsMapFromSdncParams(Map<String,Object> volumeGroupParams, GenericResourceApiParam sdncParameters) {
if (sdncParameters != null) {
List<GenericResourceApiParamParam> sdncParametersList = sdncParameters.getParam();
if (sdncParametersList != null) {
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java
index 352d4ec7d1..98174d59b6 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapper.java
@@ -161,7 +161,7 @@ public class VnfAdapterVfModuleObjectMapper {
return msoRequest;
}
- private Map<String,String> buildVfModuleParamsMap(RequestContext requestContext, ServiceInstance serviceInstance, GenericVnf genericVnf,
+ private Map<String,Object> buildVfModuleParamsMap(RequestContext requestContext, ServiceInstance serviceInstance, GenericVnf genericVnf,
VfModule vfModule, String sdncVnfQueryResponse, String sdncVfModuleQueryResponse) throws JsonParseException, JsonMappingException, IOException {
@@ -169,7 +169,7 @@ public class VnfAdapterVfModuleObjectMapper {
GenericResourceApiVfModuleTopology vfModuleTop = mapper.readValue(sdncVfModuleQueryResponse, GenericResourceApiVfModuleTopology.class);
GenericResourceApiVnftopologyVnfTopology vnfTopology = vnfTop.getVnfTopology();
GenericResourceApiVfmoduletopologyVfModuleTopology vfModuleTopology = vfModuleTop.getVfModuleTopology();
- Map<String,String> paramsMap = new HashMap<>();
+ Map<String,Object> paramsMap = new HashMap<>();
if( vfModuleTopology.getSdncGeneratedCloudResources()) {
buildParamsMapFromVfModuleSdncResponse(paramsMap, vfModuleTopology, true);
@@ -184,17 +184,15 @@ public class VnfAdapterVfModuleObjectMapper {
buildMandatoryParamsMap(paramsMap, serviceInstance, genericVnf, vfModule);
// Parameters received from the request should overwrite any parameters received from SDNC
+ paramsMap.putAll(requestContext.getUserParams());
- if (requestContext.getUserParams() != null) {
- paramsMap.putAll(requestContext.getUserParams());
- }
if (vfModule.getCloudParams() != null) {
paramsMap.putAll(vfModule.getCloudParams());
}
return paramsMap;
}
- private void buildMandatoryParamsMap(Map<String,String> paramsMap, ServiceInstance serviceInstance, GenericVnf genericVnf, VfModule vfModule) {
+ private void buildMandatoryParamsMap(Map<String,Object> paramsMap, ServiceInstance serviceInstance, GenericVnf genericVnf, VfModule vfModule) {
paramsMap.put("vnf_id", genericVnf.getVnfId());
paramsMap.put("vnf_name", genericVnf.getVnfName());
paramsMap.put("vf_module_id", vfModule.getVfModuleId());
@@ -209,7 +207,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- private void buildParamsMapFromVnfSdncResponse(Map<String,String> paramsMap, GenericResourceApiVnftopologyVnfTopology vnfTopology, Map<String,String> networkRoleMap, boolean skipVnfResourceAssignments) throws JsonParseException, JsonMappingException, IOException {
+ private void buildParamsMapFromVnfSdncResponse(Map<String,Object> paramsMap, GenericResourceApiVnftopologyVnfTopology vnfTopology, Map<String,String> networkRoleMap, boolean skipVnfResourceAssignments) throws JsonParseException, JsonMappingException, IOException {
// Get VNF parameters from SDNC response
GenericResourceApiParam vnfParametersData = vnfTopology.getVnfParametersData();
buildParamsMapFromSdncParams(paramsMap, vnfParametersData);
@@ -225,7 +223,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- private void buildAvailabilityZones (Map<String,String> paramsMap, GenericResourceApiVnfresourceassignmentsVnfResourceAssignments vnfResourceAssignments) {
+ private void buildAvailabilityZones (Map<String,Object> paramsMap, GenericResourceApiVnfresourceassignmentsVnfResourceAssignments vnfResourceAssignments) {
GenericResourceApiVnfresourceassignmentsVnfresourceassignmentsAvailabilityZones availabilityZones = vnfResourceAssignments.getAvailabilityZones();
if (availabilityZones != null) {
List<String> availabilityZonesList = availabilityZones.getAvailabilityZone();
@@ -237,7 +235,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- private void buildVnfNetworks (Map<String,String> paramsMap, GenericResourceApiVnfresourceassignmentsVnfResourceAssignments vnfResourceAssignments, Map<String,String> networkRoleMap) {
+ private void buildVnfNetworks (Map<String,Object> paramsMap, GenericResourceApiVnfresourceassignmentsVnfResourceAssignments vnfResourceAssignments, Map<String,String> networkRoleMap) {
GenericResourceApiVnfresourceassignmentsVnfresourceassignmentsVnfNetworks vnfNetworks = vnfResourceAssignments.getVnfNetworks();
if (vnfNetworks != null) {
List<GenericResourceApiVnfNetworkData> vnfNetworksList = vnfNetworks.getVnfNetwork();
@@ -264,7 +262,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- private void buildVnfNetworkSubnets(Map<String,String> paramsMap, GenericResourceApiVnfNetworkData vnfNetwork, String vnfNetworkKey) {
+ private void buildVnfNetworkSubnets(Map<String,Object> paramsMap, GenericResourceApiVnfNetworkData vnfNetwork, String vnfNetworkKey) {
String vnfNetworkString = convertToString(vnfNetwork);
Optional<String> ipv4Ips = jsonPath.locateResult(vnfNetworkString, "$.subnets-data.subnet-data[*].[?(@.ip-version == 'ipv4' && @.dhcp-enabled == 'Y')].subnet-id");
if(ipv4Ips.isPresent())
@@ -275,7 +273,7 @@ public class VnfAdapterVfModuleObjectMapper {
addPairToMap(paramsMap, vnfNetworkKey, V6_SUBNET_ID, ipv6Ips.get());
}
- private void buildParamsMapFromVfModuleSdncResponse(Map<String,String> paramsMap, GenericResourceApiVfmoduletopologyVfModuleTopology vfModuleTopology, boolean skipVfModuleAssignments) throws JsonParseException, JsonMappingException, IOException {
+ private void buildParamsMapFromVfModuleSdncResponse(Map<String,Object> paramsMap, GenericResourceApiVfmoduletopologyVfModuleTopology vfModuleTopology, boolean skipVfModuleAssignments) throws JsonParseException, JsonMappingException, IOException {
// Get VF Module parameters from SDNC response
GenericResourceApiParam vfModuleParametersData = vfModuleTopology.getVfModuleParameters();
buildParamsMapFromSdncParams(paramsMap, vfModuleParametersData);
@@ -322,7 +320,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- protected void buildVlanInformation(Map<String, String> paramsMap,
+ protected void buildVlanInformation(Map<String, Object> paramsMap,
GenericResourceApiVmNetworkData network, String key, String networkKey) {
String networkString = convertToString(network);
@@ -352,7 +350,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- private void buildVfModuleVmNames(Map<String,String> paramsMap, GenericResourceApiVmTopologyData vm, String key) {
+ private void buildVfModuleVmNames(Map<String,Object> paramsMap, GenericResourceApiVmTopologyData vm, String key) {
String values = "";
GenericResourceApiVmtopologydataVmNames vmNames = vm.getVmNames();
if (vmNames != null) {
@@ -373,7 +371,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- private void buildVfModuleFloatingIps(Map<String,String> paramsMap, GenericResourceApiVmNetworkData network, String key, String networkKey) {
+ private void buildVfModuleFloatingIps(Map<String,Object> paramsMap, GenericResourceApiVmNetworkData network, String key, String networkKey) {
GenericResourceApiVmnetworkdataFloatingIps floatingIps = network.getFloatingIps();
if (floatingIps != null) {
List<String> floatingIpV4List = floatingIps.getFloatingIpV4();
@@ -397,7 +395,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- private void buildVfModuleInterfaceRoutePrefixes(Map<String,String> paramsMap, GenericResourceApiVmNetworkData network, String key, String networkKey) {
+ private void buildVfModuleInterfaceRoutePrefixes(Map<String,Object> paramsMap, GenericResourceApiVmNetworkData network, String key, String networkKey) {
GenericResourceApiVmnetworkdataInterfaceRoutePrefixes interfaceRoutePrefixes = network.getInterfaceRoutePrefixes();
if (interfaceRoutePrefixes != null) {
List<String> interfaceRoutePrefixesList = interfaceRoutePrefixes.getInterfaceRoutePrefix();
@@ -421,7 +419,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- private void buildVfModuleSriovParameters(Map<String,String> paramsMap, GenericResourceApiVmNetworkData network, String networkKey) {
+ private void buildVfModuleSriovParameters(Map<String,Object> paramsMap, GenericResourceApiVmNetworkData network, String networkKey) {
// SRIOV Parameters
GenericResourceApiVmnetworkdataSriovParameters sriovParameters = network.getSriovParameters();
if (sriovParameters != null) {
@@ -447,7 +445,7 @@ public class VnfAdapterVfModuleObjectMapper {
}
}
- private void buildVfModuleNetworkInformation(Map<String,String> paramsMap, GenericResourceApiVmNetworkData network, String key, String networkKey) {
+ private void buildVfModuleNetworkInformation(Map<String,Object> paramsMap, GenericResourceApiVmNetworkData network, String key, String networkKey) {
GenericResourceApiVmnetworkdataNetworkInformationItems networkInformationItems = network.getNetworkInformationItems();
StringBuilder sbIpv4Ips = new StringBuilder();
@@ -500,7 +498,7 @@ public class VnfAdapterVfModuleObjectMapper {
* Build Count of SubInterfaces, VLAN Tag, network_name, network_id,
* ip_address (V4 and V6) and Floating IPs Addresses (V4 and V6) for Heat Template
*/
- private void buildParamsMapFromVfModuleForHeatTemplate(Map<String,String> paramsMap, GenericResourceApiVmTopologyData vm) {
+ private void buildParamsMapFromVfModuleForHeatTemplate(Map<String,Object> paramsMap, GenericResourceApiVmTopologyData vm) {
GenericResourceApiVmtopologydataVmNames vmNames = vm.getVmNames();
if (vmNames != null) {
@@ -520,7 +518,7 @@ public class VnfAdapterVfModuleObjectMapper {
/*
* Parse vnfcNames data to build Mapping from GenericResourceApi SDNC for Heat Template.
*/
- private void parseVnfcNamesData(Map<String,String> paramsMap, GenericResourceApiVmtopologydataVmnamesVnfcNames vnfcNames) {
+ private void parseVnfcNamesData(Map<String,Object> paramsMap, GenericResourceApiVmtopologydataVmnamesVnfcNames vnfcNames) {
if (vnfcNames != null) {
GenericResourceApiVnfcNetworkData vnfcNetworks = vnfcNames.getVnfcNetworks();
@@ -544,7 +542,7 @@ public class VnfAdapterVfModuleObjectMapper {
* Build Count of SubInterfaces, VLAN Tag, network_name, network_id,
* ip_address (V4 and V6) and Floating IPs Addresses (V4 and V6) for Heat Template
*/
- private void parseVnfcNetworkData(Map<String,String> paramsMap, GenericResourceApiVnfcnetworkdataVnfcNetworkData vnfcNetworkdata, int networkDataIdx) {
+ private void parseVnfcNetworkData(Map<String,Object> paramsMap, GenericResourceApiVnfcnetworkdataVnfcNetworkData vnfcNetworkdata, int networkDataIdx) {
String vmTypeKey = vnfcNetworkdata.getVnfcType();
GenericResourceApiVnfcnetworkdataVnfcnetworkdataVnfcPorts vnfcPorts = vnfcNetworkdata.getVnfcPorts();
@@ -588,7 +586,7 @@ public class VnfAdapterVfModuleObjectMapper {
* Example: fw_subint_ctrl_port_0_subintcount
*
*/
- private void buildVfModuleSubInterfacesCount(Map<String,String> paramsMap, String keyPrefix, GenericResourceApiSubInterfaceNetworkData vnicSubInterfaces) {
+ private void buildVfModuleSubInterfacesCount(Map<String,Object> paramsMap, String keyPrefix, GenericResourceApiSubInterfaceNetworkData vnicSubInterfaces) {
List<GenericResourceApiSubinterfacenetworkdataSubInterfaceNetworkData> subInterfaceNetworkDataList = vnicSubInterfaces.getSubInterfaceNetworkData();
@@ -614,7 +612,7 @@ public class VnfAdapterVfModuleObjectMapper {
* Example: fw_0_subint_ctrl_port_0_vlan_ids
*
*/
- protected void buildVfModuleVlanTag(Map<String,String> paramsMap, String keyPrefix, String vnicSubInterfaces) {
+ protected void buildVfModuleVlanTag(Map<String,Object> paramsMap, String keyPrefix, String vnicSubInterfaces) {
List<String> vlanTagIds = jsonPath.locateResultList(vnicSubInterfaces, "$.sub-interface-network-data[*].vlan-tag-id");
@@ -627,7 +625,7 @@ public class VnfAdapterVfModuleObjectMapper {
* Example: fw_0_subint_ctrl_port_0_net_names
*
*/
- protected void buildVfModuleNetworkName(Map<String,String> paramsMap, String keyPrefix, String vnicSubInterfaces) {
+ protected void buildVfModuleNetworkName(Map<String,Object> paramsMap, String keyPrefix, String vnicSubInterfaces) {
List<String> neworkNames = jsonPath.locateResultList(vnicSubInterfaces, "$.sub-interface-network-data[*].network-name");
@@ -641,7 +639,7 @@ public class VnfAdapterVfModuleObjectMapper {
* Example: fw_0_subint_ctrl_port_0_net_ids
*
*/
- protected void buildVfModuleNetworkId(Map<String,String> paramsMap, String keyPrefix, String vnicSubInterfaces) {
+ protected void buildVfModuleNetworkId(Map<String,Object> paramsMap, String keyPrefix, String vnicSubInterfaces) {
List<String> neworkIds = jsonPath.locateResultList(vnicSubInterfaces, "$.sub-interface-network-data[*].network-id");
@@ -654,7 +652,7 @@ public class VnfAdapterVfModuleObjectMapper {
* {vm-type}_{index}_subint_{network-role}_port_{index}_ip_{index} -- for ipV4
* key = vm-type, networkRoleKey = NetWork-Role
*/
- protected void buildVfModuleIpV4AddressHeatTemplate(Map<String,String> paramsMap, String keyPrefix, String vnicSubInterfaces) {
+ protected void buildVfModuleIpV4AddressHeatTemplate(Map<String,Object> paramsMap, String keyPrefix, String vnicSubInterfaces) {
List<String> ipv4Ips = jsonPath.locateResultList(vnicSubInterfaces, "$.sub-interface-network-data[*].network-information-items.network-information-item[?(@.ip-version == 'ipv4')].network-ips.network-ip[*]");
@@ -672,7 +670,7 @@ public class VnfAdapterVfModuleObjectMapper {
* {vm-type}_{index}_subint_{network-role}_port_{index}_v6_ip_{index} -- for ipV6
* key = vm-type, networkRoleKey = NetWork-Role
*/
- protected void buildVfModuleIpV6AddressHeatTemplate(Map<String,String> paramsMap, String keyPrefix, String vnicSubInterfaces) {
+ protected void buildVfModuleIpV6AddressHeatTemplate(Map<String,Object> paramsMap, String keyPrefix, String vnicSubInterfaces) {
List<String> ipv6Ips = jsonPath.locateResultList(vnicSubInterfaces, "$.sub-interface-network-data[*].network-information-items.network-information-item[?(@.ip-version == 'ipv6')].network-ips.network-ip[*]");
@@ -688,7 +686,7 @@ public class VnfAdapterVfModuleObjectMapper {
* Building Criteria :
* {vm-type}_subint_{network-role}_port_{index}_floating_ip -- for ipV4
*/
- protected void buildVfModuleFloatingIpV4HeatTemplate(Map<String,String> paramsMap, String keyPrefix, String vnicSubInterfaces) {
+ protected void buildVfModuleFloatingIpV4HeatTemplate(Map<String,Object> paramsMap, String keyPrefix, String vnicSubInterfaces) {
List<String> floatingV4 = jsonPath.locateResultList(vnicSubInterfaces, "$.sub-interface-network-data[*].floating-ips.floating-ip-v4[*]");
@@ -704,7 +702,7 @@ public class VnfAdapterVfModuleObjectMapper {
* Building Criteria :
* {vm-type}_subint_{network-role}_port_{index}_floating_v6_ip -- for ipV6
*/
- protected void buildVfModuleFloatingIpV6HeatTemplate(Map<String,String> paramsMap, String keyPrefix, String vnicSubInterfaces) {
+ protected void buildVfModuleFloatingIpV6HeatTemplate(Map<String,Object> paramsMap, String keyPrefix, String vnicSubInterfaces) {
List<String> floatingV6 = jsonPath.locateResultList(vnicSubInterfaces, "$.sub-interface-network-data[*].floating-ips.floating-ip-v6[*]");
@@ -714,19 +712,19 @@ public class VnfAdapterVfModuleObjectMapper {
addPairToMap(paramsMap, keyPrefix, FLOATING_V6_IP, floatingV6);
}
- protected void addPairToMap(Map<String, String> paramsMap, String keyPrefix, String key, String value) {
+ protected void addPairToMap(Map<String, Object> paramsMap, String keyPrefix, String key, String value) {
addPairToMap(paramsMap, keyPrefix, key, Collections.singletonList(value));
}
- protected void addPairToMap(Map<String, String> paramsMap, String keyPrefix, String key, List<String> value) {
+ protected void addPairToMap(Map<String, Object> paramsMap, String keyPrefix, String key, List<String> value) {
if (!value.isEmpty()) {
paramsMap.put(keyPrefix + key, Joiner.on(",").join(value));
}
}
- private void buildParamsMapFromSdncParams(Map<String,String> paramsMap, GenericResourceApiParam parametersData) {
+ private void buildParamsMapFromSdncParams(Map<String,Object> paramsMap, GenericResourceApiParam parametersData) {
if (parametersData != null) {
List<GenericResourceApiParamParam> paramsList = parametersData.getParam();
if (paramsList != null) {
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapper.java
index 2cd0947fa8..e46c456f88 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapper.java
@@ -22,16 +22,27 @@ package org.onap.so.client.sdnc.mapper;
import java.net.URI;
-import org.onap.sdnc.northbound.client.model.*;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.*;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiConfigurationinformationConfigurationInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiGcTopologyOperationInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiGcrequestinputGcRequestInput;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestinformationRequestInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
import org.onap.so.client.sdnc.beans.SDNCSvcAction;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component(value = "sdncGCTopologyOperationRequestMapper")
public class GCTopologyOperationRequestMapper {
- private static final GeneralTopologyObjectMapper generalTopologyObjectMapper = new GeneralTopologyObjectMapper();
+ @Autowired
+ private GeneralTopologyObjectMapper generalTopologyObjectMapper;
public GenericResourceApiGcTopologyOperationInformation assignOrActivateVnrReqMapper(SDNCSvcAction svcAction,
GenericResourceApiRequestActionEnumeration reqAction,
@@ -82,5 +93,4 @@ public class GCTopologyOperationRequestMapper {
}
-
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapper.java
index 7632831111..fedbde251e 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapper.java
@@ -20,18 +20,42 @@
package org.onap.so.client.sdnc.mapper;
-import org.onap.sdnc.northbound.client.model.*;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.*;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.onap.sdnc.northbound.client.model.GenericResourceApiConfigurationinformationConfigurationInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiGcrequestinputGcRequestInput;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkinformationNetworkInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiOnapmodelinformationOnapModelInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestinformationRequestInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVfmoduleinformationVfModuleInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfinformationVnfInformation;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
+import org.onap.so.client.exception.MapperException;
import org.onap.so.client.sdnc.beans.SDNCSvcAction;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.env.Environment;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import org.onap.so.client.exception.MapperException;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
@Component
public class GeneralTopologyObjectMapper {
+ private static final Logger logger = LoggerFactory.getLogger(GeneralTopologyObjectMapper.class);
+ private ObjectMapper mapper = new ObjectMapper();
/*
* Build GenericResourceApiRequestinformationRequestInformation
@@ -194,4 +218,22 @@ public class GeneralTopologyObjectMapper {
}
return gcRequestInput;
}
+
+
+ public String mapUserParamValue(Object value) {
+ if (value == null) {
+ return null;
+ } else {
+ if (value instanceof Map || value instanceof Set || value instanceof List) {
+ try {
+ return mapper.writeValueAsString(value);
+ } catch (JsonProcessingException e) {
+ logger.error("could not map value to string", e);
+ throw new IllegalArgumentException(e);
+ }
+ } else {
+ return value.toString();
+ }
+ }
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapper.java
index 2b4834af42..188a228e5d 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapper.java
@@ -23,15 +23,6 @@ package org.onap.so.client.sdnc.mapper;
import java.util.Map;
import java.util.UUID;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
-import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
-import org.onap.so.client.sdnc.beans.SDNCSvcAction;
-import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
-import org.springframework.stereotype.Component;
-
import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkOperationInformation;
import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkinformationNetworkInformation;
import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkrequestinputNetworkRequestInput;
@@ -41,6 +32,15 @@ import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnum
import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestinformationRequestInformation;
import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
+import org.onap.so.client.sdnc.beans.SDNCSvcAction;
+import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
/**
* Mapper creating SDNC request
@@ -49,7 +49,8 @@ import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformatio
@Component
public class NetworkTopologyOperationRequestMapper {
- static GeneralTopologyObjectMapper generalTopologyObjectMapper = new GeneralTopologyObjectMapper();
+ @Autowired
+ private GeneralTopologyObjectMapper generalTopologyObjectMapper;
public GenericResourceApiNetworkOperationInformation reqMapper(SDNCSvcOperation svcOperation,
SDNCSvcAction svcAction, GenericResourceApiRequestActionEnumeration reqAction, L3Network network, ServiceInstance serviceInstance,
@@ -68,11 +69,11 @@ public class NetworkTopologyOperationRequestMapper {
req.setNetworkInformation(networkInformation);
if (requestContext.getUserParams() != null) {
- for (Map.Entry<String, String> entry : requestContext.getUserParams().entrySet()) {
+ for (Map.Entry<String, Object> entry : requestContext.getUserParams().entrySet()) {
GenericResourceApiParam networkInputParameters = new GenericResourceApiParam();
GenericResourceApiParamParam paramItem = new GenericResourceApiParamParam();
- paramItem.setName(entry.getKey());
- paramItem.setValue(entry.getValue());
+ paramItem.setName(entry.getKey());
+ paramItem.setValue(generalTopologyObjectMapper.mapUserParamValue(entry.getValue()));
networkInputParameters.addParamItem(paramItem);
networkRequestInput.setNetworkInputParameters(networkInputParameters);
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapper.java
index 5b23707cb9..505466b22c 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapper.java
@@ -23,13 +23,6 @@ package org.onap.so.client.sdnc.mapper;
import java.util.Map;
import java.util.UUID;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
-import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
-import org.onap.so.client.sdnc.beans.SDNCSvcAction;
-import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
-import org.springframework.stereotype.Component;
-
import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
@@ -38,11 +31,19 @@ import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheader
import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceOperationInformation;
import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
import org.onap.sdnc.northbound.client.model.GenericResourceApiServicerequestinputServiceRequestInput;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
+import org.onap.so.client.sdnc.beans.SDNCSvcAction;
+import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
@Component
public class ServiceTopologyOperationMapper{
- static GeneralTopologyObjectMapper generalTopologyObjectMapper = new GeneralTopologyObjectMapper();
+ @Autowired
+ public GeneralTopologyObjectMapper generalTopologyObjectMapper;
public GenericResourceApiServiceOperationInformation reqMapper (SDNCSvcOperation svcOperation,
SDNCSvcAction svcAction, GenericResourceApiRequestActionEnumeration resourceAction,ServiceInstance serviceInstance, Customer customer, RequestContext requestContext) {
@@ -62,13 +63,13 @@ public class ServiceTopologyOperationMapper{
servOpInput.setServiceRequestInput(servReqInfo);
if(requestContext.getUserParams()!=null){
- for (Map.Entry<String, String> entry : requestContext.getUserParams().entrySet()) {
+ for (Map.Entry<String, Object> entry : requestContext.getUserParams().entrySet()) {
GenericResourceApiServicerequestinputServiceRequestInput serviceRequestInput = new GenericResourceApiServicerequestinputServiceRequestInput();
serviceRequestInput.setServiceInstanceName(serviceInstance.getServiceInstanceName());
GenericResourceApiParam serviceInputParameters = new GenericResourceApiParam();
GenericResourceApiParamParam paramItem = new GenericResourceApiParamParam();
paramItem.setName(entry.getKey());
- paramItem.setValue(entry.getValue());
+ paramItem.setValue(generalTopologyObjectMapper.mapUserParamValue(entry.getValue()));
serviceInputParameters.addParamItem(paramItem );
serviceRequestInput.serviceInputParameters(serviceInputParameters);
servOpInput.setServiceRequestInput(serviceRequestInput );
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapper.java
index 8e0072b16c..f70ac8399f 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapper.java
@@ -25,13 +25,25 @@ package org.onap.so.client.sdnc.mapper;
import java.util.Map;
import java.util.UUID;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestinformationRequestInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiSvcActionEnumeration;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleResponseInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVfmoduleinformationVfModuleInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVfmodulerequestinputVfModuleRequestInput;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfinformationVnfInformation;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
import org.onap.so.client.exception.MapperException;
import org.onap.so.client.sdnc.beans.SDNCSvcAction;
import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
@@ -39,27 +51,17 @@ import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoLogger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestinformationRequestInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiSvcActionEnumeration;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfinformationVnfInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVfmoduleinformationVfModuleInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVfmodulerequestinputVfModuleRequestInput;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleResponseInformation;
-
import com.fasterxml.jackson.databind.ObjectMapper;
@Component
public class VfModuleTopologyOperationRequestMapper {
private static final Logger logger = LoggerFactory.getLogger(VfModuleTopologyOperationRequestMapper.class);
- static GeneralTopologyObjectMapper generalTopologyObjectMapper = new GeneralTopologyObjectMapper();
+
+ @Autowired
+ private GeneralTopologyObjectMapper generalTopologyObjectMapper;
public GenericResourceApiVfModuleOperationInformation reqMapper(SDNCSvcOperation svcOperation,
SDNCSvcAction svcAction, VfModule vfModule, VolumeGroup volumeGroup, GenericVnf vnf, ServiceInstance serviceInstance,
@@ -126,10 +128,10 @@ public class VfModuleTopologyOperationRequestMapper {
GenericResourceApiParam vfModuleInputParameters = new GenericResourceApiParam();
if (requestContext != null && requestContext.getUserParams() != null) {
- for (Map.Entry<String, String> entry : requestContext.getUserParams().entrySet()) {
+ for (Map.Entry<String, Object> entry : requestContext.getUserParams().entrySet()) {
GenericResourceApiParamParam paramItem = new GenericResourceApiParamParam();
paramItem.setName(entry.getKey());
- paramItem.setValue(entry.getValue());
+ paramItem.setValue(generalTopologyObjectMapper.mapUserParamValue(entry.getValue()));
vfModuleInputParameters.addParamItem(paramItem);
}
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapper.java
index e860d3cc48..7de393bb2f 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapper.java
@@ -26,6 +26,16 @@ import java.util.Map;
import java.util.UUID;
import org.apache.commons.lang.StringUtils;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestinformationRequestInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfOperationInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfinformationVnfInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfrequestinputVnfRequestInput;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfrequestinputVnfrequestinputVnfNetworkInstanceGroupIds;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
@@ -36,23 +46,14 @@ import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
import org.onap.so.client.sdnc.beans.SDNCSvcAction;
import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiParam;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestinformationRequestInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiSdncrequestheaderSdncRequestHeader;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceinformationServiceInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfOperationInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfinformationVnfInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfrequestinputVnfRequestInput;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfrequestinputVnfrequestinputVnfNetworkInstanceGroupIds;
-
@Component
public class VnfTopologyOperationRequestMapper {
- static GeneralTopologyObjectMapper generalTopologyObjectMapper = new GeneralTopologyObjectMapper();
+ @Autowired
+ private GeneralTopologyObjectMapper generalTopologyObjectMapper;
public GenericResourceApiVnfOperationInformation reqMapper(SDNCSvcOperation svcOperation, SDNCSvcAction svcAction,
GenericResourceApiRequestActionEnumeration requestAction, GenericVnf vnf, ServiceInstance serviceInstance,
@@ -84,10 +85,10 @@ public class VnfTopologyOperationRequestMapper {
GenericResourceApiParam vnfInputParameters = new GenericResourceApiParam();
if (requestContext.getUserParams() != null) {
- for (Map.Entry<String, String> entry : requestContext.getUserParams().entrySet()) {
+ for (Map.Entry<String, Object> entry : requestContext.getUserParams().entrySet()) {
GenericResourceApiParamParam paramItem = new GenericResourceApiParamParam();
paramItem.setName(entry.getKey());
- paramItem.setValue(entry.getValue());
+ paramItem.setValue(generalTopologyObjectMapper.mapUserParamValue(entry.getValue()));
vnfInputParameters.addParamItem(paramItem);
vnfRequestInput.setVnfInputParameters(vnfInputParameters);
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java
index 73d7257632..a8a249f386 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIUpdateTasksTest.java
@@ -43,6 +43,7 @@ import org.mockito.ArgumentMatchers;
import org.mockito.InjectMocks;
import org.mockito.Mockito;
import org.onap.so.adapters.nwrest.CreateNetworkResponse;
+import org.onap.so.adapters.nwrest.UpdateNetworkResponse;
import org.onap.so.bpmn.BaseTaskTest;
import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
@@ -456,6 +457,29 @@ public class AAIUpdateTasksTest extends BaseTaskTest{
String neutronSubnetId = createNetworkResponse.getSubnetMap().entrySet().iterator().next().getValue();
assertEquals(neutronSubnetId, network.getSubnets().get(0).getNeutronSubnetId());
}
+
+ @Test
+ public void updateNetworkUpdatedTest() throws Exception {
+ UpdateNetworkResponse updateNetworkResponse = new UpdateNetworkResponse();
+ updateNetworkResponse.setNeutronNetworkId("testNeutronNetworkId");
+ HashMap<String, String> subnetMap = new HashMap<>();
+ subnetMap.put("testSubnetId", "testNeutronSubnetId");
+ updateNetworkResponse.setSubnetMap(subnetMap);
+
+ network.getSubnets().add(subnet);
+
+ execution.setVariable("updateNetworkResponse", updateNetworkResponse);
+
+ doNothing().when(aaiNetworkResources).updateNetwork(network);
+ doNothing().when(aaiNetworkResources).updateSubnet(network, subnet);
+
+ aaiUpdateTasks.updateNetworkUpdated(execution);
+ verify(aaiNetworkResources, times(1)).updateNetwork(network);
+ verify(aaiNetworkResources, times(1)).updateSubnet(network, subnet);
+
+ String neutronSubnetId = updateNetworkResponse.getSubnetMap().entrySet().iterator().next().getValue();
+ assertEquals(neutronSubnetId, network.getSubnets().get(0).getNeutronSubnetId());
+ }
@Test
public void updateOrchestrationStatusNetworkTest() {
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasksTest.java
index 9f2f2fbdcc..478c512b0a 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/adapter/network/tasks/NetworkAdapterUpdateTasksTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.times;
@@ -39,6 +40,8 @@ import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.InjectMocks;
+import org.onap.so.adapters.nwrest.CreateNetworkRequest;
+import org.onap.so.adapters.nwrest.UpdateNetworkRequest;
import org.onap.so.adapters.nwrest.UpdateNetworkResponse;
import org.onap.so.bpmn.BaseTaskTest;
import org.onap.so.bpmn.common.BuildingBlockExecution;
@@ -83,35 +86,15 @@ public class NetworkAdapterUpdateTasksTest extends BaseTaskTest{
@Test
public void updateNetworkTest() throws Exception {
- UpdateNetworkResponse updateNetworkResponse = new UpdateNetworkResponse();
- updateNetworkResponse.setMessageId("messageId");
- updateNetworkResponse.setNetworkId("networkId");
- Optional<UpdateNetworkResponse> oUpdateNetworkResponse = Optional.of(updateNetworkResponse);
-
- doReturn(oUpdateNetworkResponse).when(networkAdapterResources).updateNetwork(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
-
- networkAdapterUpdateTasks.updateNetwork(execution);
-
- verify(networkAdapterResources, times(1)).updateNetwork(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
- assertEquals(updateNetworkResponse, execution.getVariable("NetworkAdapterUpdateNetworkResponse"));
- }
-
- @Test
- public void updateNetworkNoResponseTest() throws Exception {
- doReturn(Optional.empty()).when(networkAdapterResources).updateNetwork(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
-
+ String cloudRegionPo = "cloudRegionPo";
+ UpdateNetworkRequest updateNetworkRequest = new UpdateNetworkRequest();
+ execution.setVariable("cloudRegionPo", cloudRegionPo);
+
+ doReturn(updateNetworkRequest).when(networkAdapterObjectMapper).createNetworkUpdateRequestMapper(isA(RequestContext.class), isA(CloudRegion.class), isA(OrchestrationContext.class), isA(ServiceInstance.class), isA(L3Network.class), isA(Map.class), isA(Customer.class));
networkAdapterUpdateTasks.updateNetwork(execution);
-
- verify(networkAdapterResources, times(1)).updateNetwork(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
- assertNull(execution.getVariable("NetworkAdapterUpdateNetworkResponse"));
+ verify(networkAdapterObjectMapper, times(1)).createNetworkUpdateRequestMapper(requestContext, cloudRegion, orchestrationContext, serviceInstance, network, userInput, customer);
+ assertEquals(updateNetworkRequest, execution.getVariable("networkAdapterRequest"));
}
- @Test
- public void updateNetworkExceptionTest() throws UnsupportedEncodingException, NetworkAdapterClientException {
- expectedException.expect(BpmnError.class);
- doThrow(new NetworkAdapterClientException("ERROR")).when(networkAdapterResources).updateNetwork(any(RequestContext.class),any(CloudRegion.class),
- any(OrchestrationContext.class),eq(serviceInstance),eq(network),any(Map.class),any(Customer.class));
- doThrow(new BpmnError("BPMN Error")).when(exceptionUtil).buildAndThrowWorkflowException(any(BuildingBlockExecution.class), eq(7000), any(Exception.class));
- networkAdapterUpdateTasks.updateNetwork(execution);
- }
+
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/CloudSiteCatalogUtilsTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/CloudSiteCatalogUtilsTest.java
new file mode 100644
index 0000000000..125c97109c
--- /dev/null
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/CloudSiteCatalogUtilsTest.java
@@ -0,0 +1,88 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.bpmn.infrastructure.flowspecific.tasks;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.doReturn;
+import java.util.Optional;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.onap.so.bpmn.BaseTaskTest;
+
+import org.onap.so.db.catalog.beans.CloudIdentity;
+import org.onap.so.db.catalog.beans.CloudSite;
+
+public class CloudSiteCatalogUtilsTest extends BaseTaskTest {
+
+ @InjectMocks
+ private CloudSiteCatalogUtils cloudSiteCatalogUtils = new CloudSiteCatalogUtils();
+
+ @Test
+ public void testGetCloudSiteGetVersion30Test() throws Exception {
+ CloudSite cloudSite = new CloudSite();
+ String testCloudSiteId = "testCloudSiteId";
+ cloudSite.setClli(testCloudSiteId);
+ doReturn(cloudSite).when(catalogDbClient).getCloudSite(testCloudSiteId);
+ Optional<CloudSite> actualCloudSite = cloudSiteCatalogUtils.getCloudSite(testCloudSiteId);
+ assertEquals(actualCloudSite.get().getClli(), testCloudSiteId);
+ }
+
+ @Test
+ public void testGetCloudSiteGetVersion25Test() throws Exception {
+ CloudSite cloudSite = new CloudSite();
+ String testCloudSiteId = "testCloudSiteId";
+ cloudSite.setClli(testCloudSiteId);
+ doReturn(null).when(catalogDbClient).getCloudSite(testCloudSiteId);
+ doReturn(cloudSite).when(catalogDbClient).getCloudSiteByClliAndAicVersion(testCloudSiteId, "2.5");
+ Optional<CloudSite> actualCloudSite = cloudSiteCatalogUtils.getCloudSite(testCloudSiteId);
+ assertEquals(actualCloudSite.get().getClli(), testCloudSiteId);
+ }
+
+ @Test
+ public void testGetIdentityUrlFromCloudSiteSuccessTest() throws Exception {
+ CloudSite cloudSite = new CloudSite();
+ String testCloudSiteId = "testCloudSiteId";
+ String testIdentityUrl = "testIdentityUrl";
+ delegateExecution.setVariable("lcpCloudRegionId", testCloudSiteId);
+ cloudSite.setClli(testCloudSiteId);
+ CloudIdentity cloudIdentity = new CloudIdentity();
+ cloudIdentity.setIdentityUrl(testIdentityUrl);
+ cloudSite.setIdentityService(cloudIdentity);
+ doReturn(cloudSite).when(catalogDbClient).getCloudSite(testCloudSiteId);
+ cloudSiteCatalogUtils.getIdentityUrlFromCloudSite(delegateExecution);
+ String actualIdentityUrl = (String) delegateExecution.getVariable("identityUrl");
+ assertEquals(testIdentityUrl, actualIdentityUrl);
+ }
+
+ @Test
+ public void testGetIdentityUrlFromCloudSiteNoCloudIdProvidedTest() throws Exception {
+ CloudSite cloudSite = new CloudSite();
+ String testCloudSiteId = "testCloudSiteId";
+ String testIdentityUrl = "testIdentityUrl";
+ cloudSite.setClli(testCloudSiteId);
+ CloudIdentity cloudIdentity = new CloudIdentity();
+ cloudIdentity.setIdentityUrl(testIdentityUrl);
+ cloudSite.setIdentityService(cloudIdentity);
+ doReturn(cloudSite).when(catalogDbClient).getCloudSite(testCloudSiteId);
+ cloudSiteCatalogUtils.getIdentityUrlFromCloudSite(delegateExecution);
+ String actualIdentityUrl = (String) delegateExecution.getVariable("identityUrl");
+ assertEquals(null, actualIdentityUrl);
+ }
+}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java
index 339e9cbf17..5169663add 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java
@@ -72,7 +72,6 @@ public class VnfAdapterObjectMapperTest {
}
@Test
- @Ignore
public void test_createVolumeGroupRequestMapper() throws Exception {
RequestContext requestContext = new RequestContext();
requestContext.setMsoRequestId("msoRequestId");
@@ -123,7 +122,7 @@ public class VnfAdapterObjectMapperTest {
expectedCreateVolumeGroupRequest.setVfModuleType(volumeGroup.getModelInfoVfModule().getModelName());
expectedCreateVolumeGroupRequest.setModelCustomizationUuid(volumeGroup.getModelInfoVfModule().getModelCustomizationUUID());
- Map<String, String> volumeGroupParams = new HashMap<>();
+ Map<String, Object> volumeGroupParams = new HashMap<>();
volumeGroupParams.put("vnf_id", genericVnf.getVnfId());
volumeGroupParams.put("vnf_name", genericVnf.getVnfName());
volumeGroupParams.put("vf_module_id", volumeGroup.getVolumeGroupId());
@@ -201,7 +200,7 @@ public class VnfAdapterObjectMapperTest {
expectedCreateVolumeGroupRequest.setVfModuleType(volumeGroup.getModelInfoVfModule().getModelName());
expectedCreateVolumeGroupRequest.setModelCustomizationUuid(volumeGroup.getModelInfoVfModule().getModelCustomizationUUID());
- Map<String, String> volumeGroupParams = new HashMap<>();
+ Map<String, Object> volumeGroupParams = new HashMap<>();
volumeGroupParams.put("vnf_id", genericVnf.getVnfId());
volumeGroupParams.put("vnf_name", genericVnf.getVnfName());
volumeGroupParams.put("vf_module_id", volumeGroup.getVolumeGroupId());
@@ -285,7 +284,6 @@ public class VnfAdapterObjectMapperTest {
}
@Test
- @Ignore
public void test_createVolumeGroupParams() throws Exception {
GenericVnf genericVnf = new GenericVnf();
genericVnf.setVnfId("vnfId");
@@ -308,7 +306,7 @@ public class VnfAdapterObjectMapperTest {
expectedVolumeGroupParams.put("paramTwo", "paramTwoValue");
expectedVolumeGroupParams.put("paramThree", "paramThreeValue");
- Map<String, String> actualVolumeGroupParams = vnfAdapterObjectMapper.createVolumeGroupParams(requestContext,genericVnf, volumeGroup, sdncVfModuleQueryResponse);
+ Map<String, Object> actualVolumeGroupParams = vnfAdapterObjectMapper.createVolumeGroupParams(requestContext,genericVnf, volumeGroup, sdncVfModuleQueryResponse);
assertEquals(expectedVolumeGroupParams, actualVolumeGroupParams);
}
@@ -329,13 +327,12 @@ public class VnfAdapterObjectMapperTest {
expectedVolumeGroupParams.put("vf_module_id", volumeGroup.getVolumeGroupId());
expectedVolumeGroupParams.put("vf_module_name", volumeGroup.getVolumeGroupName());
RequestContext requestContext = new RequestContext();
- Map<String, String> actualVolumeGroupParams = vnfAdapterObjectMapper.createVolumeGroupParams(requestContext,genericVnf, volumeGroup, null);
+ Map<String, Object> actualVolumeGroupParams = vnfAdapterObjectMapper.createVolumeGroupParams(requestContext,genericVnf, volumeGroup, null);
assertEquals(expectedVolumeGroupParams, actualVolumeGroupParams);
}
@Test
- @Ignore
public void test_createVolumeGroupParams_with_user_params() throws Exception {
GenericVnf genericVnf = new GenericVnf();
genericVnf.setVnfId("vnfId");
@@ -366,7 +363,7 @@ public class VnfAdapterObjectMapperTest {
expectedVolumeGroupParams.put("paramThree", "paramThreeValue");
expectedVolumeGroupParams.put("userParamKey", "userParamValue");
- Map<String, String> actualVolumeGroupParams = vnfAdapterObjectMapper.createVolumeGroupParams(requestContext,genericVnf, volumeGroup, sdncVfModuleQueryResponse);
+ Map<String, Object> actualVolumeGroupParams = vnfAdapterObjectMapper.createVolumeGroupParams(requestContext,genericVnf, volumeGroup, sdncVfModuleQueryResponse);
assertEquals(expectedVolumeGroupParams, actualVolumeGroupParams);
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java
index a156c382d1..00e5c10f73 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java
@@ -76,7 +76,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value2");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -150,7 +150,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value2");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -223,7 +223,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value2");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -295,7 +295,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
//
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value2");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -375,7 +375,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
//
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value2");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -450,7 +450,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value2");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -521,7 +521,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value1");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -591,7 +591,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value1");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -661,7 +661,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value1");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -798,7 +798,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value1");
requestContext.setMsoRequestId("requestId");
requestContext.setUserParams(userParams);
@@ -853,7 +853,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest {
String json = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "grApiVmNetworkSubSectionWith5GParams.json")));
GenericResourceApiVmNetworkData network = omapper.readValue(json, GenericResourceApiVmNetworkData.class);
- Map<String, String> paramsMap = new HashMap<>();
+ Map<String, Object> paramsMap = new HashMap<>();
vfModuleObjectMapper.buildVlanInformation(paramsMap, network, "testKey", "testType");
assertEquals("1,3", paramsMap.get("testKey_testType_private_vlans"));
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperTest.java
index 160feed426..81d30e33c5 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperTest.java
@@ -67,7 +67,7 @@ public class VnfAdapterVfModuleObjectMapperTest {
@Test
public void addPairToMapTest() {
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
mapper.addPairToMap(map, "test", "_key", Arrays.asList("a", "b"));
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/SDNCConfigurationResourcesTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/SDNCConfigurationResourcesTest.java
index 4d90a3fcc9..0023066949 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/SDNCConfigurationResourcesTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/SDNCConfigurationResourcesTest.java
@@ -22,9 +22,7 @@ package org.onap.so.client.orchestration;
import static org.junit.Assert.assertNotNull;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.isA;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.times;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import java.net.URI;
@@ -35,10 +33,11 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.Spy;
import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiGcTopologyOperationInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
import org.onap.so.bpmn.common.data.TestDataSetup;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
@@ -47,19 +46,17 @@ import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
import org.onap.so.client.exception.BadResponseException;
import org.onap.so.client.exception.MapperException;
import org.onap.so.client.sdnc.SDNCClient;
-import org.onap.so.client.sdnc.endpoint.SDNCTopology;
+import org.onap.so.client.sdnc.beans.SDNCSvcAction;
import org.onap.so.client.sdnc.mapper.GCTopologyOperationRequestMapper;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiGcTopologyOperationInformation;
-
@RunWith(MockitoJUnitRunner.Silent.class)
public class SDNCConfigurationResourcesTest extends TestDataSetup{
@InjectMocks
private SDNCConfigurationResources sdncConfigurationResources = new SDNCConfigurationResources();
- @Spy
- GCTopologyOperationRequestMapper MOCK_gcTopologyMapper ;
+ @Mock
+ private GCTopologyOperationRequestMapper MOCK_gcTopologyMapper ;
@Mock
protected SDNCClient MOCK_sdncClient;
@@ -82,24 +79,34 @@ public class SDNCConfigurationResourcesTest extends TestDataSetup{
@Test
public void activateVnrConfigurationTest() throws BadResponseException, MapperException, URISyntaxException {
GenericResourceApiGcTopologyOperationInformation response = sdncConfigurationResources.activateVnrConfiguration(serviceInstance,requestContext,customer,vpnBondingLink.getVnrConfiguration(),vnf,"uuid",new URI("http://localhost"));
- assertNotNull(response);
+ verify(MOCK_gcTopologyMapper).assignOrActivateVnrReqMapper(
+ eq(SDNCSvcAction.ACTIVATE), eq(GenericResourceApiRequestActionEnumeration.CREATEGENERICCONFIGURATIONINSTANCE),
+ eq(serviceInstance), eq(requestContext), eq(customer), any(Configuration.class), any(GenericVnf.class), any(String.class), any(URI.class));
+
}
@Test
public void assignVnrConfigurationTest() throws BadResponseException, MapperException, URISyntaxException {
GenericResourceApiGcTopologyOperationInformation response = sdncConfigurationResources.assignVnrConfiguration(serviceInstance,requestContext,customer,vpnBondingLink.getVnrConfiguration(),vnf,"uuid",new URI("http://localhost"));
- assertNotNull(response);
+ verify(MOCK_gcTopologyMapper).assignOrActivateVnrReqMapper(
+ eq(SDNCSvcAction.ASSIGN), eq(GenericResourceApiRequestActionEnumeration.CREATEGENERICCONFIGURATIONINSTANCE),
+ eq(serviceInstance), eq(requestContext), eq(customer), any(Configuration.class), any(GenericVnf.class), any(String.class), any(URI.class));
+
}
@Test
public void unAssignVnrConfigurationTest() throws BadResponseException, MapperException , URISyntaxException{
GenericResourceApiGcTopologyOperationInformation response = sdncConfigurationResources.unAssignVnrConfiguration(serviceInstance,requestContext,vpnBondingLink.getVnrConfiguration(),"uuid",new URI("http://localhost"));
- assertNotNull(response);
+ verify(MOCK_gcTopologyMapper).deactivateOrUnassignVnrReqMapper(
+ eq(SDNCSvcAction.UNASSIGN), eq(serviceInstance), eq(requestContext), any(Configuration.class), any(String.class), any(URI.class));
+
}
@Test
public void deactivateVnrConfigurationTest() throws BadResponseException, MapperException , URISyntaxException{
GenericResourceApiGcTopologyOperationInformation response = sdncConfigurationResources.deactivateVnrConfiguration(serviceInstance,requestContext,vpnBondingLink.getVnrConfiguration(),"uuid",new URI("http://localhost"));
- assertNotNull(response);
+ verify(MOCK_gcTopologyMapper).deactivateOrUnassignVnrReqMapper(
+ eq(SDNCSvcAction.DEACTIVATE), eq(serviceInstance), eq(requestContext), any(Configuration.class), any(String.class), any(URI.class));
+
}
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapperTest.java
index f01eeaeae8..f4d442bbc3 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GCTopologyOperationRequestMapperTest.java
@@ -24,9 +24,15 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiGcTopologyOperationInformation;
import org.onap.so.bpmn.common.data.TestDataSetup;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
@@ -38,11 +44,14 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBondingLink;
import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
import org.onap.so.client.sdnc.beans.SDNCSvcAction;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiGcTopologyOperationInformation;
-
-
-public class GCTopologyOperationRequestMapperTest extends TestDataSetup{
+@RunWith(MockitoJUnitRunner.Silent.class)
+public class GCTopologyOperationRequestMapperTest extends TestDataSetup {
+
+ @Spy
+ private GeneralTopologyObjectMapper generalTopologyObjectMapper;
+
+ @InjectMocks
private GCTopologyOperationRequestMapper genObjMapper = new GCTopologyOperationRequestMapper();
@Test
@@ -80,13 +89,13 @@ public class GCTopologyOperationRequestMapperTest extends TestDataSetup{
private RequestContext getRequestContext() {
RequestContext requestContext = new RequestContext();
requestContext.setMsoRequestId("MsoRequestId");
- HashMap<String, String> userParams = getUserParams();
+ Map<String, Object> userParams = getUserParams();
requestContext.setUserParams(userParams);
return requestContext;
}
- private HashMap<String, String> getUserParams() {
- HashMap<String,String> userParams = new HashMap<>();
+ private Map<String, Object> getUserParams() {
+ Map<String,Object> userParams = new HashMap<>();
userParams.put("lppCustomerId","lppCustomerId");
return userParams;
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapperTest.java
index bf2cd347c0..3bb54278b6 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/GeneralTopologyObjectMapperTest.java
@@ -29,6 +29,7 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import java.util.HashMap;
+import java.util.Map;
import org.junit.After;
import org.junit.Before;
@@ -104,7 +105,7 @@ public class GeneralTopologyObjectMapperTest extends TestDataSetup {
customer.getServiceSubscription().getServiceInstances().add(serviceInstance);
//
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value1");
requestContext.setUserParams(userParams);
requestContext.setProductFamilyId("productFamilyId");
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapperTest.java
index 307fe289a1..6a14f8b567 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/NetworkTopologyOperationRequestMapperTest.java
@@ -29,9 +29,16 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
+import java.util.Map;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkOperationInformation;
+import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
@@ -45,10 +52,9 @@ import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
import org.onap.so.client.sdnc.beans.SDNCSvcAction;
import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiNetworkOperationInformation;
-import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
import com.fasterxml.jackson.databind.ObjectMapper;
+@RunWith(MockitoJUnitRunner.class)
public class NetworkTopologyOperationRequestMapperTest {
private final static String JSON_FILE_LOCATION = "src/test/resources/__files/BuildingBlocks/";
@@ -59,6 +65,12 @@ public class NetworkTopologyOperationRequestMapperTest {
private RequestContext requestContext;
private L3Network network;
private CloudRegion cloudRegion;
+
+ @Spy
+ private GeneralTopologyObjectMapper generalTopologyObjectMapper;
+
+ @InjectMocks
+ private NetworkTopologyOperationRequestMapper mapper = new NetworkTopologyOperationRequestMapper();
@Before
public void before() {
@@ -93,7 +105,7 @@ public class NetworkTopologyOperationRequestMapperTest {
serviceInstance.setCollection(networkCollection);
//
requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value1");
requestContext.setUserParams(userParams);
requestContext.setProductFamilyId("productFamilyId");
@@ -115,7 +127,6 @@ public class NetworkTopologyOperationRequestMapperTest {
@Test
public void createGenericResourceApiNetworkOperationInformationTest() throws Exception {
- NetworkTopologyOperationRequestMapper mapper = new NetworkTopologyOperationRequestMapper();
GenericResourceApiNetworkOperationInformation networkSDNCrequest = mapper.reqMapper(
SDNCSvcOperation.NETWORK_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, GenericResourceApiRequestActionEnumeration.CREATENETWORKINSTANCE, network, serviceInstance, customer,
requestContext, cloudRegion);
@@ -132,7 +143,6 @@ public class NetworkTopologyOperationRequestMapperTest {
@Test
public void reqMapperTest() throws Exception {
- NetworkTopologyOperationRequestMapper mapper = new NetworkTopologyOperationRequestMapper();
GenericResourceApiNetworkOperationInformation networkSDNCrequest = mapper.reqMapper(
SDNCSvcOperation.NETWORK_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, GenericResourceApiRequestActionEnumeration.CREATENETWORKINSTANCE, network, serviceInstance, customer,
requestContext, cloudRegion);
@@ -143,7 +153,6 @@ public class NetworkTopologyOperationRequestMapperTest {
@Test
public void reqMapperNoCollectionTest() throws Exception {
- NetworkTopologyOperationRequestMapper mapper = new NetworkTopologyOperationRequestMapper();
GenericResourceApiNetworkOperationInformation networkSDNCrequest = mapper.reqMapper(
SDNCSvcOperation.NETWORK_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, GenericResourceApiRequestActionEnumeration.CREATENETWORKINSTANCE, network, serviceInstanceNoCollection, customer,
requestContext, cloudRegion);
@@ -154,7 +163,7 @@ public class NetworkTopologyOperationRequestMapperTest {
@Test
public void createGenericResourceApiNetworkOperationInformation_UnassignTest() throws Exception {
- NetworkTopologyOperationRequestMapper mapperUnassign = new NetworkTopologyOperationRequestMapper();
+ NetworkTopologyOperationRequestMapper mapperUnassign = mapper;
GenericResourceApiNetworkOperationInformation networkSDNCrequestUnassign = mapperUnassign.reqMapper(
SDNCSvcOperation.NETWORK_TOPOLOGY_OPERATION, SDNCSvcAction.UNASSIGN, GenericResourceApiRequestActionEnumeration.DELETENETWORKINSTANCE, network, serviceInstance, customer,
requestContext, cloudRegion);
@@ -172,7 +181,6 @@ public class NetworkTopologyOperationRequestMapperTest {
@Test
public void createGenericResourceApiNetworkOperationInformationNoNetworkNameTest() throws Exception {
- NetworkTopologyOperationRequestMapper mapper = new NetworkTopologyOperationRequestMapper();
//set network name NULL
network.setNetworkName(null);
GenericResourceApiNetworkOperationInformation networkSDNCrequest = mapper.reqMapper(
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapperTest.java
index 5d8b31b3bf..0bf06a0bb0 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/ServiceTopologyOperationMapperTest.java
@@ -26,8 +26,13 @@ import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
+import java.util.Map;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
@@ -41,8 +46,15 @@ import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnum
import org.onap.sdnc.northbound.client.model.GenericResourceApiServiceOperationInformation;
import com.fasterxml.jackson.databind.ObjectMapper;
+@RunWith(MockitoJUnitRunner.class)
public class ServiceTopologyOperationMapperTest {
+ @Spy
+ private GeneralTopologyObjectMapper generalTopologyObjectMapper;
+
+ @InjectMocks
+ private ServiceTopologyOperationMapper mapper = new ServiceTopologyOperationMapper();
+
@Test
public void reqMapperTest() throws Exception {
// prepare and set service instance
@@ -64,12 +76,11 @@ public class ServiceTopologyOperationMapperTest {
//prepare RequestContext
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value1");
requestContext.setUserParams(userParams);
requestContext.setProductFamilyId("productFamilyId");
- ServiceTopologyOperationMapper mapper = new ServiceTopologyOperationMapper();
GenericResourceApiServiceOperationInformation serviceOpInformation = mapper.reqMapper(
SDNCSvcOperation.SERVICE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, GenericResourceApiRequestActionEnumeration.CREATESERVICEINSTANCE, serviceInstance, customer,
requestContext);
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapperTest.java
index 7d5aa9d1d9..282f23caa7 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VfModuleTopologyOperationRequestMapperTest.java
@@ -35,6 +35,10 @@ import java.util.Map;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
@@ -54,11 +58,18 @@ import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleOperationInformation;
import com.fasterxml.jackson.databind.ObjectMapper;
+@RunWith(MockitoJUnitRunner.class)
public class VfModuleTopologyOperationRequestMapperTest {
private final static String JSON_FILE_LOCATION = "src/test/resources/__files/BuildingBlocks/";
private final static String ERRORMESSAGE = "VF Module model info is null for testVfModuleId";
+ @Spy
+ private GeneralTopologyObjectMapper generalTopologyObjectMapper;
+
+ @InjectMocks
+ private VfModuleTopologyOperationRequestMapper mapper = new VfModuleTopologyOperationRequestMapper();
+
@Rule
public ExpectedException expectedException = ExpectedException.none();
@@ -84,7 +95,7 @@ public class VfModuleTopologyOperationRequestMapperTest {
customer.getServiceSubscription().getServiceInstances().add(serviceInstance);
//
RequestContext requestContext = new RequestContext();
- HashMap<String,String> userParams = new HashMap<String,String>();
+ Map<String,Object> userParams = new HashMap<>();
userParams.put("key1", "value1");
requestContext.setUserParams(userParams);
requestContext.setProductFamilyId("productFamilyId");
@@ -124,7 +135,6 @@ public class VfModuleTopologyOperationRequestMapperTest {
CloudRegion cloudRegion = new CloudRegion();
- VfModuleTopologyOperationRequestMapper mapper = new VfModuleTopologyOperationRequestMapper();
GenericResourceApiVfModuleOperationInformation vfModuleSDNCrequest = mapper.reqMapper(
SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, vfModule, volumeGroup, vnf, serviceInstance, customer,
cloudRegion, requestContext, null);
@@ -159,7 +169,6 @@ public class VfModuleTopologyOperationRequestMapperTest {
vfModule.setVfModuleId("testVfModuleId");
vfModule.setVfModuleName("testVfModuleName");
- VfModuleTopologyOperationRequestMapper mapper = new VfModuleTopologyOperationRequestMapper();
GenericResourceApiVfModuleOperationInformation vfModuleSDNCrequest = mapper.reqMapper(
SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.UNASSIGN, vfModule, null, vnf, serviceInstance, null,
null, null, null);
@@ -197,9 +206,9 @@ public class VfModuleTopologyOperationRequestMapperTest {
//
RequestContext requestContext = new RequestContext();
RequestParameters requestParameters = new RequestParameters();
- HashMap<String,Object> userParams1 = new HashMap<String,Object>();
+ HashMap<String,Object> userParams1 = new HashMap<>();
userParams1.put("key1", "value1");
- List<Map<String,Object>> userParams = new ArrayList<Map<String,Object>>();
+ List<Map<String,Object>> userParams = new ArrayList<>();
userParams.add(userParams1);
requestParameters.setUserParams(userParams);
@@ -230,7 +239,6 @@ public class VfModuleTopologyOperationRequestMapperTest {
CloudRegion cloudRegion = new CloudRegion();
- VfModuleTopologyOperationRequestMapper mapper = new VfModuleTopologyOperationRequestMapper();
GenericResourceApiVfModuleOperationInformation vfModuleSDNCrequest = mapper.reqMapper(
SDNCSvcOperation.VF_MODULE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, vfModule, null, vnf, serviceInstance, customer,
cloudRegion, requestContext, null);
@@ -261,7 +269,7 @@ public class VfModuleTopologyOperationRequestMapperTest {
customer.getServiceSubscription().getServiceInstances().add(serviceInstance);
//
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<String, Object>();
userParams.put("key1", "value1");
requestContext.setUserParams(userParams);
requestContext.setProductFamilyId("productFamilyId");
@@ -284,7 +292,6 @@ public class VfModuleTopologyOperationRequestMapperTest {
CloudRegion cloudRegion = new CloudRegion();
- VfModuleTopologyOperationRequestMapper mapper = new VfModuleTopologyOperationRequestMapper();
expectedException.expect(MapperException.class);
expectedException.expectMessage(ERRORMESSAGE);
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapperTest.java
index 63c3680e8c..229a8cf601 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapperTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/sdnc/mapper/VnfTopologyOperationRequestMapperTest.java
@@ -25,9 +25,14 @@ import static org.junit.Assert.assertNull;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Map;
import java.util.List;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
@@ -45,8 +50,15 @@ import org.onap.so.client.sdnc.beans.SDNCSvcOperation;
import org.onap.sdnc.northbound.client.model.GenericResourceApiRequestActionEnumeration;
import org.onap.sdnc.northbound.client.model.GenericResourceApiVnfOperationInformation;
+@RunWith(MockitoJUnitRunner.class)
public class VnfTopologyOperationRequestMapperTest {
+ @Spy
+ private GeneralTopologyObjectMapper generalTopologyObjectMapper;
+
+ @InjectMocks
+ private VnfTopologyOperationRequestMapper mapper = new VnfTopologyOperationRequestMapper();
+
@Test
public void reqMapperTest() throws Exception {
// prepare and set service instance
@@ -106,14 +118,13 @@ public class VnfTopologyOperationRequestMapperTest {
//prepare RequestContext
RequestContext requestContext = new RequestContext();
- HashMap<String, String> userParams = new HashMap<String, String>();
+ Map<String, Object> userParams = new HashMap<>();
userParams.put("key1", "value1");
requestContext.setUserParams(userParams);
requestContext.setProductFamilyId("productFamilyId");
CloudRegion cloudRegion = new CloudRegion();
- VnfTopologyOperationRequestMapper mapper = new VnfTopologyOperationRequestMapper();
GenericResourceApiVnfOperationInformation vnfOpInformation = mapper.reqMapper(
SDNCSvcOperation.VNF_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN,GenericResourceApiRequestActionEnumeration.CREATEVNFINSTANCE, vnf, serviceInstance, customer,
cloudRegion, requestContext,true);