aboutsummaryrefslogtreecommitdiffstats
path: root/asdc-controller/src/main/java/org/openecomp
diff options
context:
space:
mode:
authorBenjamin, Max (mb388a) <mb388a@us.att.com>2018-07-30 15:56:09 -0400
committerBenjamin, Max (mb388a) <mb388a@us.att.com>2018-07-31 11:09:25 -0400
commit5a6a6de6f1a26a1897e4917a0df613e25a24eb70 (patch)
tree59a968f27b4b603aacc9d5e7b51fb598aeec5321 /asdc-controller/src/main/java/org/openecomp
parentb6dc38501f3b746426b42d9de4cc883d894149e8 (diff)
Containerization feature of SO
Change-Id: I95381232eeefcd247a66a5cec370a8ce1c288e18 Issue-ID: SO-670 Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
Diffstat (limited to 'asdc-controller/src/main/java/org/openecomp')
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/ASDCControllerSingleton.java82
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCConfiguration.java508
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCController.java915
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCControllerStatus.java27
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCGlobalController.java217
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/DistributionStatusMessage.java77
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/FinalDistributionStatusMessage.java86
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerException.java51
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadException.java51
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCParametersException.java51
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ArtifactInstallerException.java51
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/DistributionClientEmulator.java204
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonArtifactInfo.java122
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonArtifactInfoDeserializer.java48
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonNotificationData.java149
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonResourceInfo.java105
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonResourceInfoDeserializer.java43
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonStatusData.java124
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonVfModuleMetaData.java96
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/rest/ASDCRestInterface.java117
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/healthcheck/HealthCheckHandler.java95
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ASDCElementInfo.java211
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/BigDecimalVersion.java62
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IArtifactOrchestrator.java37
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IVfModuleData.java54
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IVfResourceInstaller.java32
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ToscaResourceStructure.java537
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleArtifact.java70
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleMetaData.java96
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleStructure.java113
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java246
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java1272
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/VfResourceInstaller.java790
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/AaiClientPropertiesImpl.java62
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/AsdcPropertiesUtils.java59
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/DistributionStatus.java29
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/WatchdogDistribution.java239
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ASDCNotificationLogging.java525
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java169
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ToLog.java29
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/util/YamlEditor.java176
41 files changed, 0 insertions, 8027 deletions
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/ASDCControllerSingleton.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/ASDCControllerSingleton.java
deleted file mode 100644
index d5a8d0f15a..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/ASDCControllerSingleton.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*-
- * ============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.asdc;
-
-
-import javax.annotation.PreDestroy;
-import javax.ejb.ConcurrencyManagement;
-import javax.ejb.ConcurrencyManagementType;
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Schedule;
-import javax.ejb.Singleton;
-import javax.ejb.Startup;
-
-import org.openecomp.mso.asdc.client.ASDCGlobalController;
-import org.openecomp.mso.logger.MsoLogger;
-
-@Singleton(name = "ASDCController")
-@Lock(LockType.READ)
-@Startup
-@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
-public class ASDCControllerSingleton {
-
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
- private static boolean working = false;
-
- private ASDCGlobalController globalController = new ASDCGlobalController ();
-
- /**
- * Main Constructor of the ASDC Singleton
- */
- public ASDCControllerSingleton () {
- }
-
- @Schedule(second ="30", minute = "*", hour = "*", persistent = false)
- public void periodicControllerTask () {
- if (isWorking ()) {
- LOGGER.debug ("Another thread is already trying to init ASDC, cancel this periodic call");
- return;
- }
- try {
- setWorking (true);
-
- globalController.updateControllersConfigIfNeeded();
- globalController.checkInStoppedState();
-
- } finally {
- setWorking (false);
- }
- }
-
- @PreDestroy
- private void terminate () {
- globalController.closeASDC ();
- }
-
- private static synchronized boolean isWorking () {
- return ASDCControllerSingleton.working;
- }
-
- private static synchronized void setWorking (boolean working) {
- ASDCControllerSingleton.working = working;
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCConfiguration.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCConfiguration.java
deleted file mode 100644
index 7cc6ab8a89..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCConfiguration.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*-
- * ============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.asdc.client;
-
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Properties;
-
-import org.openecomp.mso.asdc.client.exceptions.ASDCParametersException;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoJsonProperties;
-import org.openecomp.mso.properties.MsoPropertiesException;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-import org.onap.sdc.api.consumer.IConfiguration;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-public class ASDCConfiguration implements IConfiguration {
-
- private MsoPropertiesFactory msoPropertiesFactory;
-
- // SHell command to obtain the same encryption, 128 bits key, key must be HEX
- // echo -n "This is a test string" | openssl aes-128-ecb -e -K 546573746F736973546573746F736973 -nosalt | xxd
-
- private String configKey;
-
- private MsoJsonProperties msoProperties;
-
- private String asdcControllerName;
- private String PASSWORD_ATTRIBUTE_NAME;
- private String KEY_STORE_PASSWORD;
-
- public static final String MSO_PROP_ASDC = "MSO_PROP_ASDC";
- public static final String PARAMETER_PATTERN = "asdc-connections";
- public static final String MSG_BUS_ADDRESS_ATTRIBUTE_NAME = "messageBusAddress";
- public static final String COMPONENT_NAMES_ADDRESS_ATTRIBUTE_NAME = "componentNames";
- public static final String WATCHDOG_TIMEOUT_NAME = "watchDogTimeout";
-
- public static final String CONSUMER_GROUP_ATTRIBUTE_NAME = "consumerGroup";
- public static final String CONSUMER_ID_ATTRIBUTE_NAME = "consumerId";
- public static final String ENVIRONMENT_NAME_ATTRIBUTE_NAME = "environmentName";
- public static final String POLLING_INTERVAL_ATTRIBUTE_NAME = "pollingInterval";
- public static final String RELEVANT_ARTIFACT_TYPES_ATTRIBUTE_NAME = "relevantArtifactTypes";
- public static final String USER_ATTRIBUTE_NAME = "user";
- public static final String ASDC_ADDRESS_ATTRIBUTE_NAME = "asdcAddress";
- public static final String POLLING_TIMEOUT_ATTRIBUTE_NAME = "pollingTimeout";
- public static final String ACTIVATE_SERVER_TLS_AUTH = "activateServerTLSAuth";
- public static final String KEY_STORE_PATH = "keyStorePath";
-
- public static final String HEAT="HEAT";
- public static final String HEAT_ARTIFACT="HEAT_ARTIFACT";
- public static final String HEAT_ENV="HEAT_ENV";
- public static final String HEAT_NESTED="HEAT_NESTED";
- public static final String HEAT_NET="HEAT_NET";
- public static final String HEAT_VOL="HEAT_VOL";
- public static final String OTHER="OTHER";
- public static final String TOSCA_CSAR="TOSCA_CSAR";
- public static final String VF_MODULES_METADATA="VF_MODULES_METADATA";
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL);
-
- private static final String[] SUPPORTED_ARTIFACT_TYPES = {HEAT,
- HEAT_ARTIFACT,
- HEAT_ENV,
- HEAT_NESTED,
- HEAT_NET,
- HEAT_VOL,
- OTHER,
- TOSCA_CSAR,
- VF_MODULES_METADATA};
-
- public static final List<String> SUPPORTED_ARTIFACT_TYPES_LIST = Collections.unmodifiableList(Arrays.asList(SUPPORTED_ARTIFACT_TYPES));
-
- /**
- * Default constructor, the mso.properties is searched in the classpath (for testing)
- * Or in /etc/ecomp/mso/config/mso.properties
- *
- * @param controllerName The controllerName of the config JSON tree
- * @throws ASDCParametersException in case of issues with the parameters
- * @throws IOException If the key file has not been loaded properly
- */
- public ASDCConfiguration (String controllerName) throws ASDCParametersException, IOException {
-
- Properties keyProp = new Properties ();
- this.asdcControllerName = controllerName;
-
- keyProp.load (Thread.currentThread ().getContextClassLoader ().getResourceAsStream ("config-key.properties"));
- configKey = (String) keyProp.get ("asdc.config.key");
-
- // This structure contains static values initialized by servlet initializer
- this.msoPropertiesFactory = new MsoPropertiesFactory ();
-
- refreshASDCConfig ();
-
- }
-
- @Override
- public java.lang.Boolean isUseHttpsWithDmaap() {
- return false;
- }
-
- @Override
- public boolean isConsumeProduceStatusTopic(){
- return true;
- }
-
- @Override
- public List<String> getMsgBusAddress(){
-
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (MSG_BUS_ADDRESS_ATTRIBUTE_NAME) != null) {
- List<String> msgAddressList = new ArrayList<>();
-
- Iterator<JsonNode> config = masterConfigNode.get(MSG_BUS_ADDRESS_ATTRIBUTE_NAME).elements();
-
- while( config.hasNext() ) {
- String key = (String)config.next().asText();
- msgAddressList.add(key);
- }
-
- if ("NULL".equals (msgAddressList) || msgAddressList.isEmpty ()) {
- return null;
- } else {
- return msgAddressList;
- }
- } else {
- return null;
- }
-
-
- }
-
- public String getAsdcControllerName () {
- return asdcControllerName;
- }
-
- private JsonNode getASDCControllerConfigJsonNode () {
- if (this.msoProperties.getJsonRootNode ().get (PARAMETER_PATTERN) != null) {
- return this.msoProperties.getJsonRootNode ().get (PARAMETER_PATTERN).get (this.asdcControllerName);
- } else {
- return null;
- }
-
- }
-
- /**
- * This method reload the config if needed.
- *
- * @return true if config has been reloaded, false otherwise
- * @throws ASDCParametersException In case the parameters validation fails
- * @throws MsoPropertiesException
- */
- public boolean refreshASDCConfig () throws ASDCParametersException {
-
- try {
- if (msoPropertiesFactory.propertiesHaveChanged (MSO_PROP_ASDC, msoProperties)) {
- msoProperties = msoPropertiesFactory.getMsoJsonProperties (MSO_PROP_ASDC);
-
- this.testAllParameters ();
- return true;
- } else {
- return false;
- }
- } catch (MsoPropertiesException e) {
- throw new ASDCParametersException ("mso.asdc.json not initialized properly, ASDC config cannot be reloaded",
- e);
- }
- }
-
- /**
- * This method is useful to check whether a mso properties config has been changed.
- *
- * @return true is a new config is availabe, false otherwise
- * @throws ASDCParametersException
- * @throws MsoPropertiesException
- */
- public boolean hasASDCConfigChanged () throws ASDCParametersException {
- try {
- return msoPropertiesFactory.propertiesHaveChanged (MSO_PROP_ASDC, msoProperties);
- } catch (MsoPropertiesException e) {
- throw new ASDCParametersException ("mso.asdc.json not initialized properly, ASDC config cannot be read", e);
- }
- }
-
- @Override
- public String getConsumerGroup () {
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (CONSUMER_GROUP_ATTRIBUTE_NAME) != null) {
- String config = masterConfigNode.get (CONSUMER_GROUP_ATTRIBUTE_NAME).asText ();
-
- if ("NULL".equals (config) || config.isEmpty ()) {
- return null;
- } else {
- return config;
- }
- } else {
- return null;
- }
- }
-
- public int getWatchDogTimeout () {
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (WATCHDOG_TIMEOUT_NAME) != null) {
-
- return masterConfigNode.get (WATCHDOG_TIMEOUT_NAME).asInt ();
- } else {
- return 0;
- }
- }
-
- @Override
- public String getConsumerID () {
-
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (CONSUMER_ID_ATTRIBUTE_NAME) != null) {
- String config = masterConfigNode.get (CONSUMER_ID_ATTRIBUTE_NAME).asText ();
-
- if (config.isEmpty ()) {
- return null;
- } else {
- return config;
- }
- } else {
- return null;
- }
- }
-
- @Override
- public String getEnvironmentName () {
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (ENVIRONMENT_NAME_ATTRIBUTE_NAME) != null) {
- String config = masterConfigNode.get (ENVIRONMENT_NAME_ATTRIBUTE_NAME).asText ();
-
- if (config.isEmpty ()) {
- return null;
- } else {
- return config;
- }
- } else {
- return null;
- }
- }
-
- @Override
- public String getPassword () {
- Properties keyProp = new Properties ();
- try {
- keyProp.load (Thread.currentThread ().getContextClassLoader ().getResourceAsStream ("config-key.properties"));
- PASSWORD_ATTRIBUTE_NAME=(String) keyProp.get ("password.attribute.name");
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (PASSWORD_ATTRIBUTE_NAME) != null) {
- String config = this.msoProperties.getEncryptedProperty (masterConfigNode.get (PASSWORD_ATTRIBUTE_NAME),
- null,
- this.configKey);
-
- if (config.isEmpty ()) {
- return null;
- } else {
- return config;
- }
- } else {
- return null;
- }
- } catch (IOException e) {
- msoLogger.debug("IOException occured", e);
- return null;
- }
- }
-
- @Override
- public int getPollingInterval () {
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (POLLING_INTERVAL_ATTRIBUTE_NAME) != null) {
- return masterConfigNode.get (POLLING_INTERVAL_ATTRIBUTE_NAME).asInt ();
- } else {
- return 0;
- }
- }
-
- @Override
- public List <String> getRelevantArtifactTypes () {
- // DO not return the Static List SUPPORTED_ARTIFACT_TYPES_LIST because the ASDC Client will try to modify it !!!
- return Arrays.asList(SUPPORTED_ARTIFACT_TYPES);
- }
-
- @Override
- public String getUser () {
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (USER_ATTRIBUTE_NAME) != null) {
- String config = masterConfigNode.get (USER_ATTRIBUTE_NAME).asText ();
-
- if (config.isEmpty ()) {
- return null;
- } else {
- return config;
- }
- } else {
- return null;
- }
- }
-
- @Override
- public String getAsdcAddress () {
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (ASDC_ADDRESS_ATTRIBUTE_NAME) != null) {
- String config = masterConfigNode.get (ASDC_ADDRESS_ATTRIBUTE_NAME).asText ();
-
- if (config.isEmpty ()) {
- return null;
- } else {
- return config;
- }
- } else {
- return null;
- }
- }
-
- @Override
- public int getPollingTimeout () {
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode ();
- if (masterConfigNode != null && masterConfigNode.get (POLLING_TIMEOUT_ATTRIBUTE_NAME) != null) {
- return masterConfigNode.get (POLLING_TIMEOUT_ATTRIBUTE_NAME).asInt ();
- } else {
- return 0;
- }
- }
-
- @Override
- public boolean activateServerTLSAuth() {
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode();
- if (masterConfigNode != null && masterConfigNode.get(ACTIVATE_SERVER_TLS_AUTH) != null) {
- return masterConfigNode.get(ACTIVATE_SERVER_TLS_AUTH).asBoolean(false);
- } else {
- return false;
- }
- }
-
- @Override
- public String getKeyStorePassword() {
- Properties keyProp = new Properties ();
- try {
- keyProp.load (Thread.currentThread ().getContextClassLoader ().getResourceAsStream ("config-key.properties"));
- KEY_STORE_PASSWORD=(String) keyProp.get ("key.store.password");
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode();
- if (masterConfigNode != null && masterConfigNode.get(KEY_STORE_PASSWORD) != null) {
- String config = this.msoProperties.getEncryptedProperty(masterConfigNode.get(KEY_STORE_PASSWORD), null,
- this.configKey);
-
- if (config.isEmpty()) {
- return null;
- } else {
- return config;
- }
- } else {
- return null;
- }
- } catch (IOException e) {
- msoLogger.debug("IOException occured", e);
- return null;
- }
- }
-
- @Override
- public String getKeyStorePath() {
-
- JsonNode masterConfigNode = getASDCControllerConfigJsonNode();
- if (masterConfigNode != null && masterConfigNode.get(KEY_STORE_PATH) != null) {
- String config = masterConfigNode.get(KEY_STORE_PATH).asText();
-
- if (config.isEmpty()) {
- return null;
- } else {
- return config;
- }
- } else {
- return null;
- }
-
- }
-
- public void testAllParameters () throws ASDCParametersException {
-
- // Special case for this attribute that can be null from getConsumerGroup
- if (this.getConsumerGroup () == null
- && (getASDCControllerConfigJsonNode () == null
- || !"NULL".equals (getASDCControllerConfigJsonNode ().get (CONSUMER_GROUP_ATTRIBUTE_NAME).asText ()))) {
- throw new ASDCParametersException (CONSUMER_GROUP_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getConsumerID () == null || this.getConsumerID ().isEmpty ()) {
- throw new ASDCParametersException (CONSUMER_ID_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getEnvironmentName () == null || this.getEnvironmentName ().isEmpty ()) {
- throw new ASDCParametersException (ENVIRONMENT_NAME_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getAsdcAddress () == null || this.getAsdcAddress ().isEmpty ()) {
- throw new ASDCParametersException (ASDC_ADDRESS_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getPassword () == null || this.getPassword ().isEmpty ()) {
- throw new ASDCParametersException (PASSWORD_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getPollingInterval () == 0) {
- throw new ASDCParametersException (POLLING_INTERVAL_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getPollingTimeout () == 0) {
- throw new ASDCParametersException (POLLING_TIMEOUT_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getWatchDogTimeout() == 0) {
- throw new ASDCParametersException (WATCHDOG_TIMEOUT_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getRelevantArtifactTypes () == null || this.getRelevantArtifactTypes ().isEmpty ()) {
- throw new ASDCParametersException (RELEVANT_ARTIFACT_TYPES_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getUser () == null || this.getUser ().isEmpty ()) {
- throw new ASDCParametersException (USER_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- if (this.getMsgBusAddress() == null || this.getMsgBusAddress().isEmpty ()) {
- throw new ASDCParametersException (MSG_BUS_ADDRESS_ATTRIBUTE_NAME
- + " parameter cannot be found in config mso.properties");
- }
-
- }
-
- /**
- * This method triggers the MsoPropertiesFactory to get the ASDC config from the cache and extracts all controllers
- * defined.
- *
- * @return A list of controller Names defined in the cache config
- * @throws ASDCParametersException In cas of issues with the cache
- */
- public static List <String> getAllDefinedControllers () throws ASDCParametersException {
-
- MsoJsonProperties msoProp;
- try {
- List <String> result = new ArrayList<>();
- msoProp = new MsoPropertiesFactory ().getMsoJsonProperties (MSO_PROP_ASDC);
-
- if (msoProp.getJsonRootNode ().get (PARAMETER_PATTERN) != null) {
- Iterator <Entry <String, JsonNode>> it = msoProp.getJsonRootNode ()
- .get (PARAMETER_PATTERN)
- .fields();
-
- Entry <String, JsonNode> entry;
- while (it.hasNext ()) {
- entry = it.next ();
- result.add (entry.getKey ());
-
- }
- }
- return result;
- } catch (MsoPropertiesException e) {
- throw new ASDCParametersException ("Unable to get the JSON Properties in cache:" + MSO_PROP_ASDC, e);
- }
-
- }
-
- /**
- * The flag allows the client to receive metadata for all resources of the service regardless of the artifacts associated to them.
- * Setting the flag to false will preserve legacy behavior.
- */
- public boolean isFilterInEmptyResources() {
- return true;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCController.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCController.java
deleted file mode 100644
index 867efd5840..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCController.java
+++ /dev/null
@@ -1,915 +0,0 @@
-/*-
-d * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright (C) 2017 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.asdc.client;
-
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onap.sdc.api.IDistributionClient;
-import org.onap.sdc.api.consumer.IDistributionStatusMessage;
-import org.onap.sdc.api.consumer.IFinalDistrStatusMessage;
-import org.onap.sdc.api.consumer.INotificationCallback;
-import org.onap.sdc.api.consumer.IStatusCallback;
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.INotificationData;
-import org.onap.sdc.api.notification.IResourceInstance;
-import org.onap.sdc.api.notification.IStatusData;
-import org.onap.sdc.api.results.IDistributionClientDownloadResult;
-import org.onap.sdc.api.results.IDistributionClientResult;
-import org.onap.sdc.impl.DistributionClientFactory;
-import org.onap.sdc.utils.DistributionActionResultEnum;
-import org.onap.sdc.utils.DistributionStatusEnum;
-import org.openecomp.mso.asdc.client.exceptions.ASDCControllerException;
-import org.openecomp.mso.asdc.client.exceptions.ASDCDownloadException;
-import org.openecomp.mso.asdc.client.exceptions.ASDCParametersException;
-import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;
-import org.openecomp.mso.asdc.installer.IVfResourceInstaller;
-import org.openecomp.mso.asdc.installer.ToscaResourceStructure;
-import org.openecomp.mso.asdc.installer.VfResourceStructure;
-import org.openecomp.mso.asdc.installer.heat.ToscaResourceInstaller;
-import org.openecomp.mso.asdc.installer.heat.VfResourceInstaller;
-import org.openecomp.mso.asdc.tenantIsolation.DistributionStatus;
-import org.openecomp.mso.asdc.tenantIsolation.WatchdogDistribution;
-import org.openecomp.mso.asdc.util.ASDCNotificationLogging;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-import org.openecomp.mso.requestsdb.WatchdogDistributionStatusDb;
-import org.openecomp.mso.utils.UUIDChecker;
-
-public class ASDCController {
-
- protected static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
-
- protected static MsoAlarmLogger alarmLogger = new MsoAlarmLogger ();
-
- protected boolean isAsdcClientAutoManaged = false;
-
- protected String controllerName;
-
- protected ToscaResourceInstaller toscaInstaller;
-
- private static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
-
-
- private final class ResourceInstance implements IResourceInstance {
-
- @Override
- public String getResourceInstanceName(){
- return new String();
- }
-
- @Override
- public String getResourceName(){
- return new String();
- }
-
- @Override
- public String getResourceVersion(){
- return new String();
- }
-
- @Override
- public String getResourceType(){
- return new String();
- }
-
- @Override
- public String getResourceUUID(){
- return new String();
- }
-
- // Method descriptor #10 ()Ljava/util/List;
- @Override
- public java.util.List getArtifacts(){
- return new ArrayList();
- }
-
- @Override
- public String getResourceInvariantUUID(){
- return new String();
- }
-
- @Override
- public String getResourceCustomizationUUID(){
- return new String();
- }
-
- @Override
- public String getCategory(){
- return new String();
- }
-
- @Override
- public String getSubcategory(){
- return new String();
- }
-
- }
-
- private final class ASDCStatusCallBack implements IStatusCallback {
-
- @Override
- public void activateCallback (IStatusData iStatus) {
-
- long startTime = System.currentTimeMillis ();
- UUIDChecker.generateUUID (LOGGER);
- MsoLogger.setServiceName ("ASDCStatusCallBack");
- MsoLogger.setLogContext (iStatus.getDistributionID (), iStatus.getComponentName());
- String event = "Receive a callback componentStatus in ASDC, for componentName: " + iStatus.getComponentName() + " and status of " + iStatus.getStatus() + " distributionID of " + iStatus.getDistributionID() +
- " consumerID of " + iStatus.getConsumerID() + " errorReason of " + iStatus.getErrorReason();
-
- try{
-
- if (iStatus.getStatus() == DistributionStatusEnum.COMPONENT_DONE_OK ||
- iStatus.getStatus() == DistributionStatusEnum.COMPONENT_DONE_ERROR) {
-
- LOGGER.debug(event);
-
- toscaInstaller.installTheComponentStatus(iStatus);
-
- }
-
- }catch(ArtifactInstallerException e){
- System.out.println("Error in ASDCStatusCallback " + e.getMessage());
- LOGGER.debug("Error in ASDCStatusCallback " + e.getMessage());
- }
- LOGGER.recordAuditEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Completed the Status Call Back");
- }
-
- }
-
-
- /**
- * Inner class for Notification callback
- *
- *
- */
- private final class ASDCNotificationCallBack implements INotificationCallback {
-
- private ASDCController asdcController;
-
- ASDCNotificationCallBack (ASDCController controller) {
- asdcController = controller;
- }
-
- /**
- * This method can be called multiple times at the same moment.
- * The controller must be thread safe !
- */
- @Override
- public void activateCallback (INotificationData iNotif) {
- long startTime = System.currentTimeMillis ();
- UUIDChecker.generateUUID (LOGGER);
- MsoLogger.setServiceName ("NotificationHandler");
- MsoLogger.setLogContext (iNotif.getDistributionID (), iNotif.getServiceUUID ());
- String event = "Receive a callback notification in ASDC, nb of resources: " + iNotif.getResources ().size ();
- LOGGER.debug(event);
- asdcController.treatNotification (iNotif);
- LOGGER.recordAuditEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Completed the treatment of the notification");
- }
- }
-
-
- // ***** Controller STATUS code
-
- protected int nbOfNotificationsOngoing = 0;
-
- public int getNbOfNotificationsOngoing () {
- return nbOfNotificationsOngoing;
- }
-
- private ASDCControllerStatus controllerStatus = ASDCControllerStatus.STOPPED;
-
- protected synchronized final void changeControllerStatus (ASDCControllerStatus newControllerStatus) {
- switch (newControllerStatus) {
-
- case BUSY:
- ++this.nbOfNotificationsOngoing;
- this.controllerStatus = newControllerStatus;
- break;
-
- case IDLE:
- if (this.nbOfNotificationsOngoing > 1) {
- --this.nbOfNotificationsOngoing;
- } else {
- this.nbOfNotificationsOngoing = 0;
- this.controllerStatus = newControllerStatus;
- }
-
- break;
- default:
- this.controllerStatus = newControllerStatus;
- break;
-
- }
- }
-
- public synchronized final ASDCControllerStatus getControllerStatus () {
- return this.controllerStatus;
- }
-
- // ***** END of Controller STATUS code
- protected ASDCConfiguration asdcConfig;
- private IDistributionClient distributionClient;
- private IVfResourceInstaller resourceInstaller;
-
- public ASDCController (String controllerConfigName) {
- isAsdcClientAutoManaged = true;
- this.controllerName = controllerConfigName;
- this.resourceInstaller = new VfResourceInstaller();
- toscaInstaller = new ToscaResourceInstaller();
- }
-
- public ASDCController (String controllerConfigName, IDistributionClient asdcClient, IVfResourceInstaller resourceinstaller) {
-
- distributionClient = asdcClient;
- this.resourceInstaller = resourceinstaller;
- this.controllerName = controllerConfigName;
- }
-
- public ASDCController (String controllerConfigName,IDistributionClient asdcClient) {
- distributionClient = asdcClient;
- this.controllerName = controllerConfigName;
- this.resourceInstaller = new VfResourceInstaller();
- toscaInstaller = new ToscaResourceInstaller();
- }
-
- /**
- * This method refresh the ASDC Controller config and restart the client.
- *
- * @return true if config has been reloaded, false otherwise
- * @throws ASDCControllerException If case of issue with the init or close called during the config reload
- * @throws ASDCParametersException If there is an issue with the parameters
- * @throws IOException In case of the key file could not be loaded properly
- */
- public boolean updateConfigIfNeeded () throws ASDCParametersException, ASDCControllerException, IOException {
- LOGGER.debug ("Checking whether ASDC config must be reloaded");
-
- try {
- if (this.asdcConfig != null && this.asdcConfig.hasASDCConfigChanged ()) {
- LOGGER.debug ("ASDC Config must be reloaded");
- this.closeASDC ();
- this.asdcConfig.refreshASDCConfig ();
- this.initASDC ();
- return true;
- } else {
- LOGGER.debug ("ASDC Config must NOT be reloaded");
- return false;
- }
- } catch (ASDCParametersException ep) {
- // Try to close it at least to make it consistent with the file specified
- // We cannot let it run with a different config file, even if it's bad.
- // This call could potentially throw a ASDCController exception if the controller is currently BUSY.
- this.closeASDC ();
-
- throw ep;
- }
- }
-
- /**
- * This method initializes the ASDC Controller and the ASDC Client.
- *
- * @throws ASDCControllerException It throws an exception if the ASDC Client cannot be instantiated or if an init
- * attempt is done when already initialized
- * @throws ASDCParametersException If there is an issue with the parameters provided
- * @throws IOException In case of issues when trying to load the key file
- */
- public void initASDC () throws ASDCControllerException, ASDCParametersException, IOException {
- String event = "Initialize the ASDC Controller";
- MsoLogger.setServiceName ("InitASDC");
- LOGGER.debug (event);
- if (this.getControllerStatus () != ASDCControllerStatus.STOPPED) {
- String endEvent = "The controller is already initialized, call the closeASDC method first";
- throw new ASDCControllerException (endEvent);
- }
-
- if (asdcConfig == null) {
- asdcConfig = new ASDCConfiguration (this.controllerName);
-
- }
- // attempt to refresh during init as MsoProperties is may be pointing to an old file
- // Be careful this is static in MsoProperties
- asdcConfig.refreshASDCConfig ();
-
- if (this.distributionClient == null) {
- distributionClient = DistributionClientFactory.createDistributionClient ();
- }
- long initStartTime = System.currentTimeMillis ();
- IDistributionClientResult result = this.distributionClient.init (asdcConfig,
- new ASDCNotificationCallBack (this), new ASDCStatusCallBack());
- if (!result.getDistributionActionResult ().equals (DistributionActionResultEnum.SUCCESS)) {
- String endEvent = "ASDC distribution client init failed with reason:"
- + result.getDistributionMessageResult ();
- LOGGER.recordMetricEvent (initStartTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.UnknownError, "Initialization of the ASDC Controller failed with reason:" + result.getDistributionMessageResult (), "ASDC", "init", null);
- LOGGER.debug (endEvent);
- asdcConfig = null;
-
- this.changeControllerStatus (ASDCControllerStatus.STOPPED);
- throw new ASDCControllerException ("Initialization of the ASDC Controller failed with reason: "
- + result.getDistributionMessageResult ());
- }
- LOGGER.recordMetricEvent (initStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully initialize ASDC Controller", "ASDC", "init", null);
-
- long clientstartStartTime = System.currentTimeMillis ();
- result = this.distributionClient.start ();
- if (!result.getDistributionActionResult ().equals (DistributionActionResultEnum.SUCCESS)) {
- String endEvent = "ASDC distribution client start failed with reason:"
- + result.getDistributionMessageResult ();
- LOGGER.recordMetricEvent (clientstartStartTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.UnknownError, endEvent, "ASDC", "start", null);
- LOGGER.debug (endEvent);
- asdcConfig = null;
- this.changeControllerStatus (ASDCControllerStatus.STOPPED);
- throw new ASDCControllerException ("Startup of the ASDC Controller failed with reason: "
- + result.getDistributionMessageResult ());
- }
- LOGGER.recordMetricEvent (clientstartStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully start ASDC distribution client", "ASDC", "start", null);
-
-
- this.changeControllerStatus (ASDCControllerStatus.IDLE);
- LOGGER.info (MessageEnum.ASDC_INIT_ASDC_CLIENT_SUC, "ASDC", "changeControllerStatus");
- }
-
- /**
- * This method closes the ASDC Controller and the ASDC Client.
- *
- * @throws ASDCControllerException It throws an exception if the ASDC Client cannot be closed because
- * it's currently BUSY in processing notifications.
- */
- public void closeASDC () throws ASDCControllerException {
-
- MsoLogger.setServiceName ("CloseController");
- if (this.getControllerStatus () == ASDCControllerStatus.BUSY) {
- throw new ASDCControllerException ("Cannot close the ASDC controller as it's currently in BUSY state");
- }
- if (this.distributionClient != null) {
- this.distributionClient.stop ();
- // If auto managed we can set it to Null, ASDCController controls it.
- // In the other case the client of this class has specified it, so we can't reset it
- if (isAsdcClientAutoManaged) {
- // Next init will initialize it with a new ASDC Client
- this.distributionClient = null;
- }
-
- }
- this.changeControllerStatus (ASDCControllerStatus.STOPPED);
- }
-
- private boolean checkResourceAlreadyDeployed (VfResourceStructure resource) throws ArtifactInstallerException {
-
-
- if (toscaInstaller.isResourceAlreadyDeployed (resource)) {
- LOGGER.info (MessageEnum.ASDC_ARTIFACT_ALREADY_EXIST,
- resource.getResourceInstance().getResourceInstanceName(),
- resource.getResourceInstance().getResourceUUID(),
- resource.getResourceInstance().getResourceName(), "", "");
-
- this.sendDeployNotificationsForResource(resource,DistributionStatusEnum.ALREADY_DOWNLOADED,null);
- this.sendDeployNotificationsForResource(resource,DistributionStatusEnum.ALREADY_DEPLOYED,null);
-
- return true;
- } else {
- return false;
- }
- }
-
- private final static String UUID_PARAM = "(UUID:";
-
- private IDistributionClientDownloadResult downloadTheArtifact (IArtifactInfo artifact,
- String distributionId) throws ASDCDownloadException {
-
- LOGGER.debug ("Trying to download the artifact : " + artifact.getArtifactURL ()
- + UUID_PARAM
- + artifact.getArtifactUUID ()
- + ")");
- IDistributionClientDownloadResult downloadResult;
-
-
- try {
- downloadResult = distributionClient.download (artifact);
- if (null == downloadResult) {
- LOGGER.info (MessageEnum.ASDC_ARTIFACT_NULL, artifact.getArtifactUUID (), "", "");
- return downloadResult;
- }
- } catch (RuntimeException e) {
- LOGGER.debug ("Not able to download the artifact due to an exception: " + artifact.getArtifactURL ());
- this.sendASDCNotification (NotificationType.DOWNLOAD,
- artifact.getArtifactURL (),
- asdcConfig.getConsumerID (),
- distributionId,
- DistributionStatusEnum.DOWNLOAD_ERROR,
- e.getMessage (),
- System.currentTimeMillis ());
-
- throw new ASDCDownloadException ("Exception caught when downloading the artifact", e);
- }
-
- if (DistributionActionResultEnum.SUCCESS.equals(downloadResult.getDistributionActionResult ())) {
-
- LOGGER.info (MessageEnum.ASDC_ARTIFACT_DOWNLOAD_SUC,
- artifact.getArtifactURL (),
- artifact.getArtifactUUID (),
- String.valueOf (downloadResult.getArtifactPayload ().length), "", "");
-
- } else {
-
- LOGGER.error (MessageEnum.ASDC_ARTIFACT_DOWNLOAD_FAIL,
- artifact.getArtifactName (),
- artifact.getArtifactURL (),
- artifact.getArtifactUUID (),
- downloadResult.getDistributionMessageResult (), "", "", MsoLogger.ErrorCode.DataError, "ASDC artifact download fail");
-
- this.sendASDCNotification (NotificationType.DOWNLOAD,
- artifact.getArtifactURL (),
- asdcConfig.getConsumerID (),
- distributionId,
- DistributionStatusEnum.DOWNLOAD_ERROR,
- downloadResult.getDistributionMessageResult (),
- System.currentTimeMillis ());
-
- throw new ASDCDownloadException ("Artifact " + artifact.getArtifactName ()
- + " could not be downloaded from ASDC URL "
- + artifact.getArtifactURL ()
- + UUID_PARAM
- + artifact.getArtifactUUID ()
- + ")"
- + System.lineSeparator ()
- + "Error message is "
- + downloadResult.getDistributionMessageResult ()
- + System.lineSeparator ());
-
- }
-
- this.sendASDCNotification (NotificationType.DOWNLOAD,
- artifact.getArtifactURL (),
- asdcConfig.getConsumerID (),
- distributionId,
- DistributionStatusEnum.DOWNLOAD_OK,
- null,
- System.currentTimeMillis ());
- return downloadResult;
-
- }
-
- private void writeArtifactToFile (IArtifactInfo artifact,
- IDistributionClientDownloadResult resultArtifact) throws ASDCDownloadException {
-
- LOGGER.debug ("Trying to download the artifact : " + artifact.getArtifactURL ()
- + UUID_PARAM
- + artifact.getArtifactUUID ()
- + ")");
-
- File spoolFile = new File(System.getProperty("mso.config.path") + "/ASDC" + "/" + artifact.getArtifactName());
-
-
- byte[] payloadBytes = resultArtifact.getArtifactPayload();
-
- try {
- LOGGER.info(MessageEnum.ASDC_RECEIVE_SERVICE_NOTIF, "***WRITE FILE ARTIFACT NAME", "ASDC", artifact.getArtifactName());
-
- try (FileOutputStream outFile = new FileOutputStream(System.getProperty("mso.config.path") + "/ASDC" + "/" + artifact.getArtifactName())) {
- outFile.write(payloadBytes, 0, payloadBytes.length);
- }
- } catch (Exception e) {
- LOGGER.debug("Exception :",e);
- LOGGER.error(MessageEnum.ASDC_ARTIFACT_DOWNLOAD_FAIL,
- artifact.getArtifactName (),
- artifact.getArtifactURL (),
- artifact.getArtifactUUID (),
- resultArtifact.getDistributionMessageResult (), "", "", MsoLogger.ErrorCode.DataError, "ASDC write to file failed");
- }
-
- }
-
-
- private void sendDeployNotificationsForResource(VfResourceStructure vfResourceStructure,DistributionStatusEnum distribStatus, String errorReason) {
-
- for (IArtifactInfo artifactInfo : vfResourceStructure.getResourceInstance().getArtifacts()) {
-
- if ((DistributionStatusEnum.DEPLOY_OK.equals(distribStatus) && !artifactInfo.getArtifactType().equalsIgnoreCase("OTHER"))
- // This could be NULL if the artifact is a VF module artifact, this won't be present in the MAP
- && vfResourceStructure.getArtifactsMapByUUID().get(artifactInfo.getArtifactUUID()) != null
- && vfResourceStructure.getArtifactsMapByUUID().get(artifactInfo.getArtifactUUID()).getDeployedInDb() == 0) {
- this.sendASDCNotification (NotificationType.DEPLOY,
- artifactInfo.getArtifactURL (),
- asdcConfig.getConsumerID (),
- vfResourceStructure.getNotification().getDistributionID(),
- DistributionStatusEnum.DEPLOY_ERROR,
- "The artifact has not been used by the modules defined in the resource",
- System.currentTimeMillis ());
- } else {
- this.sendASDCNotification (NotificationType.DEPLOY,
- artifactInfo.getArtifactURL (),
- asdcConfig.getConsumerID (),
- vfResourceStructure.getNotification().getDistributionID(),
- distribStatus,
- errorReason,
- System.currentTimeMillis ());
- }
- }
- }
-
- private void sendCsarDeployNotification(INotificationData iNotif, VfResourceStructure resourceStructure, ToscaResourceStructure toscaResourceStructure, boolean deploySuccessful, String errorReason) {
-
- IArtifactInfo csarArtifact = toscaResourceStructure.getToscaArtifact();
-
- if(deploySuccessful){
-
- this.sendASDCNotification (NotificationType.DEPLOY,
- csarArtifact.getArtifactURL (),
- asdcConfig.getConsumerID (),
- resourceStructure.getNotification().getDistributionID(),
- DistributionStatusEnum.DEPLOY_OK,
- errorReason,
- System.currentTimeMillis ());
-
- } else {
-
- this.sendASDCNotification (NotificationType.DEPLOY,
- csarArtifact.getArtifactURL (),
- asdcConfig.getConsumerID (),
- resourceStructure.getNotification().getDistributionID(),
- DistributionStatusEnum.DEPLOY_ERROR,
- errorReason,
- System.currentTimeMillis ());
-
- }
- }
-
- private void deployResourceStructure (VfResourceStructure resourceStructure, ToscaResourceStructure toscaResourceStructure) throws ArtifactInstallerException {
-
- LOGGER.info (MessageEnum.ASDC_START_DEPLOY_ARTIFACT, resourceStructure.getResourceInstance().getResourceInstanceName(), resourceStructure.getResourceInstance().getResourceUUID(), "ASDC", "deployResourceStructure");
- try {
- String resourceType = resourceStructure.getResourceInstance().getResourceType();
- String category = resourceStructure.getResourceInstance().getCategory();
- if("VF".equals(resourceType) && !"Allotted Resource".equalsIgnoreCase(category)){
- resourceStructure.createVfModuleStructures();
- }
-
-
- toscaInstaller.installTheResource(toscaResourceStructure, resourceStructure);
-
-
- } catch (ArtifactInstallerException e) {
- LOGGER.info (MessageEnum.ASDC_ARTIFACT_DOWNLOAD_FAIL,
- resourceStructure.getResourceInstance().getResourceName(),
- resourceStructure.getResourceInstance().getResourceUUID(),
- String.valueOf (resourceStructure.getVfModuleStructure().size()), "ASDC", "deployResourceStructure");
- sendDeployNotificationsForResource(resourceStructure,DistributionStatusEnum.DEPLOY_ERROR,e.getMessage());
- throw e;
- }
-
- if (resourceStructure.isDeployedSuccessfully() || toscaResourceStructure.isDeployedSuccessfully()) {
- LOGGER.info (MessageEnum.ASDC_ARTIFACT_DEPLOY_SUC,
- resourceStructure.getResourceInstance().getResourceName(),
- resourceStructure.getResourceInstance().getResourceUUID(),
- String.valueOf (resourceStructure.getVfModuleStructure().size()), "ASDC", "deployResourceStructure");
- sendDeployNotificationsForResource(resourceStructure,DistributionStatusEnum.DEPLOY_OK ,null);
- }
-
- }
-
-
- private enum NotificationType {
- DOWNLOAD, DEPLOY
- }
-
- private void sendASDCNotification (NotificationType notificationType,
- String artifactURL,
- String consumerID,
- String distributionID,
- DistributionStatusEnum status,
- String errorReason,
- long timestamp) {
-
- String event = "Sending " + notificationType.name ()
- + "("
- + status.name ()
- + ")"
- + " notification to ASDC for artifact:"
- + artifactURL;
-
- if (errorReason != null) {
- event=event+"("+errorReason+")";
- }
- LOGGER.info (MessageEnum.ASDC_SEND_NOTIF_ASDC, notificationType.name (), status.name (), artifactURL, "ASDC", "sendASDCNotification");
- LOGGER.debug (event);
-
- long subStarttime = System.currentTimeMillis ();
- String action = "";
- try {
- IDistributionStatusMessage message = new DistributionStatusMessage (artifactURL,
- consumerID,
- distributionID,
- status,
- timestamp);
-
- switch (notificationType) {
- case DOWNLOAD:
- if (errorReason != null) {
- this.distributionClient.sendDownloadStatus (message, errorReason);
- } else {
- this.distributionClient.sendDownloadStatus (message);
- }
- action = "sendDownloadStatus";
- break;
- case DEPLOY:
- if (errorReason != null) {
- this.distributionClient.sendDeploymentStatus (message, errorReason);
- } else {
- this.distributionClient.sendDeploymentStatus (message);
- }
- action = "sendDeploymentdStatus";
- break;
- default:
- break;
- }
- } catch (RuntimeException e) {
- // TODO: May be a list containing the unsent notification should be
- // kept
- LOGGER.warn (MessageEnum.ASDC_SEND_NOTIF_ASDC_EXEC, "ASDC", "sendASDCNotification", MsoLogger.ErrorCode.SchemaError, "RuntimeException - sendASDCNotification", e);
- }
- LOGGER.recordMetricEvent (subStarttime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully sent notification to ASDC", "ASDC", action, null);
- }
-
- private void sendFinalDistributionStatus (
- String distributionID,
- DistributionStatusEnum status,
- String errorReason) {
-
-
- LOGGER.debug ("Enter sendFinalDistributionStatus with DistributionID " + distributionID + " and Status of " + status.name() + " and ErrorReason " + errorReason);
-
- long subStarttime = System.currentTimeMillis ();
- try {
-
-
- IFinalDistrStatusMessage finalDistribution = new FinalDistributionStatusMessage(distributionID,status,subStarttime, asdcConfig.getConsumerID());
-
- if(errorReason == null){
- this.distributionClient.sendFinalDistrStatus(finalDistribution);
- }else{
- this.distributionClient.sendFinalDistrStatus(finalDistribution, errorReason);
- }
-
-
- } catch (RuntimeException e) {
- // TODO: May be a list containing the unsent notification should be
- // kept
- LOGGER.debug ("Exception caught in sendFinalDistributionStatus " + e.getMessage());
- LOGGER.warn (MessageEnum.ASDC_SEND_NOTIF_ASDC_EXEC, "ASDC", "sendASDCNotification", MsoLogger.ErrorCode.SchemaError, "RuntimeException - sendASDCNotification", e);
- }
- LOGGER.recordMetricEvent (subStarttime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully sent Final notification to ASDC", "ASDC", null, null);
- }
-
- public void treatNotification (INotificationData iNotif) {
-
- int noOfArtifacts = 0;
- WatchdogDistribution wd = new WatchdogDistribution();
-
- for (IResourceInstance resource : iNotif.getResources ()) {
- noOfArtifacts += resource.getArtifacts ().size ();
- }
- LOGGER.info (MessageEnum.ASDC_RECEIVE_CALLBACK_NOTIF,
- String.valueOf (noOfArtifacts),
- iNotif.getServiceUUID (), "ASDC", "treatNotification");
-
- try {
- LOGGER.debug(ASDCNotificationLogging.dumpASDCNotification(iNotif));
- LOGGER.info(MessageEnum.ASDC_RECEIVE_SERVICE_NOTIF, iNotif.getServiceUUID(), "ASDC", "treatNotification");
- this.changeControllerStatus(ASDCControllerStatus.BUSY);
-
-
-
- // Process only the Resource artifacts in MSO
- for (IResourceInstance resource : iNotif.getResources()) {
-
- // We process only VNF(VF), Network(VL) and PNF resources on MSO Side
- //if ("VF".equals(resource.getResourceType()) || "VL".equals(resource.getResourceType()) || "PNF".equals(resource.getResourceType())){
- this.processResourceNotification(iNotif,resource);
- //}
-
- }
-
- //Handle services without any resources
- if (iNotif.getResources() == null || iNotif.getResources().size() < 1){
-
- this.processResourceNotification(iNotif, new ResourceInstance());
- }
-
- //********************************************************************************************************
- //Start Watchdog loop and wait for all components to complete before reporting final status back.
- // **If timer expires first then we will report a Distribution Error back to ASDC
- //********************************************************************************************************
- long initialStartTime = System.currentTimeMillis();
- boolean componentsComplete = false;
- String distributionStatus = null;
- String watchdogError = null;
- String overallStatus = null;
- int watchDogTimeout = asdcConfig.getWatchDogTimeout() * 1000;
- boolean isDeploySuccess = false;
- WatchdogDistributionStatusDb wdDistributionStatus = WatchdogDistributionStatusDb.getInstance();
-
-
- while(componentsComplete == false && (System.currentTimeMillis() - initialStartTime) < watchDogTimeout)
- {
-
- try{
-
- distributionStatus = wd.getOverallDistributionStatus(iNotif.getDistributionID());
- Thread.sleep(watchDogTimeout / 10);
-
- }catch(Exception e){
- LOGGER.debug ("Exception in Watchdog Loop " + e.getMessage());
- Thread.sleep(watchDogTimeout / 10);
- }
-
- if(distributionStatus != null && !distributionStatus.equalsIgnoreCase(DistributionStatus.INCOMPLETE.name())){
-
- if(distributionStatus.equalsIgnoreCase(DistributionStatus.SUCCESS.name())){
- isDeploySuccess = true;
- overallStatus = DistributionStatusEnum.DISTRIBUTION_COMPLETE_OK.name();
- }else{
- overallStatus = DistributionStatusEnum.DISTRIBUTION_COMPLETE_ERROR.name();
- }
-
- componentsComplete = true;
- }
- }
-
- if(componentsComplete == false){
- LOGGER.debug("Timeout of " + watchDogTimeout + " seconds was reached before all components reported status");
- watchdogError = "Timeout occurred while waiting for all components to report status";
- overallStatus = DistributionStatusEnum.DISTRIBUTION_COMPLETE_ERROR.name();
- }
-
- if(distributionStatus == null){
- overallStatus = DistributionStatusEnum.DISTRIBUTION_COMPLETE_ERROR.name();
- LOGGER.debug("DistributionStatus is null for DistributionId: " + iNotif.getDistributionID());
-
- }
-
- try {
- wd.executePatchAAI(iNotif.getDistributionID(), iNotif.getServiceInvariantUUID(), overallStatus);
- LOGGER.debug ("A&AI Updated succefully with Distribution Status!");
- }
- catch(Exception e) {
- LOGGER.debug ("Exception in Watchdog executePatchAAI(): " + e.getMessage());
- watchdogError = "Error calling A&AI " + e.getMessage();
- if(e.getCause() != null) {
- LOGGER.debug ("Exception caused by: " + e.getCause().getMessage());
- }
- }
-
-
- if(isDeploySuccess && watchdogError == null){
- sendFinalDistributionStatus(iNotif.getDistributionID(), DistributionStatusEnum.DISTRIBUTION_COMPLETE_OK, null);
- wdDistributionStatus.updateWatchdogDistributionIdStatus(iNotif.getDistributionID(), DistributionStatusEnum.DISTRIBUTION_COMPLETE_OK.name());
- } else {
- sendFinalDistributionStatus(iNotif.getDistributionID(), DistributionStatusEnum.DISTRIBUTION_COMPLETE_ERROR, watchdogError);
- wdDistributionStatus.updateWatchdogDistributionIdStatus(iNotif.getDistributionID(), DistributionStatusEnum.DISTRIBUTION_COMPLETE_ERROR.name());
- }
-
-
-
- } catch (Exception e) {
- LOGGER.error (MessageEnum.ASDC_GENERAL_EXCEPTION_ARG,
- "Unexpected exception caught during the notification processing", "ASDC", "treatNotification", MsoLogger.ErrorCode.SchemaError, "RuntimeException in treatNotification",
- e);
-
- sendFinalDistributionStatus(iNotif.getDistributionID(), DistributionStatusEnum.DISTRIBUTION_COMPLETE_ERROR, e.getMessage());
-
- } finally {
- this.changeControllerStatus (ASDCControllerStatus.IDLE);
- }
- }
-
-
- private void processResourceNotification (INotificationData iNotif,IResourceInstance resource) {
- // For each artifact, create a structure describing the VFModule in a ordered flat level
- VfResourceStructure resourceStructure = new VfResourceStructure(iNotif,resource);
- ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure();
- boolean deploySuccessful = true;
- String errorMessage = null;
-
- try {
-
- if (!this.checkResourceAlreadyDeployed(resourceStructure)) {
- for (IArtifactInfo artifact : resource.getArtifacts()) {
-
- IDistributionClientDownloadResult resultArtifact = this.downloadTheArtifact(artifact,
- iNotif.getDistributionID());
-
- if (resultArtifact != null) {
- if (ASDCConfiguration.VF_MODULES_METADATA.equals(artifact.getArtifactType())) {
- LOGGER.debug("VF_MODULE_ARTIFACT: "+new String(resultArtifact.getArtifactPayload(),"UTF-8"));
- LOGGER.debug(ASDCNotificationLogging.dumpVfModuleMetaDataList(resourceStructure.decodeVfModuleArtifact(resultArtifact.getArtifactPayload())));
- }
- resourceStructure.addArtifactToStructure(distributionClient,artifact, resultArtifact);
-
- }
-
- }
- this.processCsarServiceArtifacts(iNotif, toscaResourceStructure);
-
- try{
-
- this.deployResourceStructure(resourceStructure, toscaResourceStructure);
-
- } catch(ArtifactInstallerException e){
- deploySuccessful = false;
- errorMessage = e.getMessage();
- }
-
- this.sendCsarDeployNotification(iNotif, resourceStructure, toscaResourceStructure, deploySuccessful, errorMessage);
-
-
-
- }
- } catch (ArtifactInstallerException | ASDCDownloadException | UnsupportedEncodingException e) {
- LOGGER.error(MessageEnum.ASDC_GENERAL_EXCEPTION_ARG,
- "Exception caught during Installation of artifact", "ASDC", "processResourceNotification", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in processResourceNotification", e);
- }
- }
-
- private void processCsarServiceArtifacts (INotificationData iNotif, ToscaResourceStructure toscaResourceStructure) {
-
- List<IArtifactInfo> serviceArtifacts = iNotif.getServiceArtifacts();
-
- for(IArtifactInfo artifact : serviceArtifacts){
-
- if(artifact.getArtifactType().equals(ASDCConfiguration.TOSCA_CSAR)){
-
- try{
-
- toscaResourceStructure.setToscaArtifact(artifact);
-
- IDistributionClientDownloadResult resultArtifact = this.downloadTheArtifact(artifact,iNotif.getDistributionID());
-
- writeArtifactToFile(artifact, resultArtifact);
-
- toscaResourceStructure.updateResourceStructure(artifact);
-
- toscaResourceStructure.setServiceVersion(iNotif.getServiceVersion());
-
- LOGGER.debug(ASDCNotificationLogging.dumpCSARNotification(iNotif, toscaResourceStructure));
-
-
- } catch(Exception e){
- System.out.println("Whats the error " + e.getMessage());
- LOGGER.error(MessageEnum.ASDC_GENERAL_EXCEPTION_ARG,
- "Exception caught during processCsarServiceArtifacts", "ASDC", "processCsarServiceArtifacts", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in processCsarServiceArtifacts", e);
- }
- }
-
- }
- }
-
- private static final String UNKNOWN="Unknown";
-
- /**
- * @return the address of the ASDC we are connected to.
- */
- public String getAddress () {
- if (asdcConfig != null) {
- return asdcConfig.getAsdcAddress ();
- }
- return UNKNOWN;
- }
-
- /**
- * @return the environment name of the ASDC we are connected to.
- */
- public String getEnvironment () {
- if (asdcConfig != null) {
- return asdcConfig.getEnvironmentName ();
- }
- return UNKNOWN;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCControllerStatus.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCControllerStatus.java
deleted file mode 100644
index db83a91b72..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCControllerStatus.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============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.asdc.client;
-
-
-
-public enum ASDCControllerStatus {
- STOPPED, IDLE, BUSY
-}
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
deleted file mode 100644
index 430bd10892..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCGlobalController.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*-
- * ============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.asdc.client;
-
-
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.mso.asdc.client.exceptions.ASDCControllerException;
-import org.openecomp.mso.asdc.client.exceptions.ASDCParametersException;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoJsonProperties;
-import org.openecomp.mso.properties.MsoPropertiesException;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-
-
-
-public class ASDCGlobalController {
-
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
- private Map <String,ASDCController> controllers = new HashMap<>();
-
- private MsoJsonProperties msoProp= null;
-
- private void loadControllers () throws ASDCParametersException {
-
- List<String> controllerNames = ASDCConfiguration.getAllDefinedControllers();
-
- StringBuilder controllerListLog = new StringBuilder("List of controllers loaded:");
- for (String controllerName : controllerNames) {
- controllers.put(controllerName, new ASDCController(controllerName));
- controllerListLog.append(controllerName);
- controllerListLog.append(";");
- }
- LOGGER.debug(controllerListLog.toString());
- }
-
- private boolean sameControllersDefined() throws ASDCParametersException {
- List<String> controllerNames = ASDCConfiguration.getAllDefinedControllers();
- if (controllerNames.size() == controllers.size()) {
- boolean areIdentical = true;
-
- for (String name:controllerNames) {
- if (!controllers.containsKey(name)) {
- areIdentical = false;
- break;
- }
- }
- return areIdentical;
-
- } else {
- return false;
- }
- }
-
- /**
- * Check that controllers list needs to be updated or not.
- * return true if the list has been updated
- */
- private boolean updateControllersListIfNeeded () {
- boolean updateNeeded=false;
- try {
-
- MsoPropertiesFactory msoPropFactory = new MsoPropertiesFactory();
- MsoJsonProperties newMsoProp;
-
- newMsoProp = msoPropFactory.getMsoJsonProperties(ASDCConfiguration.MSO_PROP_ASDC);
-
- if (msoPropFactory.propertiesHaveChanged(ASDCConfiguration.MSO_PROP_ASDC, msoProp) && !sameControllersDefined()) {
- updateNeeded = true;
- LOGGER.debug("List of ASDC controllers has been changed, trying to kill them");
- this.closeASDC();
-
- // Wait that all controllers are down before restarting, next pass will kill them all
- if (this.controllers.size() == 0) {
- msoProp = newMsoProp;
- this.loadControllers();
- }
- }
-
- } catch (ASDCParametersException e) {
- LOGGER.warn (MessageEnum.ASDC_LOAD_ASDC_CLIENT_EXC,
- "All ASDC Hosts",
- "All ASDC Envs", "ASDC", "", MsoLogger.ErrorCode.BusinessProcesssError, "ASDCParametersException in updateControllersListIfNeeded",
- e);
- } catch (MsoPropertiesException e) {
- LOGGER.warn (MessageEnum.ASDC_LOAD_ASDC_CLIENT_EXC,
- "All ASDC Hosts",
- "All ASDC Envs", "ASDC", "", MsoLogger.ErrorCode.BusinessProcesssError, "MsoPropertiesException in updateControllersListIfNeeded",
- e);
- }
- return updateNeeded;
-
-
- }
-
- /**
- * Checks for each controller if it is STOPPED and restart if it is the case.
- */
- public void checkInStoppedState () {
-
- for (ASDCController controller : controllers.values()) {
- if (ASDCControllerStatus.STOPPED.equals (controller.getControllerStatus ())) {
-
- // Try to restart just in case of issues
- try {
- controller.initASDC ();
- } catch (ASDCControllerException ec) {
- LOGGER.warn (MessageEnum.ASDC_INIT_ASDC_CLIENT_EXC,
- controller.getAddress (),
- controller.getEnvironment (), "ASDC", "", MsoLogger.ErrorCode.BusinessProcesssError, "ASDCControllerException in checkInStoppedState",
- ec);
- } catch (ASDCParametersException ep) {
- LOGGER.warn (MessageEnum.ASDC_LOAD_ASDC_CLIENT_EXC,
- controller.getAddress (),
- controller.getEnvironment (), "ASDC", "", MsoLogger.ErrorCode.BusinessProcesssError, "ASDCParametersException in checkInStoppedState",
- ep);
- } catch (RuntimeException | IOException e) {
- LOGGER.error (MessageEnum.ASDC_SINGLETON_CHECKT_EXC,
- controller.getAddress (),
- controller.getEnvironment (), "ASDC", "", MsoLogger.ErrorCode.BusinessProcesssError, "RuntimeException in checkInStoppedState",
- e);
- }
- }
- }
- }
-
- public void closeASDC () {
- List<String> controllerToRemove = new LinkedList<>();
-
- for (ASDCController controller : controllers.values()) {
- try {
- controller.closeASDC ();
- controllerToRemove.add(controller.controllerName);
-
- } catch (RuntimeException e) {
- LOGGER.warn (MessageEnum.ASDC_SHUTDOWN_ASDC_CLIENT_EXC,
- "RuntimeException",
- controller.getAddress (),
- controller.getEnvironment (), "ASDC", "closeASDC", MsoLogger.ErrorCode.BusinessProcesssError, "RuntimeException in closeASDC",
- e);
- } catch (ASDCControllerException e) {
- LOGGER.warn (MessageEnum.ASDC_SHUTDOWN_ASDC_CLIENT_EXC,
- "ASDCControllerException",
- controller.getAddress (),
- controller.getEnvironment (), "ASDC", "closeASDC", MsoLogger.ErrorCode.BusinessProcesssError, "ASDCControllerException in closeASDC",
- e);
- }
- }
-
- // Now remove the ones properly closed
- for (String toRemove:controllerToRemove) {
- controllers.remove(toRemove);
- }
-
- }
-
- /**
- * Check whether the config has been changed
- */
- public boolean updateControllersConfigIfNeeded () {
- boolean listUpdated=updateControllersListIfNeeded();
- if (!listUpdated) {
-
- for (ASDCController controller : controllers.values()) {
- try {
- controller.updateConfigIfNeeded ();
- } catch (ASDCControllerException ec) {
- LOGGER.warn (MessageEnum.ASDC_INIT_ASDC_CLIENT_EXC,
- controller.getAddress (),
- controller.getEnvironment (), "ASDC", "closeASDC", MsoLogger.ErrorCode.BusinessProcesssError, "ASDCControllerException in updateControllersConfigIfNeeded",
- ec);
- } catch (ASDCParametersException ep) {
- LOGGER.warn (MessageEnum.ASDC_LOAD_ASDC_CLIENT_EXC,
- controller.getAddress (),
- controller.getEnvironment (), "ASDC", "closeASDC", MsoLogger.ErrorCode.BusinessProcesssError, "ASDCParametersException in updateControllersConfigIfNeeded",
- ep);
- } catch (RuntimeException | IOException e) {
- LOGGER.error (MessageEnum.ASDC_SINGLETON_CHECKT_EXC,
- controller.getAddress (),
- controller.getEnvironment (), "ASDC", "closeASDC", MsoLogger.ErrorCode.BusinessProcesssError, "RuntimeException in updateControllersConfigIfNeeded",
- e);
- }
- }
- }
- return listUpdated;
- }
-
- public Map<String, ASDCController> getControllers() {
- return controllers;
- }
-
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/DistributionStatusMessage.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/DistributionStatusMessage.java
deleted file mode 100644
index 60fa4a9f98..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/DistributionStatusMessage.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*-
- * ============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.asdc.client;
-
-
-import org.onap.sdc.api.consumer.IDistributionStatusMessage;
-import org.onap.sdc.utils.DistributionStatusEnum;
-
-public class DistributionStatusMessage implements IDistributionStatusMessage {
-
- private String artifactURL;
-
- private String consumerID;
-
- private String distributionID;
-
- private DistributionStatusEnum distributionStatus;
-
- private long timestamp;
-
- public DistributionStatusMessage (final String artifactUrl, final String consumerId,final String distributionId, final DistributionStatusEnum distributionStatusEnum, final long timestampL) {
- artifactURL = artifactUrl;
- consumerID = consumerId;
- distributionID = distributionId;
- distributionStatus = distributionStatusEnum;
- timestamp = timestampL;
- }
-
- @Override
- public String getArtifactURL() {
-
- return artifactURL;
- }
-
- @Override
- public String getConsumerID() {
-
- return consumerID;
- }
-
- @Override
- public String getDistributionID() {
-
- return distributionID;
- }
-
- @Override
- public DistributionStatusEnum getStatus() {
-
- return distributionStatus;
- }
-
- @Override
- public long getTimestamp() {
-
- return timestamp;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/FinalDistributionStatusMessage.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/FinalDistributionStatusMessage.java
deleted file mode 100644
index bf22d7e323..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/FinalDistributionStatusMessage.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-
- * ============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.asdc.client;
-
-import org.onap.sdc.api.consumer.IFinalDistrStatusMessage;
-import org.onap.sdc.utils.DistributionStatusEnum;
-
-public class FinalDistributionStatusMessage implements IFinalDistrStatusMessage{
-
- private String componentName;
-
- private String consumerID;
-
- private String distributionID;
-
- private DistributionStatusEnum status;
-
- private long timestamp;
-
- public FinalDistributionStatusMessage (String distributionId, final DistributionStatusEnum distributionStatusEnum, final long timestampL, String consumerId) {
- //componentName = componentname;
- consumerID = consumerId;
- distributionID = distributionId;
- status = distributionStatusEnum;
- timestamp = timestampL;
- }
-
- public DistributionStatusEnum getStatus() {
- return status;
- }
-
- public void setStatus(DistributionStatusEnum status) {
- this.status = status;
- }
-
- public String getDistributionID() {
- return distributionID;
- }
-
- public void setDistributionID(String distributionID) {
- this.distributionID = distributionID;
- }
-
- public long getTimestamp() {
- return timestamp;
- }
-
- public void setTimestamp(long timestamp) {
- this.timestamp = timestamp;
- }
-
- public String getComponentName() {
- return componentName;
- }
-
- public void setComponentName(String componentName) {
- this.componentName = componentName;
- }
-
- public String getConsumerID() {
- return consumerID;
- }
-
- public void setConsumerID(String consumerID) {
- this.consumerID = consumerID;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerException.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerException.java
deleted file mode 100644
index e8cb308073..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*-
- * ============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.asdc.client.exceptions;
-
-
-/**
- * Exception of the ASDC controller.
- */
-public class ASDCControllerException extends Exception {
-
- /**
- * serialization id.
- */
- private static final long serialVersionUID = -4236006447255525130L;
-
- /**
- * @param message The message to dump
- * @param cause The Throwable cause object
- */
- public ASDCControllerException (final String message) {
- super (message);
-
- }
-
- /**
- * @param message The message to dump
- * @param cause The Throwable cause object
- */
- public ASDCControllerException (final String message, final Throwable cause) {
- super (message, cause);
-
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadException.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadException.java
deleted file mode 100644
index a8a0f150eb..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*-
- * ============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.asdc.client.exceptions;
-
-
-/**
- * Exception during download from ASDC.
- */
-public class ASDCDownloadException extends Exception {
-
- /**
- * serialization id.
- */
- private static final long serialVersionUID = -5276848693231134901L;
-
- /**
- * @param message The message to dump
- * @param cause The Throwable cause object
- */
- public ASDCDownloadException (final String message) {
- super (message);
-
- }
-
- /**
- * @param message The message to dump
- * @param cause The Throwable cause object
- */
- public ASDCDownloadException (final String message, final Throwable cause) {
- super (message, cause);
-
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCParametersException.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCParametersException.java
deleted file mode 100644
index b4bce4ed85..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ASDCParametersException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*-
- * ============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.asdc.client.exceptions;
-
-
-/**
- * Exception of the ASDC controller.
- */
-public class ASDCParametersException extends Exception {
-
- /**
- * serialization id.
- */
- private static final long serialVersionUID = 8425657297510362736L;
-
- /**
- * @param message The message to dump
- * @param cause The Throwable cause object
- */
- public ASDCParametersException (final String message) {
- super (message);
-
- }
-
- /**
- * @param message The message to dump
- * @param cause The Throwable cause object
- */
- public ASDCParametersException (final String message, final Throwable cause) {
- super (message, cause);
-
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ArtifactInstallerException.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ArtifactInstallerException.java
deleted file mode 100644
index e8a5e81abe..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/exceptions/ArtifactInstallerException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*-
- * ============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.asdc.client.exceptions;
-
-
-/**
- * Exception during artifact installation.
- */
-public class ArtifactInstallerException extends Exception {
-
- /**
- * serialization id.
- */
- private static final long serialVersionUID = 4095937499475915021L;
-
- /**
- * @param message The message to dump
- * @param cause The Throwable cause object
- */
- public ArtifactInstallerException (final String message) {
- super (message);
-
- }
-
- /**
- * @param message The message to dump
- * @param cause The Throwable cause object
- */
- public ArtifactInstallerException (final String message, final Throwable cause) {
- super (message, cause);
-
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/DistributionClientEmulator.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/DistributionClientEmulator.java
deleted file mode 100644
index 426e2353d8..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/DistributionClientEmulator.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*-
- * ============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.asdc.client.test.emulators;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.apache.commons.io.IOUtils;
-import org.openecomp.mso.asdc.installer.IVfModuleData;
-import org.onap.sdc.api.IDistributionClient;
-import org.onap.sdc.api.consumer.IComponentDoneStatusMessage;
-import org.onap.sdc.api.consumer.IConfiguration;
-import org.onap.sdc.api.consumer.IDistributionStatusMessage;
-import org.onap.sdc.api.consumer.IFinalDistrStatusMessage;
-import org.onap.sdc.api.consumer.INotificationCallback;
-import org.onap.sdc.api.consumer.IStatusCallback;
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.IVfModuleMetadata;
-import org.onap.sdc.api.results.IDistributionClientDownloadResult;
-import org.onap.sdc.api.results.IDistributionClientResult;
-import org.onap.sdc.impl.DistributionClientDownloadResultImpl;
-import org.onap.sdc.impl.DistributionClientResultImpl;
-import org.onap.sdc.utils.DistributionActionResultEnum;
-
-public class DistributionClientEmulator implements IDistributionClient {
-
- private String resourcePath;
-
- private List<IVfModuleData> listVFModuleMetaData;
-
- private List<IDistributionStatusMessage> distributionMessageReceived = new LinkedList<>();
-
- public DistributionClientEmulator(String notifFolderInResource) {
-
- resourcePath = notifFolderInResource;
- }
-
- public List<IDistributionStatusMessage> getDistributionMessageReceived() {
- return distributionMessageReceived;
- }
-
- @Override
- public List<IVfModuleMetadata> decodeVfModuleArtifact(byte[] arg0) {
- return null;
- }
-
- /* @Override
- public List<IVfModuleData> decodeVfModuleArtifact(byte[] arg0) {
- try {
- listVFModuleMetaData = new ObjectMapper().readValue(arg0, new TypeReference<List<JsonVfModuleMetaData>>(){});
- return listVFModuleMetaData;
-
- } catch (JsonParseException e) {
- e.printStackTrace();
- } catch (JsonMappingException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- } */
-
- public List<IVfModuleData> getListVFModuleMetaData() {
- return listVFModuleMetaData;
- }
-
- @Override
- public IDistributionClientDownloadResult download (IArtifactInfo arg0) {
-
-
- //String filename = resourcePath+"/artifacts/"+arg0.getArtifactURL();
- String filename = arg0.getArtifactURL();
- System.out.println("Emulating the download from resources files:"+filename);
-
- InputStream inputStream = null;
-
- if(arg0.getArtifactName().equals("service_PortMirroringContainer_csar.csar")){
- try{
- inputStream = new FileInputStream("C://Users//JM5423//git//mso//asdc-tosca-1712-test3//openecomp-mso//asdc-controller//src//main//resources//resource-examples//service_PortMirroringContainer_csar.csar");
- }catch(Exception e){
- System.out.println("Error " + e.getMessage());
- }
- }else{
-
- inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath + filename);
- }
-
- if (inputStream == null) {
- System.out.println("InputStream is NULL for:"+filename);
- }
- try {
- return new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(),arg0.getArtifactName(),IOUtils.toByteArray(inputStream));
- } catch (IOException e) {
-
- e.printStackTrace();
- }
- return null;
- }
-
- @Override
- public IConfiguration getConfiguration() {
- return null;
- }
-
- @Override
- public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1) {
- return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
- }
-
- @Override
- public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1, IStatusCallback arg2) {
- return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
- }
-
- @Override
- public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0) {
- this.distributionMessageReceived.add(arg0);
- return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
- }
-
- @Override
- public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0, String arg1) {
- this.distributionMessageReceived.add(arg0);
- return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
- }
-
- @Override
- public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0) {
- this.distributionMessageReceived.add(arg0);
- return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
- }
-
- @Override
- public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0, String arg1) {
- this.distributionMessageReceived.add(arg0);
- return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
- }
-
- @Override
- public IDistributionClientResult start() {
- return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
- }
-
- @Override
- public IDistributionClientResult stop() {
- return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
-
- }
-
- @Override
- public IDistributionClientResult updateConfiguration(IConfiguration arg0) {
- return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
- }
-
- @Override
- public IDistributionClientResult sendComponentDoneStatus(
- IComponentDoneStatusMessage arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public IDistributionClientResult sendFinalDistrStatus(
- IFinalDistrStatusMessage arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public IDistributionClientResult sendComponentDoneStatus(
- IComponentDoneStatusMessage arg0, String arg1) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public IDistributionClientResult sendFinalDistrStatus(
- IFinalDistrStatusMessage arg0, String arg1) {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonArtifactInfo.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonArtifactInfo.java
deleted file mode 100644
index b57792e6d5..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonArtifactInfo.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*-
- * ============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.asdc.client.test.emulators;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.onap.sdc.api.notification.IArtifactInfo;
-
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
-public class JsonArtifactInfo implements IArtifactInfo {
-
- @JsonIgnore
- private Map<String,IArtifactInfo> artifactsMapByUUID = new HashMap<>();
-
- @JsonIgnore
- private Map<String,Object> attributesMap = new HashMap<>();
-
- public JsonArtifactInfo() {
-
- }
-
- public synchronized void addArtifactToUUIDMap (List<JsonArtifactInfo> artifactList) {
- for (JsonArtifactInfo artifact:artifactList) {
- artifactsMapByUUID.put(artifact.getArtifactUUID(), artifact);
- }
-
- }
-
- @SuppressWarnings("unused")
- @JsonAnySetter
- public final void setAttribute(String attrName, Object attrValue) {
- if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) {
- this.attributesMap.put(attrName,attrValue);
- }
- }
-
-
-
- public Map<String, IArtifactInfo> getArtifactsMapByUUID() {
- return artifactsMapByUUID;
- }
-
- @Override
- public String getArtifactChecksum() {
- return (String)attributesMap.get("artifactCheckSum");
- }
-
- @Override
- public String getArtifactDescription() {
- return (String)attributesMap.get("artifactDescription");
- }
-
- @Override
- public String getArtifactName() {
- return (String)attributesMap.get("artifactName");
- }
-
- @Override
- public Integer getArtifactTimeout() {
- return (Integer)attributesMap.get("artifactTimeout");
- }
-
- @Override
- public String getArtifactType() {
- return (String)attributesMap.get("artifactType");
- }
-
- @Override
- public String getArtifactURL() {
- return (String)attributesMap.get("artifactURL");
- }
-
- @Override
- public String getArtifactUUID() {
- return (String)attributesMap.get("artifactUUID");
- }
-
- @Override
- public String getArtifactVersion() {
- return (String)attributesMap.get("artifactVersion");
- }
-
- @Override
- public IArtifactInfo getGeneratedArtifact () {
- return artifactsMapByUUID.get(attributesMap.get("generatedArtifact"));
- }
-
- @Override
- public List<IArtifactInfo> getRelatedArtifacts() {
- List<IArtifactInfo> listArtifacts = new LinkedList<>();
- List<String> uuidList = (List<String>)attributesMap.get("relatedArtifact");
- if (uuidList != null) {
- for(String uuid:uuidList) {
- listArtifacts.add(artifactsMapByUUID.get(uuid));
- }
- }
- return listArtifacts;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonArtifactInfoDeserializer.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonArtifactInfoDeserializer.java
deleted file mode 100644
index 66863b562e..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonArtifactInfoDeserializer.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*-
- * ============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.asdc.client.test.emulators;
-
-import java.io.IOException;
-import java.util.List;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class JsonArtifactInfoDeserializer extends JsonDeserializer<List<JsonArtifactInfo>>{
-
- @Override
- public List<JsonArtifactInfo> deserialize(JsonParser jp, DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
- List<JsonArtifactInfo> jsonArtifactInfoList = new ObjectMapper().readValue(jp, new TypeReference<List<JsonArtifactInfo>>(){});
-
- // For each artifact add the list of artifact retrieved
- // This could be used later to index by UUID
- for (JsonArtifactInfo artifactInfo:jsonArtifactInfoList) {
- artifactInfo.addArtifactToUUIDMap(jsonArtifactInfoList);
- }
- return jsonArtifactInfoList;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonNotificationData.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonNotificationData.java
deleted file mode 100644
index 3eddb4a7c5..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonNotificationData.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*-
- * ============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.asdc.client.test.emulators;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.INotificationData;
-import org.onap.sdc.api.notification.IResourceInstance;
-
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-
-public class JsonNotificationData implements INotificationData {
-
- @JsonIgnore
- private static ObjectMapper mapper = new ObjectMapper();
-
- @JsonIgnore
- private Map<String,Object> attributesMap = new HashMap<>();
-
- @JsonProperty("serviceArtifacts")
- @JsonDeserialize(using=JsonArtifactInfoDeserializer.class)
- private List<IArtifactInfo> serviceArtifacts;
-
- @JsonProperty("resources")
- @JsonDeserialize(using=JsonResourceInfoDeserializer.class)
- private List<IResourceInstance> resourcesList;
-
- public JsonNotificationData() {
-
- }
-
- /**
- * Method instantiate a INotificationData implementation from a JSON file.
- *
- * @param notifFilePath The file path in String
- * @return A JsonNotificationData instance
- * @throws IOException in case of the file is not readable or not accessible
- */
- public static JsonNotificationData instantiateNotifFromJsonFile(String notifFilePath) throws IOException {
-
- InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(notifFilePath + "notif-structure.json");
-
- //String fileLocation = System.getProperty("mso.config.path") + "notif-structure.json";
-
- //String source = fileLocation;
- //InputStream is = IOUtils.toInputStream(source, "UTF-8");
-
- //String myString = IOUtils.toString(is, "UTF-8");
-
-
- //System.out.println(myString);
-
- if (is == null) {
- //throw new FileExistsException("Resource Path does not exist: "+notifFilePath);
- }
- return mapper.readValue(is, JsonNotificationData.class);
- }
-
- @SuppressWarnings("unused")
- @JsonAnySetter
- public final void setAttribute(String attrName, Object attrValue) {
- if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) {
- this.attributesMap.put(attrName,attrValue);
- }
- }
-
- @Override
- public String getWorkloadContext(){
- return (String)this.attributesMap.get("workloadContext");
- }
-
- @Override
- public void setWorkloadContext(java.lang.String arg0){
-
- }
-
- @Override
- public IArtifactInfo getArtifactMetadataByUUID(String arg0) {
- return null;
- }
-
- @Override
- public String getDistributionID() {
- return (String)this.attributesMap.get("distributionID");
- }
-
- @Override
- public List<IResourceInstance> getResources() {
- return resourcesList;
- }
-
- @Override
- public List<IArtifactInfo> getServiceArtifacts() {
- return this.serviceArtifacts;
- }
-
- @Override
- public String getServiceDescription() {
- return (String)this.attributesMap.get("serviceDescription");
- }
-
- @Override
- public String getServiceInvariantUUID() {
- return (String)this.attributesMap.get("serviceInvariantUUID");
- }
-
- @Override
- public String getServiceName() {
- return (String)this.attributesMap.get("serviceName");
- }
-
- @Override
- public String getServiceUUID() {
- return (String)this.attributesMap.get("serviceUUID");
- }
-
- @Override
- public String getServiceVersion() {
- return (String)this.attributesMap.get("serviceVersion");
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonResourceInfo.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonResourceInfo.java
deleted file mode 100644
index 6f26fd0daa..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonResourceInfo.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*-
- * ============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.asdc.client.test.emulators;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.IResourceInstance;
-
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-public class JsonResourceInfo implements IResourceInstance {
-
- @JsonIgnore
- private Map<String,Object> attributesMap = new HashMap<>();
-
- @JsonProperty("artifacts")
- @JsonDeserialize(using=JsonArtifactInfoDeserializer.class)
- private List<IArtifactInfo> artifacts;
-
- public JsonResourceInfo() {
-
- }
-
- @Override
- public List<IArtifactInfo> getArtifacts() {
- return artifacts;
- }
-
- @Override
- public String getResourceInstanceName() {
- return (String)attributesMap.get("resourceInstanceName");
- }
-
- @Override
- public String getResourceInvariantUUID() {
- return (String)attributesMap.get("resourceInvariantUUID");
- }
-
- @Override
- public String getResourceCustomizationUUID() {
- return (String)attributesMap.get("resourceCustomizationUUID");
- }
-
- @Override
- public String getResourceName() {
- return (String)attributesMap.get("resourceName");
- }
-
- @Override
- public String getResourceType() {
- return (String)attributesMap.get("resourceType");
- }
-
- @Override
- public String getResourceUUID() {
- return (String)attributesMap.get("resourceUUID");
- }
-
- @Override
- public String getResourceVersion() {
- return (String)attributesMap.get("resourceVersion");
- }
-
- @Override
- public String getSubcategory() {
- return (String)attributesMap.get("subCategory");
- }
-
- @Override
- public String getCategory() {
- return (String)attributesMap.get("category");
- }
-
- @SuppressWarnings("unused")
- @JsonAnySetter
- public final void setAttribute(String attrName, Object attrValue) {
- if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) {
- this.attributesMap.put(attrName,attrValue);
- }
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonResourceInfoDeserializer.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonResourceInfoDeserializer.java
deleted file mode 100644
index 49908e71a0..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonResourceInfoDeserializer.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * ============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.asdc.client.test.emulators;
-
-import java.io.IOException;
-import java.util.List;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class JsonResourceInfoDeserializer extends JsonDeserializer<List<JsonResourceInfo>>{
-
- @Override
- public List<JsonResourceInfo> deserialize(JsonParser jp, DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
- List<JsonResourceInfo> jsonResourceInfoList = new ObjectMapper().readValue(jp, new TypeReference<List<JsonResourceInfo>>(){});
-
- return jsonResourceInfoList;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonStatusData.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonStatusData.java
deleted file mode 100644
index 25615b7a33..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonStatusData.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*-
- * ============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.asdc.client.test.emulators;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.onap.sdc.api.notification.IStatusData;
-import org.onap.sdc.utils.DistributionStatusEnum;
-
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-
-public class JsonStatusData implements IStatusData {
-
- @JsonIgnore
- private static ObjectMapper mapper = new ObjectMapper();
-
- @JsonIgnore
- private Map<String,Object> attributesMap = new HashMap<>();
-
- public JsonStatusData() {
-
- }
-
- @Override
- public String getErrorReason(){
- return "MSO FAILURE";
- }
-
- @Override
- public String getDistributionID(){
- //return (String)this.attributesMap.get("distributionID");
- return "35120a87-1f82-4276-9735-f6de5a244d65";
- }
-
- @Override
- public String getConsumerID(){
- //return (String)this.attributesMap.get("consumerID");
- return "mso.123456";
- }
-
- @Override
- public String getComponentName(){
- //return (String)this.attributesMap.get("componentName");
- return "SDN-C";
- }
-
- @Override
- public Long getTimestamp(){
- //return (String)this.attributesMap.get("timestamp");
- return null;
- }
-
- @Override
- public String getArtifactURL(){
- //return (String)this.attributesMap.get("artifactURL");
- return "/sdc/v1/catalog/services/srv1/2.0/resources/aaa/1.0/artifacts/aaa.yml";
- }
-
- @Override
- public DistributionStatusEnum getStatus(){
- //return (DistributionStatusEnum)this.attributesMap.get(DistributionStatusEnum.DEPLOY_OK);
- return DistributionStatusEnum.COMPONENT_DONE_OK;
- }
-
- /**
- * Method instantiate a INotificationData implementation from a JSON file.
- *
- * @param notifFilePath The file path in String
- * @return A JsonNotificationData instance
- * @throws IOException in case of the file is not readable or not accessible
- */
- public static JsonStatusData instantiateNotifFromJsonFile(String notifFilePath) throws IOException {
-
- InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(notifFilePath + "status-structure.json");
-
- //String fileLocation = System.getProperty("mso.config.path") + "notif-structure.json";
-
- //String source = fileLocation;
- //InputStream is = IOUtils.toInputStream(source, "UTF-8");
-
- //String myString = IOUtils.toString(is, "UTF-8");
-
-
- //System.out.println(myString);
-
- if (is == null) {
- //throw new FileExistsException("Resource Path does not exist: "+notifFilePath);
- }
- return mapper.readValue(is, JsonStatusData.class);
- }
-
- @SuppressWarnings("unused")
- @JsonAnySetter
- public final void setAttribute(String attrName, Object attrValue) {
- if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) {
- this.attributesMap.put(attrName,attrValue);
- }
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonVfModuleMetaData.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonVfModuleMetaData.java
deleted file mode 100644
index 765f14f78e..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/emulators/JsonVfModuleMetaData.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*-
- * ============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.asdc.client.test.emulators;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.mso.asdc.installer.IVfModuleData;
-
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class JsonVfModuleMetaData implements IVfModuleData {
-
- @JsonProperty("artifacts")
- private List<String> artifacts;
- @JsonProperty("properties")
- //private List<Map<String, Object>> properties = new ArrayList<>();
- private Map<String,String> properties = new HashMap<>();
-
- public Map<String, String> getProperties() {
- return properties;
- }
-
- @JsonIgnore
- private Map<String,Object> attributesMap = new HashMap<>();
-
- @Override
- public List<String> getArtifacts() {
- return artifacts;
- }
-
- @Override
- public String getVfModuleModelDescription() {
- return (String)attributesMap.get("vfModuleModelDescription");
- }
-
- @Override
- public String getVfModuleModelInvariantUUID() {
- return (String)attributesMap.get("vfModuleModelInvariantUUID");
- }
-
- @Override
- public String getVfModuleModelCustomizationUUID() {
- return (String)attributesMap.get("vfModuleModelCustomizationUUID");
- }
-
- @Override
- public String getVfModuleModelName() {
- return (String)attributesMap.get("vfModuleModelName");
- }
-
- @Override
- public String getVfModuleModelUUID() {
- return (String)attributesMap.get("vfModuleModelUUID");
- }
-
- @Override
- public String getVfModuleModelVersion() {
- return (String)attributesMap.get("vfModuleModelVersion");
- }
-
- @Override
- public boolean isBase() {
- return (boolean)attributesMap.get("isBase");
- }
-
- @SuppressWarnings("unused")
- @JsonAnySetter
- public final void setAttribute(String attrName, Object attrValue) {
- if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) {
- this.attributesMap.put(attrName,attrValue);
- }
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/rest/ASDCRestInterface.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/rest/ASDCRestInterface.java
deleted file mode 100644
index ae434b1d3c..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/test/rest/ASDCRestInterface.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*-
- * ============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.asdc.client.test.rest;
-
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.openecomp.mso.asdc.client.ASDCController;
-import org.openecomp.mso.asdc.client.test.emulators.DistributionClientEmulator;
-import org.openecomp.mso.asdc.client.test.emulators.JsonNotificationData;
-import org.openecomp.mso.asdc.client.test.emulators.JsonStatusData;
-import org.openecomp.mso.asdc.installer.heat.ToscaResourceInstaller;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoLogger;
-
-/**
- * This is a TEST only rest interface. It is not used in production, it is used to aid in testing the ASDC service on jboss without the need to be connected
- * to the ASDC service broker. It starts the test at the treatNotification step and simulates both the notification step as well as the artifact download step.
- *
- * i.e. http://localhost:8080/asdc/treatNotification/v1
- *
- * i.e. http://localhost:8080/asdc/statusData/v1
- *
- * @author jm5423
- *
- */
-
-@Path("/")
-public class ASDCRestInterface {
-
- private static DistributionClientEmulator distributionClientEmulator;
-
- private static JsonNotificationData notifDataWithoutModuleInfo;
-
- private static JsonStatusData statusData;
-
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
-
- @GET
- @Path("/treatNotification/v1")
- @Produces(MediaType.APPLICATION_JSON)
- public Response invokeASDCService(String request) {
-
- try{
- distributionClientEmulator = new DistributionClientEmulator("resource-examples/");
- notifDataWithoutModuleInfo = JsonNotificationData.instantiateNotifFromJsonFile("resource-examples/");
-
- ASDCController asdcController = new ASDCController("asdc-controller1", distributionClientEmulator);
- LOGGER.info(MessageEnum.ASDC_INIT_ASDC_CLIENT_EXC, notifDataWithoutModuleInfo.getServiceUUID(), "ASDC", "initASDC()");
- asdcController.initASDC();
- LOGGER.info(MessageEnum.ASDC_INIT_ASDC_CLIENT_EXC, notifDataWithoutModuleInfo.getServiceUUID(), "ASDC", "treatNotification()");
- asdcController.treatNotification(notifDataWithoutModuleInfo);
- LOGGER.info(MessageEnum.ASDC_INIT_ASDC_CLIENT_EXC, notifDataWithoutModuleInfo.getServiceUUID(), "ASDC", "closeASDC()");
- asdcController.closeASDC();
- }catch(Exception e){
- System.out.println("Error caught " + e.getMessage());
- LOGGER.error(MessageEnum.ASDC_GENERAL_EXCEPTION,
- "Exception caught during ASDCRestInterface", "ASDC", "invokeASDCService", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in invokeASDCService", e);
- }
- System.out.println("ASDC Updates are complete");
- LOGGER.info(MessageEnum.ASDC_ARTIFACT_DEPLOY_SUC, notifDataWithoutModuleInfo.getServiceUUID(), "ASDC", "ASDC Updates Are Complete");
-
- return null;
- }
-
- @GET
- @Path("/statusData/v1")
- @Produces(MediaType.APPLICATION_JSON)
- public Response invokeASDCStatusData(String request) {
-
- ToscaResourceInstaller toscaInstaller = new ToscaResourceInstaller();
-
- try{
- distributionClientEmulator = new DistributionClientEmulator("resource-examples/");
- statusData = JsonStatusData.instantiateNotifFromJsonFile("resource-examples/");
-
- ASDCController asdcController = new ASDCController("asdc-controller1", distributionClientEmulator);
- //LOGGER.info(MessageEnum.ASDC_INIT_ASDC_CLIENT_EXC, notifDataWithoutModuleInfo.getServiceUUID(), "ASDC", "initASDC()");
- asdcController.initASDC();
- //LOGGER.info(MessageEnum.ASDC_INIT_ASDC_CLIENT_EXC, notifDataWithoutModuleInfo.getServiceUUID(), "ASDC", "treatNotification()");
- toscaInstaller.installTheComponentStatus(statusData);
- //asdcController.treatNotification(notifDataWithoutModuleInfo);
- //LOGGER.info(MessageEnum.ASDC_INIT_ASDC_CLIENT_EXC, notifDataWithoutModuleInfo.getServiceUUID(), "ASDC", "closeASDC()");
- asdcController.closeASDC();
- }catch(Exception e){
- System.out.println("Error caught " + e.getMessage());
- LOGGER.error(MessageEnum.ASDC_GENERAL_EXCEPTION,
- "Exception caught during ASDCRestInterface", "ASDC", "invokeASDCService", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in invokeASDCService", e);
- }
- System.out.println("ASDC Updates are complete");
- LOGGER.info(MessageEnum.ASDC_ARTIFACT_DEPLOY_SUC, statusData.getDistributionID(), "ASDC", "ASDC Updates Are Complete");
-
- return null;
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/healthcheck/HealthCheckHandler.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/healthcheck/HealthCheckHandler.java
deleted file mode 100644
index 2162607bae..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/healthcheck/HealthCheckHandler.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*-
- * ============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.asdc.healthcheck;
-
-
-import javax.ws.rs.GET;
-import javax.ws.rs.HEAD;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Response;
-
-import org.apache.http.HttpStatus;
-import org.openecomp.mso.HealthCheckUtils;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoJsonProperties;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-import org.openecomp.mso.utils.UUIDChecker;
-
-
-@Path("/")
- public class HealthCheckHandler {
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.ASDC);
- private static final String MSO_PROP_ASDC = "MSO_PROP_ASDC";
- private static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
-
- private static final String SUC_HTML = "<!DOCTYPE html><html><head><meta charset=\"ISO-8859-1\"><title>Health Check</title></head><body>Application ready</body></html>";
- private static final String NOT_FOUND = "<!DOCTYPE html><html><head><meta charset=\"ISO-8859-1\"><title>Application Not Ready</title></head><body>Application Not Ready. Properties file missing or invalid or database Connection failed</body></html>";
-
- private static final Response OK_RESPONSE = Response.status (HttpStatus.SC_OK).entity (SUC_HTML).build ();
- private static final Response NOK_RESPONSE = Response.status (HttpStatus.SC_SERVICE_UNAVAILABLE).entity (NOT_FOUND).build ();
-
- @HEAD
- @GET
- @Path("/healthcheck")
- @Produces("text/html")
- public Response healthcheck (@QueryParam("requestId") String requestId) {
- long startTime = System.currentTimeMillis ();
- MsoLogger.setServiceName ("Healthcheck");
- UUIDChecker.verifyOldUUID(requestId, msoLogger);
- HealthCheckUtils healthCheck = new HealthCheckUtils ();
- if (!healthCheck.siteStatusCheck(msoLogger)) {
- return HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE;
- }
-
- MsoJsonProperties props = loadMsoProperties ();
- if (props == null) {
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.ServiceNotAvailable, "Application Not Ready");
- return HealthCheckUtils.NOT_STARTED_RESPONSE;
- }
-
- if (!healthCheck.catalogDBCheck (msoLogger, startTime)) {
- return HealthCheckUtils.NOT_STARTED_RESPONSE;
- }
- msoLogger.debug("healthcheck - Successful");
- return HealthCheckUtils.HEALTH_CHECK_RESPONSE;
- }
-
- private MsoJsonProperties loadMsoProperties () {
- MsoJsonProperties msoProperties;
- try {
- msoProperties = msoPropertiesFactory.getMsoJsonProperties(MSO_PROP_ASDC);
- } catch (Exception e) {
- msoLogger.error (MessageEnum.ASDC_PROPERTIES_NOT_FOUND, MSO_PROP_ASDC, "", "", MsoLogger.ErrorCode.DataError, "Exception - getMsoJsonProperties", e);
- return null;
- }
-
- if (msoProperties !=null && msoProperties.getJsonRootNode().elements().hasNext()) {
- return msoProperties;
- } else {
- msoLogger.error (MessageEnum.ASDC_PROPERTIES_NOT_FOUND , MSO_PROP_ASDC, "", "", MsoLogger.ErrorCode.DataError, "ASDC properties not found");
- return null;
- }
- }
-}
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
deleted file mode 100644
index b6e130820a..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ASDCElementInfo.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*-
- * ============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.asdc.installer;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.IResourceInstance;
-import org.openecomp.mso.asdc.client.ASDCConfiguration;
-
-/**
- * A class representing a generic element whose information can be used for example to log artifacts, resource... data.
- */
-public class ASDCElementInfo {
-
- /**
- * A default, empty instance used in case a source element was not correctly provided.
- */
- public static final ASDCElementInfo EMPTY_INSTANCE = new ASDCElementInfo();
-
- /**
- * Used to define the other possible ASDC Element types (usually in addition to existing artifact types, etc.).<br/>
- * <br/>
- * Possible types allowed:<br/>
- * <ul>
- * <li>{@link ASDCElementTypeEnum#VNF_RESOURCE}</li>
- * <ul>
- */
- public static enum ASDCElementTypeEnum {
- /**
- * The type VNF_RESOURCE. Represents a VNF_RESOURCE element.
- */
- VNF_RESOURCE
- };
-
- /**
- * The map of element information fields useful for logging. The complete contents of this list will be concatenated.
- */
- private final Map<String, String> elementInfoMap = new HashMap<>();
-
- /**
- * The type of this element.
- */
- private final String type;
-
- private ASDCElementInfo () {
- // Private parameterless constructor. Not visible, only used for EMPTY_INSTANCE.
- this.type = "";
- }
-
- /**
- * Artifact-type based constructor. Requires a valid artifact type.
- * @param artifactType The artifact type
- */
- private ASDCElementInfo (String artifactType) {
- // We need the exact type name here...
- this.type = artifactType;
- }
-
- /**
- * 'Other element type'-based constructor. Requires a valid element type.
- * @param elementType An ASDCElementTypeEnum entry. This will usually contain enumerated types not in the existing
- */
- private ASDCElementInfo (ASDCElementTypeEnum elementType) {
- // We need the exact type name here...
- this.type = elementType.name();
- }
-
- /**
- * Add an information entry (name, UUID, etc.) from an artifact/resource/..., once a at time.
- *
- * @param key The key (name) of the information entry (Artifact UUID, Resource Name, etc.)
- * @param value The value bound to the information entry.
- */
- public final void addElementInfo(String key, String value) {
- if ((key != null) && (value != null)) {
- this.getElementInfoMap().put(key, value);
- }
- }
-
- /**
- * Returns an aggregated, formatted list of the expected details about an ASDC element.
- * (non-Javadoc)
- * @return An aggregated list of element information entries, comma-separated.
- * @see java.lang.Object#toString()
- */
- @Override
- public final String toString() {
- StringBuilder sb = new StringBuilder();
- List<String> aggregatedElements = new ArrayList<>();
- for (Entry<String, String> entry : this.getElementInfoMap().entrySet()) {
- aggregatedElements.add(entry.getKey() + ": " + entry.getValue());
- }
- sb.append(aggregatedElements.size() > 0 ? aggregatedElements.get(0) : "");
- if (aggregatedElements.size() > 1) {
- for (int i = 1; i < aggregatedElements.size(); ++i) {
- sb.append (", ");
- sb.append(aggregatedElements.get(i));
- }
- }
- return sb.toString();
- }
-
- /**
- * The type that was defined at creation time. This is typically VNF_RESOURCE, VF_MODULE_METADATA, HEAT_ENV, etc.
- * @return The type of this element information type. This will usually be either an ArtifactTypeEnum entry name or an ASDCElementTypeEnum entry name.
- * @see ASDCElementInfo.ASDCElementTypeEnum
- */
- public String getType() {
- return type;
- }
-
- /**
- * Provides the map of all element information entries for this type.
- * @return A map of all element information entries which will be used by the toString() method.
- * @see ASDCElementInfo#toString()
- */
- protected Map<String, String> getElementInfoMap() {
- return elementInfoMap;
- }
-
- /**
- * Create an ASDCElementInfo object from a VNF Resource.<br/>
- * <br/>
- * <b>Used information:</b><br/>
- * <ul>
- * <li>Resource Instance Name</li>
- * <li>Resource Instance UUID</li>
- * </ul>
- *
- * @param vfResourceStructure The VfResourceStructure to use as source of information (see {@link VfResourceStructure}).
- * @return an ASDCElementInfo using the information held in the VNF Resource.
- */
- public static final ASDCElementInfo createElementFromVfResourceStructure (VfResourceStructure vfResourceStructure) {
- if (vfResourceStructure == null) {
- return EMPTY_INSTANCE;
- }
- ASDCElementInfo elementInfo = new ASDCElementInfo(ASDCElementTypeEnum.VNF_RESOURCE);
- IResourceInstance resourceInstance = vfResourceStructure.getResourceInstance();
- elementInfo.addElementInfo("Resource Instance Name", resourceInstance.getResourceInstanceName());
- elementInfo.addElementInfo("Resource Instance Invariant UUID", resourceInstance.getResourceInvariantUUID());
- return elementInfo;
- }
-
- /**
- * Create an ASDCElementInfo object from a VF Module.<br/>
- * <br/>
- * <b>Used information:</b><br/>
- * <ul>
- * <li>Module Model Name</li>
- * <li>Module Model UUID</li>
- * </ul>
- *
- * @param vfModuleStructure The VfModuleStructure to use as source of information (see {@link VfModuleStructure}).
- * @return an ASDCElementInfo using the information held in the VF Module.
- */
- public static final ASDCElementInfo createElementFromVfModuleStructure (VfModuleStructure vfModuleStructure) {
- if (vfModuleStructure == null) {
- return EMPTY_INSTANCE;
- }
- ASDCElementInfo elementInfo = new ASDCElementInfo(ASDCConfiguration.VF_MODULES_METADATA);
- IVfModuleData moduleMetadata = vfModuleStructure.getVfModuleMetadata();
- elementInfo.addElementInfo("Module Model Name", moduleMetadata.getVfModuleModelName());
- elementInfo.addElementInfo("Module Model Invariant UUID", moduleMetadata.getVfModuleModelInvariantUUID());
- return elementInfo;
- }
-
- /**
- * Create an ASDCElementInfo object from an IArtfiactInfo instance.<br/>
- * <br/>
- * <b>Used information:</b><br/>
- * <ul>
- * <li>IArtifactInfo Name</li>
- * <li>IArtifactInfo UUID</li>
- * </ul>
- *
- * @param artifactInfo The VfModuleStructure to use as source of information (see {@link IArtifactInfo}).
- * @return an ASDCElementInfo using the information held in the IArtifactInfo instance.
- */
- public static final ASDCElementInfo createElementFromVfArtifactInfo (IArtifactInfo artifactInfo) {
- if (artifactInfo == null) {
- return EMPTY_INSTANCE;
- }
- ASDCElementInfo elementInfo = new ASDCElementInfo(artifactInfo.getArtifactType());
- elementInfo.addElementInfo(elementInfo.getType() + " Name", artifactInfo.getArtifactName());
- elementInfo.addElementInfo(elementInfo.getType() + " UUID", artifactInfo.getArtifactUUID());
- return elementInfo;
- }
-}
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
deleted file mode 100644
index c2faf1c0e8..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/BigDecimalVersion.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*-
- * ============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.asdc.installer;
-
-
-import java.math.BigDecimal;
-
-public class BigDecimalVersion {
-
- /**
- * This method truncates and convert the version String provided in the notification.
- *
- * @param version The version to check
- * @return A BigDecimal value checked and truncated
- */
- public static BigDecimal castAndCheckNotificationVersion(String version) {
- // Truncate the version if bad type
- String[] splitVersion = version.split("\\.");
- StringBuilder newVersion = new StringBuilder();
- if (splitVersion.length > 1) {
- newVersion.append(splitVersion[0]);
- newVersion.append(".");
- newVersion.append(splitVersion[1]);
- } else {
- return new BigDecimal(splitVersion[0]);
- }
-
- for (int i=2;i<splitVersion.length;i++) {
- newVersion.append(splitVersion[i]);
- }
-
- return new BigDecimal(newVersion.toString());
- }
-
- /**
- * This method truncates and convert the version String provided in the notification.
- *
- * @param version The version to check
- * @return A String value checked and truncated to Decimal format
- */
- public static String castAndCheckNotificationVersionToString (String version) {
- return castAndCheckNotificationVersion(version).toString();
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IArtifactOrchestrator.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IArtifactOrchestrator.java
deleted file mode 100644
index 60519f226d..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IArtifactOrchestrator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============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.asdc.installer;
-
-
-
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.INotificationData;
-import org.onap.sdc.api.notification.IResourceInstance;
-import org.onap.sdc.api.results.IDistributionClientDownloadResult;
-import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;
-
-public interface IArtifactOrchestrator {
-
- void installTheArtifact (INotificationData iNotif, IResourceInstance resource, IArtifactInfo artifact, IDistributionClientDownloadResult downloadResult) throws ArtifactInstallerException;
-
- boolean isArtifactAlreadyDeployed (INotificationData iNotif,IResourceInstance resource,IArtifactInfo artifact) throws ArtifactInstallerException;
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IVfModuleData.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IVfModuleData.java
deleted file mode 100644
index 1e24b59035..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IVfModuleData.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-
- * ============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.asdc.installer;
-
-import java.util.Map;
-
-
-public interface IVfModuleData {
-
- // Method descriptor #4 ()Ljava/lang/String;
- public abstract java.lang.String getVfModuleModelName();
-
- // Method descriptor #4 ()Ljava/lang/String;
- public abstract java.lang.String getVfModuleModelInvariantUUID();
-
- // Method descriptor #4 ()Ljava/lang/String;
- public abstract java.lang.String getVfModuleModelCustomizationUUID();
-
- // Method descriptor #4 ()Ljava/lang/String;
- public abstract java.lang.String getVfModuleModelVersion();
-
- // Method descriptor #4 ()Ljava/lang/String;
- public abstract java.lang.String getVfModuleModelUUID();
-
- // Method descriptor #4 ()Ljava/lang/String;
- public abstract java.lang.String getVfModuleModelDescription();
-
- // Method descriptor #10 ()Z
- public abstract boolean isBase();
-
- // Method descriptor #12 ()Ljava/util/List;
- // Signature: ()Ljava/util/List<Ljava/lang/String;>;
- public abstract java.util.List<String> getArtifacts();
-
- public abstract java.util.Map<String,String> getProperties();
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IVfResourceInstaller.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IVfResourceInstaller.java
deleted file mode 100644
index 128239cf75..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/IVfResourceInstaller.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============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.asdc.installer;
-
-
-
-import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;
-
-public interface IVfResourceInstaller {
-
- boolean isResourceAlreadyDeployed (VfResourceStructure vfResourceStructure) throws ArtifactInstallerException;
-
- public void installTheResource (VfResourceStructure vfResourceStructure) throws ArtifactInstallerException;
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ToscaResourceStructure.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ToscaResourceStructure.java
deleted file mode 100644
index 941787efe4..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/ToscaResourceStructure.java
+++ /dev/null
@@ -1,537 +0,0 @@
-/*-
- * ============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.asdc.installer;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-
-import java.util.List;
-
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.INotificationData;
-//import org.openecomp.generic.tosca.parser.model.Metadata;
-//import org.onap.sdc.tosca.parser.factory.SdcCsarHelperFactory;
-//import org.onap.sdc.tosca.parser.factory.SdcCsarHelperFactory;
-///import org.openecomp.generic.tosca.parser.model.Metadata;
-import org.onap.sdc.api.results.IDistributionClientDownloadResult;
-import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
-import org.onap.sdc.tosca.parser.impl.SdcCsarHelperImpl;
-import org.onap.sdc.tosca.parser.impl.SdcPropertyNames;
-
-
-import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory;
-
-
-
-import org.onap.sdc.toscaparser.api.NodeTemplate;
-import org.onap.sdc.toscaparser.api.elements.Metadata;
-import org.openecomp.mso.asdc.client.exceptions.ASDCDownloadException;
-import org.openecomp.mso.db.catalog.beans.AllottedResource;
-import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.NetworkResource;
-import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.Service;
-import org.openecomp.mso.db.catalog.beans.ServiceToResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.TempNetworkHeatTemplateLookup;
-import org.openecomp.mso.db.catalog.beans.ToscaCsar;
-import org.openecomp.mso.db.catalog.beans.VfModule;
-import org.openecomp.mso.db.catalog.beans.VfModuleCustomization;
-import org.openecomp.mso.db.catalog.beans.VfModuleToHeatFiles;
-import org.openecomp.mso.db.catalog.beans.VnfResCustomToVfModuleCustom;
-import org.openecomp.mso.db.catalog.beans.VnfResource;
-import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoLogger;
-
-public class ToscaResourceStructure {
-
- Metadata serviceMetadata;
- private Service catalogService;
- ISdcCsarHelper sdcCsarHelper;
- List<NodeTemplate> allottedList;
- List<NodeTemplate> networkTypes;
- List<NodeTemplate> vfTypes;
- String heatTemplateUUID;
- String volHeatTemplateUUID;
- String volHeatEnvTemplateUUID;
- String envHeatTemplateUUID;
- String heatFilesUUID;
- String workloadPerformance;
- boolean isVnfAlreadyInstalled = false;
- String serviceVersion;
- private boolean isDeployedSuccessfully=false;
-
-
- private NetworkResourceCustomization catalogNetworkResourceCustomization;
-
- private NetworkResource catalogNetworkResource;
-
- private AllottedResourceCustomization catalogResourceCustomization;
-
- private VfModule vfModule;
-
- private VfModuleCustomization vfModuleCustomization;
-
- private VnfResource vnfResource;
-
- private VnfResourceCustomization vnfResourceCustomization;
-
- private ServiceToResourceCustomization serviceToResourceCustomization;
-
- private AllottedResource allottedResource;
-
- private AllottedResourceCustomization allottedResourceCustomization;
-
- private VnfResCustomToVfModuleCustom vnfResCustomToVfModuleCustom;
-
- private TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup;
-
- private VfModuleToHeatFiles vfModuleToHeatFiles;
-
- private IArtifactInfo toscaArtifact;
-
- private ToscaCsar toscaCsar;
-
- private ServiceToResourceCustomization vfServiceToResourceCustomization;
-
- private ServiceToResourceCustomization allottedServiceToResourceCustomization;
-
- private ServiceToResourceCustomization vlServiceToResourceCustomization;
-
- protected static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
-
-
- public ToscaResourceStructure(){
- }
-
- public void updateResourceStructure(IArtifactInfo artifact) throws ASDCDownloadException {
-
-
- try {
-
- SdcToscaParserFactory factory = SdcToscaParserFactory.getInstance();//Autoclosable
-
- LOGGER.debug("MSO config path is: " + System.getProperty("mso.config.path"));
-
- File spoolFile = new File(System.getProperty("mso.config.path") + "ASDC/" + artifact.getArtifactName());
-
- LOGGER.debug("ASDC File path is: " + spoolFile.getAbsolutePath());
- LOGGER.info(MessageEnum.ASDC_RECEIVE_SERVICE_NOTIF, "***PATH", "ASDC", spoolFile.getAbsolutePath());
-
-
- sdcCsarHelper = factory.getSdcCsarHelper(spoolFile.getAbsolutePath());
-
- }catch(Exception e){
- System.out.println("System out " + e.getMessage());
- LOGGER.error(MessageEnum.ASDC_GENERAL_EXCEPTION_ARG,
- "Exception caught during parser *****LOOK********* " + artifact.getArtifactName(), "ASDC", "processResourceNotification", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in processResourceNotification", e);
-
- throw new ASDCDownloadException ("Exception caught when passing the csar file to the parser ", e);
- }
-
- serviceMetadata = sdcCsarHelper.getServiceMetadata();
-
- }
-
- public String getHeatTemplateUUID() {
- return heatTemplateUUID;
- }
-
- public void setHeatTemplateUUID(String heatTemplateUUID) {
- this.heatTemplateUUID = heatTemplateUUID;
- }
-
- public List<NodeTemplate> getAllottedList() {
- return allottedList;
- }
-
- public void setAllottedList(List<NodeTemplate> allottedList) {
- this.allottedList = allottedList;
- }
-
- public ISdcCsarHelper getSdcCsarHelper() {
- return sdcCsarHelper;
- }
-
- public void setSdcCsarHelper(ISdcCsarHelper sdcCsarHelper) {
- this.sdcCsarHelper = sdcCsarHelper;
- }
-
- public Metadata getServiceMetadata() {
- return serviceMetadata;
- }
-
- public Service getCatalogService() {
- return catalogService;
- }
-
- public void setServiceMetadata(Metadata serviceMetadata) {
- this.serviceMetadata = serviceMetadata;
- }
-
- public void setCatalogService(Service catalogService) {
- this.catalogService = catalogService;
- }
-
- public List<NodeTemplate> getNetworkTypes() {
- return networkTypes;
- }
-
- public void setNetworkTypes(List<NodeTemplate> networkTypes) {
- this.networkTypes = networkTypes;
- }
-
- public List<NodeTemplate> getVfTypes() {
- return vfTypes;
- }
-
- public void setVfTypes(List<NodeTemplate> vfTypes) {
- this.vfTypes = vfTypes;
- }
-
- public AllottedResourceCustomization getCatalogResourceCustomization() {
- return catalogResourceCustomization;
- }
-
- public void setCatalogResourceCustomization(
- AllottedResourceCustomization catalogResourceCustomization) {
- this.catalogResourceCustomization = catalogResourceCustomization;
- }
-
- // Network Only
- public NetworkResourceCustomization getCatalogNetworkResourceCustomization() {
- return catalogNetworkResourceCustomization;
- }
- // Network Only
- public void setCatalogNetworkResourceCustomization(NetworkResourceCustomization catalogNetworkResourceCustomization) {
- this.catalogNetworkResourceCustomization = catalogNetworkResourceCustomization;
- }
-
- public NetworkResource getCatalogNetworkResource() {
- return catalogNetworkResource;
- }
-
- public void setCatalogNetworkResource(NetworkResource catalogNetworkResource) {
- this.catalogNetworkResource = catalogNetworkResource;
- }
-
- public VfModule getCatalogVfModule() {
- return vfModule;
- }
-
- public void setCatalogVfModule(VfModule vfModule) {
- this.vfModule = vfModule;
- }
-
- public VnfResource getCatalogVnfResource() {
- return vnfResource;
- }
-
- public void setCatalogVnfResource(VnfResource vnfResource) {
- this.vnfResource = vnfResource;
- }
-
- public VnfResourceCustomization getCatalogVnfResourceCustomization() {
- return vnfResourceCustomization;
- }
-
- public void setCatalogVnfResourceCustomization(
- VnfResourceCustomization vnfResourceCustomization) {
- this.vnfResourceCustomization = vnfResourceCustomization;
- }
-
- public VfModuleCustomization getCatalogVfModuleCustomization() {
- return vfModuleCustomization;
- }
-
- public void setCatalogVfModuleCustomization(VfModuleCustomization vfModuleCustomization) {
- this.vfModuleCustomization = vfModuleCustomization;
- }
-
- public ServiceToResourceCustomization getServiceToResourceCustomization() {
- return serviceToResourceCustomization;
- }
-
- public void setServiceToResourceCustomization(
- ServiceToResourceCustomization serviceToResourceCustomization) {
- this.serviceToResourceCustomization = serviceToResourceCustomization;
- }
-
- public AllottedResource getAllottedResource() {
- return allottedResource;
- }
-
- public void setAllottedResource(AllottedResource allottedResource) {
- this.allottedResource = allottedResource;
- }
-
- public AllottedResourceCustomization getCatalogAllottedResourceCustomization() {
- return allottedResourceCustomization;
- }
-
- public void setCatalogAllottedResourceCustomization(
- AllottedResourceCustomization allottedResourceCustomization) {
- this.allottedResourceCustomization = allottedResourceCustomization;
- }
-
- public VnfResCustomToVfModuleCustom getCatalogVnfResCustomToVfModuleCustom() {
- return vnfResCustomToVfModuleCustom;
- }
-
- public void setCatalogVnfResCustomToVfModuleCustom(
- VnfResCustomToVfModuleCustom vnfResCustomToVfModuleCustom) {
- this.vnfResCustomToVfModuleCustom = vnfResCustomToVfModuleCustom;
- }
-
- public TempNetworkHeatTemplateLookup getCatalogTempNetworkHeatTemplateLookup() {
- return tempNetworkHeatTemplateLookup;
- }
-
- public void setCatalogTempNetworkHeatTemplateLookup(
- TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup) {
- this.tempNetworkHeatTemplateLookup = tempNetworkHeatTemplateLookup;
- }
-
- public String getHeatFilesUUID() {
- return heatFilesUUID;
- }
-
- public void setHeatFilesUUID(String heatFilesUUID) {
- this.heatFilesUUID = heatFilesUUID;
- }
-
- public VfModuleToHeatFiles getCatalogVfModuleToHeatFiles() {
- return vfModuleToHeatFiles;
- }
-
- public void setCatalogVfModuleToHeatFiles(VfModuleToHeatFiles vfModuleToHeatFiles) {
- this.vfModuleToHeatFiles = vfModuleToHeatFiles;
- }
-
- public IArtifactInfo getToscaArtifact() {
- return toscaArtifact;
- }
-
- public void setToscaArtifact(IArtifactInfo toscaArtifact) {
- this.toscaArtifact = toscaArtifact;
- }
-
- public ToscaCsar getCatalogToscaCsar() {
- return toscaCsar;
- }
-
- public void setCatalogToscaCsar(ToscaCsar toscaCsar) {
- this.toscaCsar = toscaCsar;
- }
-
- public boolean isVnfAlreadyInstalled() {
- return isVnfAlreadyInstalled;
- }
-
- public void setVnfAlreadyInstalled(boolean isVnfAlreadyInstalled) {
- this.isVnfAlreadyInstalled = isVnfAlreadyInstalled;
- }
-
- public ServiceToResourceCustomization getCatalogVfServiceToResourceCustomization() {
- return vfServiceToResourceCustomization;
- }
-
- public void setCatalogVfServiceToResourceCustomization(
- ServiceToResourceCustomization vfServiceToResourceCustomization) {
- this.vfServiceToResourceCustomization = vfServiceToResourceCustomization;
- }
-
- public ServiceToResourceCustomization getCatalogAllottedServiceToResourceCustomization() {
- return allottedServiceToResourceCustomization;
- }
-
- public void setCatalogAllottedServiceToResourceCustomization(
- ServiceToResourceCustomization allottedServiceToResourceCustomization) {
- this.allottedServiceToResourceCustomization = allottedServiceToResourceCustomization;
- }
-
- public ServiceToResourceCustomization getCatalogVlServiceToResourceCustomization() {
- return vlServiceToResourceCustomization;
- }
-
- public void setCatalogVlServiceToResourceCustomization(
- ServiceToResourceCustomization vlServiceToResourceCustomization) {
- this.vlServiceToResourceCustomization = vlServiceToResourceCustomization;
- }
-
- public String getVolHeatTemplateUUID() {
- return volHeatTemplateUUID;
- }
-
- public void setVolHeatTemplateUUID(String volHeatTemplateUUID) {
- this.volHeatTemplateUUID = volHeatTemplateUUID;
- }
-
- public String getEnvHeatTemplateUUID() {
- return envHeatTemplateUUID;
- }
-
- public void setEnvHeatTemplateUUID(String envHeatTemplateUUID) {
- this.envHeatTemplateUUID = envHeatTemplateUUID;
- }
-
- public String getVolHeatEnvTemplateUUID() {
- return volHeatEnvTemplateUUID;
- }
-
- public void setVolHeatEnvTemplateUUID(String volHeatEnvTemplateUUID) {
- this.volHeatEnvTemplateUUID = volHeatEnvTemplateUUID;
- }
-
- public String getServiceVersion() {
- return serviceVersion;
- }
-
- public void setServiceVersion(String serviceVersion) {
- this.serviceVersion = serviceVersion;
- }
-
- public String getWorkloadPerformance() {
- return workloadPerformance;
- }
-
- public void setWorkloadPerformance(String workloadPerformance) {
- this.workloadPerformance = workloadPerformance;
- }
-
- public VfModule getVfModule() {
- return vfModule;
- }
-
- public void setVfModule(VfModule vfModule) {
- this.vfModule = vfModule;
- }
-
- public VfModuleCustomization getVfModuleCustomization() {
- return vfModuleCustomization;
- }
-
- public void setVfModuleCustomization(VfModuleCustomization vfModuleCustomization) {
- this.vfModuleCustomization = vfModuleCustomization;
- }
-
- public VnfResource getVnfResource() {
- return vnfResource;
- }
-
- public void setVnfResource(VnfResource vnfResource) {
- this.vnfResource = vnfResource;
- }
-
- public VnfResourceCustomization getVnfResourceCustomization() {
- return vnfResourceCustomization;
- }
-
- public void setVnfResourceCustomization(
- VnfResourceCustomization vnfResourceCustomization) {
- this.vnfResourceCustomization = vnfResourceCustomization;
- }
-
- public AllottedResourceCustomization getAllottedResourceCustomization() {
- return allottedResourceCustomization;
- }
-
- public void setAllottedResourceCustomization(
- AllottedResourceCustomization allottedResourceCustomization) {
- this.allottedResourceCustomization = allottedResourceCustomization;
- }
-
- public VnfResCustomToVfModuleCustom getVnfResCustomToVfModuleCustom() {
- return vnfResCustomToVfModuleCustom;
- }
-
- public void setVnfResCustomToVfModuleCustom(
- VnfResCustomToVfModuleCustom vnfResCustomToVfModuleCustom) {
- this.vnfResCustomToVfModuleCustom = vnfResCustomToVfModuleCustom;
- }
-
- public TempNetworkHeatTemplateLookup getTempNetworkHeatTemplateLookup() {
- return tempNetworkHeatTemplateLookup;
- }
-
- public void setTempNetworkHeatTemplateLookup(
- TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup) {
- this.tempNetworkHeatTemplateLookup = tempNetworkHeatTemplateLookup;
- }
-
- public VfModuleToHeatFiles getVfModuleToHeatFiles() {
- return vfModuleToHeatFiles;
- }
-
- public void setVfModuleToHeatFiles(VfModuleToHeatFiles vfModuleToHeatFiles) {
- this.vfModuleToHeatFiles = vfModuleToHeatFiles;
- }
-
- public ToscaCsar getToscaCsar() {
- return toscaCsar;
- }
-
- public void setToscaCsar(ToscaCsar toscaCsar) {
- this.toscaCsar = toscaCsar;
- }
-
- public ServiceToResourceCustomization getVfServiceToResourceCustomization() {
- return vfServiceToResourceCustomization;
- }
-
- public void setVfServiceToResourceCustomization(
- ServiceToResourceCustomization vfServiceToResourceCustomization) {
- this.vfServiceToResourceCustomization = vfServiceToResourceCustomization;
- }
-
- public ServiceToResourceCustomization getAllottedServiceToResourceCustomization() {
- return allottedServiceToResourceCustomization;
- }
-
- public void setAllottedServiceToResourceCustomization(
- ServiceToResourceCustomization allottedServiceToResourceCustomization) {
- this.allottedServiceToResourceCustomization = allottedServiceToResourceCustomization;
- }
-
- public ServiceToResourceCustomization getVlServiceToResourceCustomization() {
- return vlServiceToResourceCustomization;
- }
-
- public void setVlServiceToResourceCustomization(
- ServiceToResourceCustomization vlServiceToResourceCustomization) {
- this.vlServiceToResourceCustomization = vlServiceToResourceCustomization;
- }
-
- public static MsoLogger getLogger() {
- return LOGGER;
- }
-
- public boolean isDeployedSuccessfully() {
- return isDeployedSuccessfully;
- }
-
- public void setSuccessfulDeployment() {
- isDeployedSuccessfully = true;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleArtifact.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleArtifact.java
deleted file mode 100644
index c1f836904d..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleArtifact.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*-
- * ============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.asdc.installer;
-
-
-import java.io.UnsupportedEncodingException;
-
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.results.IDistributionClientDownloadResult;
-
-/**
- * The structure that contains the artifactInfo and its associated DownloadedResult.
- *
- */
-public final class VfModuleArtifact {
- private final IArtifactInfo artifactInfo;
- private int deployedInDb=0;
- private final String result;
-
- private Object catalogObject;
-
- public VfModuleArtifact(IArtifactInfo artifactinfo,IDistributionClientDownloadResult clientResult) throws UnsupportedEncodingException {
- artifactInfo=artifactinfo;
- result = new String(clientResult.getArtifactPayload(), "UTF-8");
-
- }
-
- public Object getCatalogObject() {
- return catalogObject;
- }
-
- public void setCatalogObject(Object catalogObject) {
- this.catalogObject = catalogObject;
- }
-
- public IArtifactInfo getArtifactInfo() {
- return artifactInfo;
- }
-
- public String getResult() {
- return result;
- }
-
- public int getDeployedInDb() {
- return deployedInDb;
- }
-
- public void incrementDeployedInDB() {
- ++deployedInDb;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleMetaData.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleMetaData.java
deleted file mode 100644
index 8ee5302003..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleMetaData.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*-
- * ============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.asdc.installer;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class VfModuleMetaData implements IVfModuleData {
-
- @JsonProperty("artifacts")
- private List<String> artifacts;
-
- @JsonProperty("properties")
- //private List<Map<String, Object>> properties = new ArrayList<>();
- private Map<String,String> properties = new HashMap<>();
-
- @JsonIgnore
- private Map<String,Object> attributesMap = new HashMap<>();
-
- @Override
- public List<String> getArtifacts() {
- return artifacts;
- }
-
- public Map<String, String> getProperties() {
- return properties;
- }
-
- @Override
- public String getVfModuleModelDescription() {
- return (String)attributesMap.get("vfModuleModelDescription");
- }
-
- @Override
- public String getVfModuleModelInvariantUUID() {
- return (String)attributesMap.get("vfModuleModelInvariantUUID");
- }
-
- public String getVfModuleModelCustomizationUUID() {
- return (String)attributesMap.get("vfModuleModelCustomizationUUID");
- }
-
- @Override
- public String getVfModuleModelName() {
- return (String)attributesMap.get("vfModuleModelName");
- }
-
- @Override
- public String getVfModuleModelUUID() {
- return (String)attributesMap.get("vfModuleModelUUID");
- }
-
- @Override
- public String getVfModuleModelVersion() {
- return (String)attributesMap.get("vfModuleModelVersion");
- }
-
- @Override
- public boolean isBase() {
- return (boolean)attributesMap.get("isBase");
- }
-
-
-
- @SuppressWarnings("unused")
- @JsonAnySetter
- public final void setAttribute(String attrName, Object attrValue) {
- if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) {
- this.attributesMap.put(attrName,attrValue);
- }
- }
-
-}
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
deleted file mode 100644
index 2986a80b1f..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfModuleStructure.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*-
- * ============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.asdc.installer;
-
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import org.onap.sdc.api.notification.IVfModuleMetadata;
-import org.openecomp.mso.asdc.client.ASDCConfiguration;
-import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;
-import org.openecomp.mso.db.catalog.beans.VfModule;
-
-public final class VfModuleStructure {
-
- private final IVfModuleData vfModuleMetadata;
-
- private final VfResourceStructure parentVfResource;
-
- private VfModule catalogVfModule;
- /**
- * The list of artifact existing in this resource hashed by artifactType.
- */
- private final Map<String, List<VfModuleArtifact>> artifactsMap;
-
- public VfModuleStructure(VfResourceStructure vfParentResource,IVfModuleData vfmoduleMetadata) throws ArtifactInstallerException {
-
- vfModuleMetadata = vfmoduleMetadata;
- parentVfResource = vfParentResource;
-
- artifactsMap = new HashMap<>();
-
- for (String artifactUUID:this.vfModuleMetadata.getArtifacts()) {
- if (vfParentResource.getArtifactsMapByUUID().containsKey(artifactUUID)) {
- this.addToStructure(vfParentResource.getArtifactsMapByUUID().get(artifactUUID));
- } else {
- throw new ArtifactInstallerException("Artifact (UUID:"+artifactUUID+ ") referenced in the VFModule UUID list has not been downloaded, cancelling the Resource deployment");
- }
- }
- }
-
- private void addToStructure(VfModuleArtifact vfModuleArtifact) {
-
- if (artifactsMap.containsKey(vfModuleArtifact.getArtifactInfo().getArtifactType())) {
- artifactsMap.get(vfModuleArtifact.getArtifactInfo().getArtifactType()).add(vfModuleArtifact);
-
- } else {
- List<VfModuleArtifact> nestedList = new LinkedList<>();
- nestedList.add(vfModuleArtifact);
-
- artifactsMap.put(vfModuleArtifact.getArtifactInfo().getArtifactType(), nestedList);
- }
- }
-
- public List<VfModuleArtifact> getOrderedArtifactList() {
-
- List <VfModuleArtifact> artifactsList = new LinkedList<>();
-
- artifactsList.addAll(artifactsMap.get(ASDCConfiguration.HEAT));
- artifactsList.addAll(artifactsMap.get(ASDCConfiguration.HEAT_ENV));
- artifactsList.addAll(artifactsMap.get(ASDCConfiguration.HEAT_VOL));
-
- artifactsList.addAll((artifactsMap.get(ASDCConfiguration.HEAT_NESTED)));
-
- artifactsList.addAll((artifactsMap.get(ASDCConfiguration.HEAT_ARTIFACT)));
-
- artifactsList.addAll(artifactsMap.get(ASDCConfiguration.HEAT_VOL));
-
- return null;
- }
-
- public IVfModuleData getVfModuleMetadata() {
- return vfModuleMetadata;
- }
-
- public VfResourceStructure getParentVfResource() {
- return parentVfResource;
- }
-
- public Map<String, List<VfModuleArtifact>> getArtifactsMap() {
- return artifactsMap;
- }
-
-
- public VfModule getCatalogVfModule() {
- return catalogVfModule;
- }
-
- public void setCatalogVfModule(VfModule catalogVfModule) {
- this.catalogVfModule = catalogVfModule;
- }
-
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java
deleted file mode 100644
index 10e936060d..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright (C) 2017 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.asdc.installer;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.mso.asdc.client.ASDCConfiguration;
-import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;
-import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.Service;
-import org.openecomp.mso.db.catalog.beans.ServiceToAllottedResources;
-import org.openecomp.mso.db.catalog.beans.ServiceToNetworks;
-import org.openecomp.mso.db.catalog.beans.VnfResource;
-import org.openecomp.mso.logger.MsoLogger;
-import org.onap.sdc.api.IDistributionClient;
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.INotificationData;
-import org.onap.sdc.api.notification.IResourceInstance;
-import org.onap.sdc.api.results.IDistributionClientDownloadResult;
-import org.openecomp.mso.logger.MessageEnum;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-/**
- * This structure exists to avoid having issues if the order of the vfResource/vfmodule artifact is not good (tree structure).
- *
- */
-public final class VfResourceStructure {
-
- protected static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
-
- private boolean isDeployedSuccessfully=false;
- /**
- * The Raw notification data.
- */
- private final INotificationData notification;
-
- /**
- * The resource we will try to deploy.
- */
- private final IResourceInstance resourceInstance;
-
- /**
- * The list of VfModules defined for this resource.
- */
- private final List<VfModuleStructure> vfModulesStructureList;
-
- /**
- * The list of VfModulesMetadata defined for this resource.
- */
- private List<IVfModuleData> vfModulesMetadataList;
-
- private VnfResource catalogVnfResource;
-
- private NetworkResourceCustomization catalogNetworkResourceCustomization;
-
- private ServiceToNetworks catalogServiceToNetworks;
-
- private ServiceToAllottedResources catalogServiceToAllottedResources;
-
- private AllottedResourceCustomization catalogResourceCustomization;
-
- private Service catalogService;
-
- private List<String> vfArtifactUUIDList;
-
- /**
- * The list of artifacts existing in this resource hashed by UUID.
- */
- private final Map<String, VfModuleArtifact> artifactsMapByUUID;
-
-
- public VfResourceStructure(INotificationData notificationdata, IResourceInstance resourceinstance) {
- notification=notificationdata;
- resourceInstance=resourceinstance;
-
-
- vfModulesStructureList = new LinkedList<>();
- artifactsMapByUUID = new HashMap<>();
- }
-
- //@Override
- public void addArtifactToStructure(IDistributionClient distributionClient,IArtifactInfo artifactinfo,IDistributionClientDownloadResult clientResult) throws UnsupportedEncodingException {
- VfModuleArtifact vfModuleArtifact = new VfModuleArtifact(artifactinfo,clientResult);
-
- switch(artifactinfo.getArtifactType()) {
- case ASDCConfiguration.HEAT:
- case ASDCConfiguration.HEAT_ENV:
- case ASDCConfiguration.HEAT_VOL:
- case ASDCConfiguration.HEAT_NESTED: // For 1607 only 1 level tree is supported
- case ASDCConfiguration.HEAT_ARTIFACT:
- case ASDCConfiguration.HEAT_NET:
- case ASDCConfiguration.OTHER:
- artifactsMapByUUID.put(artifactinfo.getArtifactUUID(), vfModuleArtifact);
- break;
-
- case ASDCConfiguration.VF_MODULES_METADATA:
- vfModulesMetadataList = this.decodeVfModuleArtifact(clientResult.getArtifactPayload());
-
- for(IVfModuleData moduleData : vfModulesMetadataList){
-
- }
-
- //vfArtifactUUIDList.add(artifactinfo.getArtifactUUID());
- //vfModulesMetadataList = distributionClient.decodeVfModuleArtifact(clientResult.getArtifactPayload());
- break;
-
- default:
- break;
-
- }
- }
-
- public void createVfModuleStructures() throws ArtifactInstallerException {
-
- //for vender tosca VNF there is no VFModule in VF
- if (vfModulesMetadataList == null) {
- LOGGER.info(MessageEnum.ASDC_GENERAL_INFO,"There is no VF mudules in the VF.", "ASDC", "createVfModuleStructures");
- return;
- }
- for (IVfModuleData vfModuleMeta:vfModulesMetadataList) {
- vfModulesStructureList.add(new VfModuleStructure(this,vfModuleMeta));
- }
- }
-
- public INotificationData getNotification() {
- return notification;
- }
-
- public IResourceInstance getResourceInstance() {
- return resourceInstance;
- }
-
- public List<VfModuleStructure> getVfModuleStructure() {
- return vfModulesStructureList;
- }
-
- public boolean isDeployedSuccessfully() {
- return isDeployedSuccessfully;
- }
-
- public void setSuccessfulDeployment() {
- isDeployedSuccessfully = true;
- }
-
- public Map<String, VfModuleArtifact> getArtifactsMapByUUID() {
- return artifactsMapByUUID;
- }
-
- public List<VfModuleStructure> getVfModulesStructureList() {
- return vfModulesStructureList;
- }
-
- public VnfResource getCatalogVnfResource() {
- return catalogVnfResource;
- }
-
- public void setCatalogVnfResource(VnfResource catalogVnfResource) {
- this.catalogVnfResource = catalogVnfResource;
- }
-
- // Network Only
- public NetworkResourceCustomization getCatalogNetworkResourceCustomization() {
- return catalogNetworkResourceCustomization;
- }
- // Network Only
- public void setCatalogNetworkResourceCustomization(NetworkResourceCustomization catalogNetworkResourceCustomization) {
- this.catalogNetworkResourceCustomization = catalogNetworkResourceCustomization;
- }
- // Network Only
- public ServiceToNetworks getCatalogServiceToNetworks() {
- return catalogServiceToNetworks;
- }
- // Network Only
- public void setCatalogServiceToNetworks(
- ServiceToNetworks catalogServiceToNetworks) {
- this.catalogServiceToNetworks = catalogServiceToNetworks;
- }
-
- public ServiceToAllottedResources getCatalogServiceToAllottedResources() {
- return catalogServiceToAllottedResources;
- }
-
- public void setCatalogServiceToAllottedResources(
- ServiceToAllottedResources catalogServiceToAllottedResources) {
- this.catalogServiceToAllottedResources = catalogServiceToAllottedResources;
- }
-
- public AllottedResourceCustomization getCatalogResourceCustomization() {
- return catalogResourceCustomization;
- }
-
- public void setCatalogResourceCustomization(
- AllottedResourceCustomization catalogResourceCustomization) {
- this.catalogResourceCustomization = catalogResourceCustomization;
- }
-
- public Service getCatalogService() {
- return catalogService;
- }
-
- public void setCatalogService(Service catalogService) {
- this.catalogService = catalogService;
- }
-
- public List<IVfModuleData> decodeVfModuleArtifact(byte[] arg0) {
- try {
- List<IVfModuleData> listVFModuleMetaData = new ObjectMapper().readValue(arg0, new TypeReference<List<VfModuleMetaData>>(){});
- return listVFModuleMetaData;
-
- } catch (JsonParseException e) {
- LOGGER.debug("JsonParseException : ",e);
- } catch (JsonMappingException e) {
- LOGGER.debug("JsonMappingException : ",e);
- } catch (IOException e) {
- LOGGER.debug("IOException : ",e);
- }
- return null;
- }
-}
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
deleted file mode 100644
index 9d986d9df7..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java
+++ /dev/null
@@ -1,1272 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright (C) 2017 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.asdc.installer.heat;
-
-import java.sql.SQLIntegrityConstraintViolationException;
-import java.sql.Timestamp;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
-import java.util.regex.Matcher;
-import java.util.Comparator;
-
-import org.hibernate.exception.ConstraintViolationException;
-import org.hibernate.exception.LockAcquisitionException;
-import org.onap.sdc.api.consumer.IComponentDoneStatusMessage;
-//import org.openecomp.generic.tosca.parser.model.Metadata;
-//import org.openecomp.generic.tosca.parser.model.NodeTemplate;
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.IStatusData;
-import org.onap.sdc.api.notification.IVfModuleMetadata;
-import org.onap.sdc.api.results.IDistributionClientResult;
-import org.onap.sdc.tosca.parser.impl.SdcPropertyNames;
-import org.onap.sdc.toscaparser.api.Group;
-import org.onap.sdc.toscaparser.api.NodeTemplate;
-import org.onap.sdc.toscaparser.api.Property;
-import org.onap.sdc.toscaparser.api.elements.Metadata;
-import org.onap.sdc.toscaparser.api.parameters.Input;
-import org.onap.sdc.utils.DistributionStatusEnum;
-import org.openecomp.mso.asdc.client.ASDCConfiguration;
-import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;
-import org.openecomp.mso.asdc.installer.ASDCElementInfo;
-import org.openecomp.mso.asdc.installer.BigDecimalVersion;
-import org.openecomp.mso.asdc.installer.IVfModuleData;
-import org.openecomp.mso.asdc.installer.IVfResourceInstaller;
-import org.openecomp.mso.asdc.installer.ToscaResourceStructure;
-import org.openecomp.mso.asdc.installer.VfModuleArtifact;
-import org.openecomp.mso.asdc.installer.VfModuleStructure;
-import org.openecomp.mso.asdc.installer.VfResourceStructure;
-import org.openecomp.mso.asdc.tenantIsolation.DistributionStatus;
-import org.openecomp.mso.asdc.tenantIsolation.WatchdogDistribution;
-import org.openecomp.mso.asdc.util.ASDCNotificationLogging;
-import org.openecomp.mso.asdc.util.YamlEditor;
-import org.openecomp.mso.db.catalog.CatalogDatabase;
-import org.openecomp.mso.db.catalog.beans.AllottedResource;
-import org.openecomp.mso.db.catalog.beans.HeatEnvironment;
-import org.openecomp.mso.db.catalog.beans.HeatFiles;
-import org.openecomp.mso.db.catalog.beans.HeatTemplate;
-import org.openecomp.mso.db.catalog.beans.HeatTemplateParam;
-import org.openecomp.mso.db.catalog.beans.NetworkResource;
-import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.Service;
-import org.openecomp.mso.db.catalog.beans.ServiceToAllottedResources;
-import org.openecomp.mso.db.catalog.beans.ServiceToNetworks;
-import org.openecomp.mso.db.catalog.beans.ServiceToResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.TempNetworkHeatTemplateLookup;
-import org.openecomp.mso.db.catalog.beans.ToscaCsar;
-import org.openecomp.mso.db.catalog.beans.VfModule;
-import org.openecomp.mso.db.catalog.beans.VfModuleCustomization;
-import org.openecomp.mso.db.catalog.beans.VfModuleToHeatFiles;
-import org.openecomp.mso.db.catalog.beans.VnfResCustomToVfModuleCustom;
-import org.openecomp.mso.db.catalog.beans.VnfResource;
-import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.requestsdb.WatchdogComponentDistributionStatusDb;
-import org.openecomp.mso.requestsdb.WatchdogDistributionStatusDb;
-import org.openecomp.mso.requestsdb.WatchdogServiceModVerIdLookupDb;
-
-public class ToscaResourceInstaller {// implements IVfResourceInstaller {
-
- private MsoLogger logger;
-
- private static final Pattern lastDigit = Pattern.compile("(\\d+)$");
-
- public ToscaResourceInstaller() {
- logger = MsoLogger.getMsoLogger(MsoLogger.Catalog.ASDC);
- }
-
- //@Override
- public boolean isResourceAlreadyDeployed(VfResourceStructure vfResourceStruct)
- throws ArtifactInstallerException {
- boolean status = false;
- VfResourceStructure vfResourceStructure = (VfResourceStructure)vfResourceStruct;
- try {
- status = vfResourceStructure.isDeployedSuccessfully();
- } catch (RuntimeException e) {
- status = false;
- }
-
- try {
-
- String serviceUUID = vfResourceStruct.getNotification().getServiceUUID();
-
- if (status) {
- logger.info(MessageEnum.ASDC_ARTIFACT_ALREADY_DEPLOYED_DETAIL,
- vfResourceStructure.getResourceInstance().getResourceInstanceName(),
- vfResourceStructure.getResourceInstance().getResourceCustomizationUUID(),
- vfResourceStructure.getNotification().getServiceName(),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- vfResourceStructure.getNotification().getServiceVersion()),
- vfResourceStructure.getNotification().getServiceUUID(),
- vfResourceStructure.getResourceInstance().getResourceName(),"", "");
- } else {
- logger.info(MessageEnum.ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL,
- vfResourceStructure.getResourceInstance().getResourceInstanceName(),
- vfResourceStructure.getResourceInstance().getResourceCustomizationUUID(),
- vfResourceStructure.getNotification().getServiceName(),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- vfResourceStructure.getNotification().getServiceVersion()),
- vfResourceStructure.getNotification().getServiceUUID(),
- vfResourceStructure.getResourceInstance().getResourceName(),"", "");
- }
-
- return status;
-
- } catch (Exception e) {
- logger.error(MessageEnum.ASDC_ARTIFACT_CHECK_EXC, "", "", MsoLogger.ErrorCode.SchemaError, "Exception - isResourceAlreadyDeployed");
- throw new ArtifactInstallerException("Exception caught during checking existence of the VNF Resource.", e);
- }
- }
-
- public void installTheComponentStatus(IStatusData iStatus) throws ArtifactInstallerException {
-
- logger.debug("Entering installTheComponentStatus for distributionId " + iStatus.getDistributionID() + " and ComponentName " + iStatus.getComponentName());
-
- WatchdogComponentDistributionStatusDb wdComponentDistributionStatus = WatchdogComponentDistributionStatusDb.getInstance();
-
- WatchdogDistributionStatusDb wdDistributionStatus = WatchdogDistributionStatusDb.getInstance();
-
-
- try{
- //Check to make sure the distributionId exists in the Distribution Status table first. If not then we'll need to add it
- String distributionId = wdDistributionStatus.getWatchdogDistributionId(iStatus.getDistributionID());
-
- if(distributionId == null){
- // Insert the record into the parent table first - WatchDogDistributionStatus
- wdDistributionStatus.insertWatchdogDistributionId(iStatus.getDistributionID());
- }
-
- wdComponentDistributionStatus.insertWatchdogComponentDistributionStatus(iStatus.getDistributionID(), iStatus.getComponentName(), iStatus.getStatus().toString());
-
-
- WatchdogDistribution wd = new WatchdogDistribution();
-
- String distributionStatus = wd.getOverallDistributionStatus(iStatus.getDistributionID());
-
- logger.debug("Distribution status in installTheComponentStatus is : " + distributionStatus);
-
- }catch (Exception e){
- logger.debug("Exception caught in installTheComponentStatus " + e.getMessage());
- throw new ArtifactInstallerException("Exception caught in installTheComponentStatus " + e.getMessage());
- }
-
- }
-
-
- public void installTheResource(ToscaResourceStructure toscaResourceStruct, VfResourceStructure vfResourceStruct) throws ArtifactInstallerException {
-
- logger.debug("installTheResource is called");
-
- VfResourceStructure vfResourceStructure = (VfResourceStructure)vfResourceStruct;
-
- for (VfModuleArtifact vfModuleArtifact : vfResourceStructure.getArtifactsMapByUUID().values()) {
-
- switch (vfModuleArtifact.getArtifactInfo().getArtifactType()) {
- case ASDCConfiguration.HEAT:
- case ASDCConfiguration.HEAT_VOL:
- case ASDCConfiguration.HEAT_NESTED:
- ToscaResourceInstaller.createHeatTemplateFromArtifact(vfResourceStructure, toscaResourceStruct, vfModuleArtifact);
- break;
- case ASDCConfiguration.HEAT_ENV:
- ToscaResourceInstaller.createHeatEnvFromArtifact(vfResourceStructure, vfModuleArtifact);
- break;
- case ASDCConfiguration.HEAT_ARTIFACT:
- ToscaResourceInstaller.createHeatFileFromArtifact(vfResourceStructure, vfModuleArtifact, toscaResourceStruct);
- break;
- case ASDCConfiguration.HEAT_NET:
- case ASDCConfiguration.OTHER:
- logger.warn(MessageEnum.ASDC_ARTIFACT_TYPE_NOT_SUPPORT, vfModuleArtifact.getArtifactInfo().getArtifactType()+"(Artifact Name:"+vfModuleArtifact.getArtifactInfo().getArtifactName()+")", "", "", MsoLogger.ErrorCode.DataError, "Artifact type not supported");
- break;
- default:
- break;
-
- }
- }
- // Those objects could be reused by different VfModule
-
-
-
- // PCLO: in case of deployment failure, use a string that will represent the type of artifact that failed...
- List<ASDCElementInfo> artifactListForLogging = new ArrayList<>();
-
- CatalogDatabase catalogDB = CatalogDatabase.getInstance();
-
- WatchdogServiceModVerIdLookupDb wdLookupDB = WatchdogServiceModVerIdLookupDb.getInstance();
-
- WatchdogDistributionStatusDb wdDistributionStatus = WatchdogDistributionStatusDb.getInstance();
-
- WatchdogComponentDistributionStatusDb wdComponentDistributionStatus = WatchdogComponentDistributionStatusDb.getInstance();
- // 2. Create the VFModules/VNFResource objects by linking them to the
- // objects created before and store them in Resource/module structure
- // Opening a DB transaction, starting from here
- try {
-
-
- createToscaCsar(toscaResourceStruct);
-
- catalogDB.saveToscaCsar(toscaResourceStruct.getCatalogToscaCsar());
-
- ToscaResourceInstaller.createService(toscaResourceStruct, vfResourceStruct);
-
- catalogDB.saveService(toscaResourceStruct.getCatalogService());
-
- wdLookupDB.insertWatchdogServiceModVerIdLookup(vfResourceStructure.getNotification().getDistributionID(), vfResourceStructure.getNotification().getServiceUUID());
-
- wdDistributionStatus.insertWatchdogDistributionId(vfResourceStructure.getNotification().getDistributionID());
-
-
- /* VNF POPULATION
- * ************************************************************************************************************
- */
-
- // Ingest (VNF) Data - 1707
- List<NodeTemplate> vfNodeTemplatesList = toscaResourceStruct.getSdcCsarHelper().getServiceVfList();
- int outerLoop = 0;
- logger.debug("**vfMondeTEmplatesList.size()=" + vfNodeTemplatesList.size());
- for (NodeTemplate nodeTemplate : vfNodeTemplatesList) {
- logger.debug("nodeTemplate outerLoop=" + outerLoop++);
- // extract VF metadata
-
- Metadata metadata = nodeTemplate.getMetaData();
-
-
-
- //************************Flexware code*******************************************
-
- String serviceType = toscaResourceStruct.getCatalogService().getServiceType();
-
-
- if(serviceType != null && serviceType.equalsIgnoreCase("Flexware")){
-
- createVnfResource(nodeTemplate, toscaResourceStruct);
-
- // check for duplicate record already in the database
- VnfResource vnfResource = catalogDB.getVnfResource(toscaResourceStruct.getCatalogVnfResource().getModelName(),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- toscaResourceStruct.getCatalogVnfResource().getVersion()));
-
- if (vnfResource != null) {
- toscaResourceStruct.setVnfAlreadyInstalled(true);
- }
-
-
- if(!toscaResourceStruct.isVnfAlreadyInstalled()) {
-
- catalogDB.saveOrUpdateVnfResource(toscaResourceStruct.getCatalogVnfResource());
-
- }
-
-
- boolean saveVnfCustomization = catalogDB.saveVnfResourceCustomization(toscaResourceStruct.getCatalogVnfResourceCustomization());
-
- if(saveVnfCustomization){
- catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogVfServiceToResourceCustomization());
- }
-
-
- }
-
-
- // *************************** END of FLEXWARE CODE ****************************************************
-
- String vfCustomizationCategory = toscaResourceStruct.getSdcCsarHelper().getMetadataPropertyValue(metadata, SdcPropertyNames.PROPERTY_NAME_CATEGORY);
-
- if(!vfCustomizationCategory.equalsIgnoreCase("Allotted Resource")) // Do not treat Allotted Resources as VNF resources
- {
-
- String vfCustomizationUUID = toscaResourceStruct.getSdcCsarHelper().getMetadataPropertyValue(metadata, SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID);
- logger.debug("vfCustomizationUUID=" + vfCustomizationUUID);
-
-
- /* HEAT TABLE POPULATION
- * *******************************************************************************************************
- */
-
- int nextLoop = 0;
- for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()) {
- logger.debug("vfResourceStructure.getVfModuleStructure() loop, nextLoop = " + nextLoop++);
- logger.debug("vfModuleStructure:" + vfModuleStructure.toString());
-
- // Here we set the right db structure according to the Catalog
- // DB
-
- // We expect only one MAIN HEAT per VFMODULE
- // we can also obtain from it the Env ArtifactInfo, that's why
- // we
- // get the Main IArtifactInfo
-
- HeatTemplate heatMainTemplate = null;
- HeatEnvironment heatEnv;
-
- HeatTemplate heatVolumeTemplate = null;
- HeatEnvironment heatVolumeEnv;
-
-
- IVfModuleData vfMetadata = vfModuleStructure.getVfModuleMetadata();
-
-
- if (vfModuleStructure.getArtifactsMap().containsKey(ASDCConfiguration.HEAT)) {
-
- List<VfModuleArtifact> artifacts = vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT);
- logger.debug("there are " + artifacts.size() + " artifacts");
- IArtifactInfo mainEnvArtifactInfo = null;
- for (VfModuleArtifact vfma : artifacts) {
- logger.debug("vmfa=" + vfma.toString());
- mainEnvArtifactInfo =
- vfma.getArtifactInfo().getGeneratedArtifact();
-
- // MAIN HEAT
- heatMainTemplate = (HeatTemplate) vfma.getCatalogObject();
-
- // Set HeatTemplateArtifactUUID to use later when setting the VfModule and NetworkResource
- toscaResourceStruct.setHeatTemplateUUID(heatMainTemplate.getArtifactUuid());
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo
- .createElementFromVfArtifactInfo(vfma.getArtifactInfo()));
-
- catalogDB.saveHeatTemplate(heatMainTemplate, heatMainTemplate.getParameters());
- // Indicate we have deployed it in the DB
- vfma.incrementDeployedInDB();
- }
-
-
- // VOLUME HEAT
- // We expect only one VOL HEAT per VFMODULE
- // we can also obtain from it the Env ArtifactInfo, that's why
- // we get the Volume IArtifactInfo
-
- if (vfModuleStructure.getArtifactsMap().containsKey(ASDCConfiguration.HEAT_VOL)) {
- IArtifactInfo volEnvArtifactInfo = vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0)
- .getArtifactInfo().getGeneratedArtifact();
-
- heatVolumeTemplate = (HeatTemplate) vfModuleStructure.getArtifactsMap()
- .get(ASDCConfiguration.HEAT_VOL).get(0).getCatalogObject();
-
- // Set VolHeatTemplate ArtifactUUID to use later when setting the VfModule
- toscaResourceStruct.setVolHeatTemplateUUID(heatVolumeTemplate.getArtifactUuid());
-
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0).getArtifactInfo()));
-
- catalogDB.saveHeatTemplate(heatVolumeTemplate, heatVolumeTemplate.getParameters());
- // Indicate we have deployed it in the DB
- vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0).incrementDeployedInDB();
-
- if (volEnvArtifactInfo != null) {
- heatVolumeEnv = (HeatEnvironment) vfResourceStructure.getArtifactsMapByUUID()
- .get(volEnvArtifactInfo.getArtifactUUID()).getCatalogObject();
-
- // Set VolHeatTemplate ArtifactUUID to use later when setting the VfModule
- toscaResourceStruct.setVolHeatEnvTemplateUUID(heatVolumeEnv.getArtifactUuid());
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(volEnvArtifactInfo));
-
- catalogDB.saveHeatEnvironment(heatVolumeEnv);
- // Indicate we have deployed it in the DB
- vfResourceStructure.getArtifactsMapByUUID().get(volEnvArtifactInfo.getArtifactUUID()).incrementDeployedInDB();
- }
-
- }
-
- // NESTED HEAT
- // Here we expect many HEAT_NESTED template to be there
- // XXX FIX BY PCLO: Defect# -36643 -US666034 - check first if we really have nested heat templates
- if (vfModuleStructure.getArtifactsMap().containsKey(ASDCConfiguration.HEAT_NESTED)) {
- for (VfModuleArtifact heatNestedArtifact : vfModuleStructure.getArtifactsMap()
- .get(ASDCConfiguration.HEAT_NESTED)) {
-
- // Check if this nested is well referenced by the MAIN HEAT
- String parentArtifactType = ToscaResourceInstaller.identifyParentOfNestedTemplate(vfModuleStructure,heatNestedArtifact);
- HeatTemplate heatNestedTemplate = (HeatTemplate) heatNestedArtifact.getCatalogObject();
-
- if (parentArtifactType != null) {
-
- switch (parentArtifactType) {
- case ASDCConfiguration.HEAT:
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(heatNestedArtifact.getArtifactInfo()));
-
- catalogDB.saveNestedHeatTemplate (heatMainTemplate.getArtifactUuid(), heatNestedTemplate, heatNestedTemplate.getTemplateName());
- // Indicate we have deployed it in the DB
- heatNestedArtifact.incrementDeployedInDB();
- break;
- case ASDCConfiguration.HEAT_VOL:
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(heatNestedArtifact.getArtifactInfo()));
- catalogDB.saveNestedHeatTemplate (heatVolumeTemplate.getArtifactUuid(), heatNestedTemplate, heatNestedTemplate.getTemplateName());
- // Indicate we have deployed it in the DB
- heatNestedArtifact.incrementDeployedInDB();
- break;
-
- default:
- break;
-
- }
- } else { // Assume it belongs to HEAT MAIN
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(heatNestedArtifact.getArtifactInfo()));
-
- catalogDB.saveNestedHeatTemplate (heatMainTemplate.getArtifactUuid(), heatNestedTemplate, heatNestedTemplate.getTemplateName());
- // Indicate we have deployed it in the DB
- heatNestedArtifact.incrementDeployedInDB();
- }
- }
- }
-
- if (mainEnvArtifactInfo != null) {
- heatEnv = (HeatEnvironment) vfResourceStructure.getArtifactsMapByUUID()
- .get(mainEnvArtifactInfo.getArtifactUUID()).getCatalogObject();
-
- // Set HeatEnvironmentArtifactUUID to use later when setting the VfModule
- toscaResourceStruct.setEnvHeatTemplateUUID(heatEnv.getArtifactUuid());
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(mainEnvArtifactInfo));
-
- catalogDB.saveHeatEnvironment(heatEnv);
- // Indicate we have deployed it in the DB
- vfResourceStructure.getArtifactsMapByUUID().get(mainEnvArtifactInfo.getArtifactUUID()).incrementDeployedInDB();
- }
-
- // here we expect one VFModule to be there
- //VfResourceInstaller.createVfModule(vfModuleStructure,heatMainTemplate, heatVolumeTemplate, heatEnv, heatVolumeEnv);
- //VfModule vfModule = vfModuleStructure.getCatalogVfModule();
-
- // Add this one for logging
- //artifactListForLogging.add(ASDCElementInfo.createElementFromVfModuleStructure(vfModuleStructure));
-
- //catalogDB.saveOrUpdateVfModule(vfModule);
-
-
- // extract VF metadata
- createVnfResource(nodeTemplate, toscaResourceStruct);
-
- // check for duplicate record already in the database
- VnfResource vnfResource = catalogDB.getVnfResource(toscaResourceStruct.getCatalogVnfResource().getModelName(),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- toscaResourceStruct.getCatalogVnfResource().getVersion()));
-
- if (vnfResource != null) {
- toscaResourceStruct.setVnfAlreadyInstalled(true);
- }
-
-
- if(!toscaResourceStruct.isVnfAlreadyInstalled()) {
-
- catalogDB.saveOrUpdateVnfResource(toscaResourceStruct.getCatalogVnfResource());
-
- }
-
-
- catalogDB.saveVnfResourceCustomization(toscaResourceStruct.getCatalogVnfResourceCustomization());
-
- catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogVfServiceToResourceCustomization());
-
-
- List<org.onap.sdc.toscaparser.api.Group> vfGroups = toscaResourceStruct.getSdcCsarHelper().getVfModulesByVf(vfCustomizationUUID);
- logger.debug("vfGroups:" + vfGroups.toString());
-
- vfGroups.sort((group1, group2) -> {
- //Field name1Field = group1.class.getDeclaredField("name");
- //name1Field.setAccessible(true);
- String thisName = group1.getName(); //(String) name1Field.get(group1);
- String thatName = group2.getName(); // (String) name1Field.get(group2);
-
- Matcher m = lastDigit.matcher(thisName);
- Matcher m2 = lastDigit.matcher(thatName);
-
- String thisDigit = "0";
- String thatDigit = "0";
- if (m.find()) {
- thisDigit = m.group();
- } else {
- return -1;
- }
- if (m2.find()) {
- thatDigit = m2.group();
- } else {
- return 1;
- }
-
- return new Integer(thisDigit).compareTo(new Integer(thatDigit));
- });
-
- logger.debug("vfGroupsAfter:" + vfGroups.toString());
-
-
- for(Group group : vfGroups){
-
-
- //boolean saveVFModule = createVFModule(group, nodeTemplate, toscaResourceStruct, vfMetadata);
- if (vfMetadata.getVfModuleModelCustomizationUUID() == null) {
- logger.debug("NULL 1");
- } else {
- logger.debug("vfMetadata.getMCU=" + vfMetadata.getVfModuleModelCustomizationUUID());
- }
- if (group.getMetadata() == null) {
- logger.debug("NULL 3");
- } else {
- logger.debug("group.getMetadata().getValue() = " + group.getMetadata().getValue("vfModuleModelCustomizationUUID"));
- }
- if (vfMetadata.getVfModuleModelCustomizationUUID().equals(group.getMetadata().getValue("vfModuleModelCustomizationUUID"))) {
- logger.debug("Found a match at " + vfMetadata.getVfModuleModelCustomizationUUID());
- createVFModule(group, nodeTemplate, toscaResourceStruct, vfResourceStructure, vfMetadata);
-
- catalogDB.saveOrUpdateVfModule(toscaResourceStruct.getCatalogVfModule());
-
- catalogDB.saveOrUpdateVfModuleCustomization(toscaResourceStruct.getCatalogVfModuleCustomization());
-
- catalogDB.saveVnfResourceToVfModuleCustomization(toscaResourceStruct.getCatalogVnfResourceCustomization(), toscaResourceStruct.getCatalogVfModuleCustomization());
-
-
- } else {
- if(toscaResourceStruct.getCatalogVfModuleCustomization() != null){
- logger.debug("No match for " + toscaResourceStruct.getCatalogVfModuleCustomization().getModelCustomizationUuid());
- } else {
- logger.debug("No match for vfModuleModelCustomizationUUID");
- }
- }
-
- }
-
- } //Commented out to process VFModules each time
-
- // Here we expect many HEAT_TEMPLATE files to be there
- if (vfModuleStructure.getArtifactsMap().containsKey(ASDCConfiguration.HEAT_ARTIFACT)) {
- for (VfModuleArtifact heatArtifact : vfModuleStructure.getArtifactsMap()
- .get(ASDCConfiguration.HEAT_ARTIFACT)) {
-
- HeatFiles heatFile = (HeatFiles) heatArtifact.getCatalogObject();
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(heatArtifact.getArtifactInfo()));
-
- if(toscaResourceStruct.getCatalogVfModule() != null && heatFile != null){
- catalogDB.saveVfModuleToHeatFiles (toscaResourceStruct.getCatalogVfModule().getModelUUID(), heatFile);
- }
- // Indicate we will deploy it in the DB
- heatArtifact.incrementDeployedInDB();
- }
- }
-
- }
- }
- }
-
- /* END OF HEAT TABLE POPULATION
- * ***************************************************************************************************
- */
-
-
- // throw new ArtifactInstallerException("TESTING");
-
-
- List<NodeTemplate> allottedResourceList = toscaResourceStruct.getSdcCsarHelper().getAllottedResources();
-
- if(allottedResourceList != null){
-
- for(NodeTemplate allottedNode : allottedResourceList){
-
- createAllottedResource(allottedNode, toscaResourceStruct);
-
- catalogDB.saveAllottedResource(toscaResourceStruct.getAllottedResource());
-
- catalogDB.saveAllottedResourceCustomization(toscaResourceStruct.getCatalogAllottedResourceCustomization());
-
- catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogAllottedServiceToResourceCustomization());
-
- }
- }
-
- // handle VF resource
- List<NodeTemplate> serviceVfList = toscaResourceStruct.getSdcCsarHelper().getServiceVfList();
- if (serviceVfList != null) {
- for (NodeTemplate vfNode : serviceVfList) {
- createVnfResource(vfNode, toscaResourceStruct);
- catalogDB.saveVnfResource(toscaResourceStruct.getCatalogVnfResource());
- catalogDB.saveVnfResourceCustomization(toscaResourceStruct.getCatalogVnfResourceCustomization());
- catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogVfServiceToResourceCustomization());
- }
- }
-
-
- List<NodeTemplate> nodeTemplatesVLList = toscaResourceStruct.getSdcCsarHelper().getServiceVlList();
-
- if(nodeTemplatesVLList != null){
-
- for(NodeTemplate vlNode : nodeTemplatesVLList){
-
- String networkResourceModelName = vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME);
-
- List<TempNetworkHeatTemplateLookup> networkHeatTemplateLookup = catalogDB.getTempNetworkHeatTemplateLookup(networkResourceModelName);
-
- if(networkHeatTemplateLookup != null && networkHeatTemplateLookup.size() > 0 ){
-
- createNetworkResource(vlNode, toscaResourceStruct, networkHeatTemplateLookup.get(0));
-
- } else {
- logger.info(MessageEnum.ASDC_GENERAL_INFO,
- "No NetworkResourceName found in TempNetworkHeatTemplateLookup for" + networkResourceModelName, "ASDC",
- "createVfModuleStructures");
- createNetworkResource(vlNode, toscaResourceStruct, null);
- }
-
-
- catalogDB.saveNetworkResource(toscaResourceStruct.getCatalogNetworkResource());
-
- catalogDB.saveNetworkResourceCustomization(toscaResourceStruct.getCatalogNetworkResourceCustomization());
-
- catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogVlServiceToResourceCustomization());
-
- }
- }
-
-
- //createServiceToResourceCustomization(toscaResourceStruct.getCatalogService(), toscaResourceStruct.getCatalogVnfResourceCustomization(), toscaResourceStruct);
-
- // catalogDB.saveToscaCsar(toscaResourceStruct.getCatalogToscaCsar());
- wdComponentDistributionStatus.insertWatchdogComponentDistributionStatus(vfResourceStruct.getNotification().getDistributionID(), "SO", DistributionStatusEnum.COMPONENT_DONE_OK.name());
-
- catalogDB.commit();
- toscaResourceStruct.setSuccessfulDeployment();
-
- }catch(Exception e){
- logger.debug("Exception :",e);
-
- wdDistributionStatus.insertWatchdogDistributionId(vfResourceStructure.getNotification().getDistributionID());
-
- wdComponentDistributionStatus.insertWatchdogComponentDistributionStatus(vfResourceStruct.getNotification().getDistributionID(), "SO", DistributionStatusEnum.COMPONENT_DONE_ERROR.name());
-
- wdDistributionStatus.updateWatchdogDistributionIdStatus(vfResourceStruct.getNotification().getDistributionID(), DistributionStatusEnum.DISTRIBUTION_COMPLETE_ERROR.name());
-
- Throwable dbExceptionToCapture = e;
- while (!(dbExceptionToCapture instanceof ConstraintViolationException || dbExceptionToCapture instanceof LockAcquisitionException)
- && (dbExceptionToCapture.getCause() != null)) {
- dbExceptionToCapture = dbExceptionToCapture.getCause();
- }
-
- if (dbExceptionToCapture instanceof ConstraintViolationException || dbExceptionToCapture instanceof LockAcquisitionException) {
- logger.warn(MessageEnum.ASDC_ARTIFACT_ALREADY_DEPLOYED, vfResourceStructure.getResourceInstance().getResourceName(),
- vfResourceStructure.getNotification().getServiceVersion(), "", "", MsoLogger.ErrorCode.DataError, "Exception - ASCDC Artifact already deployed", e);
- } else {
- String elementToLog = (artifactListForLogging.size() > 0 ? artifactListForLogging.get(artifactListForLogging.size()-1).toString() : "No element listed");
- logger.error(MessageEnum.ASDC_ARTIFACT_INSTALL_EXC, elementToLog, "", "", MsoLogger.ErrorCode.DataError, "Exception caught during installation of " + vfResourceStructure.getResourceInstance().getResourceName() + ". Transaction rollback", e);
- catalogDB.rollback();
- throw new ArtifactInstallerException(
- "Exception caught during installation of " + vfResourceStructure.getResourceInstance().getResourceName() + ". Transaction rollback.", e);
- }
-
- } finally {
- catalogDB.close();
- }
-
- }
-
-
- public static String verifyTheFilePrefixInArtifacts(String filebody, VfResourceStructure vfResourceStructure, List<String> listTypes) {
- String newFileBody = filebody;
- for (VfModuleArtifact moduleArtifact:vfResourceStructure.getArtifactsMapByUUID().values()) {
-
- if (listTypes.contains(moduleArtifact.getArtifactInfo().getArtifactType())) {
-
- newFileBody = verifyTheFilePrefixInString(newFileBody,moduleArtifact.getArtifactInfo().getArtifactName());
- }
- }
- return newFileBody;
- }
-
- public static String verifyTheFilePrefixInString(final String body, final String filenameToVerify) {
-
- String needlePrefix = "file:///";
- String prefixedFilenameToVerify = needlePrefix+filenameToVerify;
-
- if ((body == null) || (body.length() == 0) || (filenameToVerify == null) || (filenameToVerify.length() == 0)) {
- return body;
- }
-
- StringBuilder sb = new StringBuilder(body.length());
-
- int currentIndex = 0;
- int startIndex = 0;
-
- while (currentIndex != -1) {
- startIndex = currentIndex;
- currentIndex = body.indexOf(prefixedFilenameToVerify, startIndex);
-
- if (currentIndex == -1) {
- break;
- }
-
- // We append from the startIndex up to currentIndex (start of File Name)
- sb.append(body.substring(startIndex, currentIndex));
- sb.append(filenameToVerify);
-
- currentIndex += prefixedFilenameToVerify.length();
- }
-
- sb.append(body.substring(startIndex));
-
- return sb.toString();
- }
-
-
- private static void createHeatTemplateFromArtifact(VfResourceStructure vfResourceStructure,ToscaResourceStructure toscaResourceStruct,
- VfModuleArtifact vfModuleArtifact) {
- HeatTemplate heatTemplate = new HeatTemplate();
-
- // TODO Set the label
-// heatTemplate.setAsdcLabel("label");
- // Use the ResourceName of the ASDC template because the HEAT could be
- // reused
-// heatTemplate.setAsdcResourceName(vfResourceStructure.getResourceInstance().getResourceName());
- heatTemplate.setAsdcUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
-
- List<String> typeList = new ArrayList<>();
- typeList.add(ASDCConfiguration.HEAT_NESTED);
- typeList.add(ASDCConfiguration.HEAT_ARTIFACT);
-
- heatTemplate.setTemplateBody(verifyTheFilePrefixInArtifacts(vfModuleArtifact.getResult(),vfResourceStructure,typeList));
- heatTemplate.setTemplateName(vfModuleArtifact.getArtifactInfo().getArtifactName());
-
- if (vfModuleArtifact.getArtifactInfo().getArtifactTimeout() != null) {
- heatTemplate.setTimeoutMinutes(vfModuleArtifact.getArtifactInfo().getArtifactTimeout());
- } else {
- heatTemplate.setTimeoutMinutes(240);
- }
-
- //toscaResourceStruct.setHeatFilesUUID(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
-
- heatTemplate.setDescription(vfModuleArtifact.getArtifactInfo().getArtifactDescription());
- heatTemplate.setVersion(BigDecimalVersion
- .castAndCheckNotificationVersionToString(vfModuleArtifact.getArtifactInfo().getArtifactVersion()));
- heatTemplate.setArtifactUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
-
- if(vfModuleArtifact.getArtifactInfo().getArtifactChecksum() != null){
- heatTemplate.setArtifactChecksum(vfModuleArtifact.getArtifactInfo().getArtifactChecksum());
- } else {
- heatTemplate.setArtifactChecksum("MANUAL_RECORD");
- }
-
- Set<HeatTemplateParam> heatParam = ToscaResourceInstaller
- .extractHeatTemplateParameters(vfModuleArtifact.getResult(), vfModuleArtifact.getArtifactInfo().getArtifactUUID());
- heatTemplate.setParameters(heatParam);
- //heatTemplate.setCreated(getCurrentTimeStamp());
-
- vfModuleArtifact.setCatalogObject(heatTemplate);
- }
-
- private static void createHeatEnvFromArtifact(VfResourceStructure vfResourceStructure,
- VfModuleArtifact vfModuleArtifact) {
- HeatEnvironment heatEnvironment = new HeatEnvironment();
-
- heatEnvironment.setName(vfModuleArtifact.getArtifactInfo().getArtifactName());
- // TODO Set the label
-// heatEnvironment.setAsdcLabel("Label");
-
- List<String> typeList = new ArrayList<>();
- typeList.add(ASDCConfiguration.HEAT);
- typeList.add(ASDCConfiguration.HEAT_VOL);
-
- heatEnvironment.setEnvironment(verifyTheFilePrefixInArtifacts(vfModuleArtifact.getResult(),vfResourceStructure,typeList));
-// heatEnvironment.setAsdcUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
- heatEnvironment.setDescription(vfModuleArtifact.getArtifactInfo().getArtifactDescription());
- heatEnvironment.setVersion(BigDecimalVersion
- .castAndCheckNotificationVersionToString(vfModuleArtifact.getArtifactInfo().getArtifactVersion()));
-// heatEnvironment.setAsdcResourceName(VfResourceInstaller.createVNFName(vfResourceStructure));
- heatEnvironment.setArtifactUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
-
- if(vfModuleArtifact.getArtifactInfo().getArtifactChecksum() != null){
- heatEnvironment.setArtifactChecksum(vfModuleArtifact.getArtifactInfo().getArtifactChecksum());
- } else{
- heatEnvironment.setArtifactChecksum("MANUAL_RECORD");
- }
- //heatEnvironment.setCreated(getCurrentTimeStamp());
-
- vfModuleArtifact.setCatalogObject(heatEnvironment);
-
- }
-
- private static void createHeatFileFromArtifact(VfResourceStructure vfResourceStructure,
- VfModuleArtifact vfModuleArtifact, ToscaResourceStructure toscaResourceStruct) {
-
- HeatFiles heatFile = new HeatFiles();
- // TODO Set the label
-// heatFile.setAsdcLabel("Label");
- heatFile.setAsdcUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
- heatFile.setDescription(vfModuleArtifact.getArtifactInfo().getArtifactDescription());
- heatFile.setFileBody(vfModuleArtifact.getResult());
- heatFile.setFileName(vfModuleArtifact.getArtifactInfo().getArtifactName());
- heatFile.setVersion(BigDecimalVersion
- .castAndCheckNotificationVersionToString(vfModuleArtifact.getArtifactInfo().getArtifactVersion()));
-
- toscaResourceStruct.setHeatFilesUUID(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
- //heatFile.setCreated(getCurrentTimeStamp());
-
-// heatFile.setAsdcResourceName(vfResourceStructure.getResourceInstance().getResourceName());
-
-
- if(vfModuleArtifact.getArtifactInfo().getArtifactChecksum() != null){
- heatFile.setArtifactChecksum(vfModuleArtifact.getArtifactInfo().getArtifactChecksum());
- } else {
- heatFile.setArtifactChecksum("MANUAL_RECORD");
- }
-
- vfModuleArtifact.setCatalogObject(heatFile);
-
- }
-
- private static void createService(ToscaResourceStructure toscaResourceStructure, VfResourceStructure vfResourceStructure) {
-
- toscaResourceStructure.getServiceMetadata();
-
- Metadata serviceMetadata = toscaResourceStructure.getServiceMetadata();
-
- Service service = new Service();
-
- // Service
- if(serviceMetadata != null) {
-
- if(toscaResourceStructure.getServiceVersion() != null){
- service.setVersion(toscaResourceStructure.getServiceVersion());
- }
-
- service.setServiceType(serviceMetadata.getValue("serviceType"));
- service.setServiceRole(serviceMetadata.getValue("serviceRole"));
-
- service.setDescription(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
- service.setModelName(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
- service.setModelUUID(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
- service.setEnvironmentContext(serviceMetadata.getValue("environmentContext"));
-
-
- if(vfResourceStructure != null){
- service.setWorkloadContext(vfResourceStructure.getNotification().getWorkloadContext());
- }
- //service.setVersion(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
- service.setModelInvariantUUID(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
- service.setCategory(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));
- service.setToscaCsarArtifactUUID(toscaResourceStructure.getToscaArtifact().getArtifactUUID());
- //service.setCreated(getCurrentTimeStamp());
- }
-
- toscaResourceStructure.setCatalogService(service);
- }
-
- private static void createToscaCsar(ToscaResourceStructure toscaResourceStructure) {
-
- ToscaCsar toscaCsar = new ToscaCsar();
- if(toscaResourceStructure.getToscaArtifact().getArtifactChecksum() != null){
- toscaCsar.setArtifactChecksum(toscaResourceStructure.getToscaArtifact().getArtifactChecksum());
- } else {
- toscaCsar.setArtifactChecksum("MANUAL_RECORD");
- }
- toscaCsar.setArtifactUUID(toscaResourceStructure.getToscaArtifact().getArtifactUUID());
- toscaCsar.setName(toscaResourceStructure.getToscaArtifact().getArtifactName());
- toscaCsar.setVersion(toscaResourceStructure.getToscaArtifact().getArtifactVersion());
- toscaCsar.setDescription(toscaResourceStructure.getToscaArtifact().getArtifactDescription());
- toscaCsar.setUrl(toscaResourceStructure.getToscaArtifact().getArtifactURL());
-
- toscaResourceStructure.setCatalogToscaCsar(toscaCsar);
- }
-
- private static void createNetworkResource(NodeTemplate networkNodeTemplate, ToscaResourceStructure toscaResourceStructure, TempNetworkHeatTemplateLookup networkHeatTemplateLookup) {
- NetworkResourceCustomization networkResourceCustomization = new NetworkResourceCustomization();
-
- NetworkResource networkResource = new NetworkResource();
-
- String providerNetwork = toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_PROVIDERNETWORK_ISPROVIDERNETWORK);
-
- if("true".equalsIgnoreCase(providerNetwork)){
- networkResource.setNeutronNetworkType("PROVIDER");
- } else {
- networkResource.setNeutronNetworkType("BASIC");
- }
-
- networkResource.setModelName(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
-
- networkResource.setModelInvariantUUID(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
- networkResource.setModelUUID(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
- networkResource.setModelVersion(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
-
- networkResource.setAicVersionMax(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
- String aicVersionMin = networkHeatTemplateLookup != null ? networkHeatTemplateLookup.getAicVersionMin() : "2.5";
- networkResource.setAicVersionMin(aicVersionMin);
- networkResource.setToscaNodeType(networkNodeTemplate.getType());
- networkResource.setDescription(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
- networkResource.setOrchestrationMode("HEAT");
- networkResource.setCategory(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));
- networkResource.setSubCategory(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
- //for tosca NS ,there is no heat for network VL
- String heatTemplateArtifactUUID = networkHeatTemplateLookup != null ? networkHeatTemplateLookup.getHeatTemplateArtifactUuid() : "null";
- networkResource.setHeatTemplateArtifactUUID(heatTemplateArtifactUUID);
-
- toscaResourceStructure.setCatalogNetworkResource(networkResource);
-
- networkResourceCustomization.setModelInstanceName(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
- networkResourceCustomization.setModelCustomizationUuid(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
- networkResourceCustomization.setNetworkResourceModelUuid(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
-
-
- networkResourceCustomization.setNetworkTechnology(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKTECHNOLOGY)));
- networkResourceCustomization.setNetworkType(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKTYPE)));
- networkResourceCustomization.setNetworkRole(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE)));
- networkResourceCustomization.setNetworkScope(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE)));
-
- toscaResourceStructure.setCatalogNetworkResourceCustomization(networkResourceCustomization);
-
- ServiceToResourceCustomization serviceToResourceCustomization = new ServiceToResourceCustomization();
- serviceToResourceCustomization.setServiceModelUUID(toscaResourceStructure.getCatalogService().getModelUUID());
- serviceToResourceCustomization.setResourceModelCustomizationUUID(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
- serviceToResourceCustomization.setModelType("network");
-
- toscaResourceStructure.setCatalogVlServiceToResourceCustomization(serviceToResourceCustomization);
-
-
- }
-
- private static void createVFModule(Group group, NodeTemplate nodeTemplate, ToscaResourceStructure toscaResourceStructure, VfResourceStructure vfResourceStructure, IVfModuleData vfModuleData) {
- VfModule vfModule = new VfModule();
-
- Metadata vfMetadata = group.getMetadata();
-
- String vfModuleModelUUID = vfModuleData.getVfModuleModelUUID();
-
-
- if(vfModuleModelUUID != null && vfModuleModelUUID.contains(".")){
- vfModuleModelUUID = vfModuleModelUUID.substring(0, vfModuleModelUUID.indexOf("."));
- }
-
-
- for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()){
-
- String vfModelUUID = vfModuleStructure.getVfModuleMetadata().getVfModuleModelUUID();
-
- if(vfModelUUID != null && vfModelUUID.equalsIgnoreCase(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID))){
-
- List<String> artifacts = vfModuleStructure.getVfModuleMetadata().getArtifacts();
-
- for(String artifact: artifacts){
-
-
- for (VfModuleArtifact vfModuleArtifact : vfResourceStructure.getArtifactsMapByUUID().values()) {
-
-
- if(artifact.equals(vfModuleArtifact.getArtifactInfo().getArtifactUUID())){
- //if(vfModuleArtifact.getArtifactInfo().getArtifactType().equals(ASDCConfiguration.HEAT_ARTIFACT)){
- if(vfModuleArtifact.getArtifactInfo().getArtifactType().equals(ASDCConfiguration.HEAT)){
- vfModule.setHeatTemplateArtifactUUId(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
- }
-
- if(vfModuleArtifact.getArtifactInfo().getArtifactType().equals(ASDCConfiguration.HEAT_VOL)){
- vfModule.setVolHeatTemplateArtifactUUId(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
-
- }
- }
-
- }
-
-
- }
-
-
- }
-
-
- }
-
- vfModule.setModelInvariantUuid(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)));
- vfModule.setModelName(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELNAME)));
- vfModule.setModelUUID(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID)));
- vfModule.setVersion(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELVERSION)));
- vfModule.setDescription(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
- //vfModule.setHeatTemplateArtifactUUId(toscaResourceStructure.getHeatTemplateUUID());
- //vfModule.setVolHeatTemplateArtifactUUId(toscaResourceStructure.getVolHeatTemplateUUID());
-
- vfModule.setVnfResourceModelUUId(toscaResourceStructure.getCatalogVnfResource().getModelUuid());
-
- String vfModuleType = toscaResourceStructure.getSdcCsarHelper().getGroupPropertyLeafValue(group, SdcPropertyNames.PROPERTY_NAME_VFMODULETYPE);
- if(vfModuleType != null && "Base".equalsIgnoreCase(vfModuleType)){
- vfModule.setIsBase(1);
- }else {
- vfModule.setIsBase(0);
- }
-
-
- VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
- vfModuleCustomization.setModelCustomizationUuid(vfModuleData.getVfModuleModelCustomizationUUID());
-
-
- vfModuleCustomization.setVfModuleModelUuid(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata,SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID));
-
- vfModuleCustomization.setHeatEnvironmentArtifactUuid(toscaResourceStructure.getEnvHeatTemplateUUID());
-
-
- vfModuleCustomization.setVolEnvironmentArtifactUuid(toscaResourceStructure.getVolHeatEnvTemplateUUID());
-
- String initialCount = toscaResourceStructure.getSdcCsarHelper().getGroupPropertyLeafValue(group, SdcPropertyNames.PROPERTY_NAME_INITIALCOUNT);
- if(initialCount != null && initialCount.length() > 0){
- vfModuleCustomization.setInitialCount(Integer.valueOf(initialCount));
- }
-
- vfModuleCustomization.setInitialCount(Integer.valueOf(toscaResourceStructure.getSdcCsarHelper().getGroupPropertyLeafValue(group, SdcPropertyNames.PROPERTY_NAME_INITIALCOUNT)));
-
- String availabilityZoneCount = toscaResourceStructure.getSdcCsarHelper().getGroupPropertyLeafValue(group, SdcPropertyNames.PROPERTY_NAME_AVAILABILITYZONECOUNT);
- if(availabilityZoneCount != null && availabilityZoneCount.length() > 0){
- vfModuleCustomization.setAvailabilityZoneCount(Integer.valueOf(availabilityZoneCount));
- }
-
-
- vfModuleCustomization.setLabel(toscaResourceStructure.getSdcCsarHelper().getGroupPropertyLeafValue(group, SdcPropertyNames.PROPERTY_NAME_VFMODULELABEL));
-
- String maxInstances = toscaResourceStructure.getSdcCsarHelper().getGroupPropertyLeafValue(group, SdcPropertyNames.PROPERTY_NAME_MAXVFMODULEINSTANCES);
- if(maxInstances != null && maxInstances.length() > 0){
- vfModuleCustomization.setMaxInstances(Integer.valueOf(maxInstances));
- }
-
- String minInstances = toscaResourceStructure.getSdcCsarHelper().getGroupPropertyLeafValue(group, SdcPropertyNames.PROPERTY_NAME_MINVFMODULEINSTANCES);
- if(minInstances != null && minInstances.length() > 0){
- vfModuleCustomization.setMinInstances(Integer.valueOf(minInstances));
- }
-
- toscaResourceStructure.setCatalogVfModule(vfModule);
-
- toscaResourceStructure.setCatalogVfModuleCustomization(vfModuleCustomization);
-
- }
-
- private static void createVnfResourceToVfModuleCustomization(VnfResourceCustomization vnfResourceCustomization,
- VfModuleCustomization vfModuleCustomization,
- ToscaResourceStructure toscaResourceStructure) {
-
- VnfResCustomToVfModuleCustom vnfResCustomToVfModuleCustom = new VnfResCustomToVfModuleCustom();
-
- vnfResCustomToVfModuleCustom.setVfModuleCustModelCustomizationUuid(vfModuleCustomization.getModelCustomizationUuid());
- vnfResCustomToVfModuleCustom.setVnfResourceCustModelCustomizationUuid(vnfResourceCustomization.getModelCustomizationUuid());
-
- toscaResourceStructure.setCatalogVnfResCustomToVfModuleCustom(vnfResCustomToVfModuleCustom);
-
-
-
- }
-
-
- private static void createTempNetworkHeatTemplateLookup(NetworkResource networkResource,
- VfModule vfModule,
- ToscaResourceStructure toscaResourceStructure) {
-
- TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup = new TempNetworkHeatTemplateLookup();
-
- tempNetworkHeatTemplateLookup.setNetworkResourceModelName(networkResource.getModelName());
- tempNetworkHeatTemplateLookup.setHeatTemplateArtifactUuid(vfModule.getHeatTemplateArtifactUUId());
- tempNetworkHeatTemplateLookup.setAicVersionMin("1");
-
- toscaResourceStructure.setCatalogTempNetworkHeatTemplateLookup(tempNetworkHeatTemplateLookup);
-
-
-
- }
-
- private static void createVnfResource(NodeTemplate vfNodeTemplate, ToscaResourceStructure toscaResourceStructure) {
- VnfResource vnfResource = new VnfResource();
-
-
- //toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_AVAILABILITYZONECOUNT)
-
- vnfResource.setModelInvariantUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
- vnfResource.setModelName(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
- vnfResource.setModelUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
-
- vnfResource.setVersion(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
- vnfResource.setDescription(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
- vnfResource.setOrchestrationMode("HEAT");
- vnfResource.setToscaNodeType(testNull(vfNodeTemplate.getType()));
- vnfResource.setAicVersionMax(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
- vnfResource.setAicVersionMin(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
- vnfResource.setCategory(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));
- vnfResource.setSubCategory(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
- //vnfResource.setHeatTemplateArtifactUUId(toscaResourceStructure.getHeatTemplateUUID());
-
- // vfNodeTemplate.getProperties()
- toscaResourceStructure.setCatalogVnfResource(vnfResource);
-
- VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
- vnfResourceCustomization.setModelCustomizationUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
- vnfResourceCustomization.setModelInstanceName(vfNodeTemplate.getName());
-
- vnfResourceCustomization.setNfFunction(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION)));
- vnfResourceCustomization.setNfNamingCode(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFCODE)));
- vnfResourceCustomization.setNfRole(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE)));
- vnfResourceCustomization.setNfType(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE)));
-
-
- vnfResourceCustomization.setMultiStageDesign(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, "multi_stage_design"));
-
-
- vnfResourceCustomization.setVnfResourceModelUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
- vnfResourceCustomization.setAvailabilityZoneMaxCount(Integer.getInteger(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_AVAILABILITYZONECOUNT)));
-
- //vnfResourceCustomization.setMultiStageDesign(vfNodeTemplate.getMetaData().getValue("multi_stage_design"));
- //vnfResourceCustomization.setMultiStageDesign(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_AVAILABILITYZONECOUNT).trim());
-
-
- vnfResourceCustomization.setMaxInstances(Integer.getInteger(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
- vnfResourceCustomization.setMinInstances(Integer.getInteger(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
-
-
-
- toscaResourceStructure.setCatalogVnfResourceCustomization(vnfResourceCustomization);
-
-
- ServiceToResourceCustomization serviceToResourceCustomization = new ServiceToResourceCustomization();
- serviceToResourceCustomization.setServiceModelUUID(toscaResourceStructure.getCatalogService().getModelUUID());
- serviceToResourceCustomization.setResourceModelCustomizationUUID(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
- serviceToResourceCustomization.setModelType("vnf");
-
- toscaResourceStructure.setCatalogVfServiceToResourceCustomization(serviceToResourceCustomization);
-
-
- }
-
- private static void createAllottedResource(NodeTemplate nodeTemplate, ToscaResourceStructure toscaResourceStructure) {
- AllottedResource allottedResource = new AllottedResource();
-
- allottedResource.setModelUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
- allottedResource.setModelInvariantUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
- allottedResource.setModelName(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
- allottedResource.setModelVersion(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
- allottedResource.setToscaNodeType(testNull(nodeTemplate.getType()));
- allottedResource.setSubcategory(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY)));
- allottedResource.setDescription(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
-
- toscaResourceStructure.setAllottedResource(allottedResource);
-
- AllottedResourceCustomization allottedResourceCustomization = new AllottedResourceCustomization();
- allottedResourceCustomization.setModelCustomizationUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
- allottedResourceCustomization.setModelInstanceName(nodeTemplate.getName());
- allottedResourceCustomization.setArModelUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
-
-
- allottedResourceCustomization.setProvidingServiceModelInvariantUuid(toscaResourceStructure.getCatalogService().getModelInvariantUUID());
- allottedResourceCustomization.setProvidingServiceModelUuid(toscaResourceStructure.getCatalogService().getModelUUID());
- allottedResourceCustomization.setProvidingServiceModelName(toscaResourceStructure.getCatalogService().getModelName());
- allottedResourceCustomization.setNfFunction(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION)));
- allottedResourceCustomization.setNfNamingCode(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFCODE)));
- allottedResourceCustomization.setNfRole(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE)));
- allottedResourceCustomization.setNfType(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE)));
- allottedResourceCustomization.setMinInstances(Integer.getInteger(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
- allottedResourceCustomization.setMaxInstances(Integer.getInteger(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
- allottedResourceCustomization.setTargetNetworkRole(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NETWORKROLE));
-
- toscaResourceStructure.setCatalogAllottedResourceCustomization(allottedResourceCustomization);
-
- ServiceToResourceCustomization serviceToResourceCustomization = new ServiceToResourceCustomization();
- serviceToResourceCustomization.setServiceModelUUID(toscaResourceStructure.getCatalogService().getModelUUID());
- serviceToResourceCustomization.setResourceModelCustomizationUUID(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
- serviceToResourceCustomization.setModelType("allottedResource");
-
- toscaResourceStructure.setCatalogAllottedServiceToResourceCustomization(serviceToResourceCustomization);
-
- }
-
- private static Set<HeatTemplateParam> extractHeatTemplateParameters(String yamlFile, String artifactUUID) {
-
- // Scan the payload downloadResult and extract the HeatTemplate
- // parameters
- YamlEditor yamlEditor = new YamlEditor(yamlFile.getBytes());
- return yamlEditor.getParameterList(artifactUUID);
-
- }
-
- private static String identifyParentOfNestedTemplate(VfModuleStructure vfModuleStructure,VfModuleArtifact heatNestedArtifact) {
-
- if (vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT) != null
- && vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT).get(0).getArtifactInfo().getRelatedArtifacts() != null) {
- for (IArtifactInfo unknownArtifact : vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT).get(0)
- .getArtifactInfo().getRelatedArtifacts()) {
- if (heatNestedArtifact.getArtifactInfo().getArtifactUUID().equals(unknownArtifact.getArtifactUUID())) {
- return ASDCConfiguration.HEAT;
- }
-
- }
- }
-
- if (vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL) != null
- && vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0).getArtifactInfo().getRelatedArtifacts() != null) {
- for (IArtifactInfo unknownArtifact:vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0).getArtifactInfo().getRelatedArtifacts()) {
- if (heatNestedArtifact.getArtifactInfo().getArtifactUUID().equals(unknownArtifact.getArtifactUUID())) {
- return ASDCConfiguration.HEAT_VOL;
- }
-
- }
- }
-
- // Does not belong to anything
- return null;
-
- }
-
- private static String testNull(Object object) {
-
-
- if(object == null){
- return null;
- }else if (object != null && object.equals("NULL")) {
- return null;
- }else if (object != null && object instanceof Integer) {
- return object.toString();
- } else if (object != null && object instanceof String) {
- return (String)object;
- } else {
- return "Type not recognized";
- }
- }
-
- private static String createVNFName(VfResourceStructure vfResourceStructure) {
-
- return vfResourceStructure.getNotification().getServiceName() + "/" + vfResourceStructure.getResourceInstance().getResourceInstanceName();
- }
-
- private static String createVfModuleName(VfModuleStructure vfModuleStructure) {
-
- return createVNFName(vfModuleStructure.getParentVfResource())+"::"+vfModuleStructure.getVfModuleMetadata().getVfModuleModelName();
- }
-
-
- private static Timestamp getCurrentTimeStamp() {
-
- return new Timestamp(new Date().getTime());
- }
-}
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
deleted file mode 100644
index d227961664..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/VfResourceInstaller.java
+++ /dev/null
@@ -1,790 +0,0 @@
-/*-
- * ============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.asdc.installer.heat;
-
-import java.sql.Timestamp;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.hibernate.exception.ConstraintViolationException;
-import org.hibernate.exception.LockAcquisitionException;
-import org.onap.sdc.api.notification.IArtifactInfo;
-
-import org.openecomp.mso.asdc.client.ASDCConfiguration;
-import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;
-import org.openecomp.mso.asdc.installer.ASDCElementInfo;
-import org.openecomp.mso.asdc.installer.BigDecimalVersion;
-import org.openecomp.mso.asdc.installer.IVfResourceInstaller;
-import org.openecomp.mso.asdc.installer.VfModuleArtifact;
-import org.openecomp.mso.asdc.installer.VfModuleStructure;
-import org.openecomp.mso.asdc.installer.VfResourceStructure;
-import org.openecomp.mso.asdc.util.YamlEditor;
-import org.openecomp.mso.db.catalog.CatalogDatabase;
-import org.openecomp.mso.db.catalog.beans.HeatEnvironment;
-import org.openecomp.mso.db.catalog.beans.HeatFiles;
-import org.openecomp.mso.db.catalog.beans.HeatTemplate;
-import org.openecomp.mso.db.catalog.beans.HeatTemplateParam;
-import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization;
-import org.openecomp.mso.db.catalog.beans.Service;
-import org.openecomp.mso.db.catalog.beans.ServiceToAllottedResources;
-import org.openecomp.mso.db.catalog.beans.ServiceToNetworks;
-import org.openecomp.mso.db.catalog.beans.VfModule;
-import org.openecomp.mso.db.catalog.beans.VnfResource;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoLogger;
-
-public class VfResourceInstaller implements IVfResourceInstaller {
-
- private MsoLogger logger;
-
- public VfResourceInstaller() {
- logger = MsoLogger.getMsoLogger(MsoLogger.Catalog.ASDC);
- }
-
- @Override
- public boolean isResourceAlreadyDeployed(VfResourceStructure vfResourceStruct)
- throws ArtifactInstallerException {
-
- boolean status = false;
- VfResourceStructure vfResourceStructure = (VfResourceStructure)vfResourceStruct;
-
- try(CatalogDatabase db = CatalogDatabase.getInstance()) {
-
- String resourceType = vfResourceStruct.getResourceInstance().getResourceType();
- String category = vfResourceStruct.getResourceInstance().getCategory();
-
- // Check for duplicate VF Module that is not an Allotted Resource
- if(resourceType.equals("VF") && !category.equalsIgnoreCase("Allotted Resource")){
- logger.info(MessageEnum.ASDC_CHECK_HEAT_TEMPLATE, "VNFResource",
- VfResourceInstaller.createVNFName(vfResourceStructure),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- vfResourceStructure.getNotification().getServiceVersion()), "", "");
-
- VnfResource vnfResource = db.getVnfResource(
- VfResourceInstaller.createVNFName(vfResourceStructure),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- vfResourceStructure.getNotification().getServiceVersion()));
-
- if (vnfResource != null) {
- status = true;
-
- }
-
- }
-
- // Check dup for VF Allotted Resource
- if(resourceType.equals("VF") && category.equalsIgnoreCase("Allotted Resource")){
- logger.info(MessageEnum.ASDC_CHECK_HEAT_TEMPLATE, "AllottedResource",
- vfResourceStruct.getResourceInstance().getResourceInstanceName(),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- vfResourceStructure.getNotification().getServiceVersion()), "", "");
-
- List<AllottedResourceCustomization> allottedResources = db.getAllAllottedResourcesByServiceModelUuid(vfResourceStruct.getNotification().getServiceUUID());
-
- if(allottedResources != null && allottedResources.size() > 0){
- for(AllottedResourceCustomization allottedResource : allottedResources){
-
- String existingAllottedResource = allottedResource.getModelCustomizationUuid();
- String notificationAllottedResource = vfResourceStruct.getResourceInstance().getResourceCustomizationUUID();
-
- if(existingAllottedResource.equals(notificationAllottedResource)){
- status=true;
- break;
- }
- }
-
- }
- }
-
- // Check Network for duplicates
- if(resourceType.equals("VL")){
- logger.info(MessageEnum.ASDC_CHECK_HEAT_TEMPLATE, "NetworkResource",
- vfResourceStruct.getResourceInstance().getResourceInstanceName(),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- vfResourceStructure.getNotification().getServiceVersion()), "", "");
-
- List<NetworkResourceCustomization> networkResources = db.getAllNetworksByServiceModelUuid(vfResourceStruct.getNotification().getServiceUUID());
-
- if(networkResources != null && networkResources.size() > 0){
- for(NetworkResourceCustomization networkResource : networkResources){
-
- String existingNetworkResource = networkResource.getModelCustomizationUuid();
- String notificationNetworkResource = vfResourceStruct.getResourceInstance().getResourceCustomizationUUID();
-
- if(existingNetworkResource.equals(notificationNetworkResource)){
- status=true;
- break;
- }
- }
-
- }
- }
-
- if (status) {
- logger.info(MessageEnum.ASDC_ARTIFACT_ALREADY_DEPLOYED_DETAIL,
- vfResourceStructure.getResourceInstance().getResourceInstanceName(),
- vfResourceStructure.getResourceInstance().getResourceCustomizationUUID(),
- vfResourceStructure.getNotification().getServiceName(),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- vfResourceStructure.getNotification().getServiceVersion()),
- vfResourceStructure.getNotification().getServiceUUID(),
- vfResourceStructure.getResourceInstance().getResourceName(),"", "");
- } else {
- logger.info(MessageEnum.ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL,
- vfResourceStructure.getResourceInstance().getResourceInstanceName(),
- vfResourceStructure.getResourceInstance().getResourceCustomizationUUID(),
- vfResourceStructure.getNotification().getServiceName(),
- BigDecimalVersion.castAndCheckNotificationVersionToString(
- vfResourceStructure.getNotification().getServiceVersion()),
- vfResourceStructure.getNotification().getServiceUUID(),
- vfResourceStructure.getResourceInstance().getResourceName(),"", "");
- }
-
- return status;
-
- } catch (Exception e) {
- logger.error(MessageEnum.ASDC_ARTIFACT_CHECK_EXC, "", "", MsoLogger.ErrorCode.SchemaError, "Exception - isResourceAlreadyDeployed");
- throw new ArtifactInstallerException("Exception caught during checking existence of the VNF Resource.", e);
- }
- }
-
- @Override
- public void installTheResource(VfResourceStructure vfResourceStruct) throws ArtifactInstallerException {
-
- // 1. Add the DB object list (Hashed) to be created from the HashMap
- // UUID
- // The DB objects will be stored in each VfModuleArtifact objects
- // Those objects could be reused by different VfModule
-
- VfResourceStructure vfResourceStructure = (VfResourceStructure)vfResourceStruct;
-
- for (VfModuleArtifact vfModuleArtifact : vfResourceStructure.getArtifactsMapByUUID().values()) {
-
- switch (vfModuleArtifact.getArtifactInfo().getArtifactType()) {
- case ASDCConfiguration.HEAT:
- case ASDCConfiguration.HEAT_VOL:
- case ASDCConfiguration.HEAT_NESTED:
- VfResourceInstaller.createHeatTemplateFromArtifact(vfResourceStructure, vfModuleArtifact);
- break;
- case ASDCConfiguration.HEAT_ENV:
- VfResourceInstaller.createHeatEnvFromArtifact(vfResourceStructure, vfModuleArtifact);
- break;
- case ASDCConfiguration.HEAT_ARTIFACT:
- VfResourceInstaller.createHeatFileFromArtifact(vfResourceStructure, vfModuleArtifact);
- break;
- case ASDCConfiguration.HEAT_NET:
- case ASDCConfiguration.OTHER:
- logger.warn(MessageEnum.ASDC_ARTIFACT_TYPE_NOT_SUPPORT, vfModuleArtifact.getArtifactInfo().getArtifactType()+"(Artifact Name:"+vfModuleArtifact.getArtifactInfo().getArtifactName()+")", "", "", MsoLogger.ErrorCode.DataError, "Artifact type not supported");
- break;
- default:
- break;
-
- }
- }
-
- // in case of deployment failure, use a string that will represent the type of artifact that failed...
- List<ASDCElementInfo> artifactListForLogging = new ArrayList<>();
-
- CatalogDatabase catalogDB = CatalogDatabase.getInstance();
- // 2. Create the VFModules/VNFResource objects by linking them to the
- // objects created before and store them in Resource/module structure
- // Opening a DB transaction, starting from here
- try {
-
- VfResourceInstaller.createService(vfResourceStructure);
-
- String resourceType = vfResourceStructure.getResourceInstance().getResourceType();
- String resourceCategory = vfResourceStructure.getResourceInstance().getCategory();
-
- if("VF".equals(resourceType)){
-
- if(resourceCategory.equalsIgnoreCase("Allotted Resource")){
- VfResourceInstaller.createAllottedResourceCustomization(vfResourceStructure);
- catalogDB.saveAllottedResourceCustomization(vfResourceStructure.getCatalogResourceCustomization());
- } else {
- VfResourceInstaller.createVnfResource(vfResourceStructure);
- catalogDB.saveOrUpdateVnfResource(vfResourceStructure.getCatalogVnfResource());
- }
- }
-
- if("VL".equals(resourceType)){
- VfResourceInstaller.createNetworkResourceCustomization(vfResourceStructure);
- catalogDB.saveNetworkResourceCustomization(vfResourceStructure.getCatalogNetworkResourceCustomization());
- }
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfResourceStructure(vfResourceStructure));
-
- //catalogDB.saveOrUpdateVnfResource(vfResourceStructure.getCatalogVnfResource());
- catalogDB.saveService(vfResourceStructure.getCatalogService());
-
- // Now that the service has been added we can populate the Service_to_AllottedResources table
- if("VF".equals(resourceType) && "Allotted Resource".equalsIgnoreCase(resourceCategory)){
- catalogDB.saveServiceToAllottedResources(vfResourceStructure.getCatalogServiceToAllottedResources());
- }
-
- // Now that the service has been added we can populate the Service_to_Network table
- if("VL".equals(resourceType)){
- catalogDB.saveServiceToNetworks(vfResourceStructure.getCatalogServiceToNetworks());
- }
-
- for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()) {
-
- // Here we set the right db structure according to the Catalog
- // DB
-
- // We expect only one MAIN HEAT per VFMODULE
- // we can also obtain from it the Env ArtifactInfo, that's why
- // we
- // get the Main IArtifactInfo
-
- HeatTemplate heatMainTemplate = null;
- HeatEnvironment heatEnv = null;
-
- HeatTemplate heatVolumeTemplate = null;
- HeatEnvironment heatVolumeEnv = null;
-
- if (vfModuleStructure.getArtifactsMap().containsKey(ASDCConfiguration.HEAT)) {
- IArtifactInfo mainEnvArtifactInfo = vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT)
- .get(0).getArtifactInfo().getGeneratedArtifact();
-
- // MAIN HEAT
- heatMainTemplate = (HeatTemplate) vfModuleStructure.getArtifactsMap()
- .get(ASDCConfiguration.HEAT).get(0).getCatalogObject();
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo
- .createElementFromVfArtifactInfo(vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT).get(0).getArtifactInfo()));
-
- catalogDB.saveHeatTemplate(heatMainTemplate, heatMainTemplate.getParameters());
- // Indicate we have deployed it in the DB
- vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT).get(0).incrementDeployedInDB();
-
-
- // VOLUME HEAT
- // We expect only one VOL HEAT per VFMODULE
- // we can also obtain from it the Env ArtifactInfo, that's why
- // we get the Volume IArtifactInfo
-
- if (vfModuleStructure.getArtifactsMap().containsKey(ASDCConfiguration.HEAT_VOL)) {
- IArtifactInfo volEnvArtifactInfo = vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0)
- .getArtifactInfo().getGeneratedArtifact();
-
- heatVolumeTemplate = (HeatTemplate) vfModuleStructure.getArtifactsMap()
- .get(ASDCConfiguration.HEAT_VOL).get(0).getCatalogObject();
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0).getArtifactInfo()));
-
- catalogDB.saveHeatTemplate(heatVolumeTemplate, heatVolumeTemplate.getParameters());
- // Indicate we have deployed it in the DB
- vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0).incrementDeployedInDB();
-
- if (volEnvArtifactInfo != null) {
- heatVolumeEnv = (HeatEnvironment) vfResourceStructure.getArtifactsMapByUUID()
- .get(volEnvArtifactInfo.getArtifactUUID()).getCatalogObject();
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(volEnvArtifactInfo));
-
- catalogDB.saveHeatEnvironment(heatVolumeEnv);
- // Indicate we have deployed it in the DB
- vfResourceStructure.getArtifactsMapByUUID().get(volEnvArtifactInfo.getArtifactUUID()).incrementDeployedInDB();
- }
-
- }
-
- // NESTED HEAT
- // Here we expect many HEAT_NESTED template to be there
- // check first if we really have nested heat templates
- if (vfModuleStructure.getArtifactsMap().containsKey(ASDCConfiguration.HEAT_NESTED)) {
- for (VfModuleArtifact heatNestedArtifact : vfModuleStructure.getArtifactsMap()
- .get(ASDCConfiguration.HEAT_NESTED)) {
-
- // Check if this nested is well referenced by the MAIN HEAT
- String parentArtifactType = VfResourceInstaller.identifyParentOfNestedTemplate(vfModuleStructure,heatNestedArtifact);
- HeatTemplate heatNestedTemplate = (HeatTemplate) heatNestedArtifact.getCatalogObject();
-
- if (parentArtifactType != null) {
-
- switch (parentArtifactType) {
- case ASDCConfiguration.HEAT:
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(heatNestedArtifact.getArtifactInfo()));
-
- catalogDB.saveNestedHeatTemplate (heatMainTemplate.getArtifactUuid(), heatNestedTemplate, heatNestedTemplate.getTemplateName());
- // Indicate we have deployed it in the DB
- heatNestedArtifact.incrementDeployedInDB();
- break;
- case ASDCConfiguration.HEAT_VOL:
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(heatNestedArtifact.getArtifactInfo()));
- catalogDB.saveNestedHeatTemplate (heatVolumeTemplate.getArtifactUuid(), heatNestedTemplate, heatNestedTemplate.getTemplateName());
- // Indicate we have deployed it in the DB
- heatNestedArtifact.incrementDeployedInDB();
- break;
-
- default:
- break;
-
- }
- } else { // Assume it belongs to HEAT MAIN
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(heatNestedArtifact.getArtifactInfo()));
-
- catalogDB.saveNestedHeatTemplate (heatMainTemplate.getArtifactUuid(), heatNestedTemplate, heatNestedTemplate.getTemplateName());
- // Indicate we have deployed it in the DB
- heatNestedArtifact.incrementDeployedInDB();
- }
- }
- }
-
- if (mainEnvArtifactInfo != null) {
- heatEnv = (HeatEnvironment) vfResourceStructure.getArtifactsMapByUUID()
- .get(mainEnvArtifactInfo.getArtifactUUID()).getCatalogObject();
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(mainEnvArtifactInfo));
-
- catalogDB.saveHeatEnvironment(heatEnv);
- // Indicate we have deployed it in the DB
- vfResourceStructure.getArtifactsMapByUUID().get(mainEnvArtifactInfo.getArtifactUUID()).incrementDeployedInDB();
- }
-
- }
-
-
- // here we expect one VFModule to be there
-/* VfResourceInstaller.createVfModule(vfModuleStructure,heatMainTemplate, heatVolumeTemplate, heatEnv, heatVolumeEnv);
- VfModule vfModule = vfModuleStructure.getCatalogVfModule();
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfModuleStructure(vfModuleStructure));
-
- catalogDB.saveOrUpdateVfModule(vfModule);
-
- // Here we expect many HEAT_TEMPLATE files to be there
- if (vfModuleStructure.getArtifactsMap().containsKey(ASDCConfiguration.HEAT_ARTIFACT)) {
- for (VfModuleArtifact heatArtifact : vfModuleStructure.getArtifactsMap()
- .get(ASDCConfiguration.HEAT_ARTIFACT)) {
-
- HeatFiles heatFile = (HeatFiles) heatArtifact.getCatalogObject();
-
- // Add this one for logging
- artifactListForLogging.add(ASDCElementInfo.createElementFromVfArtifactInfo(heatArtifact.getArtifactInfo()));
-
-
- catalogDB.saveVfModuleToHeatFiles (vfModule.getArtifactUuid(), heatFile);
- // Indicate we will deploy it in the DB
- heatArtifact.incrementDeployedInDB();
- }
- } */
-
- }
-
- catalogDB.commit();
- vfResourceStructure.setSuccessfulDeployment();
-
- } catch (Exception e) {
-
- Throwable dbExceptionToCapture = e;
- while (!(dbExceptionToCapture instanceof ConstraintViolationException || dbExceptionToCapture instanceof LockAcquisitionException)
- && (dbExceptionToCapture.getCause() != null)) {
- dbExceptionToCapture = dbExceptionToCapture.getCause();
- }
-
- if (dbExceptionToCapture instanceof ConstraintViolationException || dbExceptionToCapture instanceof LockAcquisitionException) {
- logger.warn(MessageEnum.ASDC_ARTIFACT_ALREADY_DEPLOYED, vfResourceStructure.getResourceInstance().getResourceName(),
- vfResourceStructure.getNotification().getServiceVersion(), "", "", MsoLogger.ErrorCode.DataError, "Exception - ASCDC Artifact already deployed", e);
- } else {
- String endEvent = "Exception caught during installation of " + vfResourceStructure.getResourceInstance().getResourceName() + ". Transaction rollback.";
- String elementToLog = (artifactListForLogging.size() > 0 ? artifactListForLogging.get(artifactListForLogging.size()-1).toString() : "No element listed");
- logger.error(MessageEnum.ASDC_ARTIFACT_INSTALL_EXC, elementToLog, "", "", MsoLogger.ErrorCode.DataError, "Exception caught during installation of " + vfResourceStructure.getResourceInstance().getResourceName() + ". Transaction rollback", e);
- catalogDB.rollback();
- throw new ArtifactInstallerException(
- "Exception caught during installation of " + vfResourceStructure.getResourceInstance().getResourceName() + ". Transaction rollback.", e);
- }
-
- } finally {
- catalogDB.close();
- // Debug log the whole collection...
- logger.debug(artifactListForLogging.toString());
- }
-
- }
-
- private static String identifyParentOfNestedTemplate(VfModuleStructure vfModuleStructure,VfModuleArtifact heatNestedArtifact) {
-
- if (vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT) != null
- && vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT).get(0).getArtifactInfo().getRelatedArtifacts() != null) {
- for (IArtifactInfo unknownArtifact : vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT).get(0)
- .getArtifactInfo().getRelatedArtifacts()) {
- if (heatNestedArtifact.getArtifactInfo().getArtifactUUID().equals(unknownArtifact.getArtifactUUID())) {
- return ASDCConfiguration.HEAT;
- }
-
- }
- }
-
- if (vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL) != null
- && vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0).getArtifactInfo().getRelatedArtifacts() != null) {
- for (IArtifactInfo unknownArtifact:vfModuleStructure.getArtifactsMap().get(ASDCConfiguration.HEAT_VOL).get(0).getArtifactInfo().getRelatedArtifacts()) {
- if (heatNestedArtifact.getArtifactInfo().getArtifactUUID().equals(unknownArtifact.getArtifactUUID())) {
- return ASDCConfiguration.HEAT_VOL;
- }
-
- }
- }
-
- // Does not belong to anything
- return null;
-
- }
-
- private static void createVnfResource(VfResourceStructure vfResourceStructure) {
- VnfResource vnfResource = new VnfResource();
-
- vnfResource.setModelUuid(vfResourceStructure.getResourceInstance().getResourceUUID());
- vnfResource.setDescription(vfResourceStructure.getNotification().getServiceDescription());
-
- vnfResource.setOrchestrationMode("HEAT");
- // Set the version but Version is stored into ASDC_SERVICE_MODEL_VERSION
- vnfResource.setVersion(BigDecimalVersion
- .castAndCheckNotificationVersionToString(vfResourceStructure.getNotification().getServiceVersion()));
-// vnfResource.setVnfType(VfResourceInstaller.createVNFName(vfResourceStructure));
- vnfResource.setModelVersion(BigDecimalVersion
- .castAndCheckNotificationVersionToString(vfResourceStructure.getResourceInstance().getResourceVersion()));
-
- vnfResource.setModelInvariantUuid(vfResourceStructure.getResourceInstance().getResourceInvariantUUID());
- vnfResource.setModelVersion(vfResourceStructure.getResourceInstance().getResourceVersion());
-// vnfResource.setModelCustomizationName(vfResourceStructure.getResourceInstance().getResourceInstanceName());
-// vnfResource.setModelCustomizationUuid(vfResourceStructure.getResourceInstance().getResourceCustomizationUUID());
- vnfResource.setModelName(vfResourceStructure.getResourceInstance().getResourceName());
-// vnfResource.setServiceModelInvariantUUID(vfResourceStructure.getNotification().getServiceInvariantUUID());
-
- //vnfResource.setCreated(getCurrentTimeStamp());
-
- vfResourceStructure.setCatalogVnfResource(vnfResource);
- }
-
- private static void createNetworkResourceCustomization(VfResourceStructure vfResourceStructure) {
- NetworkResourceCustomization networkResourceCustomization = new NetworkResourceCustomization();
-
- networkResourceCustomization.setModelCustomizationUuid(vfResourceStructure.getResourceInstance().getResourceCustomizationUUID().trim());
-// networkResourceCustomization.setModelName(vfResourceStructure.getResourceInstance().getResourceName().trim());
- networkResourceCustomization.setModelInstanceName(vfResourceStructure.getResourceInstance().getResourceInstanceName().trim());
-// networkResourceCustomization.setModelInvariantUuid(vfResourceStructure.getResourceInstance().getResourceInvariantUUID().trim());
-// networkResourceCustomization.setModelUuid(vfResourceStructure.getResourceInstance().getResourceUUID().trim());
-// networkResourceCustomization.setModelVersion(vfResourceStructure.getResourceInstance().getResourceVersion().trim());
- //networkResourceCustomization.setCreated(getCurrentTimeStamp());
-
- vfResourceStructure.setCatalogNetworkResourceCustomization(networkResourceCustomization);
-
- ServiceToNetworks serviceNetworks = new ServiceToNetworks();
- serviceNetworks.setNetworkModelCustomizationUuid(networkResourceCustomization.getModelCustomizationUuid());
- serviceNetworks.setServiceModelUuid(vfResourceStructure.getNotification().getServiceUUID());
-
- vfResourceStructure.setCatalogServiceToNetworks(serviceNetworks);
-
- }
-
- private static void createAllottedResourceCustomization(VfResourceStructure vfResourceStructure) {
- AllottedResourceCustomization resourceCustomization = new AllottedResourceCustomization();
-
- resourceCustomization.setModelCustomizationUuid(vfResourceStructure.getResourceInstance().getResourceCustomizationUUID().trim());
-// resourceCustomization.setModelName(vfResourceStructure.getResourceInstance().getResourceName().trim());
- resourceCustomization.setModelInstanceName(vfResourceStructure.getResourceInstance().getResourceInstanceName().trim());
-// resourceCustomization.setModelInvariantUuid(vfResourceStructure.getResourceInstance().getResourceInvariantUUID().trim());
-// resourceCustomization.setModelUuid(vfResourceStructure.getResourceInstance().getResourceUUID().trim());
- resourceCustomization.setVersion(vfResourceStructure.getResourceInstance().getResourceVersion().trim());
- //resourceCustomization.setCreated(getCurrentTimeStamp());
-
- vfResourceStructure.setCatalogResourceCustomization(resourceCustomization);
-
- ServiceToAllottedResources serviceAllottedResources = new ServiceToAllottedResources();
- serviceAllottedResources.setArModelCustomizationUuid(resourceCustomization.getModelCustomizationUuid());
- serviceAllottedResources.setServiceModelUuid(vfResourceStructure.getNotification().getServiceUUID());
-
- vfResourceStructure.setCatalogServiceToAllottedResources(serviceAllottedResources);
-
- }
-
- private static void createVfModule(VfModuleStructure vfModuleStructure,HeatTemplate heatMain, HeatTemplate heatVolume,HeatEnvironment heatEnv, HeatEnvironment heatVolumeEnv) {
- VfModule vfModule = new VfModule();
-// vfModule.setType(createVfModuleName(vfModuleStructure));
-// vfModule.setAsdcUuid(vfModuleStructure.getVfModuleMetadata().getVfModuleModelUUID());
- vfModule.setDescription(vfModuleStructure.getVfModuleMetadata().getVfModuleModelDescription());
-
- if (vfModuleStructure.getVfModuleMetadata().isBase()) {
- vfModule.setIsBase(1);
- } else {
- vfModule.setIsBase(0);
- }
-
-// vfModule.setModelCustomizationUuid(vfModuleStructure.getVfModuleMetadata().getVfModuleModelCustomizationUUID());
- vfModule.setModelInvariantUuid(vfModuleStructure.getVfModuleMetadata().getVfModuleModelInvariantUUID());
- vfModule.setModelName(vfModuleStructure.getVfModuleMetadata().getVfModuleModelName());
-
- vfModule.setVersion(BigDecimalVersion.castAndCheckNotificationVersionToString(vfModuleStructure.getParentVfResource().getNotification().getServiceVersion()));
- vfModule.setModelVersion(BigDecimalVersion.castAndCheckNotificationVersionToString(
- vfModuleStructure.getVfModuleMetadata().getVfModuleModelVersion()));
-
- Map<String,String> map = vfModuleStructure.getVfModuleMetadata().getProperties();
-
- if(map != null){
-
- if(map.get("vf_module_label") != null){
-// vfModule.setLabel(map.get("vf_module_label"));
- }
- if(map.get("initial_count") != null && map.get("initial_count").length() > 0){
-// vfModule.setInitialCount(Integer.parseInt(map.get("initial_count")));
- }
- if(map.get("min_vf_module_instances") != null && map.get("min_vf_module_instances").length() > 0){
-// vfModule.setMinInstances(Integer.parseInt(map.get("min_vf_module_instances")));
- }
- if(map.get("max_vf_module_instances") != null && map.get("max_vf_module_instances").length() > 0){
-// vfModule.setMaxInstances(Integer.parseInt(map.get("max_vf_module_instances")));
- }
-
- }
-
- vfModuleStructure.setCatalogVfModule(vfModule);
-
- VfResourceInstaller.createVfModuleLinks(vfModule, vfModuleStructure.getParentVfResource().getCatalogVnfResource(), heatMain,heatVolume, heatEnv,heatVolumeEnv);
- }
-
- private static void createVfModuleLinks(VfModule vfModule, VnfResource vnfResource, HeatTemplate heatMain,
- HeatTemplate heatVolume, HeatEnvironment heatEnv, HeatEnvironment heatVolumeEnv) {
-
- if (heatMain !=null) {
-// vfModule.setTemplateId(heatMain.getId());
- }
- if (heatEnv != null) {
-// vfModule.setEnvironmentId(heatEnv.getId());
- }
- if (heatVolume != null) {
-// vfModule.setVolTemplateId(heatVolume.getId());
- }
- if (heatVolumeEnv != null) {
-// vfModule.setVolEnvironmentId(heatVolumeEnv.getId());
- }
-
-// vfModule.setVnfResourceId(vnfResource.getId());
-
- }
-
-
- private static Set<HeatTemplateParam> extractHeatTemplateParameters(String yamlFile, String artifactUUID) {
-
- // Scan the payload downloadResult and extract the HeatTemplate
- // parameters
- YamlEditor yamlEditor = new YamlEditor(yamlFile.getBytes());
- return yamlEditor.getParameterList(artifactUUID);
-
- }
-
-
- public static String verifyTheFilePrefixInArtifacts(String filebody, VfResourceStructure vfResourceStructure, List<String> listTypes) {
- String newFileBody = filebody;
- for (VfModuleArtifact moduleArtifact:vfResourceStructure.getArtifactsMapByUUID().values()) {
-
- if (listTypes.contains(moduleArtifact.getArtifactInfo().getArtifactType())) {
-
- newFileBody = verifyTheFilePrefixInString(newFileBody,moduleArtifact.getArtifactInfo().getArtifactName());
- }
- }
- return newFileBody;
- }
-
- public static String verifyTheFilePrefixInString(final String body, final String filenameToVerify) {
-
- String needlePrefix = "file:///";
- String prefixedFilenameToVerify = needlePrefix+filenameToVerify;
-
- if ((body == null) || (body.length() == 0) || (filenameToVerify == null) || (filenameToVerify.length() == 0)) {
- return body;
- }
-
- StringBuilder sb = new StringBuilder(body.length());
-
- int currentIndex = 0;
- int startIndex = 0;
-
- while (currentIndex != -1) {
- startIndex = currentIndex;
- currentIndex = body.indexOf(prefixedFilenameToVerify, startIndex);
-
- if (currentIndex == -1) {
- break;
- }
-
- // We append from the startIndex up to currentIndex (start of File Name)
- sb.append(body.substring(startIndex, currentIndex));
- sb.append(filenameToVerify);
-
- currentIndex += prefixedFilenameToVerify.length();
- }
-
- sb.append(body.substring(startIndex));
-
- return sb.toString();
- }
-
- private static void createHeatTemplateFromArtifact(VfResourceStructure vfResourceStructure,
- VfModuleArtifact vfModuleArtifact) {
- HeatTemplate heatTemplate = new HeatTemplate();
-
- // TODO Set the label
-// heatTemplate.setAsdcLabel("label");
- // Use the ResourceName of the ASDC template because the HEAT could be
- // reused
-// heatTemplate.setAsdcResourceName(vfResourceStructure.getResourceInstance().getResourceName());
- heatTemplate.setAsdcUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
-
- List<String> typeList = new ArrayList<>();
- typeList.add(ASDCConfiguration.HEAT_NESTED);
- typeList.add(ASDCConfiguration.HEAT_ARTIFACT);
-
- heatTemplate.setTemplateBody(verifyTheFilePrefixInArtifacts(vfModuleArtifact.getResult(),vfResourceStructure,typeList));
- heatTemplate.setTemplateName(vfModuleArtifact.getArtifactInfo().getArtifactName());
-
- if (vfModuleArtifact.getArtifactInfo().getArtifactTimeout() != null) {
- heatTemplate.setTimeoutMinutes(vfModuleArtifact.getArtifactInfo().getArtifactTimeout());
- } else {
- heatTemplate.setTimeoutMinutes(240);
- }
-
- heatTemplate.setDescription(vfModuleArtifact.getArtifactInfo().getArtifactDescription());
- heatTemplate.setVersion(BigDecimalVersion
- .castAndCheckNotificationVersionToString(vfModuleArtifact.getArtifactInfo().getArtifactVersion()));
- heatTemplate.setArtifactUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
-
- if(vfModuleArtifact.getArtifactInfo().getArtifactChecksum() != null){
- heatTemplate.setArtifactChecksum(vfModuleArtifact.getArtifactInfo().getArtifactChecksum());
- } else {
- heatTemplate.setArtifactChecksum("MANUAL_RECORD");
- }
-
- Set<HeatTemplateParam> heatParam = VfResourceInstaller
- .extractHeatTemplateParameters(vfModuleArtifact.getResult(), vfModuleArtifact.getArtifactInfo().getArtifactUUID());
- heatTemplate.setParameters(heatParam);
- //heatTemplate.setCreated(getCurrentTimeStamp());
-
- vfModuleArtifact.setCatalogObject(heatTemplate);
- }
-
- private static void createHeatEnvFromArtifact(VfResourceStructure vfResourceStructure,
- VfModuleArtifact vfModuleArtifact) {
- HeatEnvironment heatEnvironment = new HeatEnvironment();
-
- heatEnvironment.setName(vfModuleArtifact.getArtifactInfo().getArtifactName());
- // TODO Set the label
-// heatEnvironment.setAsdcLabel("Label");
-
- List<String> typeList = new ArrayList<>();
- typeList.add(ASDCConfiguration.HEAT);
- typeList.add(ASDCConfiguration.HEAT_VOL);
-
- heatEnvironment.setEnvironment(verifyTheFilePrefixInArtifacts(vfModuleArtifact.getResult(),vfResourceStructure,typeList));
-// heatEnvironment.setAsdcUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
- heatEnvironment.setDescription(vfModuleArtifact.getArtifactInfo().getArtifactDescription());
- heatEnvironment.setVersion(BigDecimalVersion
- .castAndCheckNotificationVersionToString(vfModuleArtifact.getArtifactInfo().getArtifactVersion()));
-// heatEnvironment.setAsdcResourceName(VfResourceInstaller.createVNFName(vfResourceStructure));
- heatEnvironment.setArtifactUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
-
- if(vfModuleArtifact.getArtifactInfo().getArtifactChecksum() != null){
- heatEnvironment.setArtifactChecksum(vfModuleArtifact.getArtifactInfo().getArtifactChecksum());
- } else{
- heatEnvironment.setArtifactChecksum("MANUAL_RECORD");
- }
- //heatEnvironment.setCreated(getCurrentTimeStamp());
-
- vfModuleArtifact.setCatalogObject(heatEnvironment);
-
- }
-
- private static void createHeatFileFromArtifact(VfResourceStructure vfResourceStructure,
- VfModuleArtifact vfModuleArtifact) {
-
- HeatFiles heatFile = new HeatFiles();
- // TODO Set the label
-// heatFile.setAsdcLabel("Label");
- heatFile.setAsdcUuid(vfModuleArtifact.getArtifactInfo().getArtifactUUID());
- heatFile.setDescription(vfModuleArtifact.getArtifactInfo().getArtifactDescription());
- heatFile.setFileBody(vfModuleArtifact.getResult());
- heatFile.setFileName(vfModuleArtifact.getArtifactInfo().getArtifactName());
- heatFile.setVersion(BigDecimalVersion
- .castAndCheckNotificationVersionToString(vfModuleArtifact.getArtifactInfo().getArtifactVersion()));
- //heatFile.setCreated(getCurrentTimeStamp());
-
-// heatFile.setAsdcResourceName(vfResourceStructure.getResourceInstance().getResourceName());
-
- if(vfModuleArtifact.getArtifactInfo().getArtifactChecksum() != null){
- heatFile.setArtifactChecksum(vfModuleArtifact.getArtifactInfo().getArtifactChecksum());
- } else {
- heatFile.setArtifactChecksum("MANUAL_RECORD");
- }
-
- vfModuleArtifact.setCatalogObject(heatFile);
-
- }
-
- private static void createService(VfResourceStructure vfResourceStructure) {
-
- Service service = new Service();
- service.setDescription(vfResourceStructure.getNotification().getServiceDescription());
- service.setModelName(vfResourceStructure.getNotification().getServiceName());
- service.setModelUUID(vfResourceStructure.getNotification().getServiceUUID());
- service.setVersion(vfResourceStructure.getNotification().getServiceVersion());
- service.setModelInvariantUUID(vfResourceStructure.getNotification().getServiceInvariantUUID());
- //service.setCreated(getCurrentTimeStamp());
-
- vfResourceStructure.setCatalogService(service);
- }
-
-
- private static String createVNFName(VfResourceStructure vfResourceStructure) {
-
- return vfResourceStructure.getNotification().getServiceName() + "/" + vfResourceStructure.getResourceInstance().getResourceInstanceName();
- }
-
- private static String createVfModuleName(VfModuleStructure vfModuleStructure) {
-
- return createVNFName(vfModuleStructure.getParentVfResource())+"::"+vfModuleStructure.getVfModuleMetadata().getVfModuleModelName();
- }
-
-
- private static Timestamp getCurrentTimeStamp() {
-
- return new Timestamp(new Date().getTime());
- }
-
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/AaiClientPropertiesImpl.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/AaiClientPropertiesImpl.java
deleted file mode 100644
index be5af5d51f..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/AaiClientPropertiesImpl.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*-
- * ============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.asdc.tenantIsolation;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.openecomp.mso.asdc.tenantIsolation.AsdcPropertiesUtils;
-import org.openecomp.mso.client.aai.AAIProperties;
-import org.openecomp.mso.client.aai.AAIVersion;
-import org.openecomp.mso.properties.MsoJavaProperties;
-
-public class AaiClientPropertiesImpl implements AAIProperties {
-
- final MsoJavaProperties props;
- public AaiClientPropertiesImpl() {
- this.props = AsdcPropertiesUtils.loadMsoProperties ();
- }
-
- @Override
- public URL getEndpoint() throws MalformedURLException {
- return new URL(props.getProperty("aai.endpoint", null));
- }
-
- @Override
- public String getSystemName() {
- return "MSO";
- }
-
- @Override
- public AAIVersion getDefaultVersion() {
- return AAIVersion.LATEST;
- }
-
- @Override
- public String getAuth() {
- return props.getProperty("aai.auth", null);
- }
-
- @Override
- public String getKey() {
- return props.getProperty("mso.msoKey", null);
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/AsdcPropertiesUtils.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/AsdcPropertiesUtils.java
deleted file mode 100644
index 462ef0d51d..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/AsdcPropertiesUtils.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*-
- * ============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.asdc.tenantIsolation;
-
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoJavaProperties;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-
-public class AsdcPropertiesUtils {
-
- public final static String MSO_ASDC_CLIENTS = "MSO_ASDC_CLIENTS";
-
- private static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory ();
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
-
- private static boolean noProperties = true;
-
- public synchronized static MsoJavaProperties loadMsoProperties () {
- MsoJavaProperties msoProperties;
- try {
- msoProperties = msoPropertiesFactory.getMsoJavaProperties (MSO_ASDC_CLIENTS);
- } catch (Exception e) {
- msoLogger.error (MessageEnum.ASDC_PROPERTIES_NOT_FOUND, MSO_ASDC_CLIENTS, "", "", MsoLogger.ErrorCode.DataError, "Exception when loading MSO ASDC Clients Properties", e);
- return null;
- }
-
- if (msoProperties != null && msoProperties.size () > 0) {
- noProperties = false;
- msoLogger.info (MessageEnum.ASDC_PROPERTIES_LOAD_SUCCESS, "", "");
- return msoProperties;
- } else {
- msoLogger.error (MessageEnum.ASDC_PROPERTIES_NOT_FOUND, MSO_ASDC_CLIENTS, "", "", MsoLogger.ErrorCode.DataError, "No MSO ASDC Clients Properties found");
- return null;
- }
- }
-
- public synchronized static final boolean getNoPropertiesState() {
- return noProperties;
- }
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/DistributionStatus.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/DistributionStatus.java
deleted file mode 100644
index 4d04bfa59a..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/DistributionStatus.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============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.asdc.tenantIsolation;
-
-public enum DistributionStatus {
-
- SUCCESS,
- FAILURE,
- TIMEOUT,
- INCOMPLETE
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/WatchdogDistribution.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/WatchdogDistribution.java
deleted file mode 100644
index 6efcd64204..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/tenantIsolation/WatchdogDistribution.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*-
- * ============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.asdc.tenantIsolation;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.mso.asdc.client.ASDCConfiguration;
-import org.openecomp.mso.client.aai.AAIObjectType;
-import org.openecomp.mso.client.aai.AAIResourcesClient;
-import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri;
-import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
-import org.openecomp.mso.client.aai.entities.uri.Depth;
-import org.openecomp.mso.db.catalog.CatalogDatabase;
-import org.openecomp.mso.db.catalog.beans.Service;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoJsonProperties;
-import org.openecomp.mso.properties.MsoPropertiesException;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-import org.openecomp.mso.requestsdb.WatchdogComponentDistributionStatus;
-import org.openecomp.mso.requestsdb.WatchdogComponentDistributionStatusDb;
-import org.openecomp.mso.requestsdb.WatchdogDistributionStatusDb;
-import org.openecomp.mso.requestsdb.WatchdogServiceModVerIdLookupDb;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-public class WatchdogDistribution {
-
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
- private static final String MSO_PROP_ASDC = "MSO_PROP_ASDC";
- private static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
- private WatchdogDistributionStatusDb watchdogDistDb;
- private WatchdogComponentDistributionStatusDb watchdogCompDistDb;
- private WatchdogServiceModVerIdLookupDb watchdogSerlookupDb;
- private CatalogDatabase catalogDb;
- private AAIResourcesClient aaiClient;
- //protected ASDCConfiguration asdcConfig;
-
- public String getOverallDistributionStatus(String distributionId) throws MsoPropertiesException, Exception {
- LOGGER.debug("Entered getOverallDistributionStatus method for distrubutionId: " + distributionId);
-
- String status = null;
- try {
- String distributionStatus = getWatchdogDistDb().getWatchdogDistributionIdStatus(distributionId);
-
- if(DistributionStatus.TIMEOUT.name().equalsIgnoreCase(distributionStatus)) {
- LOGGER.debug("Ignoring to update WatchdogDistributionStatus as distributionId: " + distributionId + " status is set to: " + distributionStatus);
- return DistributionStatus.TIMEOUT.name();
- } else {
- List<WatchdogComponentDistributionStatus> results = getWatchdogCompDistDb().getWatchdogComponentDistributionStatus(distributionId);
- LOGGER.debug("Executed RequestDB getWatchdogComponentDistributionStatus for distrubutionId: " + distributionId);
-
- MsoJsonProperties properties = msoPropertiesFactory.getMsoJsonProperties(MSO_PROP_ASDC);
-
- //*************************************************************************************************************************************************
- //**** Compare config values verse DB watchdog component names to see if every component has reported status before returning final result back to ASDC
- //**************************************************************************************************************************************************
-
- //List<String> configNames = asdcConfig.getComponentNames();
-
- List<String> dbNames = watchdogCompDistDb.getWatchdogComponentNames(distributionId);
-
- boolean allComponentsComplete = true;
-
- JsonNode masterConfigNode = properties.getJsonRootNode().get("componentNames");
-
- if (masterConfigNode != null) {
-
- Iterator<JsonNode> config = masterConfigNode.elements();
-
- while( config.hasNext() ) {
- String name = (String)config.next().asText();
-
- boolean match = false;
-
- for(String dbName: dbNames){
-
- if(name.equals(dbName)){
- LOGGER.debug("Found componentName " + name + " in the WatchDog Component DB");
- match = true;
- break;
- }
- }
-
- if(match==false){
- LOGGER.debug(name + " has not be updated in the the WatchDog Component DB yet, so ending the loop");
- allComponentsComplete = false;
- break;
- }
-
- }
-
- }
-
- if(allComponentsComplete) {
- //if(node.asInt() == results.size()) {
- LOGGER.debug("Components Size matched with the WatchdogComponentDistributionStatus results.");
-
- for(WatchdogComponentDistributionStatus componentDist : results) {
- String componentDistributionStatus = componentDist.getComponentDistributionStatus();
- LOGGER.debug("Component status: " + componentDistributionStatus + " on componentName: " + componentDist.getComponentName());
- if(componentDistributionStatus.equalsIgnoreCase("COMPONENT_DONE_ERROR")) {
- status = DistributionStatus.FAILURE.name();
- break;
- } else if(componentDistributionStatus.equalsIgnoreCase("COMPONENT_DONE_OK")) {
- status = DistributionStatus.SUCCESS.name();
- } else {
- throw new Exception("Invalid Component distribution status: " + componentDistributionStatus);
- }
- }
-
- LOGGER.debug("Updating overall DistributionStatus to: " + status + " for distributionId: " + distributionId);
- getWatchdogDistDb().updateWatchdogDistributionIdStatus(distributionId, status);
- } else {
- LOGGER.debug("Components Size Didn't match with the WatchdogComponentDistributionStatus results.");
- status = DistributionStatus.INCOMPLETE.name();
- return status;
- }
- }
- } catch (MsoPropertiesException e) {
- String error = "Error occurred when trying to load MSOJson Properties.";
- LOGGER.debug(error);
- throw new MsoPropertiesException(e.getMessage());
- } catch (Exception e) {
- LOGGER.debug("Exception occurred on getOverallDistributionStatus : " + e.getMessage());
- throw new Exception(e);
- }
-
- LOGGER.debug("Exciting getOverallDistributionStatus method in WatchdogDistribution");
- return status;
- }
-
- public void executePatchAAI(String distributionId, String serviceModelInvariantUUID, String distributionStatus) throws Exception {
- LOGGER.debug("Entered executePatchAAI method with distrubutionId: " + distributionId + " and distributionStatus: " + distributionStatus);
-
- try {
- String serviceModelVersionId = getWatchdogSerlookupDb().getWatchdogServiceModVerId(distributionId);
- LOGGER.debug("Executed RequestDB getWatchdogServiceModVerIdLookup with distributionId: " + distributionId + " and serviceModelVersionId: " + serviceModelVersionId);
-
- LOGGER.debug("ASDC Notification ServiceModelInvariantUUID : " + serviceModelInvariantUUID);
-
- if(serviceModelInvariantUUID == null) {
- String error = "No Service found with serviceModelInvariantUUID: " + serviceModelInvariantUUID;
- LOGGER.debug(error);
- throw new Exception(error);
- }
-
- AAIResourceUri aaiUri = AAIUriFactory.createResourceUri(AAIObjectType.MODEL_VER, serviceModelInvariantUUID, serviceModelVersionId);
- aaiUri.depth(Depth.ZERO); //Do not return relationships if any
- LOGGER.debug("Target A&AI Resource URI: " + aaiUri.build().toString());
-
- Map<String, String> payload = new HashMap<>();
- payload.put("distribution-status", distributionStatus);
- getAaiClient().update(aaiUri, payload);
-
- LOGGER.debug("A&AI UPDATE MODEL Version is success!");
- } catch (Exception e) {
- LOGGER.debug("Exception occurred on executePatchAAI : " + e.getMessage());
- throw new Exception(e);
- }
- }
-
- public WatchdogDistributionStatusDb getWatchdogDistDb() {
- if(watchdogDistDb == null) {
- watchdogDistDb = WatchdogDistributionStatusDb.getInstance();
- }
- return watchdogDistDb;
- }
-
- public void setWatchdogDistDb(WatchdogDistributionStatusDb watchdogDistDb) {
- this.watchdogDistDb = watchdogDistDb;
- }
-
- public WatchdogComponentDistributionStatusDb getWatchdogCompDistDb() {
- if(watchdogCompDistDb == null) {
- watchdogCompDistDb = WatchdogComponentDistributionStatusDb.getInstance();
- }
- return watchdogCompDistDb;
- }
-
- public void setWatchdogCompDistDb(WatchdogComponentDistributionStatusDb watchdogCompDistDb) {
- this.watchdogCompDistDb = watchdogCompDistDb;
- }
-
- public WatchdogServiceModVerIdLookupDb getWatchdogSerlookupDb() {
- if(watchdogSerlookupDb == null) {
- watchdogSerlookupDb = WatchdogServiceModVerIdLookupDb.getInstance();
- }
- return watchdogSerlookupDb;
- }
-
- public void setWatchdogSerlookupDb(WatchdogServiceModVerIdLookupDb watchdogSerlookupDb) {
- this.watchdogSerlookupDb = watchdogSerlookupDb;
- }
-
- public CatalogDatabase getCatalogDb() {
- if(catalogDb == null) {
- catalogDb = CatalogDatabase.getInstance();
- }
- return catalogDb;
- }
-
- public void setCatalogDb(CatalogDatabase catalogDb) {
- this.catalogDb = catalogDb;
- }
-
- public AAIResourcesClient getAaiClient() {
- if(aaiClient == null) {
- aaiClient = new AAIResourcesClient();
- }
- return aaiClient;
- }
-
- public void setAaiClient(AAIResourcesClient aaiClient) {
- this.aaiClient = aaiClient;
- }
-
-}
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
deleted file mode 100644
index 834ad603a6..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ASDCNotificationLogging.java
+++ /dev/null
@@ -1,525 +0,0 @@
-/*-
- * ============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.asdc.util;
-
-
-import java.util.List;
-import java.util.Map;
-
-import org.onap.sdc.api.notification.IArtifactInfo;
-import org.onap.sdc.api.notification.INotificationData;
-import org.onap.sdc.api.notification.IResourceInstance;
-import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
-import org.onap.sdc.tosca.parser.impl.SdcPropertyNames;
-import org.onap.sdc.toscaparser.api.Group;
-import org.onap.sdc.toscaparser.api.NodeTemplate;
-import org.onap.sdc.toscaparser.api.elements.Metadata;
-import org.openecomp.mso.asdc.installer.IVfModuleData;
-import org.openecomp.mso.asdc.installer.ToscaResourceStructure;
-
-public class ASDCNotificationLogging {
-
- public static String dumpASDCNotification(INotificationData asdcNotification) {
-
- if (asdcNotification == null) {
- return "NULL";
- }
- return "ASDC Notification:" + System.lineSeparator() +
- "DistributionID:" + testNull(asdcNotification.getDistributionID()) + System.lineSeparator() +
- "ServiceName:" + testNull(asdcNotification.getServiceName()) + System.lineSeparator() +
- "ServiceVersion:" + testNull(asdcNotification.getServiceVersion()) + System.lineSeparator() +
- "ServiceUUID:" + testNull(asdcNotification.getServiceUUID()) + System.lineSeparator() +
- "ServiceInvariantUUID:" + testNull(asdcNotification.getServiceInvariantUUID()) + System.lineSeparator() +
- "ServiceDescription:" + testNull(asdcNotification.getServiceDescription()) + System.lineSeparator() +
- "Service Artifacts List:" + System.lineSeparator() + testNull(dumpArtifactInfoList(asdcNotification.getServiceArtifacts())) + System.lineSeparator() +
- "Resource Instances List:" + System.lineSeparator() + testNull(dumpASDCResourcesList(asdcNotification)) + System.lineSeparator();
- }
-
- public static String dumpCSARNotification(INotificationData asdcNotification, ToscaResourceStructure toscaResourceStructure) {
-
- if (asdcNotification == null) {
- return "NULL";
- }
-
-
- StringBuilder buffer = new StringBuilder("CSAR Notification:");
- buffer.append(System.lineSeparator());
- buffer.append(System.lineSeparator());
-
-
- ISdcCsarHelper csarHelper = toscaResourceStructure.getSdcCsarHelper();
-
-
- buffer.append("Service Level Properties:");
- buffer.append(System.lineSeparator());
- buffer.append("Name:");
- buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
- buffer.append(System.lineSeparator());
- buffer.append("Description:");
- buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
- buffer.append(System.lineSeparator());
- buffer.append("Model UUID:");
- buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
- buffer.append(System.lineSeparator());
- buffer.append("Model Version:");
- buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
- buffer.append(System.lineSeparator());
- buffer.append("Model InvariantUuid:");
- buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
- buffer.append(System.lineSeparator());
- buffer.append("Service Type:");
- buffer.append(csarHelper.getServiceMetadata().getValue("serviceType"));
- buffer.append(System.lineSeparator());
- buffer.append("Service Role:");
- buffer.append(csarHelper.getServiceMetadata().getValue("serviceRole"));
- buffer.append(System.lineSeparator());
- buffer.append("WorkLoad Context:");
- buffer.append(asdcNotification.getWorkloadContext());
- buffer.append(System.lineSeparator());
- buffer.append("Environment Context:");
- buffer.append(csarHelper.getServiceMetadata().getValue("environmentContext"));
-
- buffer.append(System.lineSeparator());
- buffer.append(System.lineSeparator());
- buffer.append("VNF Level Properties:");
- buffer.append(System.lineSeparator());
-
- List<NodeTemplate> vfNodeTemplatesList = toscaResourceStructure.getSdcCsarHelper().getServiceVfList();
- for (NodeTemplate vfNodeTemplate : vfNodeTemplatesList) {
-
- buffer.append("Model Name:");
- buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
- buffer.append(System.lineSeparator());
- buffer.append("Description:");
- buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
- buffer.append(System.lineSeparator());
- buffer.append("Version:");
- buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
- buffer.append(System.lineSeparator());
- buffer.append("Type:");
- buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
- buffer.append(System.lineSeparator());
- buffer.append("InvariantUuid:");
- buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
- buffer.append(System.lineSeparator());
- buffer.append("Max Instances:");
- buffer.append(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES));
- buffer.append(System.lineSeparator());
- buffer.append("Min Instances:");
- buffer.append(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES));
- buffer.append(System.lineSeparator());
-
- buffer.append(System.lineSeparator());
- buffer.append("VNF Customization Properties:");
- buffer.append(System.lineSeparator());
-
- buffer.append("Customization UUID:");
- buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
- buffer.append(System.lineSeparator());
- buffer.append("NFFunction:");
- buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
- buffer.append(System.lineSeparator());
- buffer.append("NFCode:");
- buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, "nf_naming_code"));
- buffer.append(System.lineSeparator());
- buffer.append("NFRole:");
- buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE));
- buffer.append(System.lineSeparator());
- buffer.append("NFType:");
- buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
- buffer.append(System.lineSeparator());
- buffer.append("MultiStageDesign:");
- buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, "multi_stage_design"));
-
- buffer.append(System.lineSeparator());
- buffer.append("VF Module Properties:");
- buffer.append(System.lineSeparator());
- List<Group> vfGroups = toscaResourceStructure.getSdcCsarHelper().getVfModulesByVf(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
-
- for(Group group : vfGroups){
-
- Metadata vfMetadata = group.getMetadata();
-
- buffer.append("ModelInvariantUuid:");
- buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)));
- buffer.append(System.lineSeparator());
- buffer.append("ModelName:");
- buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELNAME)));
- buffer.append(System.lineSeparator());
- buffer.append("ModelUuid:");
- buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID)));
- buffer.append(System.lineSeparator());
- buffer.append("ModelVersion:");
- buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELVERSION)));
- buffer.append(System.lineSeparator());
- buffer.append("Description:");
- buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
- buffer.append(System.lineSeparator());
- }
-
- }
-
-
- List<NodeTemplate> nodeTemplatesVLList = toscaResourceStructure.getSdcCsarHelper().getServiceVlList();
-
- if(nodeTemplatesVLList != null){
-
- buffer.append(System.lineSeparator());
- buffer.append("NETWORK Level Properties:");
- buffer.append(System.lineSeparator());
-
- for(NodeTemplate vlNode : nodeTemplatesVLList){
-
- buffer.append("Model Name:");
- buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
- buffer.append(System.lineSeparator());
- buffer.append("Model InvariantUuid:");
- buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
- buffer.append(System.lineSeparator());
- buffer.append("Model UUID:");
- buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
- buffer.append(System.lineSeparator());
- buffer.append("Model Version:");
- buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
- buffer.append(System.lineSeparator());
- buffer.append("AIC Max Version:");
- buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
- buffer.append(System.lineSeparator());
- buffer.append("AIC Min Version:");
- buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
- buffer.append(System.lineSeparator());
- buffer.append("Tosca Node Type:");
- buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
- buffer.append(System.lineSeparator());
- buffer.append("Description:");
- buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
- buffer.append(System.lineSeparator());
-
- }
-
- }
-
- List<NodeTemplate> allottedResourceList = toscaResourceStructure.getSdcCsarHelper().getAllottedResources();
-
- if(allottedResourceList != null){
-
- buffer.append(System.lineSeparator());
- buffer.append("Allotted Resource Properties:");
- buffer.append(System.lineSeparator());
-
- for(NodeTemplate allottedNode : allottedResourceList){
-
- buffer.append("Model Name:");
- buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
- buffer.append(System.lineSeparator());
- buffer.append("Model Name:");
- buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
- buffer.append(System.lineSeparator());
- buffer.append("Model InvariantUuid:");
- buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
- buffer.append(System.lineSeparator());
- buffer.append("Model Version:");
- buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
- buffer.append(System.lineSeparator());
- buffer.append("Model UUID:");
- buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
- buffer.append(System.lineSeparator());
- buffer.append("Model Subcategory:");
- buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
- buffer.append(System.lineSeparator());
- buffer.append("Model Description:");
- buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
- buffer.append(System.lineSeparator());
-
-
- buffer.append("Allotted Resource Customization Properties:");
- buffer.append(System.lineSeparator());
-
- buffer.append("Model Cutomization UUID:");
- buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
- buffer.append(System.lineSeparator());
- buffer.append("NFFunction:");
- buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
- buffer.append(System.lineSeparator());
- buffer.append("NFCode:");
- buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, "nf_naming_code"));
- buffer.append(System.lineSeparator());
- buffer.append("NFRole:");
- buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFROLE));
- buffer.append(System.lineSeparator());
- buffer.append("NFType:");
- buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
- buffer.append(System.lineSeparator());
-
-
- }
- }
-
-
- return buffer.toString();
- }
-
- public static String dumpVfModuleMetaDataList(List<IVfModuleData> moduleMetaDataList) {
- if (moduleMetaDataList == null ) {
- return null;
- }
-
- StringBuilder buffer = new StringBuilder("VfModuleMetaData List:");
- buffer.append(System.lineSeparator());
-
- buffer.append("{");
-
- for (IVfModuleData moduleMetaData:moduleMetaDataList) {
- buffer.append(System.lineSeparator());
- buffer.append(testNull(dumpVfModuleMetaData(moduleMetaData)));
- buffer.append(System.lineSeparator());
- buffer.append(",");
-
- }
- buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
- buffer.append("}");
- buffer.append(System.lineSeparator());
-
- return buffer.toString();
- }
-
- private static String dumpVfModuleMetaData(IVfModuleData moduleMetaData) {
-
- if (moduleMetaData == null ) {
- return "NULL";
- }
-
- StringBuilder stringBuilder = new StringBuilder("VfModuleMetaData:");
- stringBuilder.append(System.lineSeparator());
-
- stringBuilder.append("VfModuleModelName:");
- stringBuilder.append(testNull(moduleMetaData.getVfModuleModelName()));
- stringBuilder.append(System.lineSeparator());
-
- stringBuilder.append("VfModuleModelVersion:");
- stringBuilder.append(testNull(moduleMetaData.getVfModuleModelVersion()));
- stringBuilder.append(System.lineSeparator());
-
- stringBuilder.append("VfModuleModelUUID:");
- stringBuilder.append(testNull(moduleMetaData.getVfModuleModelUUID()));
- stringBuilder.append(System.lineSeparator());
-
- stringBuilder.append("VfModuleModelInvariantUUID:");
- stringBuilder.append(testNull(moduleMetaData.getVfModuleModelInvariantUUID()));
- stringBuilder.append(System.lineSeparator());
-
- stringBuilder.append("VfModuleModelDescription:");
- stringBuilder.append(testNull(moduleMetaData.getVfModuleModelDescription()));
- stringBuilder.append(System.lineSeparator());
-
- stringBuilder.append("Artifacts UUID List:");
-
- if (moduleMetaData.getArtifacts() != null) {
- stringBuilder.append("{");
-
- for (String artifactUUID:moduleMetaData.getArtifacts()) {
- stringBuilder.append(System.lineSeparator());
- stringBuilder.append(testNull(artifactUUID));
- stringBuilder.append(System.lineSeparator());
- stringBuilder.append(",");
- }
- stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator());
- stringBuilder.append("}");
- stringBuilder.append(System.lineSeparator());
- } else {
- stringBuilder.append("NULL");
- }
-
- if (moduleMetaData.getProperties() != null) {
- Map<String, String> vfModuleMap = moduleMetaData.getProperties();
- stringBuilder.append("Properties List:");
- stringBuilder.append("{");
-
- for (Map.Entry<String, String> entry : vfModuleMap.entrySet()) {
- stringBuilder.append(System.lineSeparator());
- stringBuilder.append(" ").append(entry.getKey()).append(" : ").append(entry.getValue());
- }
- stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator());
- stringBuilder.append("}");
- stringBuilder.append(System.lineSeparator());
- } else {
- stringBuilder.append("NULL");
- }
-
-
- stringBuilder.append(System.lineSeparator());
-
- stringBuilder.append("isBase:");
- stringBuilder.append(moduleMetaData.isBase());
- stringBuilder.append(System.lineSeparator());
-
- return stringBuilder.toString();
- }
-
- private static String testNull(Object object) {
- if (object == null) {
- return "NULL";
- } else if (object instanceof Integer) {
- return object.toString();
- } else if (object instanceof String) {
- return (String)object;
- } else {
- return "Type not recognized";
- }
- }
-
- private static String dumpASDCResourcesList(INotificationData asdcNotification) {
- if (asdcNotification == null || asdcNotification.getResources() == null) {
- return null;
- }
-
- StringBuilder buffer = new StringBuilder();
- buffer.append("{");
-
- for (IResourceInstance resourceInstanceElem:asdcNotification.getResources()) {
- buffer.append(System.lineSeparator());
- buffer.append(testNull(dumpASDCResourceInstance(resourceInstanceElem)));
- buffer.append(System.lineSeparator());
- buffer.append(",");
- }
- buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
- buffer.append("}");
- buffer.append(System.lineSeparator());
-
- return buffer.toString();
-
- }
-
- private static String dumpASDCResourceInstance(IResourceInstance resourceInstance) {
-
- if (resourceInstance == null) {
- return null;
- }
-
- return "Resource Instance Info:" + System.lineSeparator() +
- "ResourceInstanceName:" + testNull(resourceInstance.getResourceInstanceName()) + System.lineSeparator() +
- "ResourceCustomizationUUID:" + testNull(resourceInstance.getResourceCustomizationUUID()) + System.lineSeparator() +
- "ResourceInvariantUUID:" + testNull(resourceInstance.getResourceInvariantUUID()) + System.lineSeparator() +
- "ResourceName:" + testNull(resourceInstance.getResourceName()) + System.lineSeparator() +
- "ResourceType:" + testNull(resourceInstance.getResourceType()) + System.lineSeparator() +
- "ResourceUUID:" + testNull(resourceInstance.getResourceUUID()) + System.lineSeparator() +
- "ResourceVersion:" + testNull(resourceInstance.getResourceVersion()) + System.lineSeparator() +
- "Category:" + testNull(resourceInstance.getCategory()) + System.lineSeparator() +
- "SubCategory:" + testNull(resourceInstance.getSubcategory()) + System.lineSeparator() +
- "Resource Artifacts List:" + System.lineSeparator() + testNull(dumpArtifactInfoList(resourceInstance.getArtifacts())) + System.lineSeparator();
- }
-
-
- private static String dumpArtifactInfoList(List<IArtifactInfo> artifactsList) {
-
- if (artifactsList == null || artifactsList.isEmpty()) {
- return null;
- }
-
- StringBuilder buffer = new StringBuilder();
- buffer.append("{");
- for (IArtifactInfo artifactInfoElem:artifactsList) {
- buffer.append(System.lineSeparator());
- buffer.append(testNull(dumpASDCArtifactInfo(artifactInfoElem)));
- buffer.append(System.lineSeparator());
- buffer.append(",");
-
- }
- buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
- buffer.append("}");
- buffer.append(System.lineSeparator());
-
- return buffer.toString();
- }
-
- private static String dumpASDCArtifactInfo(IArtifactInfo artifactInfo) {
-
- if (artifactInfo == null) {
- return null;
- }
-
- StringBuilder buffer = new StringBuilder("Service Artifacts Info:");
- buffer.append(System.lineSeparator());
-
- buffer.append("ArtifactName:");
- buffer.append(testNull(artifactInfo.getArtifactName()));
- buffer.append(System.lineSeparator());
-
- buffer.append("ArtifactVersion:");
- buffer.append(testNull(artifactInfo.getArtifactVersion()));
- buffer.append(System.lineSeparator());
-
- buffer.append("ArtifactType:");
- buffer.append(testNull(artifactInfo.getArtifactType()));
- buffer.append(System.lineSeparator());
-
- buffer.append("ArtifactDescription:");
- buffer.append(testNull(artifactInfo.getArtifactDescription()));
- buffer.append(System.lineSeparator());
-
- buffer.append("ArtifactTimeout:");
- buffer.append(testNull(artifactInfo.getArtifactTimeout()));
- buffer.append(System.lineSeparator());
-
- buffer.append("ArtifactURL:");
- buffer.append(testNull(artifactInfo.getArtifactURL()));
- buffer.append(System.lineSeparator());
-
- buffer.append("ArtifactUUID:");
- buffer.append(testNull(artifactInfo.getArtifactUUID()));
- buffer.append(System.lineSeparator());
-
- buffer.append("ArtifactChecksum:");
- buffer.append(testNull(artifactInfo.getArtifactChecksum()));
- buffer.append(System.lineSeparator());
-
- buffer.append("GeneratedArtifact:");
- buffer.append("{");
- buffer.append(testNull(dumpASDCArtifactInfo(artifactInfo.getGeneratedArtifact())));
- buffer.append(System.lineSeparator());
- buffer.append("}");
- buffer.append(System.lineSeparator());
-
- buffer.append("RelatedArtifacts:");
-
-
- if (artifactInfo.getRelatedArtifacts() != null) {
- buffer.append("{");
- buffer.append(System.lineSeparator());
- for (IArtifactInfo artifactInfoElem:artifactInfo.getRelatedArtifacts()) {
-
- buffer.append(testNull(dumpASDCArtifactInfo(artifactInfoElem)));
- buffer.append(System.lineSeparator());
- buffer.append(",");
-
- }
- buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
- buffer.append("}");
- buffer.append(System.lineSeparator());
- } else {
- buffer.append("NULL");
- }
-
- buffer.append(System.lineSeparator());
-
- return buffer.toString();
- }
-}
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
deleted file mode 100644
index 617eefb0ae..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright (C) 2017 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.asdc.util;
-
-
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.Proxy;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.mso.logger.MsoLogger;
-import org.onap.sdc.api.notification.INotificationData;
-
-
-public class NotificationLogging implements InvocationHandler {
-
- private static Map<Object, List<Method>> objectMethodsToLog = new HashMap<>();
-
- protected static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
-
- private static InvocationHandler handler = (arg0, arg1, arg2) -> {
- List<Method> methods = objectMethodsToLog.get(arg0);
- if ((methods == null) || (methods.isEmpty())) {
- // Do nothing for now...
- return null;
- }
- methods.add(arg1);
- return arg1.invoke(arg0, arg2);
- };
-
- public static InvocationHandler getHandler() {
- return handler;
- }
-
- /**
- *
- */
- private NotificationLogging() {}
-
- private static final String[] GETTER_PREFIXES = { "get", "is" };
-
- public static String logNotification(INotificationData iNotif) {
- if (iNotif == null) {
- return "NULL";
- }
-
- Class<? extends INotificationData> clazz = iNotif.getClass();
-
- Method[] declaredMethods = clazz.getDeclaredMethods();
-
- if (declaredMethods == null || declaredMethods.length == 0) {
- return "EMPTY"; // No declared methods in this class !!!
- }
-
- StringBuilder buffer = new StringBuilder("ASDC Notification:");
- buffer.append(System.lineSeparator());
-
- for (Method m : declaredMethods) {
- if ((m != null) && isGetter(m)) {
- for (String prefix : GETTER_PREFIXES) {
- if (m.getName().startsWith(prefix)) {
- buffer.append(m.getName().substring(prefix.length()));
- break;
- }
- }
- try {
- buffer.append(testNull(m.invoke(iNotif, (Object[])null)));
- } catch (IllegalAccessException | IllegalArgumentException
- | InvocationTargetException e) {
- LOGGER.debug("Exception :"+e);
- buffer.append("UNREADABLE");
- }
- buffer.append(System.lineSeparator());
- }
- }
-
- return buffer.toString();
- }
-
- private static boolean isGetter(Method method) {
-
- // Must start with a valid (and known) prefix
- boolean prefixFound = false;
- for (String prefix : GETTER_PREFIXES) {
- if (method.getName().startsWith(prefix)) {
- prefixFound = true;
- break;
- }
- }
- if (!prefixFound) {
- return false;
- }
-
- // Must not take any input arguments
- if (method.getParameterTypes().length != 0) {
- return false;
- }
-
- // Must not have return type 'void'
- if (void.class.equals(method.getReturnType())) {
- return false;
- }
-
- // Must be public
- if (!Modifier.isPublic(method.getModifiers())) {
- return false;
- }
-
- return true;
- }
-
- private static String testNull(Object object) {
- if (object == null) {
- return "NULL";
- } else if (object instanceof Integer) {
- return object.toString();
- } else if (object instanceof String) {
- return (String) object;
- } else {
- return "Type not recognized";
- }
- }
-
- private static void registerForLog(INotificationData objectToLog) {
- INotificationData proxy = (INotificationData) Proxy.newProxyInstance(
- INotificationData.class.getClassLoader(),
- new Class[] { INotificationData.class },
- NotificationLogging.getHandler());
- objectMethodsToLog.put(proxy, new ArrayList<>());
- }
-
- private static <T> void methodToLog(T methodCall) {
- //
- }
-
- @Override
- public Object invoke(Object proxy, Method method, Object[] args)
- throws Throwable {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ToLog.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ToLog.java
deleted file mode 100644
index 59b3d68d2a..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/ToLog.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============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.asdc.util;
-
-
-
-
-public @interface ToLog {
-
-}
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
deleted file mode 100644
index f6f1af5da6..0000000000
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/YamlEditor.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*-
- * ============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.asdc.util;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.yaml.snakeyaml.Yaml;
-
-import org.openecomp.mso.db.catalog.beans.HeatTemplateParam;
-
-public class YamlEditor {
-
- private static final String REFER_PATTERN = "file:///";
- private Map <String, Object> yml;
- private Yaml yaml = new Yaml ();
-
- public YamlEditor () {
-
- }
-
- public YamlEditor (byte[] body) {
- init (body);
- }
-
- @SuppressWarnings("unchecked")
- private synchronized void init (byte[] body) {
- InputStream input = new ByteArrayInputStream (body);
- yml = (Map <String, Object>) yaml.load (input);
- }
-
- public synchronized List <String> getYamlNestedFileResourceTypeList () {
- List <String> typeList = new ArrayList<>();
-
- @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 ();
- @SuppressWarnings("unchecked")
- Map <String, String> resourceEntry = (Map <String, String>) pair.getValue ();
- String type = resourceEntry.get ("type");
-
- if (type.contains (REFER_PATTERN)) {
- typeList.add (type);
- }
- it.remove (); // avoids a ConcurrentModificationException
- }
- return typeList;
- }
-
- public synchronized List <String> getYamlResourceTypeList () {
- List <String> typeList = new ArrayList<>();
-
- @SuppressWarnings("unchecked")
- Map <String, Object> resourceMap = (Map <String, Object>) yml.get ("resources");
- for (Entry<String, Object> pair : resourceMap.entrySet()) {
- @SuppressWarnings("unchecked")
- Map<String, String> resourceEntry = (Map<String, String>) pair.getValue();
- typeList.add(resourceEntry.get("type"));
- }
- return typeList;
- }
-
- // Generate the parameter list based on the Heat Template
- // Based on the email from Ella Kvetny:
- // Within Heat Template, under parameters catalog, it might indicate the default value of the parameter
- // If default value exist, the parameter is not mandatory, otherwise its value should be set
- public synchronized Set <HeatTemplateParam> getParameterList (String artifactUUID) {
- Set <HeatTemplateParam> paramSet = new HashSet<>();
- @SuppressWarnings("unchecked")
- Map <String, Object> resourceMap = (Map <String, Object>) yml.get ("parameters");
-
- 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());
- // System.out.println(pair.getKey()+":"+type);
- if (resourceEntry.containsKey("default")) {
- param.setRequired(false);
- } else {
- param.setRequired(true);
- }
- // Now set the type
- String value = resourceEntry.get("type");
- param.setParamType(value);
-
- param.setHeatTemplateArtifactUuid(artifactUUID);
-
- paramSet.add(param);
-
- }
- return paramSet;
-
- }
-
- public synchronized void addParameterList (Set <HeatTemplateParam> heatSet) {
-
- @SuppressWarnings("unchecked")
- Map <String, Object> resourceMap = (Map <String, Object>) yml.get ("parameters");
- if (resourceMap == null) {
- resourceMap = new LinkedHashMap<>();
- this.yml.put ("parameters", resourceMap);
- }
- for (HeatTemplateParam heatParam : heatSet) {
- Map <String, Object> paramInfo = new HashMap<>();
- paramInfo.put ("type", heatParam.getParamType ());
-
- resourceMap.put (heatParam.getParamName (), paramInfo);
- }
-
- // this.yml.put("parameters", resourceMap);
-
- }
-
- public boolean isParentTemplate (String templateBody) {
- return templateBody.contains (REFER_PATTERN);
- }
-
- public boolean verifyTemplate () {
- // Verify whether the heat template is for Vnf Resource
- // We don't support other template installation yet
-
- return true;
- }
-
- public String encode (Map <String, Object> content) {
- return yaml.dump (content);
- }
-
- public synchronized String encode () {
- return this.yaml.dump (this.yml);
- }
-
- /**
- * This method return the YAml file as a string.
- *
- */
- @Override
- public String toString () {
-
- return encode ();
- }
-
-}