aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfig.java6
-rw-r--r--adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java60
-rw-r--r--adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigFactoryTest.java164
-rw-r--r--adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigTest.java292
-rw-r--r--adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudSiteTest.java67
-rw-r--r--adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/MsoTenantTest.java42
-rw-r--r--adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/NetworkRollbackTest.java69
-rw-r--r--adapters/mso-adapter-utils/src/test/resources/cloud_config.json11
-rw-r--r--adapters/mso-adapter-utils/src/test/resources/cloud_default_config.json13
-rw-r--r--adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceErrorTest.java51
-rw-r--r--adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceRequestTest.java79
-rw-r--r--adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceResponseTest.java58
-rw-r--r--adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/ServiceInformationTest.java42
-rw-r--r--adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/impl/SDNCResponseTest.java49
-rw-r--r--adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/exceptions/ApplicationException.java2
-rw-r--r--bpmn/MSOCommonBPMN/pom.xml5
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilder.java131
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/RestClient.java11
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/entities/PolicyServiceType.java2
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilderTest.java35
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResource.java2
-rw-r--r--bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfigurationSetup.java2
-rw-r--r--bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/InventoryType.java2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy269
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateSDNCNetworkResource.bpmn97
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn (renamed from bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVFCNetworkServiceInstance.bpmn)4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateCustomE2EServiceInstance.bpmn337
-rw-r--r--common/src/main/java/org/openecomp/mso/logger/MsoLogger.java12
-rw-r--r--common/src/main/java/org/openecomp/mso/properties/MsoPropertiesParameters.java4
-rw-r--r--common/src/main/resources/ASDC.properties52
-rw-r--r--common/src/main/resources/ApiHandler.properties40
-rw-r--r--common/src/main/resources/BPMN.properties8
-rw-r--r--common/src/main/resources/GenericMessages.properties28
-rw-r--r--common/src/main/resources/ResourceAdapter.properties140
34 files changed, 1844 insertions, 342 deletions
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfig.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfig.java
index 5d16a95e5f..275241f768 100644
--- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfig.java
+++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfig.java
@@ -22,10 +22,10 @@ package org.openecomp.mso.cloud;
import java.io.FileReader;
import java.io.IOException;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
-
import java.util.Optional;
import org.codehaus.jackson.annotate.JsonProperty;
import org.codehaus.jackson.map.DeserializationConfig;
@@ -78,8 +78,8 @@ public class CloudConfig {
/**
* Get a map of all cloud sites that have been loaded.
*/
- public synchronized Map<String, CloudSite> getCloudSites() {
- return cloudSites;
+ public Map<String, CloudSite> getCloudSites() {
+ return Collections.unmodifiableMap(cloudSites);
}
/**
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java
index 445c135dab..144506c3bd 100644
--- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java
+++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java
@@ -20,12 +20,10 @@
package org.openecomp.mso.cloud;
-
import java.io.IOException;
import java.io.Serializable;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-
import javax.ejb.ConcurrencyManagement;
import javax.ejb.ConcurrencyManagementType;
import javax.ejb.LocalBean;
@@ -36,22 +34,17 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
-
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
-
+import org.openecomp.mso.logger.MessageEnum;
import org.openecomp.mso.logger.MsoLogger;
import org.openecomp.mso.openstack.exceptions.MsoCloudIdentityNotFound;
import org.openecomp.mso.openstack.utils.MsoHeatUtils;
import org.openecomp.mso.openstack.utils.MsoKeystoneUtils;
import org.openecomp.mso.openstack.utils.MsoNeutronUtils;
-import org.openecomp.mso.properties.MsoPropertiesException;
-import org.openecomp.mso.logger.MessageEnum;
/**
* This class returns a cloud Config instances
- *
- *
*/
@Singleton(name = "CloudConfigFactory")
@@ -62,13 +55,13 @@ public class CloudConfigFactory implements Serializable {
private static final long serialVersionUID = 2956662716453261085L;
- private static CloudConfig cloudConfigCache = new CloudConfig ();
+ private CloudConfig cloudConfigCache = new CloudConfig();
protected static String prefixMsoPropertiesPath = System.getProperty ("mso.config.path");
private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA);
- private static int refreshTimer;
+ private int refreshTimer;
private static final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock ();
@@ -79,7 +72,6 @@ public class CloudConfigFactory implements Serializable {
}
public void initializeCloudConfig (String filePath, int refreshTimer) throws MsoCloudIdentityNotFound {
-
rwl.writeLock ().lock ();
try {
cloudConfigCache.loadCloudConfig (prefixMsoPropertiesPath + filePath, refreshTimer);
@@ -95,18 +87,6 @@ public class CloudConfigFactory implements Serializable {
}
}
- public void changeMsoPropertiesFilePath (String newMsoPropPath) {
- rwl.writeLock ().lock ();
- try {
- CloudConfigFactory.cloudConfigCache.configFilePath = prefixMsoPropertiesPath + newMsoPropPath;
- } finally {
- rwl.writeLock ().unlock ();
- }
- }
-
- public CloudConfigFactory () {
- }
-
public CloudConfig getCloudConfig () {
rwl.readLock ().lock ();
try {
@@ -127,7 +107,7 @@ public class CloudConfigFactory implements Serializable {
* @return true if Properties have been reloaded, false otherwise
*/
@Schedule(minute = "*/1", hour = "*", persistent = false)
- public static void reloadCloudConfig () {
+ public void reloadCloudConfig () {
try {
if (!rwl.writeLock ().tryLock () && !rwl.writeLock ().tryLock (30L, TimeUnit.SECONDS)) {
@@ -180,23 +160,17 @@ public class CloudConfigFactory implements Serializable {
@Path("/showConfig")
@Produces("text/plain")
public Response showCloudConfig () {
- CloudConfig cloudConfig = this.getCloudConfig ();
- if (cloudConfig != null) {
- StringBuffer response = new StringBuffer ();
- response.append ("Cloud Sites:\n");
- for (CloudSite site : cloudConfig.getCloudSites ().values ()) {
- response.append(site.toString()).append("\n");
- }
-
- response.append ("\n\nCloud Identity Services:\n");
- for (CloudIdentity identity : cloudConfig.getIdentityServices ().values ()) {
- response.append(identity.toString()).append("\n");
- }
-
- return Response.status (200).entity (response).build ();
- } else {
- return Response.status (500).entity ("Cloud Config has not been loaded properly, this could be due to a bad JSON structure (Check the logs for additional details)").build ();
+ CloudConfig cloudConfig = this.getCloudConfig();
+ StringBuffer response = new StringBuffer();
+ response.append("Cloud Sites:\n");
+ for (CloudSite site : cloudConfig.getCloudSites().values()) {
+ response.append(site.toString()).append("\n");
+ }
+ response.append("\n\nCloud Identity Services:\n");
+ for (CloudIdentity identity : cloudConfig.getIdentityServices().values()) {
+ response.append(identity.toString()).append("\n");
}
+ return Response.status(200).entity(response).build();
}
@GET
@@ -207,8 +181,7 @@ public class CloudConfigFactory implements Serializable {
MsoKeystoneUtils.adminCacheReset ();
MsoHeatUtils.heatCacheReset ();
MsoNeutronUtils.neutronCacheReset ();
-
- String response = "Client caches reset. All entries removed.";
+ String response = "Client caches reset. All entries removed.";
return Response.status (200).entity (response).build ();
}
@@ -220,8 +193,7 @@ public class CloudConfigFactory implements Serializable {
MsoKeystoneUtils.adminCacheCleanup ();
MsoHeatUtils.heatCacheCleanup ();
MsoNeutronUtils.neutronCacheCleanup ();
-
- String response = "Client caches cleaned up. All expired entries removed";
+ String response = "Client caches cleaned up. All expired entries removed.";
return Response.status (200).entity (response).build ();
}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigFactoryTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigFactoryTest.java
new file mode 100644
index 0000000000..fe768b5774
--- /dev/null
+++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigFactoryTest.java
@@ -0,0 +1,164 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.cloud;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.util.HashMap;
+import java.util.Map;
+import javax.ws.rs.core.Response;
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.mso.openstack.exceptions.MsoCloudIdentityNotFound;
+
+public class CloudConfigFactoryTest {
+
+ private static final String CLOUD_CONFIG_FIELD_NAME = "cloudConfigCache";
+ private static final int REFRESH_TIMER_VALUE = 1;
+
+ private CloudConfigFactory testedObject;
+ private CloudConfig cloudConfigMock;
+
+ @Before
+ public void init() throws NoSuchFieldException, IllegalAccessException {
+ cloudConfigMock = mock(CloudConfig.class);
+ testedObject = new CloudConfigFactory();
+ setCloudConfig();
+ }
+
+ @Test
+ public void initializeCloudConfigSuccessful() throws MsoCloudIdentityNotFound, IOException {
+ ClassLoader classLoader = CloudConfigFactoryTest.class.getClassLoader();
+ String cloudConfigJsonFilePath = classLoader.getResource("cloud_config.json").getPath();
+ testedObject.initializeCloudConfig(cloudConfigJsonFilePath, REFRESH_TIMER_VALUE);
+ verify(cloudConfigMock).loadCloudConfig(cloudConfigJsonFilePath, REFRESH_TIMER_VALUE);
+ }
+
+ @Test
+ public void getValidCloudConfig() {
+ when(cloudConfigMock.isValidCloudConfig()).thenReturn(true);
+
+ testedObject.getCloudConfig();
+
+ verify(cloudConfigMock).clone();
+ }
+
+ @Test
+ public void getNotValidCloudConfig() {
+ when(cloudConfigMock.isValidCloudConfig()).thenReturn(false);
+
+ CloudConfig result = testedObject.getCloudConfig();
+
+ assertThat(result).isNotNull();
+ assertThat(result.getCloudSites()).isEmpty();
+ assertThat(result.getIdentityServices()).isEmpty();
+ }
+
+ @Test
+ public void reload_CloudConfigValid() throws IOException, MsoCloudIdentityNotFound {
+ when(cloudConfigMock.isValidCloudConfig()).thenReturn(true);
+
+ testedObject.reloadCloudConfig();
+
+ verify(cloudConfigMock).clone();
+ verify(cloudConfigMock).reloadPropertiesFile();
+ }
+
+ @Test
+ public void reload_CloudConfigNotValid()
+ throws IOException, MsoCloudIdentityNotFound {
+ when(cloudConfigMock.isValidCloudConfig()).thenReturn(false);
+
+ testedObject.reloadCloudConfig();
+
+ verify(cloudConfigMock).reloadPropertiesFile();
+ }
+
+ @Test
+ public void showCloudConfig() throws NoSuchFieldException, IllegalAccessException {
+ when(cloudConfigMock.isValidCloudConfig()).thenReturn(true);
+ when(cloudConfigMock.clone()).thenReturn(createCloudConfig("IdTest576", "identityTest456"));
+ Response response = testedObject.showCloudConfig();
+
+ assertThat(response.getStatus()).isEqualTo(200);
+ assertThat(response.getEntity().toString()).containsPattern("CloudSite:.*IdTest576")
+ .containsPattern("Cloud Identity Service:.*identityTest456");
+
+ }
+
+ @Test
+ public void resetClientCaches_Successful() {
+ Response response = testedObject.resetClientCaches();
+ assertThat(response.getStatus()).isEqualTo(200);
+ assertThat(response.getEntity().toString()).isEqualTo("Client caches reset. All entries removed.");
+ }
+
+ @Test
+ public void cleanUpClientCache_Successful() {
+ Response response = testedObject.cleanupClientCaches();
+ assertThat(response.getStatus()).isEqualTo(200);
+ assertThat(response.getEntity().toString()).isEqualTo("Client caches cleaned up. All expired entries removed.");
+ }
+
+ @Test
+ public void encryptPassword_Successful() {
+ Response response = testedObject.encryptPassword("passTest123");
+ String expectedEncryptedPassword = CloudIdentity.encryptPassword("passTest123");
+ assertThat(response.getStatus()).isEqualTo(200);
+ assertThat(response.getEntity().toString()).isEqualTo("Encrypted Password = "+expectedEncryptedPassword);
+ }
+
+ private CloudConfig createCloudConfig(String cloudSiteId, String identityServiceId)
+ throws NoSuchFieldException, IllegalAccessException {
+ CloudConfig cloudConfig = new CloudConfig();
+ Map<String, CloudSite> cloudSiteMap = new HashMap<>();
+ CloudSite cs = new CloudSite();
+ cs.setId(cloudSiteId);
+ cloudSiteMap.put("keyTest", cs);
+ Field cloudSitesField = cloudConfig.getClass().getDeclaredField("cloudSites");
+ cloudSitesField.setAccessible(true);
+ cloudSitesField.set(cloudConfig, cloudSiteMap);
+
+ Map<String, CloudIdentity> identityServicesMap = new HashMap<>();
+ CloudIdentity cloudIdentity = new CloudIdentity();
+ cloudIdentity.setId(identityServiceId);
+ identityServicesMap.put("identityKey", cloudIdentity);
+
+ Field identityServicesField = cloudConfig.getClass().getDeclaredField("identityServices");
+ identityServicesField.setAccessible(true);
+ identityServicesField.set(cloudConfig, identityServicesMap);
+
+ return cloudConfig;
+ }
+
+ private void setCloudConfig()
+ throws NoSuchFieldException, IllegalAccessException {
+ Field field = testedObject.getClass().getDeclaredField(CLOUD_CONFIG_FIELD_NAME);
+ field.setAccessible(true);
+ field.set(testedObject, cloudConfigMock);
+ }
+
+}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigTest.java
index 1c2501e8e4..5b6be03a22 100644
--- a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigTest.java
+++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigTest.java
@@ -20,161 +20,221 @@
package org.openecomp.mso.cloud;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertTrue;
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Optional;
-import org.junit.Assert;
-import org.junit.BeforeClass;
+import org.junit.Before;
import org.junit.Test;
-import java.util.Map;
import org.openecomp.mso.openstack.exceptions.MsoCloudIdentityNotFound;
public class CloudConfigTest {
- private static String cloudConfigJsonFilePath;
- private static String cloudDefaultConfigJsonFilePath;
- private static String cloudConfigInvalidJsonFilePath;
+ private static final int NUMBER_OF_CLOUD_SITES_IN_JSON_FILE = 4;
+ private static final int NUMBER_OF_IDENTITY_SERVICES_IN_JSON_FILE = 4;
+ private static final String CLOUD_SITES_FIELD_NAME = "cloudSites";
+ private static final String IDENTITY_SERVICE_FIELD_NAME = "identityServices";
+ private static final String CLOUD_SITE_DEFAULT = "default";
+ private static final String CLOUD_CONFIG_JSON_FILE_NAME = "cloud_config.json";
+ private static final String CLOUD_CONFIG_INVALID_JSON_FILE_NAME = "cloud_config_bad.json";
+
+ private CloudConfig testedObject;
+ private CloudSite cloudSite;
+ private CloudSite cloudSiteDefault;
+
+ @Before
+ public void init() {
+ testedObject = new CloudConfig();
+ }
- @BeforeClass
- public static void preparePaths() {
- ClassLoader classLoader = CloudConfigTest.class.getClassLoader();
- cloudConfigJsonFilePath = classLoader.getResource("cloud_config.json").getPath();
- cloudDefaultConfigJsonFilePath = classLoader.getResource("cloud_default_config.json").getPath();
- cloudConfigInvalidJsonFilePath = classLoader.getResource("cloud_config_bad.json").getPath();
+ @Test
+ public void cloudSite_returnEmptyOptionalIfIdIsNull() {
+ Optional<CloudSite> cloudConfigOpt = new CloudConfig().getCloudSite(null);
+ assertThat(cloudConfigOpt).isEmpty();
+ }
+
+ @Test
+ public void cloudSiteIsGotById_when_IdFound() throws NoSuchFieldException, IllegalAccessException {
+ setCloudSitesMap();
+ Optional<CloudSite> cloudSiteOpt = testedObject.getCloudSite(cloudSite.getId());
+ assertThat(cloudSiteOpt).isPresent();
+ assertThat(cloudSiteOpt.get().getId()).isEqualTo(cloudSite.getId());
+ assertThat(cloudSiteOpt.get().getClli()).isEqualTo(cloudSite.getClli());
+ }
+
+ @Test
+ public void cloudSiteIsGotByClli_when_IdNotFound() throws NoSuchFieldException, IllegalAccessException {
+ setCloudSitesMap();
+ Optional<CloudSite> cloudSiteOpt = testedObject.getCloudSite(cloudSite.getClli());
+ assertTrue(cloudSiteOpt.isPresent());
+ assertThat(cloudSiteOpt.get().getId()).isEqualTo(cloudSite.getId());
+ assertThat(cloudSiteOpt.get().getClli()).isEqualTo(cloudSite.getClli());
+ }
+
+ @Test
+ public void cloudSiteIsGotByDefault_when_IdAndClliNotFound() throws NoSuchFieldException, IllegalAccessException {
+ setCloudSitesMap();
+ Optional<CloudSite> cloudSiteOpt = testedObject.getCloudSite("not_existing_id");
+ assertTrue(cloudSiteOpt.isPresent());
+ assertThat(cloudSiteOpt.get().getId()).isEqualTo("not_existing_id");
+ assertThat(cloudSiteOpt.get().getClli()).isEqualTo(cloudSiteDefault.getClli());
+ }
+
+ @Test
+ public void cloudSiteNotFound_returnNull() {
+ assertThat(testedObject.getCloudSite("not_existing_id")).isEmpty();
+ }
+
+ @Test
+ public void identityServiceFoundById() throws NoSuchFieldException, IllegalAccessException {
+ CloudIdentity cloudIdentity = createCloudIdentity();
+ setIdentityServiceMap();
+ CloudIdentity cloudIdentityResult = testedObject.getIdentityService(cloudIdentity.getId());
+
+ assertThat(cloudIdentityResult).isNotNull();
+ assertThat(cloudIdentityResult.getId()).isEqualTo(cloudIdentity.getId());
+ assertThat(cloudIdentityResult.getMsoId()).isEqualTo(cloudIdentity.getMsoId());
}
- private CloudConfig createTestObject(String jsonFilePath) throws MsoCloudIdentityNotFound {
- CloudConfigFactory cloudConfigFactory = new CloudConfigFactory();
- cloudConfigFactory.initializeCloudConfig(jsonFilePath, 1);
- return cloudConfigFactory.getCloudConfig();
+ @Test
+ public void defaultClodeSiteNotFound_returnNull() {
+ assertThat(testedObject.getIdentityService("not_existing_id")).isNull();
+ }
+
+ @Test
+ public void loadCloudConfigSuccessful() throws IOException, MsoCloudIdentityNotFound {
+ ClassLoader classLoader = CloudConfigTest.class.getClassLoader();
+ String cloudConfigJsonFilePath = classLoader.getResource(CLOUD_CONFIG_JSON_FILE_NAME).getPath();
+ testedObject.loadCloudConfig(cloudConfigJsonFilePath, 1);
+ assertThat(testedObject.isValidCloudConfig()).isTrue();
+ checkCloudSites();
+ checkIdentityServices();
}
@Test
- public void testGetCloudSites() throws MsoCloudIdentityNotFound {
- CloudConfig con = createTestObject(cloudConfigJsonFilePath);
- Map<String, CloudSite> siteMap = con.getCloudSites();
- assertNotNull(siteMap);
+ public void loadCloudConfig_cloudIdentityNotFound() {
+ ClassLoader classLoader = CloudConfigTest.class.getClassLoader();
+ String cloudConfigInvalidJsonFilePath = classLoader.getResource(CLOUD_CONFIG_INVALID_JSON_FILE_NAME).getPath();
+ assertThatThrownBy(() -> testedObject.loadCloudConfig(cloudConfigInvalidJsonFilePath, 1))
+ .isInstanceOf(MsoCloudIdentityNotFound.class)
+ .hasMessage("Cloud Identity [MT Cloud site refers to a non-existing identity service: "
+ + "MT_KEYSTONE_NOT_EXISTING] not found");
+ assertThat(testedObject.isValidCloudConfig()).isFalse();
+ }
+ private void checkCloudSites() {
+ Map<String, CloudSite> siteMap = testedObject.getCloudSites();
+ assertThat(siteMap).isNotEmpty().hasSize(NUMBER_OF_CLOUD_SITES_IN_JSON_FILE);
CloudSite site1 = siteMap.get("MT");
CloudSite site2 = siteMap.get("DAN");
CloudSite site3 = siteMap.get("MTINJVCC101");
CloudSite site4 = siteMap.get("MTSNJA4LCP1");
- assertEquals("regionOne", site1.getRegionId());
- assertEquals("MT_KEYSTONE", site1.getIdentityServiceId());
- assertEquals("RegionOne", site2.getRegionId());
- assertEquals("DAN_KEYSTONE", site2.getIdentityServiceId());
- assertEquals("regionTwo", site3.getRegionId());
- assertEquals("MTINJVCC101_DCP", site3.getIdentityServiceId());
- assertEquals("mtsnjlcp1", site4.getRegionId());
- assertEquals("MTSNJA3DCP1", site4.getIdentityServiceId());
+ assertThat(site1.getId()).isEqualTo("MT");
+ assertThat(site1.getRegionId()).isEqualTo("regionOne");
+ assertThat(site1.getIdentityServiceId()).isEqualTo("MT_KEYSTONE");
+ assertThat(site1.getIdentityService()).isNotNull();
+ assertThat(site1.getIdentityService().getId()).isEqualTo(site1.getIdentityServiceId());
+
+ assertThat(site2.getId()).isEqualTo("DAN");
+ assertThat(site2.getRegionId()).isEqualTo("RegionOne");
+ assertThat(site2.getIdentityServiceId()).isEqualTo("DAN_KEYSTONE");
+ assertThat(site2.getIdentityService()).isNotNull();
+ assertThat(site2.getIdentityService().getId()).isEqualTo(site2.getIdentityServiceId());
+
+ assertThat(site3.getId()).isEqualTo("MTINJVCC101");
+ assertThat(site3.getRegionId()).isEqualTo("regionTwo");
+ assertThat(site3.getIdentityServiceId()).isEqualTo("MTINJVCC101_DCP");
+ assertThat(site3.getIdentityService()).isNotNull();
+ assertThat(site3.getIdentityService().getId()).isEqualTo(site3.getIdentityServiceId());
+
+ assertThat(site4.getId()).isEqualTo("MTSNJA4LCP1");
+ assertThat(site4.getRegionId()).isEqualTo("mtsnjlcp1");
+ assertThat(site4.getIdentityServiceId()).isEqualTo("MTSNJA3DCP1");
+ assertThat(site4.getIdentityService()).isNotNull();
+ assertThat(site4.getIdentityService().getId()).isEqualTo(site4.getIdentityServiceId());
}
- @Test
- public void testGetIdentityServices() throws MsoCloudIdentityNotFound {
- CloudConfig con = createTestObject(cloudConfigJsonFilePath);
- Map<String, CloudIdentity> identityMap = con.getIdentityServices();
- assertNotNull(identityMap);
+ private void checkIdentityServices() {
+ Map<String, CloudIdentity> identityMap = testedObject.getIdentityServices();
+ assertThat(identityMap).isNotEmpty().hasSize(NUMBER_OF_IDENTITY_SERVICES_IN_JSON_FILE);
CloudIdentity identity1 = identityMap.get("MT_KEYSTONE");
CloudIdentity identity2 = identityMap.get("DAN_KEYSTONE");
CloudIdentity identity3 = identityMap.get("MTINJVCC101_DCP");
CloudIdentity identity4 = identityMap.get("MTSNJA3DCP1");
- assertEquals("john", identity1.getMsoId());
- assertEquals("changeme", identity1.getMsoPass());
- assertEquals("admin", identity1.getAdminTenant());
- assertEquals("_member_", identity1.getMemberRole());
- assertFalse(identity1.hasTenantMetadata());
-
- assertEquals("mockId", identity2.getMsoId());
- assertEquals("stack123", identity2.getMsoPass());
- assertEquals("service", identity2.getAdminTenant());
- assertEquals("_member_", identity2.getMemberRole());
- assertFalse(identity2.hasTenantMetadata());
-
- assertEquals("mockIdToo", identity3.getMsoId());
- assertEquals("AICG@mm@@2015", identity3.getMsoPass());
- assertEquals("service", identity3.getAdminTenant());
- assertEquals("admin", identity3.getMemberRole());
- assertTrue(identity3.hasTenantMetadata());
-
- assertEquals("mockIdToo", identity4.getMsoId());
- assertEquals("2315QRS2015srq", identity4.getMsoPass());
- assertEquals("service", identity4.getAdminTenant());
- assertEquals("admin", identity4.getMemberRole());
- assertTrue(identity4.hasTenantMetadata());
+ assertThat(identity1.getMsoId()).isEqualTo("john");
+ assertThat(identity1.getMsoPass()).isEqualTo("changeme");
+ assertThat(identity1.getAdminTenant()).isEqualTo("admin");
+ assertThat(identity1.getMemberRole()).isEqualTo("_member_");
+ assertThat(identity1.hasTenantMetadata()).isFalse();
+
+ assertThat(identity2.getMsoId()).isEqualTo("mockId");
+ assertThat(identity2.getMsoPass()).isEqualTo("stack123");
+ assertThat(identity2.getAdminTenant()).isEqualTo("service");
+ assertThat(identity2.getMemberRole()).isEqualTo("_member_");
+ assertThat(identity2.hasTenantMetadata()).isFalse();
+
+ assertThat(identity3.getMsoId()).isEqualTo("mockIdToo");
+ assertThat(identity3.getMsoPass()).isEqualTo("AICG@mm@@2015");
+ assertThat(identity3.getAdminTenant()).isEqualTo("service");
+ assertThat(identity3.getMemberRole()).isEqualTo("admin");
+ assertThat(identity3.hasTenantMetadata()).isTrue();
+
+ assertThat(identity4.getMsoId()).isEqualTo("mockIdToo");
+ assertThat(identity4.getMsoPass()).isEqualTo("2315QRS2015srq");
+ assertThat(identity4.getAdminTenant()).isEqualTo("service");
+ assertThat(identity4.getMemberRole()).isEqualTo("admin");
+ assertThat(identity4.hasTenantMetadata()).isTrue();
}
@Test
- public void cloudSiteIsGotById_when_IdFound() throws MsoCloudIdentityNotFound {
- CloudConfig con = createTestObject(cloudConfigJsonFilePath);
- Optional<CloudSite> cloudSite = con.getCloudSite("MT");
- assertTrue(cloudSite.isPresent());
- assertEquals("regionOne", cloudSite.get().getRegionId());
- assertEquals("MT_KEYSTONE", cloudSite.get().getIdentityServiceId());
+ public void cloneSuccessful() throws NoSuchFieldException, IllegalAccessException {
+ setCloudSitesMap();
+ setIdentityServiceMap();
+ assertThat(testedObject.clone()).isEqualTo(testedObject);
}
- @Test
- public void cloudSiteIsGotByClli_when_IdNotFound() throws MsoCloudIdentityNotFound {
- CloudConfig con = createTestObject(cloudConfigJsonFilePath);
- Optional<CloudSite> cloudSite = con.getCloudSite("CS_clli");
- assertTrue(cloudSite.isPresent());
- assertEquals("clliRegion", cloudSite.get().getRegionId());
- assertEquals("CS_clli", cloudSite.get().getClli());
- assertEquals("CS_service", cloudSite.get().getIdentityServiceId());
+ private void setCloudSitesMap() throws NoSuchFieldException, IllegalAccessException {
+ Field field = testedObject.getClass().getDeclaredField(CLOUD_SITES_FIELD_NAME);
+ field.setAccessible(true);
+ Map<String, CloudSite> cloudSites = new HashMap<>();
+ cloudSite = createCloudSite("idTest1", "clliTest1");
+ cloudSiteDefault = createCloudSite(CLOUD_SITE_DEFAULT, "clliTest2");
+ cloudSites.put(cloudSite.getId(), cloudSite);
+ cloudSites.put(cloudSiteDefault.getId(), cloudSiteDefault);
+ field.set(testedObject, cloudSites);
}
- @Test
- public void cloudSiteIsGotByDefault_when_IdAndClliNotFound() throws MsoCloudIdentityNotFound {
- CloudConfig con = createTestObject(cloudDefaultConfigJsonFilePath);
- Optional<CloudSite> cloudSite = con.getCloudSite("not_existing_id");
- assertTrue(cloudSite.isPresent());
- assertEquals("not_existing_id", cloudSite.get().getId());
- assertEquals("not_existing_id", cloudSite.get().getRegionId());
- }
+ private void setIdentityServiceMap() throws NoSuchFieldException, IllegalAccessException {
+ Field field = testedObject.getClass().getDeclaredField(IDENTITY_SERVICE_FIELD_NAME);
+ field.setAccessible(true);
- @Test
- public void testGetIdentityService() throws MsoCloudIdentityNotFound {
- CloudConfig con = createTestObject(cloudConfigJsonFilePath);
- CloudIdentity identity1 = con.getIdentityService("MT_KEYSTONE");
- assertNotNull(identity1);
- assertEquals("john", identity1.getMsoId());
- assertEquals("changeme", identity1.getMsoPass());
- assertEquals("admin", identity1.getAdminTenant());
- assertEquals("_member_", identity1.getMemberRole());
- assertFalse(identity1.hasTenantMetadata());
-
- CloudIdentity identity2 = con.getIdentityService("Test");
- assertNull(identity2);
+ Map<String, CloudIdentity> cloudIdentityMap = new HashMap<>();
+ CloudIdentity cloudIdentity = createCloudIdentity();
+ cloudIdentityMap.put(cloudIdentity.getId(), cloudIdentity);
+ field.set(testedObject, cloudIdentityMap);
}
- @Test(expected = MsoCloudIdentityNotFound.class)
- public void testLoadWithWrongFile() throws MsoCloudIdentityNotFound {
- createTestObject(cloudConfigInvalidJsonFilePath);
+ private CloudIdentity createCloudIdentity() {
+ CloudIdentity cloudIdentity = new CloudIdentity();
+ cloudIdentity.setId("identityTestId");
+ cloudIdentity.setMsoId("msoTestId");
+ return cloudIdentity;
}
- @Test
- public void testReloadWithWrongFile() {
- CloudConfigFactory cloudConfigFactory = new CloudConfigFactory();
- try {
- cloudConfigFactory.initializeCloudConfig(cloudConfigInvalidJsonFilePath, 1);
- Assert.fail("MsoCloudIdentityNotFound was expected");
- } catch (MsoCloudIdentityNotFound e) {
-
- }
- assertTrue("Should be an empty CloudConfig", cloudConfigFactory.getCloudConfig().getCloudSites().isEmpty());
- assertTrue("Should be an empty CloudConfig",
- cloudConfigFactory.getCloudConfig().getIdentityServices().isEmpty());
- // Now reload the right config
- cloudConfigFactory.changeMsoPropertiesFilePath(cloudConfigJsonFilePath);
- cloudConfigFactory.reloadCloudConfig();
- assertTrue("Flag valid Config should be true now that the cloud_config is correct",
- cloudConfigFactory.getCloudConfig().isValidCloudConfig());
+ private CloudSite createCloudSite(String id, String clli) {
+ CloudSite cloudSite = new CloudSite();
+ cloudSite.setId(id);
+ cloudSite.setClli(clli);
+ cloudSite.setAic_version("2.5");
+ cloudSite.setIdentityService(createCloudIdentity());
+ return cloudSite;
}
-
}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudSiteTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudSiteTest.java
new file mode 100644
index 0000000000..4c5ceb238c
--- /dev/null
+++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudSiteTest.java
@@ -0,0 +1,67 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : SO
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+
+package org.openecomp.mso.cloud;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class CloudSiteTest {
+
+ @Mock
+ CloudIdentity ci= new CloudIdentity();
+
+ @InjectMocks
+ CloudSite cs = new CloudSite();
+
+
+@Before
+public void init(){
+ MockitoAnnotations.initMocks(this);
+ }
+ @Test
+ public void testCloudSite() {
+ cs.setAic_version("aic_version");
+ cs.setClli("clli");
+ cs.setId("id");
+ cs.setIdentityService(ci);
+ cs.setRegionId("regionId");
+ assert(cs.getAic_version().equals("aic_version"));
+ assert(cs.getClli().equals("clli"));
+ assert(cs.getId().equals("id"));
+ assert(cs.getIdentityService().equals(ci));
+ assert(cs.getRegionId().equals("regionId"));
+ }
+ @Test
+ public void testtoStringmethod(){
+ assert(cs.toString()!=null);
+ }
+ @Test
+ public void testhashCodemethod(){
+ assert(cs.hashCode()!=0);
+ }
+ @Test
+ public void testclone(){
+ assert(cs.clone()!=null);
+ }
+}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/MsoTenantTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/MsoTenantTest.java
new file mode 100644
index 0000000000..a1de54e231
--- /dev/null
+++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/MsoTenantTest.java
@@ -0,0 +1,42 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : SO
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+
+package org.openecomp.mso.openstack.beans;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+
+public class MsoTenantTest {
+ MsoTenant ms = new MsoTenant();
+
+ @Test
+ public void test() {
+ Map<String, String> map = new HashMap<>();
+ map.put("id","name");
+ ms.setTenantId("tenantId");
+ ms.setTenantName("tenantName");
+ ms.setMetadata(map);
+ assert(ms.getMetadata().equals(map));
+ assert(ms.getTenantId().equals("tenantId"));
+ assert(ms.getTenantName().equals("tenantName"));
+ }
+}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/NetworkRollbackTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/NetworkRollbackTest.java
new file mode 100644
index 0000000000..d70c01d0d3
--- /dev/null
+++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/NetworkRollbackTest.java
@@ -0,0 +1,69 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : SO
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+
+package org.openecomp.mso.openstack.beans;
+
+import static org.junit.Assert.*;
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.openecomp.mso.entity.MsoRequest;
+
+public class NetworkRollbackTest {
+ @Mock
+ MsoRequest ms = new MsoRequest();
+
+ @InjectMocks
+ NetworkRollback nr = new NetworkRollback();
+
+ @Test
+ public void test() {
+ List<Integer> vlans = new ArrayList();
+ vlans.add(1);
+ vlans.add(2);
+ nr.setCloudId("cloudId");
+ nr.setModelCustomizationUuid("modelCustomizationUuid");
+ nr.setNetworkId("networkId");
+ nr.setNetworkName("networkName");
+ nr.setNetworkStackId("networkStackId");
+ nr.setNetworkType("networkType");;
+ nr.setNeutronNetworkId("neutronNetworkId");
+ nr.setPhysicalNetwork("physicalNetwork");
+ nr.setTenantId("tenantId");
+ nr.setNetworkCreated(false);
+ nr.setVlans(vlans);
+ nr.setMsoRequest(ms);
+ assert(nr.getCloudId().equals("cloudId"));
+ assert(nr.getModelCustomizationUuid().equals("modelCustomizationUuid"));
+ assert(nr.getNetworkId().equals("networkId"));
+ assert(nr.getNetworkName().equals("networkName"));
+ assert(nr.getNetworkStackId().equals("networkStackId"));
+ assert(nr.getNeutronNetworkId().equals("neutronNetworkId"));
+ assert(nr.getPhysicalNetwork().equals("physicalNetwork"));
+ assert(nr.getNetworkType().equals("networkType"));
+ assert(nr.getTenantId().equals("tenantId"));
+ assert(nr.getMsoRequest().equals(ms));
+ assertFalse(nr.getNetworkCreated());
+ assert(nr.getVlans().equals(vlans));
+ assert(nr.toString()!=null);
+ }
+}
diff --git a/adapters/mso-adapter-utils/src/test/resources/cloud_config.json b/adapters/mso-adapter-utils/src/test/resources/cloud_config.json
index ff24633f32..ee3532fe15 100644
--- a/adapters/mso-adapter-utils/src/test/resources/cloud_config.json
+++ b/adapters/mso-adapter-utils/src/test/resources/cloud_config.json
@@ -44,8 +44,7 @@
"tenant_metadata": true,
"identity_server_type": "KEYSTONE",
"identity_authentication_type": "USERNAME_PASSWORD"
- },
- "CS_service": {}
+ }
},
"cloud_sites":
@@ -77,14 +76,8 @@
"clli": "MTSNJA4LCP1",
"aic_version": "2.5",
"identity_service_id": "MTSNJA3DCP1"
- },
- "CS":
- {
- "region_id": "clliRegion",
- "clli": "CS_clli",
- "aic_version": "2.5",
- "identity_service_id": "CS_service"
}
+
}
}
}
diff --git a/adapters/mso-adapter-utils/src/test/resources/cloud_default_config.json b/adapters/mso-adapter-utils/src/test/resources/cloud_default_config.json
deleted file mode 100644
index 35d18e9789..0000000000
--- a/adapters/mso-adapter-utils/src/test/resources/cloud_default_config.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "cloud_config": {
- "identity_services": {
- "default_service": {}
- },
- "cloud_sites": {
- "default": {
- "region_id": "defaultRegion",
- "identity_service_id": "default_service"
- }
- }
- }
-} \ No newline at end of file
diff --git a/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceErrorTest.java b/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceErrorTest.java
new file mode 100644
index 0000000000..df69b377ca
--- /dev/null
+++ b/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceErrorTest.java
@@ -0,0 +1,51 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : SO
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+
+package org.openecomp.mso.adapters.sdncrest;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.openecomp.mso.adapters.sdncrest.SDNCErrorCommon;
+import org.openecomp.mso.adapters.sdncrest.SDNCServiceError;
+
+public class SDNCServiceErrorTest {
+
+ @Mock
+ SDNCErrorCommon sec;
+
+ @InjectMocks
+ SDNCServiceError ssc;
+
+ @Before
+ public void init(){
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void testSDNCServiceError() {
+
+ ssc= new SDNCServiceError("id", "200",
+ "msg", "indicator");
+ assert(ssc!=null);
+ }
+}
diff --git a/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceRequestTest.java b/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceRequestTest.java
new file mode 100644
index 0000000000..c63f1b8f82
--- /dev/null
+++ b/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceRequestTest.java
@@ -0,0 +1,79 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : SO
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+
+package org.openecomp.mso.adapters.sdncrest;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.openecomp.mso.adapters.sdncrest.SDNCRequestCommon;
+import org.openecomp.mso.adapters.sdncrest.ServiceInformation;
+import org.openecomp.mso.adapters.sdncrest.RequestInformation;
+
+public class SDNCServiceRequestTest {
+
+ @Mock
+ SDNCRequestCommon src;
+
+ @Mock
+ ServiceInformation si;
+
+ @Mock
+ RequestInformation ri;
+
+ @InjectMocks
+ SDNCServiceRequest ssr;
+
+ @Before
+ public void init(){
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void test() {
+ ssr= new SDNCServiceRequest("url", "timeout",
+ "sdncRequestId", "sdncService", "sdncOperation",
+ ri,
+ si, "sdncServiceDataType",
+ "sndcServiceData");
+
+ ssr.setSDNCService("sdncService");
+ ssr.setSDNCServiceData("sndcServiceData");
+ ssr.setSDNCServiceDataType("sdncServiceDataType");
+ ssr.setBPTimeout("timeout");
+ ssr.setBPNotificationUrl("url");
+ ssr.setRequestInformation(ri);
+ ssr.setServiceInformation(si);
+ ssr.setSDNCOperation("sdncOperation");
+ ssr.setSDNCRequestId("sdncRequestId");
+ assert(ssr.getSDNCService().equals("sdncService"));
+ assert(ssr.getSDNCServiceData().equals("sndcServiceData"));
+ assert(ssr.getSDNCServiceDataType().equals("sdncServiceDataType"));
+ assert(ssr.getBPTimeout().equals("timeout"));
+ assert(ssr.getBPNotificationUrl().equals("url"));
+ assert(ssr.getRequestInformation().equals(ri));
+ assert(ssr.getServiceInformation().equals(si));
+ assert(ssr.getSDNCOperation().equals("sdncOperation"));
+ assert(ssr.getSDNCRequestId().equals("sdncRequestId"));
+ }
+
+}
diff --git a/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceResponseTest.java b/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceResponseTest.java
new file mode 100644
index 0000000000..9c4e98a02b
--- /dev/null
+++ b/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/SDNCServiceResponseTest.java
@@ -0,0 +1,58 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : SO
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+
+package org.openecomp.mso.adapters.sdncrest;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.openecomp.mso.adapters.sdncrest.SDNCResponseCommon;
+
+public class SDNCServiceResponseTest {
+
+ @Mock
+ SDNCResponseCommon src;
+
+ @InjectMocks
+ SDNCServiceResponse ssr;
+
+ @Before
+ public void init(){
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void test() {
+ ssr=new SDNCServiceResponse("sdncRequestId", "200",
+ "msg", "indicator");
+ Map<String, String> mp = new HashMap<>();
+ mp.put("name", "value");
+ ssr.setParams(mp);
+ assert(ssr.getParams().equals(mp));
+ assertNotNull(ssr);
+ }
+}
diff --git a/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/ServiceInformationTest.java b/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/ServiceInformationTest.java
new file mode 100644
index 0000000000..2b87bbf101
--- /dev/null
+++ b/adapters/mso-adapters-rest-interface/src/test/java/org/openecomp/mso/adapters/sdncrest/ServiceInformationTest.java
@@ -0,0 +1,42 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : SO
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+
+package org.openecomp.mso.adapters.sdncrest;
+
+import org.junit.Test;
+
+public class ServiceInformationTest {
+
+
+
+ @Test
+ public void test() {
+ ServiceInformation si= new ServiceInformation("id","service","GlobalId","name");
+
+ si.setServiceInstanceId("id");
+ si.setServiceType("service");
+ si.setSubscriberGlobalId("GlobalId");
+ si.setSubscriberName("name");
+ assert(si.getServiceInstanceId().equals("id"));
+ assert(si.getServiceType().equals("service"));
+ assert(si.getSubscriberGlobalId().equals("GlobalId"));
+ assert(si.getSubscriberName().equals("name"));
+ }
+}
diff --git a/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/impl/SDNCResponseTest.java b/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/impl/SDNCResponseTest.java
new file mode 100644
index 0000000000..f8867ae4f8
--- /dev/null
+++ b/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/impl/SDNCResponseTest.java
@@ -0,0 +1,49 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : SO
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+package org.openecomp.mso.adapters.sdnc.impl;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class SDNCResponseTest {
+
+ private SDNCResponse sdncresponse = new SDNCResponse(null, 0, null);
+
+ @Test
+ public void testSDNCResponse()
+ {
+ sdncresponse.setReqId("reqId");
+ sdncresponse.setRespCode(0);
+ sdncresponse.setRespMsg("respMsg");
+ sdncresponse.setSdncRespXml("sdncRespXml");
+ assertEquals(sdncresponse.getReqId(), "reqId");
+ assertEquals(sdncresponse.getRespCode(), 0);
+ assertEquals(sdncresponse.getRespMsg(), "respMsg");
+ assertEquals(sdncresponse.getSdncRespXml(),"sdncRespXml");
+ }
+
+ @Test
+ public void testtoString()
+ {
+ assert(sdncresponse.toString()!=null);
+ }
+}
+ \ No newline at end of file
diff --git a/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/exceptions/ApplicationException.java b/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/exceptions/ApplicationException.java
index 30d42ae387..039c1604ba 100644
--- a/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/exceptions/ApplicationException.java
+++ b/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/exceptions/ApplicationException.java
@@ -20,7 +20,7 @@
package org.openecomp.mso.adapters.vfc.exceptions;
-import javax.ws.rs.core.Response;;
+import javax.ws.rs.core.Response;
public class ApplicationException extends Exception {
diff --git a/bpmn/MSOCommonBPMN/pom.xml b/bpmn/MSOCommonBPMN/pom.xml
index 71626f52b3..e4e1fd60a6 100644
--- a/bpmn/MSOCommonBPMN/pom.xml
+++ b/bpmn/MSOCommonBPMN/pom.xml
@@ -302,6 +302,11 @@
<version>${spring.version}</version>
</dependency>
<dependency>
+ <groupId>org.openecomp.sdc.sdc-tosca</groupId>
+ <artifactId>sdc-tosca</artifactId>
+ <version>1.1.32</version>
+ </dependency>
+ <dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<version>1.56</version>
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilder.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilder.java
new file mode 100644
index 0000000000..78eb2f662d
--- /dev/null
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilder.java
@@ -0,0 +1,131 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.mso.bpmn.common.resource;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import org.jboss.resteasy.client.jaxrs.ResteasyClient;
+import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
+import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;
+import org.openecomp.mso.logger.MsoLogger;
+import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
+import org.openecomp.sdc.tosca.parser.exceptions.SdcToscaParserException;
+import org.openecomp.sdc.tosca.parser.impl.SdcToscaParserFactory;
+import org.openecomp.sdc.toscaparser.api.NodeTemplate;
+import org.openecomp.sdc.toscaparser.api.Property;
+import org.openecomp.sdc.toscaparser.api.functions.GetInput;
+import org.openecomp.sdc.toscaparser.api.parameters.Input;
+
+import javax.ws.rs.core.Response;
+import java.io.File;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+public class ResourceRequestBuilder {
+
+ public static String CUSTOMIZATION_UUID = "customizationUUID";
+ public static String SERVICE_URL_TOSCA_CSAR = "http://localhost:8080/ecomp/mso/catalog/v3/serviceToscaCsar?serviceModelUuid=";
+
+ private static MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
+
+ public static Map<String, Object> buildResouceRequest(String serviceUuid,
+ String resourceCustomizationUuid,
+ Map<String, Object> serviceInputs) throws SdcToscaParserException {
+
+ Map<String, Object> resouceRequest = new HashMap<>();
+
+ String csarpath = null;
+ try {
+ csarpath = getCsarFromUuid(serviceUuid);
+ } catch (Exception e) {
+ LOGGER.debug("csar file is not available for service uuid:" + serviceUuid, e);
+ return resouceRequest;
+ }
+
+ SdcToscaParserFactory toscaParser = SdcToscaParserFactory.getInstance();
+ ISdcCsarHelper iSdcCsarHelper = toscaParser.getSdcCsarHelper(csarpath);
+
+ List<Input> serInput = iSdcCsarHelper.getServiceInputs();
+ Optional<NodeTemplate> nodeTemplateOpt = iSdcCsarHelper.getServiceNodeTemplates().stream()
+ .filter(e -> e.getMetaData().getValue(CUSTOMIZATION_UUID).equals(resourceCustomizationUuid))
+ .findFirst();
+
+ if (nodeTemplateOpt.isPresent()) {
+ NodeTemplate nodeTemplate = nodeTemplateOpt.get();
+ LinkedHashMap<String, Property> resourceProperties = nodeTemplate.getProperties();
+
+ for (String key: resourceProperties.keySet()) {
+ Property property = resourceProperties.get(key);
+
+ Object value = getValue(property.getValue(), serviceInputs, serInput);
+ resouceRequest.put(key, value);
+ }
+ }
+ return resouceRequest;
+ }
+
+ private static Object getValue(Object value, Map<String, Object> serviceInputs,
+ List<Input> servInputs) {
+ if (value instanceof Map) {
+ Map<String, Object> valueMap = new HashMap<>();
+
+ Map<String, Object> propertyMap = (Map<String, Object>) value;
+
+ for (String key: propertyMap.keySet()) {
+ valueMap.put(key, getValue(propertyMap.get(key), serviceInputs, servInputs));
+ }
+ return valueMap; // return if the value is nested hashmap
+ } else if (value instanceof GetInput) {
+ String inputName = ((GetInput) value).getInputName();
+
+ if (serviceInputs.get(inputName) != null) {
+ value = serviceInputs.get(inputName);
+ } else {
+ for (Input input: servInputs) {
+ if (input.getName().equals(inputName)) {
+ return input.getDefault(); // return default value
+ }
+ }
+ }
+ }
+ return value; // return property value
+ }
+
+ private static String getCsarFromUuid(String uuid) throws Exception {
+
+ ResteasyClient client = new ResteasyClientBuilder().build();
+ ResteasyWebTarget target = client.target(SERVICE_URL_TOSCA_CSAR + uuid);
+ Response response = target.request().get();
+ String value = response.readEntity(String.class);
+
+ HashMap<String,String> map = new Gson().fromJson(value, new TypeToken<HashMap<String, String>>(){}.getType());
+
+ File csarFile = new File(System.getProperty("mso.config.path") + "ASDC/" + map.get("name"));
+
+ if (!csarFile.exists()) {
+ throw new Exception("csar file does not exist.");
+ }
+
+ return csarFile.getAbsolutePath();
+ }
+}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/RestClient.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/RestClient.java
index 74b1c3f802..1436d83a94 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/RestClient.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/RestClient.java
@@ -157,14 +157,9 @@ public abstract class RestClient {
}
client.register(this.getMapper());
Optional<ClientResponseFilter> responseFilter = this.addResponseFilter();
- if (responseFilter.isPresent()) {
- client.register(responseFilter.get());
- }
- if (!path.isPresent()) {
- webTarget = client.target(host.toString());
- } else {
- webTarget = client.target(UriBuilder.fromUri(host + path.get().toString()));
- }
+ responseFilter.ifPresent(clientResponseFilter -> client.register(clientResponseFilter));
+ webTarget = path.<WebTarget>map(uri -> client.target(UriBuilder.fromUri(host + uri.toString())))
+ .orElseGet(() -> client.target(host.toString()));
this.accept = MediaType.APPLICATION_JSON;
this.contentType = MediaType.APPLICATION_JSON;
}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/entities/PolicyServiceType.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/entities/PolicyServiceType.java
index b5ab63ce35..01f6738947 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/entities/PolicyServiceType.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/policy/entities/PolicyServiceType.java
@@ -36,7 +36,7 @@ public enum PolicyServiceType {
private final String name;
- private PolicyServiceType(String name) {
+ PolicyServiceType(String name) {
this.name = name;
}
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilderTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilderTest.java
new file mode 100644
index 0000000000..262c12e833
--- /dev/null
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilderTest.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.mso.bpmn.common.resource;
+
+import org.junit.Test;
+
+import java.util.HashMap;
+
+public class ResourceRequestBuilderTest {
+
+ @Test
+ public void buildResouceRequestTest() throws Exception {
+
+ ResourceRequestBuilder.buildResouceRequest("aa4535",
+ "a1074969-944f-4ddc-b687-9550b0c8cd57", new HashMap<>());
+ }
+
+} \ No newline at end of file
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResource.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResource.java
index 74f50ba438..9ead882b07 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResource.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResource.java
@@ -108,7 +108,7 @@ public class MockResource {
@Produces("application/json")
public Response start(@PathParam("portNumber") Integer portNumber) {
if (portNumber == null) portNumber = defaultPort;
- return startMockServer(portNumber.intValue());
+ return startMockServer(portNumber);
}
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfigurationSetup.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfigurationSetup.java
index a1719a90ef..98659d2a62 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfigurationSetup.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfigurationSetup.java
@@ -217,7 +217,7 @@ public class PropertyConfigurationSetup {
String newTimestamp = PropertyConfiguration.getInstance().getProperties(type)
.get(PropertyConfiguration.TIMESTAMP_PROPERTY);
- if (newTimestamp != oldTimestamp) {
+ if (!newTimestamp.equals(oldTimestamp)) {
return;
}
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/InventoryType.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/InventoryType.java
index 653f75cc3a..fbc312e750 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/InventoryType.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/InventoryType.java
@@ -27,7 +27,7 @@ public enum InventoryType{
private String type;
- private InventoryType(String type){
+ InventoryType(String type){
this.type = type;
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy
new file mode 100644
index 0000000000..44eaa349b6
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy
@@ -0,0 +1,269 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.scripts;
+
+import static org.apache.commons.lang3.StringUtils.*;
+import groovy.xml.XmlUtil
+import groovy.json.*
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.rest.APIResponse
+
+import java.util.List;
+import java.util.UUID;
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.runtime.Execution
+import org.apache.commons.lang3.*
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.web.util.UriUtils
+
+/**
+ * This groovy class supports the <class>UpdateCustomE2EServiceInstance.bpmn</class> process.
+ * AlaCarte flow for 1702 ServiceInstance Update
+ *
+ */
+public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor {
+ String Prefix="UPDSI_"
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtil = new JsonUtils()
+
+
+ public void preProcessRequest (Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ execution.setVariable("prefix",Prefix)
+ String msg = ""
+ utils.log("INFO", " *** preProcessRequest() *** ", isDebugEnabled)
+
+ try {
+
+ String siRequest = execution.getVariable("bpmnRequest")
+ utils.logAudit(siRequest)
+
+ String requestId = execution.getVariable("mso-request-id")
+ execution.setVariable("msoRequestId", requestId)
+ utils.log("INFO", "Input Request:" + siRequest + " reqId:" + requestId, isDebugEnabled)
+
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ if (isBlank(serviceInstanceId)) {
+ msg = "Input serviceInstanceId' is null"
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ //subscriberInfo
+ String globalSubscriberId = jsonUtil.getJsonValue(siRequest, "requestDetails.subscriberInfo.globalSubscriberId")
+ if (isBlank(globalSubscriberId)) {
+ msg = "Input globalSubscriberId' is null"
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("globalSubscriberId", globalSubscriberId)
+ }
+
+ //requestInfo
+ execution.setVariable("source", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.source"))
+ execution.setVariable("serviceInstanceName", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.instanceName"))
+ execution.setVariable("disableRollback", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.suppressRollback"))
+ String productFamilyId = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.productFamilyId")
+ if (isBlank(productFamilyId))
+ {
+ msg = "Input productFamilyId is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("productFamilyId", productFamilyId)
+ }
+ String userParams = jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.userParams")
+ utils.log("INFO", "userParams:" + userParams, isDebugEnabled)
+ List<String> paramList = jsonUtil.StringArrayToList(execution, userParams)
+ String uuiRequest = jsonUtil.getJsonValue(paramList.get(0), "UUIRequest")
+ //modelInfo
+ if (isBlank(uuiRequest)) {
+ msg = "Input uuiRequest is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else
+ {
+ execution.setVariable("uuiRequest", uuiRequest)
+ }
+
+ utils.log("INFO", "uuiRequest:\n" + uuiRequest, isDebugEnabled)
+
+ //requestParameters
+ String serviceType = jsonUtil.getJsonValue(uuiRequest, "service.parameters.serviceType")
+ if (isBlank(serviceType)) {
+ msg = "Input serviceType is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("serviceType", serviceType)
+ }
+
+ //operationId
+ String operationId = jsonUtil.getJsonValue(siRequest, "operationId")
+ if (isBlank(operationId)) {
+ operationId = UUID.randomUUID().toString()
+ }
+ execution.setVariable("operationId", operationId)
+ execution.setVariable("operationType", "UPDATE")
+
+ execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
+
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception ex){
+ msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled)
+ }
+
+ public void sendSyncResponse (Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO", " *** sendSyncResponse *** ", isDebugEnabled)
+
+ try {
+ String operationId = execution.getVariable("operationId")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ // RESTResponse for API Handler (APIH) Reply Task
+ String updateServiceRestRequest = """{"service":{"serviceId":"${serviceInstanceId}","operationId":"${operationId}"}}""".trim()
+ utils.log("INFO", " sendSyncResponse to APIH:" + "\n" + updateServiceRestRequest, isDebugEnabled)
+ sendWorkflowResponse(execution, 202, updateServiceRestRequest)
+ execution.setVariable("sentSyncResponse", true)
+
+ } catch (Exception ex) {
+ String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO"," ***** Exit sendSyncResopnse *****", isDebugEnabled)
+ }
+
+
+ public void sendSyncError (Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO", " *** sendSyncError *** ", isDebugEnabled)
+
+ try {
+ String errorMessage = ""
+ if (execution.getVariable("WorkflowException") instanceof WorkflowException) {
+ WorkflowException wfe = execution.getVariable("WorkflowException")
+ errorMessage = wfe.getErrorMessage()
+ } else {
+ errorMessage = "Sending Sync Error."
+ }
+
+ String buildworkflowException =
+ """<aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">
+ <aetgt:ErrorMessage>${errorMessage}</aetgt:ErrorMessage>
+ <aetgt:ErrorCode>7000</aetgt:ErrorCode>
+ </aetgt:WorkflowException>"""
+
+ utils.logAudit(buildworkflowException)
+ sendWorkflowResponse(execution, 500, buildworkflowException)
+
+ } catch (Exception ex) {
+ utils.log("INFO", " Sending Sync Error Activity Failed. " + "\n" + ex.getMessage(), isDebugEnabled)
+ }
+
+ }
+
+ public void prepareCompletionRequest (Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO", " *** prepareCompletion *** ", isDebugEnabled)
+
+ try {
+ String requestId = execution.getVariable("msoRequestId")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ String source = execution.getVariable("source")
+
+ String msoCompletionRequest =
+ """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:ns="http://org.openecomp/mso/request/types/v1">
+ <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
+ <request-id>${requestId}</request-id>
+ <action>UPDATE</action>
+ <source>${source}</source>
+ </request-info>
+ <status-message>Service Instance was updated successfully.</status-message>
+ <serviceInstanceId>${serviceInstanceId}</serviceInstanceId>
+ <mso-bpel-name>UpdateGenericALaCarteServiceInstance</mso-bpel-name>
+ </aetgt:MsoCompletionRequest>"""
+
+ // Format Response
+ String xmlMsoCompletionRequest = utils.formatXml(msoCompletionRequest)
+
+ execution.setVariable("completionRequest", xmlMsoCompletionRequest)
+ utils.log("INFO", " Overall SUCCESS Response going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest, isDebugEnabled)
+
+ } catch (Exception ex) {
+ String msg = " Exception in prepareCompletion:" + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO", "*** Exit prepareCompletionRequest ***", isDebugEnabled)
+ }
+
+ public void prepareFalloutRequest(Execution execution){
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO", " *** prepareFalloutRequest *** ", isDebugEnabled)
+
+ try {
+ WorkflowException wfex = execution.getVariable("WorkflowException")
+ utils.log("INFO", " Input Workflow Exception: " + wfex.toString(), isDebugEnabled)
+ String requestId = execution.getVariable("msoRequestId")
+ String source = execution.getVariable("source")
+ String requestInfo =
+ """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
+ <request-id>${requestId}</request-id>
+ <action>UPDATE</action>
+ <source>${source}</source>
+ </request-info>"""
+
+ String falloutRequest = exceptionUtil.processMainflowsBPMNException(execution, requestInfo)
+ execution.setVariable("falloutRequest", falloutRequest)
+ } catch (Exception ex) {
+ utils.log("INFO", "Exception prepareFalloutRequest:" + ex.getMessage(), isDebugEnabled)
+ String errorException = " Bpmn error encountered in UpdateGenericALaCarteServiceInstance flow. FalloutHandlerRequest, buildErrorResponse() - " + ex.getMessage()
+ String requestId = execution.getVariable("msoRequestId")
+ String falloutRequest =
+ """<aetgt:FalloutHandlerRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:ns="http://org.openecomp/mso/request/types/v1"
+ xmlns:wfsch="http://org.openecomp/mso/workflow/schema/v1">
+ <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
+ <request-id>${requestId}</request-id>
+ <action>UPDATE</action>
+ <source>UUI</source>
+ </request-info>
+ <aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">
+ <aetgt:ErrorMessage>${errorException}</aetgt:ErrorMessage>
+ <aetgt:ErrorCode>7000</aetgt:ErrorCode>
+ </aetgt:WorkflowException>
+ </aetgt:FalloutHandlerRequest>"""
+
+ execution.setVariable("falloutRequest", falloutRequest)
+ }
+ utils.log("INFO", "*** Exit prepareFalloutRequest ***", isDebugEnabled)
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateSDNCNetworkResource.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateSDNCNetworkResource.bpmn
new file mode 100644
index 0000000000..5f3caf59f7
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateSDNCNetworkResource.bpmn
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0">
+ <bpmn:process id="CreateSDNCNetworkResource" name="CreateSDNCNetworkResource" isExecutable="true">
+ <bpmn:startEvent id="createNS_StartEvent" name="createNS_StartEvent">
+ <bpmn:outgoing>SequenceFlow_1qo2pln</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_1qo2pln" sourceRef="createNS_StartEvent" targetRef="PreprocessIncomingRequest_task" />
+ <bpmn:sequenceFlow id="SequenceFlow_0khtova" sourceRef="PreprocessIncomingRequest_task" targetRef="CallActivity_1600xlj" />
+ <bpmn:scriptTask id="PreprocessIncomingRequest_task" name="Preprocess Incoming Request" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_1qo2pln</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0khtova</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new CreateSDNCNetworkResource()
+dcsi.preProcessRequest(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:endEvent id="EndEvent_1x6k78c" name="create SDNC call end">
+ <bpmn:incoming>SequenceFlow_0ow44q0</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:callActivity id="CallActivity_1600xlj" name="Call SDNC RSRC Create&#10; Adapter V1&#10;" calledElement="sdncAdapter">
+ <bpmn:extensionElements>
+ <camunda:in source="CRENWKI_activateSDNCRequest" target="sdncAdapterWorkflowRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:out source="sdncAdapterResponse" target="CRENWKI_activateSDNCResponse" />
+ <camunda:out source="SDNCA_ResponseCode" target="CRENWKI_sdncActivateReturnCode" />
+ <camunda:out source="SDNCA_SuccessIndicator" target="SDNCA_SuccessIndicator" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_0khtova</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1xk5xed</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:sequenceFlow id="SequenceFlow_1xk5xed" sourceRef="CallActivity_1600xlj" targetRef="Task_023hred" />
+ <bpmn:sequenceFlow id="SequenceFlow_0ow44q0" sourceRef="Task_023hred" targetRef="EndEvent_1x6k78c" />
+ <bpmn:scriptTask id="Task_023hred" name="post SDNC create call">
+ <bpmn:incoming>SequenceFlow_1xk5xed</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0ow44q0</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new CreateSDNCNetworkResource()
+dcsi.postCreateSDNC(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateSDNCNetworkResource">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="createNS_StartEvent">
+ <dc:Bounds x="175" y="111" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="152" y="147" width="83" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1qo2pln_di" bpmnElement="SequenceFlow_1qo2pln">
+ <di:waypoint xsi:type="dc:Point" x="211" y="129" />
+ <di:waypoint xsi:type="dc:Point" x="251" y="129" />
+ <di:waypoint xsi:type="dc:Point" x="251" y="129" />
+ <di:waypoint xsi:type="dc:Point" x="293" y="129" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="266" y="123" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0khtova_di" bpmnElement="SequenceFlow_0khtova">
+ <di:waypoint xsi:type="dc:Point" x="393" y="129" />
+ <di:waypoint xsi:type="dc:Point" x="544" y="129" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="423.5" y="108" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_03j6ogo_di" bpmnElement="PreprocessIncomingRequest_task">
+ <dc:Bounds x="293" y="89" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_15pcuuc_di" bpmnElement="EndEvent_1x6k78c">
+ <dc:Bounds x="951" y="111" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="912" y="153" width="85" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1600xlj_di" bpmnElement="CallActivity_1600xlj">
+ <dc:Bounds x="544" y="89" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1xk5xed_di" bpmnElement="SequenceFlow_1xk5xed">
+ <di:waypoint xsi:type="dc:Point" x="644" y="129" />
+ <di:waypoint xsi:type="dc:Point" x="800" y="129" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="677" y="108" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ow44q0_di" bpmnElement="SequenceFlow_0ow44q0">
+ <di:waypoint xsi:type="dc:Point" x="900" y="129" />
+ <di:waypoint xsi:type="dc:Point" x="951" y="129" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="880.5" y="108" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0gyej62_di" bpmnElement="Task_023hred">
+ <dc:Bounds x="800" y="89" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVFCNetworkServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn
index 67b0f968fa..29dbca4e55 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVFCNetworkServiceInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0">
- <bpmn:process id="DoCreateVFCNetworkServiceInstance" name="DoCreateVFCNetworkServiceInstance" isExecutable="true">
+ <bpmn:process id="CreateVFCNSResource" name="CreateVFCNSResource" isExecutable="true">
<bpmn:startEvent id="createNS_StartEvent" name="createNS_StartEvent">
<bpmn:outgoing>SequenceFlow_1qo2pln</bpmn:outgoing>
</bpmn:startEvent>
@@ -258,4 +258,4 @@ dcsi.timeDelay(execution)]]></bpmn:script>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn:definitions>
+</bpmn:definitions> \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateCustomE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateCustomE2EServiceInstance.bpmn
new file mode 100644
index 0000000000..e7a88be5b8
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateCustomE2EServiceInstance.bpmn
@@ -0,0 +1,337 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3">
+ <bpmn:process id="UpdateCustomE2EServiceInstance" name="UpdateCustomE2EServiceInstance" isExecutable="true">
+ <bpmn:startEvent id="StartEvent_00qj6ro" name="Update SI Start Flow">
+ <bpmn:outgoing>SequenceFlow_0s2spoq</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:subProcess id="SubProcess_0ka59nc" name="Sub-process for UnexpectedErrors" triggeredByEvent="true">
+ <bpmn:scriptTask id="ScriptTask_0u3lw39" name="Handle Unexpected Error" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_1dsbjjb</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1yay321</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
+ExceptionUtil ex = new ExceptionUtil()
+ex.processJavaException(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:startEvent id="StartEvent_0v1ffn4">
+ <bpmn:outgoing>SequenceFlow_1dsbjjb</bpmn:outgoing>
+ <bpmn:errorEventDefinition />
+ </bpmn:startEvent>
+ <bpmn:endEvent id="EndEvent_0eznq6x">
+ <bpmn:incoming>SequenceFlow_1yay321</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_1dsbjjb" name="" sourceRef="StartEvent_0v1ffn4" targetRef="ScriptTask_0u3lw39" />
+ <bpmn:sequenceFlow id="SequenceFlow_1yay321" name="" sourceRef="ScriptTask_0u3lw39" targetRef="EndEvent_0eznq6x" />
+ </bpmn:subProcess>
+ <bpmn:callActivity id="DoUpdateE2EServiceInstance" name="Call DoUpdateE2EServiceInstance&#10;" calledElement="DoUpdateE2EServiceInstance">
+ <bpmn:extensionElements>
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:in source="msoRequestId" target="msoRequestId" />
+ <camunda:out source="rollbackData" target="rollbackData" />
+ <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+ <camunda:in source="serviceInstanceName" target="serviceInstanceName" />
+ <camunda:in source="productFamilyId" target="productFamilyId" />
+ <camunda:in source="disableRollback" target="disableRollback" />
+ <camunda:in source="uuiRequest" target="uuiRequest" />
+ <camunda:out source="rolledBack" target="rolledBack" />
+ <camunda:out source="serviceInstanceName" target="serviceInstanceName" />
+ <camunda:in source="failIfExists" target="failIfExists" />
+ <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
+ <camunda:in source="serviceType" target="serviceType" />
+ <camunda:in source="initialStatus" target="initialStatus" />
+ <camunda:in source="operationId" target="operationId" />
+ <camunda:in source="operationType" target="operationType" />
+ <camunda:in source="URN_mso_adapters_openecomp_db_endpoint" target="URN_mso_adapters_openecomp_db_endpoint" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_19eilro</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0klbpxx</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:endEvent id="EndEvent_0bpd6c0" name="End">
+ <bpmn:incoming>SequenceFlow_0yayvrf</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:scriptTask id="ScriptTask_1s09c7d" name="Pre Process Incoming Request" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0s2spoq</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0z4faf9</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def csi= new UpdateCustomE2EServiceInstance()
+csi.preProcessRequest(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:scriptTask id="ScriptTask_0ttvn8r" name="Prepare Completion Request" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_14zu6wr</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0je30si</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def csi = new UpdateCustomE2EServiceInstance()
+csi.prepareCompletionRequest(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:callActivity id="CallActivity_02fyxz0" name="Call CompleteMsoProcess" calledElement="CompleteMsoProcess">
+ <bpmn:extensionElements>
+ <camunda:in source="completionRequest" target="CompleteMsoProcessRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:out source="CMSO_ResponseCode" target="CMSO_ResponseCode" />
+ <camunda:out source="CompleteMsoProcessResponse" target="CompleteMsoProcessResponse" />
+ <camunda:out source="CMSO_ErrorResponse" target="CMSO_ErrorResponse" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_0je30si</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0yayvrf</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:subProcess id="SubProcess_0vaws86" name="Sub-process for FalloutHandler and Rollback" triggeredByEvent="true">
+ <bpmn:startEvent id="StartEvent_0dug28e">
+ <bpmn:outgoing>SequenceFlow_0e1r62n</bpmn:outgoing>
+ <bpmn:errorEventDefinition />
+ </bpmn:startEvent>
+ <bpmn:endEvent id="EndEvent_03wysuk">
+ <bpmn:incoming>SequenceFlow_1ysapam</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:scriptTask id="ScriptTask_0u8o9p2" name="Prepare Fallout Request" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0n9pexp</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_01umodj</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def csi = new UpdateCustomE2EServiceInstance()
+csi.prepareFalloutRequest(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:callActivity id="CallActivity_1ang7q8" name="Call FalloutHandler" calledElement="FalloutHandler">
+ <bpmn:extensionElements>
+ <camunda:in source="falloutRequest" target="FalloutHandlerRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:out source="FH_ResponseCode" target="FH_ResponseCode" />
+ <camunda:out source="FalloutHandlerResponse" target="FalloutHandlerResponse" />
+ <camunda:out source="FH_ErrorResponse" target="FH_ErrorResponse" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_01umodj</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1ysapam</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:scriptTask id="ScriptTask_1rn6nqi" name="Send Error Response">
+ <bpmn:incoming>SequenceFlow_0e1r62n</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0n9pexp</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def csi = new UpdateCustomE2EServiceInstance()
+csi.sendSyncError(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:sequenceFlow id="SequenceFlow_0e1r62n" sourceRef="StartEvent_0dug28e" targetRef="ScriptTask_1rn6nqi" />
+ <bpmn:sequenceFlow id="SequenceFlow_1ysapam" sourceRef="CallActivity_1ang7q8" targetRef="EndEvent_03wysuk" />
+ <bpmn:sequenceFlow id="SequenceFlow_0n9pexp" sourceRef="ScriptTask_1rn6nqi" targetRef="ScriptTask_0u8o9p2" />
+ <bpmn:sequenceFlow id="SequenceFlow_01umodj" sourceRef="ScriptTask_0u8o9p2" targetRef="CallActivity_1ang7q8" />
+ </bpmn:subProcess>
+ <bpmn:scriptTask id="ScriptTask_0xupxj9" name="Send Sync Ack Response" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0z4faf9</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_19eilro</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def csi = new UpdateCustomE2EServiceInstance()
+csi.sendSyncResponse(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_0aqn64l" name="Success?">
+ <bpmn:incoming>SequenceFlow_0klbpxx</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_14zu6wr</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_1fueo69</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:endEvent id="EndEvent_07uk5iy">
+ <bpmn:incoming>SequenceFlow_1fueo69</bpmn:incoming>
+ <bpmn:errorEventDefinition errorRef="Error_0nbdy47" />
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0s2spoq" sourceRef="StartEvent_00qj6ro" targetRef="ScriptTask_1s09c7d" />
+ <bpmn:sequenceFlow id="SequenceFlow_19eilro" sourceRef="ScriptTask_0xupxj9" targetRef="DoUpdateE2EServiceInstance" />
+ <bpmn:sequenceFlow id="SequenceFlow_0klbpxx" sourceRef="DoUpdateE2EServiceInstance" targetRef="ExclusiveGateway_0aqn64l" />
+ <bpmn:sequenceFlow id="SequenceFlow_0yayvrf" sourceRef="CallActivity_02fyxz0" targetRef="EndEvent_0bpd6c0" />
+ <bpmn:sequenceFlow id="SequenceFlow_0z4faf9" sourceRef="ScriptTask_1s09c7d" targetRef="ScriptTask_0xupxj9" />
+ <bpmn:sequenceFlow id="SequenceFlow_14zu6wr" name="yes" sourceRef="ExclusiveGateway_0aqn64l" targetRef="ScriptTask_0ttvn8r">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") == null}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_0je30si" sourceRef="ScriptTask_0ttvn8r" targetRef="CallActivity_02fyxz0" />
+ <bpmn:sequenceFlow id="SequenceFlow_1fueo69" name="no" sourceRef="ExclusiveGateway_0aqn64l" targetRef="EndEvent_07uk5iy">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") != null}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ </bpmn:process>
+ <bpmn:error id="Error_0nbdy47" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="UpdateCustomE2EServiceInstance">
+ <bpmndi:BPMNShape id="StartEvent_00qj6ro_di" bpmnElement="StartEvent_00qj6ro">
+ <dc:Bounds x="-6" y="180" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-24" y="221" width="73" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="SubProcess_0ka59nc_di" bpmnElement="SubProcess_0ka59nc" isExpanded="true">
+ <dc:Bounds x="463" y="632" width="394" height="188" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0rhljy8_di" bpmnElement="DoUpdateE2EServiceInstance">
+ <dc:Bounds x="717" y="158" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0bpd6c0_di" bpmnElement="EndEvent_0bpd6c0">
+ <dc:Bounds x="1258" y="286" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1268" y="322" width="22" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1s09c7d_di" bpmnElement="ScriptTask_1s09c7d">
+ <dc:Bounds x="214" y="158" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0ttvn8r_di" bpmnElement="ScriptTask_0ttvn8r">
+ <dc:Bounds x="1038" y="158" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_02fyxz0_di" bpmnElement="CallActivity_02fyxz0">
+ <dc:Bounds x="1226" y="158" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="SubProcess_0vaws86_di" bpmnElement="SubProcess_0vaws86" isExpanded="true">
+ <dc:Bounds x="348" y="370" width="679" height="194" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0xupxj9_di" bpmnElement="ScriptTask_0xupxj9">
+ <dc:Bounds x="459" y="158" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0aqn64l_di" bpmnElement="ExclusiveGateway_0aqn64l" isMarkerVisible="true">
+ <dc:Bounds x="903" y="173" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="903" y="145" width="50" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_07uk5iy_di" bpmnElement="EndEvent_07uk5iy">
+ <dc:Bounds x="910" y="286" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="883" y="322" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0s2spoq_di" bpmnElement="SequenceFlow_0s2spoq">
+ <di:waypoint xsi:type="dc:Point" x="30" y="198" />
+ <di:waypoint xsi:type="dc:Point" x="214" y="198" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="77" y="177" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_19eilro_di" bpmnElement="SequenceFlow_19eilro">
+ <di:waypoint xsi:type="dc:Point" x="559" y="198" />
+ <di:waypoint xsi:type="dc:Point" x="717" y="198" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="593" y="177" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0klbpxx_di" bpmnElement="SequenceFlow_0klbpxx">
+ <di:waypoint xsi:type="dc:Point" x="817" y="198" />
+ <di:waypoint xsi:type="dc:Point" x="903" y="198" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="815" y="177" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0yayvrf_di" bpmnElement="SequenceFlow_0yayvrf">
+ <di:waypoint xsi:type="dc:Point" x="1276" y="238" />
+ <di:waypoint xsi:type="dc:Point" x="1276" y="286" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1246" y="262" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0z4faf9_di" bpmnElement="SequenceFlow_0z4faf9">
+ <di:waypoint xsi:type="dc:Point" x="314" y="198" />
+ <di:waypoint xsi:type="dc:Point" x="459" y="198" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="341.5" y="177" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_14zu6wr_di" bpmnElement="SequenceFlow_14zu6wr">
+ <di:waypoint xsi:type="dc:Point" x="953" y="198" />
+ <di:waypoint xsi:type="dc:Point" x="990" y="198" />
+ <di:waypoint xsi:type="dc:Point" x="990" y="198" />
+ <di:waypoint xsi:type="dc:Point" x="1038" y="198" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="987" y="195" width="20" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0je30si_di" bpmnElement="SequenceFlow_0je30si">
+ <di:waypoint xsi:type="dc:Point" x="1138" y="198" />
+ <di:waypoint xsi:type="dc:Point" x="1226" y="198" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1137" y="183" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1fueo69_di" bpmnElement="SequenceFlow_1fueo69">
+ <di:waypoint xsi:type="dc:Point" x="928" y="223" />
+ <di:waypoint xsi:type="dc:Point" x="928" y="250" />
+ <di:waypoint xsi:type="dc:Point" x="928" y="250" />
+ <di:waypoint xsi:type="dc:Point" x="928" y="286" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="901" y="228" width="15" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0u3lw39_di" bpmnElement="ScriptTask_0u3lw39">
+ <dc:Bounds x="611" y="687" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_0v1ffn4_di" bpmnElement="StartEvent_0v1ffn4">
+ <dc:Bounds x="496" y="709" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="469" y="750" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0eznq6x_di" bpmnElement="EndEvent_0eznq6x">
+ <dc:Bounds x="772" y="709" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="745" y="750" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_0dug28e_di" bpmnElement="StartEvent_0dug28e">
+ <dc:Bounds x="363" y="456" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="336" y="497" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_03wysuk_di" bpmnElement="EndEvent_03wysuk">
+ <dc:Bounds x="942" y="456" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="915" y="497" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0u8o9p2_di" bpmnElement="ScriptTask_0u8o9p2">
+ <dc:Bounds x="621" y="434" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1ang7q8_di" bpmnElement="CallActivity_1ang7q8">
+ <dc:Bounds x="798" y="434" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1rn6nqi_di" bpmnElement="ScriptTask_1rn6nqi">
+ <dc:Bounds x="443" y="434" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1dsbjjb_di" bpmnElement="SequenceFlow_1dsbjjb">
+ <di:waypoint xsi:type="dc:Point" x="532" y="727" />
+ <di:waypoint xsi:type="dc:Point" x="611" y="727" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="529.5" y="727" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1yay321_di" bpmnElement="SequenceFlow_1yay321">
+ <di:waypoint xsi:type="dc:Point" x="711" y="727" />
+ <di:waypoint xsi:type="dc:Point" x="772" y="727" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="701.5" y="727" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0e1r62n_di" bpmnElement="SequenceFlow_0e1r62n">
+ <di:waypoint xsi:type="dc:Point" x="399" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="421" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="421" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="442" y="474" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="391" y="474" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ysapam_di" bpmnElement="SequenceFlow_1ysapam">
+ <di:waypoint xsi:type="dc:Point" x="898" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="942" y="474" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="875" y="459" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0n9pexp_di" bpmnElement="SequenceFlow_0n9pexp">
+ <di:waypoint xsi:type="dc:Point" x="543" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="570" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="570" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="621" y="474" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="540" y="474" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_01umodj_di" bpmnElement="SequenceFlow_01umodj">
+ <di:waypoint xsi:type="dc:Point" x="721" y="474" />
+ <di:waypoint xsi:type="dc:Point" x="798" y="474" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="715.5" y="459" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java b/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java
index b8c4aed8fa..6588995308 100644
--- a/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java
+++ b/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java
@@ -98,11 +98,11 @@ public class MsoLogger {
public enum Catalog {
APIH, BPEL, RA, ASDC, GENERAL
- };
+ }
public enum StatusCode {
COMPLETE, ERROR
- };
+ }
public enum ResponseCode {
Suc(0), PermissionError(100), DataError(300), DataNotFound(301), BadRequest(302), SchemaError(
@@ -115,10 +115,10 @@ public class MsoLogger {
return this.value;
}
- private ResponseCode(int value) {
+ ResponseCode(int value) {
this.value = value;
}
- };
+ }
public enum ErrorCode {
PermissionError(100), AvailabilityError(200), DataError(300), SchemaError(400), BusinessProcesssError(
@@ -130,10 +130,10 @@ public class MsoLogger {
return this.value;
}
- private ErrorCode(int value) {
+ ErrorCode(int value) {
this.value = value;
}
- };
+ }
private EELFLogger logger, auditLogger, metricsLogger;
private static final String CONFIG_FILE = System.getProperty("jboss.home.dir") + "/mso-config/uuid/uuid_"
diff --git a/common/src/main/java/org/openecomp/mso/properties/MsoPropertiesParameters.java b/common/src/main/java/org/openecomp/mso/properties/MsoPropertiesParameters.java
index 488bb354ee..b89a5d4791 100644
--- a/common/src/main/java/org/openecomp/mso/properties/MsoPropertiesParameters.java
+++ b/common/src/main/java/org/openecomp/mso/properties/MsoPropertiesParameters.java
@@ -23,8 +23,8 @@ package org.openecomp.mso.properties;
public class MsoPropertiesParameters {
- protected enum MsoPropertiesType {JSON_PROP,JAVA_PROP};
-
+ protected enum MsoPropertiesType {JSON_PROP,JAVA_PROP}
+
protected MsoPropertiesType msoPropertiesType;
protected int refreshCounter;
diff --git a/common/src/main/resources/ASDC.properties b/common/src/main/resources/ASDC.properties
index 4f3864dac2..5f4f0baa6c 100644
--- a/common/src/main/resources/ASDC.properties
+++ b/common/src/main/resources/ASDC.properties
@@ -51,7 +51,7 @@ ASDC_GENERAL_WARNING=\
MSO-ASDC-5301W|\
WARNING: {0}|\
Please check other logs for more detailed info|\
- General warning
+ General warning
ASDC_AUDIT_EXEC=\
MSO-ASDC-5302I|\
Executing method: {0}. {1}|\
@@ -61,77 +61,77 @@ ASDC_GENERAL_METRICS=\
MSO-ASDC-5305I|\
Executed method: {0}. {1}|\
No resolution needed|\
- Generate information for Metric events
+ Generate information for Metric events
ASDC_CREATE_SERVICE=\
MSO-ASDC-5306I|\
Creating new VNF Resource for service {0} with id {1} and version {2}|\
No resolution needed|\
- Method triggered to create new VNF Resource
+ Method triggered to create new VNF Resource
ASDC_CREATE_ARTIFACT=\
MSO-ASDC-5307I|\
Installing new {0} for service {1} with id {2} and version {3}|\
No resolution needed|\
- Method triggered to create new VNF Resource
+ Method triggered to create new VNF Resource
ASDC_ARTIFACT_ALREADY_DEPLOYED=\
MSO-ASDC-5308W|\
Constraint violation caught, artifact is already deployed {0} and version {1}|\
No resolution needed|\
- Artifact is already deployed
+ Artifact is already deployed
ASDC_ARTIFACT_INSTALL_EXC=\
MSO-ASDC-5309E|\
Exception caught during installation of the {0}. Transaction rollback.|\
Please check other logs for more detailed info|\
- Exception caught during installation of the artifact
+ Exception caught during installation of the artifact
ASDC_CHECK_HEAT_TEMPLATE=\
MSO-ASDC-5310I|\
Start to verify whether {0} with name {1} and version {2} is already deployed|\
No resolution needed|\
- Check artifact
+ Check artifact
ASDC_ARTIFACT_ALREADY_DEPLOYED_DETAIL=\
MSO-ASDC-5311I|\
ResourceInstanceName:{0} (ResourceUUID:{1}) is already deployed for this Service:{2}/{3}(ServiceUUID:{4}) (ResourceName: {5})|\
No resolution needed|\
- Resource is already deployed
+ Resource is already deployed
ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL=\
MSO-ASDC-5312I|\
ResourceInstanceName:{0} (ResourceUUID:{1}) is not yet deployed for this Service:{2}/{3}(ServiceUUID:{4}) (ResourceName: {5})|\
No resolution needed|\
- Resource is not yet deployed
+ Resource is not yet deployed
ASDC_INIT_ASDC_CLIENT_EXC=\
MSO-ASDC-5314W|\
ASDControllerException caught during the Init/closing of ASDC Client with address {0} and environment {1}|\
Please check other logs for more detailed info|\
- ASDControllerException caught during the Init/closing of ASDC Client
+ ASDControllerException caught during the Init/closing of ASDC Client
ASDC_LOAD_ASDC_CLIENT_EXC=\
MSO-ASDC-5315W|\
ASDCParametersException caught during loading/reloading of the ASDC Client with address {0} and environment {1}|\
Please check other logs for more detailed info|\
- ASDCParametersException caught during loading/reloading of the ASDC Client
+ ASDCParametersException caught during loading/reloading of the ASDC Client
ASDC_SHUTDOWN_ASDC_CLIENT_EXC=\
MSO-ASDC-5317W|\
{0} caught during the ASDC Controller with address {1} and environment {2} shutdown|\
Please check other logs for more detailed info|\
- Exception caught during the ASDC Controller shutdown
+ Exception caught during the ASDC Controller shutdown
ASDC_START_INSTALL_ARTIFACT=\
MSO-ASDC-5318I|\
Trying to install the artifact:{0}|\
No resolution needed|\
- Trying to install the artifact
+ Trying to install the artifact
ASDC_ARTIFACT_TYPE_NOT_SUPPORT=\
MSO-ASDC-5319W|\
This artifact type is not supported:{0}|\
No resolution needed|\
- Artifact type is not supported
+ Artifact type is not supported
ASDC_ARTIFACT_ALREADY_EXIST=\
MSO-ASDC-5320I|\
No need to download the artifact as it exists already in MSO:{0} (UUID:{1}) associated to ResourceName {2}|\
No resolution needed|\
- Artifact already exists
+ Artifact already exists
ASDC_ARTIFACT_DOWNLOAD_SUC=\
MSO-ASDC-5321I|\
Artifact successfully downloaded:{0} (UUID:{1}) (SIZE in Bytes:{2})|\
No resolution needed|\
- Artifact successfully downloaded
+ Artifact successfully downloaded
ASDC_ARTIFACT_DOWNLOAD_FAIL=\
MSO-ASDC-5322E|\
Artifact :{0} could not be downloaded correctly from ASDC URL {1} (UUID:{2}) Error message is {3})|\
@@ -141,47 +141,47 @@ ASDC_START_DEPLOY_ARTIFACT=\
MSO-ASDC-5323I|\
Trying to deploy the artifact:{0} (UUID:{1})|\
No resolution needed|\
- Trying to deploy the artifact
+ Trying to deploy the artifact
ASDC_ARTIFACT_DEPLOY_SUC=\
MSO-ASDC-5324I|\
Resource successfully installed:{0} (UUID:{1}) (Nb of Modules:{2})|\
No resolution needed|\
- Resource successfully installed
+ Resource successfully installed
ASDC_SEND_NOTIF_ASDC=\
MSO-ASDC-5325I|\
Sending {0} ({1}) notification to ASDC for artifact:{2}|\
No resolution needed|\
- Sending notif to ASDC
+ Sending notif to ASDC
ASDC_SEND_NOTIF_ASDC_EXEC=\
MSO-ASDC-5326W|\
Exception caught when trying to notify ASDC|\
Please check other logs for more detailed info|\
- Exception caught when trying to notify ASDC
+ Exception caught when trying to notify ASDC
ASDC_RECEIVE_CALLBACK_NOTIF=\
MSO-ASDC-5327I|\
Receive a callback notification in ASDC, nb of artifacts: {0} (ServiceUUID:{1})|\
No resolution needed|\
- Receive a callback notification in ASDC
+ Receive a callback notification in ASDC
ASDC_RECEIVE_SERVICE_NOTIF=\
MSO-ASDC-5328I|\
Notification is ServiceVNF, (ServiceUUID:{0})|\
No resolution needed|\
- Receive a callback notification for ServiceVNF
+ Receive a callback notification for ServiceVNF
ASDC_ARTIFACT_NULL=\
MSO-ASDC-5329I|\
Nothing to deploy artifact is NULL, (ServiceUUID:{0})|\
No resolution needed|\
- Nothing to deploy artifact is NULL
+ Nothing to deploy artifact is NULL
ASDC_SERVICE_NOT_SUPPORT=\
MSO-ASDC-5330W|\
Notification received, (ServiceUUID:{0}) is not a ServiceVNF and is therefore skipped|\
No resolution needed|\
- Service not support
+ Service not support
ASDC_INIT_ASDC_CLIENT_SUC=\
MSO-ASDC-5331I|\
ASDC Controller successfully initialized|\
No resolution needed|\
- ASDC client initialized
+ ASDC client initialized
ASDC_GENERAL_EXCEPTION_ARG=\
MSO-ASDC-9300E|\
Exception: {0}|\
@@ -212,4 +212,4 @@ ASDC_GENERAL_INFO=\
MSO-ASDC-9305I|\
INFO: {0}|\
No resolution needed|\
- General Info
+ General Info
diff --git a/common/src/main/resources/ApiHandler.properties b/common/src/main/resources/ApiHandler.properties
index 82d452ae4e..60ecf94655 100644
--- a/common/src/main/resources/ApiHandler.properties
+++ b/common/src/main/resources/ApiHandler.properties
@@ -81,12 +81,12 @@ APIH_DB_UPDATE_EXC=\
MSO-APIH-3008E|\
Unable to update record to DB: {0}|\
Please check other logs for more detailed info|\
- Unable to insert record to DB
+ Unable to insert record to DB
APIH_VALIDATION_ERROR=\
MSO-APIH-4000E|\
Validation failed|\
Please check other logs for more detailed info|\
- Validation failed
+ Validation failed
APIH_REQUEST_VALIDATION_ERROR=\
MSO-APIH-4001E|\
Validation of the input request failed, for incoming request:{0}|\
@@ -96,17 +96,17 @@ APIH_SERVICE_VALIDATION_ERROR=\
MSO-APIH-4002E|\
Service params failed schema validation|\
Please check other logs for more detailed info|\
- Service params failed schema validation
+ Service params failed schema validation
APIH_REQUEST_VALIDATION_ERROR_REASON=\
MSO-APIH-4003E|\
Validation of the input request failed:{0}|\
Please verify the input request|\
- Validation of the input request failed
+ Validation of the input request failed
APIH_VNFREQUEST_VALIDATION_ERROR=\
MSO-APIH-4004E|\
Validation of the VNF Request failed|\
Please verify the VNF Request|\
- Validation of the VNF Request failed
+ Validation of the VNF Request failed
APIH_QUERY_PARAM_WRONG=\
MSO-APIH-5003W|\
Bad Request: {0}|\
@@ -116,7 +116,7 @@ APIH_GENERAL_WARNING=\
MSO-APIH-5004W|\
WARNING: {0}|\
Please check other logs for more detailed info|\
- General warning
+ General warning
APIH_AUDIT_EXEC=\
MSO-APIH-5005I|\
Executing request: {0}. {1}|\
@@ -126,32 +126,32 @@ APIH_GENERAL_METRICS=\
MSO-APIH-5008I|\
Executed method: {0}. {1}|\
No resolution needed|\
- Generate information for Metric events
+ Generate information for Metric events
APIH_REQUEST_NULL=\
MSO-APIH-5009W|\
The request received by MSO is null|\
Please check other logs for more detailed info|\
- The request received by MSO is null
+ The request received by MSO is null
APIH_DUPLICATE_FOUND=\
MSO-APIH-5011W|\
Duplicated request found: {0}|\
Please check other logs for more detailed info|\
- Duplicated request found
+ Duplicated request found
APIH_BAD_ORDER=\
MSO-APIH-5012W|\
Request received with wrong order: {0}|\
Please check other logs for more detailed info|\
- Request received with wrong order
+ Request received with wrong order
APIH_BPEL_RESPONSE_ERROR=\
MSO-APIH-5014E|\
Abnormal response received from BPEL server: {0}|\
Please check other logs for more detailed info|\
- Abnormal response received from BPEL server
+ Abnormal response received from BPEL server
APIH_WARP_REQUEST=\
MSO-APIH-5015E|\
Error wrapping request|\
Please check other logs for more detailed info|\
- Error wrapping request to be sent to BPEL server
+ Error wrapping request to be sent to BPEL server
APIH_ERROR_FROM_BPEL_SERVER=\
MSO-APIH-5016E|\
Error from {0} with status:{1} and responseBody:{2}|\
@@ -161,12 +161,12 @@ APIH_CANNOT_READ_SCHEMA=\
MSO-APIH-5017E|\
MSO Configuration Error - Unable to read the schema file|\
Please check other logs for more detailed info|\
- MSO Configuration Error - Unable to read the schema file
+ MSO Configuration Error - Unable to read the schema file
APIH_PROPERTY_LOAD_SUC=\
MSO-APIH-5018I|\
Properties file loaded successfully|\
No resolution needed|\
- Properties file loaded successfully
+ Properties file loaded successfully
APIH_NO_PROPERTIES=\
MSO-APIH-5019E|\
Missing or invalid properties file: {0}|\
@@ -201,7 +201,7 @@ APIH_GENERAL_EXCEPTION=\
MSO-APIH-9001E|\
Exception encountered|\
Please check other logs for more detailed info|\
- Exception encountered
+ Exception encountered
APIH_HEALTH_CHECK_EXCEPTION=\
MSO-APIH-9002E|\
Exception during health check|\
@@ -221,27 +221,27 @@ APIH_BPEL_COMMUNICATE_ERROR=\
MSO-APIH-9005E|\
Exception during BPEL POST|\
Please check other logs for more detailed info|\
- Exception during BPEL POST
+ Exception during BPEL POST
APIH_SDNC_COMMUNICATE_ERROR=\
MSO-APIH-9006E|\
Exception when sending HTTP POST request to SDNC Adapter|\
Please check other logs for more detailed info|\
- Exception when sending HTTP POST request to SDNC Adapter
+ Exception when sending HTTP POST request to SDNC Adapter
APIH_SDNC_RESPONSE_ERROR=\
MSO-APIH-9007E|\
IOException getting SDNC Adapter response body|\
Please check other logs for more detailed info|\
- IOException getting SDNC Adapter response body
+ IOException getting SDNC Adapter response body
APIH_JAXB_MARSH_ERROR=\
MSO-APIH-9008E|\
Exception when translating query results into string with Jaxb|\
Please check other logs for more detailed info|\
- Exception when translating query results into string with Jaxb
+ Exception when translating query results into string with Jaxb
APIH_JAXB_UNMARSH_ERROR=\
MSO-APIH-9009E|\
Exception when formatting for VNF outputs with Jaxb|\
Please check other logs for more detailed info|\
- Exception when formatting for VNF outputs
+ Exception when formatting for VNF outputs
APIH_DOM2STR_ERROR=\
MSO-APIH-9010E|\
Error converting xml Document to String|\
diff --git a/common/src/main/resources/BPMN.properties b/common/src/main/resources/BPMN.properties
index 9e8a7e7189..848135e716 100644
--- a/common/src/main/resources/BPMN.properties
+++ b/common/src/main/resources/BPMN.properties
@@ -51,12 +51,12 @@ BPMN_GENERAL_INFO=\
MSO-BPEL-5100I|\
INFO: {0}|\
No resolution needed|\
- General info
+ General info
BPMN_GENERAL_WARNING=\
MSO-BPEL-5101W|\
WARNING: {0}|\
Please check other logs for more information|\
- General warning
+ General warning
BPMN_AUDIT_EXEC=\
MSO-BPEL-5102I|\
Executing method: {0}. {1}|\
@@ -76,7 +76,7 @@ BPMN_VARIABLE_NULL=\
MSO-BPEL-5107W|\
Variable {0} is null; skipped|\
No resolution needed|\
- Variable is null
+ Variable is null
BPMN_GENERAL_EXCEPTION_ARG=\
MSO-BPEL-9100E|\
Exception: {0}|\
@@ -86,7 +86,7 @@ BPMN_GENERAL_EXCEPTION=\
MSO-BPEL-9101E|\
Exception encountered|\
Please check other logs for more information|\
- Exception encountered
+ Exception encountered
BPMN_CALLBACK_EXCEPTION=\
MSO-BPEL-9102E|\
{0} Exception occurred processing callback to BPMN process {1}|\
diff --git a/common/src/main/resources/GenericMessages.properties b/common/src/main/resources/GenericMessages.properties
index 26403235c9..a9aa13f61a 100644
--- a/common/src/main/resources/GenericMessages.properties
+++ b/common/src/main/resources/GenericMessages.properties
@@ -51,52 +51,52 @@ GENERAL_WARNING=\
MSO-GENERAL-5401W|\
WARNING: {0}|\
Please check other logs for more detailed info|\
- General warning
+ General warning
AUDIT_EXEC=\
MSO-GENERAL-5402I|\
Executing method: {0}. {1}|\
No resolution needed|\
- Executing method
+ Executing method
GENERAL_METRICS=\
MSO-GENERAL-5405I|\
Executed method: {0}. {1}|\
No resolution needed|\
- Generate information for Metric events
+ Generate information for Metric events
LOGGER_SETUP=\
MSO-GENERAL-5406I|\
Request received to update logger level|\
No resolution needed|\
- Request received to update logger level
+ Request received to update logger level
LOGGER_NOT_FOUND=\
MSO-GENERAL-5407I|\
Logger Servlet: Logger not found: : {0}|\
No resolution needed|\
- Logger not found
+ Logger not found
LOGGER_UPDATE_SUC=\
MSO-GENERAL-5408I|\
Successfully update Logger: {0} from level {1} to level {2}|\
No resolution needed|\
- Generate information for Metric events
+ Generate information for Metric events
LOGGER_UPDATE_DEBUG=\
MSO-GENERAL-5409I|\
Request received to update debug mode|\
No resolution needed|\
- Request received to update debug mode
+ Request received to update debug mode
LOGGER_UPDATE_DEBUG_SUC=\
MSO-GENERAL-5410I|\
Successfully {0} debug mode|\
No resolution needed|\
- Successfully updated debug mode
+ Successfully updated debug mode
LOAD_PROPERTIES_SUC=\
MSO-GENERAL-5411I|\
Properties file loaded successfully from file {0}|\
No resolution needed|\
- Properties file loaded successfully
+ Properties file loaded successfully
NO_PROPERTIES=\
MSO-GENERAL-5412E|\
Missing or invalid properties file: {0}|\
Please verify whether properties file exist or readable|\
- Missing or invalid properties file
+ Missing or invalid properties file
LOAD_PROPERTIES_FAIL=\
MSO-GENERAL-5413E|\
Failed loading properties file: {0}|\
@@ -106,17 +106,17 @@ INIT_LOGGER=\
MSO-GENERAL-5414I|\
Prepare to initialize loggers from {0}|\
No resolution needed|\
- Prepare to initialize loggers
+ Prepare to initialize loggers
MADATORY_PARAM_MISSING=\
MSO-GENERAL-5415E|\
Not able to get mandatory parameter: {0} from file {1}|\
No resolution needed|\
- Mandatory parameter missing
+ Mandatory parameter missing
IDENTITY_SERVICE_NOT_FOUND=\
MSO-GENERAL-5416E|\
Identity service not found: region={0} ,cloud={1}|\
Please check other logs for more detailed info|\
- Identity service not found
+ Identity service not found
GENERAL_EXCEPTION_ARG=\
MSO-GENERAL-9400E|\
Exception: {0}|\
@@ -126,7 +126,7 @@ GENERAL_EXCEPTION=\
MSO-GENERAL-9401E|\
Exception encountered|\
Please check other logs for more detailed info|\
- Exception encountered
+ Exception encountered
INIT_LOGGER_FAIL=\
MSO-GENERAL-9402E|\
Failed to initialize loggers|\
diff --git a/common/src/main/resources/ResourceAdapter.properties b/common/src/main/resources/ResourceAdapter.properties
index 0dbbb3c936..8eed3857d7 100644
--- a/common/src/main/resources/ResourceAdapter.properties
+++ b/common/src/main/resources/ResourceAdapter.properties
@@ -56,42 +56,42 @@ RA_DELETE_STACK_TIMEOUT=\
MSO-RA-2201E|\
Delete Stack - Polling timeout exceeded. cloud={0}, tenant={1}, stack={2}, status={3}|\
Please check other logs for more detailed info|\
- Delete Stack timeout
+ Delete Stack timeout
RA_UPDATE_STACK_TIMEOUT=\
MSO-RA-2202E|\
Update Stack - Polling timeout exceeded. cloud={0}, tenant={1}, stack={2}, status={3}|\
Please check other logs for more detailed info|\
- Delete Stack timeout
+ Delete Stack timeout
RA_MISSING_PARAM=\
MSO-RA-4200I|\
Missing Required parameter: {0}|\
No resolution needed|\
- Mandatory Parameter Missing
+ Mandatory Parameter Missing
RA_PARSING_ERROR=\
MSO-RA-4201E|\
Error parsing file {0}|\
No resolution needed|\
- Error parsing file
+ Error parsing file
RA_MARSHING_ERROR=\
MSO-RA-4202E|\
Error marshalling callback request with JaxB|\
Please check other logs for more detailed info|\
- Error marshalling callback request
+ Error marshalling callback request
RA_PARSING_REQUEST_ERROR=\
MSO-RA-4203E|\
Error parsing request:{0}|\
Please check other logs for more detailed info|\
- Error parsing request
+ Error parsing request
RA_VLAN_PARSE=\
MSO-RA-4204E|\
Error parsing VLAN parameter in network stack {0}:{1}|\
Please check other logs for more detailed info|\
- Error parsing VLAN parameter in network stack
+ Error parsing VLAN parameter in network stack
RA_GENERAL_WARNING=\
MSO-RA-5201W|\
WARNING: {0}|\
Please check other logs for more detailed info|\
- General warning
+ General warning
RA_AUDIT_EXEC=\
MSO-RA-5202I|\
Executing method: {0}. {1}|\
@@ -101,52 +101,52 @@ RA_GENERAL_METRICS=\
MSO-RA-5205I|\
Executed method: {0}. {1}|\
No resolution needed|\
- Generate information for Metric events
+ Generate information for Metric events
RA_PROPERTIES_NOT_FOUND=\
MSO-RA-5206E|\
Properties file: {0} not found|\
Please verify whether properties file exist or readable|\
- Properties file not found
+ Properties file not found
RA_LOAD_PROPERTIES_SUC=\
MSO-RA-5207I|\
Properties file loaded successfully from file {0}|\
No resolution needed|\
- Properties file loaded successfully
+ Properties file loaded successfully
RA_PARAM_NOT_FOUND=\
MSO-RA-5208E|\
Attribute {0} not found in DB. For {1}={2}|\
No resolution needed|\
- Attribute not found in DB
+ Attribute not found in DB
RA_UNKOWN_PARAM=\
MSO-RA-5209E|\
Unknown {0}:{1}|\
Please check other logs for more detailed info|\
- Unknown attribute
+ Unknown attribute
RA_CONFIG_EXC=\
MSO-RA-5210E|\
Configuration error:{0}|\
Please check other logs for more detailed info|\
- Configuration Error
+ Configuration Error
RA_CONFIG_NOT_FOUND=\
MSO-RA-5211E|\
Could not found configuration file:{0}|\
Please verify whether configuration file exist or readable|\
- Configuration file not found
+ Configuration file not found
RA_SEND_REQUEST_SDNC=\
MSO-RA-5212I|\
Sending request to SDNC:{0}|\
No resolution needed|\
- Sending request to SDNC
+ Sending request to SDNC
RA_RESPONSE_FROM_SDNC=\
MSO-RA-5213I|\
Response received from SDNC:{0}|\
No resolution needed|\
- Response received from SDNC
+ Response received from SDNC
RA_CALLBACK_BPEL=\
MSO-RA-5218E|\
Callback to BPEL:{0} |\
Please check other logs for more detailed info|\
- Callback to BPEL
+ Callback to BPEL
RA_NETWORK_ALREADY_EXIST=\
MSO-RA-5240W|\
Network already exists: {0} in {1}/{2}|\
@@ -156,117 +156,117 @@ RA_NETWORK_NOT_FOUND=\
MSO-RA-5241E|\
Network doesn't exist: {0} in {1}/{2}|\
Please check other logs for more detailed info|\
- Network doesn't exist
+ Network doesn't exist
RA_NETWORK_ORCHE_MODE_NOT_SUPPORT=\
MSO-RA-5243E|\
Network Type Orchestrated mode:{0} is not supported|\
Please check other logs for more detailed info|\
- Network Type Orchestrated mode
+ Network Type Orchestrated mode
RA_ROLLBACK_NULL=\
MSO-RA-5249W|\
Rollback: No action to perform|\
No resolution needed|\
- Rollback: No action to perform
+ Rollback: No action to perform
RA_ASYNC_ROLLBACK=\
MSO-RA-5251I|\
Async Rollback Network {0}|\
No resolution needed|\
- Async Rollback Network
+ Async Rollback Network
RA_WSDL_NOT_FOUND=\
MSO-RA-5252E|\
Unable to find wsdl file {0} in classpath|\
No resolution needed|\
- Unable to find wsdl file in classpath
+ Unable to find wsdl file in classpath
RA_CALLBACK_BPEL_COMPLETE=\
MSO-RA-5258I|\
Completed processing BPEL request|\
No resolution needed|\
- Completed processing BPEL request
+ Completed processing BPEL request
RA_SDNC_MISS_CONFIG_PARAM=\
MSO-RA-5259E|\
Missing configuration for:{0}|\
Please check other logs for more detailed info|\
- Missing configuration for
+ Missing configuration for
RA_SDNC_INVALID_CONFIG=\
MSO-RA-5260W|\
Invalid configuration(most requests require atleast 3 params:method,timeout,action) for Key:{0} Value:{1}|\
Please check other logs for more detailed info|\
- Invalid configuration
+ Invalid configuration
RA_TENANT_NOT_FOUND=\
MSO-RA-5263E|\
Tenant not found: tenant={0}, cloudSiteId={1}|\
Please check other logs for more detailed info|\
- Tenant not found
+ Tenant not found
RA_PRINT_URL=\
MSO-RA-5264I|\
{0} URL:{1}|\
No resolution needed|\
- Log the URL
+ Log the URL
RA_RECEIVE_SDNC_NOTIF=\
MSO-RA-5268I|\
Received SDNC Notification. XML:{0}|\
No resolution needed|\
- Received SDNC Notification
+ Received SDNC Notification
RA_INIT_SDNC_ADAPTER=\
MSO-RA-5269I|\
Initializing mso-sdnc-adapter|\
No resolution needed|\
- Initializing mso-sdnc-adapter
+ Initializing mso-sdnc-adapter
RA_RECEIVE_BPEL_REQUEST=\
MSO-RA-5270I|\
BPEL request received [{0}] with callback URL [{1}]|\
No resolution needed|\
- BPEL request received
+ BPEL request received
RA_SEND_REQUEST_SDNC_ERR=\
MSO-RA-5271E|\
Error sending request to SDNC. Failed to start SDNC Client thread|\
Please check other logs for more detailed info|\
- Error sending request to SDNC
+ Error sending request to SDNC
RA_TENANT_ALREADY_EXIST=\
MSO-RA-5272E|\
Tenant {0} already exists in {1}|\
No resolution needed|\
- Tenant alaredy exists
+ Tenant alaredy exists
RA_SEND_REQUEST_APPC_ERR=\
MSO-RA-5273E|\
Error sending request to APPC|\
Please check other logs for more detailed info|\
- Error sending request to APPC
+ Error sending request to APPC
RA_VNF_ALREADY_EXIST=\
MSO-RA-5275E|\
Stack {0} already exists in {1}/{2}|\
No resolution needed|\
- VNF already exists
+ VNF already exists
RA_VNF_UNKNOWN_PARAM=\
MSO-RA-5276E|\
Unknown {0}:{1}|\
No resolution needed|\
- Uknown parameter
+ Uknown parameter
RA_VNF_EXTRA_PARAM=\
MSO-RA-5277E|\
Create Stack ({0}) extra input params received:{1}|\
Please check other logs for more detailed info|\
- Extra input params received
+ Extra input params received
RA_VNF_NOT_EXIST=\
MSO-RA-5278E|\
Stack {0} does not exist in {1}/{2}|\
No resolution needed|\
- Stack does not exist
+ Stack does not exist
RA_ASYNC_CREATE_VNF=\
MSO-RA-5282I|\
Async Create VNF :{0} of type {1} in {2}/{3}|\
No resolution needed|\
- Async Create VNF
+ Async Create VNF
RA_SEND_VNF_NOTIF_ERR=\
MSO-RA-5283E|\
Error sending createVnf notification|\
Please check other logs for more detailed info|\
- Error sending createVnf notification
+ Error sending createVnf notification
RA_ASYNC_CREATE_VNF_COMPLETE=\
MSO-RA-5284I|\
Completed createVnfA|\
No resolution needed|\
- Completed createVnfA
+ Completed createVnfA
RA_ASYNC_UPDATE_VNF=\
MSO-RA-5285I|\
Async Update VNF :{0} of type {1} in {2}/{3}|\
@@ -276,7 +276,7 @@ RA_ASYNC_UPDATE_VNF_COMPLETE=\
MSO-RA-5286I|\
Completed updateVnfA|\
No resolution needed|\
- Completed updateVnfA
+ Completed updateVnfA
RA_ASYNC_QUERY_VNF=\
MSO-RA-5287I|\
Async Query VNF :{0} of type {1} in {2}/{3}|\
@@ -286,7 +286,7 @@ RA_ASYNC_QUERY_VNF_COMPLETE=\
MSO-RA-5288I|\
Completed queryVnfA|\
No resolution needed|\
- Completed queryVnfA
+ Completed queryVnfA
RA_ASYNC_DELETE_VNF=\
MSO-RA-5289I|\
Async Delete VNF :{0} of type {1} in {2}/{3}|\
@@ -296,7 +296,7 @@ RA_ASYNC_DELETE_VNF_COMPLETE=\
MSO-RA-5290I|\
Completed deleteVnfA|\
No resolution needed|\
- Completed deleteVnfA
+ Completed deleteVnfA
RA_ASYNC_ROLLBACK_VNF=\
MSO-RA-5291I|\
Async Rollback VNF|\
@@ -306,7 +306,7 @@ RA_ASYNC_ROLLBACK_VNF_COMPLETE=\
MSO-RA-5292I|\
Completed rollbackVnfA|\
No resolution needed|\
- Completed rollbackVnfA
+ Completed rollbackVnfA
RA_DB_INVALID_STATUS=\
MSO-RA-5293E|\
Invalid status value|\
@@ -316,12 +316,12 @@ RA_DB_REQUEST_NOT_EXIST=\
MSO-RA-5294E|\
Request ID={0} does not exist in DB|\
Please check other logs for more detailed info|\
- Record does not exist in DB
+ Record does not exist in DB
RA_CANT_UPDATE_REQUEST=\
MSO-RA-5295E|\
Enable to update {0} in DB for Request ID={1}|\
Please check other logs for more detailed info|\
- Enable to update DB
+ Enable to update DB
RA_CONFIG_LOAD=\
MSO-RA-5296I|\
Configuration loaded from {0}|\
@@ -331,42 +331,42 @@ RA_RECEIVE_WORKFLOW_MESSAGE=\
MSO-RA-5297I|\
Received Workflow Message: {0}|\
No resolution needed|\
- Received Workflow Message
+ Received Workflow Message
RA_NS_EXC=\
MSO-RA-5298I|\
VFC Adatper Message: {0}|\
No resolution needed|\
- VFC Adatper Message
+ VFC Adatper Message
RA_GENERAL_EXCEPTION_ARG=\
MSO-RA-9200E|\
Exception: {0}|\
Please check other logs for more detailed info|\
- General exception with reason
+ General exception with reason
RA_GENERAL_EXCEPTION=\
MSO-RA-9201E|\
Exception encountered|\
Please check other logs for more detailed info|\
- Exception encountered
+ Exception encountered
RA_CONNECTION_EXCEPTION=\
MSO-RA-9202E|\
Exception communicating with {0}: {1}|\
Please check other logs for more detailed info|\
- Communication Exception
+ Communication Exception
RA_EXCEPTION_COMMUNICATE_SDNC=\
MSO-RA-9203E|\
Exception while processing request to SDNC|\
Please check other logs for more detailed info|\
- Exception while processing request to SDNC
+ Exception while processing request to SDNC
RA_EVALUATE_XPATH_ERROR=\
MSO-RA-9204E|\
Error while evaluating xpath {0} - {1}|\
Please check other logs for more detailed info|\
- Error while evaluating xpath
+ Error while evaluating xpath
RA_ANALYZE_ERROR_EXC=\
MSO-RA-9205E|\
Problem analyzing error returned by SDN-C|\
Please check other logs for more detailed info|\
- Problem analyzing error returned by SDN-C
+ Problem analyzing error returned by SDN-C
RA_ERROR_GET_RESPONSE_SDNC=\
MSO-RA-9206E|\
Error getting response code from errored SDNC request|\
@@ -381,7 +381,7 @@ RA_CREATE_STACK_ERR=\
MSO-RA-9208E|\
Create Stack Error: {0}|\
Please check other logs for more detailed info|\
- Create Stack Error
+ Create Stack Error
RA_UPDATE_STACK_ERR=\
MSO-RA-9209E|\
Update Stack Error - Polling complete with non-success status: {0}, {1}|\
@@ -391,17 +391,17 @@ RA_UPDATE_NETWORK_ERR=\
MSO-RA-9210E|\
Exception while update network, {0} in {1}/{2}|\
Please check other logs for more detailed info |\
- Update Network Error
+ Update Network Error
RA_QUERY_NETWORK_EXC=\
MSO-RA-9211E|\
Exception while query network: {0} in {1}/{2}|\
Please check other logs for more detailed info|\
- Exception while query network:
+ Exception while query network:
RA_CREATE_NETWORK_EXC=\
MSO-RA-9212E|\
Exception while create network: {0} in {1}/{2}|\
Please check other logs for more detailed info|\
- Create Network Error
+ Create Network Error
RA_DELETE_NETWORK_EXC=\
MSO-RA-9213E|\
Exception while delete network: {0} in {1}/{2}|\
@@ -416,12 +416,12 @@ RA_WSDL_URL_CONVENTION_EXC=\
MSO-RA-9215E|\
{0} URL converion failed|\
Please check other logs for more detailed info|\
- WSDL URL converion failed
+ WSDL URL converion failed
RA_INIT_NOTIF_EXC=\
MSO-RA-9216E|\
Caught exception initializing Notification Url|\
Please check other logs for more detailed info|\
- Caught exception initializing Notification Url
+ Caught exception initializing Notification Url
RA_SET_CALLBACK_AUTH_EXC=\
MSO-RA-9217E|\
Unable to set authorization in callback request|\
@@ -431,7 +431,7 @@ RA_FAULT_INFO_EXC=\
MSO-RA-9218E|\
Exception caught while getting fault info|\
Please check other logs for more detailed info|\
- Exception caught while getting fault info
+ Exception caught while getting fault info
RA_CALLBACK_BPEL_EXC=\
MSO-RA-9219E|\
Error sending BPEL Callback request|\
@@ -441,7 +441,7 @@ RA_CREATE_TENANT_ERR=\
MSO-RA-9220E|\
Create Tenant Error: {0}|\
Please check other logs for more detailed info|\
- Create Tenant Error
+ Create Tenant Error
RA_DELETE_TEMAMT_ERR=\
MSO-RA-9221E|\
Delete Tenant Error: {0}|\
@@ -451,12 +451,12 @@ RA_ERROR_CREATE_SDNC_REQUEST=\
MSO-RA-9222E|\
Error creating SDNC request|\
Please check other logs for more detailed info|\
- Error creating SDNC request
+ Error creating SDNC request
RA_ERROR_CREATE_SDNC_RESPONSE=\
MSO-RA-9223E|\
Error creating SDNC response|\
Please check other logs for more detailed info|\
- Error creating SDNC response
+ Error creating SDNC response
RA_ERROR_CONVERT_XML2STR=\
MSO-RA-9224E|\
Error converting xml Document to String|\
@@ -466,12 +466,12 @@ RA_UPDATE_TENANT_ERR=\
MSO-RA-9225E|\
Update Tenant Error: {0}|\
Please check other logs for more detailed info|\
- Update Tenant Error
+ Update Tenant Error
RA_ROLLBACK_TENANT_ERR=\
MSO-RA-9226E|\
Rollback Tenant Error: {0}|\
Please check other logs for more detailed info|\
- Rollback Tenant Error
+ Rollback Tenant Error
RA_QUERY_VNF_ERR=\
MSO-RA-9227E|\
Exception while query VNF:{0} in {1}/{2}|\
@@ -481,12 +481,12 @@ RA_UPDATE_VNF_ERR=\
MSO-RA-9228E|\
Exception while update VNF:{0} in {1}/{2}|\
Please check other logs for more detailed info|\
- Exception while update VNF
+ Exception while update VNF
RA_DELETE_VNF_ERR=\
MSO-RA-9229E|\
Exception while delete VNF:{0} in {1}/{2}|\
Please check other logs for more detailed info|\
- Exception while delete VNF
+ Exception while delete VNF
RA_CREATE_VNF_ERR=\
MSO-RA-9230E|\
Exception while create VNF:{0} in {1}/{2}|\
@@ -496,4 +496,4 @@ RA_ROLLBACK_VNF_ERR=\
MSO-RA-9231E|\
Exception while rollback VNF|\
Please check other logs for more detailed info|\
- Exception while rollback VNF
+ Exception while rollback VNF