diff options
216 files changed, 3974 insertions, 1737 deletions
diff --git a/adapters/mso-adapter-utils/pom.xml b/adapters/mso-adapter-utils/pom.xml index dd1159f6d1..cd0a688018 100644 --- a/adapters/mso-adapter-utils/pom.xml +++ b/adapters/mso-adapter-utils/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapter-utils</artifactId> <name>mso-adapter-utils</name> <description>Common MSO utilities, including Openstack client wrappers.</description> @@ -44,32 +44,44 @@ <dependencies> <dependency> +<!-- + <groupId>org.onap.so.libs.openstack-java-sdk</groupId> +--> <groupId>org.openecomp.so.libs.openstack-java-sdk</groupId> <artifactId>keystone-client</artifactId> <version>${openstack.version}</version> </dependency> <dependency> +<!-- + <groupId>org.onap.so.libs.openstack-java-sdk</groupId> +--> <groupId>org.openecomp.so.libs.openstack-java-sdk</groupId> <artifactId>heat-client</artifactId> <version>${openstack.version}</version> </dependency> <dependency> +<!-- + <groupId>org.onap.so.libs.openstack-java-sdk</groupId> +--> <groupId>org.openecomp.so.libs.openstack-java-sdk</groupId> <artifactId>quantum-client</artifactId> <version>${openstack.version}</version> </dependency> <dependency> +<!-- + <groupId>org.onap.so.libs.openstack-java-sdk.client-connectors</groupId> +--> <groupId>org.openecomp.so.libs.openstack-java-sdk.client-connectors</groupId> <artifactId>http-connector</artifactId> <version>${openstack.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>common</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-catalog-db</artifactId> <version>${project.version}</version> </dependency> 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 8da3b212d9..2d6d0271f8 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 @@ -185,12 +185,12 @@ public class CloudConfigFactory implements Serializable { StringBuffer response = new StringBuffer (); response.append ("Cloud Sites:\n"); for (CloudSite site : cloudConfig.getCloudSites ().values ()) { - response.append (site.toString () + "\n"); + response.append(site.toString()).append("\n"); } response.append ("\n\nCloud Identity Services:\n"); for (CloudIdentity identity : cloudConfig.getIdentityServices ().values ()) { - response.append (identity.toString () + "\n"); + response.append(identity.toString()).append("\n"); } return Response.status (200).entity (response).build (); diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudIdentity.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudIdentity.java index d0ba7e09fc..ba9a7d5007 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudIdentity.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudIdentity.java @@ -23,28 +23,23 @@ package org.openecomp.mso.cloud; -import java.io.IOException; -import java.net.URISyntaxException; +import com.woorea.openstack.keystone.model.Authentication; +import com.woorea.openstack.keystone.model.authentication.UsernamePassword; import java.security.GeneralSecurityException; - import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.map.annotate.JsonDeserialize; import org.codehaus.jackson.map.annotate.JsonSerialize; -import org.openecomp.mso.openstack.exceptions.MsoAdapterException; -import org.openecomp.mso.openstack.exceptions.MsoException; -import org.openecomp.mso.openstack.utils.MsoKeystoneUtils; -import org.openecomp.mso.openstack.utils.MsoTenantUtils; -import org.openecomp.mso.openstack.utils.MsoTenantUtilsFactory; import org.openecomp.mso.cloud.authentication.AuthenticationMethodFactory; import org.openecomp.mso.cloud.authentication.AuthenticationWrapper; import org.openecomp.mso.cloud.authentication.wrappers.RackspaceAPIKeyWrapper; import org.openecomp.mso.cloud.authentication.wrappers.UsernamePasswordWrapper; import org.openecomp.mso.logger.MessageEnum; import org.openecomp.mso.logger.MsoLogger; - -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; +import org.openecomp.mso.openstack.exceptions.MsoException; +import org.openecomp.mso.openstack.utils.MsoKeystoneUtils; +import org.openecomp.mso.openstack.utils.MsoTenantUtils; +import org.openecomp.mso.openstack.utils.MsoTenantUtilsFactory; import org.openecomp.mso.utils.CryptoUtils; -import com.woorea.openstack.keystone.model.Authentication; /** * JavaBean JSON class for a CloudIdentity. This bean represents a cloud identity @@ -143,15 +138,11 @@ public class CloudIdentity { } } } - - public Authentication getAuthentication () throws MsoException { + + public Authentication getAuthentication() { if (this.getIdentityAuthenticationType() != null) { - try { return AuthenticationMethodFactory.getAuthenticationFor(this); - } catch (IllegalAccessException | InstantiationException | ClassNotFoundException | IOException | URISyntaxException e) { - throw new MsoAdapterException("Could not retrieve authentication for " + this.identityAuthenticationType, e); - } - } else { // Fallback + } else { return new UsernamePassword(this.getMsoId(), this.getMsoPass()); } } diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodFactory.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodFactory.java index 85cb2967d6..c9be2c7949 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodFactory.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodFactory.java @@ -23,18 +23,13 @@ package org.openecomp.mso.cloud.authentication;
-import java.io.IOException;
-import java.net.URISyntaxException;
+import com.woorea.openstack.keystone.model.Authentication;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-
import org.openecomp.mso.cloud.CloudIdentity;
-import com.woorea.openstack.keystone.model.Authentication;
-
/**
* This factory manages all the wrappers associated to authentication types.
- *
*/
public final class AuthenticationMethodFactory {
@@ -58,7 +53,7 @@ public final class AuthenticationMethodFactory { }
}
- public static final synchronized Authentication getAuthenticationFor(CloudIdentity cloudIdentity) throws InstantiationException, IllegalAccessException, ClassNotFoundException, IOException, URISyntaxException {
+ public static final synchronized Authentication getAuthenticationFor(CloudIdentity cloudIdentity) {
if (cloudIdentity == null) {
throw new IllegalArgumentException("Cloud identity cannot be null");
}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/wrappers/RackspaceAPIKeyWrapper.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/wrappers/RackspaceAPIKeyWrapper.java index 5cf5587481..e82306b6cd 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/wrappers/RackspaceAPIKeyWrapper.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/wrappers/RackspaceAPIKeyWrapper.java @@ -35,16 +35,6 @@ import com.woorea.openstack.keystone.model.Authentication; */
public class RackspaceAPIKeyWrapper extends AuthenticationWrapper {
- /**
- *
- */
- public RackspaceAPIKeyWrapper() {
- // TODO Auto-generated constructor stub
- }
-
- /* (non-Javadoc)
- * @see org.openecomp.mso.cloud.authentication.AuthenticationWrapper#getAuthentication(org.openecomp.mso.cloud.CloudIdentity)
- */
@Override
public Authentication getAuthentication(CloudIdentity cloudIdentity) {
if (cloudIdentity == null) {
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/wrappers/UsernamePasswordWrapper.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/wrappers/UsernamePasswordWrapper.java index 5fd3e521f0..a1beabe564 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/wrappers/UsernamePasswordWrapper.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/wrappers/UsernamePasswordWrapper.java @@ -32,19 +32,9 @@ import com.woorea.openstack.keystone.model.authentication.UsernamePassword; /**
* This class implements the authentication wrapper for Openstack provided for
* user name and password authentication.
- *
*/
public class UsernamePasswordWrapper extends AuthenticationWrapper {
- /**
- *
- */
- public UsernamePasswordWrapper() {
- }
-
- /* (non-Javadoc)
- * @see org.openecomp.mso.cloud.authentication.AuthenticationWrapper#getAuthentication(org.openecomp.mso.cloud.CloudIdentity)
- */
@Override
public Authentication getAuthentication(CloudIdentity cloudIdentity) {
if (cloudIdentity == null) {
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/beans/StackInfo.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/beans/StackInfo.java index 600985e310..506b62994d 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/beans/StackInfo.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/beans/StackInfo.java @@ -67,10 +67,8 @@ public class StackInfo { if (stack.getStackStatus() == null) { this.status = HeatStatus.INIT; - } else if (heatStatusMap.containsKey(stack.getStackStatus())) { - this.status = heatStatusMap.get(stack.getStackStatus()); } else { - this.status = HeatStatus.UNKNOWN; + this.status = heatStatusMap.getOrDefault(stack.getStackStatus(), HeatStatus.UNKNOWN); } if (stack.getOutputs() != null) { this.outputs = new HashMap<>(); diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoCommonUtils.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoCommonUtils.java index 269f6b0cdf..7d6de317ad 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoCommonUtils.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoCommonUtils.java @@ -129,6 +129,7 @@ public class MsoCommonUtils { Thread.sleep (retryDelay * 1000L); } catch (InterruptedException e1) { logger.debug ("Thread interrupted while sleeping", e1); + Thread.currentThread().interrupt(); } } else @@ -144,6 +145,7 @@ public class MsoCommonUtils { Thread.sleep (retryDelay * 1000L); } catch (InterruptedException e1) { logger.debug ("Thread interrupted while sleeping", e1); + Thread.currentThread().interrupt(); } } else diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java index acc6d72f63..9fe2d4c786 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java @@ -886,7 +886,7 @@ public class MsoHeatUtils extends MsoCommonUtils { public Map <String, Object> validateStackParams (Map <String, Object> inputParams, HeatTemplate heatTemplate) throws IllegalArgumentException { // Check that required parameters have been supplied for this template type - String missingParams = null; + StringBuilder missingParams = null; List <String> paramList = new ArrayList <> (); // TODO: Enhance DB to support defaults for Heat Template parameters @@ -894,9 +894,9 @@ public class MsoHeatUtils extends MsoCommonUtils { for (HeatTemplateParam parm : heatTemplate.getParameters ()) { if (parm.isRequired () && !inputParams.containsKey (parm.getParamName ())) { if (missingParams == null) { - missingParams = parm.getParamName (); + missingParams = new StringBuilder(parm.getParamName()); } else { - missingParams += "," + parm.getParamName (); + missingParams.append("," + parm.getParamName()); } } paramList.add (parm.getParamName ()); @@ -1217,18 +1217,18 @@ public class MsoHeatUtils extends MsoCommonUtils { } else { for (String key : params.keySet()) { if (params.get(key) instanceof String) { - sb.append("\n" + key + "=" + (String) params.get(key)); + sb.append("\n").append(key).append("=").append((String) params.get(key)); } else if (params.get(key) instanceof JsonNode) { String jsonStringOut = this.convertNode((JsonNode)params.get(key)); - sb.append("\n" + key + "=" + jsonStringOut); + sb.append("\n").append(key).append("=").append(jsonStringOut); } else if (params.get(key) instanceof Integer) { String integerOut = "" + params.get(key); - sb.append("\n" + key + "=" + integerOut); + sb.append("\n").append(key).append("=").append(integerOut); } else { try { String str = params.get(key).toString(); - sb.append("\n" + key + "=" + str); + sb.append("\n").append(key).append("=").append(str); } catch (Exception e) { LOGGER.debug("Exception :",e); } @@ -1272,16 +1272,16 @@ public class MsoHeatUtils extends MsoCommonUtils { int counter = 0; sb.append("OUTPUTS:\n"); for (String key : outputs.keySet()) { - sb.append("outputs[" + counter++ + "]: " + key + "="); + sb.append("outputs[").append(counter++).append("]: ").append(key).append("="); Object obj = outputs.get(key); if (obj instanceof String) { - sb.append((String)obj +" (a string)"); + sb.append((String) obj).append(" (a string)"); } else if (obj instanceof JsonNode) { - sb.append(this.convertNode((JsonNode)obj) + " (a JsonNode)"); + sb.append(this.convertNode((JsonNode) obj)).append(" (a JsonNode)"); } else if (obj instanceof java.util.LinkedHashMap) { try { String str = JSON_MAPPER.writeValueAsString(obj); - sb.append(str + " (a java.util.LinkedHashMap)"); + sb.append(str).append(" (a java.util.LinkedHashMap)"); } catch (Exception e) { LOGGER.debug("Exception :",e); sb.append("(a LinkedHashMap value that would not convert nicely)"); @@ -1548,7 +1548,7 @@ public class MsoHeatUtils extends MsoCommonUtils { } } else if ("boolean".equalsIgnoreCase(type)) { String booleanString = inputs.get(key); - Boolean aBool = new Boolean(booleanString); + Boolean aBool = Boolean.valueOf(booleanString); if (alias) newInputs.put(realName, aBool); else diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java index 2465b30eca..0e0b9cb70d 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java @@ -365,16 +365,16 @@ public class MsoHeatUtilsWithUpdate extends MsoHeatUtils { int counter = 0; sb.append("OUTPUTS:\n"); for (String key : outputs.keySet()) { - sb.append("outputs[" + counter++ + "]: " + key + "="); + sb.append("outputs[").append(counter++).append("]: ").append(key).append("="); Object obj = outputs.get(key); if (obj instanceof String) { - sb.append((String)obj +" (a string)"); + sb.append((String) obj).append(" (a string)"); } else if (obj instanceof JsonNode) { - sb.append(this.convertNode((JsonNode)obj) + " (a JsonNode)"); + sb.append(this.convertNode((JsonNode) obj)).append(" (a JsonNode)"); } else if (obj instanceof java.util.LinkedHashMap) { try { String str = JSON_MAPPER.writeValueAsString(obj); - sb.append(str + " (a java.util.LinkedHashMap)"); + sb.append(str).append(" (a java.util.LinkedHashMap)"); } catch (Exception e) { LOGGER.debug("Exception :", e); sb.append("(a LinkedHashMap value that would not convert nicely)"); diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoYamlEditorWithEnvt.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoYamlEditorWithEnvt.java index c227d72f0c..8002087ddd 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoYamlEditorWithEnvt.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoYamlEditorWithEnvt.java @@ -27,6 +27,7 @@ import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.Map.Entry; @@ -73,33 +74,32 @@ public class MsoYamlEditorWithEnvt { if (resourceMap == null) { return paramSet; } - Iterator <Entry <String, Object>> it = resourceMap.entrySet().iterator(); - - while (it.hasNext()) { - MsoHeatEnvironmentParameter hep = new MsoHeatEnvironmentParameter(); - Map.Entry <String, Object> pair = it.next(); - String value; - Object obj = pair.getValue(); - if (obj instanceof java.lang.String) { - value = yaml.dump(obj); - // but this adds an extra '\n' at the end - which won't hurt - but we don't need it - value = value.substring(0, value.length() - 1); - } else if (obj instanceof java.util.LinkedHashMap) { - //Handle that it's json - try { - value = JSON_MAPPER.writeValueAsString(obj); - } catch (Exception e) { - LOGGER.debug("Exception:", e); - value = "_BAD_JSON_MAPPING"; - } - } else { - //this handles integers/longs/floats/etc. - value = String.valueOf(obj); - } - hep.setName((String) pair.getKey()); - hep.setValue(value); - paramSet.add(hep); - } + + for (Entry<String, Object> stringObjectEntry : resourceMap.entrySet()) { + MsoHeatEnvironmentParameter hep = new MsoHeatEnvironmentParameter(); + Entry<String, Object> pair = stringObjectEntry; + String value; + Object obj = pair.getValue(); + if (obj instanceof String) { + value = yaml.dump(obj); + // but this adds an extra '\n' at the end - which won't hurt - but we don't need it + value = value.substring(0, value.length() - 1); + } else if (obj instanceof LinkedHashMap) { + //Handle that it's json + try { + value = JSON_MAPPER.writeValueAsString(obj); + } catch (Exception e) { + LOGGER.debug("Exception:", e); + value = "_BAD_JSON_MAPPING"; + } + } else { + //this handles integers/longs/floats/etc. + value = String.valueOf(obj); + } + hep.setName((String) pair.getKey()); + hep.setValue(value); + paramSet.add(hep); + } return paramSet; } public synchronized Set <MsoHeatEnvironmentResource> getResourceListFromEnvt() { @@ -107,15 +107,14 @@ public class MsoYamlEditorWithEnvt { Set<MsoHeatEnvironmentResource> resourceList = new HashSet<>(); @SuppressWarnings("unchecked") Map<String, Object> resourceMap = (Map<String,Object>) yml.get("resource_registry"); - Iterator<Entry <String,Object>> it = resourceMap.entrySet().iterator(); - - while (it.hasNext()) { - MsoHeatEnvironmentResource her = new MsoHeatEnvironmentResource(); - Map.Entry<String, Object> pair = it.next(); - her.setName((String) pair.getKey()); - her.setValue((String) pair.getValue()); - resourceList.add(her); - } + + for (Entry<String, Object> stringObjectEntry : resourceMap.entrySet()) { + MsoHeatEnvironmentResource her = new MsoHeatEnvironmentResource(); + Entry<String, Object> pair = stringObjectEntry; + her.setName((String) pair.getKey()); + her.setValue((String) pair.getValue()); + resourceList.add(her); + } return resourceList; } catch (Exception e) { LOGGER.debug("Exception:", e); @@ -126,35 +125,34 @@ public class MsoYamlEditorWithEnvt { Set <HeatTemplateParam> paramSet = new HashSet <> (); @SuppressWarnings("unchecked") Map <String, Object> resourceMap = (Map <String, Object>) yml.get ("parameters"); - Iterator <Entry <String, Object>> it = resourceMap.entrySet ().iterator (); - while (it.hasNext ()) { - HeatTemplateParam param = new HeatTemplateParam (); - Map.Entry <String, Object> pair = it.next (); + for (Entry<String, Object> stringObjectEntry : resourceMap.entrySet()) { + HeatTemplateParam param = new HeatTemplateParam(); + Entry<String, Object> pair = stringObjectEntry; @SuppressWarnings("unchecked") - Map <String, String> resourceEntry = (Map <String, String>) pair.getValue (); + Map<String, String> resourceEntry = (Map<String, String>) pair.getValue(); String value = null; try { - value = resourceEntry.get ("default"); - } catch (java.lang.ClassCastException cce) { + value = resourceEntry.get("default"); + } catch (ClassCastException cce) { LOGGER.debug("Exception:", cce); - // This exception only - the value is an integer. For what we're doing - // here - we don't care - so set value to something - and it will - // get marked as not being required - which is correct. - //System.out.println("cce exception!"); - value = "300"; - // okay + // This exception only - the value is an integer. For what we're doing + // here - we don't care - so set value to something - and it will + // get marked as not being required - which is correct. + //System.out.println("cce exception!"); + value = "300"; + // okay } - param.setParamName ((String) pair.getKey ()); + param.setParamName((String) pair.getKey()); if (value != null) { - param.setRequired (false); + param.setRequired(false); } else { - param.setRequired (true); + param.setRequired(true); } - value = resourceEntry.get ("type"); - param.setParamType (value); + value = resourceEntry.get("type"); + param.setParamType(value); - paramSet.add (param); + paramSet.add(param); } return paramSet; diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodFactoryTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodFactoryTest.java new file mode 100644 index 0000000000..2cfce276d8 --- /dev/null +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodFactoryTest.java @@ -0,0 +1,103 @@ +/* + * ============LICENSE_START========================================== + * =================================================================== + * 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============================================ + * + * ECOMP and OpenECOMP are trademarks + * and service marks of AT&T Intellectual Property. + * + */ + +package org.openecomp.mso.cloud.authentication; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.woorea.openstack.keystone.model.Authentication; +import org.junit.Test; +import org.openecomp.mso.cloud.CloudIdentity; +import org.openecomp.mso.cloud.CloudIdentity.IdentityAuthenticationType; +import org.openecomp.mso.cloud.authentication.wrappers.RackspaceAPIKeyWrapper; + +public class AuthenticationMethodFactoryTest { + + private static final Class WRAPPER_CLASS = RackspaceAPIKeyWrapper.class; + private static final String AUTHENTICATION_TYPE = "authenticationTest"; + + @Test + public void register_NoExceptionThrown() throws IllegalAccessException, InstantiationException { + AuthenticationMethodFactory.register(AUTHENTICATION_TYPE, WRAPPER_CLASS); + } + + @Test + public void register_throwExceptionWhenAuthTypeIsNull() throws InstantiationException, IllegalAccessException { + try { + AuthenticationMethodFactory.register(null, WRAPPER_CLASS); + } catch (IllegalArgumentException e) { + assertThat(e.getMessage()).isNotEmpty().contains("Authentication Type to register cannot be null " + + "or an empty name string"); + } + } + + @Test + public void register_throwExceptionWhenAuthTypeIsEmpty() throws InstantiationException, IllegalAccessException { + try { + AuthenticationMethodFactory.register("", WRAPPER_CLASS); + } catch (IllegalArgumentException e) { + assertThat(e.getMessage()).isNotEmpty().contains("Authentication Type to register cannot be null " + + "or an empty name string"); + } + } + + @Test + public void register_throwExceptionWhenWrapperIsNull() throws IllegalAccessException, InstantiationException { + try { + AuthenticationMethodFactory.register(AUTHENTICATION_TYPE, null); + } catch (IllegalArgumentException e) { + assertThat(e.getMessage()).isNotEmpty() + .contains("Wrapper Class to register for Authentication cannot be null"); + } + } + + @Test + public void getAuthentication_NoExceptionThrown() { + CloudIdentity cloudIdentity = new CloudIdentity(); + cloudIdentity.setIdentityAuthenticationType(IdentityAuthenticationType.RACKSPACE_APIKEY); + cloudIdentity.setMsoId("msoIdTest"); + cloudIdentity.setMsoPass("123"); + Authentication result = AuthenticationMethodFactory.getAuthenticationFor(cloudIdentity); + assertThat(result).isNotNull(); + } + + @Test + public void getAuthentication_ThrowExWhenCloudSiteIsNull() { + try { + AuthenticationMethodFactory.getAuthenticationFor(null); + } catch (IllegalArgumentException e) { + assertThat(e.getMessage()).isNotEmpty().contains("Cloud identity cannot be null"); + } + } + + @Test + public void getAuthentication_ThrowExWhenIdentityAuthenticationTypeIsNotSet() { + try { + AuthenticationMethodFactory.getAuthenticationFor(new CloudIdentity()); + } catch (IllegalArgumentException e) { + assertThat(e.getMessage()).isNotEmpty() + .contains("Cloud identity authentication type cannot be null or empty"); + } + } + +} diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodTest.java index ccfede7297..b6c1c7373f 100644 --- a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodTest.java +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/AuthenticationMethodTest.java @@ -25,16 +25,11 @@ package org.openecomp.mso.cloud.authentication; import static org.junit.Assert.assertTrue;
-import java.io.IOException;
-import java.net.URISyntaxException;
-
+import com.woorea.openstack.keystone.model.Authentication;
+import com.woorea.openstack.keystone.model.authentication.UsernamePassword;
import org.junit.Test;
import org.openecomp.mso.cloud.CloudIdentity;
import org.openecomp.mso.cloud.authentication.models.RackspaceAuthentication;
-import org.openecomp.mso.openstack.exceptions.MsoException;
-
-import com.woorea.openstack.keystone.model.Authentication;
-import com.woorea.openstack.keystone.model.authentication.UsernamePassword;
/**
* A few JUnit tests to evaluate the new factory that manages authentication
@@ -50,52 +45,15 @@ public class AuthenticationMethodTest { public AuthenticationMethodTest() {
// TODO Auto-generated constructor stub
}
-
- @Test
- public void testCustomRackspaceAuth() {
- CloudIdentity ci = new CloudIdentity();
- ci.setIdentityAuthenticationType(CloudIdentity.IdentityAuthenticationType.RACKSPACE_APIKEY);
- ci.setMsoPass("FD205490A48D48475607C36B9AD902BF");
- ci.setMsoId("test");
-
- try {
- Authentication auth = AuthenticationMethodFactory.getAuthenticationFor(ci);
- assertTrue(RackspaceAuthentication.class.equals(auth.getClass()));
- } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | IOException
- | URISyntaxException e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testCoreUsernamePasswordAuth() {
- CloudIdentity ci = new CloudIdentity();
- ci.setIdentityAuthenticationType(CloudIdentity.IdentityAuthenticationType.USERNAME_PASSWORD);
- ci.setMsoPass("FD205490A48D48475607C36B9AD902BF");
- ci.setMsoId("someuser");
-
- try {
- Authentication auth = AuthenticationMethodFactory.getAuthenticationFor(ci);
- assertTrue(UsernamePassword.class.equals(auth.getClass()));
- } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | IOException
- | URISyntaxException e) {
- e.printStackTrace();
- }
- }
-
+
@Test
public void testCustomRackspaceAuthFromCloudIdentity() {
CloudIdentity ci = new CloudIdentity();
ci.setIdentityAuthenticationType(CloudIdentity.IdentityAuthenticationType.RACKSPACE_APIKEY);
ci.setMsoPass("FD205490A48D48475607C36B9AD902BF");
ci.setMsoId("test");
-
- try {
- Authentication auth = ci.getAuthentication();
- assertTrue(RackspaceAuthentication.class.equals(auth.getClass()));
- } catch (MsoException e) {
- e.printStackTrace();
- }
+ Authentication auth = ci.getAuthentication();
+ assertTrue(RackspaceAuthentication.class.equals(auth.getClass()));
}
@Test
@@ -104,12 +62,7 @@ public class AuthenticationMethodTest { ci.setIdentityAuthenticationType(CloudIdentity.IdentityAuthenticationType.USERNAME_PASSWORD);
ci.setMsoPass("FD205490A48D48475607C36B9AD902BF");
ci.setMsoId("someuser");
-
- try {
- Authentication auth = ci.getAuthentication();
- assertTrue(UsernamePassword.class.equals(auth.getClass()));
- } catch (MsoException e) {
- e.printStackTrace();
- }
+ Authentication auth = ci.getAuthentication();
+ assertTrue(UsernamePassword.class.equals(auth.getClass()));
}
}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/wrappers/RackspaceAPIKeyWrapperTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/wrappers/RackspaceAPIKeyWrapperTest.java new file mode 100644 index 0000000000..33f91c641e --- /dev/null +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/wrappers/RackspaceAPIKeyWrapperTest.java @@ -0,0 +1,55 @@ +/* + * ============LICENSE_START========================================== + * =================================================================== + * 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============================================ + * + * ECOMP and OpenECOMP are trademarks + * and service marks of AT&T Intellectual Property. + * + */ + +package org.openecomp.mso.cloud.authentication.wrappers; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.woorea.openstack.keystone.model.Authentication; +import org.junit.Test; +import org.openecomp.mso.cloud.authentication.models.RackspaceAuthentication; + +public class RackspaceAPIKeyWrapperTest { + + @Test + public void getAuthenticationSuccessful() { + RackspaceAPIKeyWrapper testedObject = new RackspaceAPIKeyWrapper(); + Authentication authentication = testedObject.getAuthentication(WrapperTestUtility.createCloudIdentity()); + + assertThat(authentication).isInstanceOf(RackspaceAuthentication.class); + RackspaceAuthentication rackspaceAuthentication = (RackspaceAuthentication) authentication; + assertThat(rackspaceAuthentication.getToken().getUsername()) + .isEqualTo(WrapperTestUtility.CLOUD_IDENTITY_MSO_ID); + assertThat(rackspaceAuthentication.getToken().getApiKey()) + .isEqualTo(WrapperTestUtility.CLOUD_IDENTITY_MSO_PASS); + } + + @Test + public void getAuthenticationThrowsException() { + assertThatThrownBy(() -> new RackspaceAPIKeyWrapper().getAuthentication(null)) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage(WrapperTestUtility.EXCEPTION_MESSAGE); + } + +} diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/wrappers/UsernamePasswordWrapperTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/wrappers/UsernamePasswordWrapperTest.java new file mode 100644 index 0000000000..0cfe287dfe --- /dev/null +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/wrappers/UsernamePasswordWrapperTest.java @@ -0,0 +1,55 @@ +/* + * ============LICENSE_START========================================== + * =================================================================== + * 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============================================ + * + * ECOMP and OpenECOMP are trademarks + * and service marks of AT&T Intellectual Property. + * + */ + +package org.openecomp.mso.cloud.authentication.wrappers; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.woorea.openstack.keystone.model.Authentication; +import com.woorea.openstack.keystone.model.authentication.UsernamePassword; +import org.junit.Test; + +public class UsernamePasswordWrapperTest { + + @Test + public void getAuthenticationSuccessful() { + UsernamePasswordWrapper testedObject = new UsernamePasswordWrapper(); + Authentication authentication = testedObject.getAuthentication(WrapperTestUtility.createCloudIdentity()); + + assertThat(authentication).isInstanceOf(UsernamePassword.class); + UsernamePassword usernamePassword = (UsernamePassword) authentication; + assertThat(usernamePassword.getPasswordCredentials().getUsername()) + .isEqualTo(WrapperTestUtility.CLOUD_IDENTITY_MSO_ID); + assertThat(usernamePassword.getPasswordCredentials().getPassword()) + .isEqualTo(WrapperTestUtility.CLOUD_IDENTITY_MSO_PASS); + } + + @Test + public void getAuthenticationThrowsException() { + assertThatThrownBy(() -> new UsernamePasswordWrapper().getAuthentication(null)). + isInstanceOf(IllegalArgumentException.class). + hasMessage(WrapperTestUtility.EXCEPTION_MESSAGE); + } + +} diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/wrappers/WrapperTestUtility.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/wrappers/WrapperTestUtility.java new file mode 100644 index 0000000000..3cbc48d090 --- /dev/null +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/authentication/wrappers/WrapperTestUtility.java @@ -0,0 +1,44 @@ +/* + * ============LICENSE_START========================================== + * =================================================================== + * 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============================================ + * + * ECOMP and OpenECOMP are trademarks + * and service marks of AT&T Intellectual Property. + * + */ + +package org.openecomp.mso.cloud.authentication.wrappers; + +import org.openecomp.mso.cloud.CloudIdentity; + +final class WrapperTestUtility { + + static final String CLOUD_IDENTITY_MSO_ID = "msoIdTest"; + static final String CLOUD_IDENTITY_MSO_PASS = "msoPassTest"; + static final String EXCEPTION_MESSAGE = "Provided cloud identity is null, cannot extract username and " + + "password"; + + private WrapperTestUtility() { + } + + static CloudIdentity createCloudIdentity() { + CloudIdentity cloudIdentity = new CloudIdentity(); + cloudIdentity.setMsoId(CLOUD_IDENTITY_MSO_ID); + cloudIdentity.setMsoPass(CloudIdentity.encryptPassword(CLOUD_IDENTITY_MSO_PASS)); + return cloudIdentity; + } +} diff --git a/adapters/mso-adapters-rest-interface/pom.xml b/adapters/mso-adapters-rest-interface/pom.xml index f10500d2ca..98cd1831c1 100644 --- a/adapters/mso-adapters-rest-interface/pom.xml +++ b/adapters/mso-adapters-rest-interface/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapters-rest-interface</artifactId> <packaging>jar</packaging> <name>mso-adapters-rest-interface</name> @@ -44,7 +44,7 @@ <version>3.0.19.Final</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapter-utils</artifactId> <version>${project.version}</version> </dependency> diff --git a/adapters/mso-catalog-db-adapter/pom.xml b/adapters/mso-catalog-db-adapter/pom.xml index c9590ee1a1..9bacb17a51 100644 --- a/adapters/mso-catalog-db-adapter/pom.xml +++ b/adapters/mso-catalog-db-adapter/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-catalog-db-adapter</artifactId> <packaging>war</packaging> @@ -65,7 +65,7 @@ <dependencies> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-catalog-db</artifactId> <version>${project.version}</version> </dependency> @@ -95,7 +95,7 @@ <version>3.0.16.Final</version> </dependency> <!--<dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency>--> diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRest.java b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRest.java index 668f73816d..8cdeaaa9e1 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRest.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRest.java @@ -52,34 +52,37 @@ Once the network-level distribution artifacts are defined, similar updates can b import java.util.ArrayList; import java.util.List; + import javax.ws.rs.GET; import javax.ws.rs.HEAD; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; import javax.ws.rs.core.GenericEntity; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; -import org.apache.http.HttpStatus; +import javax.ws.rs.core.Response; -import org.openecomp.mso.logger.MessageEnum; -import org.openecomp.mso.logger.MsoLogger; +import org.apache.http.HttpStatus; +import org.openecomp.mso.adapters.catalogdb.catalogrest.CatalogQuery; import org.openecomp.mso.adapters.catalogdb.catalogrest.CatalogQueryException; import org.openecomp.mso.adapters.catalogdb.catalogrest.CatalogQueryExceptionCategory; -import org.openecomp.mso.adapters.catalogdb.catalogrest.CatalogQuery; -import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryServiceVnfs; -import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryServiceNetworks; -import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryServiceMacroHolder; import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryAllottedResourceCustomization; +import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryServiceCsar; +import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryServiceMacroHolder; +import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryServiceNetworks; +import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryServiceVnfs; import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryVfModule; import org.openecomp.mso.db.catalog.CatalogDatabase; -import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization; -import org.openecomp.mso.db.catalog.beans.VfModuleCustomization; +import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization; import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization; import org.openecomp.mso.db.catalog.beans.ServiceMacroHolder; -import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization; +import org.openecomp.mso.db.catalog.beans.ToscaCsar; +import org.openecomp.mso.db.catalog.beans.VfModuleCustomization; +import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization; +import org.openecomp.mso.logger.MessageEnum; +import org.openecomp.mso.logger.MsoLogger; /** * This class services calls to the REST interface for VF Modules (http://host:port/ecomp/mso/catalog/v1) @@ -466,4 +469,50 @@ public class CatalogDbAdapterRest { } } + /** + * Get the tosca csar info from catalog + * <br> + * + * @param smUuid service model uuid + * @return the tosca csar information of the serivce. + * @since ONAP Beijing Release + */ + @GET + @Path("serviceToscaCsar") + @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) + public Response ServiceToscaCsar(@QueryParam("serviceModelUuid") String smUuid) { + int respStatus = HttpStatus.SC_OK; + CatalogDatabase db = CatalogDatabase.getInstance(); + String entity = ""; + try{ + if(smUuid != null && !"".equals(smUuid)){ + LOGGER.debug ("Query Csar by service model uuid: " + smUuid); + ToscaCsar toscaCsar = db.getToscaCsarByServiceModelUUID(smUuid); + if(toscaCsar != null){ + QueryServiceCsar serviceCsar = new QueryServiceCsar(toscaCsar); + entity = serviceCsar.JSON2(false, false); + } + else{ + respStatus = HttpStatus.SC_NOT_FOUND; + } + }else{ + throw(new Exception("Incoming parameter is null or blank")); + } + LOGGER.debug ("Query Csar exit"); + return Response + .status(respStatus) + .entity(entity) + .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON) + .build(); + }catch(Exception e){ + LOGGER.error (MessageEnum.RA_QUERY_VNF_ERR, smUuid, "", "ServiceToscaCsar", MsoLogger.ErrorCode.BusinessProcesssError, "Exception during query csar by service model uuid: ", e); + CatalogQueryException excResp = new CatalogQueryException(e.getMessage(), CatalogQueryExceptionCategory.INTERNAL, Boolean.FALSE, null); + return Response + .status(HttpStatus.SC_INTERNAL_SERVER_ERROR) + .entity(new GenericEntity<CatalogQueryException>(excResp) {}) + .build(); + }finally { + db.close(); + } + } } diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/CatalogQuery.java b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/CatalogQuery.java index a74cf07b89..4a8233bb03 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/CatalogQuery.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/CatalogQuery.java @@ -46,21 +46,21 @@ public abstract class CatalogQuery { } protected String setTemplate(String template, Map<String, String> valueMap) { - LOGGER.debug ("CatalogQuery setTemplate"); + LOGGER.debug("CatalogQuery setTemplate"); StringBuffer result = new StringBuffer(); String pattern = "<.*>"; Pattern r = Pattern.compile(pattern); Matcher m = r.matcher(template); - LOGGER.debug ("CatalogQuery template:"+ template); - while(m.find()) { - String key = template.substring(m.start()+1, m.end()-1); - LOGGER.debug ("CatalogQuery key:"+ key+ " contains key? "+ valueMap.containsKey(key)); - m.appendReplacement(result, valueMap.containsKey(key)? valueMap.get(key): "\"TBD\""); + LOGGER.debug("CatalogQuery template:" + template); + while (m.find()) { + String key = template.substring(m.start() + 1, m.end() - 1); + LOGGER.debug("CatalogQuery key:" + key + " contains key? " + valueMap.containsKey(key)); + m.appendReplacement(result, valueMap.getOrDefault(key, "\"TBD\"")); } m.appendTail(result); - LOGGER.debug ("CatalogQuery return:"+ result.toString()); + LOGGER.debug("CatalogQuery return:" + result.toString()); return result.toString(); } diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java index 9a82ed2c6e..f7758c315c 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java @@ -62,30 +62,30 @@ public class QueryAllottedResourceCustomization extends CatalogQuery { @Override public String toString () { - StringBuilder buf = new StringBuilder(); + StringBuilder sb = new StringBuilder(); boolean first = true; int i = 1; for (AllottedResourceCustomization o : allottedResourceCustomization) { - buf.append(i+"\t"); - if (!first) buf.append("\n"); first = false; - buf.append(o); + sb.append(i).append("\t"); + if (!first) sb.append("\n"); first = false; + sb.append(o); } - return buf.toString(); + return sb.toString(); } @Override public String JSON2(boolean isArray, boolean isEmbed) { - StringBuilder buf = new StringBuilder(); - if (!isEmbed && isArray) buf.append("{ "); - if (isArray) buf.append("\"serviceAllottedResources\": ["); + StringBuilder sb = new StringBuilder(); + if (!isEmbed && isArray) sb.append("{ "); + if (isArray) sb.append("\"serviceAllottedResources\": ["); Map<String, String> valueMap = new HashMap<>(); String sep = ""; boolean first = true; if (this.allottedResourceCustomization != null) { for (AllottedResourceCustomization o : allottedResourceCustomization) { - if (first) buf.append("\n"); first = false; + if (first) sb.append("\n"); first = false; boolean arNull = o.getAllottedResource() == null ? true : false; @@ -104,14 +104,14 @@ public class QueryAllottedResourceCustomization extends CatalogQuery { put(valueMap, "NF_NAMING_CODE", o.getNfNamingCode()); put(valueMap, "PROVIDING_SERVICE_MODEL_INVARIANT_UUID", o.getProvidingServiceModelInvariantUuid()); - buf.append(sep+ this.setTemplate(template, valueMap)); + sb.append(sep).append(this.setTemplate(template, valueMap)); sep = ",\n"; } } - if (!first) buf.append("\n"); - if (isArray) buf.append("]"); - if (!isEmbed && isArray) buf.append("}"); - return buf.toString(); + if (!first) sb.append("\n"); + if (isArray) sb.append("]"); + if (!isEmbed && isArray) sb.append("}"); + return sb.toString(); } } diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceCsar.java b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceCsar.java new file mode 100644 index 0000000000..6b1eb836d9 --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceCsar.java @@ -0,0 +1,72 @@ +/*-
+ * ============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.adapters.catalogdb.catalogrest;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.openecomp.mso.db.catalog.beans.ToscaCsar;
+
+/**
+ * serivce csar query support
+ * <br>
+ * <p>
+ * </p>
+ *
+ * @author
+ * @version ONAP Beijing Release 2018-02-28
+ */
+public class QueryServiceCsar extends CatalogQuery{
+
+ private ToscaCsar toscaCsar;
+
+ public QueryServiceCsar(ToscaCsar toscaCsar){
+ this.toscaCsar = toscaCsar;
+ }
+
+ private final String template =
+ "\t{\n"+
+ "\t\t\"artifactUUID\" : <ARTIFACT_UUID>,\n"+
+ "\t\t\"name\" : <NAME>,\n"+
+ "\t\t\"version\" : <VERSION>,\n"+
+ "\t\t\"artifactChecksum\" : <ARTIFACT_CHECK_SUM>,\n"+
+ "\t\t\"url\" : <URL>,\n"+
+ "\t\t\"description\" : <DESCRIPTION>\n"+
+ "\t}";
+
+ @Override
+ public String toString() {
+
+ return toscaCsar.toString();
+ }
+
+ @Override
+ public String JSON2(boolean isArray, boolean isEmbed) {
+ Map<String, String> valueMap = new HashMap<>();
+ put(valueMap, "ARTIFACT_UUID", null == toscaCsar ? null : toscaCsar.getArtifactUUID());
+ put(valueMap, "NAME", null == toscaCsar ? null : toscaCsar.getName());
+ put(valueMap, "VERSION", null == toscaCsar ? null : toscaCsar.getVersion());
+ put(valueMap, "ARTIFACT_CHECK_SUM", null == toscaCsar ? null : toscaCsar.getArtifactChecksum());
+ put(valueMap, "URL", null == toscaCsar ? null : toscaCsar.getUrl());
+ put(valueMap, "DESCRIPTION", null == toscaCsar ? null : toscaCsar.getDescription());
+ return this.setTemplate(template, valueMap);
+ }
+
+}
diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceNetworks.java b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceNetworks.java index 59c601ef19..c04068d680 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceNetworks.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceNetworks.java @@ -67,30 +67,30 @@ public class QueryServiceNetworks extends CatalogQuery { @Override public String toString () { - StringBuilder buf = new StringBuilder(); + StringBuilder sb = new StringBuilder(); boolean first = true; int i = 1; for (NetworkResourceCustomization o : serviceNetworks) { - buf.append(i+"\t"); - if (!first) buf.append("\n"); first = false; - buf.append(o); + sb.append(i).append("\t"); + if (!first) sb.append("\n"); first = false; + sb.append(o); } - return buf.toString(); + return sb.toString(); } @Override public String JSON2(boolean isArray, boolean isEmbed) { - StringBuilder buf = new StringBuilder(); - if (!isEmbed && isArray) buf.append("{ "); - if (isArray) buf.append("\"serviceNetworks\": ["); - //if (isArray) buf.append("["); + StringBuilder sb = new StringBuilder(); + if (!isEmbed && isArray) sb.append("{ "); + if (isArray) sb.append("\"serviceNetworks\": ["); + Map<String, String> valueMap = new HashMap<>(); String sep = ""; boolean first = true; for (NetworkResourceCustomization o : serviceNetworks) { - if (first) buf.append("\n"); first = false; + if (first) sb.append("\n"); first = false; boolean nrNull = o.getNetworkResource() == null ? true : false; put(valueMap, "MODEL_NAME", nrNull ? null : o.getNetworkResource().getModelName()); put(valueMap, "MODEL_UUID", nrNull ? null : o.getNetworkResource().getModelUUID()); @@ -104,12 +104,12 @@ public class QueryServiceNetworks extends CatalogQuery { put(valueMap, "NETWORK_SCOPE", o.getNetworkScope()); put(valueMap, "NETWORK_TECHNOLOGY", o.getNetworkTechnology()); - buf.append(sep+ this.setTemplate(template, valueMap)); + sb.append(sep).append(this.setTemplate(template, valueMap)); sep = ",\n"; } - if (!first) buf.append("\n"); - if (isArray) buf.append("]"); - if (!isEmbed && isArray) buf.append("}"); - return buf.toString(); + if (!first) sb.append("\n"); + if (isArray) sb.append("]"); + if (!isEmbed && isArray) sb.append("}"); + return sb.toString(); } } diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceVnfs.java b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceVnfs.java index cfbb781ae8..f0d4327950 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceVnfs.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceVnfs.java @@ -72,29 +72,29 @@ public class QueryServiceVnfs extends CatalogQuery { @Override public String toString () { - StringBuilder buf = new StringBuilder(); + StringBuilder sb = new StringBuilder(); boolean first = true; int i = 1; for (VnfResourceCustomization o : serviceVnfs) { - buf.append(i+"\t"); - if (!first) buf.append("\n"); first = false; - buf.append(o); + sb.append(i).append("\t"); + if (!first) sb.append("\n"); first = false; + sb.append(o); } - return buf.toString(); + return sb.toString(); } @Override public String JSON2(boolean isArray, boolean isEmbed) { - StringBuilder buf = new StringBuilder(); - if (!isEmbed && isArray) buf.append("{ "); - if (isArray) buf.append("\"serviceVnfs\": ["); + StringBuilder sb = new StringBuilder(); + if (!isEmbed && isArray) sb.append("{ "); + if (isArray) sb.append("\"serviceVnfs\": ["); Map<String, String> valueMap = new HashMap<>(); String sep = ""; boolean first = true; for (VnfResourceCustomization o : serviceVnfs) { - if (first) buf.append("\n"); first = false; + if (first) sb.append("\n"); first = false; boolean vrNull = o.getVnfResource() == null ? true : false; @@ -113,12 +113,12 @@ public class QueryServiceVnfs extends CatalogQuery { String subitem = new QueryVfModule(vrNull ? null : o.getVfModuleCustomizations()).JSON2(true, true); valueMap.put("_VFMODULES_", subitem.replaceAll("(?m)^", "\t\t")); - buf.append(sep+ this.setTemplate(template, valueMap)); + sb.append(sep).append(this.setTemplate(template, valueMap)); sep = ",\n"; } - if (!first) buf.append("\n"); - if (isArray) buf.append("]"); - if (!isEmbed && isArray) buf.append("}"); - return buf.toString(); + if (!first) sb.append("\n"); + if (isArray) sb.append("]"); + if (!isEmbed && isArray) sb.append("}"); + return sb.toString(); } } diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryVfModule.java b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryVfModule.java index 309aa0641a..fe0f0cbc17 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryVfModule.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryVfModule.java @@ -69,28 +69,28 @@ public class QueryVfModule extends CatalogQuery { @Override public String toString () { - StringBuilder buf = new StringBuilder(); + StringBuilder sb = new StringBuilder(); boolean first = true; int i = 1; for (VfModuleCustomization o : vfModules) { - buf.append(i+"\t"); - if (!first) buf.append("\n"); first = false; - buf.append(o); + sb.append(i).append("\t"); + if (!first) sb.append("\n"); first = false; + sb.append(o); } - return buf.toString(); + return sb.toString(); } @Override public String JSON2(boolean isArray, boolean x) { - StringBuilder buf = new StringBuilder(); - if (isArray) buf.append("\"vfModules\": ["); + StringBuilder sb = new StringBuilder(); + if (isArray) sb.append("\"vfModules\": ["); Map<String, String> valueMap = new HashMap<>(); String sep = ""; boolean first = true; for (VfModuleCustomization o : vfModules) { - if (first) buf.append("\n"); first = false; + if (first) sb.append("\n"); first = false; boolean vfNull = o.getVfModule() == null ? true : false; boolean hasVolumeGroup = false; @@ -104,16 +104,16 @@ public class QueryVfModule extends CatalogQuery { put(valueMap, "MODEL_INVARIANT_ID", vfNull ? null : o.getVfModule().getModelInvariantUuid()); put(valueMap, "MODEL_VERSION", vfNull ? null : o.getVfModule().getVersion()); put(valueMap, "MODEL_CUSTOMIZATION_UUID", o.getModelCustomizationUuid()); - put(valueMap, "IS_BASE", vfNull ? false : new Boolean(o.getVfModule().isBase()? true: false)); - put(valueMap, "VF_MODULE_LABEL", o.getLabel()); + put(valueMap, "IS_BASE", vfNull ? false : o.getVfModule().isBase() ? true : false); + put(valueMap, "VF_MODULE_LABEL", o.getLabel()); put(valueMap, "INITIAL_COUNT", o.getInitialCount()); - put(valueMap, "HAS_VOLUME_GROUP", new Boolean(hasVolumeGroup)); + put(valueMap, "HAS_VOLUME_GROUP", hasVolumeGroup); - buf.append(sep+ this.setTemplate(template, valueMap)); + sb.append(sep).append(this.setTemplate(template, valueMap)); sep = ",\n"; } - if (!first) buf.append("\n"); - if (isArray) buf.append("]"); - return buf.toString(); + if (!first) sb.append("\n"); + if (isArray) sb.append("]"); + return sb.toString(); } } diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryVfModules.java b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryVfModules.java index ff713991f9..00a5cafb29 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryVfModules.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryVfModules.java @@ -58,17 +58,17 @@ public class QueryVfModules { @Override public String toString () { - StringBuilder buf = new StringBuilder(); + StringBuilder sb = new StringBuilder(); boolean first = true; int i = 1; for (VfModule o : vfModules) { - buf.append(i+"\t"); - if (!first) buf.append("\n"); + sb.append(i).append("\t"); + if (!first) sb.append("\n"); first = false; - buf.append(o); + sb.append(o); } - return buf.toString(); + return sb.toString(); } public String toJsonString() { diff --git a/adapters/mso-network-adapter-async-client/pom.xml b/adapters/mso-network-adapter-async-client/pom.xml index cc1ae6ea30..9920c729a1 100644 --- a/adapters/mso-network-adapter-async-client/pom.xml +++ b/adapters/mso-network-adapter-async-client/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>adapters</artifactId>
- <version>1.2.0-SNAPSHOT</version> + <version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.openecomp.so.adapters</groupId>
+ <groupId>org.onap.so.adapters</groupId>
<artifactId>mso-network-adapter-async-client</artifactId>
<packaging>jar</packaging>
<name>mso-network-adapter-async-client</name>
diff --git a/adapters/mso-network-adapter/pom.xml b/adapters/mso-network-adapter/pom.xml index 48b5b3ebd4..48a19bda6e 100644 --- a/adapters/mso-network-adapter/pom.xml +++ b/adapters/mso-network-adapter/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-network-adapter</artifactId> <packaging>war</packaging> <name>mso-network-adapter</name> @@ -53,7 +53,7 @@ <version>2.2.7</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapter-utils</artifactId> <version>${project.version}</version> </dependency> @@ -106,17 +106,17 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapter-utils</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-network-adapter-async-client</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapters-rest-interface</artifactId> <version>${project.version}</version> </dependency> @@ -145,7 +145,7 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency> diff --git a/adapters/mso-network-adapter/src/main/java/org/openecomp/mso/adapters/network/MsoNetworkAdapterImpl.java b/adapters/mso-network-adapter/src/main/java/org/openecomp/mso/adapters/network/MsoNetworkAdapterImpl.java index 2c04ae9d6b..82684bd43e 100644 --- a/adapters/mso-network-adapter/src/main/java/org/openecomp/mso/adapters/network/MsoNetworkAdapterImpl.java +++ b/adapters/mso-network-adapter/src/main/java/org/openecomp/mso/adapters/network/MsoNetworkAdapterImpl.java @@ -1747,20 +1747,20 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter { stackParams.put (VLANS, csl); } if (routeTargets != null && !routeTargets.isEmpty()) { - StringBuilder buf = new StringBuilder (); + StringBuilder sb = new StringBuilder (); String sep = ""; for (String rt : routeTargets) { if (!isNullOrEmpty(rt)) { if (aic3template) - buf.append (sep).append ("target:" + rt); + sb.append(sep).append("target:").append(rt); else - buf.append (sep).append (rt); + sb.append (sep).append (rt); sep = ","; } } - String csl = buf.toString (); + String csl = sb.toString (); stackParams.put ("route_targets", csl); } @@ -1985,16 +1985,16 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter { String outputTempl = " subnet_id_%subnetId%:\n" + " description: Openstack subnet identifier\n" + " value: {get_resource: subnet_%subnetId%}\n"; - String curR; + StringBuilder curR; String curO; StringBuilder resourcesBuf = new StringBuilder (); StringBuilder outputsBuf = new StringBuilder (); for (Subnet subnet : subnets) { // build template for each subnet - curR = resourceTempl; + curR = new StringBuilder(resourceTempl); if (subnet.getSubnetId () != null) { - curR = curR.replace ("%subnetId%", subnet.getSubnetId ()); + curR = new StringBuilder(curR.toString().replace("%subnetId%", subnet.getSubnetId())); } else { String error = "Missing Required AAI SubnetId for subnet in HEAT Template"; LOGGER.error (MessageEnum.RA_MISSING_PARAM, error, "Openstack", "", MsoLogger.ErrorCode.DataError, "Missing Required AAI ID for subnet in HEAT Template"); @@ -2002,13 +2002,13 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter { } if (subnet.getSubnetName () != null) { - curR = curR.replace ("%name%", subnet.getSubnetName ()); + curR = new StringBuilder(curR.toString().replace("%name%", subnet.getSubnetName())); } else { - curR = curR.replace ("%name%", subnet.getSubnetId ()); + curR = new StringBuilder(curR.toString().replace("%name%", subnet.getSubnetId())); } if (subnet.getCidr () != null) { - curR = curR.replace ("%cidr%", subnet.getCidr ()); + curR = new StringBuilder(curR.toString().replace("%cidr%", subnet.getCidr())); } else { String error = "Missing Required cidr for subnet in HEAT Template"; LOGGER.error (MessageEnum.RA_MISSING_PARAM, error, "Openstack", "", MsoLogger.ErrorCode.DataError, "Missing Required cidr for subnet in HEAT Template"); @@ -2016,23 +2016,23 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter { } if (subnet.getIpVersion () != null) { - curR = curR + " ip_version: " + subnet.getIpVersion () + "\n"; + curR.append(" ip_version: " + subnet.getIpVersion() + "\n"); } if (subnet.getEnableDHCP () != null) { - curR = curR + " enable_dhcp: " + Boolean.toString (subnet.getEnableDHCP ()) + "\n"; + curR.append(" enable_dhcp: ").append(Boolean.toString(subnet.getEnableDHCP())).append("\n"); } if (subnet.getGatewayIp () != null && !subnet.getGatewayIp ().isEmpty() ) { - curR = curR + " gateway_ip: " + subnet.getGatewayIp () + "\n"; + curR.append(" gateway_ip: " + subnet.getGatewayIp() + "\n"); } if (subnet.getAllocationPools() != null) { - curR = curR + " allocation_pools:\n"; + curR.append(" allocation_pools:\n"); for (Pool pool : subnet.getAllocationPools()) { if (!isNullOrEmpty(pool.getStart()) && !isNullOrEmpty(pool.getEnd())) { - curR = curR + " - start: " + pool.getStart () + "\n"; - curR = curR + " end: " + pool.getEnd () + "\n"; + curR.append(" - start: " + pool.getStart() + "\n"); + curR.append(" end: " + pool.getEnd() + "\n"); } } } diff --git a/adapters/mso-requests-db-adapter/pom.xml b/adapters/mso-requests-db-adapter/pom.xml index ed8b2b3b88..8bec34e785 100644 --- a/adapters/mso-requests-db-adapter/pom.xml +++ b/adapters/mso-requests-db-adapter/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-requests-db-adapter</artifactId> <packaging>war</packaging> @@ -15,7 +15,7 @@ <dependencies> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-requests-db</artifactId> <version>${project.version}</version> </dependency> @@ -40,7 +40,7 @@ </exclusions> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency> @@ -85,7 +85,7 @@ <version>2.2.7</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapter-utils</artifactId> <version>${project.version}</version> </dependency> diff --git a/adapters/mso-sdnc-adapter/pom.xml b/adapters/mso-sdnc-adapter/pom.xml index e7cb4d5318..b0457e968e 100644 --- a/adapters/mso-sdnc-adapter/pom.xml +++ b/adapters/mso-sdnc-adapter/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-sdnc-adapter</artifactId> <packaging>war</packaging> <name>mso-sdnc-adapter</name> @@ -67,7 +67,7 @@ </build> <dependencies> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapter-utils</artifactId> <version>${project.version}</version> @@ -91,12 +91,12 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapters-rest-interface</artifactId> <version>${project.version}</version> </dependency> diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCRestClient.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCRestClient.java index 97f30bea6b..55a2156c50 100644 --- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCRestClient.java +++ b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCRestClient.java @@ -142,7 +142,7 @@ public class SDNCRestClient implements Runnable { DataOutputStream out = null; BufferedReader in = null; SDNCResponse sdncResp = new SDNCResponse(rt.getReqId()); - StringBuffer response = new StringBuffer(); + StringBuilder response = new StringBuilder(); msoLogger.info(MessageEnum.RA_SEND_REQUEST_SDNC, rt.toString(), "SDNC", ""); msoLogger.debug("SDNC Request Body:\n" + sdncReqBody); @@ -197,7 +197,7 @@ public class SDNCRestClient implements Runnable { //default sdncResp.setRespCode(HttpURLConnection.HTTP_INTERNAL_ERROR); String respMsg = "Error processing request to SDNC. "; - String sdncErrMsg = ""; + StringBuilder sdncErrMsg = new StringBuilder(); if (e instanceof java.net.SocketTimeoutException ) { @@ -229,7 +229,7 @@ public class SDNCRestClient implements Runnable { String eType = null; try { eType = xpath.evaluate("error-type", error); - sdncErrMsg = ". SDNC Returned-[error-type:" + eType; + sdncErrMsg = new StringBuilder(". SDNC Returned-[error-type:" + eType); } catch (Exception e3) { msoLogger.error (MessageEnum.RA_EVALUATE_XPATH_ERROR, "error-type", error.toString(), "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception while evaluate xpath", e3); } @@ -237,7 +237,7 @@ public class SDNCRestClient implements Runnable { String eTag = null; try { eTag = xpath.evaluate( "error-tag", error); - sdncErrMsg = sdncErrMsg + ", error-tag:" + eTag; + sdncErrMsg.append(", error-tag:").append(eTag); } catch (Exception e3) { msoLogger.error (MessageEnum.RA_EVALUATE_XPATH_ERROR, "error-tag", error.toString(), "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception while evaluate xpath", e3); } @@ -245,7 +245,7 @@ public class SDNCRestClient implements Runnable { String eMsg = null; try { eMsg = xpath.evaluate("error-message", error); - sdncErrMsg = sdncErrMsg + ", error-message:" + eMsg + "]"; + sdncErrMsg.append(", error-message:").append(eMsg).append("]"); } catch (Exception e3) { msoLogger.error (MessageEnum.RA_EVALUATE_XPATH_ERROR, "error-message", error.toString(), "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception while evaluate xpath", e3); } diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCConnector.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCConnector.java index 262d23bd09..be0466af73 100644 --- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCConnector.java +++ b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCConnector.java @@ -257,7 +257,7 @@ public abstract class SDNCConnector { // </error> // </errors> - String output = null; + StringBuilder output = null; try { XPathFactory xpathFactory = XPathFactory.newInstance(); @@ -306,9 +306,9 @@ public abstract class SDNCConnector { if (!info.isEmpty()) { if (output == null) { - output = "[" + info + "]"; + output = new StringBuilder("[" + info + "]"); } else { - output += " [" + info + "]"; + output.append(" [").append(info).append("]"); } } } @@ -317,6 +317,6 @@ public abstract class SDNCConnector { MsoLogger.ErrorCode.DataError, "Exception while analyzing errors", e); } - return output; + return output.toString(); } } diff --git a/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterRequestTest.java b/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterRequestTest.java new file mode 100644 index 0000000000..fa96b7983e --- /dev/null +++ b/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterRequestTest.java @@ -0,0 +1,54 @@ +/*- + * ============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.adapters.sdnc; + +import org.junit.BeforeClass; +import org.junit.Test; +import org.openecomp.mso.adapters.sdnc.SDNCAdapterRequest; +import org.openecomp.mso.adapters.sdnc.RequestHeader; + + +public class SDNCAdapterRequestTest { + + static Object sd= new SDNCAdapterRequest(); + static RequestHeader rh=new RequestHeader(); + + @BeforeClass + public static final void RHeader() + { + rh.setCallbackUrl("callback"); + rh.setMsoAction ("action"); + rh.setRequestId ("reqid"); + rh.setSvcAction ("svcAction"); + rh.setSvcInstanceId ("svcId"); + rh.setSvcOperation ("op"); + } + @Test + public final void testtoString(){ + ((SDNCAdapterRequest) sd).setRequestData("data"); + ((SDNCAdapterRequest) sd).setRequestHeader(rh); + assert (((SDNCAdapterRequest) sd).getRequestData()!= null) ; + assert(((SDNCAdapterRequest) sd).getRequestData().equals("data")); + assert(((SDNCAdapterRequest) sd).getRequestHeader().equals(rh)); + } + +} diff --git a/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/client/CallbackHeaderTest.java b/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/client/CallbackHeaderTest.java new file mode 100644 index 0000000000..88d2b950b9 --- /dev/null +++ b/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/client/CallbackHeaderTest.java @@ -0,0 +1,47 @@ +/* +* ============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.client; + +import org.junit.Test; +import org.openecomp.mso.adapters.sdnc.client.CallbackHeader; + +public class CallbackHeaderTest { + + static CallbackHeader cb = new CallbackHeader(); + + @Test + public final void testCallbackHeader() { + cb.setRequestId("413658f4-7f42-482e-b834-23a5c15657da-1474471336781"); + cb.setResponseCode("200"); + cb.setResponseMessage("OK"); + assert (cb.getRequestId() != null); + assert (cb.getResponseCode() != null); + assert (cb.getResponseMessage() != null); + assert (cb.getRequestId().equals("413658f4-7f42-482e-b834-23a5c15657da-1474471336781")); + assert (cb.getResponseCode().equals("200")); + assert (cb.getResponseMessage().equals("OK")); + } + + @Test + public void testtoString() { + assert (cb.toString() != null); + } +} diff --git a/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/client/SDNCAdapterCallbackRequestTest.java b/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/client/SDNCAdapterCallbackRequestTest.java new file mode 100644 index 0000000000..63aa49cf54 --- /dev/null +++ b/adapters/mso-sdnc-adapter/src/test/java/org/openecomp/mso/adapters/sdnc/client/SDNCAdapterCallbackRequestTest.java @@ -0,0 +1,53 @@ +/*- + * ============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.adapters.sdnc.client; + +import org.junit.Test; +import org.openecomp.mso.adapters.sdnc.client.CallbackHeader; +import org.openecomp.mso.adapters.sdnc.client.SDNCAdapterCallbackRequest; + +public class SDNCAdapterCallbackRequestTest { + + static SDNCAdapterCallbackRequest sdc = new SDNCAdapterCallbackRequest(); + static CallbackHeader ch = new CallbackHeader("413658f4-7f42-482e-b834-23a5c15657da-1474471336781","200","OK"); + + @Test + public void testSDNCAdapterCallbackRequest() + { + sdc.setCallbackHeader(ch); + sdc.setRequestData("data"); + assert(sdc.getCallbackHeader()!=null); + assert(sdc.getRequestData()!=null); + assert(sdc.getCallbackHeader().equals(ch)); + assert(sdc.getRequestData().equals("data")); + + } + + @Test + public void testtoString() + { + assert(ch.toString()!=null); + } + +} + + diff --git a/adapters/mso-tenant-adapter/pom.xml b/adapters/mso-tenant-adapter/pom.xml index 1479b2865e..916c3a7afd 100644 --- a/adapters/mso-tenant-adapter/pom.xml +++ b/adapters/mso-tenant-adapter/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-tenant-adapter</artifactId> <packaging>war</packaging> <name>mso-tenant-adapter</name> @@ -72,7 +72,7 @@ <version>2.2.7</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapter-utils</artifactId> <version>${project.version}</version> </dependency> @@ -119,12 +119,12 @@ </build> <dependencies> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapter-utils</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapters-rest-interface</artifactId> <version>${project.version}</version> </dependency> @@ -147,7 +147,7 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency> diff --git a/adapters/mso-vfc-adapter/pom.xml b/adapters/mso-vfc-adapter/pom.xml index abd8ce4c29..e851edf72e 100644 --- a/adapters/mso-vfc-adapter/pom.xml +++ b/adapters/mso-vfc-adapter/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-vfc-adapter</artifactId> <packaging>war</packaging> <name>mso-vfc-adapter</name> @@ -38,12 +38,12 @@ <version>2.0</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapter-utils</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapters-rest-interface</artifactId> <version>${project.version}</version> </dependency> @@ -72,12 +72,12 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-requests-db</artifactId> <version>${project.version}</version> </dependency> diff --git a/adapters/mso-vnf-adapter-async-client/pom.xml b/adapters/mso-vnf-adapter-async-client/pom.xml index 4a20257b4a..e6217fc1c0 100644 --- a/adapters/mso-vnf-adapter-async-client/pom.xml +++ b/adapters/mso-vnf-adapter-async-client/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>adapters</artifactId>
- <version>1.2.0-SNAPSHOT</version> + <version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.openecomp.so.adapters</groupId>
+ <groupId>org.onap.so.adapters</groupId>
<artifactId>mso-vnf-adapter-async-client</artifactId>
<packaging>jar</packaging>
<name>mso-vnf-adapter-async-client</name>
diff --git a/adapters/mso-vnf-adapter/pom.xml b/adapters/mso-vnf-adapter/pom.xml index 9116e57a11..9a290f4f00 100644 --- a/adapters/mso-vnf-adapter/pom.xml +++ b/adapters/mso-vnf-adapter/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>adapters</artifactId>
- <version>1.2.0-SNAPSHOT</version> + <version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.openecomp.so.adapters</groupId>
+ <groupId>org.onap.so.adapters</groupId>
<artifactId>mso-vnf-adapter</artifactId>
<packaging>war</packaging>
<name>mso-vnf-adapter</name>
@@ -56,7 +56,7 @@ </executions>
<dependencies>
<dependency>
- <groupId>org.openecomp.so.adapters</groupId>
+ <groupId>org.onap.so.adapters</groupId>
<artifactId>mso-adapter-utils</artifactId>
<version>${project.version}</version>
</dependency>
@@ -107,17 +107,17 @@ </build>
<dependencies>
<dependency>
- <groupId>org.openecomp.so.adapters</groupId>
+ <groupId>org.onap.so.adapters</groupId>
<artifactId>mso-adapter-utils</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.so.adapters</groupId>
+ <groupId>org.onap.so.adapters</groupId>
<artifactId>mso-adapters-rest-interface</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.so.adapters</groupId>
+ <groupId>org.onap.so.adapters</groupId>
<artifactId>mso-vnf-adapter-async-client</artifactId>
<version>${project.version}</version>
</dependency>
@@ -140,7 +140,7 @@ <scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>status-control</artifactId>
<version>${project.version}</version>
</dependency>
@@ -157,7 +157,7 @@ <scope>test</scope>
</dependency>
<!-- <dependency> -->
- <!-- <groupId>org.openecomp.so</groupId> -->
+ <!-- <groupId>org.onap.so</groupId> -->
<!-- <artifactId>mso-catalog-db</artifactId> -->
<!-- <version>${project.version}</version> -->
<!-- </dependency> -->
diff --git a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/adapters/vnf/MsoVnfAdapterImpl.java b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/adapters/vnf/MsoVnfAdapterImpl.java index 7fe09be2b6..95e62a0e2d 100644 --- a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/adapters/vnf/MsoVnfAdapterImpl.java +++ b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/adapters/vnf/MsoVnfAdapterImpl.java @@ -465,7 +465,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { private boolean callHeatbridge(String heatStackId) { String executionDir = "/usr/local/lib/python2.7/dist-packages/heatbridge"; String openstackIdentityUrl = "", username = "", password = "", tenant = "", region = "", owner = ""; - long waitTimeMs = 10000l; + long waitTimeMs = 10000L; try { String[] cmdarray = {"/usr/bin/python", "HeatBridgeMain.py", openstackIdentityUrl, username, password, tenant, region, owner, heatStackId}; String[] envp = null; @@ -508,7 +508,8 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { LOGGER.debug("Exception :",e); outputString = "Unable to call toString() on the value for " + str; } - sb.append("\t\nitem " + i++ + ": '" + str + "'='" + outputString + "'"); + sb.append("\t\nitem ").append(i++).append(": '").append(str).append("'='").append(outputString) + .append("'"); } } LOGGER.debug(sb.toString()); @@ -524,7 +525,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { sb.append("\tEMPTY"); } else { for (String str : inputs.keySet()) { - sb.append("\titem " + i++ + ": " + str + "=" + inputs.get(str)); + sb.append("\titem ").append(i++).append(": ").append(str).append("=").append(inputs.get(str)); } } LOGGER.debug(sb.toString()); @@ -1170,7 +1171,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { } // Check that required parameters have been supplied - String missingParams = null; + StringBuilder missingParams = null; List <String> paramList = new ArrayList <> (); // New for 1510 - consult the PARAM_ALIAS field to see if we've been @@ -1224,7 +1225,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { int cntr = 0; try { for (HeatTemplateParam htp : heatTemplate.getParameters()) { - sb.append("param[" + cntr++ + "]=" + htp.getParamName()); + sb.append("param[").append(cntr++).append("]=").append(htp.getParamName()); parameterNames.add(htp.getParamName()); if (htp.getParamAlias() != null && !"".equals(htp.getParamAlias())) { aliasToParam.put(htp.getParamAlias(), htp.getParamName()); @@ -1264,9 +1265,9 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { } else { LOGGER.debug ("adding to missing parameters list: " + parm.getParamName ()); if (missingParams == null) { - missingParams = parm.getParamName (); + missingParams = new StringBuilder(parm.getParamName()); } else { - missingParams += "," + parm.getParamName (); + missingParams.append("," + parm.getParamName()); } } } @@ -1276,7 +1277,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { if (checkRequiredParameters) { // Problem - missing one or more required parameters String error = "Create VFModule: Missing Required inputs: " + missingParams; - LOGGER.error (MessageEnum.RA_MISSING_PARAM, missingParams, "OpenStack", "", MsoLogger.ErrorCode.DataError, "Create VFModule: Missing Required inputs"); + LOGGER.error (MessageEnum.RA_MISSING_PARAM, missingParams.toString(), "OpenStack", "", MsoLogger.ErrorCode.DataError, "Create VFModule: Missing Required inputs"); LOGGER.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.BadRequest, error); throw new VnfException (error, MsoExceptionCategory.USERDATA); } else { @@ -1443,16 +1444,16 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { StringBuilder sbInit = new StringBuilder(); sbInit.append("updateVfModule: \n"); - sbInit.append("cloudSiteId=" + cloudSiteId + "\n"); - sbInit.append("tenantId=" + tenantId + "\n"); - sbInit.append("vnfType=" + vnfType + "\n"); - sbInit.append("vnfVersion=" + vnfVersion + "\n"); - sbInit.append("vnfName=" + vnfName + "\n"); - sbInit.append("requestType=" + requestType + "\n"); - sbInit.append("volumeGroupHeatStackId=" + volumeGroupHeatStackId + "\n"); - sbInit.append("baseVfHeatStackId=" + baseVfHeatStackId + "\n"); - sbInit.append("vfModuleStackId=" + vfModuleStackId + "\n"); - sbInit.append("modelCustomizationUuid=" + modelCustomizationUuid + "\n"); + sbInit.append("cloudSiteId=").append(cloudSiteId).append("\n"); + sbInit.append("tenantId=").append(tenantId).append("\n"); + sbInit.append("vnfType=").append(vnfType).append("\n"); + sbInit.append("vnfVersion=").append(vnfVersion).append("\n"); + sbInit.append("vnfName=").append(vnfName).append("\n"); + sbInit.append("requestType=").append(requestType).append("\n"); + sbInit.append("volumeGroupHeatStackId=").append(volumeGroupHeatStackId).append("\n"); + sbInit.append("baseVfHeatStackId=").append(baseVfHeatStackId).append("\n"); + sbInit.append("vfModuleStackId=").append(vfModuleStackId).append("\n"); + sbInit.append("modelCustomizationUuid=").append(modelCustomizationUuid).append("\n"); LOGGER.debug(sbInit.toString()); String mcu = modelCustomizationUuid; @@ -1871,7 +1872,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { } // Check that required parameters have been supplied - String missingParams = null; + StringBuilder missingParams = null; List <String> paramList = new ArrayList <> (); // New for 1510 - consult the PARAM_ALIAS field to see if we've been @@ -2009,9 +2010,9 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { else { LOGGER.debug ("adding to missing parameters list: " + parm.getParamName ()); if (missingParams == null) { - missingParams = parm.getParamName (); + missingParams = new StringBuilder(parm.getParamName()); } else { - missingParams += "," + parm.getParamName (); + missingParams.append("," + parm.getParamName()); } } } @@ -2021,7 +2022,7 @@ public class MsoVnfAdapterImpl implements MsoVnfAdapter { // Problem - missing one or more required parameters if (checkRequiredParameters) { String error = "Update VNF: Missing Required inputs: " + missingParams; - LOGGER.error (MessageEnum.RA_MISSING_PARAM, missingParams, "OpenStack", "", MsoLogger.ErrorCode.DataError, error); + LOGGER.error (MessageEnum.RA_MISSING_PARAM, missingParams.toString(), "OpenStack", "", MsoLogger.ErrorCode.DataError, error); LOGGER.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.BadRequest, error); throw new VnfException (error, MsoExceptionCategory.USERDATA); } else { diff --git a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduBlueprint.java b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduBlueprint.java new file mode 100755 index 0000000000..6e06eed702 --- /dev/null +++ b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduBlueprint.java @@ -0,0 +1,90 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.vdu.utils; + +import java.util.Map; + +/* + * This Java bean class describes the template model of a VDU as distributed + * by SDC to SO. It is composed of one or more templates, one of which must be + * the main template, + * + * The structure of this class corresponds to the format in which the templates + * and associated artifacts are represented in the SO Catalog. + * + * The map keys will be the "path" that is used to reference these artifacts within + * the other templates. This may be relevant to how different VDU plugins package + * the files for delivery to the sub-orchestrator. + * + * In the future, it is possible that pre-packaged blueprints (e.g. complete TOSCA CSARs) + * could be stored in the catalog (and added to this structure). + * + * This bean is passed as an input to instantiateVdu and updateVdu. + */ + +public class VduBlueprint { + String vduModelId; + String mainTemplateName; + Map<String,byte[]> templateFiles; + Map<String,byte[]> attachedFiles; + + public String getVduModelId() { + return vduModelId; + } + + public void setVduModelId(String vduModelId) { + this.vduModelId = vduModelId; + } + + public String getMainTemplateName() { + return mainTemplateName; + } + + public void setMainTemplateName(String mainTemplateName) { + this.mainTemplateName = mainTemplateName; + } + + public Map<String, byte[]> getTemplateFiles() { + return templateFiles; + } + + public void setTemplateFiles(Map<String, byte[]> templateFiles) { + this.templateFiles = templateFiles; + } + + public Map<String, byte[]> getAttachedFiles() { + return attachedFiles; + } + + public void setAttachedFiles(Map<String, byte[]> attachedFiles) { + this.attachedFiles = attachedFiles; + } + + @Override + public String toString() { + return "VduInfo {" + + "id='" + vduModelId + '\'' + + "mainTemplateName='" + mainTemplateName + '\'' + + '}'; + } + +} + diff --git a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduInfo.java b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduInfo.java new file mode 100755 index 0000000000..53300c9453 --- /dev/null +++ b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduInfo.java @@ -0,0 +1,130 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.vdu.utils; + +import java.util.Map; +import java.util.HashMap; + +/* + * This Java bean class relays VDU status information in a cloud-agnostic format. + * + * This bean is returned by all implementors of the MsoVduUtils interface operations + * (instantiate, query, delete). + */ + +public class VduInfo { + // Set defaults for everything + private String vduInstanceId = ""; + private String vduInstanceName = ""; + private VduStatus status = VduStatus.NOTFOUND; + private Map<String,Object> outputs = new HashMap<String,Object>(); + private Map<String,Object> inputs = new HashMap<String,Object>(); + private String lastAction; + private String actionStatus; + private String errorMessage; + + public VduInfo () { + } + + // Add more constructors as appropriate + // + + public VduInfo (String id, Map<String,Object> outputs) { + this.vduInstanceId = id; + if (outputs != null) this.outputs = outputs; + } + + public VduInfo (String id) { + this.vduInstanceId = id; + } + + public VduInfo (String id, VduStatus status) { + this.vduInstanceId = id; + this.status = status; + } + + public String getVnfInstanceId() { + return vduInstanceId; + } + + public void setVnfInstanceId (String id) { + this.vduInstanceId = id; + } + + public String getVnfInstanceName() { + return vduInstanceName; + } + + public void setVnfInstanceName (String name) { + this.vduInstanceName = name; + } + + public VduStatus getStatus() { + return status; + } + + public void setStatus (VduStatus status) { + this.status = status; + } + + public Map<String,Object> getOutputs () { + return outputs; + } + + public void setOutputs (Map<String,Object> outputs) { + this.outputs = outputs; + } + + public Map<String,Object> getInputs () { + return inputs; + } + + public void setInputs (Map<String,Object> inputs) { + this.inputs = inputs; + } + + public String getLastAction() { + return lastAction; + } + + public String getActionStatus() { + return actionStatus; + } + + public String getErrorMessage() { + return errorMessage; + } + + @Override + public String toString() { + return "VduInfo {" + + "id='" + vduInstanceId + '\'' + + "name='" + vduInstanceName + '\'' + + ", inputs='" + inputs + '\'' + + ", outputs='" + outputs + '\'' + + ", lastAction='" + lastAction + '\'' + + ", status='" + status + '\'' + + ", errorMessage='" + errorMessage + '\'' + + '}'; + } + +} + diff --git a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduPlugin.java b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduPlugin.java new file mode 100755 index 0000000000..3452a10db9 --- /dev/null +++ b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduPlugin.java @@ -0,0 +1,248 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.openecomp.mso.vdu.utils; + +/** + * This interface defines a common API for template-based cloud deployments. + * The methods here should be adaptable for Openstack (Heat), Cloudify (TOSCA), + * Aria (TOSCA), Multi-VIM (TBD), and others (e.g. Azure Resource Manager). + * + * The deployed instances are referred to here as Virtual Deployment Units (VDUs). + * The package of templates that define a give VDU is referred to as its blueprint. + * + * Template-based orchestrators all follow a similar template/blueprint model. + * - One main template that is the top level definition + * - Optional nested templates referenced/included by the main template + * - Optional files attached to the template package, typically containing + * configuration files, install scripts, orchestration scripts, etc. + * + * The main template also defines the required inputs for creating a new instance, + * and output values exposed by successfully deployed instances. Inputs and outputs + * may include simple or complex (JSON) data types. + * + * Each implementation of this interface is expected to understand the MSO CloudConfig + * to obtain the credentials for its sub-orchestrator and the targeted cloud. + * The sub-orchestrator may have different credentials from the cloud (e.g. an Aria + * instance in front of an Openstack cloud) or they may be the same (e.g. Heat) + */ +import java.util.Map; + +import org.openecomp.mso.openstack.exceptions.MsoException; + +public interface VduPlugin { + + /** + * The instantiateVdu interface deploys a new VDU instance from a blueprint package. + * The templates and files in the blueprint may be pre-installed where supported + * (e.g. in Cloudify or Aria), or may be passed in directly (e.g. for Heat). These + * files are expressed as byte arrays, though only text files are expected from ASDC. + * + * For some VIMs, this may be a single command (e.g. Heat -> create stack) or may + * require a series of API calls (e.g. Cloudify -> upload blueprint, create deployment, + * execute install workflow). These details are hidden within the implementation. + * The instantiation should be fully completed before returning. On failures, this + * method is expected to back out the attempt, leaving the cloud in its previous state. + * + * It is expected that parameters have been validated and contain at minimum the + * required parameters for the given template with no extra parameters. + * + * The VDU name supplied by the caller will be globally unique, and identify the artifact + * in A&AI. Inventory is managed by the higher levels invoking this function. + * + * @param cloudSiteId The target cloud for the VDU. Maps to a CloudConfig entry. + * @param tenantId The cloud tenant in which to deploy the VDU. The meaning may differ by + * cloud provider, but every cloud supports some sort of tenant partitioning. + * @param vduInstanceName A unique name for the VDU instance to create + * @param vduBlueprint Object containing the collection of templates and files that comprise + * the blueprint for this VDU. + * @param inputs A map of key/value inputs. Values may be strings, numbers, or JSON objects. + * @param environmentFile A file containing default parameter name/value pairs. This is + * primarily for Heat, though ASDC may create a similar file for other orchestrators. + * @param timeoutMinutes Timeout after which the instantiation attempt will be cancelled + * @param suppressBackout Flag to preserve the deployment on install Failure. Should normally + * be False except in troubleshooting/debug cases + * + * @return A VduInfo object + * @throws MsoException Thrown if the sub-orchestrator API calls fail or if a timeout occurs. + * Various subclasses of MsoException may be thrown. + */ + public VduInfo instantiateVdu ( + String cloudSiteId, + String tenantId, + String vduInstanceName, + VduBlueprint vduBlueprint, + Map <String, ? extends Object> inputs, + String environmentFile, + int timeoutMinutes, + boolean suppressBackout) + throws MsoException; + + + /** + * Query a deployed VDU instance. This call will return a VduInfo object, or null + * if the deployment does not exist. + * + * Some VIM orchestrators identify deployment instances by string UUIDs, and others + * by integers. In the latter case, the ID will be passed in as a numeric string. + * + * The returned VduInfo object contains the input and output parameter maps, + * as well as other properties of the deployment (name, status, last action, etc.). + * + * @param cloudSiteId The target cloud to query for the VDU. + * @param tenantId The cloud tenant in which to query + * @param vduInstanceId The ID of the deployment to query + * + * @return A VduInfo object + * @throws MsoException Thrown if the VIM/sub-orchestrator API calls fail. + * Various subclasses of MsoException may be thrown. + */ + public VduInfo queryVdu ( + String cloudSiteId, + String tenantId, + String vduInstanceId) + throws MsoException; + + + /** + * Delete a VDU instance by ID. If the VIM sub-orchestrator supports pre-installation + * of blueprints, the blueprint itself may remain installed. This is recommended, since + * other VDU instances may be using it. + * + * Some VIM orchestrators identify deployment instances by string UUIDs, and others + * by integers. In the latter case, the ID will be passed in as a numeric string. + * + * For some VIMs, deletion may be a single command (e.g. Heat -> delete stack) or a + * series of API calls (e.g. Cloudify -> execute uninstall workflow, delete deployment). + * These details are hidden within the implementation. The deletion should be fully + * completed before returning. + * + * The successful return is a VduInfo object which contains the state of the object just prior + * to deletion, with a status of DELETED. If the deployment was not found, the VduInfo object + * should be empty (with a status of NOTFOUND). There is no rollback from a successful deletion. + * + * A deletion failure will result in an undefined deployment state - the components may + * or may not have been all or partially uninstalled, so the resulting deployment must + * be considered invalid. + * + * @param cloudSiteId The target cloud from which to delete the VDU. + * @param tenantId The cloud tenant in which to delete the VDU. + * @param vduInstanceId The unique id of the deployment to delete. + * @param timeoutMinutes Timeout after which the delete action will be cancelled + * @param deleteBlueprint Flag to also delete the blueprint + * + * @return A VduInfo object, representing the state of the instance just prior to deletion. + * + * @throws MsoException Thrown if the API calls fail or if a timeout occurs. + * Various subclasses of MsoException may be thrown. + */ + public VduInfo deleteVdu ( + String cloudSiteId, + String tenantId, + String vduInstanceId, + int timeoutMinutes, + boolean keepBlueprintLoaded) + throws MsoException; + + + /** + * The updateVdu interface attempts to update a VDU in-place, using either new inputs or + * a new model definition (i.e. updated templates/blueprints). This depends on the + * capabilities of the targeted sub-orchestrator, as not all implementations are expected + * to support this ability. It is primary included initially only for Heat. + * + * It is expected that parameters have been validated and contain at minimum the required + * parameters for the given template with no extra parameters. The VDU instance name cannot + * be updated. + * + * The update should be fully completed before returning. The successful return is a + * VduInfo object containing the updated VDU state. + * + * An update failure will result in an undefined deployment state - the components may + * or may not have been all or partially modified, deleted, recreated, etc. So the resulting + * VDU must be considered invalid. + * + * @param cloudSiteId The target cloud for the VDU. Maps to a CloudConfig entry. + * @param tenantId The cloud tenant in which to deploy the VDU. The meaning may differ by + * cloud provider, but every cloud supports some sort of tenant partitioning. + * @param vduInstanceId The unique ID for the VDU instance to update. + * @param vduBlueprint Object containing the collection of templates and files that comprise + * the blueprint for this VDU. + * @param inputs A map of key/value inputs. Values may be strings, numbers, or JSON objects. + * @param environmentFile A file containing default parameter name/value pairs. This is + * primarily for Heat, though ASDC may create a similar file for other orchestrators. + * @param timeoutMinutes Timeout after which the instantiation attempt will be cancelled + * + * @return A VduInfo object + * @throws MsoException Thrown if the sub-orchestrator API calls fail or if a timeout occurs. + * Various subclasses of MsoException may be thrown. + */ + public VduInfo updateVdu ( + String cloudSiteId, + String tenantId, + String vduInstanceId, + VduBlueprint vduBlueprint, + Map <String, ? extends Object> inputs, + String environmentFile, + int timeoutMinutes) + throws MsoException; + + + /** + * Check if a blueprint package has been installed in the sub-orchestrator and available + * for use at a targeted cloud site. If the specific sub-orchestrator does not support + * pre-installation, then those implementations should always return False. + * + * @param cloudSiteId The cloud site where the blueprint is needed + * @param vduModelId Unique ID of the VDU model to query + * + * @throws MsoException Thrown if the API call fails. + */ + public boolean isBlueprintLoaded (String cloudSiteId, String vduModelId) + throws MsoException; + + + /** + * Install a blueprint package to the target sub-orchestrator for a cloud site. + * The blueprints currently must be structured as a single directory with all of the + * required files. One of those files is designated the "main file" for the blueprint. + * Files are provided as byte arrays, though expect only text files will be distributed + * from ASDC and stored by MSO. + * + * @param cloudSiteId The cloud site where the blueprint is needed + * @param vduBlueprint Object containing the collection of templates and files that comprise + * the blueprint for this VDU. + * @param failIfExists Flag to return an error if blueprint already exists + * + * @throws MsoException Thrown if the API call fails. + */ + public void uploadBlueprint (String cloudSiteId, + VduBlueprint vduBlueprint, + boolean failIfExists) + throws MsoException; + + /** + * Indicator that this VIM sub-orchestrator implementation supports independent upload + * of blueprint packages. Each implementation should return a constant value. + * + * @returns True if the sub-orchestrator supports blueprint pre-installation (upload). + */ + public boolean blueprintUploadSupported (); + +} diff --git a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduStatus.java b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduStatus.java new file mode 100755 index 0000000000..0f4611a2de --- /dev/null +++ b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduStatus.java @@ -0,0 +1,37 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.vdu.utils; + + +/* + * Enum status values to capture the state of a generic (cloud-agnostic) VDU. + */ +public enum VduStatus { + NOTFOUND, + INSTANTIATING, + INSTANTIATED, + DELETING, + DELETED, // Note - only returned in success response to deleteVdu call. + UPDATING, + FAILED, + UNKNOWN +} + diff --git a/adapters/mso-vnf-adapter/src/test/java/org/openecomp/mso/vdu/utils/VduBlueprintTest.java b/adapters/mso-vnf-adapter/src/test/java/org/openecomp/mso/vdu/utils/VduBlueprintTest.java new file mode 100644 index 0000000000..21a71ccf61 --- /dev/null +++ b/adapters/mso-vnf-adapter/src/test/java/org/openecomp/mso/vdu/utils/VduBlueprintTest.java @@ -0,0 +1,81 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 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.vdu.utils; + +import static org.junit.Assert.*; + +import java.util.HashMap; +import java.util.Map; + +import org.junit.Before; +import org.junit.Test; +import org.openecomp.mso.vdu.utils.VduBlueprint; + +import org.junit.Assert; + +public class VduBlueprintTest { + + private VduBlueprint vduBlueprint; + + private Map<String, byte[]> templateFiles; + private Map<String, byte[]> attachedFiles; + + @Before + public void setUp() { + vduBlueprint = new VduBlueprint(); + } + + @Test + public void testGetVduModelId() { + vduBlueprint.setVduModelId("vduModelId"); + Assert.assertNotNull(vduBlueprint.getVduModelId()); + Assert.assertEquals(vduBlueprint.getVduModelId(), "vduModelId"); + } + + @Test + public void testGetMainTemplateName() { + vduBlueprint.setMainTemplateName("MainTemplateName"); + Assert.assertNotNull(vduBlueprint.getMainTemplateName()); + Assert.assertEquals(vduBlueprint.getMainTemplateName(), "MainTemplateName"); + } + + @Test + public void testGetTemplateFiles() { + byte[] templateFileData = "some template file data".getBytes(); + templateFiles = new HashMap<String, byte[]>(); + templateFiles.put("templateKey1", templateFileData); + vduBlueprint.setTemplateFiles(templateFiles); + Assert.assertNotNull(vduBlueprint.getTemplateFiles()); + Assert.assertTrue(vduBlueprint.getTemplateFiles().containsKey("templateKey1")); + Assert.assertTrue(vduBlueprint.getTemplateFiles().containsValue(templateFileData)); + } + + @Test + public void testGetAttachedFiles() { + byte[] attachedFileData = "some file data".getBytes(); + attachedFiles = new HashMap<String, byte[]>(); + attachedFiles.put("attachedKey1", attachedFileData); + vduBlueprint.setAttachedFiles(attachedFiles); + Assert.assertNotNull(vduBlueprint.getAttachedFiles()); + Assert.assertTrue(vduBlueprint.getAttachedFiles().containsKey("attachedKey1")); + Assert.assertTrue(vduBlueprint.getAttachedFiles().containsValue(attachedFileData)); + } +} diff --git a/adapters/mso-workflow-message-adapter/pom.xml b/adapters/mso-workflow-message-adapter/pom.xml index 3501dd5571..46e4a2bc13 100644 --- a/adapters/mso-workflow-message-adapter/pom.xml +++ b/adapters/mso-workflow-message-adapter/pom.xml @@ -2,11 +2,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-workflow-message-adapter</artifactId> <packaging>war</packaging> <name>mso-workflow-message-adapter</name> @@ -30,7 +30,7 @@ <dependencies> <dependency> - <groupId>org.openecomp.so.adapters</groupId> + <groupId>org.onap.so.adapters</groupId> <artifactId>mso-adapters-rest-interface</artifactId> <version>${project.version}</version> </dependency> @@ -58,7 +58,7 @@ <version>4.5.2</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency> diff --git a/adapters/pom.xml b/adapters/pom.xml index 97c2506bcc..6877d76ae3 100644 --- a/adapters/pom.xml +++ b/adapters/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>so</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>adapters</artifactId> <name>MSO Adapters</name> <description>Adapters for MSO</description> diff --git a/aria/aria-rest-java-client/pom.xml b/aria/aria-rest-java-client/pom.xml index 402d3c1268..f35403cf81 100755 --- a/aria/aria-rest-java-client/pom.xml +++ b/aria/aria-rest-java-client/pom.xml @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <!-- /* * ============LICENSE_START=================================================== @@ -17,7 +18,6 @@ * ============LICENSE_END==================================================== */ --> -<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaClient.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaClient.java index d6e9f2434d..d6e9f2434d 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaClient.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaClient.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaClientFactory.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaClientFactory.java index a97384e084..7241b2ac65 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaClientFactory.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaClientFactory.java @@ -25,7 +25,7 @@ import java.net.URL; */
public class AriaClientFactory {
- AriaClient createRestClient(String protocol, String address, int port, String version){
+ public AriaClient createRestClient(String protocol, String address, int port, String version){
return new AriaRestClient(protocol, address, port, version);
}
}
diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaRestClient.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaRestClient.java index a4e453395d..5de2203b2f 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaRestClient.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/AriaRestClient.java @@ -1,336 +1,377 @@ -/*
- * ============LICENSE_START===================================================
- * Copyright (c) 2017 Cloudify.co. 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 com.gigaspaces.aria.rest.client;
-
-import com.gigaspaces.aria.rest.client.exceptions.StorageException;
-import com.gigaspaces.aria.rest.client.exceptions.ValidationException;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
-import org.codehaus.jackson.map.ObjectMapper;
-import sun.reflect.generics.reflectiveObjects.NotImplementedException;
-
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import static javax.ws.rs.client.Entity.entity;
-
-/**
- * Created by DeWayne on 7/12/2017.
- */
-public class AriaRestClient implements AriaClient {
- private Client client=null;
- private WebTarget base_target=null;
-
- /**
- * Construct an Aria REST client
- *
- * @param protocol either http or https
- * @param address the IP address or host name
- * @param port the port of the service
- * @param version the api version
- */
- public AriaRestClient(String protocol, String address, int port, String version){
- this.client = ClientBuilder.newBuilder().register(JacksonJsonProvider.class).build();
- base_target = client.target(protocol+"://"+address+":"+port+"/api/"+version);
- }
-
- /**
- * Installs a service template
- *
- * @param template the template object
- * @throws ValidationException
- * @throws StorageException
- */
- public void install_service_template(ServiceTemplate template) throws ValidationException, StorageException, Exception {
-
- Response response = base_target.path("templates/"+template.getName()).request(MediaType.APPLICATION_JSON).put(Entity.entity(
- "{\"service-template-path\":\""+template.getURI().toString()+"\""+
- ",\"service-template-filename\":\""+template.getFilename()+"\"", MediaType.APPLICATION_JSON));
-
- if(response.getStatus() == 500){
- throw new StorageException(response.readEntity(String.class));
- }
- else if(response.getStatus() == 400){
- throw new ValidationException(response.readEntity(String.class));
- }
- else if(response.getStatus()>199 && response.getStatus() <300){
- return;
- }
- else{
- throw new Exception("Error installing template: "+response.getStatus()+" "+ response.readEntity(String.class));
- }
- }
-
- public ValidationResult validate_service_template(ServiceTemplate template)throws Exception{
- Response response = base_target.path("templates").request(MediaType.APPLICATION_JSON).post(Entity.entity(
- "{\"service-template-path\":\""+template.getURI().toString()+"\""+
- ",\"service-template-filename\":\""+template.getFilename()+"\"}", MediaType.APPLICATION_JSON));
-
- ValidationResultImpl result = new ValidationResultImpl();
- if(response.getStatus() >= 200 && response.getStatus() < 300){
- result.setFailed(false);
- }
- else if(response.getStatus()==400){
- result.setFailed(true);
- }
- else{
- throw new Exception("received error response '"+ response.getStatus()+"':"+response.readEntity(String.class));
- }
- return result;
-
- }
-
- /**
- *
- * @return a list of service templates
- */
- public List<? extends ServiceTemplate> list_service_templates(){
- List<? extends ServiceTemplate> templates = base_target.path("templates").request(MediaType.APPLICATION_JSON).get(new GenericType<List<ServiceTemplateImpl>>(){});
-
- return templates;
- }
-
-
- /**
- * Deletes the specified template.
- *
- * TODO: Error handling is a little blunt. Need to describe failures better
- *
- * @param template_id the template id to delete
- * @throws IllegalArgumentException thrown when the template can't be deleted
- * @throws Exception other server side errors
- */
- public void delete_service_template(int template_id) throws IllegalArgumentException, Exception{
- Response response = base_target.path("templates/"+template_id).request(MediaType.APPLICATION_JSON).delete();
-
- if(response.getStatus()>=200 && response.getStatus()<300){
- return;
- }
- else if(response.getStatus()==400){
- throw new IllegalArgumentException("Error deleting template '"+template_id+"'");
- }
- else{
- throw new Exception("Error processing request. Return code = "+response.getStatus());
- }
- }
-
- /**
- * List the node templates for a given template id
- *
- * @param template_id
- * @return
- */
- public List<? extends NodeTemplate> list_nodes(int template_id) {
- List<? extends NodeTemplate> nodes = base_target.path("templates/"+template_id+"/nodes").request(MediaType.APPLICATION_JSON).get(new GenericType<List<NodeTemplateImpl>>(){});
- return nodes;
- }
-
- /**
- * Get a specific node by id
- *
- * @param node_id the node id
- * @return
- * @throws IllegalArgumentException
- */
- public NodeTemplate get_node(int node_id) throws IllegalArgumentException {
- NodeTemplate node = base_target.path("nodes/"+node_id).request(MediaType.APPLICATION_JSON).get(NodeTemplateImpl.class);
- return node;
- }
-
- public List<? extends Service> list_services() {
- List<? extends Service> services = base_target.path("services").request(MediaType.APPLICATION_JSON).get(new GenericType<List<ServiceImpl>>(){});
- return services;
- }
-
- public Service get_service(int service_id) throws IllegalArgumentException {
- throw new NotImplementedException();
- }
-
- public List<? extends Output> list_service_outputs(int service_id) throws IllegalArgumentException {
- List<? extends Output> outputs = base_target.path("services").request(MediaType.APPLICATION_JSON).get(new GenericType<List<OutputImpl>>(){});
- return outputs;
- }
-
- public List<? extends Input> list_service_inputs(int service_id) throws IllegalArgumentException {
- List<? extends Input> inputs = base_target.path("services").request(MediaType.APPLICATION_JSON).get(new GenericType<List<InputImpl>>(){});
- return inputs;
- }
-
- /**
- * Create a service based on the supplied template
- *
- * @param template_id the template to create the service for
- * @param service_name a name for the service
- * @param inputs an optional list of inputs for the service (can be null)
- * @throws Exception
- */
- public void create_service(int template_id, String service_name, List<Input> inputs) throws Exception {
-
- String json="{"+inputsToJson(inputs)+"}";
-
- Response response = base_target.path("templates/"+template_id+"/services/"+service_name).
- request(MediaType.APPLICATION_JSON).post(
- Entity.entity(json, MediaType.APPLICATION_JSON)
- );
-
- if( response.getStatus()< 200 || response.getStatus()>299){
- throw new Exception("create service failed:"+response.getStatus()+" "+ response.readEntity(String.class));
- }
- }
-
- public void delete_service(int service_id) throws Exception {
- Response response = base_target.path("services/"+service_id).request(MediaType.APPLICATION_JSON).delete();
- if(!responseOK(response)){
- throw new Exception("delete service failed: "+response.getStatus()+" "+ response.readEntity(String.class));
- }
- }
-
- /**
- * List user workflows for supplied service
- *
- * @param service_id
- * @return
- * @throws IllegalArgumentException
- */
- public List<? extends Workflow> list_workflows(int service_id) throws IllegalArgumentException {
- List<? extends Workflow> workflows = base_target.path("services/"+service_id+"/workflows").request(MediaType.APPLICATION_JSON).get(new GenericType<List<WorkflowImpl>>(){});
- return workflows;
- }
-
- public Workflow get_workflow(int workflow_id) throws IllegalArgumentException {
- throw new NotImplementedException();
- }
-
- /**
- * List all executions
- *
- * @return
- * @throws Exception
- */
- public List<? extends Execution> list_executions() throws Exception {
- List<? extends Execution> executions = base_target.path("executions").request(MediaType.APPLICATION_JSON).get(new GenericType<List<ExecutionImpl>>(){});
- return executions;
- }
-
- /**
- * List executions for specified service
- *
- * @param service_id
- * @return
- * @throws Exception
- */
- public List<? extends Execution> list_executions(int service_id) throws Exception {
- List<? extends Execution> executions = base_target.path("services/"+service_id+"/executions").request(MediaType.APPLICATION_JSON).get(new GenericType<List<ExecutionImpl>>(){});
- return executions;
- }
-
- /**
- * Get details about a specified execution
- *
- * @param execution_id
- * @return
- * @throws IllegalArgumentException
- */
- public Execution get_execution(int execution_id) throws IllegalArgumentException {
- Execution execution = base_target.path("executions/"+execution_id).request(MediaType.APPLICATION_JSON).get(ExecutionImpl.class);
- return execution;
- }
-
- /**
- * Start an execution for the specified service
- *
- * @param service_id the service to run the execution for
- * @param workflow_name the name of the workflow to execute
- * @param details details controlling execution operation
- * @return the execution id
- * @throws Exception
- */
- public int start_execution(int service_id, String workflow_name, ExecutionDetails details) throws Exception {
- StringBuilder json=new StringBuilder("{");
- if(details.getExecutor().length()>0){
- json.append("\"executor\":\"").append(details.getExecutor()).append("\",");
- }
- if(details.getInputs()!=null){
- json.append(inputsToJson(details.getInputs()));
- }
- json.append("\"task_max_attempts\":").append(details.getTaskMaxAttempts()).append(",");
- json.append("\"task_retry_interval\":").append(details.getTaskRetryInterval()).append("}");
-
- System.out.println("JSON="+json.toString());
-
- Response response = base_target.path("services/"+service_id+"/executions/"+workflow_name).request(MediaType.APPLICATION_JSON).
- post(Entity.entity(json.toString(), MediaType.APPLICATION_JSON));
-
- if(!responseOK(response)){
- throw new Exception("start execution failed: "+response.getStatus()+" "+response.readEntity(String.class));
- }
-
- ObjectMapper mapper = new ObjectMapper(new JsonFactory());
- JsonNode rootNode = mapper.readTree(response.readEntity(String.class));
- int id=rootNode.get("id").asInt(-1);
- return id;
- }
-
- public void resume_execution(int execution_id, ExecutionDetails details) throws IllegalArgumentException {
- StringBuilder json=new StringBuilder("{");
- if(details.getExecutor().length()>0){
- json.append("\"executor\":\"").append(details.getExecutor()).append("\",");
- }
- json.append("\"retry_failed_tasks\":").append(details.isRetry_failed_tasks()).append("}");
- Response response = base_target.path("executions/"+execution_id).request(MediaType.APPLICATION_JSON).
- post(Entity.entity(json.toString(), MediaType.APPLICATION_JSON));
- }
-
- public void cancel_execution(int execution_id) throws Exception {
- Response response = base_target.path("executions/"+execution_id).request(MediaType.APPLICATION_JSON).delete();
- if(!responseOK(response)){
- throw new Exception("delete service failed: "+response.getStatus()+" "+ response.readEntity(String.class));
- }
- }
-
- /**
- * -----
- * ----- PRIVATE METHODS
- * -----
- */
-
- private boolean responseOK(Response response){
- return response.getStatus()>199 && response.getStatus()<300;
- }
-
- private String inputsToJson(List<Input> inputs){
- if(inputs==null)return null;
-
- StringBuilder sb=new StringBuilder("\"inputs\":{");
- for(Input input:inputs){
- sb.append("\"").append(input.getName()).append("\":\"").append(input.getValue()).append("\",");
- }
- if(inputs.size()>0)sb.deleteCharAt(sb.length()-1); //trim comma
-
- return sb.toString();
- }
-}
+/* + * ============LICENSE_START=================================================== + * Copyright (c) 2017 Cloudify.co. 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 com.gigaspaces.aria.rest.client; + +import java.util.List; + +import javax.ws.rs.client.Client; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Entity; +import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.GenericType; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import org.codehaus.jackson.JsonFactory; +import org.codehaus.jackson.JsonNode; +import org.codehaus.jackson.jaxrs.JacksonJsonProvider; +import org.codehaus.jackson.map.ObjectMapper; +import com.gigaspaces.aria.rest.client.exceptions.StorageException; +import com.gigaspaces.aria.rest.client.exceptions.ValidationException; + +import sun.reflect.generics.reflectiveObjects.NotImplementedException; + +/** + * Created by DeWayne on 7/12/2017. + */ +public class AriaRestClient implements AriaClient { + private Client client = null; + private WebTarget base_target = null; + + /** + * Construct an Aria REST client + * + * @param protocol + * either http or https + * @param address + * the IP address or host name + * @param port + * the port of the service + * @param version + * the api version + */ + public AriaRestClient(String protocol, String address, int port, String version) { + this.client = ClientBuilder.newBuilder().register(JacksonJsonProvider.class).build(); + base_target = client.target(protocol + "://" + address + ":" + port + "/api/" + version); + } + + /** + * Installs a service template + * + * @param template + * the template object + * @throws ValidationException + * @throws StorageException + */ + public void install_service_template(ServiceTemplate template) + throws ValidationException, StorageException, Exception { + + byte[] csarBytes = template.getCSARBytes(); + Response response = null; + if (csarBytes == null) { + response = base_target.path("templates/" + template.getName()).request(MediaType.APPLICATION_JSON) + .put(Entity.entity( + "{\"service-template-path\":\"" + template.getURI().toString() + "\"" + + ",\"service-template-filename\":\"" + template.getFilename() + "\"", + MediaType.APPLICATION_JSON)); + } + else { + + response = base_target.path("templates/" + template.getName()).request("application/zip") + .put(Entity.entity(csarBytes, "application/zip")); + } + + if (response.getStatus() == 500) { + throw new StorageException(response.readEntity(String.class)); + } else if (response.getStatus() == 400) { + throw new ValidationException(response.readEntity(String.class)); + } else if (response.getStatus() > 199 && response.getStatus() < 300) { + return; + } else { + throw new Exception( + "Error installing template: " + response.getStatus() + " " + response.readEntity(String.class)); + } + } + + public ValidationResult validate_service_template(ServiceTemplate template) throws Exception { + Response response = base_target.path("templates").request(MediaType.APPLICATION_JSON) + .post(Entity.entity( + "{\"service-template-path\":\"" + template.getURI().toString() + "\"" + + ",\"service-template-filename\":\"" + template.getFilename() + "\"}", + MediaType.APPLICATION_JSON)); + + ValidationResultImpl result = new ValidationResultImpl(); + if (response.getStatus() >= 200 && response.getStatus() < 300) { + result.setFailed(false); + } else if (response.getStatus() == 400) { + result.setFailed(true); + } else { + throw new Exception( + "received error response '" + response.getStatus() + "':" + response.readEntity(String.class)); + } + return result; + + } + + /** + * + * @return a list of service templates + */ + public List<? extends ServiceTemplate> list_service_templates() { + List<? extends ServiceTemplate> templates = base_target.path("templates").request(MediaType.APPLICATION_JSON) + .get(new GenericType<List<ServiceTemplateImpl>>() { + }); + + return templates; + } + + /** + * Deletes the specified template. + * + * TODO: Error handling is a little blunt. Need to describe failures better + * + * @param template_id + * the template id to delete + * @throws IllegalArgumentException + * thrown when the template can't be deleted + * @throws Exception + * other server side errors + */ + public void delete_service_template(int template_id) throws IllegalArgumentException, Exception { + Response response = base_target.path("templates/" + template_id).request(MediaType.APPLICATION_JSON).delete(); + + if (response.getStatus() >= 200 && response.getStatus() < 300) { + return; + } else if (response.getStatus() == 400) { + throw new IllegalArgumentException("Error deleting template '" + template_id + "'"); + } else { + throw new Exception("Error processing request. Return code = " + response.getStatus()); + } + } + + /** + * List the node templates for a given template id + * + * @param template_id + * @return + */ + public List<? extends NodeTemplate> list_nodes(int template_id) { + List<? extends NodeTemplate> nodes = base_target.path("templates/" + template_id + "/nodes") + .request(MediaType.APPLICATION_JSON).get(new GenericType<List<NodeTemplateImpl>>() { + }); + return nodes; + } + + /** + * Get a specific node by id + * + * @param node_id + * the node id + * @return + * @throws IllegalArgumentException + */ + public NodeTemplate get_node(int node_id) throws IllegalArgumentException { + NodeTemplate node = base_target.path("nodes/" + node_id).request(MediaType.APPLICATION_JSON) + .get(NodeTemplateImpl.class); + return node; + } + + public List<? extends Service> list_services() { + List<? extends Service> services = base_target.path("services").request(MediaType.APPLICATION_JSON) + .get(new GenericType<List<ServiceImpl>>() { + }); + return services; + } + + public Service get_service(int service_id) throws IllegalArgumentException { + throw new NotImplementedException(); + } + + public List<? extends Output> list_service_outputs(int service_id) throws IllegalArgumentException { + List<? extends Output> outputs = base_target.path("services").request(MediaType.APPLICATION_JSON) + .get(new GenericType<List<OutputImpl>>() { + }); + return outputs; + } + + public List<? extends Input> list_service_inputs(int service_id) throws IllegalArgumentException { + List<? extends Input> inputs = base_target.path("services").request(MediaType.APPLICATION_JSON) + .get(new GenericType<List<InputImpl>>() { + }); + return inputs; + } + + /** + * Create a service based on the supplied template + * + * @param template_id + * the template to create the service for + * @param service_name + * a name for the service + * @param inputs + * an optional list of inputs for the service (can be null) + * @throws Exception + */ + public void create_service(int template_id, String service_name, List<Input> inputs) throws Exception { + + String json = "{" + inputsToJson(inputs) + "}"; + + Response response = base_target.path("templates/" + template_id + "/services/" + service_name) + .request(MediaType.APPLICATION_JSON).post(Entity.entity(json, MediaType.APPLICATION_JSON)); + + if (response.getStatus() < 200 || response.getStatus() > 299) { + throw new Exception( + "create service failed:" + response.getStatus() + " " + response.readEntity(String.class)); + } + } + + public void delete_service(int service_id) throws Exception { + Response response = base_target.path("services/" + service_id).request(MediaType.APPLICATION_JSON).delete(); + if (!responseOK(response)) { + throw new Exception( + "delete service failed: " + response.getStatus() + " " + response.readEntity(String.class)); + } + } + + /** + * List user workflows for supplied service + * + * @param service_id + * @return + * @throws IllegalArgumentException + */ + public List<? extends Workflow> list_workflows(int service_id) throws IllegalArgumentException { + List<? extends Workflow> workflows = base_target.path("services/" + service_id + "/workflows") + .request(MediaType.APPLICATION_JSON).get(new GenericType<List<WorkflowImpl>>() { + }); + return workflows; + } + + public Workflow get_workflow(int workflow_id) throws IllegalArgumentException { + throw new NotImplementedException(); + } + + /** + * List all executions + * + * @return + * @throws Exception + */ + public List<? extends Execution> list_executions() throws Exception { + List<? extends Execution> executions = base_target.path("executions").request(MediaType.APPLICATION_JSON) + .get(new GenericType<List<ExecutionImpl>>() { + }); + return executions; + } + + /** + * List executions for specified service + * + * @param service_id + * @return + * @throws Exception + */ + public List<? extends Execution> list_executions(int service_id) throws Exception { + List<? extends Execution> executions = base_target.path("services/" + service_id + "/executions") + .request(MediaType.APPLICATION_JSON).get(new GenericType<List<ExecutionImpl>>() { + }); + return executions; + } + + /** + * Get details about a specified execution + * + * @param execution_id + * @return + * @throws IllegalArgumentException + */ + public Execution get_execution(int execution_id) throws IllegalArgumentException { + Execution execution = base_target.path("executions/" + execution_id).request(MediaType.APPLICATION_JSON) + .get(ExecutionImpl.class); + return execution; + } + + /** + * Start an execution for the specified service + * + * @param service_id + * the service to run the execution for + * @param workflow_name + * the name of the workflow to execute + * @param details + * details controlling execution operation + * @return the execution id + * @throws Exception + */ + public int start_execution(int service_id, String workflow_name, ExecutionDetails details) throws Exception { + StringBuilder json = new StringBuilder("{"); + if (details.getExecutor().length() > 0) { + json.append("\"executor\":\"").append(details.getExecutor()).append("\","); + } + if (details.getInputs() != null) { + json.append(inputsToJson(details.getInputs())); + } + json.append("\"task_max_attempts\":").append(details.getTaskMaxAttempts()).append(","); + json.append("\"task_retry_interval\":").append(details.getTaskRetryInterval()).append("}"); + + System.out.println("JSON=" + json.toString()); + + Response response = base_target.path("services/" + service_id + "/executions/" + workflow_name) + .request(MediaType.APPLICATION_JSON).post(Entity.entity(json.toString(), MediaType.APPLICATION_JSON)); + + if (!responseOK(response)) { + throw new Exception( + "start execution failed: " + response.getStatus() + " " + response.readEntity(String.class)); + } + + ObjectMapper mapper = new ObjectMapper(new JsonFactory()); + JsonNode rootNode = mapper.readTree(response.readEntity(String.class)); + int id = rootNode.get("id").asInt(-1); + return id; + } + + public void resume_execution(int execution_id, ExecutionDetails details) throws IllegalArgumentException { + StringBuilder json = new StringBuilder("{"); + if (details.getExecutor().length() > 0) { + json.append("\"executor\":\"").append(details.getExecutor()).append("\","); + } + json.append("\"retry_failed_tasks\":").append(details.isRetry_failed_tasks()).append("}"); + Response response = base_target.path("executions/" + execution_id).request(MediaType.APPLICATION_JSON) + .post(Entity.entity(json.toString(), MediaType.APPLICATION_JSON)); + } + + public void cancel_execution(int execution_id) throws Exception { + Response response = base_target.path("executions/" + execution_id).request(MediaType.APPLICATION_JSON).delete(); + if (!responseOK(response)) { + throw new Exception( + "delete service failed: " + response.getStatus() + " " + response.readEntity(String.class)); + } + } + + /** + * ----- ----- PRIVATE METHODS ----- + */ + + private boolean responseOK(Response response) { + return response.getStatus() > 199 && response.getStatus() < 300; + } + + private String inputsToJson(List<Input> inputs) { + if (inputs == null) + return null; + + StringBuilder sb = new StringBuilder("\"inputs\":{"); + for (Input input : inputs) { + sb.append("\"").append(input.getName()).append("\":\"").append(input.getValue()).append("\","); + } + if (inputs.size() > 0) + sb.deleteCharAt(sb.length() - 1); // trim comma + + return sb.toString(); + } +} diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Execution.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Execution.java index ab742833e6..ab742833e6 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Execution.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Execution.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ExecutionDetails.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ExecutionDetails.java index e7685a259c..e7685a259c 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ExecutionDetails.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ExecutionDetails.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ExecutionImpl.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ExecutionImpl.java index 8e420cc16c..8e420cc16c 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ExecutionImpl.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ExecutionImpl.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Input.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Input.java index 595dfb1245..595dfb1245 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Input.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Input.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/InputImpl.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/InputImpl.java index 3002b7b54e..3002b7b54e 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/InputImpl.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/InputImpl.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/NodeTemplate.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/NodeTemplate.java index bc46d7f5b2..bc46d7f5b2 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/NodeTemplate.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/NodeTemplate.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/NodeTemplateImpl.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/NodeTemplateImpl.java index 43338c952d..43338c952d 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/NodeTemplateImpl.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/NodeTemplateImpl.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Output.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Output.java index 83363bad6c..83363bad6c 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Output.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Output.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/OutputImpl.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/OutputImpl.java index 0a6cecc9c1..0a6cecc9c1 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/OutputImpl.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/OutputImpl.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Service.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Service.java index 9cf86ec73f..9cf86ec73f 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Service.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Service.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceImpl.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceImpl.java new file mode 100644 index 0000000000..456335cedc --- /dev/null +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceImpl.java @@ -0,0 +1,58 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2017 Cloudify.co. 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 com.gigaspaces.aria.rest.client; + +import java.net.URI; +import java.util.Date; + +/** + * + * + * Created by DeWayne on 7/17/2017. + */ +public class ServiceImpl implements Service { + private int id; + private String description, name, template; + private Date created, updated; + + public int getId(){ + return id; + } + + public String getDescription(){ + return description; + } + + public String getName(){ + return name; + } + + public String getServiceTemplate(){ + return template; + } + + public Date getCreated(){ + return created; + } + + public Date getUpdated(){ + return updated; + } + + +} diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceTemplate.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceTemplate.java index 0df6d60905..a2ca8cf662 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceTemplate.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceTemplate.java @@ -1,31 +1,32 @@ -/*
- * ============LICENSE_START===================================================
- * Copyright (c) 2017 Cloudify.co. 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 com.gigaspaces.aria.rest.client;
-
-import java.net.URI;
-
-/**
- * Created by DeWayne on 7/12/2017.
- */
-public interface ServiceTemplate {
- String getName();
- URI getURI();
- int getId();
- String getFilename();
- String getDescription();
-}
+/* + * ============LICENSE_START=================================================== + * Copyright (c) 2017 Cloudify.co. 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 com.gigaspaces.aria.rest.client; + +import java.net.URI; + +/** + * Created by DeWayne on 7/12/2017. + */ +public interface ServiceTemplate { + String getName(); + URI getURI(); + int getId(); + String getFilename(); + String getDescription(); + byte[] getCSARBytes(); +} diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceTemplateImpl.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceTemplateImpl.java index 9e158a27fd..562fcb232e 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceTemplateImpl.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ServiceTemplateImpl.java @@ -31,6 +31,7 @@ public class ServiceTemplateImpl implements ServiceTemplate { private URI uri; private String filename = DEFAULT_TEMPLATE_NAME; private String description; + private byte[] csar_blob; // for opaque binary public ServiceTemplateImpl(){} @@ -40,7 +41,15 @@ public class ServiceTemplateImpl implements ServiceTemplate { } /** - * Construct an instance + * Construct service template from CSAR byte array + */ + public ServiceTemplateImpl(String name, byte[] csar){ + this.csar_blob = csar; + this.name = name; + } + + /** + * Construct an instance based on CSAR * @param name a textual name for the template * @param uri a URI to a CSAR * @param filename the filename in the CSAR representing main yaml template @@ -51,7 +60,7 @@ public class ServiceTemplateImpl implements ServiceTemplate { this.filename=filename; this.description=description; } - + public int getId(){ return id; } @@ -76,6 +85,9 @@ public class ServiceTemplateImpl implements ServiceTemplate { public void setFilename(String filename){ this.filename=filename; } + public byte[] getCSARBytes() { + return csar_blob; + } public String getDescription(){ return description;} } diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ValidationResult.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ValidationResult.java index 3d40dfa1ec..3d40dfa1ec 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ValidationResult.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ValidationResult.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ValidationResultImpl.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ValidationResultImpl.java index 22e34eb7b3..22e34eb7b3 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ValidationResultImpl.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/ValidationResultImpl.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Workflow.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Workflow.java index 7dbab18943..7dbab18943 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Workflow.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/Workflow.java diff --git a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/WorkflowImpl.java b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/WorkflowImpl.java index 41105df26a..41105df26a 100755..100644 --- a/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/WorkflowImpl.java +++ b/aria/aria-rest-java-client/src/main/java/com/gigaspaces/aria/rest/client/WorkflowImpl.java diff --git a/aria/pom.xml b/aria/pom.xml new file mode 100644 index 0000000000..a754d78ed1 --- /dev/null +++ b/aria/pom.xml @@ -0,0 +1,21 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.onap.so</groupId> + <artifactId>so</artifactId> + <version>1.2.0-SNAPSHOT</version> + </parent> + + <groupId>org.onap.so</groupId> + <artifactId>aria</artifactId> + <name>ARIA related artifacts</name> + <description>ARIA related artifacts</description> + <packaging>pom</packaging> + + <modules> + <module>aria-rest-java-client</module> + <module>aria-rest-server</module> + <!-- <module>multivim-plugin</module> --> + </modules> +</project> diff --git a/asdc-controller/pom.xml b/asdc-controller/pom.xml index 5836e4cf7e..c3add03408 100644 --- a/asdc-controller/pom.xml +++ b/asdc-controller/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>so</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>asdc-controller</artifactId> <name>asdc-controller</name> <description>ASDC CLient and Controller</description> @@ -47,7 +47,7 @@ <scope>test</scope> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-catalog-db</artifactId> <version>${project.version}</version> </dependency> @@ -124,7 +124,7 @@ </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>common</artifactId> <version>${project.version}</version> </dependency> @@ -142,7 +142,7 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency> diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCGlobalController.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCGlobalController.java index c0056e0573..251888e9e2 100644 --- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCGlobalController.java +++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCGlobalController.java @@ -49,7 +49,7 @@ public class ASDCGlobalController { List<String> controllerNames = ASDCConfiguration.getAllDefinedControllers(); - StringBuffer controllerListLog = new StringBuffer("List of controllers loaded:"); + StringBuilder controllerListLog = new StringBuilder("List of controllers loaded:"); for (String controllerName : controllerNames) { controllers.put(controllerName, new ASDCController(controllerName)); controllerListLog.append(controllerName); diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ASDCElementInfo.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ASDCElementInfo.java index 3c262c6c90..29144a9884 100644 --- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ASDCElementInfo.java +++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ASDCElementInfo.java @@ -109,7 +109,7 @@ public class ASDCElementInfo { */ @Override public final String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); List<String> aggregatedElements = new ArrayList<>(); for (Entry<String, String> entry : this.getElementInfoMap().entrySet()) { aggregatedElements.add(entry.getKey() + ": " + entry.getValue()); diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/BigDecimalVersion.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/BigDecimalVersion.java index 5547bb1189..c2faf1c0e8 100644 --- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/BigDecimalVersion.java +++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/BigDecimalVersion.java @@ -34,7 +34,7 @@ public class BigDecimalVersion { public static BigDecimal castAndCheckNotificationVersion(String version) { // Truncate the version if bad type String[] splitVersion = version.split("\\."); - StringBuffer newVersion = new StringBuffer(); + StringBuilder newVersion = new StringBuilder(); if (splitVersion.length > 1) { newVersion.append(splitVersion[0]); newVersion.append("."); diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleStructure.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleStructure.java index f6ac480c93..be86574137 100644 --- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleStructure.java +++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleStructure.java @@ -79,13 +79,9 @@ public final class VfModuleStructure { artifactsList.addAll(artifactsMap.get(ASDCConfiguration.HEAT_ENV)); artifactsList.addAll(artifactsMap.get(ASDCConfiguration.HEAT_VOL)); - for (VfModuleArtifact artifact:(artifactsMap.get(ASDCConfiguration.HEAT_NESTED))) { - artifactsList.add(artifact); - } + artifactsList.addAll((artifactsMap.get(ASDCConfiguration.HEAT_NESTED))); - for (VfModuleArtifact artifact:(artifactsMap.get(ASDCConfiguration.HEAT_ARTIFACT))) { - artifactsList.add(artifact); - } + artifactsList.addAll((artifactsMap.get(ASDCConfiguration.HEAT_ARTIFACT))); artifactsList.addAll(artifactsMap.get(ASDCConfiguration.HEAT_VOL)); diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java index b998be9a69..f22debce1e 100644 --- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java +++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java @@ -636,7 +636,7 @@ public class ToscaResourceInstaller {// implements IVfResourceInstaller { return body;
}
- StringBuffer sb = new StringBuffer(body.length());
+ StringBuilder sb = new StringBuilder(body.length());
int currentIndex = 0;
int startIndex = 0;
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/VfResourceInstaller.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/VfResourceInstaller.java index bd20eb0bf1..0ae58dad41 100644 --- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/VfResourceInstaller.java +++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/VfResourceInstaller.java @@ -631,7 +631,7 @@ public class VfResourceInstaller implements IVfResourceInstaller { return body; } - StringBuffer sb = new StringBuffer(body.length()); + StringBuilder sb = new StringBuilder(body.length()); int currentIndex = 0; int startIndex = 0; diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ASDCNotificationLogging.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ASDCNotificationLogging.java index 28f5dbdee5..2080be137c 100644 --- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ASDCNotificationLogging.java +++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ASDCNotificationLogging.java @@ -42,7 +42,7 @@ public class ASDCNotificationLogging { if (asdcNotification == null) { return "NULL"; } - StringBuffer buffer = new StringBuffer("ASDC Notification:"); + StringBuilder buffer = new StringBuilder("ASDC Notification:"); buffer.append(System.lineSeparator()); buffer.append("DistributionID:"); @@ -96,7 +96,7 @@ public class ASDCNotificationLogging { } - StringBuffer buffer = new StringBuffer("CSAR Notification:"); + StringBuilder buffer = new StringBuilder("CSAR Notification:"); buffer.append(System.lineSeparator()); buffer.append(System.lineSeparator()); @@ -286,7 +286,7 @@ public class ASDCNotificationLogging { return null; } - StringBuffer buffer = new StringBuffer("VfModuleMetaData List:"); + StringBuilder buffer = new StringBuilder("VfModuleMetaData List:"); buffer.append(System.lineSeparator()); buffer.append("{"); @@ -311,71 +311,71 @@ public class ASDCNotificationLogging { return "NULL"; } - StringBuffer buffer = new StringBuffer("VfModuleMetaData:"); - buffer.append(System.lineSeparator()); + StringBuilder stringBuilder = new StringBuilder("VfModuleMetaData:"); + stringBuilder.append(System.lineSeparator()); - buffer.append("VfModuleModelName:"); - buffer.append(testNull(moduleMetaData.getVfModuleModelName())); - buffer.append(System.lineSeparator()); + stringBuilder.append("VfModuleModelName:"); + stringBuilder.append(testNull(moduleMetaData.getVfModuleModelName())); + stringBuilder.append(System.lineSeparator()); - buffer.append("VfModuleModelVersion:"); - buffer.append(testNull(moduleMetaData.getVfModuleModelVersion())); - buffer.append(System.lineSeparator()); + stringBuilder.append("VfModuleModelVersion:"); + stringBuilder.append(testNull(moduleMetaData.getVfModuleModelVersion())); + stringBuilder.append(System.lineSeparator()); - buffer.append("VfModuleModelUUID:"); - buffer.append(testNull(moduleMetaData.getVfModuleModelUUID())); - buffer.append(System.lineSeparator()); + stringBuilder.append("VfModuleModelUUID:"); + stringBuilder.append(testNull(moduleMetaData.getVfModuleModelUUID())); + stringBuilder.append(System.lineSeparator()); - buffer.append("VfModuleModelInvariantUUID:"); - buffer.append(testNull(moduleMetaData.getVfModuleModelInvariantUUID())); - buffer.append(System.lineSeparator()); + stringBuilder.append("VfModuleModelInvariantUUID:"); + stringBuilder.append(testNull(moduleMetaData.getVfModuleModelInvariantUUID())); + stringBuilder.append(System.lineSeparator()); - buffer.append("VfModuleModelDescription:"); - buffer.append(testNull(moduleMetaData.getVfModuleModelDescription())); - buffer.append(System.lineSeparator()); + stringBuilder.append("VfModuleModelDescription:"); + stringBuilder.append(testNull(moduleMetaData.getVfModuleModelDescription())); + stringBuilder.append(System.lineSeparator()); - buffer.append("Artifacts UUID List:"); + stringBuilder.append("Artifacts UUID List:"); if (moduleMetaData.getArtifacts() != null) { - buffer.append("{"); + stringBuilder.append("{"); for (String artifactUUID:moduleMetaData.getArtifacts()) { - buffer.append(System.lineSeparator()); - buffer.append(testNull(artifactUUID)); - buffer.append(System.lineSeparator()); - buffer.append(","); + stringBuilder.append(System.lineSeparator()); + stringBuilder.append(testNull(artifactUUID)); + stringBuilder.append(System.lineSeparator()); + stringBuilder.append(","); } - buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator()); - buffer.append("}"); - buffer.append(System.lineSeparator()); + stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator()); + stringBuilder.append("}"); + stringBuilder.append(System.lineSeparator()); } else { - buffer.append("NULL"); + stringBuilder.append("NULL"); } if (moduleMetaData.getProperties() != null) { Map<String, String> vfModuleMap = moduleMetaData.getProperties(); - buffer.append("Properties List:"); - buffer.append("{"); + stringBuilder.append("Properties List:"); + stringBuilder.append("{"); for (Map.Entry<String, String> entry : vfModuleMap.entrySet()) { - buffer.append(System.lineSeparator()); - buffer.append(" " + entry.getKey() + " : " + entry.getValue()); + stringBuilder.append(System.lineSeparator()); + stringBuilder.append(" ").append(entry.getKey()).append(" : ").append(entry.getValue()); } - buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator()); - buffer.append("}"); - buffer.append(System.lineSeparator()); + stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator()); + stringBuilder.append("}"); + stringBuilder.append(System.lineSeparator()); } else { - buffer.append("NULL"); + stringBuilder.append("NULL"); } - buffer.append(System.lineSeparator()); + stringBuilder.append(System.lineSeparator()); - buffer.append("isBase:"); - buffer.append(moduleMetaData.isBase()); - buffer.append(System.lineSeparator()); + stringBuilder.append("isBase:"); + stringBuilder.append(moduleMetaData.isBase()); + stringBuilder.append(System.lineSeparator()); - return buffer.toString(); + return stringBuilder.toString(); } private static String testNull(Object object) { @@ -395,7 +395,7 @@ public class ASDCNotificationLogging { return null; } - StringBuffer buffer = new StringBuffer(); + StringBuilder buffer = new StringBuilder(); buffer.append("{"); for (IResourceInstance resourceInstanceElem:asdcNotification.getResources()) { @@ -418,7 +418,7 @@ public class ASDCNotificationLogging { return null; } - StringBuffer buffer = new StringBuffer("Resource Instance Info:"); + StringBuilder buffer = new StringBuilder("Resource Instance Info:"); buffer.append(System.lineSeparator()); buffer.append("ResourceInstanceName:"); @@ -473,7 +473,7 @@ public class ASDCNotificationLogging { return null; } - StringBuffer buffer = new StringBuffer(); + StringBuilder buffer = new StringBuilder(); buffer.append("{"); for (IArtifactInfo artifactInfoElem:artifactsList) { buffer.append(System.lineSeparator()); @@ -495,7 +495,7 @@ public class ASDCNotificationLogging { return null; } - StringBuffer buffer = new StringBuffer("Service Artifacts Info:"); + StringBuilder buffer = new StringBuilder("Service Artifacts Info:"); buffer.append(System.lineSeparator()); buffer.append("ArtifactName:"); diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java index 9b38a50daf..126114d2d6 100644 --- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java +++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java @@ -82,7 +82,7 @@ public class NotificationLogging implements InvocationHandler { return "EMPTY"; // No declared methods in this class !!! } - StringBuffer buffer = new StringBuffer("ASDC Notification:"); + StringBuilder buffer = new StringBuilder("ASDC Notification:"); buffer.append(System.lineSeparator()); for (Method m : declaredMethods) { diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/YamlEditor.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/YamlEditor.java index f94e0a153b..a90fdeb8e6 100644 --- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/YamlEditor.java +++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/YamlEditor.java @@ -82,12 +82,10 @@ public class YamlEditor { @SuppressWarnings("unchecked") Map <String, Object> resourceMap = (Map <String, Object>) yml.get ("resources"); - Iterator <Entry <String, Object>> it = resourceMap.entrySet ().iterator (); - while (it.hasNext ()) { - Map.Entry <String, Object> pair = it.next (); + for (Entry<String, Object> pair : resourceMap.entrySet()) { @SuppressWarnings("unchecked") - Map <String, String> resourceEntry = (Map <String, String>) pair.getValue (); - typeList.add (resourceEntry.get ("type")); + Map<String, String> resourceEntry = (Map<String, String>) pair.getValue(); + typeList.add(resourceEntry.get("type")); } return typeList; } @@ -100,28 +98,27 @@ public class YamlEditor { Set <HeatTemplateParam> paramSet = new HashSet <HeatTemplateParam> (); @SuppressWarnings("unchecked") Map <String, Object> resourceMap = (Map <String, Object>) yml.get ("parameters"); - Iterator <Entry <String, Object>> it = resourceMap.entrySet ().iterator (); - while (it.hasNext ()) { - HeatTemplateParam param = new HeatTemplateParam (); - Map.Entry <String, Object> pair = it.next (); + for (Entry<String, Object> stringObjectEntry : resourceMap.entrySet()) { + HeatTemplateParam param = new HeatTemplateParam(); + Entry<String, Object> pair = stringObjectEntry; @SuppressWarnings("unchecked") - Map <String, String> resourceEntry = (Map <String, String>) pair.getValue (); - - param.setParamName (pair.getKey ()); + Map<String, String> resourceEntry = (Map<String, String>) pair.getValue(); + + param.setParamName(pair.getKey()); // System.out.println(pair.getKey()+":"+type); if (resourceEntry.containsKey("default")) { - param.setRequired (false); + param.setRequired(false); } else { - param.setRequired (true); + param.setRequired(true); } // Now set the type - String value = resourceEntry.get ("type"); - param.setParamType (value); - + String value = resourceEntry.get("type"); + param.setParamType(value); + param.setHeatTemplateArtifactUuid(artifactUUID); - paramSet.add (param); + paramSet.add(param); } return paramSet; diff --git a/bpmn/MSOCockpit/pom.xml b/bpmn/MSOCockpit/pom.xml index 7557f5e8ce..e64f68bad0 100644 --- a/bpmn/MSOCockpit/pom.xml +++ b/bpmn/MSOCockpit/pom.xml @@ -1,13 +1,13 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>bpmn</artifactId>
<version>1.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>MSOCockpit</artifactId>
<packaging>pom</packaging>
<name>MSOCockpit</name>
@@ -47,17 +47,17 @@ </dependency>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
</dependency>
<!--<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>cockpit-urnmap-plugin</artifactId>
<version>${project.version}</version>
</dependency> -->
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>MSOCoreBPMN</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/bpmn/MSOCommonBPMN/pom.xml b/bpmn/MSOCommonBPMN/pom.xml index 4a7cb5900a..71626f52b3 100644 --- a/bpmn/MSOCommonBPMN/pom.xml +++ b/bpmn/MSOCommonBPMN/pom.xml @@ -4,7 +4,7 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>bpmn</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> @@ -264,20 +264,20 @@ <version>3.4</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>MSOCoreBPMN</artifactId> <version>${project.version}</version> </dependency> <dependency> <!-- unit test utilities --> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>MSOCoreBPMN</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <scope>test</scope> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>common</artifactId> <version>${project.version}</version> </dependency> @@ -287,7 +287,7 @@ <version>2.0</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>MSORESTClient</artifactId> <version>${project.version}</version> </dependency> @@ -501,5 +501,16 @@ <artifactId>guava</artifactId> <version>22.0</version> </dependency> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <version>3.9.0</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>pl.pragmatists</groupId> + <artifactId>JUnitParams</artifactId> + <version>1.1.1</version> + </dependency> </dependencies> </project> diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/CatalogDbUtils.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/CatalogDbUtils.groovy index 50e761eb77..dd6e56acc7 100644 --- a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/CatalogDbUtils.groovy +++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/CatalogDbUtils.groovy @@ -694,6 +694,49 @@ class CatalogDbUtils { return vnfsList
}
+ public JSONObject getServiceResourcesByServiceModelUuid(Execution execution, String serviceModelUuid) {
+ JSONObject resources = null
+ String endPoint = "/serviceResources?serviceModelUuid=" + UriUtils.encode(serviceModelUuid, "UTF-8")
+ try {
+ String catalogDbResponse = getResponseFromCatalogDb(execution, endPoint)
+
+ if (catalogDbResponse != null) {
+
+ resources = parseServiceResourcesJson(catalogDbResponse, "v1")
+ }
+
+ }
+ catch (Exception e) {
+ utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
+ }
+
+ return resources
+ }
+
+ public JSONObject getServiceResourcesByServiceModelUuid(Execution execution, String serviceModelUuid, String catalogUtilsVersion) {
+ JSONObject resources = null
+ String endPoint = "/serviceResources?serviceModelUuid=" + UriUtils.encode(serviceModelUuid, "UTF-8")
+ try {
+ String catalogDbResponse = getResponseFromCatalogDb(execution, endPoint)
+
+ if (catalogDbResponse != null) {
+ if (!catalogUtilsVersion.equals("v1")) {
+ resources = new JSONObject(catalogDbResponse)
+ }
+ else {
+ resources = parseServiceResourcesJson(catalogDbResponse, catalogUtilsVersion)
+ }
+ }
+
+ }
+ catch (Exception e) {
+ utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
+ }
+
+ return resources
+ }
+
+
public JSONObject getServiceResourcesByServiceModelInvariantUuid(Execution execution, String serviceModelInvariantUuid) {
JSONObject resources = null
String endPoint = "/serviceResources?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8")
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/DecomposeService.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/DecomposeService.groovy index 2645ea3c02..8d855e9311 100644 --- a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/DecomposeService.groovy +++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/DecomposeService.groovy @@ -77,6 +77,7 @@ public class DecomposeService extends AbstractServiceTaskProcessor { String serviceInstanceId = execution.getVariable("serviceInstanceId") String serviceModelInfo = execution.getVariable("serviceModelInfo") execution.setVariable("DDS_serviceModelInvariantId", jsonUtils.getJsonValue(serviceModelInfo, "modelInvariantUuid")) + execution.setVariable("DDS_serviceModelUuid", jsonUtils.getJsonValue(serviceModelInfo, "modelUuid")) execution.setVariable("DDS_modelVersion", jsonUtils.getJsonValue(serviceModelInfo, "modelVersion")) } catch (BpmnError e) { throw e; @@ -97,14 +98,16 @@ public class DecomposeService extends AbstractServiceTaskProcessor { // check for input String serviceModelInvariantId = execution.getVariable("DDS_serviceModelInvariantId") + String serviceModelUuid = execution.getVariable("DDS_serviceModelUuid") String modelVersion = execution.getVariable("DDS_modelVersion") utils.log("DEBUG", "serviceModelInvariantId: " + serviceModelInvariantId, isDebugEnabled) utils.log("DEBUG", "modelVersion: " + modelVersion, isDebugEnabled) JSONObject catalogDbResponse = null - - if (modelVersion != null && modelVersion.length() > 0) + if(serviceModelUuid != null && serviceModelUuid.length() > 0) + catalogDbResponse = catalogDbUtils.getServiceResourcesByServiceModelUuid(execution, serviceModelUuid, "v2") + else if (modelVersion != null && modelVersion.length() > 0) catalogDbResponse = catalogDbUtils.getServiceResourcesByServiceModelInvariantUuidAndServiceModelVersion(execution, serviceModelInvariantId, modelVersion, "v2") else catalogDbResponse = catalogDbUtils.getServiceResourcesByServiceModelInvariantUuid(execution, serviceModelInvariantId, "v2") diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/adapter/vnf/MsoRequest.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/adapter/vnf/MsoRequest.java index c3912b48bc..8a9cb955b0 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/adapter/vnf/MsoRequest.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/adapter/vnf/MsoRequest.java @@ -106,9 +106,9 @@ public class MsoRequest { @Override public String toString() { StringBuilder request = new StringBuilder(); - request.append("<requestId>"+requestId+"</requestId>"); + request.append("<requestId>").append(requestId).append("</requestId>"); request.append('\n'); - request.append("<serviceInstanceId>"+serviceInstanceId+"</serviceInstanceId>"); + request.append("<serviceInstanceId>").append(serviceInstanceId).append("</serviceInstanceId>"); return request.toString(); } diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/adapter/vnf/ObjectFactory.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/adapter/vnf/ObjectFactory.java index 952e3e2f95..c22fd286cf 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/adapter/vnf/ObjectFactory.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/adapter/vnf/ObjectFactory.java @@ -166,7 +166,7 @@ public class ObjectFactory { */ @XmlElementDecl(namespace = "http://org.openecomp.mso/vnfNotify", name = "rollbackVnfNotification") public JAXBElement<RollbackVnfNotification> createRollbackVnfNotification(RollbackVnfNotification value) { - return new JAXBElement<RollbackVnfNotification>(_RollbackVnfNotification_QNAME, RollbackVnfNotification.class, null, value); + return new JAXBElement<>(_RollbackVnfNotification_QNAME, RollbackVnfNotification.class, null, value); } /** @@ -175,7 +175,7 @@ public class ObjectFactory { */ @XmlElementDecl(namespace = "http://org.openecomp.mso/vnfNotify", name = "deleteVnfNotification") public JAXBElement<DeleteVnfNotification> createDeleteVnfNotification(DeleteVnfNotification value) { - return new JAXBElement<DeleteVnfNotification>(_DeleteVnfNotification_QNAME, DeleteVnfNotification.class, null, value); + return new JAXBElement<>(_DeleteVnfNotification_QNAME, DeleteVnfNotification.class, null, value); } /** @@ -184,7 +184,7 @@ public class ObjectFactory { */ @XmlElementDecl(namespace = "http://org.openecomp.mso/vnfNotify", name = "createVnfNotification") public JAXBElement<CreateVnfNotification> createCreateVnfNotification(CreateVnfNotification value) { - return new JAXBElement<CreateVnfNotification>(_CreateVnfNotification_QNAME, CreateVnfNotification.class, null, value); + return new JAXBElement<>(_CreateVnfNotification_QNAME, CreateVnfNotification.class, null, value); } /** @@ -193,7 +193,7 @@ public class ObjectFactory { */ @XmlElementDecl(namespace = "http://org.openecomp.mso/vnfNotify", name = "updateVnfNotification") public JAXBElement<UpdateVnfNotification> createUpdateVnfNotification(UpdateVnfNotification value) { - return new JAXBElement<UpdateVnfNotification>(_UpdateVnfNotification_QNAME, UpdateVnfNotification.class, null, value); + return new JAXBElement<>(_UpdateVnfNotification_QNAME, UpdateVnfNotification.class, null, value); } /** @@ -202,7 +202,7 @@ public class ObjectFactory { */ @XmlElementDecl(namespace = "http://org.openecomp.mso/vnfNotify", name = "queryVnfNotification") public JAXBElement<QueryVnfNotification> createQueryVnfNotification(QueryVnfNotification value) { - return new JAXBElement<QueryVnfNotification>(_QueryVnfNotification_QNAME, QueryVnfNotification.class, null, value); + return new JAXBElement<>(_QueryVnfNotification_QNAME, QueryVnfNotification.class, null, value); } } diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/recipe/BpmnParam.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/recipe/BpmnParam.java new file mode 100644 index 0000000000..f4ebd0615a --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/recipe/BpmnParam.java @@ -0,0 +1,54 @@ +/*- + * ============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.common.recipe; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The bpmn workflow input param object + */ +public class BpmnParam { + + @JsonProperty("value") + private String value; + @JsonProperty("type") + private String type = "String"; + + + public BpmnParam() { + /* Empty constructor */ + } + + @JsonProperty("value") + public String getValue() { + return value; + } + + @JsonProperty("type") + public void setValue(String value) { + this.value = value; + } + + @Override + public String toString() { + return "CamundaInput [value=" + value + ", type=" + type + "]"; + } + +} diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/recipe/BpmnRestClient.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/recipe/BpmnRestClient.java new file mode 100644 index 0000000000..446de10ee2 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/recipe/BpmnRestClient.java @@ -0,0 +1,219 @@ +/*-
+ * ============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.common.recipe;
+
+import java.io.IOException;
+import java.security.GeneralSecurityException;
+
+import javax.xml.bind.DatatypeConverter;
+
+import org.apache.http.HttpResponse;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.openecomp.mso.logger.MessageEnum;
+import org.openecomp.mso.logger.MsoLogger;
+import org.openecomp.mso.properties.MsoJavaProperties;
+import org.openecomp.mso.properties.MsoPropertiesFactory;
+import org.openecomp.mso.utils.CryptoUtils;
+
+/**
+ * Support to call resource recipes from the BPMN workflow.
+ * Such as call resource recipe in service workflow.
+ * <br>
+ * <p>
+ * </p>
+ *
+ * @author
+ * @version ONAP Beijing Release 2018-02-27
+ */
+public class BpmnRestClient {
+
+ public static final String DEFAULT_BPEL_AUTH = "admin:admin";
+
+ public static final String ENCRYPTION_KEY = "aa3871669d893c7fb8abbcda31b88b4f";
+
+ public static final String CONTENT_TYPE_JSON = "application/json";
+
+ public static final String CAMUNDA_AUTH = "camundaAuth";
+
+ private final static String MSO_PROP_APIHANDLER_INFRA = "MSO_PROP_APIHANDLER_INFRA";
+
+ private static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
+
+ private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
+
+ private static boolean noProperties = true;
+
+ public synchronized static MsoJavaProperties loadMsoProperties() {
+ MsoJavaProperties msoProperties;
+ try {
+ msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_PROP_APIHANDLER_INFRA);
+ } catch(Exception e) {
+ msoLogger.error(MessageEnum.APIH_LOAD_PROPERTIES_FAIL, MSO_PROP_APIHANDLER_INFRA, "", "", MsoLogger.ErrorCode.DataError,
+ "Exception when loading MSO Properties", e);
+ return null;
+ }
+
+ if(msoProperties != null && msoProperties.size() > 0) {
+ noProperties = false;
+ msoLogger.info(MessageEnum.APIH_PROPERTY_LOAD_SUC, "", "");
+ return msoProperties;
+ } else {
+ msoLogger.error(MessageEnum.APIH_NO_PROPERTIES, MSO_PROP_APIHANDLER_INFRA, "", "", MsoLogger.ErrorCode.DataError,
+ "No MSO APIH_INFRA Properties found");
+ return null;
+ }
+ }
+
+ public synchronized static final boolean getNoPropertiesState() {
+ return noProperties;
+ }
+
+ /**
+ * post the recipe Uri
+ * <br>
+ *
+ * @param recipeUri The request recipe uri
+ * @param requestId the request id
+ * @param recipeTimeout The recipe time out
+ * @param requestAction The request action
+ * @param serviceInstanceId The service instance id
+ * @param serviceType The service Type
+ * @param requestDetails The request Details, these information is from runtime
+ * @param recipeParamXsd The recipe params, its from recipe design
+ * @return The response of the recipe.
+ * @throws ClientProtocolException
+ * @throws IOException
+ * @since ONAP Beijing Release
+ */
+ public static HttpResponse post(String recipeUri, String requestId, int recipeTimeout, String requestAction, String serviceInstanceId, String serviceType,
+ String requestDetails, String recipeParamXsd) throws ClientProtocolException, IOException {
+
+ HttpClient client = HttpClientBuilder.create().build();
+
+ HttpPost post = new HttpPost(recipeUri);
+ MsoJavaProperties props = loadMsoProperties();
+ RequestConfig requestConfig =
+ RequestConfig.custom().setSocketTimeout(recipeTimeout).setConnectTimeout(recipeTimeout).setConnectionRequestTimeout(recipeTimeout).build();
+ post.setConfig(requestConfig);
+ msoLogger.debug("call the bpmn, url:" + recipeUri);
+ String jsonReq = wrapResourceRequest(requestId, recipeTimeout, requestAction, serviceInstanceId, serviceType, requestDetails, recipeParamXsd);
+
+ StringEntity input = new StringEntity(jsonReq);
+ input.setContentType(CONTENT_TYPE_JSON);
+ String encryptedCredentials;
+ if(props != null) {
+ encryptedCredentials = props.getProperty(CAMUNDA_AUTH, null);
+ if(encryptedCredentials != null) {
+ String userCredentials = getEncryptedPropValue(encryptedCredentials, DEFAULT_BPEL_AUTH, ENCRYPTION_KEY);
+ if(userCredentials != null) {
+ post.addHeader("Authorization", "Basic " + new String(DatatypeConverter.printBase64Binary(userCredentials.getBytes())));
+ }
+ }
+ }
+ post.setEntity(input);
+ return client.execute(post);
+ }
+
+ /**
+ * prepare the resource recipe bpmn request.
+ * <br>
+ *
+ * @param requestId
+ * @param recipeTimeout
+ * @param requestAction
+ * @param serviceInstanceId
+ * @param serviceType
+ * @param requestDetails
+ * @param recipeParams
+ * @return
+ * @since ONAP Beijing Release
+ */
+ private static String wrapResourceRequest(String requestId, int recipeTimeout, String requestAction, String serviceInstanceId, String serviceType,
+ String requestDetails, String recipeParams) {
+ String jsonReq = null;
+ if(requestId == null) {
+ requestId = "";
+ }
+ if(requestAction == null) {
+ requestAction = "";
+ }
+ if(serviceInstanceId == null) {
+ serviceInstanceId = "";
+ }
+
+ if(requestDetails == null) {
+ requestDetails = "";
+ }
+
+ try {
+ ResourceRecipeRequest recipeRequest = new ResourceRecipeRequest();
+ BpmnParam resourceInput = new BpmnParam();
+ BpmnParam host = new BpmnParam();
+ BpmnParam requestIdInput = new BpmnParam();
+ BpmnParam requestActionInput = new BpmnParam();
+ BpmnParam serviceInstanceIdInput = new BpmnParam();
+ BpmnParam serviceTypeInput = new BpmnParam();
+ BpmnParam recipeParamsInput = new BpmnParam();
+ // host.setValue(parseURL());
+ requestIdInput.setValue(requestId);
+ requestActionInput.setValue(requestAction);
+ serviceInstanceIdInput.setValue(serviceInstanceId);
+ recipeParamsInput.setValue(recipeParams);
+ resourceInput.setValue(requestDetails);
+ recipeRequest.setHost(host);
+ recipeRequest.setRequestId(requestIdInput);
+ recipeRequest.setRequestAction(requestActionInput);
+ recipeRequest.setServiceInstanceId(serviceInstanceIdInput);
+ recipeRequest.setServiceType(serviceTypeInput);
+ recipeRequest.setRecipeParams(recipeParamsInput);
+ jsonReq = recipeRequest.toString();
+ msoLogger.debug("request body is " + jsonReq);
+ } catch(Exception e) {
+ msoLogger.error(MessageEnum.APIH_WARP_REQUEST, "Camunda", "wrapVIDRequest", MsoLogger.ErrorCode.BusinessProcesssError, "Error in APIH Warp request",
+ e);
+ }
+ return jsonReq;
+ }
+
+ /**
+ * <br>
+ *
+ * @param prop
+ * @param defaultValue
+ * @param encryptionKey
+ * @return
+ * @since ONAP Beijing Release
+ */
+ protected static String getEncryptedPropValue(String prop, String defaultValue, String encryptionKey) {
+ try {
+ return CryptoUtils.decrypt(prop, encryptionKey);
+ } catch(GeneralSecurityException e) {
+ msoLogger.debug("Security exception", e);
+ }
+ return defaultValue;
+ }
+
+}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/recipe/ResourceRecipeRequest.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/recipe/ResourceRecipeRequest.java new file mode 100644 index 0000000000..5bf5a02a38 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/recipe/ResourceRecipeRequest.java @@ -0,0 +1,143 @@ +/*- + * ============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.common.recipe; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonRootName; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; + +/** + * java object of the resource recipe , it + * will be passed to the Camunda process + */ +@JsonPropertyOrder({"resourceInput", "host", "requestId", "requestAction", "serviceInstanceId", "serviceType", "recipeParams"}) +@JsonRootName("variables") +public class ResourceRecipeRequest { + + @JsonProperty("resourceInput") + private BpmnParam resourceInput; + + @JsonProperty("host") + private BpmnParam host; + + @JsonProperty("requestId") + private BpmnParam requestId; + + @JsonProperty("requestAction") + private BpmnParam requestAction; + + @JsonProperty("serviceInstanceId") + private BpmnParam serviceInstanceId; + + @JsonProperty("serviceType") + private BpmnParam serviceType; + + @JsonProperty("recipeParams") + private BpmnParam recipeParams; + + @JsonProperty("resourceInput") + public BpmnParam getResourceInput() { + return resourceInput; + } + + @JsonProperty("resourceInput") + public void setResourceInput(BpmnParam resourceInput) { + this.resourceInput = resourceInput; + } + + @JsonProperty("host") + public BpmnParam getHost() { + return host; + } + + @JsonProperty("host") + public void setHost(BpmnParam host) { + this.host = host; + } + + @JsonProperty("requestId") + public BpmnParam getRequestId() { + return requestId; + } + + @JsonProperty("requestId") + public void setRequestId(BpmnParam requestId) { + this.requestId = requestId; + } + + @JsonProperty("requestAction") + public BpmnParam getRequestAction() { + return requestAction; + } + + @JsonProperty("requestAction") + public void setRequestAction(BpmnParam requestAction) { + this.requestAction = requestAction; + } + + @JsonProperty("serviceInstanceId") + public BpmnParam getServiceInstanceId() { + return serviceInstanceId; + } + + @JsonProperty("serviceInstanceId") + public void setServiceInstanceId(BpmnParam serviceInstanceId) { + this.serviceInstanceId = serviceInstanceId; + } + + @JsonProperty("serviceType") + public BpmnParam getServiceType() { + return serviceType; + } + + @JsonProperty("serviceType") + public void setServiceType(BpmnParam serviceType) { + this.serviceType = serviceType; + } + + @JsonProperty("recipeParams") + public BpmnParam getRecipeParams() { + return recipeParams; + } + + @JsonProperty("recipeParams") + public void setRecipeParams(BpmnParam recipeParams) { + this.recipeParams = recipeParams; + } + + @Override + public String toString() { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true); + String jsonStr = "ResourceRecipeRequest"; + try { + jsonStr = mapper.writeValueAsString(this); + } catch(JsonProcessingException e) { + + e.printStackTrace(); + } + return jsonStr; + } + +} diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/util/CryptoUtils.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/util/CryptoUtils.java index 6cc34f7464..5972c76c41 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/util/CryptoUtils.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/util/CryptoUtils.java @@ -75,14 +75,14 @@ public class CryptoUtils { private static String byteArrayToHexString(byte[] b){
- StringBuffer sb = new StringBuffer(b.length * 2);
- for (int i = 0; i < b.length; i++){
- int v = b[i] & 0xff;
+ StringBuilder sb = new StringBuilder(b.length * 2);
+ for (byte aB : b) {
+ int v = aB & 0xff;
if (v < 16) {
- sb.append('0');
+ sb.append('0');
}
sb.append(Integer.toHexString(v));
- }
+ }
return sb.toString().toUpperCase();
}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/AbstractCallbackService.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/AbstractCallbackService.java index d65311dfe8..daca9fcf3f 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/AbstractCallbackService.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/AbstractCallbackService.java @@ -70,7 +70,7 @@ public abstract class AbstractCallbackService extends ProcessEngineAwareService + (message == null ? "" : System.lineSeparator()) + message);
try {
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
if (injectedVariables != null) {
variables.putAll(injectedVariables);
@@ -192,7 +192,7 @@ public abstract class AbstractCallbackService extends ProcessEngineAwareService int count = waitingProcesses.size();
- List<ExecInfo> execInfoList = new ArrayList<ExecInfo>(count);
+ List<ExecInfo> execInfoList = new ArrayList<>(count);
for (Execution execution : waitingProcesses) {
execInfoList.add(new ExecInfo(execution));
}
@@ -364,4 +364,4 @@ public abstract class AbstractCallbackService extends ProcessEngineAwareService + ":" + execution.getId() + "]";
}
}
-} +}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowMessageResource.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowMessageResource.java index d9aed816c9..4ba35907b9 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowMessageResource.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowMessageResource.java @@ -90,7 +90,7 @@ public class WorkflowMessageResource extends AbstractCallbackService { String correlationValue = correlator;
String contentTypeVariable = messageType + "_CONTENT_TYPE";
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
if (contentType != null) {
variables.put(contentTypeVariable, contentType);
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResource.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResource.java index 76ff221018..dd100a3824 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResource.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResource.java @@ -450,7 +450,7 @@ public class WorkflowResource extends ProcessEngineAwareService { Object responseCodeObject = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
String responseCode = responseCodeObject == null ? null : String.valueOf(responseCodeObject);
msoLogger.debug(LOGMARKER + prefix + "ResponseCode: " + responseCode);
- responseMap = new HashMap<String, Object>();
+ responseMap = new HashMap<>();
responseMap.put("WorkflowResponse", workflowResponse);
responseMap.put("ResponseCode", responseCode);
responseMap.put("Status", "Success");
@@ -467,7 +467,7 @@ public class WorkflowResource extends ProcessEngineAwareService { if(workflowExceptionObject instanceof WorkflowException) {
workflowException = (WorkflowException) workflowExceptionObject;
workflowExceptionText = workflowException.toString();
- responseMap = new HashMap<String, Object>();
+ responseMap = new HashMap<>();
responseMap.put("WorkflowException", workflowExceptionText);
responseMap.put("ResponseCode", workflowException.getErrorCode());
responseMap.put("Status", "Fail");
@@ -477,7 +477,7 @@ public class WorkflowResource extends ProcessEngineAwareService { Object object = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
String responseCode = object == null ? null : String.valueOf(object);
workflowExceptionText = (String) workflowExceptionObject;
- responseMap = new HashMap<String, Object>();
+ responseMap = new HashMap<>();
responseMap.put("WorkflowException", workflowExceptionText);
responseMap.put("ResponseCode", responseCode);
responseMap.put("Status", "Fail");
@@ -496,7 +496,7 @@ public class WorkflowResource extends ProcessEngineAwareService { object = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
String responseCode = object == null ? null : String.valueOf(object);
msoLogger.debug(LOGMARKER + prefix + "ResponseCode: " + responseCode);
- responseMap = new HashMap<String, Object>();
+ responseMap = new HashMap<>();
responseMap.put("Response", response);
responseMap.put("ResponseCode", responseCode);
responseMap.put("Status", "Success");
@@ -511,7 +511,7 @@ public class WorkflowResource extends ProcessEngineAwareService { object = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
String responseCode = object == null ? null : String.valueOf(object);
msoLogger.debug(LOGMARKER + prefix + "ResponseCode: " + responseCode);
- responseMap = new HashMap<String, Object>();
+ responseMap = new HashMap<>();
responseMap.put("Response", errorResponse);
responseMap.put("ResponseCode", responseCode);
responseMap.put("Status", "Fail");
@@ -569,7 +569,7 @@ public class WorkflowResource extends ProcessEngineAwareService { try {
ProcessEngineServices engine = getProcessEngineServices();
List<HistoricVariableInstance> variables = engine.getHistoryService().createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).list();
- Map<String,String> variablesMap = new HashMap<String,String>();
+ Map<String,String> variablesMap = new HashMap<>();
for (HistoricVariableInstance variableInstance: variables) {
variablesMap.put(variableInstance.getName(), variableInstance.getValue().toString());
}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResourceApplication.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResourceApplication.java index 193b8fe903..64e5adc091 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResourceApplication.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResourceApplication.java @@ -28,8 +28,8 @@ import javax.ws.rs.core.Application; @ApplicationPath("/")
public class WorkflowResourceApplication extends Application {
- private Set<Object> singletons = new HashSet<Object>();
- private Set<Class<?>> classes = new HashSet<Class<?>>();
+ private Set<Object> singletons = new HashSet<>();
+ private Set<Class<?>> classes = new HashSet<>();
public WorkflowResourceApplication() {
}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerSupport.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerSupport.java index aa6e1954a1..765bf61c49 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerSupport.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerSupport.java @@ -56,9 +56,9 @@ public class ApplicationControllerSupport { private static final int ERROR_SERIES = 200; private static final int REJECT_SERIES = 300; private static final int SUCCESS_SERIES = 400; - private static final int SUCCESS_STATUS = SUCCESS_SERIES + 0; + private static final int SUCCESS_STATUS = SUCCESS_SERIES; private static final int PARTIAL_SERIES = 500; - private static final int PARTIAL_SUCCESS_STATUS = PARTIAL_SERIES + 0; + private static final int PARTIAL_SUCCESS_STATUS = PARTIAL_SERIES; private static final int PARTIAL_FAILURE_STATUS = PARTIAL_SERIES + 1; @Value("${lcm.model.package:org.openecomp.appc.client.lcm.model}") diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapPropertiesLoader.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapPropertiesLoader.java index a21dbe8477..1bdecbf2a7 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapPropertiesLoader.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapPropertiesLoader.java @@ -39,9 +39,8 @@ public class DmaapPropertiesLoader { } public DmaapProperties getImpl() { - Iterator<DmaapProperties> propertyImpls = services.iterator(); - while (propertyImpls.hasNext()) { - return propertyImpls.next(); + for (DmaapProperties service : services) { + return service; } return null; diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/Body.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/Body.java index cc8ce81dec..26c74b0615 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/Body.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/Body.java @@ -41,7 +41,7 @@ public class Body implements Serializable @JsonProperty("input") private Input input; @JsonIgnore - private Map<String, Object> additionalProperties = new HashMap<String, Object>(); + private Map<String, Object> additionalProperties = new HashMap<>(); private final static long serialVersionUID = 9101706044452851559L; @JsonProperty("input") diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/Input.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/Input.java index 7b9bf6f2c7..579f481ba8 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/Input.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/Input.java @@ -43,7 +43,7 @@ public class Input implements Serializable private RequestHealthDiagnostic RequestHealthDiagnostic; @JsonIgnore - private Map<String, Object> additionalProperties = new HashMap<String, Object>(); + private Map<String, Object> additionalProperties = new HashMap<>(); private final static long serialVersionUID = 7155546785389227528L; @JsonProperty("request-healthdiagnostic") diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/RequestHealthDiagnostic.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/RequestHealthDiagnostic.java index 104dbb7ee6..2cddd0331e 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/RequestHealthDiagnostic.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/RequestHealthDiagnostic.java @@ -59,7 +59,7 @@ public class RequestHealthDiagnostic implements Serializable @JsonProperty("health-diagnostic-code") private String healthDiagnosticCode; @JsonIgnore - private Map<String, Object> additionalProperties = new HashMap<String, Object>(); + private Map<String, Object> additionalProperties = new HashMap<>(); private final static long serialVersionUID = 1166788526178388021L; @JsonProperty("request-client-name") diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/ResultInfo.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/ResultInfo.java index 4d029cb8cb..976f5b9a33 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/ResultInfo.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/ResultInfo.java @@ -51,7 +51,7 @@ private String requestId; @JsonProperty("status") private String status; @JsonIgnore -private Map<String, Object> additionalProperties = new HashMap<String, Object>(); +private Map<String, Object> additionalProperties = new HashMap<>(); @JsonProperty("client-name") public String getClientName() { diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/SDNO.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/SDNO.java index 4edd54ca09..8505ec9a74 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/SDNO.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdno/beans/SDNO.java @@ -50,7 +50,7 @@ public class SDNO implements Serializable @JsonProperty("body") private Body body; @JsonIgnore - private Map<String, Object> additionalProperties = new HashMap<String, Object>(); + private Map<String, Object> additionalProperties = new HashMap<>(); private final static long serialVersionUID = -5303297382564282650L; @JsonProperty("operation") diff --git a/bpmn/MSOCommonBPMN/src/test/groovy/org/openecomp/mso/bpmn/common/scripts/CompleteMsoProcessTest.groovy b/bpmn/MSOCommonBPMN/src/test/groovy/org/openecomp/mso/bpmn/common/scripts/CompleteMsoProcessTest.groovy index ab7ee7a689..5949c3af53 100644 --- a/bpmn/MSOCommonBPMN/src/test/groovy/org/openecomp/mso/bpmn/common/scripts/CompleteMsoProcessTest.groovy +++ b/bpmn/MSOCommonBPMN/src/test/groovy/org/openecomp/mso/bpmn/common/scripts/CompleteMsoProcessTest.groovy @@ -16,23 +16,24 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - */ + */ package org.openecomp.mso.bpmn.common.scripts -import org.junit.runner.RunWith; -import static org.junit.Assert.* -import static org.mockito.Mockito.* - import org.camunda.bpm.engine.delegate.BpmnError import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity import org.junit.Before import org.junit.Test import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor import org.mockito.MockitoAnnotations import org.mockito.runners.MockitoJUnitRunner import org.openecomp.mso.bpmn.core.WorkflowException +import static org.assertj.core.api.Assertions.assertThat +import static org.assertj.core.api.Assertions.assertThatThrownBy +import static org.mockito.Matchers.eq +import static org.mockito.Mockito.* @RunWith(MockitoJUnitRunner.class) class CompleteMsoProcessTest { @@ -128,7 +129,7 @@ class CompleteMsoProcessTest { when(mockExecution.getVariable("CMSO_mso-bpel-name")).thenReturn("BPEL") when(mockExecution.getVariable("URN_mso_adapters_db_auth")).thenReturn("757A94191D685FD2092AC1490730A4FC"); when(mockExecution.getVariable("URN_mso_msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7"); - + CompleteMsoProcess completeMsoProcess = new CompleteMsoProcess() completeMsoProcess.setUpdateDBstatustoSuccessPayload(mockExecution) @@ -145,29 +146,25 @@ class CompleteMsoProcessTest { </sdncadapterworkflow:MsoCompletionResponse>""" */ @Test - public void testbuildDataError(){ - - boolean thrown = false; - String msg = "Some-Message"; - - ExecutionEntity mockExecution = mock(ExecutionEntity.class) - when(mockExecution.getVariable("CMSO_mso-bpel-name")).thenReturn("BPEL-NAME") - when(mockExecution.getVariable("testProcessKey")).thenReturn("CompleteMsoProcess") - - WorkflowException exception = new WorkflowException("CompleteMsoProcess", 500, msg); - - try{ - CompleteMsoProcess completeMsoProcess = new CompleteMsoProcess() - completeMsoProcess.buildDataError(mockExecution, msg) - } - catch (BpmnError e){ - thrown = true; - } - - - verify(mockExecution).setVariable("CompleteMsoProcessResponse",msoCompletionResponse) - // Can't seem to figure out how to verify the exception and have spent way too much time on fixing this test case! - //verify(mockExecution).setVariable("WorkflowException",exception) - assertTrue(thrown); - } + void testBuildDataError() { + // given + def message = "Some-Message" + + def mockExecution = mock ExecutionEntity.class + when mockExecution.getVariable("CMSO_mso-bpel-name") thenReturn "BPEL-NAME" + when mockExecution.getVariable("testProcessKey") thenReturn "CompleteMsoProcess" + + def completeMsoProcess = new CompleteMsoProcess() + // when + assertThatThrownBy { completeMsoProcess.buildDataError(mockExecution, message) } isInstanceOf BpmnError + // then + verify mockExecution setVariable("CompleteMsoProcessResponse", msoCompletionResponse) + def argumentCaptor = ArgumentCaptor.forClass WorkflowException.class + verify mockExecution setVariable(eq("WorkflowException"), argumentCaptor.capture()) + def capturedException = argumentCaptor.value + + assertThat capturedException.processKey isEqualTo "CompleteMsoProcess" + assertThat capturedException.errorCode isEqualTo 500 + assertThat capturedException.errorMessage isEqualTo message + } }
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/BPMNUtil.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/BPMNUtil.java index eef9ed8ee0..9fcde31e4f 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/BPMNUtil.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/BPMNUtil.java @@ -121,7 +121,7 @@ public class BPMNUtil { private static void buildVariable(String key, String value, Map<String,Object> variableValueType) {
- Map<String, Object> host = new HashMap<String, Object>();
+ Map<String, Object> host = new HashMap<>();
host.put("value", value);
host.put("type", "String");
variableValueType.put(key, host);
@@ -131,7 +131,7 @@ public class BPMNUtil { WorkflowResource workflowResource = new WorkflowResource();
VariableMapImpl variableMap = new VariableMapImpl();
- Map<String, Object> variableValueType = new HashMap<String, Object>();
+ Map<String, Object> variableValueType = new HashMap<>();
for (String key : variables.keySet()) {
buildVariable(key, variables.get(key), variableValueType);
}
@@ -203,7 +203,7 @@ public class BPMNUtil { WorkflowAsyncResource workflowResource = new WorkflowAsyncResource();
VariableMapImpl variableMap = new VariableMapImpl();
- Map<String, Object> variableValueType = new HashMap<String, Object>();
+ Map<String, Object> variableValueType = new HashMap<>();
for (String key : variables.keySet()) {
buildVariable(key, variables.get(key), variableValueType);
}
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CompleteMsoProcessTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CompleteMsoProcessTest.java index b050a81f18..9d4dac2333 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CompleteMsoProcessTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CompleteMsoProcessTest.java @@ -42,7 +42,7 @@ public class CompleteMsoProcessTest extends WorkflowTest { mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
//String changeFeatureActivateRequest = FileUtil.readResourceFile("__files/SDN-ETHERNET-INTERNET/ChangeFeatureActivateV1/" + inputRequestFile);
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
variables.put("CompleteMsoProcessRequest",inputRequestFile);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CompleteMsoProcess", variables);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupNameTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupNameTest.java index 1925c0a1b9..845f06045a 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupNameTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupNameTest.java @@ -51,7 +51,7 @@ public class ConfirmVolumeGroupNameTest extends WorkflowTest { System.out.println("Before starting process"); RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("isDebugLogEnabled","true"); variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1"); variables.put("ConfirmVolumeGroupName_volumeGroupName", "VOLUME_GROUP_ID_1_NAME"); @@ -83,7 +83,7 @@ public class ConfirmVolumeGroupNameTest extends WorkflowTest { System.out.println("Before starting process"); RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("isDebugLogEnabled","true"); variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_THAT_DOES_NOT_EXIST"); variables.put("ConfirmVolumeGroupName_volumeGroupName", "cee6d136-e378-4678-a024-2cd15f0ee0cg"); @@ -116,7 +116,7 @@ public class ConfirmVolumeGroupNameTest extends WorkflowTest { System.out.println("Before starting process"); RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("isDebugLogEnabled","true"); variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1"); variables.put("ConfirmVolumeGroupName_volumeGroupName", "BAD_VOLUME_GROUP_NAME"); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupTenantTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupTenantTest.java index 3856f7b5e1..457128f104 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupTenantTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ConfirmVolumeGroupTenantTest.java @@ -46,7 +46,7 @@ public class ConfirmVolumeGroupTenantTest extends WorkflowTest { public void testRemoveLayer3Service_success() throws Exception{ MockGetVolumeGroupById("MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58", "CRTGVNF_queryAAIResponseVolume.xml"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "ConfirmVolumeGroupTenant", variables); @@ -66,7 +66,7 @@ public class ConfirmVolumeGroupTenantTest extends WorkflowTest { public void testRemoveLayer3Service_idsNotMatch() throws Exception{ MockGetVolumeGroupById("MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58", "CRTGVNF_queryAAIResponseVolume_idsNotMatch.xml"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "ConfirmVolumeGroupTenant", variables); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleTest.java index 045bd6f9c7..b2b7760327 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleTest.java @@ -51,7 +51,7 @@ public class CreateAAIVfModuleTest extends WorkflowTest { MockAAICreateGenericVnf();
MockAAIVfModulePUT(true);
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("isVidRequest", "false");
variables.put("vnfName", "STMTN5MMSC22");
@@ -78,7 +78,7 @@ public class CreateAAIVfModuleTest extends WorkflowTest { MockAAICreateGenericVnf();
MockAAIVfModulePUT(true);
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("isVidRequest", "false");
variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
@@ -103,7 +103,7 @@ public class CreateAAIVfModuleTest extends WorkflowTest { MockAAICreateGenericVnf();
MockAAIVfModulePUT(true);
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("isVidRequest", "false");
variables.put("vnfName", "STMTN5MMSC23");
@@ -128,7 +128,7 @@ public class CreateAAIVfModuleTest extends WorkflowTest { MockAAICreateGenericVnf();
MockAAIVfModulePUT(true);
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("isVidRequest", "false");
variables.put("vnfName", "STMTN5MMSC21");
@@ -153,7 +153,7 @@ public class CreateAAIVfModuleTest extends WorkflowTest { MockAAICreateGenericVnf();
MockAAIVfModulePUT(true);
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("isVidRequest", "false");
variables.put("vnfId", "2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4");
@@ -178,7 +178,7 @@ public class CreateAAIVfModuleTest extends WorkflowTest { MockAAICreateGenericVnf();
MockAAIVfModulePUT(true);
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("isVidRequest", "false");
variables.put("vnfName", "STMTN5MMSC22");
@@ -203,7 +203,7 @@ public class CreateAAIVfModuleTest extends WorkflowTest { MockAAICreateGenericVnf();
MockAAIVfModulePUT(true);
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("isVidRequest", "false");
variables.put("vnfId", "768073c7-f41f-4822-9323-b75962763d74");
@@ -228,7 +228,7 @@ public class CreateAAIVfModuleTest extends WorkflowTest { MockAAICreateGenericVnf();
MockAAIVfModulePUT(true);
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("isVidRequest", "false");
variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleVolumeGroupTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleVolumeGroupTest.java index 5845ec1a56..5cc26459e8 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleVolumeGroupTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/CreateAAIVfModuleVolumeGroupTest.java @@ -55,7 +55,7 @@ public class CreateAAIVfModuleVolumeGroupTest extends WorkflowTest { MockPutVfModuleIdNoResponse("skask", "PCRF", "lukewarm");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest);
@@ -86,7 +86,7 @@ public class CreateAAIVfModuleVolumeGroupTest extends WorkflowTest { MockGetVfModuleId("skask", ".*", "VfModularity/VfModule-supercool.xml", 404);
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest);
@@ -117,7 +117,7 @@ public class CreateAAIVfModuleVolumeGroupTest extends WorkflowTest { MockGetVfModuleId("skask", "lukewarm", "VfModularity/VfModule-lukewarm.xml", 200);
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DecomposeServiceTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DecomposeServiceTest.java index bda6dd953c..7295cd8e10 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DecomposeServiceTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DecomposeServiceTest.java @@ -49,7 +49,7 @@ public class DecomposeServiceTest extends WorkflowTest { String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff"); invokeSubProcess("DecomposeService", businessKey, variables); @@ -66,7 +66,7 @@ public class DecomposeServiceTest extends WorkflowTest { String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff"); invokeSubProcess("DecomposeService", businessKey, variables); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DeleteAAIVfModuleTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DeleteAAIVfModuleTest.java index bb2fc03163..564927a854 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DeleteAAIVfModuleTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/DeleteAAIVfModuleTest.java @@ -52,7 +52,7 @@ public class DeleteAAIVfModuleTest extends WorkflowTest { MockAAIDeleteGenericVnf();
MockAAIDeleteVfModule();
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("DeleteAAIVfModuleRequest","<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\"> <request-info> <action>DELETE_VF_MODULE</action> <source>PORTAL</source> </request-info> <vnf-inputs> <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id> <vnf-name>STMTN5MMSC21</vnf-name> <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id> <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name> </vnf-inputs> <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/> </vnf-request>");
runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables);
@@ -88,7 +88,7 @@ public class DeleteAAIVfModuleTest extends WorkflowTest { MockAAIDeleteGenericVnf();
MockAAIDeleteVfModule();
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("DeleteAAIVfModuleRequest",request);
runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables);
@@ -123,7 +123,7 @@ public class DeleteAAIVfModuleTest extends WorkflowTest { MockAAIDeleteGenericVnf();
MockAAIDeleteVfModule();
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("DeleteAAIVfModuleRequest",request);
runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables);
@@ -158,7 +158,7 @@ public class DeleteAAIVfModuleTest extends WorkflowTest { MockAAIDeleteGenericVnf();
MockAAIDeleteVfModule();
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("DeleteAAIVfModuleRequest",request);
runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables);
@@ -193,7 +193,7 @@ public class DeleteAAIVfModuleTest extends WorkflowTest { MockAAIDeleteGenericVnf();
MockAAIDeleteVfModule();
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("DeleteAAIVfModuleRequest",request);
runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables);
@@ -228,7 +228,7 @@ public class DeleteAAIVfModuleTest extends WorkflowTest { MockAAIDeleteGenericVnf();
MockAAIDeleteVfModule();
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("DeleteAAIVfModuleRequest",request);
runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables);
@@ -263,7 +263,7 @@ public class DeleteAAIVfModuleTest extends WorkflowTest { MockAAIDeleteGenericVnf();
MockAAIDeleteVfModule();
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("DeleteAAIVfModuleRequest",request);
runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables);
@@ -284,7 +284,7 @@ public class DeleteAAIVfModuleTest extends WorkflowTest { MockAAIDeleteGenericVnf();
MockAAIDeleteVfModule();
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("DeleteAAIVfModuleRequest","<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\"> <request-info> <action>DELETE_VF_MODULE</action> <source>PORTAL</source> </request-info> <vnf-inputs> <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c720</vnf-id> <vnf-name>STMTN5MMSC20</vnf-name> <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a76</vf-module-id> <vf-module-name>STMTN5MMSC20-MMSC::module-2-0</vf-module-name> </vnf-inputs> <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/> </vnf-request>");
runtimeService.startProcessInstanceByKey("DeleteAAIVfModule", variables);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/FalloutHandlerTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/FalloutHandlerTest.java index 8281687dec..257cec9b11 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/FalloutHandlerTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/FalloutHandlerTest.java @@ -58,7 +58,7 @@ public class FalloutHandlerTest extends WorkflowTest { System.out.println("STARTED TEST: " + method);
//String changeFeatureActivateRequest = FileUtil.readResourceFile("__files/SDN-ETHERNET-INTERNET/ChangeFeatureActivateV1/" + inputRequestFile);
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
variables.put("FalloutHandlerRequest",inputRequestFile);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "FalloutHandler", variables);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteServiceTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteServiceTest.java index cced8c1860..125a9ad916 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteServiceTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteServiceTest.java @@ -51,7 +51,7 @@ public class GenericDeleteServiceTest extends WorkflowTest { @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) public void testGenericDeleteService_success_serviceInstance() throws Exception{ MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "1234"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID()); @@ -70,7 +70,7 @@ public class GenericDeleteServiceTest extends WorkflowTest { MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", 204); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariablesSubscription(variables, "", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); @@ -94,7 +94,7 @@ public class GenericDeleteServiceTest extends WorkflowTest { MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceSubscription.xml"); MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "1234"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); @@ -118,7 +118,7 @@ public class GenericDeleteServiceTest extends WorkflowTest { MockGetServiceSubscription("1604-MVM-26", "SDN-ETHERNET-INTERNET", "GenericFlows/getServiceSubscription.xml"); MockDeleteServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", 204); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariablesSubscription(variables, null, "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); @@ -142,7 +142,7 @@ public class GenericDeleteServiceTest extends WorkflowTest { MockGetServiceInstance_404("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); @@ -164,7 +164,7 @@ public class GenericDeleteServiceTest extends WorkflowTest { public void testGenericDeleteService_success_subscriptionGetEmpty200() throws Exception{ MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234", 200); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariablesSubscription(variables, "", "1604-MVM-26", "SDN-ETHERNET-INTERNET", ""); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); @@ -189,7 +189,7 @@ public class GenericDeleteServiceTest extends WorkflowTest { MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "GENDSI_getServiceInstanceResponse.xml"); MockDeleteServiceInstance_404("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "1234"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "1234"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); @@ -210,7 +210,7 @@ public class GenericDeleteServiceTest extends WorkflowTest { @Deployment(resources = {"subprocess/GenericDeleteService.bpmn"}) public void testGenericDeleteService_error_invalidVariables() throws Exception{ - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "1234"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); @@ -236,7 +236,7 @@ public class GenericDeleteServiceTest extends WorkflowTest { MockGetServiceInstance_500("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", "aaiFault.xml"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", null); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteService", variables); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteVnfTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteVnfTest.java index 473f6c8195..add9a32d61 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteVnfTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericDeleteVnfTest.java @@ -51,7 +51,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { public void testGenericDeleteVnf_success_genericVnf() throws Exception{ MockDeleteGenericVnf("testVnfId123", "testReVer123"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); @@ -66,7 +66,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { public void testGenericDeleteVnf_success_vce() throws Exception{ MockDeleteVce("testVnfId123", "testReVer123", 204); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "vce", "testReVer123"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); @@ -83,7 +83,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { MockGetGenericVnfById("/testVnfId123", "GenericFlows/getGenericVnfByNameResponse.xml", 200); MockDeleteGenericVnf("testVnfId123", "testReVer123"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "generic-vnf", ""); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); @@ -99,7 +99,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { MockDeleteVce("testVnfId123", "testReVer123", 204); MockGetVceById("testVnfId123", "GenericFlows/getVceResponse.xml"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "vce", null); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); @@ -114,7 +114,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { public void testGenericDeleteVnf_success_genericVnf404() throws Exception{ MockDeleteGenericVnf("testVnfId123", "testReVer123", 404); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); @@ -129,7 +129,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { public void testGenericDeleteVnf_success_vce404() throws Exception{ MockDeleteVce("testVnfId123", "testReVer123", 404); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "vce", "testReVer123"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); @@ -144,7 +144,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { public void testGenericDeleteVnf_success_genericVnfNoResourceVersion404() throws Exception{ MockGetGenericVnfById_404("testVnfId123"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "generic-vnf", ""); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); @@ -158,7 +158,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { @Deployment(resources = {"subprocess/GenericDeleteVnf.bpmn"}) public void testGenericDeleteVnf_error_missingVariables() throws Exception{ - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "", "testReVer123"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); @@ -173,7 +173,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { public void testGenericDeleteVnf_error_genericVnf500() throws Exception{ MockDeleteGenericVnf_500("testVnfId123", "testReVer123"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); @@ -188,7 +188,7 @@ public class GenericDeleteVnfTest extends WorkflowTest { public void testGenericDeleteVnf_error_genericVnf412() throws Exception{ MockDeleteGenericVnf("testVnfId123", "testReVer123", 412); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "generic-vnf", "testReVer123"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericDeleteVnf", variables); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetServiceTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetServiceTest.java index 82cceb0b70..0198395750 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetServiceTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetServiceTest.java @@ -56,7 +56,7 @@ public class GenericGetServiceTest extends WorkflowTest { @Deployment(resources = {"subprocess/GenericGetService.bpmn"})
public void testGenericGetService_success_serviceInstance() throws Exception{
MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "123456789");
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
@@ -81,7 +81,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockGetServiceSubscription("1604-MVM-26", "SDN-ETHERNET-INTERNET", "GenericFlows/getServiceSubscription.xml");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesSubscription(variables, "", null , "1604-MVM-26", "SDN-ETHERNET-INTERNET");
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -109,7 +109,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockNodeQueryServiceInstanceByName("1604-MVM-26", "GenericFlows/getSIUrlByName.xml");
MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, null, "1604-MVM-26", null, null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -139,7 +139,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlById.xml");
MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -168,7 +168,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockGetServiceInstance_404("SDN-ETHERNET-INTERNET", "123456789", "MIS%2F1604%2F0026%2FSW_INTERNET");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "123456789");
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -192,7 +192,7 @@ public class GenericGetServiceTest extends WorkflowTest { public void testGenericGetService_success_serviceSubscription404() throws Exception{
MockGetServiceSubscription("1604-MVM-26", "SDN-ETHERNET-INTERNET", 404);
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesSubscription(variables, "", "", "SDN-ETHERNET-INTERNET", "1604-MVM-26");
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -219,7 +219,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockNodeQueryServiceInstanceByName_404("1604-MVM-26");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "", "1604-MVM-26", null, null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -246,7 +246,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockNodeQueryServiceInstanceById_404("MIS%2F1604%2F0026%2FSW_INTERNET");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -273,7 +273,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockGetServiceInstance("1604-MVM-26", "SDN-ETHERNET-INTERNET", "MIS%252F1604%252F0026%252FSW_INTERNET", " ");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, "SDN-ETHERNET-INTERNET", "123456789");
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -297,7 +297,7 @@ public class GenericGetServiceTest extends WorkflowTest { public void testGenericGetService_success_serviceInstanceByNameEmpty() throws Exception{
MockNodeQueryServiceInstanceByName("1604-MVM-26", "");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "", "1604-MVM-26", null, null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -324,7 +324,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockNodeQueryServiceInstanceById("MIS[%]2F1604[%]2F0026[%]2FSW_INTERNET", "");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -350,7 +350,7 @@ public class GenericGetServiceTest extends WorkflowTest { @Deployment(resources = {"subprocess/GenericGetService.bpmn"})
public void testGenericGetService_error_serviceInstanceInvalidVariables() throws Exception{
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, null, null, "SDN-ETHERNET-INTERNET", null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -375,7 +375,7 @@ public class GenericGetServiceTest extends WorkflowTest { @Deployment(resources = {"subprocess/GenericGetService.bpmn"})
public void testGenericGetService_success_serviceSubscriptionInvalidVariables() throws Exception{
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesSubscription(variables, "", "", "SDN-ETHERNET-INTERNET", null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -403,7 +403,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockGetServiceInstance_500("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", "1604-MVM-26", "SDN-ETHERNET-INTERNET", "123456789");
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -430,7 +430,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockNodeQueryServiceInstanceById_500("MIS%2F1604%2F0026%2FSW_INTERNET");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, "MIS%2F1604%2F0026%2FSW_INTERNET", null, null, null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -459,7 +459,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockNodeQueryServiceInstanceByName_500("1604-MVM-26");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, null, "1604-MVM-26", null, null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -489,7 +489,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockNodeQueryServiceInstanceByName("1604-MVM-26", "GenericFlows/getSIUrlByNameMultiCustomer.xml");
MockGetServiceInstance("XyCorporation", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, null, "1604-MVM-26", "XyCorporation", null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
@@ -517,7 +517,7 @@ public class GenericGetServiceTest extends WorkflowTest { MockNodeQueryServiceInstanceByName("1604-MVM-26", "GenericFlows/getSIUrlByNameMultiCustomer.xml");
MockGetServiceInstance("CorporationNotPresent", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
- Map<String, String> variables = new HashMap<String, String>();
+ Map<String, String> variables = new HashMap<>();
setVariablesInstance(variables, null, "1604-MVM-26", "CorporationNotPresent", null);
WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetService", variables);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetVnfTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetVnfTest.java index 126a5fda62..4922263744 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetVnfTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericGetVnfTest.java @@ -52,7 +52,7 @@ public class GenericGetVnfTest extends WorkflowTest { public void testGenericGetVnf_success_genericVnf() throws Exception{ MockGetGenericVnfByIdWithDepth("testVnfId123", 1, "GenericFlows/getGenericVnfByNameResponse.xml"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "testVnfName123", "generic-vnf"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); @@ -79,7 +79,7 @@ public class GenericGetVnfTest extends WorkflowTest { public void testGenericGetVnf_success_vce() throws Exception{ MockGetVceById("testVnfId123[?]depth=1", "GenericFlows/getVceResponse.xml"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "testVnfName123", "vce"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); @@ -106,7 +106,7 @@ public class GenericGetVnfTest extends WorkflowTest { public void testGenericGetVnf_success_genericVnfByName() throws Exception{ MockGetGenericVnfByNameWithDepth("testVnfName123", 1, "GenericFlows/getGenericVnfResponse.xml"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "", "testVnfName123", "generic-vnf"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); @@ -133,7 +133,7 @@ public class GenericGetVnfTest extends WorkflowTest { public void testGenericGetVnf_success_vceByName() throws Exception{ MockGetGenericVceByNameWithDepth("testVnfName123", 1, "GenericFlows/getVceByNameResponse.xml"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, null, "testVnfName123", "vce"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); @@ -162,7 +162,7 @@ public class GenericGetVnfTest extends WorkflowTest { MockGetGenericVnfById_500("testVnfId123"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", "testVnfName123", "generic-vnf"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericGetVnf", variables); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericPutVnfTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericPutVnfTest.java index 149f8aead2..0e0a237090 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericPutVnfTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/GenericPutVnfTest.java @@ -51,7 +51,7 @@ public class GenericPutVnfTest extends WorkflowTest { MockPutGenericVnf("testVnfId123"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", genericVnfPayload, "generic-vnf"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); @@ -71,7 +71,7 @@ public class GenericPutVnfTest extends WorkflowTest { MockPutVce("testVnfId123"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", vcePayload, "vce"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); @@ -91,7 +91,7 @@ public class GenericPutVnfTest extends WorkflowTest { MockPutGenericVnf("testVnfId123"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", genericVnfPayload, ""); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); @@ -113,7 +113,7 @@ public class GenericPutVnfTest extends WorkflowTest { MockPutGenericVnf("testVnfId123"); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", genericVnfPayload, ""); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); @@ -133,7 +133,7 @@ public class GenericPutVnfTest extends WorkflowTest { @Deployment(resources = {"subprocess/GenericPutVnf.bpmn"}) public void testGenericPutVnf_error_404() throws Exception{ - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", genericVnfPayload, "generic-vnf"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); @@ -154,7 +154,7 @@ public class GenericPutVnfTest extends WorkflowTest { MockPutGenericVnf("/testVnfId123", 400); - Map<String, String> variables = new HashMap<String, String>(); + Map<String, String> variables = new HashMap<>(); setVariables(variables, "testVnfId123", genericVnfPayload, "generic-vnf"); WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "GenericPutVnf", variables); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/HomingTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/HomingTest.java index e49ef0032e..3210fe8fc7 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/HomingTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/HomingTest.java @@ -23,7 +23,7 @@ */ package org.openecomp.mso.bpmn.common; -import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData; +import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogDataByModelUuid; import static org.openecomp.mso.bpmn.mock.StubResponseSNIRO.*; import static org.junit.Assert.*; @@ -140,7 +140,7 @@ public class HomingTest extends WorkflowTest { mockSNIRO(); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); setVariables(variables); invokeSubProcess("Homing", businessKey, variables); @@ -183,7 +183,7 @@ public class HomingTest extends WorkflowTest { mockSNIRO(); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); setVariables2(variables); invokeSubProcess("Homing", businessKey, variables); @@ -235,9 +235,10 @@ public class HomingTest extends WorkflowTest { // Create a Service Decomposition //System.out.println("At start of testHoming_success_vnfResourceList"); - MockGetServiceResourcesCatalogData("1cc4e2e4-eb6e-404d-a66f-c8733cedcce8", "5.0", "/BuildingBlocks/catalogResp.json"); + MockGetServiceResourcesCatalogDataByModelUuid("2f7f309d-c842-4644-a2e4-34167be5eeb4", "/BuildingBlocks/catalogResp.json"); + //MockGetServiceResourcesCatalogData("1cc4e2e4-eb6e-404d-a66f-c8733cedcce8", "5.0", "/BuildingBlocks/catalogResp.json"); String busKey = UUID.randomUUID().toString(); - Map<String, Object> vars = new HashMap<String, Object>(); + Map<String, Object> vars = new HashMap<>(); setVariablesForServiceDecomposition(vars, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff"); invokeSubProcess("DecomposeService", busKey, vars); @@ -252,7 +253,7 @@ public class HomingTest extends WorkflowTest { mockSNIRO(); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("isDebugLogEnabled", "true"); variables.put("msoRequestId", "testRequestId"); variables.put("serviceInstanceId", "testServiceInstanceId"); @@ -288,7 +289,7 @@ public class HomingTest extends WorkflowTest { public void testHoming_error_inputVariable() throws Exception { String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); setVariables3(variables); invokeSubProcess("Homing", businessKey, variables); @@ -307,7 +308,7 @@ public class HomingTest extends WorkflowTest { mockSNIRO_500(); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); setVariables(variables); invokeSubProcess("Homing", businessKey, variables); @@ -326,7 +327,7 @@ public class HomingTest extends WorkflowTest { mockSNIRO(); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); setVariables(variables); invokeSubProcess("Homing", businessKey, variables); @@ -347,7 +348,7 @@ public class HomingTest extends WorkflowTest { mockSNIRO(); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); setVariables(variables); invokeSubProcess("Homing", businessKey, variables); @@ -368,7 +369,7 @@ public class HomingTest extends WorkflowTest { mockSNIRO(); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); setVariables(variables); invokeSubProcess("Homing", businessKey, variables); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ManualHandlingTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ManualHandlingTest.java index 6141ee021f..a7c2d19aa0 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ManualHandlingTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ManualHandlingTest.java @@ -67,7 +67,7 @@ public class ManualHandlingTest extends WorkflowTest { public void TestManualHandlingSuccess() { RuntimeService runtimeService = processEngineRule.getRuntimeService(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("isDebugLogEnabled","true"); variables.put("msoRequestId", "testRequestId"); variables.put("serviceType", "X"); @@ -103,7 +103,7 @@ public class ManualHandlingTest extends WorkflowTest { System.out.println("TASK NAME: " + task.getName()); try { System.out.println("Completing the task"); - Map<String,Object> completeVariables = new HashMap<String,Object>(); + Map<String,Object> completeVariables = new HashMap<>(); completeVariables.put("responseValue", "skip"); taskService.complete(task.getId(), completeVariables); } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/PrepareUpdateAAIVfModuleTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/PrepareUpdateAAIVfModuleTest.java index 441cefdb41..be74770e98 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/PrepareUpdateAAIVfModuleTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/PrepareUpdateAAIVfModuleTest.java @@ -60,7 +60,7 @@ public class PrepareUpdateAAIVfModuleTest extends WorkflowTest { MockPatchVfModuleId("skask", "supercool");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
@@ -94,7 +94,7 @@ public class PrepareUpdateAAIVfModuleTest extends WorkflowTest { MockGetGenericVnfById_404("skask[?]depth=1");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
@@ -129,7 +129,7 @@ public class PrepareUpdateAAIVfModuleTest extends WorkflowTest { MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
@@ -159,7 +159,7 @@ public class PrepareUpdateAAIVfModuleTest extends WorkflowTest { MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
@@ -190,7 +190,7 @@ public class PrepareUpdateAAIVfModuleTest extends WorkflowTest { MockAAIVfModuleBadPatch("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404);
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/RainyDayHandlerTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/RainyDayHandlerTest.java index 8a78f3206c..65575ba861 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/RainyDayHandlerTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/RainyDayHandlerTest.java @@ -57,7 +57,7 @@ public class RainyDayHandlerTest extends WorkflowTest { public void TestRainyDayHandlingSuccess() {
RuntimeService runtimeService = processEngineRule.getRuntimeService();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("isDebugLogEnabled","true");
variables.put("msoRequestId", "testRequestId");
variables.put("serviceType", "X");
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ReceiveWorkflowMessageTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ReceiveWorkflowMessageTest.java index 4669192249..a806515974 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ReceiveWorkflowMessageTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/ReceiveWorkflowMessageTest.java @@ -85,7 +85,7 @@ public class ReceiveWorkflowMessageTest extends WorkflowTest { logStart(); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312"); variables.put("isDebugLogEnabled", "true"); variables.put("RCVWFMSG_timeout", "PT1M"); @@ -115,7 +115,7 @@ public class ReceiveWorkflowMessageTest extends WorkflowTest { logStart(); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312"); variables.put("isDebugLogEnabled", "true"); variables.put("RCVWFMSG_timeout", "PT0.1S"); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterV1Test.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterV1Test.java index 778eec190e..0349b178cb 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterV1Test.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SDNCAdapterV1Test.java @@ -75,12 +75,12 @@ public class SDNCAdapterV1Test extends WorkflowTest { private WorkflowResponse invokeFlow(String workflowRequest) {
- Map<String, Object>valueMap = new HashMap<String, Object>();
+ Map<String, Object>valueMap = new HashMap<>();
valueMap.put("value", workflowRequest);
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("sdncAdapterWorkflowRequest", valueMap);
- Map<String, Object> valueMap2 = new HashMap<String, Object>();
+ Map<String, Object> valueMap2 = new HashMap<>();
valueMap2.put("value", "true");
variables.put("isDebugLogEnabled", valueMap2);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIGenericVnfTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIGenericVnfTest.java index 20f6f6d264..7c557ffe63 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIGenericVnfTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIGenericVnfTest.java @@ -59,7 +59,7 @@ public class UpdateAAIGenericVnfTest extends WorkflowTest { MockPatchGenericVnf("skask");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
@@ -92,7 +92,7 @@ public class UpdateAAIGenericVnfTest extends WorkflowTest { MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
@@ -122,7 +122,7 @@ public class UpdateAAIGenericVnfTest extends WorkflowTest { MockGetGenericVnfById_404("skask[?]depth=1");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
@@ -156,7 +156,7 @@ public class UpdateAAIGenericVnfTest extends WorkflowTest { MockAAIVfModuleBadPatch("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask", 404);
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIVfModuleTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIVfModuleTest.java index 0e523cbfa3..30d7e6d8c6 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIVfModuleTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/UpdateAAIVfModuleTest.java @@ -58,7 +58,7 @@ public class UpdateAAIVfModuleTest extends WorkflowTest { MockPatchVfModuleId("skask", "supercool");
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest);
@@ -89,7 +89,7 @@ public class UpdateAAIVfModuleTest extends WorkflowTest { MockGetGenericVnfById("/skask/vf-modules/vf-module/.*", "VfModularity/VfModule-supercool.xml", 404);
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest);
@@ -122,7 +122,7 @@ public class UpdateAAIVfModuleTest extends WorkflowTest { MockAAIVfModuleBadPatch("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404);
String businessKey = UUID.randomUUID().toString();
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
variables.put("mso-request-id", "999-99-9999");
variables.put("isDebugLogEnabled","true");
variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/VnfAdapterRestV1Test.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/VnfAdapterRestV1Test.java index 707fe46cc1..fb029fa740 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/VnfAdapterRestV1Test.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/VnfAdapterRestV1Test.java @@ -241,7 +241,7 @@ public class VnfAdapterRestV1Test extends WorkflowTest { String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("mso-request-id", requestId); variables.put("isDebugLogEnabled", "true"); variables.put("vnfAdapterRestV1Request", request); @@ -272,7 +272,7 @@ public class VnfAdapterRestV1Test extends WorkflowTest { String request = UPDATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("mso-request-id", requestId); variables.put("isDebugLogEnabled", "true"); variables.put("vnfAdapterRestV1Request", request); @@ -303,7 +303,7 @@ public class VnfAdapterRestV1Test extends WorkflowTest { String request = DELETE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("mso-request-id", requestId); variables.put("isDebugLogEnabled", "true"); variables.put("vnfAdapterRestV1Request", request); @@ -334,7 +334,7 @@ public class VnfAdapterRestV1Test extends WorkflowTest { String request = ROLLBACK_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("mso-request-id", requestId); variables.put("isDebugLogEnabled", "true"); variables.put("vnfAdapterRestV1Request", request); @@ -365,7 +365,7 @@ public class VnfAdapterRestV1Test extends WorkflowTest { String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId); String businessKey = UUID.randomUUID().toString(); - Map<String, Object> variables = new HashMap<String, Object>(); + Map<String, Object> variables = new HashMap<>(); variables.put("mso-request-id", requestId); variables.put("isDebugLogEnabled", "true"); variables.put("vnfAdapterRestV1Request", request); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowAsyncResourceTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowAsyncResourceTest.java index 426bceef4b..5f91298958 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowAsyncResourceTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowAsyncResourceTest.java @@ -42,7 +42,7 @@ public class WorkflowAsyncResourceTest extends WorkflowTest { //it can be any request which asynchronously processed by the workflow String request = "<aetgt:CreateTenantRequest xmlns:aetgt=\"http://org.openecomp/mso/workflow/schema/v1\" xmlns:sdncadapterworkflow=\"http://org.openecomp/mso/workflow/schema/v1\" xmlns:ns5=\"http://org.openecomp/mso/request/types/v1\"> <msoservtypes:service-information xmlns:msoservtypes=\"http://org.openecomp/mso/request/types/v1\"> <msoservtypes:service-type>SDN-ETHERNET-INTERNET</msoservtypes:service-type> <msoservtypes:service-instance-id>HI/VLXM/950604//SW_INTERNET</msoservtypes:service-instance-id> <msoservtypes:subscriber-name>SubName01</msoservtypes:subscriber-name> </msoservtypes:service-information> </aetgt:CreateTenantRequest>"; - Map<String,String> variables = new HashMap<String,String>(); + Map<String,String> variables = new HashMap<>(); variables.put("testAsyncRequestMsg", request); variables.put("mso-request-id", UUID.randomUUID().toString()); variables.put("mso-service-request-timeout", "5"); @@ -56,17 +56,17 @@ public class WorkflowAsyncResourceTest extends WorkflowTest { WorkflowAsyncResource workflowResource = new WorkflowAsyncResource(); VariableMapImpl variableMap = new VariableMapImpl(); - Map<String, Object> variableValueType = new HashMap<String, Object>(); + Map<String, Object> variableValueType = new HashMap<>(); - Map<String, Object> requestMsg = new HashMap<String, Object>(); + Map<String, Object> requestMsg = new HashMap<>(); requestMsg.put("value", request); requestMsg.put("type", "String"); - Map<String, Object> msorequestId = new HashMap<String, Object>(); + Map<String, Object> msorequestId = new HashMap<>(); msorequestId.put("type", "String"); msorequestId.put("value",requestId); - Map<String, Object> timeout = new HashMap<String, Object>(); + Map<String, Object> timeout = new HashMap<>(); timeout.put("type", "String"); timeout.put("value","5"); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java index ce8eb7afec..b71f708797 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java @@ -327,7 +327,7 @@ public class WorkflowTest { String businessKey, String request, Map<String, Object> injectedVariables,
boolean serviceInstantiationModel) {
- Map<String, Object> variables = new HashMap<String, Object>();
+ Map<String, Object> variables = new HashMap<>();
// These variables may be overridded by injected variables.
variables.put("mso-service-request-timeout", "180");
@@ -422,7 +422,7 @@ public class WorkflowTest { * @return a VariableMap
*/
private VariableMapImpl createVariableMapImpl(Map<String, Object> variables) {
- Map<String, Object> wrappedVariables = new HashMap<String, Object>();
+ Map<String, Object> wrappedVariables = new HashMap<>();
for (String key : variables.keySet()) {
Object value = variables.get(key);
@@ -441,7 +441,7 @@ public class WorkflowTest { * @return the wrapped variable
*/
private Map<String, Object> wrapVariableValue(Object value) {
- HashMap<String, Object> valueMap = new HashMap<String, Object>();
+ HashMap<String, Object> valueMap = new HashMap<>();
valueMap.put("value", value);
return valueMap;
}
@@ -1634,11 +1634,7 @@ public class WorkflowTest { return null;
}
- Collections.sort(processInstanceList, new Comparator<HistoricProcessInstance>() {
- public int compare(HistoricProcessInstance m1, HistoricProcessInstance m2) {
- return m1.getStartTime().compareTo(m2.getStartTime());
- }
- });
+ processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime()));
HistoricProcessInstance processInstance = processInstanceList.get(0);
@@ -1672,11 +1668,7 @@ public class WorkflowTest { return null;
}
- Collections.sort(processInstanceList, new Comparator<HistoricProcessInstance>() {
- public int compare(HistoricProcessInstance m1, HistoricProcessInstance m2) {
- return m1.getStartTime().compareTo(m2.getStartTime());
- }
- });
+ processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime()));
HistoricProcessInstance processInstance = processInstanceList.get(subflowInstanceIndex);
@@ -1784,7 +1776,7 @@ public class WorkflowTest { * An object that contains callback data for a "program".
*/
public class CallbackSet {
- private final Map<String, CallbackData> map = new HashMap<String, CallbackData>();
+ private final Map<String, CallbackData> map = new HashMap<>();
/**
* Add untyped callback data to the set.
@@ -1983,8 +1975,8 @@ public class WorkflowTest { * A NamespaceContext class based on a Map.
*/
private class SimpleNamespaceContext implements NamespaceContext {
- private Map<String, String> prefixMap = new HashMap<String, String>();
- private Map<String, String> uriMap = new HashMap<String, String>();
+ private Map<String, String> prefixMap = new HashMap<>();
+ private Map<String, String> uriMap = new HashMap<>();
public synchronized void add(String prefix, String uri) {
prefixMap.put(prefix, uri);
@@ -1998,7 +1990,7 @@ public class WorkflowTest { @Override
public Iterator<String> getPrefixes(String uri) {
- List<String> list = new ArrayList<String>();
+ List<String> list = new ArrayList<>();
String prefix = uriMap.get(uri);
if (prefix != null) {
list.add(prefix);
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 fc97e69c5c..74f50ba438 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 @@ -45,7 +45,7 @@ public class MockResource { private boolean started = false; private final Integer defaultPort = 28090; private WireMockServer wireMockServer = null; - private static Map<String,String> mockProperties = new HashMap<String,String>(); + private static Map<String,String> mockProperties = new HashMap<>(); public static String getMockProperties(String key) { return mockProperties.get(key); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResourceApplication.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResourceApplication.java index ebbfea5cd1..ba48bffca0 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResourceApplication.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/MockResourceApplication.java @@ -31,8 +31,8 @@ import javax.ws.rs.core.Application; @ApplicationPath("/console") public class MockResourceApplication extends Application { - private Set<Object> singletons = new HashSet<Object>(); - private Set<Class<?>> classes = new HashSet<Class<?>>(); + private Set<Object> singletons = new HashSet<>(); + private Set<Class<?>> classes = new HashSet<>(); public MockResourceApplication() { singletons.add(new MockResource()); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseDatabase.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseDatabase.java index c9f64d9b26..ffa6701a89 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseDatabase.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/mock/StubResponseDatabase.java @@ -98,5 +98,13 @@ public class StubResponseDatabase { .withBodyFile(responseFile))); } + public static void MockGetServiceResourcesCatalogDataByModelUuid(String serviceModelUuid, String responseFile){ + stubFor(get(urlEqualTo("/v2/serviceResources?serviceModelUuid=" + serviceModelUuid)) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBodyFile(responseFile))); + } + } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/ResponseExceptionMapperImplTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/ResponseExceptionMapperImplTest.java new file mode 100644 index 0000000000..8943014ad0 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/ResponseExceptionMapperImplTest.java @@ -0,0 +1,111 @@ +/*- + * ============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.client; + +import static org.assertj.core.api.Assertions.assertThatCode; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import com.google.common.base.Charsets; +import javax.ws.rs.BadRequestException; +import javax.ws.rs.ForbiddenException; +import javax.ws.rs.InternalServerErrorException; +import javax.ws.rs.NotAcceptableException; +import javax.ws.rs.NotAllowedException; +import javax.ws.rs.NotAuthorizedException; +import javax.ws.rs.NotFoundException; +import javax.ws.rs.NotSupportedException; +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.client.ClientResponseContext; +import javax.ws.rs.core.Response.Status; +import junitparams.JUnitParamsRunner; +import junitparams.Parameters; +import org.apache.commons.io.IOUtils; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(JUnitParamsRunner.class) +public class ResponseExceptionMapperImplTest { + + private static final ResponseExceptionMapperImpl mapper = new ResponseExceptionMapperImpl(); + + public static Object[][] statusesAndCorrespondingExceptions() { + return new Object[][]{ + {Status.BAD_REQUEST, BadRequestException.class}, + {Status.UNAUTHORIZED, NotAuthorizedException.class}, + {Status.FORBIDDEN, ForbiddenException.class}, + {Status.NOT_FOUND, NotFoundException.class}, + {Status.METHOD_NOT_ALLOWED, NotAllowedException.class}, + {Status.NOT_ACCEPTABLE, NotAcceptableException.class}, + {Status.PRECONDITION_FAILED, PreconditionFailedException.class}, + {Status.UNSUPPORTED_MEDIA_TYPE, NotSupportedException.class}, + {Status.INTERNAL_SERVER_ERROR, InternalServerErrorException.class}, + {Status.SERVICE_UNAVAILABLE, WebApplicationException.class}, + {Status.BAD_GATEWAY, WebApplicationException.class}, + }; + } + + @Test + @Parameters(method = "statusesAndCorrespondingExceptions") + public void shouldThrowExceptionWhenStatusIsNotOk(Status status, Class<Exception> expectedException) { + // given + ClientResponseContext responseContext = createMockResponseContext(status); + // when, then + assertThatThrownBy(() -> mapper.filter(null, responseContext)).isInstanceOf(expectedException); + } + + @Test + public void shouldNotThrowExceptionWhenStatusIsOk() { + // given + ClientResponseContext responseContext = createMockResponseContext(Status.OK); + // when, then + assertThatCode(() -> mapper.filter(null, responseContext)).doesNotThrowAnyException(); + } + + @Test + public void shouldThrowExceptionWithCustomMessageWhenResponseHasEntity() { + // given + ClientResponseContext responseContext = createMockResponseContext(Status.BAD_REQUEST); + when(responseContext.hasEntity()).thenReturn(true); + when(responseContext.getEntityStream()).thenReturn(IOUtils.toInputStream("test message", Charsets.UTF_8)); + // when, then + assertThatThrownBy(() -> mapper.filter(null, responseContext)).isInstanceOf(BadRequestException.class) + .hasMessage("test message"); + } + + @Test + public void shouldThrowExceptionWithDefaultMessageWhenResponseHasNoEntity() { + // given + ClientResponseContext responseContext = createMockResponseContext(Status.BAD_REQUEST); + when(responseContext.hasEntity()).thenReturn(false); + // when, then + assertThatThrownBy(() -> mapper.filter(null, responseContext)).isInstanceOf(BadRequestException.class) + .hasMessage("empty message"); + } + + private static ClientResponseContext createMockResponseContext(Status status) { + ClientResponseContext responseContext = mock(ClientResponseContext.class); + when(responseContext.getStatusInfo()).thenReturn(status); + when(responseContext.getStatus()).thenReturn(status.getStatusCode()); + return responseContext; + } +}
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerSupportTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerSupportTest.java new file mode 100644 index 0000000000..0a323e43d8 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerSupportTest.java @@ -0,0 +1,83 @@ +/*- + * ============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.client.appc; + +import static org.assertj.core.api.Assertions.assertThat; + +import junitparams.JUnitParamsRunner; +import junitparams.Parameters; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.openecomp.appc.client.lcm.model.Status; +import org.openecomp.mso.client.appc.ApplicationControllerSupport.StatusCategory; + +@RunWith(JUnitParamsRunner.class) +public class ApplicationControllerSupportTest { + + public static Object[][] statusesAndCategories() { + return new Object[][]{ + {100, StatusCategory.NORMAL}, + {200, StatusCategory.ERROR}, + {300, StatusCategory.ERROR}, + {400, StatusCategory.NORMAL}, + {401, StatusCategory.ERROR}, + {500, StatusCategory.NORMAL}, + {501, StatusCategory.ERROR}, + {502, StatusCategory.WARNING}, + {800, StatusCategory.WARNING}, + }; + } + + public static Object[][] statusesAndFinalities() { + return new Object[][]{ + {100, false}, + {200, true}, + {300, true}, + {400, true}, + {500, false}, + {800, true}, + }; + } + + @Test + @Parameters(method = "statusesAndCategories") + public void shouldReturnCategoryForCode(int code, StatusCategory category) throws Exception { + // when + StatusCategory detectedCategory = ApplicationControllerSupport.getCategoryOf(createStatus(code)); + // then + assertThat(detectedCategory).isEqualTo(category); + } + + @Test + @Parameters(method = "statusesAndFinalities") + public void shouldReturnFinalityForCode(int code, boolean expectedFinality) throws Exception { + // when + boolean finality = ApplicationControllerSupport.getFinalityOf(createStatus(code)); + // then + assertThat(finality).isEqualTo(expectedFinality); + } + + private Status createStatus(int code) { + Status status = new Status(); + status.setCode(code); + return status; + } +}
\ No newline at end of file diff --git a/bpmn/MSOCoreBPMN/pom.xml b/bpmn/MSOCoreBPMN/pom.xml index 267f175533..960a553757 100644 --- a/bpmn/MSOCoreBPMN/pom.xml +++ b/bpmn/MSOCoreBPMN/pom.xml @@ -2,12 +2,12 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>bpmn</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>MSOCoreBPMN</artifactId> <packaging>jar</packaging> @@ -128,7 +128,7 @@ <artifactId>Saxon-HE</artifactId> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>common</artifactId> <version>${project.version}</version> </dependency> @@ -164,7 +164,7 @@ <scope>test</scope> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency> diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/HealthCheckHandler.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/HealthCheckHandler.java index 204d9e4e5e..9c79df85ff 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/HealthCheckHandler.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/HealthCheckHandler.java @@ -238,9 +238,10 @@ public class HealthCheckHandler { BPMNLogger.debug(healthcheckDebugEnabled, "Post url is: " + url); //now create a soap request message as follows: - final StringBuffer payload = new StringBuffer(); + final StringBuilder payload = new StringBuilder(); payload.append("\n"); - payload.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:req=\"" + adapterNamespace + "/requestsdb\">\n"); + payload.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:req=\"") + .append(adapterNamespace).append("/requestsdb\">\n"); payload.append("<soapenv:Header/>\n"); payload.append("<soapenv:Body>\n"); payload.append("<req:getSiteStatus>\n"); @@ -270,7 +271,7 @@ public class HealthCheckHandler { BufferedReader rd = new BufferedReader( new InputStreamReader(response.getEntity().getContent())); - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); String line = ""; while ((line = rd.readLine()) != null) { result.append(line); diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/ServiceDecomposition.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/ServiceDecomposition.java index 0e985cc8f1..c81e96dccb 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/ServiceDecomposition.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/ServiceDecomposition.java @@ -150,7 +150,7 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable { */
@JsonIgnore
public String getServiceResourcesJsonString(){
- StringBuffer serviceResourcesJsonStringBuffer = new StringBuffer();
+ StringBuilder serviceResourcesJsonStringBuffer = new StringBuilder();
serviceResourcesJsonStringBuffer.append(listToJson((this.getServiceNetworks())));
serviceResourcesJsonStringBuffer.append(listToJson((this.getServiceVnfs())));
serviceResourcesJsonStringBuffer.append(listToJson((this.getServiceAllottedResources())));
@@ -186,15 +186,13 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable { @JsonIgnore
public String getVnfResource(String resourceObjectId) {
- Iterator<Resource> iter = getServiceResources().iterator();
- while (iter.hasNext()) {
- Resource resource = iter.next();
- //resource.getModelInfo().getModelInvariantId();
+ for (Resource resource : getServiceResources()) {
+ //resource.getModelInfo().getModelInvariantId();
- if ("extracted information".equals(resourceObjectId)){
- return resource.toJsonString();
- }
- }
+ if ("extracted information".equals(resourceObjectId)) {
+ return resource.toJsonString();
+ }
+ }
return "";
}
@@ -290,13 +288,11 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable { public boolean replaceResource(Resource newResource){
boolean result = false;
List serviceResources = getServiceResources();
- Iterator<Resource> iter = serviceResources.iterator();
- while (iter.hasNext()) {
- Resource resource = iter.next();
+ for (Resource resource : (Iterable<Resource>) serviceResources) {
System.out.println("resource found");
- if (resource.resourceType == newResource.resourceType){
+ if (resource.resourceType == newResource.resourceType) {
System.out.println("resource type matches");
- if (resource.getResourceId().equalsIgnoreCase(newResource.getResourceId())){
+ if (resource.getResourceId().equalsIgnoreCase(newResource.getResourceId())) {
System.out.println("resource id matches");
//returns TRUE if replacement is a success
result = Collections.replaceAll(serviceResources, resource, newResource);
@@ -326,12 +322,9 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable { */
public boolean deleteResource(Resource resource){
List serviceResources = getServiceResources();
- Iterator<Resource> iter = serviceResources.iterator();
- while (iter.hasNext()) {
- Resource item = iter.next();
-
- if (item.resourceType == resource.resourceType){
- if (item.getResourceId().equalsIgnoreCase(resource.getResourceId())){
+ for (Resource item : (Iterable<Resource>) serviceResources) {
+ if (item.resourceType == resource.resourceType) {
+ if (item.getResourceId().equalsIgnoreCase(resource.getResourceId())) {
//returns TRUE if replacement is a success
return serviceResources.remove(resource);
}
@@ -377,10 +370,8 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable { @JsonIgnore
public Resource getServiceResource(String resourceId){
List<Resource> resources = getServiceResources();
- Iterator<Resource> iter = resources.iterator();
- while (iter.hasNext()){
- Resource resource = iter.next();
- if (resource.getResourceId().equalsIgnoreCase(resourceId)){
+ for (Resource resource : resources) {
+ if (resource.getResourceId().equalsIgnoreCase(resourceId)) {
//match
return resource;
}
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonUtils.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonUtils.java index 640dc697a2..2612c383ab 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonUtils.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonUtils.java @@ -122,7 +122,7 @@ public class JsonUtils { * @return String containing the XML translation
*/
public static String toXMLString(Object obj, String tagName) throws JSONException {
- StringBuffer strBuf = new StringBuffer();
+ StringBuilder strBuf = new StringBuilder();
int i;
JSONArray jsonArr;
JSONObject jsonObj;
@@ -388,7 +388,7 @@ public class JsonUtils { return 0;
} else {
if (rawValue instanceof Integer) {
- msoLogger.debug("getJsonValue(): the raw value is an Integer Object=" + ((String) rawValue).toString());
+ msoLogger.debug("getJsonValue(): the raw value is an Integer Object=" + ((String) rawValue));
return (Integer) rawValue;
} else {
msoLogger.debug("getJsonValue(): the raw value is NOT an Integer Object=" + rawValue.toString());
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/xml/XmlTool.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/xml/XmlTool.java index c2b832812e..f5b9f8dc56 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/xml/XmlTool.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/xml/XmlTool.java @@ -64,10 +64,10 @@ public final class XmlTool { private static final Map<String, Integer> ENTITIES = new HashMap<>(); private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.BPEL); static { - ENTITIES.put("amp", new Integer(38)); - ENTITIES.put("quot", new Integer(34)); - ENTITIES.put("lt", new Integer(60)); - ENTITIES.put("gt", new Integer(62)); + ENTITIES.put("amp", 38); + ENTITIES.put("quot", 34); + ENTITIES.put("lt", 60); + ENTITIES.put("gt", 62); } /** @@ -155,7 +155,7 @@ public final class XmlTool { out.append("&"); modified = true; } else if (c < 32 || c > 126) { - out.append("&#" + (int)c + ";"); + out.append("&#").append((int) c).append(";"); modified = true; } else { out.append(c); @@ -199,7 +199,7 @@ public final class XmlTool { out.append("&"); modified = true; } else if (c < 32 || c > 126) { - out.append("&#" + (int)c + ";"); + out.append("&#").append((int) c).append(";"); modified = true; } else { out.append(c); diff --git a/bpmn/MSOInfrastructureBPMN/pom.xml b/bpmn/MSOInfrastructureBPMN/pom.xml index 908fcce276..a72240955a 100644 --- a/bpmn/MSOInfrastructureBPMN/pom.xml +++ b/bpmn/MSOInfrastructureBPMN/pom.xml @@ -1,7 +1,7 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>bpmn</artifactId>
<version>1.2.0-SNAPSHOT</version>
</parent>
@@ -281,17 +281,17 @@ <version>3.4</version>
</dependency>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>MSOCoreBPMN</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>MSOCommonBPMN</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>MSOCommonBPMN</artifactId>
<version>${project.version}</version>
<classifier>tests</classifier>
@@ -299,7 +299,7 @@ </dependency>
<dependency>
<!-- unit test utilities -->
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>MSOCoreBPMN</artifactId>
<version>${project.version}</version>
<classifier>tests</classifier>
@@ -317,7 +317,7 @@ <version>4.3.2.RELEASE</version>
</dependency>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>MSORESTClient</artifactId>
<version>${project.version}</version>
</dependency>
@@ -420,7 +420,7 @@ <!--for yang tools-->
<!-- <dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>common</artifactId>
<version>1.2.0-SNAPSHOT</version>
</dependency>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy index d15be38042..ef2388fe44 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy @@ -32,17 +32,20 @@ import org.openecomp.mso.bpmn.common.scripts.AaiUtil import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils +import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils; import org.openecomp.mso.bpmn.core.RollbackData import org.openecomp.mso.bpmn.core.WorkflowException import org.openecomp.mso.rest.APIResponse; import org.openecomp.mso.rest.RESTClient import org.openecomp.mso.rest.RESTConfig +import java.util.List; import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError import org.camunda.bpm.engine.runtime.Execution import org.json.JSONObject; +import org.json.JSONArray; import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils; @@ -77,6 +80,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { String Prefix="DCRESI_" ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() + CatalogDbUtils cutils = new CatalogDbUtils() public void preProcessRequest (Execution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") @@ -402,7 +406,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { String serviceInstanceName = execution.getVariable("serviceInstanceName") String nsServiceName = resourceType + "_" + serviceInstanceName execution.setVariable("nsServiceName", nsServiceName) - utils.log("INFO", "Prepare VFC Request nsServiceName:" + nsServiceName, isDebugEnabled) + utils.log("INFO", "Prepare Resource Request nsServiceName:" + nsServiceName, isDebugEnabled) String globalSubscriberId = execution.getVariable("globalSubscriberId") String serviceType = execution.getVariable("serviceType") String serviceId = execution.getVariable("serviceInstanceId") @@ -412,7 +416,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { String resourcesStr = jsonUtil.getJsonValue(incomingRequest, "service.parameters.resources") String nsServiceDescription = jsonUtil.getJsonValue(incomingRequest, "service.description") execution.setVariable("nsServiceDescription", nsServiceDescription) - utils.log("INFO", "Prepare VFC Request nsServiceDescription:" + nsServiceDescription, isDebugEnabled) + utils.log("INFO", "Prepare Resource Request nsServiceDescription:" + nsServiceDescription, isDebugEnabled) List<String> resourceList = jsonUtil.StringArrayToList(execution, resourcesStr) //reset the variables execution.setVariable("resourceUUID", "") @@ -427,18 +431,102 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { execution.setVariable("resourceUUID", resourceUUID) execution.setVariable("resourceInvariantUUID", resourceInvariantUUID) execution.setVariable("resourceParameters", resourceParameters) - utils.log("INFO", "Prepare VFC Request resourceType:" + resourceType, isDebugEnabled) - utils.log("INFO", "Prepare VFC Request resourceUUID:" + resourceUUID, isDebugEnabled) - utils.log("INFO", "Prepare VFC Request resourceParameters:" + resourceParameters, isDebugEnabled) + utils.log("INFO", "Prepare Resource Request resourceType:" + resourceType, isDebugEnabled) + utils.log("INFO", "Prepare Resource Request resourceUUID:" + resourceUUID, isDebugEnabled) + utils.log("INFO", "Prepare Resource Request resourceParameters:" + resourceParameters, isDebugEnabled) } } - utils.log("INFO", "Prepare VFC Request finished", isDebugEnabled) + utils.log("INFO", "Prepare Controller Request finished", isDebugEnabled) + } + /** + * sequence resource. we should analyze resource sequence from service template + * Here we make VF first, and then network for E2E service. + */ + public void sequenceResoure(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start sequenceResoure Process ======== ", isDebugEnabled) + String serviceModelUUID = execution.getVariable("modelUuid") + JSONArray networks = cutils.getAllNetworksByServiceModelUuid(execution, serviceModelUUID) + utils.log("DEBUG", "obtained Network list: " + networks, isDebugEnabled) + if (networks == null) { + utils.log("INFO", "No matching networks in Catalog DB for serviceModelUUID=" + serviceModelUUID, isDebugEnabled) + } + String incomingRequest = execution.getVariable("uuiRequest") + String resourcesStr = jsonUtil.getJsonValue(incomingRequest, "service.parameters.resources") + List<String> resourceList = jsonUtil.StringArrayToList(execution, resourcesStr) + // Only one match herenetwork + List<String> nsResources = new ArrayList<String>() + List<String> wanResources = new ArrayList<String>() + List<String> resourceSequence = new ArrayList<String>() + for(String resource : resourceList){ + String resourceName = jsonUtil.getJsonValue(resource, "resourceName") + String resourceUUID = jsonUtil.getJsonValue(resource, "resourceId") + //check is network. + boolean isNetwork = false; + if(networks != null){ + for(int i = 0; i < networks.size(); i++){ + String networkUUID = jsonUtil.getJsonValueForKey(networks.get(i), "modelVersionId") + if(StringUtils.equals(resourceUUID, networkUUID)){ + isNetwork = true + break + } + } + } + if(isNetwork){ + wanResources.add(resourceName) + }else{ + nsResources.add(resourceName) + } + } + resourceSequence.addAll(nsResources) + resourceSequence.addAll(wanResources) + String isContainsWanResource = wanResources.isEmpty() ? "false" : "true" + execution.setVariable("isContainsWanResource", isContainsWanResource) + execution.setVariable("currentResourceIndex", 0) + execution.setVariable("resourceSequence", resourceSequence) + utils.log("INFO", "resourceSequence: " + resourceSequence, isDebugEnabled) + execution.setVariable("wanResources", wanResources) + utils.log("INFO", "======== COMPLETED sequenceResoure Process ======== ", isDebugEnabled) } + public void getCurrentResoure(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start getCurrentResoure Process ======== ", isDebugEnabled) + def currentIndex = execution.getVariable("currentResourceIndex") + List<String> resourceSequence = execution.getVariable("resourceSequence") + List<String> wanResources = execution.getVariable("wanResources") + String resourceName = resourceSequence.get(currentIndex) + execution.setVariable("resourceType",resourceName) + if(wanResources.contains(resourceName)){ + execution.setVariable("controllerInfo", "SDN-C") + }else{ + execution.setVariable("controllerInfo", "VF-C") + } + utils.log("INFO", "======== COMPLETED getCurrentResoure Process ======== ", isDebugEnabled) + } + /** - * post config request. + * sequence resource */ - public void postConfigRequest(execution){ - //now do noting - } + public void parseNextResource(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start parseNextResource Process ======== ", isDebugEnabled) + def currentIndex = execution.getVariable("currentResourceIndex") + def nextIndex = currentIndex + 1 + execution.setVariable("currentResourceIndex", nextIndex) + List<String> resourceSequence = execution.getVariable("resourceSequence") + if(nextIndex >= resourceSequence.size()){ + execution.setVariable("allResourceFinished", "true") + }else{ + execution.setVariable("allResourceFinished", "false") + } + utils.log("INFO", "======== COMPLETED parseNextResource Process ======== ", isDebugEnabled) + } + + /** + * post config request. + */ + public void postConfigRequest(execution){ + //now do noting + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy index ecc1488cbc..bf61013c76 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy @@ -35,6 +35,7 @@ import org.openecomp.mso.rest.APIResponse; import org.openecomp.mso.rest.RESTClient import org.openecomp.mso.rest.RESTConfig +import java.util.List; import java.util.UUID; import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory @@ -589,5 +590,72 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess } utils.log("INFO", " ======== END preResourceDelete Process ======== ", isDebugEnabled) } + + public void sequenceResource(execution){ + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + + utils.log("INFO", " ======== STARTED sequenceResource Process ======== ", isDebugEnabled) + List<String> nsResources = new ArrayList<String>() + List<String> wanResources = new ArrayList<String>() + List<String> resourceSequence = new ArrayList<String>() + + String serviceRelationShip = execution.getVariable("serviceRelationShip") + + + def jsonSlurper = new JsonSlurper() + def jsonOutput = new JsonOutput() + List relationShipList = jsonSlurper.parseText(serviceRelationShip) + + if (relationShipList != null) { + relationShipList.each { + if(StringUtils.containsIgnoreCase(it.resourceType, "overlay") || StringUtils.containsIgnoreCase(it.resourceType, "underlay")){ + wanResources.add(it.resourceType) + }else{ + nsResources.add(it.resourceType) + } + } + } + resourceSequence.addAll(wanResources) + resourceSequence.addAll(nsResources) + String isContainsWanResource = wanResources.isEmpty() ? "false" : "true" + execution.setVariable("isContainsWanResource", isContainsWanResource) + execution.setVariable("currentResourceIndex", 0) + execution.setVariable("resourceSequence", resourceSequence) + utils.log("INFO", "resourceSequence: " + resourceSequence, isDebugEnabled) + execution.setVariable("wanResources", wanResources) + utils.log("INFO", " ======== END sequenceResource Process ======== ", isDebugEnabled) + } + + public void getCurrentResource(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start getCurrentResoure Process ======== ", isDebugEnabled) + def currentIndex = execution.getVariable("currentResourceIndex") + List<String> resourceSequence = execution.getVariable("resourceSequence") + List<String> wanResources = execution.getVariable("wanResources") + String resourceName = resourceSequence.get(currentIndex) + execution.setVariable("resourceType",resourceName) + if(wanResources.contains(resourceName)){ + execution.setVariable("controllerInfo", "SDN-C") + }else{ + execution.setVariable("controllerInfo", "VF-C") + } + utils.log("INFO", "======== COMPLETED getCurrentResoure Process ======== ", isDebugEnabled) + } + + public void parseNextResource(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start parseNextResource Process ======== ", isDebugEnabled) + def currentIndex = execution.getVariable("currentResourceIndex") + def nextIndex = currentIndex + 1 + execution.setVariable("currentResourceIndex", nextIndex) + List<String> resourceSequence = execution.getVariable("resourceSequence") + if(nextIndex >= resourceSequence.size()){ + execution.setVariable("allResourceFinished", "true") + }else{ + execution.setVariable("allResourceFinished", "false") + } + utils.log("INFO", "======== COMPLETED parseNextResource Process ======== ", isDebugEnabled) + } + }
\ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/AbstractSdncOperationTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/AbstractSdncOperationTask.java index dfa390c296..54bd8cda61 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/AbstractSdncOperationTask.java +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/AbstractSdncOperationTask.java @@ -319,7 +319,6 @@ public abstract class AbstractSdncOperationTask extends BaseTask { updateResOperStatus(resourceOperationStatus); logger.info("AbstractSdncOperationTask.updateProgress end!"); } catch (Exception exception) { - System.out.println(exception); logger.info("exception: AbstractSdncOperationTask.updateProgress fail!"); logger.error("exception: AbstractSdncOperationTask.updateProgress fail:", exception); LOGGER.error(MessageEnum.GENERAL_EXCEPTION, " updateProgress catch exception: ", "", this.getTaskName(), MsoLogger.ErrorCode.UnknownError, exception.getClass().toString()); @@ -403,7 +402,6 @@ public abstract class AbstractSdncOperationTask extends BaseTask { return vlaue; } } catch (Exception e) { - System.out.println(e); LOGGER.error(MessageEnum.GENERAL_EXCEPTION, " getMsbIp catch exception: ", "", this.getTaskName(), MsoLogger.ErrorCode.UnknownError, e.getClass().toString()); } return defaultValue; @@ -416,7 +414,6 @@ public abstract class AbstractSdncOperationTask extends BaseTask { return vlaue; } } catch (Exception e) { - System.out.println(e); LOGGER.error(MessageEnum.GENERAL_EXCEPTION, " getMsbIp catch exception: ", "", this.getTaskName(), MsoLogger.ErrorCode.UnknownError, e.getClass().toString()); } return defaultValue; diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java index 698f0c54dc..60bc83b0ea 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java @@ -77,7 +77,7 @@ public class SdncNetworkTopologyOperationTask extends AbstractSdncOperationTask httpPost.addHeader("Authorization", defaulAuth); httpPost.addHeader("Content-type", "application/json"); String postBody = getPostbody(inputEntity); - LOGGER.info(MessageEnum.RA_SEND_REQUEST_SDNC, postBody.toString(), "SDNC", ""); + LOGGER.info(MessageEnum.RA_SEND_REQUEST_SDNC, postBody, "SDNC", ""); httpPost.setEntity(new StringEntity(postBody, ContentType.APPLICATION_XML)); httpPost(url, httpPost); logger.info("SdncNetworkTopologyOperationTask.Send2SdncDirectly end!"); diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java index 89d0958c75..602894475c 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java @@ -77,7 +77,7 @@ public class SdncServiceTopologyOperationTask extends AbstractSdncOperationTask httpPost.addHeader("Authorization", defaulAuth); httpPost.addHeader("Content-type", "application/json"); String postBody = getPostbody(inputEntity); - LOGGER.info(MessageEnum.RA_SEND_REQUEST_SDNC, postBody.toString(), "SDNC", ""); + LOGGER.info(MessageEnum.RA_SEND_REQUEST_SDNC, postBody, "SDNC", ""); httpPost.setEntity(new StringEntity(postBody, ContentType.APPLICATION_XML)); httpPost(url, httpPost); logger.info("SdncServiceTopologyOperationTask.Send2SdncDirectly end!"); diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn index 2fbb898f7b..0849c46b20 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> - <bpmn2:process id="DoCreateE2EServiceInstance" name="DoCreateE2EServiceInstance" isExecutable="true"> + <bpmn2:process id="DoCreateE2EServiceInstanceV3" name="DoCreateE2EServiceInstanceV3" isExecutable="true"> <bpmn2:startEvent id="createSI_startEvent" name="Start Flow"> <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> </bpmn2:startEvent> @@ -98,23 +98,14 @@ dcsi.postProcessAAIGET(execution)]]></bpmn2:script> def ddsi = new DoCreateE2EServiceInstance() ddsi.postProcessAAIPUT(execution)]]></bpmn2:script> </bpmn2:scriptTask> - <bpmn2:scriptTask id="ScriptTask_0081lne" name="Prepare Resource Requst For overlay" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_1pjr82f</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0ofqw6v</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -execution.setVariable("resourceType", "overlay") -def csi = new DoCreateE2EServiceInstance() -csi.preResourceRequest(execution)]]></bpmn2:script> - </bpmn2:scriptTask> - <bpmn2:scriptTask id="ScriptTask_0wvq4t8" name="Prepare Resource Request for vEPC" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_05gdjox</bpmn2:incoming> + <bpmn2:scriptTask id="ScriptTask_0wvq4t8" name="Prepare Resource Request for NS" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1q1d7d9</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_15zgrcq</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -execution.setVariable("resourceType", "vEPC") def csi = new DoCreateE2EServiceInstance() csi.preResourceRequest(execution)]]></bpmn2:script> </bpmn2:scriptTask> - <bpmn2:callActivity id="CallActivity_0uwm4l1" name="Call DoCreateVFCNetworkServiceInstance For vEPC" calledElement="DoCreateVFCNetworkServiceInstance"> + <bpmn2:callActivity id="CallActivity_0uwm4l1" name="Call DoCreateVFCNetworkServiceInstance For NS" calledElement="DoCreateVFCNetworkServiceInstance"> <bpmn2:extensionElements> <camunda:in source="nsServiceName" target="nsServiceName" /> <camunda:in source="nsServiceDescription" target="nsServiceDescription" /> @@ -128,23 +119,20 @@ csi.preResourceRequest(execution)]]></bpmn2:script> <camunda:in source="operationType" target="operationType" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_15zgrcq</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0k4q7jm</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1aya35q</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:scriptTask id="ScriptTask_1xdjlzm" name="Post Config Service Instance Creation" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_1vvdkcs</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0lt42ul</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_092ghvu</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def csi = new DoCreateE2EServiceInstance() csi.postConfigRequest(execution)]]></bpmn2:script> </bpmn2:scriptTask> - <bpmn2:sequenceFlow id="SequenceFlow_0ofqw6v" sourceRef="ScriptTask_0081lne" targetRef="CallActivity_09c3ajg" /> <bpmn2:sequenceFlow id="SequenceFlow_15zgrcq" sourceRef="ScriptTask_0wvq4t8" targetRef="CallActivity_0uwm4l1" /> - <bpmn2:sequenceFlow id="SequenceFlow_1vvdkcs" sourceRef="CallActivity_09c3ajg" targetRef="ScriptTask_1xdjlzm" /> <bpmn2:sequenceFlow id="SequenceFlow_092ghvu" sourceRef="ScriptTask_1xdjlzm" targetRef="EndEvent_0kbbt94" /> <bpmn2:endEvent id="EndEvent_0kbbt94"> <bpmn2:incoming>SequenceFlow_092ghvu</bpmn2:incoming> </bpmn2:endEvent> - <bpmn2:sequenceFlow id="SequenceFlow_0k4q7jm" sourceRef="CallActivity_0uwm4l1" targetRef="Task_0aidjmp" /> <bpmn2:sequenceFlow id="SequenceFlow_1qctzm0" sourceRef="Task_0uiekmn" targetRef="Task_0raqlqc" /> <bpmn2:scriptTask id="Task_0uiekmn" name="Prepare Resource Oper Status" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_03fabby</bpmn2:incoming> @@ -153,7 +141,6 @@ csi.postConfigRequest(execution)]]></bpmn2:script> def ddsi = new DoCreateE2EServiceInstance() ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script> </bpmn2:scriptTask> - <bpmn2:sequenceFlow id="SequenceFlow_05gdjox" sourceRef="Task_0raqlqc" targetRef="ScriptTask_0wvq4t8" /> <bpmn2:serviceTask id="Task_0raqlqc" name="Init Resource Oper Status"> <bpmn2:extensionElements> <camunda:connector> @@ -174,63 +161,94 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script> </camunda:connector> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_1qctzm0</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_05gdjox</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_10reo7r</bpmn2:outgoing> </bpmn2:serviceTask> - <bpmn2:sequenceFlow id="SequenceFlow_0ua1bbk" sourceRef="Task_0aidjmp" targetRef="Task_03n6y9h" /> - <bpmn2:scriptTask id="Task_0aidjmp" name="Prepare Resource Request For vIMS" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_0k4q7jm</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0ua1bbk</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -execution.setVariable("resourceType", "vIMS") -def csi = new DoCreateE2EServiceInstance() -csi.preResourceRequest(execution)]]></bpmn2:script> - </bpmn2:scriptTask> - <bpmn2:sequenceFlow id="SequenceFlow_1hgiln0" sourceRef="Task_03n6y9h" targetRef="Task_0io5qby" /> - <bpmn2:callActivity id="Task_03n6y9h" name="Call DoCreateVFCNetworkServiceInstance For vIMS" calledElement="DoCreateVFCNetworkServiceInstance"> - <bpmn2:extensionElements> - <camunda:in source="nsServiceName" target="nsServiceName" /> - <camunda:in source="nsServiceDescription" target="nsServiceDescription" /> - <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> - <camunda:in source="serviceType" target="serviceType" /> - <camunda:in source="serviceId" target="serviceId" /> - <camunda:in source="operationId" target="operationId" /> - <camunda:in source="resourceType" target="resourceType" /> - <camunda:in source="resourceUUID" target="resourceUUID" /> - <camunda:in source="resourceParameters" target="resourceParameters" /> - <camunda:in source="operationType" target="operationType" /> - </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_0ua1bbk</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1hgiln0</bpmn2:outgoing> - </bpmn2:callActivity> - <bpmn2:sequenceFlow id="SequenceFlow_1vo0235" sourceRef="Task_0io5qby" targetRef="Task_0pkhzoj" /> <bpmn2:serviceTask id="Task_0io5qby" name="Call Sync SDNC service Create " camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncServiceTopologyOperationTask"> - <bpmn2:incoming>SequenceFlow_1hgiln0</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1vo0235</bpmn2:outgoing> + <bpmn2:incoming>SequenceFlow_1limzcd</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_11f2zuu</bpmn2:outgoing> </bpmn2:serviceTask> - <bpmn2:sequenceFlow id="SequenceFlow_17i1ors" sourceRef="Task_0pkhzoj" targetRef="Task_0gs55f1" /> - <bpmn2:sequenceFlow id="SequenceFlow_1pjr82f" sourceRef="Task_0gs55f1" targetRef="ScriptTask_0081lne" /> - <bpmn2:scriptTask id="Task_0pkhzoj" name="Prepare Resource Request For underlay" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_1vo0235</bpmn2:incoming> + <bpmn2:scriptTask id="Task_0pkhzoj" name="Prepare Resource Request For WAN" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_10q9kus</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_17i1ors</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -execution.setVariable("resourceType", "underlay") def csi = new DoCreateE2EServiceInstance() csi.preResourceRequest(execution)]]></bpmn2:script> </bpmn2:scriptTask> - <bpmn2:serviceTask id="Task_0gs55f1" name="Call Underlay Create" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask"> + <bpmn2:serviceTask id="Task_0gs55f1" name="Call WAN Create" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask"> <bpmn2:incoming>SequenceFlow_17i1ors</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1pjr82f</bpmn2:outgoing> - </bpmn2:serviceTask> - <bpmn2:serviceTask id="CallActivity_09c3ajg" name="Call Overlay Create" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask"> - <bpmn2:incoming>SequenceFlow_0ofqw6v</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1vvdkcs</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_02svciv</bpmn2:outgoing> </bpmn2:serviceTask> <bpmn2:sequenceFlow id="SequenceFlow_03fabby" sourceRef="ScriptTask_0q37vn9" targetRef="Task_0uiekmn" /> + <bpmn2:sequenceFlow id="SequenceFlow_17i1ors" sourceRef="Task_0pkhzoj" targetRef="Task_0gs55f1" /> + <bpmn2:sequenceFlow id="SequenceFlow_10reo7r" sourceRef="Task_0raqlqc" targetRef="ScriptTask_1y0los4" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1gzdeq0" name="Check Current Resource"> + <bpmn2:incoming>SequenceFlow_04d3qcu</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_10q9kus</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1q1d7d9</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_11f2zuu" sourceRef="Task_0io5qby" targetRef="ScriptTask_0l4nkqr" /> + <bpmn2:scriptTask id="ScriptTask_1y0los4" name="Sequence Resource" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_10reo7r</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13d9g1n</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoCreateE2EServiceInstance() +ddsi.sequenceResoure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_13d9g1n" sourceRef="ScriptTask_1y0los4" targetRef="ExclusiveGateway_07rr3wp" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0n9y4du" name="All ResourceFinished?"> + <bpmn2:incoming>SequenceFlow_1jenxlp</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0lt42ul</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0q6uy30</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0lt42ul" name="yes" sourceRef="ExclusiveGateway_0n9y4du" targetRef="ScriptTask_1xdjlzm"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("allResourceFinished" ) == "true" )}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0q6uy30" name="no" sourceRef="ExclusiveGateway_0n9y4du" targetRef="ScriptTask_0l4nkqr"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("allResourceFinished" ) == "false" )}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="ScriptTask_0y4u2ty" name="Parse Next Resource" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1aya35q</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_02svciv</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1jenxlp</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoCreateE2EServiceInstance() +ddsi.parseNextResource(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1aya35q" sourceRef="CallActivity_0uwm4l1" targetRef="ScriptTask_0y4u2ty" /> + <bpmn2:sequenceFlow id="SequenceFlow_02svciv" sourceRef="Task_0gs55f1" targetRef="ScriptTask_0y4u2ty" /> + <bpmn2:sequenceFlow id="SequenceFlow_1jenxlp" sourceRef="ScriptTask_0y4u2ty" targetRef="ExclusiveGateway_0n9y4du" /> + <bpmn2:scriptTask id="ScriptTask_0l4nkqr" name="Get Current Resource" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_11f2zuu</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0q6uy30</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_18wj44x</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_04d3qcu</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoCreateE2EServiceInstance() +ddsi.getCurrentResoure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1q1d7d9" name="VF-C" sourceRef="ExclusiveGateway_1gzdeq0" targetRef="ScriptTask_0wvq4t8"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("controllerInfo" ) == "VF-C" )}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_10q9kus" name="SDN-C" sourceRef="ExclusiveGateway_1gzdeq0" targetRef="Task_0pkhzoj"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("controllerInfo" ) == "SDN-C" )}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_04d3qcu" sourceRef="ScriptTask_0l4nkqr" targetRef="ExclusiveGateway_1gzdeq0" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_07rr3wp" name="Is SDN-C Service Needed"> + <bpmn2:incoming>SequenceFlow_13d9g1n</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1limzcd</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_18wj44x</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1limzcd" name="yes" sourceRef="ExclusiveGateway_07rr3wp" targetRef="Task_0io5qby"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("isContainsWanResource" ) == "true" )}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_18wj44x" name="no" sourceRef="ExclusiveGateway_07rr3wp" targetRef="ScriptTask_0l4nkqr"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("isContainsWanResource" ) == "false" )}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> </bpmn2:process> <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" /> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> - <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateE2EServiceInstance"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateE2EServiceInstanceV3"> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_47" bpmnElement="createSI_startEvent"> <dc:Bounds x="34" y="79" width="36" height="36" /> <bpmndi:BPMNLabel> @@ -275,35 +293,35 @@ csi.preResourceRequest(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="SubProcess_06d8lk8_di" bpmnElement="SubProcess_06d8lk8" isExpanded="true"> - <dc:Bounds x="-155" y="387" width="783" height="195" /> + <dc:Bounds x="-322" y="235" width="783" height="195" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="StartEvent_0yljq9y_di" bpmnElement="StartEvent_0yljq9y"> - <dc:Bounds x="-59" y="464" width="36" height="36" /> + <dc:Bounds x="-226" y="312" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-86" y="505" width="90" height="0" /> + <dc:Bounds x="-253" y="353" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_117lkk3_di" bpmnElement="EndEvent_117lkk3"> - <dc:Bounds x="574" y="464" width="36" height="36" /> + <dc:Bounds x="407" y="312" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="547" y="505" width="90" height="0" /> + <dc:Bounds x="380" y="353" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_1srx6p6_di" bpmnElement="CallActivity_1srx6p6"> - <dc:Bounds x="239" y="442" width="100" height="80" /> + <dc:Bounds x="72" y="290" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0eumzpf_di" bpmnElement="SequenceFlow_0eumzpf"> - <di:waypoint xsi:type="dc:Point" x="339" y="482" /> - <di:waypoint xsi:type="dc:Point" x="407" y="482" /> + <di:waypoint xsi:type="dc:Point" x="172" y="330" /> + <di:waypoint xsi:type="dc:Point" x="240" y="330" /> <bpmndi:BPMNLabel> - <dc:Bounds x="328" y="467" width="90" height="0" /> + <dc:Bounds x="161" y="315" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0tgrn11_di" bpmnElement="SequenceFlow_0tgrn11"> - <di:waypoint xsi:type="dc:Point" x="-23" y="482" /> - <di:waypoint xsi:type="dc:Point" x="76" y="482" /> + <di:waypoint xsi:type="dc:Point" x="-190" y="330" /> + <di:waypoint xsi:type="dc:Point" x="-91" y="330" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-18" y="467" width="90" height="0" /> + <dc:Bounds x="-185" y="315" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0i8cqdy_di" bpmnElement="ScriptTask_0i8cqdy"> @@ -320,80 +338,56 @@ csi.preResourceRequest(execution)]]></bpmn2:script> <dc:Bounds x="972" y="336" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_0ocetux_di" bpmnElement="ScriptTask_0ocetux"> - <dc:Bounds x="76" y="442" width="100" height="80" /> + <dc:Bounds x="-91" y="290" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1lqktwf_di" bpmnElement="SequenceFlow_1lqktwf"> - <di:waypoint xsi:type="dc:Point" x="176" y="482" /> - <di:waypoint xsi:type="dc:Point" x="239" y="482" /> + <di:waypoint xsi:type="dc:Point" x="9" y="330" /> + <di:waypoint xsi:type="dc:Point" x="72" y="330" /> <bpmndi:BPMNLabel> - <dc:Bounds x="163" y="467" width="90" height="0" /> + <dc:Bounds x="-4" y="315" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_1p0vyip_di" bpmnElement="ScriptTask_1p0vyip"> - <dc:Bounds x="407" y="442" width="100" height="80" /> + <dc:Bounds x="240" y="290" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1xzgv5k_di" bpmnElement="SequenceFlow_1xzgv5k"> - <di:waypoint xsi:type="dc:Point" x="507" y="482" /> - <di:waypoint xsi:type="dc:Point" x="539" y="482" /> - <di:waypoint xsi:type="dc:Point" x="539" y="482" /> - <di:waypoint xsi:type="dc:Point" x="574" y="482" /> + <di:waypoint xsi:type="dc:Point" x="340" y="330" /> + <di:waypoint xsi:type="dc:Point" x="372" y="330" /> + <di:waypoint xsi:type="dc:Point" x="372" y="330" /> + <di:waypoint xsi:type="dc:Point" x="407" y="330" /> <bpmndi:BPMNLabel> - <dc:Bounds x="509" y="482" width="90" height="0" /> + <dc:Bounds x="342" y="330" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0081lne_di" bpmnElement="ScriptTask_0081lne"> - <dc:Bounds x="-410" y="819" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_0wvq4t8_di" bpmnElement="ScriptTask_0wvq4t8"> - <dc:Bounds x="789" y="819" width="100" height="80" /> + <dc:Bounds x="134" y="674" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_0uwm4l1_di" bpmnElement="CallActivity_0uwm4l1"> - <dc:Bounds x="632" y="819" width="100" height="80" /> + <dc:Bounds x="-23" y="674" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_1xdjlzm_di" bpmnElement="ScriptTask_1xdjlzm"> - <dc:Bounds x="-741" y="819" width="100" height="80" /> + <dc:Bounds x="-597" y="782" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0ofqw6v_di" bpmnElement="SequenceFlow_0ofqw6v"> - <di:waypoint xsi:type="dc:Point" x="-410" y="859" /> - <di:waypoint xsi:type="dc:Point" x="-478" y="859" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="-489" y="838" width="90" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_15zgrcq_di" bpmnElement="SequenceFlow_15zgrcq"> - <di:waypoint xsi:type="dc:Point" x="789" y="859" /> - <di:waypoint xsi:type="dc:Point" x="732" y="859" /> + <di:waypoint xsi:type="dc:Point" x="134" y="714" /> + <di:waypoint xsi:type="dc:Point" x="77" y="714" /> <bpmndi:BPMNLabel> - <dc:Bounds x="715.5" y="838" width="90" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1vvdkcs_di" bpmnElement="SequenceFlow_1vvdkcs"> - <di:waypoint xsi:type="dc:Point" x="-578" y="859" /> - <di:waypoint xsi:type="dc:Point" x="-641" y="859" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="-654.5" y="838" width="90" height="12" /> + <dc:Bounds x="61" y="693" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_092ghvu_di" bpmnElement="SequenceFlow_092ghvu"> - <di:waypoint xsi:type="dc:Point" x="-741" y="859" /> - <di:waypoint xsi:type="dc:Point" x="-787" y="859" /> + <di:waypoint xsi:type="dc:Point" x="-597" y="822" /> + <di:waypoint xsi:type="dc:Point" x="-780" y="822" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-809" y="838" width="90" height="12" /> + <dc:Bounds x="-733.5" y="801" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="EndEvent_01p249c_di" bpmnElement="EndEvent_0kbbt94"> - <dc:Bounds x="-823" y="841" width="36" height="36" /> + <dc:Bounds x="-816" y="804" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-941" y="881" width="90" height="12" /> + <dc:Bounds x="-934" y="844" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0k4q7jm_di" bpmnElement="SequenceFlow_0k4q7jm"> - <di:waypoint xsi:type="dc:Point" x="632" y="859" /> - <di:waypoint xsi:type="dc:Point" x="596" y="859" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="569" y="838" width="90" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1qctzm0_di" bpmnElement="SequenceFlow_1qctzm0"> <di:waypoint xsi:type="dc:Point" x="1022" y="668" /> <di:waypoint xsi:type="dc:Point" x="1022" y="704" /> @@ -404,75 +398,159 @@ csi.preResourceRequest(execution)]]></bpmn2:script> <bpmndi:BPMNShape id="ScriptTask_0v81r5h_di" bpmnElement="Task_0uiekmn"> <dc:Bounds x="972" y="588" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_05gdjox_di" bpmnElement="SequenceFlow_05gdjox"> + <bpmndi:BPMNShape id="ServiceTask_14tnuxf_di" bpmnElement="Task_0raqlqc"> + <dc:Bounds x="972" y="704" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_0qi8cgg_di" bpmnElement="Task_0io5qby"> + <dc:Bounds x="678" y="921" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0ue4dzp_di" bpmnElement="Task_0pkhzoj"> + <dc:Bounds x="148" y="921" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_1q727pm_di" bpmnElement="Task_0gs55f1"> + <dc:Bounds x="-23" y="921" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_03fabby_di" bpmnElement="SequenceFlow_03fabby"> + <di:waypoint xsi:type="dc:Point" x="1022" y="416" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="588" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1037" y="496" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_17i1ors_di" bpmnElement="SequenceFlow_17i1ors"> + <di:waypoint xsi:type="dc:Point" x="148" y="961" /> + <di:waypoint xsi:type="dc:Point" x="77" y="961" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="68" y="940" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_10reo7r_di" bpmnElement="SequenceFlow_10reo7r"> <di:waypoint xsi:type="dc:Point" x="1022" y="784" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="859" /> - <di:waypoint xsi:type="dc:Point" x="889" y="859" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="921" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1037" y="815.5" width="0" height="12" /> + <dc:Bounds x="1037" y="846.5" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ServiceTask_14tnuxf_di" bpmnElement="Task_0raqlqc"> - <dc:Bounds x="972" y="704" width="100" height="80" /> + <bpmndi:BPMNShape id="ExclusiveGateway_1gzdeq0_di" bpmnElement="ExclusiveGateway_1gzdeq0" isMarkerVisible="true"> + <dc:Bounds x="399" y="797" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="388" y="851" width="73" height="24" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0ua1bbk_di" bpmnElement="SequenceFlow_0ua1bbk"> - <di:waypoint xsi:type="dc:Point" x="496" y="859" /> - <di:waypoint xsi:type="dc:Point" x="446" y="859" /> + <bpmndi:BPMNEdge id="SequenceFlow_11f2zuu_di" bpmnElement="SequenceFlow_11f2zuu"> + <di:waypoint xsi:type="dc:Point" x="678" y="961" /> + <di:waypoint xsi:type="dc:Point" x="633" y="961" /> + <di:waypoint xsi:type="dc:Point" x="633" y="822" /> + <di:waypoint xsi:type="dc:Point" x="607" y="822" /> <bpmndi:BPMNLabel> - <dc:Bounds x="471" y="838" width="0" height="12" /> + <dc:Bounds x="648" y="885.5" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0ue196s_di" bpmnElement="Task_0aidjmp"> - <dc:Bounds x="496" y="819" width="100" height="80" /> + <bpmndi:BPMNShape id="ScriptTask_1y0los4_di" bpmnElement="ScriptTask_1y0los4"> + <dc:Bounds x="972" y="921" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1hgiln0_di" bpmnElement="SequenceFlow_1hgiln0"> - <di:waypoint xsi:type="dc:Point" x="346" y="859" /> - <di:waypoint xsi:type="dc:Point" x="191" y="859" /> + <bpmndi:BPMNEdge id="SequenceFlow_13d9g1n_di" bpmnElement="SequenceFlow_13d9g1n"> + <di:waypoint xsi:type="dc:Point" x="972" y="961" /> + <di:waypoint xsi:type="dc:Point" x="879" y="961" /> <bpmndi:BPMNLabel> - <dc:Bounds x="268.5" y="838" width="0" height="12" /> + <dc:Bounds x="925.5" y="940" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="CallActivity_1hcdpgq_di" bpmnElement="Task_03n6y9h"> - <dc:Bounds x="346" y="819" width="100" height="80" /> + <bpmndi:BPMNShape id="ExclusiveGateway_0n9y4du_di" bpmnElement="ExclusiveGateway_0n9y4du" isMarkerVisible="true"> + <dc:Bounds x="-356.3260146373919" y="797" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-373" y="851" width="83" height="36" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1vo0235_di" bpmnElement="SequenceFlow_1vo0235"> - <di:waypoint xsi:type="dc:Point" x="91" y="859" /> - <di:waypoint xsi:type="dc:Point" x="46" y="859" /> + <bpmndi:BPMNEdge id="SequenceFlow_0lt42ul_di" bpmnElement="SequenceFlow_0lt42ul"> + <di:waypoint xsi:type="dc:Point" x="-356" y="822" /> + <di:waypoint xsi:type="dc:Point" x="-497" y="822" /> <bpmndi:BPMNLabel> - <dc:Bounds x="68.5" y="838" width="0" height="12" /> + <dc:Bounds x="-435" y="801" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ServiceTask_0qi8cgg_di" bpmnElement="Task_0io5qby"> - <dc:Bounds x="91" y="819" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_0q6uy30_di" bpmnElement="SequenceFlow_0q6uy30"> + <di:waypoint xsi:type="dc:Point" x="-331" y="847" /> + <di:waypoint xsi:type="dc:Point" x="-331" y="1096" /> + <di:waypoint xsi:type="dc:Point" x="557" y="1096" /> + <di:waypoint xsi:type="dc:Point" x="557" y="862" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="107.48952590959206" y="1075" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0y4u2ty_di" bpmnElement="ScriptTask_0y4u2ty"> + <dc:Bounds x="-230" y="782" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_17i1ors_di" bpmnElement="SequenceFlow_17i1ors"> - <di:waypoint xsi:type="dc:Point" x="-54" y="859" /> - <di:waypoint xsi:type="dc:Point" x="-125" y="859" /> + <bpmndi:BPMNEdge id="SequenceFlow_1aya35q_di" bpmnElement="SequenceFlow_1aya35q"> + <di:waypoint xsi:type="dc:Point" x="-23" y="714" /> + <di:waypoint xsi:type="dc:Point" x="-70" y="714" /> + <di:waypoint xsi:type="dc:Point" x="-70" y="822" /> + <di:waypoint xsi:type="dc:Point" x="-130" y="822" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-134.5" y="838" width="90" height="12" /> + <dc:Bounds x="-55" y="762" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1pjr82f_di" bpmnElement="SequenceFlow_1pjr82f"> - <di:waypoint xsi:type="dc:Point" x="-225" y="859" /> - <di:waypoint xsi:type="dc:Point" x="-310" y="859" /> + <bpmndi:BPMNEdge id="SequenceFlow_02svciv_di" bpmnElement="SequenceFlow_02svciv"> + <di:waypoint xsi:type="dc:Point" x="-23" y="961" /> + <di:waypoint xsi:type="dc:Point" x="-70" y="961" /> + <di:waypoint xsi:type="dc:Point" x="-70" y="822" /> + <di:waypoint xsi:type="dc:Point" x="-130" y="822" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-312.5" y="838" width="90" height="12" /> + <dc:Bounds x="-55" y="885.5" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0ue4dzp_di" bpmnElement="Task_0pkhzoj"> - <dc:Bounds x="-54" y="819" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_1q727pm_di" bpmnElement="Task_0gs55f1"> - <dc:Bounds x="-225" y="819" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_1jenxlp_di" bpmnElement="SequenceFlow_1jenxlp"> + <di:waypoint xsi:type="dc:Point" x="-230" y="822" /> + <di:waypoint xsi:type="dc:Point" x="-306" y="822" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-268" y="801" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0l4nkqr_di" bpmnElement="ScriptTask_0l4nkqr"> + <dc:Bounds x="507" y="782" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_1cnnn5b_di" bpmnElement="CallActivity_09c3ajg"> - <dc:Bounds x="-578" y="819" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_1q1d7d9_di" bpmnElement="SequenceFlow_1q1d7d9"> + <di:waypoint xsi:type="dc:Point" x="424" y="792" /> + <di:waypoint xsi:type="dc:Point" x="424" y="714" /> + <di:waypoint xsi:type="dc:Point" x="234" y="714" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="426" y="747" width="27" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_10q9kus_di" bpmnElement="SequenceFlow_10q9kus"> + <di:waypoint xsi:type="dc:Point" x="422" y="845" /> + <di:waypoint xsi:type="dc:Point" x="422" y="961" /> + <di:waypoint xsi:type="dc:Point" x="248" y="961" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="420" y="897" width="35" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_04d3qcu_di" bpmnElement="SequenceFlow_04d3qcu"> + <di:waypoint xsi:type="dc:Point" x="507" y="822" /> + <di:waypoint xsi:type="dc:Point" x="449" y="822" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="478" y="801" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_07rr3wp_di" bpmnElement="ExclusiveGateway_07rr3wp" isMarkerVisible="true"> + <dc:Bounds x="829.1706586826348" y="936" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="812" y="990" width="87" height="24" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_03fabby_di" bpmnElement="SequenceFlow_03fabby"> - <di:waypoint xsi:type="dc:Point" x="1022" y="416" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="588" /> + <bpmndi:BPMNEdge id="SequenceFlow_1limzcd_di" bpmnElement="SequenceFlow_1limzcd"> + <di:waypoint xsi:type="dc:Point" x="829" y="961" /> + <di:waypoint xsi:type="dc:Point" x="778" y="961" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1037" y="496" width="0" height="12" /> + <dc:Bounds x="802" y="955" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_18wj44x_di" bpmnElement="SequenceFlow_18wj44x"> + <di:waypoint xsi:type="dc:Point" x="854" y="936" /> + <di:waypoint xsi:type="dc:Point" x="854" y="822" /> + <di:waypoint xsi:type="dc:Point" x="607" y="822" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="863" y="873" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn index 10e49a198b..095948a87c 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.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:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0"> - <bpmn:process id="DoCustomDeleteE2EServiceInstance" isExecutable="true"> + <bpmn:process id="DoCustomDeleteE2EServiceInstanceV3" name="All Resources Deleted" isExecutable="true"> <bpmn:startEvent id="StartEvent_0212h2r" name="Start Flow"> <bpmn:outgoing>SequenceFlow_0vz7cd9</bpmn:outgoing> </bpmn:startEvent> @@ -26,7 +26,8 @@ ddsi.preProcessRequest(execution) <camunda:out source="GENDS_SuccessIndicator" target="GENDS_SuccessIndicator" /> <camunda:out source="WorkflowException" target="WorkflowExcpeton" /> </bpmn:extensionElements> - <bpmn:incoming>SequenceFlow_0vg4q7x</bpmn:incoming> + <bpmn:incoming>SequenceFlow_1ev7z6q</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0oj2anh</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0g6bxqw</bpmn:outgoing> </bpmn:callActivity> <bpmn:scriptTask id="ScriptTask_1rtnsh8" name="Post Process AAI GET" scriptFormat="groovy"> @@ -66,70 +67,25 @@ ex.processJavaException(execution)]]></bpmn:script> <bpmn:sequenceFlow id="SequenceFlow_0e7inkl" sourceRef="ScriptTask_01erufg" targetRef="EndEvent_1uqzt26" /> <bpmn:sequenceFlow id="SequenceFlow_0g6bxqw" sourceRef="CallActivity_06izbke" targetRef="ScriptTask_01erufg" /> <bpmn:sequenceFlow id="SequenceFlow_0vi0sv6" sourceRef="ScriptTask_1rtnsh8" targetRef="ScriptTask_146jt8v" /> - <bpmn:callActivity id="CallActivity_Del_VFC" name="Call Network Service Delete for vEPC" calledElement="DoDeleteVFCNetworkServiceInstance"> - <bpmn:extensionElements> - <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> - <camunda:in source="serviceType" target="serviceType" /> - <camunda:in source="serviceInstanceId" target="serviceId" /> - <camunda:in source="operationId" target="operationId" /> - <camunda:in source="resourceTemplateId" target="resourceTemplateId" /> - <camunda:in source="resourceInstanceId" target="resourceInstanceId" /> - <camunda:in source="resourceType" target="resourceType" /> - <camunda:in source="operationType" target="operationType" /> - </bpmn:extensionElements> - <bpmn:incoming>SequenceFlow_1wmjau1</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_0qquvgc</bpmn:outgoing> - </bpmn:callActivity> - <bpmn:sequenceFlow id="SequenceFlow_0qquvgc" sourceRef="CallActivity_Del_VFC" targetRef="ScriptTask_0mdub03" /> - <bpmn:scriptTask id="ScriptTask_0vcz9mj" name="Prepare Resource Delele For vEPC" scriptFormat="groovy"> - <bpmn:incoming>SequenceFlow_1931m8u</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_1wmjau1</bpmn:outgoing> - <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -String resourceName = "vEPC" -def ddsi = new DoCustomDeleteE2EServiceInstance() -ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script> - </bpmn:scriptTask> - <bpmn:sequenceFlow id="SequenceFlow_1wmjau1" sourceRef="ScriptTask_0vcz9mj" targetRef="CallActivity_Del_VFC" /> - <bpmn:scriptTask id="ScriptTask_0mdub03" name="Post Process VFC Delete" scriptFormat="groovy"> - <bpmn:incoming>SequenceFlow_0qquvgc</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_0vg4q7x</bpmn:outgoing> - <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* - -String response = execution.getVariable("vfcDeleteResponse") -def ddsi = new DoCustomDeleteE2EServiceInstance() -ddsi.postProcessVFCDelete(execution, response, "delete")]]></bpmn:script> - </bpmn:scriptTask> - <bpmn:scriptTask id="ScriptTask_1g0tsto" name="Post Process SDNC Delete" scriptFormat="groovy"> - <bpmn:incoming>SequenceFlow_0uc2beq</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_1m7tont</bpmn:outgoing> - <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* - -String response = execution.getVariable("sdncDeleteResponse") -def ddsi = new DoCustomDeleteE2EServiceInstance() -ddsi.postProcessSDNCDelete(execution, response, "delete")]]></bpmn:script> - </bpmn:scriptTask> - <bpmn:scriptTask id="ScriptTask_0z30dax" name="Prepare Resource Delele For Overlay" scriptFormat="groovy"> - <bpmn:incoming>SequenceFlow_0l4w9nr</bpmn:incoming> + <bpmn:scriptTask id="ScriptTask_0z30dax" name="Prepare Resource Delele For WAN" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1ubor5z</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1dza4q4</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -String resourceName = "overlay" +String resourceName = execution.getVariable("resourceType") def ddsi = new DoCustomDeleteE2EServiceInstance() ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script> </bpmn:scriptTask> <bpmn:sequenceFlow id="SequenceFlow_1dza4q4" sourceRef="ScriptTask_0z30dax" targetRef="CallActivity_Del_SDNC_cust" /> - <bpmn:sequenceFlow id="SequenceFlow_0rpu756" sourceRef="CallActivity_Del_SDNC_cust" targetRef="Task_14erap6" /> <bpmn:sequenceFlow id="SequenceFlow_1wnkgpx" sourceRef="Task_0z1x3sg" targetRef="Task_0963dho" /> - <bpmn:sequenceFlow id="SequenceFlow_1931m8u" sourceRef="Task_0963dho" targetRef="ScriptTask_0vcz9mj" /> - <bpmn:scriptTask id="Task_0z1x3sg" name="Prepare Resource Delele For vIMS" scriptFormat="groovy"> - <bpmn:incoming>SequenceFlow_1m7tont</bpmn:incoming> + <bpmn:scriptTask id="Task_0z1x3sg" name="Prepare Resource Delele For NS" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1x3lehs</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1wnkgpx</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -String resourceName = "vIMS" +String resourceName = execution.getVariable("resourceType") def ddsi = new DoCustomDeleteE2EServiceInstance() ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script> </bpmn:scriptTask> - <bpmn:sequenceFlow id="SequenceFlow_1m7tont" sourceRef="ScriptTask_1g0tsto" targetRef="Task_0z1x3sg" /> - <bpmn:callActivity id="Task_0963dho" name="Call Network Service Delete for vIMS" calledElement="DoDeleteVFCNetworkServiceInstance"> + <bpmn:callActivity id="Task_0963dho" name="Call Network Service Delete for NS" calledElement="DoDeleteVFCNetworkServiceInstance"> <bpmn:extensionElements> <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> <camunda:in source="serviceType" target="serviceType" /> @@ -141,31 +97,15 @@ ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script> <camunda:in source="operationType" target="operationType" /> </bpmn:extensionElements> <bpmn:incoming>SequenceFlow_1wnkgpx</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_1931m8u</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_0phwem2</bpmn:outgoing> </bpmn:callActivity> - <bpmn:sequenceFlow id="SequenceFlow_0vg4q7x" sourceRef="ScriptTask_0mdub03" targetRef="CallActivity_06izbke" /> <bpmn:serviceTask id="CallActivity_Del_SDNC_cust" name="Call Custom Delete SDNC Overlay" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask"> <bpmn:incoming>SequenceFlow_1dza4q4</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_0rpu756</bpmn:outgoing> - </bpmn:serviceTask> - <bpmn:sequenceFlow id="SequenceFlow_0d9lmlv" sourceRef="Task_14erap6" targetRef="Task_1j1u666" /> - <bpmn:sequenceFlow id="SequenceFlow_1g4djgh" sourceRef="Task_1j1u666" targetRef="Task_0edkv0m" /> - <bpmn:sequenceFlow id="SequenceFlow_0uc2beq" sourceRef="Task_0edkv0m" targetRef="ScriptTask_1g0tsto" /> - <bpmn:scriptTask id="Task_14erap6" name="Prepare Resource Delele For Underlay" scriptFormat="groovy"> - <bpmn:incoming>SequenceFlow_0rpu756</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_0d9lmlv</bpmn:outgoing> - <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -String resourceName = "underlay" -def ddsi = new DoCustomDeleteE2EServiceInstance() -ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script> - </bpmn:scriptTask> - <bpmn:serviceTask id="Task_1j1u666" name="Call Custom Delete SDNC Underlay" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask"> - <bpmn:incoming>SequenceFlow_0d9lmlv</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_1g4djgh</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_1lxqjmp</bpmn:outgoing> </bpmn:serviceTask> <bpmn:serviceTask id="Task_0edkv0m" name="Call Delete SDNC Service Topology" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncServiceTopologyOperationTask"> - <bpmn:incoming>SequenceFlow_1g4djgh</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_0uc2beq</bpmn:outgoing> + <bpmn:incoming>SequenceFlow_1icwpye</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1ev7z6q</bpmn:outgoing> </bpmn:serviceTask> <bpmn:scriptTask id="ScriptTask_146jt8v" name="Prepare Resource Oper Status" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_0vi0sv6</bpmn:incoming> @@ -194,10 +134,9 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> </camunda:connector> </bpmn:extensionElements> <bpmn:incoming>SequenceFlow_1ym9otf</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_0l4w9nr</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_1j08ko3</bpmn:outgoing> </bpmn:serviceTask> <bpmn:sequenceFlow id="SequenceFlow_1ym9otf" sourceRef="ScriptTask_146jt8v" targetRef="ServiceTask_00tg69u" /> - <bpmn:sequenceFlow id="SequenceFlow_0l4w9nr" sourceRef="ServiceTask_00tg69u" targetRef="ScriptTask_0z30dax" /> <bpmn:callActivity id="CallActivity_076pc2z" name="Call AAI Generic GetService" calledElement="GenericGetService"> <bpmn:extensionElements> <camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" /> @@ -214,9 +153,72 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> <bpmn:outgoing>SequenceFlow_188ejvu</bpmn:outgoing> </bpmn:callActivity> <bpmn:sequenceFlow id="SequenceFlow_188ejvu" sourceRef="CallActivity_076pc2z" targetRef="ScriptTask_1rtnsh8" /> + <bpmn:scriptTask id="ScriptTask_0o5bglz" name="Sequense Resources" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1j08ko3</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_03c0zlq</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoCustomDeleteE2EServiceInstance() +ddsi.sequenceResource(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1j08ko3" sourceRef="ServiceTask_00tg69u" targetRef="ScriptTask_0o5bglz" /> + <bpmn:exclusiveGateway id="ExclusiveGateway_07toixi" name="Check Current Resource"> + <bpmn:incoming>SequenceFlow_1htjmkv</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1ubor5z</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_1x3lehs</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:scriptTask id="ScriptTask_12q6a51" name="Get Current Resource" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_03c0zlq</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0s1lswk</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1htjmkv</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoCustomDeleteE2EServiceInstance() +ddsi.getCurrentResource(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_03c0zlq" sourceRef="ScriptTask_0o5bglz" targetRef="ScriptTask_12q6a51" /> + <bpmn:sequenceFlow id="SequenceFlow_1htjmkv" sourceRef="ScriptTask_12q6a51" targetRef="ExclusiveGateway_07toixi" /> + <bpmn:sequenceFlow id="SequenceFlow_1ubor5z" name="SDN-C" sourceRef="ExclusiveGateway_07toixi" targetRef="ScriptTask_0z30dax"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("controllerInfo" ) == "SDN-C" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_1x3lehs" name="VF-C" sourceRef="ExclusiveGateway_07toixi" targetRef="Task_0z1x3sg"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("controllerInfo" ) == "VF-C" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:scriptTask id="ScriptTask_0w46sge" name="Parse Next Resource" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1lxqjmp</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0phwem2</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0l5r96s</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoCustomDeleteE2EServiceInstance() +ddsi.parseNextResource(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1lxqjmp" sourceRef="CallActivity_Del_SDNC_cust" targetRef="ScriptTask_0w46sge" /> + <bpmn:sequenceFlow id="SequenceFlow_0phwem2" sourceRef="Task_0963dho" targetRef="ScriptTask_0w46sge" /> + <bpmn:exclusiveGateway id="ExclusiveGateway_1hgjg3u" name="Is All Resource Deleted"> + <bpmn:incoming>SequenceFlow_0l5r96s</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0talboa</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_0s1lswk</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_0l5r96s" sourceRef="ScriptTask_0w46sge" targetRef="ExclusiveGateway_1hgjg3u" /> + <bpmn:exclusiveGateway id="ExclusiveGateway_16046vb" name="Is SDNC Service Contained"> + <bpmn:incoming>SequenceFlow_0talboa</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1icwpye</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_0oj2anh</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_1icwpye" name="yes" sourceRef="ExclusiveGateway_16046vb" targetRef="Task_0edkv0m"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("isContainsWanResource" ) == "true" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_1ev7z6q" sourceRef="Task_0edkv0m" targetRef="CallActivity_06izbke" /> + <bpmn:sequenceFlow id="SequenceFlow_0oj2anh" name="no" sourceRef="ExclusiveGateway_16046vb" targetRef="CallActivity_06izbke"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("isContainsWanResource" ) == "false" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_0talboa" name="yes" sourceRef="ExclusiveGateway_1hgjg3u" targetRef="ExclusiveGateway_16046vb"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("allResourceFinished" ) == "true" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_0s1lswk" name="no" sourceRef="ExclusiveGateway_1hgjg3u" targetRef="ScriptTask_12q6a51"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("allResourceFinished" ) == "false" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> </bpmn:process> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> - <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCustomDeleteE2EServiceInstance"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCustomDeleteE2EServiceInstanceV3"> <bpmndi:BPMNShape id="StartEvent_0212h2r_di" bpmnElement="StartEvent_0212h2r"> <dc:Bounds x="-612" y="-35" width="36" height="36" /> <bpmndi:BPMNLabel> @@ -227,22 +229,22 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> <dc:Bounds x="-519" y="-57" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_1uqzt26_di" bpmnElement="EndEvent_1uqzt26"> - <dc:Bounds x="1220" y="1109" width="36" height="36" /> + <dc:Bounds x="1388" y="855" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1148" y="1150" width="90" height="12" /> + <dc:Bounds x="1316" y="896" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_06izbke_di" bpmnElement="CallActivity_06izbke"> - <dc:Bounds x="1188" y="779" width="100" height="80" /> + <dc:Bounds x="1356" y="578" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_1rtnsh8_di" bpmnElement="ScriptTask_1rtnsh8"> <dc:Bounds x="-193" y="-57" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_01erufg_di" bpmnElement="ScriptTask_01erufg"> - <dc:Bounds x="1188" y="915" width="100" height="80" /> + <dc:Bounds x="1356" y="711" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="SubProcess_1u8zt9i_di" bpmnElement="SubProcess_1u8zt9i" isExpanded="true"> - <dc:Bounds x="445" y="320" width="467" height="193" /> + <dc:Bounds x="292" y="675" width="467" height="193" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0vz7cd9_di" bpmnElement="SequenceFlow_0vz7cd9"> <di:waypoint xsi:type="dc:Point" x="-576" y="-17" /> @@ -259,17 +261,17 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0e7inkl_di" bpmnElement="SequenceFlow_0e7inkl"> - <di:waypoint xsi:type="dc:Point" x="1238" y="995" /> - <di:waypoint xsi:type="dc:Point" x="1238" y="1109" /> + <di:waypoint xsi:type="dc:Point" x="1406" y="791" /> + <di:waypoint xsi:type="dc:Point" x="1406" y="855" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1208" y="1046" width="90" height="12" /> + <dc:Bounds x="1376" y="817" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0g6bxqw_di" bpmnElement="SequenceFlow_0g6bxqw"> - <di:waypoint xsi:type="dc:Point" x="1238" y="859" /> - <di:waypoint xsi:type="dc:Point" x="1238" y="915" /> + <di:waypoint xsi:type="dc:Point" x="1406" y="658" /> + <di:waypoint xsi:type="dc:Point" x="1406" y="711" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1208" y="881" width="90" height="12" /> + <dc:Bounds x="1376" y="678.5" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0vi0sv6_di" bpmnElement="SequenceFlow_0vi0sv6"> @@ -280,172 +282,214 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="StartEvent_0sf5lpt_di" bpmnElement="StartEvent_0sf5lpt"> - <dc:Bounds x="513" y="387" width="36" height="36" /> + <dc:Bounds x="360" y="742" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="441" y="428" width="90" height="12" /> + <dc:Bounds x="288" y="783" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_06utmg4_di" bpmnElement="EndEvent_06utmg4"> - <dc:Bounds x="806" y="387" width="36" height="36" /> + <dc:Bounds x="653" y="742" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="734" y="428" width="90" height="12" /> + <dc:Bounds x="581" y="783" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_0nha3pr_di" bpmnElement="ScriptTask_0nha3pr"> - <dc:Bounds x="617" y="365" width="100" height="80" /> + <dc:Bounds x="464" y="720" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1921mo3_di" bpmnElement="SequenceFlow_1921mo3"> - <di:waypoint xsi:type="dc:Point" x="549" y="405" /> - <di:waypoint xsi:type="dc:Point" x="617" y="405" /> + <di:waypoint xsi:type="dc:Point" x="396" y="760" /> + <di:waypoint xsi:type="dc:Point" x="464" y="760" /> <bpmndi:BPMNLabel> - <dc:Bounds x="493" y="390" width="90" height="12" /> + <dc:Bounds x="340" y="745" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_18vlzfo_di" bpmnElement="SequenceFlow_18vlzfo"> - <di:waypoint xsi:type="dc:Point" x="717" y="405" /> - <di:waypoint xsi:type="dc:Point" x="806" y="405" /> + <di:waypoint xsi:type="dc:Point" x="564" y="760" /> + <di:waypoint xsi:type="dc:Point" x="653" y="760" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="520" y="745" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0z30dax_di" bpmnElement="ScriptTask_0z30dax"> + <dc:Bounds x="470" y="111" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1dza4q4_di" bpmnElement="SequenceFlow_1dza4q4"> + <di:waypoint xsi:type="dc:Point" x="570" y="151" /> + <di:waypoint xsi:type="dc:Point" x="688" y="152" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="584" y="130.5" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1wnkgpx_di" bpmnElement="SequenceFlow_1wnkgpx"> + <di:waypoint xsi:type="dc:Point" x="576" y="378" /> + <di:waypoint xsi:type="dc:Point" x="688" y="378" /> <bpmndi:BPMNLabel> - <dc:Bounds x="673" y="390" width="90" height="12" /> + <dc:Bounds x="587" y="357" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="CallActivity_1x56smn_di" bpmnElement="CallActivity_Del_VFC"> - <dc:Bounds x="1188" y="483" width="100" height="80" /> + <bpmndi:BPMNShape id="ScriptTask_00301ai_di" bpmnElement="Task_0z1x3sg"> + <dc:Bounds x="476" y="338" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1mwacgl_di" bpmnElement="Task_0963dho"> + <dc:Bounds x="688" y="338" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_0v9q75y_di" bpmnElement="CallActivity_Del_SDNC_cust"> + <dc:Bounds x="688" y="112" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_0p4b7e1_di" bpmnElement="Task_0edkv0m"> + <dc:Bounds x="1356" y="233" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0qquvgc_di" bpmnElement="SequenceFlow_0qquvgc"> - <di:waypoint xsi:type="dc:Point" x="1238" y="563" /> - <di:waypoint xsi:type="dc:Point" x="1238" y="642" /> + <bpmndi:BPMNShape id="ScriptTask_146jt8v_di" bpmnElement="ScriptTask_146jt8v"> + <dc:Bounds x="-26" y="-57" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_00tg69u_di" bpmnElement="ServiceTask_00tg69u"> + <dc:Bounds x="-26" y="67" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1ym9otf_di" bpmnElement="SequenceFlow_1ym9otf"> + <di:waypoint xsi:type="dc:Point" x="24" y="23" /> + <di:waypoint xsi:type="dc:Point" x="24" y="67" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1208" y="596.5" width="90" height="12" /> + <dc:Bounds x="-6" y="39" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0vcz9mj_di" bpmnElement="ScriptTask_0vcz9mj"> - <dc:Bounds x="1188" y="338" width="100" height="80" /> + <bpmndi:BPMNShape id="CallActivity_076pc2z_di" bpmnElement="CallActivity_076pc2z"> + <dc:Bounds x="-357" y="-57" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1wmjau1_di" bpmnElement="SequenceFlow_1wmjau1"> - <di:waypoint xsi:type="dc:Point" x="1238" y="418" /> - <di:waypoint xsi:type="dc:Point" x="1238" y="483" /> + <bpmndi:BPMNEdge id="SequenceFlow_188ejvu_di" bpmnElement="SequenceFlow_188ejvu"> + <di:waypoint xsi:type="dc:Point" x="-257" y="-17" /> + <di:waypoint xsi:type="dc:Point" x="-193" y="-17" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1208" y="444.5" width="90" height="12" /> + <dc:Bounds x="-225" y="-38" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0mdub03_di" bpmnElement="ScriptTask_0mdub03"> - <dc:Bounds x="1188" y="642" width="100" height="80" /> + <bpmndi:BPMNShape id="ScriptTask_0o5bglz_di" bpmnElement="ScriptTask_0o5bglz"> + <dc:Bounds x="-26" y="233" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_1g0tsto_di" bpmnElement="ScriptTask_1g0tsto"> - <dc:Bounds x="1188" y="-57" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_1j08ko3_di" bpmnElement="SequenceFlow_1j08ko3"> + <di:waypoint xsi:type="dc:Point" x="24" y="147" /> + <di:waypoint xsi:type="dc:Point" x="24" y="233" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="39" y="184" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_07toixi_di" bpmnElement="ExclusiveGateway_07toixi" isMarkerVisible="true"> + <dc:Bounds x="342.56962025316454" y="248" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="332" y="302" width="73" height="24" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_0z30dax_di" bpmnElement="ScriptTask_0z30dax"> - <dc:Bounds x="316" y="-57" width="100" height="80" /> + <bpmndi:BPMNShape id="ScriptTask_12q6a51_di" bpmnElement="ScriptTask_12q6a51"> + <dc:Bounds x="159" y="450" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1dza4q4_di" bpmnElement="SequenceFlow_1dza4q4"> - <di:waypoint xsi:type="dc:Point" x="416" y="-17" /> - <di:waypoint xsi:type="dc:Point" x="499" y="-17" /> + <bpmndi:BPMNEdge id="SequenceFlow_03c0zlq_di" bpmnElement="SequenceFlow_03c0zlq"> + <di:waypoint xsi:type="dc:Point" x="24" y="313" /> + <di:waypoint xsi:type="dc:Point" x="24" y="494" /> + <di:waypoint xsi:type="dc:Point" x="159" y="490" /> <bpmndi:BPMNLabel> - <dc:Bounds x="412.5" y="-38" width="90" height="12" /> + <dc:Bounds x="39" y="397.5" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0rpu756_di" bpmnElement="SequenceFlow_0rpu756"> - <di:waypoint xsi:type="dc:Point" x="599" y="-17" /> - <di:waypoint xsi:type="dc:Point" x="679" y="-16" /> + <bpmndi:BPMNEdge id="SequenceFlow_1htjmkv_di" bpmnElement="SequenceFlow_1htjmkv"> + <di:waypoint xsi:type="dc:Point" x="209" y="450" /> + <di:waypoint xsi:type="dc:Point" x="209" y="273" /> + <di:waypoint xsi:type="dc:Point" x="343" y="273" /> <bpmndi:BPMNLabel> - <dc:Bounds x="594" y="-37.5" width="90" height="12" /> + <dc:Bounds x="224" y="355.5" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1wnkgpx_di" bpmnElement="SequenceFlow_1wnkgpx"> - <di:waypoint xsi:type="dc:Point" x="1237" y="134" /> - <di:waypoint xsi:type="dc:Point" x="1238" y="192" /> + <bpmndi:BPMNEdge id="SequenceFlow_1ubor5z_di" bpmnElement="SequenceFlow_1ubor5z"> + <di:waypoint xsi:type="dc:Point" x="368" y="248" /> + <di:waypoint xsi:type="dc:Point" x="368" y="151" /> + <di:waypoint xsi:type="dc:Point" x="470" y="151" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1237.5" y="142" width="0" height="12" /> + <dc:Bounds x="366" y="193.5" width="35" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1931m8u_di" bpmnElement="SequenceFlow_1931m8u"> - <di:waypoint xsi:type="dc:Point" x="1237" y="272" /> - <di:waypoint xsi:type="dc:Point" x="1238" y="338" /> + <bpmndi:BPMNEdge id="SequenceFlow_1x3lehs_di" bpmnElement="SequenceFlow_1x3lehs"> + <di:waypoint xsi:type="dc:Point" x="368" y="298" /> + <di:waypoint xsi:type="dc:Point" x="368" y="378" /> + <di:waypoint xsi:type="dc:Point" x="476" y="378" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1237.5" y="284" width="0" height="12" /> + <dc:Bounds x="379" y="353" width="27" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_00301ai_di" bpmnElement="Task_0z1x3sg"> - <dc:Bounds x="1188" y="54" width="100" height="80" /> + <bpmndi:BPMNShape id="ScriptTask_0w46sge_di" bpmnElement="ScriptTask_0w46sge"> + <dc:Bounds x="865" y="233" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1m7tont_di" bpmnElement="SequenceFlow_1m7tont"> - <di:waypoint xsi:type="dc:Point" x="1238" y="23" /> - <di:waypoint xsi:type="dc:Point" x="1238" y="54" /> + <bpmndi:BPMNEdge id="SequenceFlow_1lxqjmp_di" bpmnElement="SequenceFlow_1lxqjmp"> + <di:waypoint xsi:type="dc:Point" x="788" y="152" /> + <di:waypoint xsi:type="dc:Point" x="827" y="152" /> + <di:waypoint xsi:type="dc:Point" x="827" y="273" /> + <di:waypoint xsi:type="dc:Point" x="865" y="273" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1253" y="32.5" width="0" height="12" /> + <dc:Bounds x="842" y="206.5" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="CallActivity_1mwacgl_di" bpmnElement="Task_0963dho"> - <dc:Bounds x="1188" y="192" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0vg4q7x_di" bpmnElement="SequenceFlow_0vg4q7x"> - <di:waypoint xsi:type="dc:Point" x="1238" y="722" /> - <di:waypoint xsi:type="dc:Point" x="1238" y="779" /> + <bpmndi:BPMNEdge id="SequenceFlow_0phwem2_di" bpmnElement="SequenceFlow_0phwem2"> + <di:waypoint xsi:type="dc:Point" x="788" y="378" /> + <di:waypoint xsi:type="dc:Point" x="827" y="378" /> + <di:waypoint xsi:type="dc:Point" x="827" y="273" /> + <di:waypoint xsi:type="dc:Point" x="865" y="273" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1253" y="744.5" width="0" height="12" /> + <dc:Bounds x="842" y="319.5" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ServiceTask_0v9q75y_di" bpmnElement="CallActivity_Del_SDNC_cust"> - <dc:Bounds x="499" y="-57" width="100" height="80" /> + <bpmndi:BPMNShape id="ExclusiveGateway_1hgjg3u_di" bpmnElement="ExclusiveGateway_1hgjg3u" isMarkerVisible="true"> + <dc:Bounds x="1040.9252217997464" y="248" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1029" y="302" width="74" height="24" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0d9lmlv_di" bpmnElement="SequenceFlow_0d9lmlv"> - <di:waypoint xsi:type="dc:Point" x="779" y="-16" /> - <di:waypoint xsi:type="dc:Point" x="855" y="-17" /> + <bpmndi:BPMNEdge id="SequenceFlow_0l5r96s_di" bpmnElement="SequenceFlow_0l5r96s"> + <di:waypoint xsi:type="dc:Point" x="965" y="273" /> + <di:waypoint xsi:type="dc:Point" x="1041" y="273" /> <bpmndi:BPMNLabel> - <dc:Bounds x="772" y="-37.5" width="90" height="12" /> + <dc:Bounds x="1003" y="252" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1g4djgh_di" bpmnElement="SequenceFlow_1g4djgh"> - <di:waypoint xsi:type="dc:Point" x="955" y="-17" /> - <di:waypoint xsi:type="dc:Point" x="1021" y="-17" /> + <bpmndi:BPMNShape id="ExclusiveGateway_16046vb_di" bpmnElement="ExclusiveGateway_16046vb" isMarkerVisible="true"> + <dc:Bounds x="1203.8174904942966" y="248.28010139416983" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1187" y="302" width="83" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1icwpye_di" bpmnElement="SequenceFlow_1icwpye"> + <di:waypoint xsi:type="dc:Point" x="1254" y="273" /> + <di:waypoint xsi:type="dc:Point" x="1356" y="273" /> <bpmndi:BPMNLabel> - <dc:Bounds x="943" y="-38" width="90" height="12" /> + <dc:Bounds x="1297" y="252" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0uc2beq_di" bpmnElement="SequenceFlow_0uc2beq"> - <di:waypoint xsi:type="dc:Point" x="1121" y="-17" /> - <di:waypoint xsi:type="dc:Point" x="1188" y="-17" /> + <bpmndi:BPMNEdge id="SequenceFlow_1ev7z6q_di" bpmnElement="SequenceFlow_1ev7z6q"> + <di:waypoint xsi:type="dc:Point" x="1406" y="313" /> + <di:waypoint xsi:type="dc:Point" x="1406" y="448" /> + <di:waypoint xsi:type="dc:Point" x="1406" y="448" /> + <di:waypoint xsi:type="dc:Point" x="1406" y="578" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1109.5" y="-38" width="90" height="12" /> + <dc:Bounds x="1421" y="442" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_1e5z0wu_di" bpmnElement="Task_14erap6"> - <dc:Bounds x="679" y="-56" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_0f0965f_di" bpmnElement="Task_1j1u666"> - <dc:Bounds x="855" y="-57" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_0p4b7e1_di" bpmnElement="Task_0edkv0m"> - <dc:Bounds x="1021" y="-57" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_146jt8v_di" bpmnElement="ScriptTask_146jt8v"> - <dc:Bounds x="-26" y="-57" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_00tg69u_di" bpmnElement="ServiceTask_00tg69u"> - <dc:Bounds x="144" y="-57" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1ym9otf_di" bpmnElement="SequenceFlow_1ym9otf"> - <di:waypoint xsi:type="dc:Point" x="74" y="-17" /> - <di:waypoint xsi:type="dc:Point" x="144" y="-17" /> + <bpmndi:BPMNEdge id="SequenceFlow_0oj2anh_di" bpmnElement="SequenceFlow_0oj2anh"> + <di:waypoint xsi:type="dc:Point" x="1229" y="298" /> + <di:waypoint xsi:type="dc:Point" x="1229" y="618" /> + <di:waypoint xsi:type="dc:Point" x="1356" y="618" /> <bpmndi:BPMNLabel> - <dc:Bounds x="64" y="-38" width="90" height="12" /> + <dc:Bounds x="1238" y="452.30710172744716" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0l4w9nr_di" bpmnElement="SequenceFlow_0l4w9nr"> - <di:waypoint xsi:type="dc:Point" x="244" y="-17" /> - <di:waypoint xsi:type="dc:Point" x="316" y="-17" /> + <bpmndi:BPMNEdge id="SequenceFlow_0talboa_di" bpmnElement="SequenceFlow_0talboa"> + <di:waypoint xsi:type="dc:Point" x="1091" y="273" /> + <di:waypoint xsi:type="dc:Point" x="1204" y="273" /> <bpmndi:BPMNLabel> - <dc:Bounds x="235" y="-38" width="90" height="12" /> + <dc:Bounds x="1138" y="252" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="CallActivity_076pc2z_di" bpmnElement="CallActivity_076pc2z"> - <dc:Bounds x="-357" y="-57" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_188ejvu_di" bpmnElement="SequenceFlow_188ejvu"> - <di:waypoint xsi:type="dc:Point" x="-257" y="-17" /> - <di:waypoint xsi:type="dc:Point" x="-193" y="-17" /> + <bpmndi:BPMNEdge id="SequenceFlow_0s1lswk_di" bpmnElement="SequenceFlow_0s1lswk"> + <di:waypoint xsi:type="dc:Point" x="1066" y="298" /> + <di:waypoint xsi:type="dc:Point" x="1066" y="490" /> + <di:waypoint xsi:type="dc:Point" x="259" y="490" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-225" y="-38" width="0" height="12" /> + <dc:Bounds x="1075" y="388" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> diff --git a/bpmn/MSORESTClient/pom.xml b/bpmn/MSORESTClient/pom.xml index c17015c003..5d89e29025 100644 --- a/bpmn/MSORESTClient/pom.xml +++ b/bpmn/MSORESTClient/pom.xml @@ -4,12 +4,12 @@ <modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>bpmn</artifactId>
<version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>MSORESTClient</artifactId>
<packaging>jar</packaging>
@@ -31,7 +31,7 @@ </dependency>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/bpmn/pom.xml b/bpmn/pom.xml index 79acccb04d..d36d4c785d 100644 --- a/bpmn/pom.xml +++ b/bpmn/pom.xml @@ -4,12 +4,12 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>so</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>bpmn</artifactId> <name>BPMN Subsystem</name> <description>BPMN Subsystem for MSO</description> diff --git a/common/pom.xml b/common/pom.xml index 6a304c272c..48518aea31 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>so</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>common</artifactId> <name>MSO Common classes</name> <description>MSO Common classes:- Logger</description> @@ -241,7 +241,7 @@ </executions> <dependencies> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>common</artifactId> <version>${project.version}</version> </dependency> 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 86aedc1a43..b8c4aed8fa 100644 --- a/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java +++ b/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java @@ -144,15 +144,16 @@ public class MsoLogger { // For internal logging of the initialization of MSO logs private static final Logger LOGGER = Logger.getLogger(MsoLogger.class.getName()); - private MsoLogger(MsoLogger.Catalog cat) { - this.logger = EELFManager.getInstance().getErrorLogger(); - this.auditLogger = EELFManager.getInstance().getAuditLogger(); - this.metricsLogger = EELFManager.getInstance().getMetricsLogger(); - MsoLogger.initialization(); - setDefaultLogCatalog(cat); - } - private static synchronized void initialization() { + // Since four adaptors are using the instance of MsoLogger which will be referenced everywhere + // hence limiting the number of MsoLogger instances to five. + private static final MsoLogger generalMsoLogger = new MsoLogger(Catalog.GENERAL); + private static final MsoLogger apihLogger = new MsoLogger(Catalog.APIH); + private static final MsoLogger asdcLogger = new MsoLogger(Catalog.ASDC); + private static final MsoLogger raLogger = new MsoLogger(Catalog.RA); + private static final MsoLogger bpelLogger = new MsoLogger(Catalog.BPEL); + + static { if (instanceUUID == null || ("").equals(instanceUUID)) { instanceUUID = getInstanceUUID(); } @@ -170,15 +171,40 @@ public class MsoLogger { } } + // Singleton instances of the EELFLogger of all types are referenced by MsoLogger + private MsoLogger(Catalog cat) { + this.logger = EELFManager.getInstance().getErrorLogger(); + this.auditLogger = EELFManager.getInstance().getAuditLogger(); + this.metricsLogger = EELFManager.getInstance().getMetricsLogger(); + this.setDefaultLogCatalog(cat); + } + + + /** * Get the MsoLogger based on the catalog - * + * This method is fixed now to resolve the total number of objects that are getting created + * everytime this function gets called. Its supposed to have fixed number of instance per java process. + * * @param cat * Catalog of the logger * @return the MsoLogger */ public static synchronized MsoLogger getMsoLogger(MsoLogger.Catalog cat) { - return new MsoLogger(cat); + switch (cat) { + case GENERAL: + return generalMsoLogger; + case APIH: + return apihLogger; + case RA: + return raLogger; + case BPEL: + return bpelLogger; + case ASDC: + return asdcLogger; + default: + return generalMsoLogger; + } } /** diff --git a/common/src/main/java/org/openecomp/mso/logger/MsoLoggingServlet.java b/common/src/main/java/org/openecomp/mso/logger/MsoLoggingServlet.java index 5687775048..dd42efbfda 100644 --- a/common/src/main/java/org/openecomp/mso/logger/MsoLoggingServlet.java +++ b/common/src/main/java/org/openecomp/mso/logger/MsoLoggingServlet.java @@ -95,7 +95,8 @@ public class MsoLoggingServlet { List <Logger> loggerList = context.getLoggerList(); for (Logger logger:loggerList) { //if (logger.getLevel() != null) { - response.append (logger.getName () + ":" + logger.getLevel () + " (" + logger.getEffectiveLevel () + ")\n"); + response.append(logger.getName()).append(":").append(logger.getLevel()).append(" (") + .append(logger.getEffectiveLevel()).append(")\n"); //} } return Response.status (200).entity (response).build (); diff --git a/common/src/main/java/org/openecomp/mso/properties/MsoJsonProperties.java b/common/src/main/java/org/openecomp/mso/properties/MsoJsonProperties.java index c0997f31d9..8da155fe08 100644 --- a/common/src/main/java/org/openecomp/mso/properties/MsoJsonProperties.java +++ b/common/src/main/java/org/openecomp/mso/properties/MsoJsonProperties.java @@ -159,9 +159,9 @@ public class MsoJsonProperties extends AbstractMsoProperties { @Override public String toString() { - StringBuffer response = new StringBuffer(); - response.append("Config file " + propertiesFileName + "(Timer:" + automaticRefreshInMinutes + "mins):" - + System.getProperty("line.separator")); + StringBuilder response = new StringBuilder(); + response.append("Config file ").append(propertiesFileName).append("(Timer:").append(automaticRefreshInMinutes) + .append("mins):").append(System.getProperty("line.separator")); response.append(this.jsonRootNode.toString()); response.append(System.getProperty("line.separator")); response.append(System.getProperty("line.separator")); diff --git a/common/src/main/java/org/openecomp/mso/utils/CryptoUtils.java b/common/src/main/java/org/openecomp/mso/utils/CryptoUtils.java index 42cd190e95..5d0ff5b79e 100644 --- a/common/src/main/java/org/openecomp/mso/utils/CryptoUtils.java +++ b/common/src/main/java/org/openecomp/mso/utils/CryptoUtils.java @@ -72,13 +72,13 @@ public final class CryptoUtils { } public static String byteArrayToHexString (byte[] b) { - StringBuffer sb = new StringBuffer (b.length * 2); - for (int i = 0; i < b.length; i++) { - int v = b[i] & 0xff; + StringBuilder sb = new StringBuilder(b.length * 2); + for (byte aB : b) { + int v = aB & 0xff; if (v < 16) { - sb.append ('0'); + sb.append('0'); } - sb.append (Integer.toHexString (v)); + sb.append(Integer.toHexString(v)); } return sb.toString ().toUpperCase (); } diff --git a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryTest.java b/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryTest.java index 54b01a5410..7b559dfbcb 100644 --- a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryTest.java +++ b/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryTest.java @@ -153,7 +153,7 @@ public class MsoPropertiesFactoryTest { assertFalse(msoPropChanged.equals(null)); assertFalse(msoPropChanged.equals(msoPropCache)); - assertFalse(msoPropChanged.equals(new Boolean(true))); + assertFalse(msoPropChanged.equals(Boolean.TRUE)); assertTrue(msoPropChanged.equals(msoPropChanged)); } diff --git a/mso-api-handlers/mso-api-handler-common/pom.xml b/mso-api-handlers/mso-api-handler-common/pom.xml index eaab61c756..8eab5d6a47 100644 --- a/mso-api-handlers/mso-api-handler-common/pom.xml +++ b/mso-api-handlers/mso-api-handler-common/pom.xml @@ -3,13 +3,13 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-api-handlers</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-api-handler-common</artifactId> <name>ECOMP MSO API Handler common</name> @@ -73,13 +73,13 @@ </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-catalog-db</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-requests-db</artifactId> <version>${project.version}</version> </dependency> diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/camundabeans/CamundaVIDRequest.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/camundabeans/CamundaVIDRequest.java index fd1227ec13..3ef6d4974c 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/camundabeans/CamundaVIDRequest.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/camundabeans/CamundaVIDRequest.java @@ -38,7 +38,7 @@ import org.openecomp.mso.apihandler.common.CommonConstants; CommonConstants.VOLUME_GROUP_ID_VARIABLE, CommonConstants.NETWORK_ID_VARIABLE, CommonConstants.SERVICE_TYPE_VARIABLE, CommonConstants.VNF_TYPE_VARIABLE, CommonConstants.VF_MODULE_TYPE_VARIABLE, CommonConstants.NETWORK_TYPE_VARIABLE, - CommonConstants.CAMUNDA_SERVICE_INPUT}) + CommonConstants.CAMUNDA_SERVICE_INPUT, CommonConstants.RECIPE_PARAMS}) @JsonRootName(CommonConstants.CAMUNDA_ROOT_INPUT) public class CamundaVIDRequest { @@ -91,6 +91,9 @@ public class CamundaVIDRequest { @JsonProperty(CommonConstants.NETWORK_TYPE_VARIABLE) private CamundaInput networkType; + @JsonProperty(CommonConstants.RECIPE_PARAMS) + private CamundaInput recipeParams; + @JsonProperty(CommonConstants.CAMUNDA_SERVICE_INPUT) public CamundaInput getServiceInput() { return serviceInput; @@ -250,8 +253,17 @@ public class CamundaVIDRequest { this.networkType = networkType; } + @JsonProperty(CommonConstants.RECIPE_PARAMS) + public CamundaInput getRecipeParams() { + return recipeParams; + } - @Override + @JsonProperty(CommonConstants.RECIPE_PARAMS) + public void setRecipeParams(CamundaInput recipeParams) { + this.recipeParams = recipeParams; + } + + @Override public String toString() { //return "CamundaRequest [requestId=" + + ", host=" // + host + ", schema=" + schema + ", reqid=" + reqid + ", svcid=" diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/BPELRestClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/BPELRestClient.java index ddeb359071..cc68a45d19 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/BPELRestClient.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/BPELRestClient.java @@ -89,7 +89,7 @@ public class BPELRestClient extends RequestClient { int recipeTimeout, String requestAction, String serviceInstanceId, String vnfId, String vfModuleId, String volumeGroupId, String networkId, String serviceType, String vnfType, String vfModuleType, String networkType, - String requestDetails) { + String requestDetails, String recipeParamXsd) { return null; } diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaClient.java index b9c0725766..371d3162de 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaClient.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaClient.java @@ -98,13 +98,13 @@ public class CamundaClient extends RequestClient{ int recipeTimeout, String requestAction, String serviceInstanceId, String vnfId, String vfModuleId, String volumeGroupId, String networkId, String serviceType, String vnfType, String vfModuleType, String networkType, - String requestDetails) + String requestDetails, String recipeParamXsd) throws ClientProtocolException, IOException{ HttpPost post = new HttpPost(url); msoLogger.debug(CAMUNDA_URL_MESAGE + url); String jsonReq = wrapVIDRequest(requestId, isBaseVfModule, recipeTimeout, requestAction, serviceInstanceId, vnfId, vfModuleId, volumeGroupId, networkId, - serviceType, vnfType, vfModuleType, networkType, requestDetails); + serviceType, vnfType, vfModuleType, networkType, requestDetails, recipeParamXsd); StringEntity input = new StringEntity(jsonReq); input.setContentType(CommonConstants.CONTENT_TYPE_JSON); @@ -178,7 +178,7 @@ public class CamundaClient extends RequestClient{ int recipeTimeout, String requestAction, String serviceInstanceId, String vnfId, String vfModuleId, String volumeGroupId, String networkId, String serviceType, String vnfType, String vfModuleType, String networkType, - String requestDetails){ + String requestDetails, String recipeParams){ String jsonReq = null; if(requestId == null){ requestId =""; @@ -236,7 +236,7 @@ public class CamundaClient extends RequestClient{ CamundaInput vnfTypeInput = new CamundaInput(); CamundaInput vfModuleTypeInput = new CamundaInput(); CamundaInput networkTypeInput = new CamundaInput(); - + CamundaInput recipeParamsInput = new CamundaInput(); host.setValue(parseURL()); requestIdInput.setValue(requestId); isBaseVfModuleInput.setValue(isBaseVfModule); @@ -251,7 +251,7 @@ public class CamundaClient extends RequestClient{ vnfTypeInput.setValue(vnfType); vfModuleTypeInput.setValue(vfModuleType); networkTypeInput.setValue(networkType); - + recipeParamsInput.setValue(recipeParams); serviceInput.setValue(requestDetails); camundaRequest.setServiceInput(serviceInput); camundaRequest.setHost(host); @@ -269,7 +269,7 @@ public class CamundaClient extends RequestClient{ camundaRequest.setVnfType(vnfTypeInput); camundaRequest.setVfModuleType(vfModuleTypeInput); camundaRequest.setNetworkType(networkTypeInput); - + camundaRequest.setRecipeParams(recipeParamsInput); ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true); diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaTaskClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaTaskClient.java index 64193cf6c4..364169d4c1 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaTaskClient.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaTaskClient.java @@ -74,7 +74,7 @@ public class CamundaTaskClient extends RequestClient{ int recipeTimeout, String requestAction, String serviceInstanceId,
String vnfId, String vfModuleId, String volumeGroupId, String networkId,
String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails)
+ String requestDetails, String recipeParamXsd)
throws ClientProtocolException, IOException{
msoLogger.debug("Method not supported");
return null;
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CommonConstants.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CommonConstants.java index 91bd226c30..cfbe892e68 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CommonConstants.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CommonConstants.java @@ -63,6 +63,7 @@ public final class CommonConstants { public static final String VF_MODULE_TYPE_VARIABLE = "vfModuleType"; public static final String NETWORK_TYPE_VARIABLE = "networkType"; public static final String REQUEST_DETAILS_VARIABLE = "requestDetails"; + public static final String RECIPE_PARAMS = "recipeParams"; private CommonConstants () { // prevent creating an instance of this class diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClient.java index addf4e11a5..eaf8be76a3 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClient.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClient.java @@ -74,7 +74,7 @@ public abstract class RequestClient { int recipeTimeout, String requestAction, String serviceInstanceId, String vnfId, String vfModuleId, String volumeGroupId, String networkId, String serviceType, String vnfType, String vfModuleType, String networkType, - String requestDetails) + String requestDetails, String recipeParamXsd) throws ClientProtocolException, IOException; public abstract HttpResponse get() diff --git a/mso-api-handlers/mso-api-handler-infra/pom.xml b/mso-api-handlers/mso-api-handler-infra/pom.xml index f152116421..08ff9fedd0 100644 --- a/mso-api-handlers/mso-api-handler-infra/pom.xml +++ b/mso-api-handlers/mso-api-handler-infra/pom.xml @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-api-handlers</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> @@ -220,22 +220,22 @@ <version>${spring-version}</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-catalog-db</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-requests-db</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-api-handler-common</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>status-control</artifactId> <version>${project.version}</version> </dependency> diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstances.java index f6b30e8772..0914516598 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstances.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstances.java @@ -243,7 +243,8 @@ public class E2EServiceInstances { RecipeLookupResult recipeLookupResult = null; try { db = CatalogDatabase.getInstance(); - recipeLookupResult = getServiceInstanceOrchestrationURI(db, action); + //TODO Get the service template model version uuid from AAI. + recipeLookupResult = getServiceInstanceOrchestrationURI(db, null, action); } catch (Exception e) { msoLogger.error(MessageEnum.APIH_DB_ACCESS_EXC, MSO_PROP_APIHANDLER_INFRA, "", "", @@ -313,7 +314,7 @@ public class E2EServiceInstances { response = requestClient.post(requestId, false, recipeLookupResult.getRecipeTimeout(), action.name(), serviceId, null, null, null, null, serviceInstanceType, - null, null, null, bpmnRequest); + null, null, null, bpmnRequest, recipeLookupResult.getRecipeParamXsd()); msoLogger.recordMetricEvent(subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, @@ -474,7 +475,7 @@ public class E2EServiceInstances { RecipeLookupResult recipeLookupResult = null; try { db = CatalogDatabase.getInstance(); - recipeLookupResult = getServiceInstanceOrchestrationURI(db, action); + recipeLookupResult = getServiceInstanceOrchestrationURI(db, e2eSir.getService().getTemplateId(), action); } catch (Exception e) { msoLogger.error(MessageEnum.APIH_DB_ACCESS_EXC, MSO_PROP_APIHANDLER_INFRA, "", "", MsoLogger.ErrorCode.AvailabilityError, "Exception while communciate with Catalog DB", e); @@ -541,7 +542,7 @@ public class E2EServiceInstances { msoLogger.debug("MSO API Handler Posting call to BPEL engine for url: " + requestClient.getUrl()); response = requestClient.post(requestId, false, recipeLookupResult.getRecipeTimeout(), action.name(), - serviceId, null, null, null, null, serviceInstanceType, null, null, null, sirRequestJson); + serviceId, null, null, null, null, serviceInstanceType, null, null, null, sirRequestJson, recipeLookupResult.getRecipeParamXsd()); msoLogger.recordMetricEvent(subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully received response from BPMN engine", "BPMN", recipeLookupResult.getOrchestrationURI(), @@ -669,14 +670,15 @@ public class E2EServiceInstances { /** * Getting recipes from catalogDb * - * @param db - * @param action - * @return + * @param db the catalog db + * @param serviceModelUUID the service model version uuid + * @param action the action for the service + * @return the service recipe result */ private RecipeLookupResult getServiceInstanceOrchestrationURI( - CatalogDatabase db, Action action) { + CatalogDatabase db, String serviceModelUUID, Action action) { - RecipeLookupResult recipeLookupResult = getServiceURI(db, action); + RecipeLookupResult recipeLookupResult = getServiceURI(db, serviceModelUUID, action); if (recipeLookupResult != null) { msoLogger.debug("Orchestration URI is: " @@ -691,25 +693,37 @@ public class E2EServiceInstances { /** * Getting recipes from catalogDb - * - * @param db - * @param action - * @return + * If Service recipe is not set, use default recipe, if set , use special recipe. + * @param db the catalog db + * @param serviceModelUUID the service version uuid + * @param action the action of the service. + * @return the service recipe result. */ - private RecipeLookupResult getServiceURI(CatalogDatabase db, Action action) { + private RecipeLookupResult getServiceURI(CatalogDatabase db, String serviceModelUUID, Action action) { String defaultServiceModelName = "UUI_DEFAULT"; - Service serviceRecord = db + Service defaultServiceRecord = db .getServiceByModelName(defaultServiceModelName); - ServiceRecipe recipe = db.getServiceRecipeByModelUUID( - serviceRecord.getModelUUID(), action.name()); - + ServiceRecipe defaultRecipe = db.getServiceRecipeByModelUUID( + defaultServiceRecord.getModelUUID(), action.name()); + //set recipe as default generic recipe + ServiceRecipe recipe = defaultRecipe; + //check the service special recipe + if(null != serviceModelUUID && ! serviceModelUUID.isEmpty()){ + ServiceRecipe serviceSpecialRecipe = db.getServiceRecipeByModelUUID( + serviceModelUUID, action.name()); + if(null != serviceSpecialRecipe){ + //set service special recipe. + recipe = serviceSpecialRecipe; + } + } + if (recipe == null) { return null; } return new RecipeLookupResult(recipe.getOrchestrationUri(), - recipe.getRecipeTimeout()); + recipe.getRecipeTimeout(), recipe.getServiceParamXSD()); } diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java index 27c3c2b283..ad76a15b8e 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java @@ -741,7 +741,7 @@ public class MsoRequest { if ((status == Status.FAILED) || (status == Status.COMPLETE)) { aq.setStatusMessage (this.errorMessage); aq.setResponseBody (this.responseBody); - aq.setProgress(new Long(100)); + aq.setProgress(100L); Timestamp endTimeStamp = new Timestamp (System.currentTimeMillis()); aq.setEndTime (endTimeStamp); diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkInfoHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkInfoHandler.java index bcea8fd8d5..4e1468c4e9 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkInfoHandler.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkInfoHandler.java @@ -295,8 +295,8 @@ public class NetworkInfoHandler { private String translateNetworkRequests (List <NetworkRequest> queryResponseList) { NetworkRequests queryResponses = new NetworkRequests (); - for (int i = 0; i < queryResponseList.size (); i++) { - queryResponses.getNetworkRequest ().add (queryResponseList.get (i)); + for (NetworkRequest aQueryResponseList : queryResponseList) { + queryResponses.getNetworkRequest().add(aQueryResponseList); } StringWriter stringWriter = new StringWriter (); diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkRequestHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkRequestHandler.java index 981fee9fb6..79247deca8 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkRequestHandler.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkRequestHandler.java @@ -323,8 +323,8 @@ public class NetworkRequestHandler { private String translateNetworkRequests (List <NetworkRequest> queryResponseList) { NetworkRequests queryResponses = new NetworkRequests (); - for (int i = 0; i < queryResponseList.size (); i++) { - queryResponses.getNetworkRequest ().add (queryResponseList.get (i)); + for (NetworkRequest aQueryResponseList : queryResponseList) { + queryResponses.getNetworkRequest().add(aQueryResponseList); } StringWriter stringWriter = new StringWriter (); diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkTypesHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkTypesHandler.java index b01c6d6e2a..43f2d2afbb 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkTypesHandler.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/NetworkTypesHandler.java @@ -78,13 +78,13 @@ public class NetworkTypesHandler { ObjectFactory beansObjectFactory = new ObjectFactory (); NetworkTypes networkTypes = beansObjectFactory.createNetworkTypes (); - for (int i = 0; i < networkResources.size (); i++) { - NetworkType networkType = beansObjectFactory.createNetworkType (); - NetworkResource vr = networkResources.get (i); - networkType.setType (vr.getModelName()); - networkType.setDescription (vr.getDescription ()); - networkType.setId (String.valueOf (vr.getModelUUID())); - networkTypes.getNetworkType ().add (networkType); + for (NetworkResource networkResource : networkResources) { + NetworkType networkType = beansObjectFactory.createNetworkType(); + NetworkResource vr = networkResource; + networkType.setType(vr.getModelName()); + networkType.setDescription(vr.getDescription()); + networkType.setId(String.valueOf(vr.getModelUUID())); + networkTypes.getNetworkType().add(networkType); } StringWriter stringWriter = new StringWriter (); diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/RecipeLookupResult.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/RecipeLookupResult.java index ac4c01175a..2a02344ab3 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/RecipeLookupResult.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/RecipeLookupResult.java @@ -25,12 +25,20 @@ public class RecipeLookupResult { private String orchestrationURI; private int recipeTimeout; + // the service recipe param. + private String recipeParamXsd; public RecipeLookupResult(String orchestrationURI, int recipeTimeout) { this.orchestrationURI = orchestrationURI; this.recipeTimeout = recipeTimeout; } + public RecipeLookupResult(String orchestrationURI, int recipeTimeout, String recipeParamXsd) { + this.orchestrationURI = orchestrationURI; + this.recipeTimeout = recipeTimeout; + this.recipeParamXsd = recipeParamXsd; + } + public String getOrchestrationURI () { return orchestrationURI; } @@ -46,5 +54,23 @@ public class RecipeLookupResult { public void setRecipeTimeout (int recipeTimeout) { this.recipeTimeout = recipeTimeout; } + + + /** + * @return Returns the recipeParamXsd. + */ + public String getRecipeParamXsd() { + return recipeParamXsd; + } + + + /** + * @param recipeParamXsd The recipeParamXsd to set. + */ + public void setRecipeParamXsd(String recipeParamXsd) { + this.recipeParamXsd = recipeParamXsd; + } + + } diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java index 6f6d2972d1..287b0ad812 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java @@ -633,7 +633,7 @@ public class ServiceInstances { serviceInstanceId, vnfId, vfModuleId, volumeGroupId, networkId, msoRequest.getServiceInstanceType (), msoRequest.getVnfType (), msoRequest.getVfModuleType (), - msoRequest.getNetworkType (), msoRequest.getRequestJSON()); + msoRequest.getNetworkType (), msoRequest.getRequestJSON(), null); msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully received response from BPMN engine", "BPMN", recipeLookupResult.getOrchestrationURI (), null); } catch (Exception e) { diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VfModuleModelNamesHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VfModuleModelNamesHandler.java index 57720dcfba..df51a8f96a 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VfModuleModelNamesHandler.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VfModuleModelNamesHandler.java @@ -74,17 +74,17 @@ public class VfModuleModelNamesHandler { ObjectFactory beansObjectFactory = new ObjectFactory (); VfModuleModelNames vfModuleModelNames = beansObjectFactory.createVfModuleModelNames (); - for (int i = 0; i < vfModules.size (); i++) { - VfModuleModelName vfModuleModelName = beansObjectFactory.createVfModuleModelName (); - VfModule vm = vfModules.get (i); - vfModuleModelName.setModelName (vm.getModelName ()); - vfModuleModelName.setModelVersion (vm.getVersion ()); - vfModuleModelName.setModelInvariantUuid (vm.getModelInvariantUuid ()); + for (VfModule vfModule : vfModules) { + VfModuleModelName vfModuleModelName = beansObjectFactory.createVfModuleModelName(); + VfModule vm = vfModule; + vfModuleModelName.setModelName(vm.getModelName()); + vfModuleModelName.setModelVersion(vm.getVersion()); + vfModuleModelName.setModelInvariantUuid(vm.getModelInvariantUuid()); vfModuleModelName.setIsBase(vm.isBase()); - vfModuleModelName.setDescription (vm.getDescription ()); - vfModuleModelName.setId (String.valueOf (vm.getModelUUID())); - vfModuleModelName.setAsdcServiceModelVersion(vm.getVersion ()); - vfModuleModelNames.getVfModuleModelName ().add (vfModuleModelName); + vfModuleModelName.setDescription(vm.getDescription()); + vfModuleModelName.setId(String.valueOf(vm.getModelUUID())); + vfModuleModelName.setAsdcServiceModelVersion(vm.getVersion()); + vfModuleModelNames.getVfModuleModelName().add(vfModuleModelName); } StringWriter stringWriter = new StringWriter (); diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfInfoHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfInfoHandler.java index 7071ed50c3..a5e1f6f4e2 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfInfoHandler.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfInfoHandler.java @@ -332,8 +332,8 @@ public class VnfInfoHandler { private String translateVnfRequests (List <VnfRequest> queryResponseList) { VnfRequests queryResponses = new VnfRequests (); - for (int i = 0; i < queryResponseList.size (); i++) { - queryResponses.getVnfRequest ().add (queryResponseList.get (i)); + for (VnfRequest aQueryResponseList : queryResponseList) { + queryResponses.getVnfRequest().add(aQueryResponseList); } StringWriter stringWriter = new StringWriter (); diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfRequestHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfRequestHandler.java index a61ca5fb30..7a61c641ae 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfRequestHandler.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfRequestHandler.java @@ -363,8 +363,8 @@ public class VnfRequestHandler { private String translateVnfRequests (List <VnfRequest> queryResponseList) { VnfRequests queryResponses = new VnfRequests (); - for (int i = 0; i < queryResponseList.size (); i++) { - queryResponses.getVnfRequest ().add (queryResponseList.get (i)); + for (VnfRequest aQueryResponseList : queryResponseList) { + queryResponses.getVnfRequest().add(aQueryResponseList); } StringWriter stringWriter = new StringWriter (); @@ -711,12 +711,12 @@ public class VnfRequestHandler { requestClient = RequestClientFactory.getRequestClient (orchestrationURI, props); // Capture audit event msoLogger.debug ("MSO API Handler Posting call to BPEL engine for url: " + requestClient.getUrl ()); - response = requestClient.post (msoRequest.getRequestXML (), - requestId, - Integer.toString (recipe.getRecipeTimeout ()).toString (), - version, - null, - null); + response = requestClient.post(msoRequest.getRequestXML(), + requestId, + Integer.toString(recipe.getRecipeTimeout()), + version, + null, + null); msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully received response from BPMN engine", "BPMN", orchestrationURI, null); } catch (Exception e) { msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError, "Exception while communicate with BPMN engine", "BPMN", orchestrationURI, null); diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfTypesHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfTypesHandler.java index 44cf038ef8..3d87d131b3 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfTypesHandler.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VnfTypesHandler.java @@ -85,12 +85,12 @@ public class VnfTypesHandler { ObjectFactory beansObjectFactory = new ObjectFactory (); VnfTypes vnfTypes = beansObjectFactory.createVnfTypes (); - for (int i = 0; i < vnfResources.size (); i++) { - VnfType vnfType = beansObjectFactory.createVnfType (); - VnfResource vr = vnfResources.get (i); - vnfType.setDescription (vr.getDescription ()); - vnfType.setId (String.valueOf (vr.getModelUuid())); - vnfTypes.getVnfType ().add (vnfType); + for (VnfResource vnfResource : vnfResources) { + VnfType vnfType = beansObjectFactory.createVnfType(); + VnfResource vr = vnfResource; + vnfType.setDescription(vr.getDescription()); + vnfType.setId(String.valueOf(vr.getModelUuid())); + vnfTypes.getVnfType().add(vnfType); } StringWriter stringWriter = new StringWriter (); diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VolumeInfoHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VolumeInfoHandler.java index 6618fcfb00..3de945a275 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VolumeInfoHandler.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VolumeInfoHandler.java @@ -314,8 +314,8 @@ public class VolumeInfoHandler { private String translateVolumeRequests (List <VolumeRequest> queryResponseList) { VolumeRequests queryResponses = new VolumeRequests (); - for (int i = 0; i < queryResponseList.size (); i++) { - queryResponses.getVolumeRequest ().add (queryResponseList.get (i)); + for (VolumeRequest aQueryResponseList : queryResponseList) { + queryResponses.getVolumeRequest().add(aQueryResponseList); } StringWriter stringWriter = new StringWriter (); diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VolumeRequestHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VolumeRequestHandler.java index 9a8bf35e5c..3fa4a7a9e8 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VolumeRequestHandler.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/VolumeRequestHandler.java @@ -346,8 +346,8 @@ public class VolumeRequestHandler { private String translateVolumeRequests (List <VolumeRequest> queryResponseList) { VolumeRequests queryResponses = new VolumeRequests (); - for (int i = 0; i < queryResponseList.size (); i++) { - queryResponses.getVolumeRequest ().add (queryResponseList.get (i)); + for (VolumeRequest aQueryResponseList : queryResponseList) { + queryResponses.getVolumeRequest().add(aQueryResponseList); } StringWriter stringWriter = new StringWriter (); @@ -652,12 +652,12 @@ public class VolumeRequestHandler { requestClient = RequestClientFactory.getRequestClient (orchestrationURI, props); // Capture audit event msoLogger.debug ("MSO API Handler Posting call to BPEL engine for url: " + requestClient.getUrl ()); - response = requestClient.post (msoRequest.getRequestXML (), - requestId, - Integer.toString (recipe.getRecipeTimeout ()).toString (), - version, - null, - null); + response = requestClient.post(msoRequest.getRequestXML(), + requestId, + Integer.toString(recipe.getRecipeTimeout()), + version, + null, + null); msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully received response from BPMN engine", "BPMN", orchestrationURI, null); } catch (Exception e) { msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError, "Exception while communicate with BPMN engine", "BPMN", orchestrationURI, null); diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstancesTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstancesTest.java index 238b6b677c..21c59ac6d5 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstancesTest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstancesTest.java @@ -110,7 +110,7 @@ public class E2EServiceInstancesTest { String serviceInstanceId, String vnfId, String vfModuleId,
String volumeGroupId, String networkId, String serviceType,
String vnfType, String vfModuleType, String networkType,
- String requestDetails) {
+ String requestDetails, String recipeParamXsd) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 202,
"test response");
@@ -181,7 +181,7 @@ public class E2EServiceInstancesTest { String serviceInstanceId, String vnfId, String vfModuleId,
String volumeGroupId, String networkId, String serviceType,
String vnfType, String vfModuleType, String networkType,
- String requestDetails) {
+ String requestDetails, String recipeParamXsd) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 500,
"test response");
@@ -252,7 +252,7 @@ public class E2EServiceInstancesTest { String serviceInstanceId, String vnfId, String vfModuleId,
String volumeGroupId, String networkId, String serviceType,
String vnfType, String vfModuleType, String networkType,
- String requestDetails) {
+ String requestDetails, String recipeParamXsd) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 500,
"test response");
@@ -323,7 +323,7 @@ public class E2EServiceInstancesTest { String serviceInstanceId, String vnfId, String vfModuleId,
String volumeGroupId, String networkId, String serviceType,
String vnfType, String vfModuleType, String networkType,
- String requestDetails) {
+ String requestDetails, String recipeParamXsd) {
HttpResponse resp = null;
return resp;
}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/NetworkRequestHandlerTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/NetworkRequestHandlerTest.java index 3c5c89fc92..89d4d0c98f 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/NetworkRequestHandlerTest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/NetworkRequestHandlerTest.java @@ -184,7 +184,7 @@ UriInfo uriInfo = null; req.setAaiServiceId("299392"); req.setAction("CREATE"); req.setRequestStatus("COMPLETE"); - req.setProgress(10001l); + req.setProgress(10001L); req.setSource("test"); req.setStartTime(new Timestamp(10020100)); req.setEndTime(new Timestamp(20020100)); @@ -206,7 +206,7 @@ UriInfo uriInfo = null; req.setAaiServiceId("299392"); req.setAction("CREATE"); req.setRequestStatus("COMPLETE"); - req.setProgress(10001l); + req.setProgress(10001L); req.setSource("test"); req.setStartTime(new Timestamp(10020100)); req.setEndTime(new Timestamp(20020100)); diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java index 08abf5702f..27d395857b 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java @@ -216,7 +216,7 @@ public class ServiceInstanceTest { int recipeTimeout, String requestAction, String serviceInstanceId,
String vnfId, String vfModuleId, String volumeGroupId, String networkId,
String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails){
+ String requestDetails, String recipeParamXsd){
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);
HttpResponse resp = new BasicHttpResponse(pv,200, "test response");
BasicHttpEntity entity = new BasicHttpEntity();
@@ -286,7 +286,7 @@ public class ServiceInstanceTest { int recipeTimeout, String requestAction, String serviceInstanceId,
String vnfId, String vfModuleId, String volumeGroupId, String networkId,
String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails){
+ String requestDetails, String recipeParamXsd){
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);
HttpResponse resp = new BasicHttpResponse(pv,500, "test response");
BasicHttpEntity entity = new BasicHttpEntity();
@@ -357,7 +357,7 @@ public class ServiceInstanceTest { int recipeTimeout, String requestAction, String serviceInstanceId,
String vnfId, String vfModuleId, String volumeGroupId, String networkId,
String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails){
+ String requestDetails, String recipeParamXsd){
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);
HttpResponse resp = new BasicHttpResponse(pv,500, "test response");
BasicHttpEntity entity = new BasicHttpEntity();
@@ -428,7 +428,7 @@ public class ServiceInstanceTest { int recipeTimeout, String requestAction, String serviceInstanceId,
String vnfId, String vfModuleId, String volumeGroupId, String networkId,
String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails){
+ String requestDetails, String recipeParamXsd){
return null;
}
};
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/VnfRequestHandlerTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/VnfRequestHandlerTest.java index 2d3a2a47a5..205bb8d910 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/VnfRequestHandlerTest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/VnfRequestHandlerTest.java @@ -182,7 +182,7 @@ public class VnfRequestHandlerTest { req.setAaiServiceId("299392"); req.setAction("CREATE"); req.setRequestStatus("COMPLETE"); - req.setProgress(10001l); + req.setProgress(10001L); req.setSource("test"); req.setStartTime(new Timestamp(10020100)); req.setEndTime(new Timestamp(20020100)); @@ -207,7 +207,7 @@ public class VnfRequestHandlerTest { req.setAaiServiceId("299392"); req.setAction("CREATE"); req.setRequestStatus("COMPLETE"); - req.setProgress(10001l); + req.setProgress(10001L); req.setSource("test"); req.setStartTime(new Timestamp(10020100)); req.setEndTime(new Timestamp(20020100)); @@ -229,7 +229,7 @@ public class VnfRequestHandlerTest { req.setAaiServiceId("299392"); req.setAction("CREATE"); req.setRequestStatus("COMPLETE"); - req.setProgress(10001l); + req.setProgress(10001L); req.setSource("test"); req.setStartTime(new Timestamp(10020100)); req.setEndTime(new Timestamp(20020100)); diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/VolumeRequestHandlerTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/VolumeRequestHandlerTest.java index bf4d7c4d98..fa6b06b4b2 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/VolumeRequestHandlerTest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/VolumeRequestHandlerTest.java @@ -156,7 +156,7 @@ public class VolumeRequestHandlerTest { req.setAaiServiceId("299392"); req.setAction("CREATE"); req.setRequestStatus("COMPLETE"); - req.setProgress(10001l); + req.setProgress(10001L); req.setSource("test"); req.setStartTime(new Timestamp(10020100)); req.setEndTime(new Timestamp(20020100)); @@ -177,7 +177,7 @@ public class VolumeRequestHandlerTest { req.setAaiServiceId("299392"); req.setAction("CREATE"); req.setRequestStatus("COMPLETE"); - req.setProgress(10001l); + req.setProgress(10001L); req.setSource("test"); req.setStartTime(new Timestamp(10020100)); req.setEndTime(new Timestamp(20020100)); @@ -197,7 +197,7 @@ public class VolumeRequestHandlerTest { req.setAaiServiceId("299392"); req.setAction("CREATE"); req.setRequestStatus("COMPLETE"); - req.setProgress(10001l); + req.setProgress(10001L); req.setSource("test"); req.setStartTime(new Timestamp(10020100)); req.setEndTime(new Timestamp(20020100)); diff --git a/mso-api-handlers/mso-requests-db/pom.xml b/mso-api-handlers/mso-requests-db/pom.xml index cdfa0fa8db..b14c87a0d4 100644 --- a/mso-api-handlers/mso-requests-db/pom.xml +++ b/mso-api-handlers/mso-requests-db/pom.xml @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-api-handlers</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> @@ -103,7 +103,7 @@ <version>1.0.0.Final</version> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>common</artifactId> <version>${project.version}</version> </dependency> diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/openecomp/mso/requestsdb/RequestsDatabase.java b/mso-api-handlers/mso-requests-db/src/main/java/org/openecomp/mso/requestsdb/RequestsDatabase.java index 98121d8490..d9448d06fa 100644 --- a/mso-api-handlers/mso-requests-db/src/main/java/org/openecomp/mso/requestsdb/RequestsDatabase.java +++ b/mso-api-handlers/mso-requests-db/src/main/java/org/openecomp/mso/requestsdb/RequestsDatabase.java @@ -38,6 +38,7 @@ import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.openecomp.mso.db.AbstractSessionFactoryManager; +import org.openecomp.mso.requestsdb.RequestsDbConstant.Status; import org.openecomp.mso.requestsdb.RequestsDbSessionFactoryManager; import org.openecomp.mso.logger.MsoLogger; @@ -757,9 +758,9 @@ public class RequestsDatabase { int resourceCount = lstResourceStatus.size(); int progress = 0; boolean isFinished = true; - for(int i = 0; i < resourceCount; i++) { - progress = progress + Integer.valueOf(lstResourceStatus.get(i).getProgress()) / resourceCount; - if(RequestsDbConstant.Status.PROCESSING.equals(lstResourceStatus.get(i).getStatus())) { + for (ResourceOperationStatus lstResourceStatu : lstResourceStatus) { + progress = progress + Integer.valueOf(lstResourceStatu.getProgress()) / resourceCount; + if (Status.PROCESSING.equals(lstResourceStatu.getStatus())) { isFinished = false; } } diff --git a/mso-api-handlers/pom.xml b/mso-api-handlers/pom.xml index 4399c75155..06eedc5675 100644 --- a/mso-api-handlers/pom.xml +++ b/mso-api-handlers/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>so</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-api-handlers</artifactId> <name>API Handler</name> <description>API Handler for MSO</description> diff --git a/mso-catalog-db/pom.xml b/mso-catalog-db/pom.xml index 0dc9e348e9..e3115f1ff1 100644 --- a/mso-catalog-db/pom.xml +++ b/mso-catalog-db/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>so</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-catalog-db</artifactId> <name>mso-catalog-db</name> <description>MSO Catalog Database definition and Hibernate objects</description> @@ -167,7 +167,7 @@ </exclusions> </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>common</artifactId> <version>${project.version}</version> </dependency> diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java index aefe0d5a8b..534b5a38c9 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java @@ -2166,9 +2166,7 @@ public class CatalogDatabase implements Closeable { String networkModelCustomizationUuid = stn.getResourceModelCustomizationUUID(); LOGGER.debug("Now searching for NetworkResourceCustomization for " + networkModelCustomizationUuid); List<NetworkResourceCustomization> resultSet = this.getAllNetworksByNetworkModelCustomizationUuid(networkModelCustomizationUuid); - for (NetworkResourceCustomization nrc : resultSet) { - masterList.add(nrc); - } + masterList.addAll(resultSet); } LOGGER.debug("Returning " + masterList.size() + " NRC records"); LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "getAllNetworksByServiceModelUuid", null); @@ -2465,9 +2463,7 @@ public class CatalogDatabase implements Closeable { String arModelCustomizationUuid = star.getResourceModelCustomizationUUID(); LOGGER.debug("Now searching for AllottedResourceCustomization for " + arModelCustomizationUuid); List<AllottedResourceCustomization> resultSet = this.getAllAllottedResourcesByArModelCustomizationUuid(arModelCustomizationUuid); - for (AllottedResourceCustomization arc : resultSet) { - masterList.add(arc); - } + masterList.addAll(resultSet); } LOGGER.debug("Returning " + masterList.size() + " ARC records"); LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "getAllAllottedResourcesByServiceModelUuid", null); @@ -3468,7 +3464,7 @@ public class CatalogDatabase implements Closeable { StringBuilder sb = new StringBuilder("Parameters: "); for (HeatTemplateParam param : paramSet) { param.setHeatTemplateArtifactUuid(heat.getArtifactUuid()); - sb.append(param.getParamName() + ", "); + sb.append(param.getParamName()).append(", "); } LOGGER.debug(sb.toString()); heat.setParameters (paramSet); @@ -3826,7 +3822,58 @@ public class CatalogDatabase implements Closeable { LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "getToscaCsar", null); return resultList.get (0); } + + /** + * Return a specific Tosca CSAR Record resource (queried by atrifact uuid). + * + * @param toscaCsarArtifactUUID the artifact uuid of the tosca csar + * @return ToscaCsar object or null if none found + */ + public ToscaCsar getToscaCsarByUUID(String toscaCsarArtifactUUID){ + long startTime = System.currentTimeMillis (); + LOGGER.debug ("Catalog database - get Tosca CSAR record with artifactUUID " + toscaCsarArtifactUUID); + String hql = "FROM ToscaCsar WHERE artifactUUID = :toscaCsarArtifactUUID"; + Query query = getSession ().createQuery (hql); + query.setParameter ("toscaCsarArtifactUUID", toscaCsarArtifactUUID); + + @SuppressWarnings("unchecked") + List <ToscaCsar> resultList = query.list (); + + // See if something came back. Name is unique, so + if (resultList.isEmpty ()) { + LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully. Tosca Csar not found", "CatalogDB", "getToscaCsarByUUID", null); + return null; + } + + LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "getToscaCsarByUUID", null); + return resultList.get (0); + } + + /** + * Return a specific Tosca CSAR Record resource (queried by service model uuid). + * <br> + * + * @param serviceModelUUID the service model uuid + * @return ToscaCsar object or null if none found + * @since ONAP Beijing Release + */ + public ToscaCsar getToscaCsarByServiceModelUUID(String serviceModelUUID){ + long startTime = System.currentTimeMillis (); + LOGGER.debug ("Catalog database - get Tosca CSAR record with serviceModelUUID " + serviceModelUUID); + Service service = getServiceByModelUUID(serviceModelUUID); + if(null == service){ + LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Service not found", "CatalogDB", "getToscaCsarByServiceModelUUID", null); + return null; + } + ToscaCsar csar = getToscaCsarByUUID(service.getToscaCsarArtifactUUID()); + if(null == csar){ + LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Tosca csar of the service not found", "CatalogDB", "getToscaCsarByServiceModelUUID", null); + return null; + } + LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "getToscaCsarByServiceModelUUID", null); + return csar; + } public void saveTempNetworkHeatTemplateLookup (TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup) { long startTime = System.currentTimeMillis (); @@ -4887,7 +4934,7 @@ public class CatalogDatabase implements Closeable { StringBuilder sb = new StringBuilder(); if (variables != null) { for(Map.Entry<String, String> entry : variables.entrySet()){ - sb.append(entry.getKey() + "=" + entry.getValue() + "\n"); + sb.append(entry.getKey()).append("=").append(entry.getValue()).append("\n"); query.setParameter(entry.getKey(), entry.getValue()); } } @@ -4938,7 +4985,7 @@ public class CatalogDatabase implements Closeable { StringBuilder sb = new StringBuilder(); if (variables != null) { for(Map.Entry<String, String> entry : variables.entrySet()){ - sb.append(entry.getKey() + "=" + entry.getValue()+ "\n"); + sb.append(entry.getKey()).append("=").append(entry.getValue()).append("\n"); query.setParameter(entry.getKey(), entry.getValue()); } } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/AllottedResourceCustomization.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/AllottedResourceCustomization.java index 66db7dfdec..daeefcce02 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/AllottedResourceCustomization.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/AllottedResourceCustomization.java @@ -131,7 +131,7 @@ public class AllottedResourceCustomization extends MavenLikeVersioning implement @Override public String toString () { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("modelCustomizationUuid="); sb.append(this.modelCustomizationUuid); sb.append(",modelInstanceName="); diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatEnvironment.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatEnvironment.java index dd628bb863..fcd9211ec6 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatEnvironment.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatEnvironment.java @@ -88,7 +88,7 @@ public class HeatEnvironment extends MavenLikeVersioning implements Serializable @Override public String toString () { StringBuilder sb = new StringBuilder(); - sb.append ("Artifact UUID=" + this.artifactUuid); + sb.append("Artifact UUID=").append(this.artifactUuid); sb.append (", name="); sb.append (name); sb.append (", version="); diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatFiles.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatFiles.java index b90578d369..ec429c896e 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatFiles.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatFiles.java @@ -103,23 +103,23 @@ public class HeatFiles extends MavenLikeVersioning implements Serializable { @Override public String toString () { StringBuilder sb = new StringBuilder(); - sb.append ("artifactUuid=" + this.artifactUuid); + sb.append("artifactUuid=").append(this.artifactUuid); if (this.description == null) { sb.append(", description=null"); } else { - sb.append(", description=" + this.description); + sb.append(", description=").append(this.description); } if (this.fileName == null) { sb.append(", fileName=null"); } else { - sb.append(",fileName=" + this.fileName); + sb.append(",fileName=").append(this.fileName); } if (this.fileBody == null) { sb.append(", fileBody=null"); } else { - sb.append(",fileBody=" + this.fileBody); + sb.append(",fileBody=").append(this.fileBody); } - sb.append(", artifactChecksum=" + this.artifactChecksum); + sb.append(", artifactChecksum=").append(this.artifactChecksum); if (created != null) { sb.append (",created="); sb.append (DateFormat.getInstance().format(created)); diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatNestedTemplate.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatNestedTemplate.java index eec0f410c6..df067445f6 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatNestedTemplate.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatNestedTemplate.java @@ -61,12 +61,12 @@ public class HeatNestedTemplate implements Serializable { @Override public String toString () { StringBuilder sb = new StringBuilder (); - sb.append ("ParentTemplateId=" + this.parentTemplateId); - sb.append (", ChildTemplateId=" + this.childTemplateId); + sb.append("ParentTemplateId=").append(this.parentTemplateId); + sb.append(", ChildTemplateId=").append(this.childTemplateId); if (this.providerResourceFile == null) { sb.append (", providerResourceFile=null"); } else { - sb.append (",providerResourceFile=" + this.providerResourceFile); + sb.append(",providerResourceFile=").append(this.providerResourceFile); } return sb.toString (); } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplateArtifactUuidModelUuid.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplateArtifactUuidModelUuid.java index 2c79d7d48c..54acf12ca8 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplateArtifactUuidModelUuid.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplateArtifactUuidModelUuid.java @@ -48,8 +48,8 @@ public class HeatTemplateArtifactUuidModelUuid implements Serializable { @Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("heatTemplateArtifactUuid=" + this.heatTemplateArtifactUuid);
- sb.append(" modelUuid=" + this.modelUuid);
+ sb.append("heatTemplateArtifactUuid=").append(this.heatTemplateArtifactUuid);
+ sb.append(" modelUuid=").append(this.modelUuid);
return sb.toString();
}
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Model.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Model.java index 77beeb71df..96e6c616bf 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Model.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Model.java @@ -185,13 +185,13 @@ public class Model extends MavenLikeVersioning implements Serializable { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Model: "); - sb.append("modelCustomizationId=" + modelCustomizationId); - sb.append(",modelCustomizationName=" + modelCustomizationName); - sb.append(",modelInvariantId=" + modelInvariantId); - sb.append(",modelName=" + modelName); - sb.append(",modelType=" + modelType); - sb.append(",modelVersion=" + modelVersion); - sb.append(",modelVersionId=" + modelVersionId); + sb.append("modelCustomizationId=").append(modelCustomizationId); + sb.append(",modelCustomizationName=").append(modelCustomizationName); + sb.append(",modelInvariantId=").append(modelInvariantId); + sb.append(",modelName=").append(modelName); + sb.append(",modelType=").append(modelType); + sb.append(",modelVersion=").append(modelVersion); + sb.append(",modelVersionId=").append(modelVersionId); if (created != null) { sb.append (",created="); sb.append (DateFormat.getInstance().format(created)); diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ModelRecipe.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ModelRecipe.java index fddea4791b..7f8c3dbacb 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ModelRecipe.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ModelRecipe.java @@ -169,12 +169,12 @@ public class ModelRecipe extends MavenLikeVersioning implements Serializable { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("ModelRecipe: "); - sb.append("modelId=" + modelId.toString()); - sb.append(",action=" + action); - sb.append(",schemaVersion=" + schemaVersion); - sb.append(",orchestrationUri=" + orchestrationUri); - sb.append(",modelParamXSD=" + modelParamXSD); - sb.append(",recipeTimeout=" + recipeTimeout.toString()); + sb.append("modelId=").append(modelId.toString()); + sb.append(",action=").append(action); + sb.append(",schemaVersion=").append(schemaVersion); + sb.append(",orchestrationUri=").append(orchestrationUri); + sb.append(",modelParamXSD=").append(modelParamXSD); + sb.append(",recipeTimeout=").append(recipeTimeout.toString()); if (created != null) { sb.append (",created="); sb.append (DateFormat.getInstance().format(created)); diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/NetworkRecipe.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/NetworkRecipe.java index 9ef1fb6fd3..f25a99ca2d 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/NetworkRecipe.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/NetworkRecipe.java @@ -47,8 +47,8 @@ public class NetworkRecipe extends Recipe implements Serializable { public String toString () { StringBuilder sb = new StringBuilder(); sb.append(super.toString()); - sb.append (",modelName=" + modelName); - sb.append (",networkParamXSD=" + networkParamXSD); + sb.append(",modelName=").append(modelName); + sb.append(",networkParamXSD=").append(networkParamXSD); return sb.toString(); } } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Recipe.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Recipe.java index 668f666fcd..a425c1e96a 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Recipe.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Recipe.java @@ -103,8 +103,8 @@ public class Recipe extends MavenLikeVersioning implements Serializable { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("RECIPE: " + action); - sb.append(",uri=" + orchestrationUri); + sb.append("RECIPE: ").append(action); + sb.append(",uri=").append(orchestrationUri); if (created != null) { sb.append (",created="); diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Service.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Service.java index beb021ac11..f518678b44 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Service.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Service.java @@ -150,14 +150,17 @@ public class Service extends MavenLikeVersioning implements Serializable { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("SERVICE: name=" + modelName + ",modelVersion=" + modelVersion + ",description=" + description+",modelInvariantUUID="+modelInvariantUUID+",toscaCsarArtifactUUID="+toscaCsarArtifactUUID+",serviceType="+serviceType+",serviceRole="+serviceRole); + sb.append("SERVICE: name=").append(modelName).append(",modelVersion=").append(modelVersion) + .append(",description=").append(description).append(",modelInvariantUUID=").append(modelInvariantUUID) + .append(",toscaCsarArtifactUUID=").append(toscaCsarArtifactUUID).append(",serviceType=").append(serviceType) + .append(",serviceRole=").append(serviceRole); for (String recipeAction : recipes.keySet()) { ServiceRecipe recipe = recipes.get(recipeAction); - sb.append ("\n" + recipe.toString()); + sb.append("\n").append(recipe.toString()); } for(ServiceToResourceCustomization serviceResourceCustomization : serviceResourceCustomizations) { - sb.append("\n" + serviceResourceCustomization.toString()); + sb.append("\n").append(serviceResourceCustomization.toString()); } if (created != null) { sb.append (",created="); diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceMacroHolder.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceMacroHolder.java index d4d0507f20..645626d125 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceMacroHolder.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceMacroHolder.java @@ -129,7 +129,7 @@ public class ServiceMacroHolder implements Serializable { StringBuilder sb = new StringBuilder(); sb.append("ServicePlus: "); if (this.service != null) { - sb.append("service: " + this.service.toString()); + sb.append("service: ").append(this.service.toString()); } else { sb.append("service: null"); } @@ -137,7 +137,7 @@ public class ServiceMacroHolder implements Serializable { int i=0; sb.append("VnfResources: "); for (VnfResourceCustomization vrc : this.vnfResourceCustomizations) { - sb.append(", vnfResourceCustomization[" + i++ + "]:" + vrc.toString()); + sb.append(", vnfResourceCustomization[").append(i++).append("]:").append(vrc.toString()); } } else { sb.append("none"); @@ -146,7 +146,7 @@ public class ServiceMacroHolder implements Serializable { int i=0; sb.append("VnfResources: "); for (VnfResource vr : this.vnfResources) { - sb.append(", vnfResource[" + i++ + "]:" + vr.toString()); + sb.append(", vnfResource[").append(i++).append("]:").append(vr.toString()); } } else { sb.append("none"); @@ -155,14 +155,14 @@ public class ServiceMacroHolder implements Serializable { int i=0; sb.append("NetworkResourceCustomizations:"); for (NetworkResourceCustomization nrc : this.networkResourceCustomizations) { - sb.append("NRC[" + i++ + "]: " + nrc.toString()); + sb.append("NRC[").append(i++).append("]: ").append(nrc.toString()); } } if (this.allottedResourceCustomizations != null && this.allottedResourceCustomizations.size() > 0) { int i=0; sb.append("AllottedResourceCustomizations:"); for (AllottedResourceCustomization arc : this.allottedResourceCustomizations) { - sb.append("ARC[" + i++ + "]: " + arc.toString()); + sb.append("ARC[").append(i++).append("]: ").append(arc.toString()); } } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceRecipe.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceRecipe.java index 3a3cc0aa69..303570a8d0 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceRecipe.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceRecipe.java @@ -139,8 +139,8 @@ public class ServiceRecipe extends MavenLikeVersioning implements Serializable { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("RECIPE: " + action); - sb.append(",uri=" + orchestrationUri); + sb.append("RECIPE: ").append(action); + sb.append(",uri=").append(orchestrationUri); if (created != null) { sb.append (",created="); sb.append (DateFormat.getInstance().format(created)); diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceToNetworks.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceToNetworks.java index f076e13e26..a380a58c6b 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceToNetworks.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceToNetworks.java @@ -85,8 +85,8 @@ public class ServiceToNetworks implements Serializable { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("ServiceToNetworks mapping: "); - sb.append("serviceModelUuid=" + this.serviceModelUuid); - sb.append(",networkModelCustomizationUuid=" + networkModelCustomizationUuid); + sb.append("serviceModelUuid=").append(this.serviceModelUuid); + sb.append(",networkModelCustomizationUuid=").append(networkModelCustomizationUuid); return sb.toString(); } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceToResourceCustomization.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceToResourceCustomization.java index fcd20ef963..6d74ab38aa 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceToResourceCustomization.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceToResourceCustomization.java @@ -99,7 +99,8 @@ public class ServiceToResourceCustomization implements Serializable { @Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("ServiceToResourceCustomization: modelType=" + modelType + ",serviceModelUUID=" + serviceModelUUID+",resourceModelCustomizationUUID="+resourceModelCustomizationUUID);
+ sb.append("ServiceToResourceCustomization: modelType=").append(modelType).append(",serviceModelUUID=")
+ .append(serviceModelUUID).append(",resourceModelCustomizationUUID=").append(resourceModelCustomizationUUID);
if (created != null) {
sb.append (",created=");
sb.append (DateFormat.getInstance().format(created));
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/TempNetworkHeatTemplateLookup.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/TempNetworkHeatTemplateLookup.java index 20801c105e..783fc2df30 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/TempNetworkHeatTemplateLookup.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/TempNetworkHeatTemplateLookup.java @@ -66,10 +66,10 @@ public class TempNetworkHeatTemplateLookup implements Serializable { @Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("NetworkResourceModelName=" + this.networkResourceModelName);
- sb.append("HeatTemplateArtifactUuid=" + this.heatTemplateArtifactUuid);
- sb.append("aicVersionMin=" + this.aicVersionMin);
- sb.append("aicVersionMax=" + this.aicVersionMax);
+ sb.append("NetworkResourceModelName=").append(this.networkResourceModelName);
+ sb.append("HeatTemplateArtifactUuid=").append(this.heatTemplateArtifactUuid);
+ sb.append("aicVersionMin=").append(this.aicVersionMin);
+ sb.append("aicVersionMax=").append(this.aicVersionMax);
return sb.toString();
}
@Override
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ToscaCsar.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ToscaCsar.java index 88a358d364..591e648a33 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ToscaCsar.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ToscaCsar.java @@ -100,9 +100,11 @@ public class ToscaCsar extends MavenLikeVersioning implements Serializable { @Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("TOSCACSAR: artifactUUID=" + artifactUUID + ",name=" + name + ",version=" + version + ",description=" + description+",artifactChecksum="+artifactChecksum+",url="+url);
+ sb.append("TOSCACSAR: artifactUUID=").append(artifactUUID).append(",name=").append(name).append(",version=")
+ .append(version).append(",description=").append(description).append(",artifactChecksum=")
+ .append(artifactChecksum).append(",url=").append(url);
for (Service service : services) {
- sb.append ("\n" + service.toString());
+ sb.append("\n").append(service.toString());
}
if (created != null) {
sb.append (",created=");
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModule.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModule.java index fd2b6ff37b..cd2821a7b0 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModule.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModule.java @@ -142,7 +142,7 @@ public class VfModule extends MavenLikeVersioning implements Serializable { @Override public String toString () { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("VFModule:"); buf.append("modelName="); diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModuleCustomization.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModuleCustomization.java index 4404834585..9f2dae5035 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModuleCustomization.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModuleCustomization.java @@ -112,16 +112,16 @@ public class VfModuleCustomization implements Serializable { @Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("modelCustomizationUuid=" + this.modelCustomizationUuid);
- sb.append("vfModuleModelUuid=" + this.vfModuleModelUuid);
- sb.append("label=" + this.label);
- sb.append("initalCount=" + this.initialCount);
- sb.append("minInstances=" + this.minInstances);
- sb.append("maxInstances=" + this.maxInstances);
- sb.append("availabilityZoneCount=" + this.availabilityZoneCount);
- sb.append("heatEnvironmentArtifactUuid=" + this.heatEnvironmentArtifactUuid);
- sb.append("volEnvironmentArtifactUuid=" + this.volEnvironmentArtifactUuid);
- sb.append("created=" + this.created);
+ sb.append("modelCustomizationUuid=").append(this.modelCustomizationUuid);
+ sb.append("vfModuleModelUuid=").append(this.vfModuleModelUuid);
+ sb.append("label=").append(this.label);
+ sb.append("initalCount=").append(this.initialCount);
+ sb.append("minInstances=").append(this.minInstances);
+ sb.append("maxInstances=").append(this.maxInstances);
+ sb.append("availabilityZoneCount=").append(this.availabilityZoneCount);
+ sb.append("heatEnvironmentArtifactUuid=").append(this.heatEnvironmentArtifactUuid);
+ sb.append("volEnvironmentArtifactUuid=").append(this.volEnvironmentArtifactUuid);
+ sb.append("created=").append(this.created);
return sb.toString();
}
@Override
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModuleToHeatFiles.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModuleToHeatFiles.java index 63395c215c..476283e6b0 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModuleToHeatFiles.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VfModuleToHeatFiles.java @@ -50,8 +50,8 @@ public class VfModuleToHeatFiles implements Serializable { @Override public String toString () { StringBuilder sb = new StringBuilder (); - sb.append ("vfModuleModelUuid=" + this.vfModuleModelUuid); - sb.append (", heatFilesArtifactUuid=" + this.heatFilesArtifactUuid); + sb.append("vfModuleModelUuid=").append(this.vfModuleModelUuid); + sb.append(", heatFilesArtifactUuid=").append(this.heatFilesArtifactUuid); return sb.toString (); } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfComponent.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfComponent.java index b0a8c3ee1e..e1795e1b04 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfComponent.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfComponent.java @@ -78,10 +78,10 @@ public class VnfComponent implements Serializable { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("VnfComponent: "); - sb.append("vnfId=" + vnfId); - sb.append(",componentType=" + componentType); - sb.append(",heatTemplateId=" + heatTemplateId); - sb.append(",heatEnvironmentId=" + heatEnvironmentId); + sb.append("vnfId=").append(vnfId); + sb.append(",componentType=").append(componentType); + sb.append(",heatTemplateId=").append(heatTemplateId); + sb.append(",heatEnvironmentId=").append(heatEnvironmentId); if (created != null) { sb.append (",created="); @@ -109,7 +109,7 @@ public class VnfComponent implements Serializable { public int hashCode () { // return the hashCode of the concat string of type+vnfId - should be okay. int result = 0; - result = (this.componentType + this.vnfId).toString().hashCode(); + result = (this.componentType + this.vnfId).hashCode(); return result; } } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfComponentsRecipe.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfComponentsRecipe.java index 1e5f69c622..8867170ba7 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfComponentsRecipe.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfComponentsRecipe.java @@ -64,12 +64,12 @@ public class VnfComponentsRecipe extends Recipe implements Serializable { @Override public String toString () { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(super.toString()); - sb.append (",vnfComponentParamXSD=" + vnfComponentParamXSD); - sb.append (",serviceType=" + getServiceType ()); - sb.append (",vnfComponentType=" + getVnfComponentType ()); - sb.append (",vfModuleId=" + getVfModuleModelUUId()); + sb.append(",vnfComponentParamXSD=").append(vnfComponentParamXSD); + sb.append(",serviceType=").append(getServiceType()); + sb.append(",vnfComponentType=").append(getVnfComponentType()); + sb.append(",vfModuleId=").append(getVfModuleModelUUId()); return sb.toString(); } } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfRecipe.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfRecipe.java index 55bb33a4ef..49865e8e9d 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfRecipe.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfRecipe.java @@ -56,11 +56,11 @@ public class VnfRecipe extends Recipe implements Serializable { @Override public String toString () { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(super.toString()); - sb.append (",vnfParamXSD=" + vnfParamXSD); - sb.append (",serviceType=" + getServiceType ()); - sb.append (",vfModuleId=" + getVfModuleId ()); + sb.append(",vnfParamXSD=").append(vnfParamXSD); + sb.append(",serviceType=").append(getServiceType()); + sb.append(",vfModuleId=").append(getVfModuleId()); return sb.toString(); } } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResCustomToVfModuleCustom.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResCustomToVfModuleCustom.java index 9cd9f1ca78..7b2364d194 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResCustomToVfModuleCustom.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResCustomToVfModuleCustom.java @@ -56,9 +56,9 @@ public class VnfResCustomToVfModuleCustom implements Serializable { @Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("vnfResourceCustModelCustomizationUuid=" + this.vnfResourceCustModelCustomizationUuid);
- sb.append("vfModuleCustModelCustomizationUuid=" + this.vfModuleCustModelCustomizationUuid);
- sb.append("created=" + this.created);
+ sb.append("vnfResourceCustModelCustomizationUuid=").append(this.vnfResourceCustModelCustomizationUuid);
+ sb.append("vfModuleCustModelCustomizationUuid=").append(this.vfModuleCustModelCustomizationUuid);
+ sb.append("created=").append(this.created);
return sb.toString();
}
@Override
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResource.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResource.java index 0872f146ad..f0b990acae 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResource.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResource.java @@ -226,9 +226,7 @@ public class VnfResource extends MavenLikeVersioning implements Serializable { return null; } ArrayList<VfModule> list = new ArrayList<VfModule>(); - for (VfModule vfm : this.vfModules) { - list.add(vfm); - } + list.addAll(this.vfModules); return list; } @@ -242,45 +240,45 @@ public class VnfResource extends MavenLikeVersioning implements Serializable { @Override public String toString () { - StringBuffer buf = new StringBuffer(); - - buf.append("VNF="); - buf.append(",modelVersion="); - buf.append(modelVersion); - buf.append(",mode="); - buf.append(orchestrationMode); - buf.append(",heatTemplateArtifactUUId="); - buf.append(heatTemplateArtifactUUId); - buf.append(",envtId="); - buf.append(",asdcUuid="); - buf.append(",aicVersionMin="); - buf.append(this.aicVersionMin); - buf.append(",aicVersionMax="); - buf.append(this.aicVersionMax); - buf.append(",modelInvariantUuid="); - buf.append(this.modelInvariantUuid); - buf.append(",modelVersion="); - buf.append(",modelCustomizationName="); - buf.append(",modelName="); - buf.append(this.modelName); - buf.append(",serviceModelInvariantUUID="); - buf.append(",modelCustomizationUuid="); - buf.append(",toscaNodeType="); - buf.append(toscaNodeType); + StringBuilder sb = new StringBuilder(); + + sb.append("VNF="); + sb.append(",modelVersion="); + sb.append(modelVersion); + sb.append(",mode="); + sb.append(orchestrationMode); + sb.append(",heatTemplateArtifactUUId="); + sb.append(heatTemplateArtifactUUId); + sb.append(",envtId="); + sb.append(",asdcUuid="); + sb.append(",aicVersionMin="); + sb.append(this.aicVersionMin); + sb.append(",aicVersionMax="); + sb.append(this.aicVersionMax); + sb.append(",modelInvariantUuid="); + sb.append(this.modelInvariantUuid); + sb.append(",modelVersion="); + sb.append(",modelCustomizationName="); + sb.append(",modelName="); + sb.append(this.modelName); + sb.append(",serviceModelInvariantUUID="); + sb.append(",modelCustomizationUuid="); + sb.append(",toscaNodeType="); + sb.append(toscaNodeType); if (created != null) { - buf.append(",created="); - buf.append(DateFormat.getInstance().format(created)); + sb.append(",created="); + sb.append(DateFormat.getInstance().format(created)); } for(VnfResourceCustomization vrc : vnfResourceCustomizations) { - buf.append("/n" + vrc.toString()); + sb.append("/n").append(vrc.toString()); } for(VfModule vfm : vfModules) { - buf.append("/n" + vfm.toString()); + sb.append("/n").append(vfm.toString()); } - return buf.toString(); + return sb.toString(); } } diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResourceCustomization.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResourceCustomization.java index 8d580fd9a0..151c9e594e 100644 --- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResourceCustomization.java +++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResourceCustomization.java @@ -180,18 +180,18 @@ public class VnfResourceCustomization extends MavenLikeVersioning implements Ser @Override public String toString() { StringBuilder sb = new StringBuilder("VnfResourceCustomization: "); - sb.append("ModelCustUuid=" + this.modelCustomizationUuid ); - sb.append(", ModelInstanceName=" + this.modelInstanceName); - sb.append(", vnfResourceModelUuid=" + this.vnfResourceModelUUID); - sb.append(", creationTimestamp=" + this.created); - sb.append(", minInstances=" + this.minInstances); - sb.append(", maxInstances=" + this.maxInstances); - sb.append(", availabilityZoneMaxCount=" + this.availabilityZoneMaxCount); + sb.append("ModelCustUuid=").append(this.modelCustomizationUuid); + sb.append(", ModelInstanceName=").append(this.modelInstanceName); + sb.append(", vnfResourceModelUuid=").append(this.vnfResourceModelUUID); + sb.append(", creationTimestamp=").append(this.created); + sb.append(", minInstances=").append(this.minInstances); + sb.append(", maxInstances=").append(this.maxInstances); + sb.append(", availabilityZoneMaxCount=").append(this.availabilityZoneMaxCount); // sb.append(", vnfResource:\n" + this.vnfResource == null ? "null" : this.vnfResource.toString()); - sb.append(", nfFunction=" + this.nfFunction); - sb.append(", nfType=" + this.nfType); - sb.append(", nfRole=" + this.nfRole); - sb.append(", nfNamingCode=" + this.nfNamingCode); + sb.append(", nfFunction=").append(this.nfFunction); + sb.append(", nfType=").append(this.nfType); + sb.append(", nfRole=").append(this.nfRole); + sb.append(", nfNamingCode=").append(this.nfNamingCode); return sb.toString(); } diff --git a/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/HeatTemplateTest.java b/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/HeatTemplateTest.java index c3d5357ab6..cf79d5b0d1 100644 --- a/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/HeatTemplateTest.java +++ b/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/HeatTemplateTest.java @@ -67,7 +67,7 @@ public class HeatTemplateTest { heatTemplate.setParameters (set); String heatStr = heatTemplate.toString (); assertTrue (heatStr.contains ("param name")); - assertTrue (heatStr.toString ().contains ("param 2(reqd)")); + assertTrue (heatStr.contains ("param 2(reqd)")); File tempFile; try { diff --git a/packages/arquillian-unit-tests/pom.xml b/packages/arquillian-unit-tests/pom.xml index 0abe819253..8420cf457d 100644 --- a/packages/arquillian-unit-tests/pom.xml +++ b/packages/arquillian-unit-tests/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>packages</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.packages</groupId> + <groupId>org.onap.so.packages</groupId> <name>Arquillian Unit Testing on MSO</name> <artifactId>arquillian-unit-tests</artifactId> @@ -197,7 +197,7 @@ </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>asdc-controller</artifactId> <version>${project.version}</version> <scope>test</scope> @@ -226,7 +226,7 @@ </dependency> <dependency> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>mso-catalog-db</artifactId> <version>${project.version}</version> <scope>test</scope> diff --git a/packages/deliveries/pom.xml b/packages/deliveries/pom.xml index 9ce0ac8551..a90568811a 100644 --- a/packages/deliveries/pom.xml +++ b/packages/deliveries/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>packages</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> - <groupId>org.openecomp.so.packages</groupId> + <groupId>org.onap.so.packages</groupId> <artifactId>mso-deliveries</artifactId> <packaging>pom</packaging> diff --git a/packages/docker/pom.xml b/packages/docker/pom.xml index 41086eab04..1957dc7928 100644 --- a/packages/docker/pom.xml +++ b/packages/docker/pom.xml @@ -3,13 +3,13 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>packages</artifactId> <version>1.2.0-SNAPSHOT</version> </parent> <packaging>pom</packaging> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>docker</artifactId> <name>MSO Docker Deliveries</name> diff --git a/packages/pom.xml b/packages/pom.xml index ff1be1fad0..74d4c309a4 100644 --- a/packages/pom.xml +++ b/packages/pom.xml @@ -2,12 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>so</artifactId>
<version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>packages</artifactId>
<packaging>pom</packaging>
<name>MSO Packages</name>
@@ -9,7 +9,7 @@ <relativePath /> </parent> - <groupId>org.openecomp.so</groupId> + <groupId>org.onap.so</groupId> <artifactId>so</artifactId> <packaging>pom</packaging> <!-- <version>1.2.0-SNAPSHOT</version> --> @@ -32,7 +32,7 @@ <module>status-control</module> <module>bpmn</module> <module>packages</module> - <!-- <module>aria/aria-rest-server</module> --> + <module>aria</module> </modules> <properties> <project.mso.base.folder>.</project.mso.base.folder> diff --git a/status-control/pom.xml b/status-control/pom.xml index 2339825be4..e8ba05e065 100644 --- a/status-control/pom.xml +++ b/status-control/pom.xml @@ -4,29 +4,29 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>so</artifactId>
<version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>status-control</artifactId>
<name>MSO Status Control module</name>
<description>Contains classes to update and query the MSO status per site</description>
<dependencies>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>mso-catalog-db</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.so</groupId>
+ <groupId>org.onap.so</groupId>
<artifactId>mso-requests-db</artifactId>
<version>${project.version}</version>
</dependency>
|