From c90edac236dffb7c495e266dd04991de7e8f04b7 Mon Sep 17 00:00:00 2001 From: Alexis de Talhouët Date: Mon, 25 Mar 2019 13:04:18 -0400 Subject: Migrate ccsdk/apps to ccsdk/cds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue-ID: CCSDK-1177 Issue-ID: CCSDK-1178 Change-Id: I0c02702fbec52211ca367abbba72aebecee8cbaa Signed-off-by: Alexis de Talhouët --- ms/cds-sdc-listener/application/pom.xml | 2 +- .../cdssdclistener/CdsSdcListenerApplication.java | 21 ---- .../apps/cdssdclistener/CdsSdcListenerClient.java | 81 ------------ .../CdsSdcListenerConfiguration.java | 137 --------------------- .../apps/cdssdclistener/CdsSdcListenerDto.java | 23 ---- .../CdsSdcListenerNotificationCallback.java | 69 ----------- .../exceptions/CdsSdcListenerException.java | 27 ---- .../cdssdclistener/service/ListenerService.java | 18 --- .../service/ListenerServiceImpl.java | 27 ---- .../cdssdclistener/CdsSdcListenerApplication.java | 21 ++++ .../cds/cdssdclistener/CdsSdcListenerClient.java | 81 ++++++++++++ .../CdsSdcListenerConfiguration.java | 137 +++++++++++++++++++++ .../cds/cdssdclistener/CdsSdcListenerDto.java | 23 ++++ .../CdsSdcListenerNotificationCallback.java | 69 +++++++++++ .../exceptions/CdsSdcListenerException.java | 27 ++++ .../cdssdclistener/service/ListenerService.java | 18 +++ .../service/ListenerServiceImpl.java | 27 ++++ .../cdssdclistener/CdsSdcListenerClientTest.java | 71 ----------- .../CdsSdcListenerConfigurationTest.java | 41 ------ .../cdssdclistener/CdsSdcListenerClientTest.java | 71 +++++++++++ .../CdsSdcListenerConfigurationTest.java | 41 ++++++ ms/cds-sdc-listener/distribution/pom.xml | 4 +- ms/cds-sdc-listener/pom.xml | 56 +++++---- 23 files changed, 551 insertions(+), 541 deletions(-) delete mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerApplication.java delete mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerClient.java delete mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerConfiguration.java delete mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerDto.java delete mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerNotificationCallback.java delete mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/exceptions/CdsSdcListenerException.java delete mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/service/ListenerService.java delete mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/service/ListenerServiceImpl.java create mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerApplication.java create mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerClient.java create mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerConfiguration.java create mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerDto.java create mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerNotificationCallback.java create mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/exceptions/CdsSdcListenerException.java create mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/service/ListenerService.java create mode 100644 ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/service/ListenerServiceImpl.java delete mode 100644 ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerClientTest.java delete mode 100644 ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerConfigurationTest.java create mode 100644 ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerClientTest.java create mode 100644 ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerConfigurationTest.java (limited to 'ms/cds-sdc-listener') diff --git a/ms/cds-sdc-listener/application/pom.xml b/ms/cds-sdc-listener/application/pom.xml index 1df385fef..899d173ef 100644 --- a/ms/cds-sdc-listener/application/pom.xml +++ b/ms/cds-sdc-listener/application/pom.xml @@ -16,7 +16,7 @@ 4.0.0 - org.onap.ccsdk.apps + org.onap.ccsdk.cds cds-sdc-listener-application CDS-SDC Listener Application diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerApplication.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerApplication.java deleted file mode 100644 index 3bd34fb08..000000000 --- a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerApplication.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ - -package org.onap.ccsdk.apps.cdssdclistener; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.context.properties.EnableConfigurationProperties; - -@SpringBootApplication -@EnableConfigurationProperties(CdsSdcListenerConfiguration.class) -public class CdsSdcListenerApplication { - public static void main(String[] args) { - SpringApplication.run(CdsSdcListenerApplication.class, args); - } -} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerClient.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerClient.java deleted file mode 100644 index af0bb40b6..000000000 --- a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerClient.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ -package org.onap.ccsdk.apps.cdssdclistener; - -import java.util.Optional; -import org.onap.ccsdk.apps.cdssdclistener.exceptions.CdsSdcListenerException; -import org.onap.sdc.api.IDistributionClient; -import org.onap.sdc.api.results.IDistributionClientResult; -import org.onap.sdc.impl.DistributionClientFactory; -import org.onap.sdc.utils.DistributionActionResultEnum; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.event.ApplicationReadyEvent; -import org.springframework.context.event.EventListener; -import org.springframework.stereotype.Component; - -@Component -public class CdsSdcListenerClient { - - private static Logger LOG = LoggerFactory.getLogger(CdsSdcListenerClient.class); - - @Autowired - private CdsSdcListenerConfiguration configuration; - - @Autowired - private CdsSdcListenerNotificationCallback notification; - - @Autowired - private CdsSdcListenerDto listenerDto; - - private IDistributionClient distributionClient; - - /** - * This method initializes the SDC Distribution client. - */ - @EventListener(ApplicationReadyEvent.class) - public void initSdcClient() throws CdsSdcListenerException { - LOG.info("Initialize the SDC distribution client"); - - distributionClient = Optional.of(DistributionClientFactory.createDistributionClient()) - .orElseThrow(() -> new CdsSdcListenerException("Could not able to create SDC Distribution client")); - - listenerDto.setDistributionClient(distributionClient); - - IDistributionClientResult result = distributionClient.init(configuration, notification); - - startSdcClientBasedOnTheResult(result); - } - - private void startSdcClientBasedOnTheResult(IDistributionClientResult result) throws CdsSdcListenerException { - if (!result.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) { - throw new CdsSdcListenerException( - "SDC distribution client init failed with reason:" + result.getDistributionMessageResult()); - } - - // Start the client. - result = this.distributionClient.start(); - - if (!result.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) { - throw new CdsSdcListenerException( - "Startup of the SDC distribution client failed with reason: " + result.getDistributionMessageResult()); - } - } - - private void closeSdcDistributionclient() throws CdsSdcListenerException { - - IDistributionClientResult status = this.distributionClient.stop(); - - LOG.info("Closing SDC distribution client"); - if (status.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) { - throw new CdsSdcListenerException( - "Failed to close the SDC distribution client due to : " + status.getDistributionMessageResult()); - } - } -} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerConfiguration.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerConfiguration.java deleted file mode 100644 index 0cbb917fc..000000000 --- a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerConfiguration.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ - -package org.onap.ccsdk.apps.cdssdclistener; - -import java.util.List; -import org.onap.sdc.api.consumer.IConfiguration; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * In order to initiate a SDC distribution client we need to supply some pre-configuration values that - * distribution client needs. - */ -@ConfigurationProperties("listenerservice") -public class CdsSdcListenerConfiguration implements IConfiguration { - - public static final String TOSCA_CSAR = "TOSCA_CSAR"; - - @Value("${listenerservice.config.asdcAddress}") - private String asdcAddress; - - @Value("${listenerservice.config.messageBusAddress}") - private List messageBusAddress; - - @Value("${listenerservice.config.user}") - private String user; - - @Value("${listenerservice.config.password}") - private String password; - - @Value("${listenerservice.config.pollingTimeout}") - private int pollingTimeout; - - @Value("${listenerservice.config.pollingInterval}") - private int pollingInterval; - - @Value("${listenerservice.config.relevantArtifactTypes}") - private List relevantArtifactTypes; - - @Value("${listenerservice.config.consumerGroup}") - private String consumerGroup; - - @Value("${listenerservice.config.environmentName}") - private String envName; - - @Value("${listenerservice.config.consumerId}") - private String consumerId; - - @Value("${listenerservice.config.activateServerTLSAuth}") - private boolean activateServerTLSAuth; - - @Value("${listenerservice.config.isUseHttpsWithDmaap}") - private boolean isUseHttpsWithDmaap; - - - @Override - public String getAsdcAddress() { - return asdcAddress; - } - - @Override - public List getMsgBusAddress() { - return messageBusAddress; - } - - @Override - public String getUser() { - return user; - } - - @Override - public String getPassword() { - return password; - } - - @Override - public int getPollingInterval() { - return pollingInterval; - } - - @Override - public int getPollingTimeout() { - return pollingTimeout; - } - - @Override - public List getRelevantArtifactTypes() { - return relevantArtifactTypes; - } - - @Override - public String getConsumerGroup() { - return consumerGroup; - } - - @Override - public String getEnvironmentName() { - return envName; - } - - @Override - public String getConsumerID() { - return consumerId; - } - - @Override - public String getKeyStorePath() { - return null; - } - - @Override - public String getKeyStorePassword() { - return null; - } - - @Override - public boolean activateServerTLSAuth() { - return activateServerTLSAuth; - } - - @Override - public boolean isFilterInEmptyResources() { - return false; - } - - @Override - public Boolean isUseHttpsWithDmaap() { - return isUseHttpsWithDmaap; - } -} - diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerDto.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerDto.java deleted file mode 100644 index afa753e5a..000000000 --- a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerDto.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ -package org.onap.ccsdk.apps.cdssdclistener; - -import org.onap.sdc.api.IDistributionClient; - -public class CdsSdcListenerDto { - - private IDistributionClient distributionClient; - - public IDistributionClient getDistributionClient() { - return distributionClient; - } - - public void setDistributionClient(IDistributionClient distributionClient) { - this.distributionClient = distributionClient; - } -} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerNotificationCallback.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerNotificationCallback.java deleted file mode 100644 index 35747635f..000000000 --- a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerNotificationCallback.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ - -package org.onap.ccsdk.apps.cdssdclistener; - -import static org.onap.sdc.utils.DistributionActionResultEnum.SUCCESS; -import java.util.List; -import org.onap.sdc.api.IDistributionClient; -import org.onap.sdc.api.consumer.INotificationCallback; -import org.onap.sdc.api.notification.IArtifactInfo; -import org.onap.sdc.api.notification.INotificationData; -import org.onap.sdc.api.results.IDistributionClientDownloadResult; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Component -public class CdsSdcListenerNotificationCallback implements INotificationCallback { - - @Autowired - private CdsSdcListenerDto cdsSdcListenerDto; - - private static final Logger LOGGER = LoggerFactory.getLogger(CdsSdcListenerNotificationCallback.class); - - @Override - public void activateCallback(INotificationData notificationData) { - LOGGER.info(notificationData.getDistributionID(), "The UUID generated by SDC {}"); - processNotification(notificationData); - } - - private void processNotification(INotificationData notificationData) { - downlaodCsarArtifacts(notificationData.getServiceArtifacts()); - } - - /** - * Download the TOSCA CSAR artifact. - * @param artifactInfo - An object consists of Artifact information. - */ - private void downlaodCsarArtifacts(List artifactInfo) { - final IDistributionClient distributionClient = cdsSdcListenerDto.getDistributionClient(); - - artifactInfo.forEach(info -> { - final String url = info.getArtifactURL(); - final String id = info.getArtifactUUID(); - if (info.getArtifactType().equals(CdsSdcListenerConfiguration.TOSCA_CSAR)) { - LOGGER.info("Trying to download the artifact from : {} and UUID is {} ", url, id); - - IDistributionClientDownloadResult result = distributionClient.download(info); - - if (!result.getDistributionActionResult().equals(SUCCESS)) { - LOGGER.info("Failed to download the artifact from : {} due to {} ", url, - result.getDistributionActionResult()); - } else { - parseCBAFileFromCsar(result); - } - } - }); - } - - private void parseCBAFileFromCsar(IDistributionClientDownloadResult result) { - - } -} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/exceptions/CdsSdcListenerException.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/exceptions/CdsSdcListenerException.java deleted file mode 100644 index 3f83b6ac2..000000000 --- a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/exceptions/CdsSdcListenerException.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ - -package org.onap.ccsdk.apps.cdssdclistener.exceptions; - -public class CdsSdcListenerException extends Exception { - - /** - * @param message The message to dump - */ - public CdsSdcListenerException(final String message) { - super(message); - } - - /** - * @param message The message to dump - * @param cause The Throwable cause object - */ - public CdsSdcListenerException(final String message, final Throwable cause) { - super(message, cause); - } -} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/service/ListenerService.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/service/ListenerService.java deleted file mode 100644 index d6c2c4f40..000000000 --- a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/service/ListenerService.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ - -package org.onap.ccsdk.apps.cdssdclistener.service; - -import java.io.File; - -public interface ListenerService { - - void extractBluePrint(File file); - - void storeBluePrint(File file); -} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/service/ListenerServiceImpl.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/service/ListenerServiceImpl.java deleted file mode 100644 index 864c485ce..000000000 --- a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/apps/cdssdclistener/service/ListenerServiceImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ - -package org.onap.ccsdk.apps.cdssdclistener.service; - -import java.io.File; -import org.springframework.stereotype.Component; - -@Component -public class ListenerServiceImpl implements ListenerService { - - @Override - public void extractBluePrint(File file) { - //TODO - - } - - @Override - public void storeBluePrint(File file) { - //TODO - } -} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerApplication.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerApplication.java new file mode 100644 index 000000000..30f101246 --- /dev/null +++ b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerApplication.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ + +package org.onap.ccsdk.cds.cdssdclistener; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; + +@SpringBootApplication +@EnableConfigurationProperties(CdsSdcListenerConfiguration.class) +public class CdsSdcListenerApplication { + public static void main(String[] args) { + SpringApplication.run(CdsSdcListenerApplication.class, args); + } +} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerClient.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerClient.java new file mode 100644 index 000000000..76295bacb --- /dev/null +++ b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerClient.java @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ +package org.onap.ccsdk.cds.cdssdclistener; + +import java.util.Optional; +import org.onap.ccsdk.cds.cdssdclistener.exceptions.CdsSdcListenerException; +import org.onap.sdc.api.IDistributionClient; +import org.onap.sdc.api.results.IDistributionClientResult; +import org.onap.sdc.impl.DistributionClientFactory; +import org.onap.sdc.utils.DistributionActionResultEnum; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +@Component +public class CdsSdcListenerClient { + + private static Logger LOG = LoggerFactory.getLogger(CdsSdcListenerClient.class); + + @Autowired + private CdsSdcListenerConfiguration configuration; + + @Autowired + private CdsSdcListenerNotificationCallback notification; + + @Autowired + private CdsSdcListenerDto listenerDto; + + private IDistributionClient distributionClient; + + /** + * This method initializes the SDC Distribution client. + */ + @EventListener(ApplicationReadyEvent.class) + public void initSdcClient() throws CdsSdcListenerException { + LOG.info("Initialize the SDC distribution client"); + + distributionClient = Optional.of(DistributionClientFactory.createDistributionClient()) + .orElseThrow(() -> new CdsSdcListenerException("Could not able to create SDC Distribution client")); + + listenerDto.setDistributionClient(distributionClient); + + IDistributionClientResult result = distributionClient.init(configuration, notification); + + startSdcClientBasedOnTheResult(result); + } + + private void startSdcClientBasedOnTheResult(IDistributionClientResult result) throws CdsSdcListenerException { + if (!result.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) { + throw new CdsSdcListenerException( + "SDC distribution client init failed with reason:" + result.getDistributionMessageResult()); + } + + // Start the client. + result = this.distributionClient.start(); + + if (!result.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) { + throw new CdsSdcListenerException( + "Startup of the SDC distribution client failed with reason: " + result.getDistributionMessageResult()); + } + } + + private void closeSdcDistributionclient() throws CdsSdcListenerException { + + IDistributionClientResult status = this.distributionClient.stop(); + + LOG.info("Closing SDC distribution client"); + if (status.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) { + throw new CdsSdcListenerException( + "Failed to close the SDC distribution client due to : " + status.getDistributionMessageResult()); + } + } +} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerConfiguration.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerConfiguration.java new file mode 100644 index 000000000..242c19c1e --- /dev/null +++ b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerConfiguration.java @@ -0,0 +1,137 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ + +package org.onap.ccsdk.cds.cdssdclistener; + +import java.util.List; +import org.onap.sdc.api.consumer.IConfiguration; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * In order to initiate a SDC distribution client we need to supply some pre-configuration values that + * distribution client needs. + */ +@ConfigurationProperties("listenerservice") +public class CdsSdcListenerConfiguration implements IConfiguration { + + public static final String TOSCA_CSAR = "TOSCA_CSAR"; + + @Value("${listenerservice.config.asdcAddress}") + private String asdcAddress; + + @Value("${listenerservice.config.messageBusAddress}") + private List messageBusAddress; + + @Value("${listenerservice.config.user}") + private String user; + + @Value("${listenerservice.config.password}") + private String password; + + @Value("${listenerservice.config.pollingTimeout}") + private int pollingTimeout; + + @Value("${listenerservice.config.pollingInterval}") + private int pollingInterval; + + @Value("${listenerservice.config.relevantArtifactTypes}") + private List relevantArtifactTypes; + + @Value("${listenerservice.config.consumerGroup}") + private String consumerGroup; + + @Value("${listenerservice.config.environmentName}") + private String envName; + + @Value("${listenerservice.config.consumerId}") + private String consumerId; + + @Value("${listenerservice.config.activateServerTLSAuth}") + private boolean activateServerTLSAuth; + + @Value("${listenerservice.config.isUseHttpsWithDmaap}") + private boolean isUseHttpsWithDmaap; + + + @Override + public String getAsdcAddress() { + return asdcAddress; + } + + @Override + public List getMsgBusAddress() { + return messageBusAddress; + } + + @Override + public String getUser() { + return user; + } + + @Override + public String getPassword() { + return password; + } + + @Override + public int getPollingInterval() { + return pollingInterval; + } + + @Override + public int getPollingTimeout() { + return pollingTimeout; + } + + @Override + public List getRelevantArtifactTypes() { + return relevantArtifactTypes; + } + + @Override + public String getConsumerGroup() { + return consumerGroup; + } + + @Override + public String getEnvironmentName() { + return envName; + } + + @Override + public String getConsumerID() { + return consumerId; + } + + @Override + public String getKeyStorePath() { + return null; + } + + @Override + public String getKeyStorePassword() { + return null; + } + + @Override + public boolean activateServerTLSAuth() { + return activateServerTLSAuth; + } + + @Override + public boolean isFilterInEmptyResources() { + return false; + } + + @Override + public Boolean isUseHttpsWithDmaap() { + return isUseHttpsWithDmaap; + } +} + diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerDto.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerDto.java new file mode 100644 index 000000000..7d154da42 --- /dev/null +++ b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerDto.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ +package org.onap.ccsdk.cds.cdssdclistener; + +import org.onap.sdc.api.IDistributionClient; + +public class CdsSdcListenerDto { + + private IDistributionClient distributionClient; + + public IDistributionClient getDistributionClient() { + return distributionClient; + } + + public void setDistributionClient(IDistributionClient distributionClient) { + this.distributionClient = distributionClient; + } +} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerNotificationCallback.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerNotificationCallback.java new file mode 100644 index 000000000..424a7384c --- /dev/null +++ b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerNotificationCallback.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ + +package org.onap.ccsdk.cds.cdssdclistener; + +import static org.onap.sdc.utils.DistributionActionResultEnum.SUCCESS; +import java.util.List; +import org.onap.sdc.api.IDistributionClient; +import org.onap.sdc.api.consumer.INotificationCallback; +import org.onap.sdc.api.notification.IArtifactInfo; +import org.onap.sdc.api.notification.INotificationData; +import org.onap.sdc.api.results.IDistributionClientDownloadResult; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class CdsSdcListenerNotificationCallback implements INotificationCallback { + + @Autowired + private CdsSdcListenerDto cdsSdcListenerDto; + + private static final Logger LOGGER = LoggerFactory.getLogger(CdsSdcListenerNotificationCallback.class); + + @Override + public void activateCallback(INotificationData notificationData) { + LOGGER.info(notificationData.getDistributionID(), "The UUID generated by SDC {}"); + processNotification(notificationData); + } + + private void processNotification(INotificationData notificationData) { + downlaodCsarArtifacts(notificationData.getServiceArtifacts()); + } + + /** + * Download the TOSCA CSAR artifact. + * @param artifactInfo - An object consists of Artifact information. + */ + private void downlaodCsarArtifacts(List artifactInfo) { + final IDistributionClient distributionClient = cdsSdcListenerDto.getDistributionClient(); + + artifactInfo.forEach(info -> { + final String url = info.getArtifactURL(); + final String id = info.getArtifactUUID(); + if (info.getArtifactType().equals(CdsSdcListenerConfiguration.TOSCA_CSAR)) { + LOGGER.info("Trying to download the artifact from : {} and UUID is {} ", url, id); + + IDistributionClientDownloadResult result = distributionClient.download(info); + + if (!result.getDistributionActionResult().equals(SUCCESS)) { + LOGGER.info("Failed to download the artifact from : {} due to {} ", url, + result.getDistributionActionResult()); + } else { + parseCBAFileFromCsar(result); + } + } + }); + } + + private void parseCBAFileFromCsar(IDistributionClientDownloadResult result) { + + } +} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/exceptions/CdsSdcListenerException.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/exceptions/CdsSdcListenerException.java new file mode 100644 index 000000000..09ef4ed8c --- /dev/null +++ b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/exceptions/CdsSdcListenerException.java @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ + +package org.onap.ccsdk.cds.cdssdclistener.exceptions; + +public class CdsSdcListenerException extends Exception { + + /** + * @param message The message to dump + */ + public CdsSdcListenerException(final String message) { + super(message); + } + + /** + * @param message The message to dump + * @param cause The Throwable cause object + */ + public CdsSdcListenerException(final String message, final Throwable cause) { + super(message, cause); + } +} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/service/ListenerService.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/service/ListenerService.java new file mode 100644 index 000000000..0aa649988 --- /dev/null +++ b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/service/ListenerService.java @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ + +package org.onap.ccsdk.cds.cdssdclistener.service; + +import java.io.File; + +public interface ListenerService { + + void extractBluePrint(File file); + + void storeBluePrint(File file); +} diff --git a/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/service/ListenerServiceImpl.java b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/service/ListenerServiceImpl.java new file mode 100644 index 000000000..356b2f492 --- /dev/null +++ b/ms/cds-sdc-listener/application/src/main/java/org/onap/ccsdk/cds/cdssdclistener/service/ListenerServiceImpl.java @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ + +package org.onap.ccsdk.cds.cdssdclistener.service; + +import java.io.File; +import org.springframework.stereotype.Component; + +@Component +public class ListenerServiceImpl implements ListenerService { + + @Override + public void extractBluePrint(File file) { + //TODO + + } + + @Override + public void storeBluePrint(File file) { + //TODO + } +} diff --git a/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerClientTest.java b/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerClientTest.java deleted file mode 100644 index 3a634b8c9..000000000 --- a/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerClientTest.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ - -package org.onap.ccsdk.apps.cdssdclistener; - -import mockit.Expectations; -import mockit.Injectable; -import mockit.Mock; -import mockit.MockUp; -import mockit.Tested; -import mockit.VerificationsInOrder; -import mockit.integration.junit4.JMockit; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.onap.ccsdk.apps.cdssdclistener.exceptions.CdsSdcListenerException; -import org.onap.sdc.api.IDistributionClient; -import org.onap.sdc.api.results.IDistributionClientResult; -import org.onap.sdc.impl.DistributionClientFactory; -import org.onap.sdc.impl.DistributionClientResultImpl; -import org.onap.sdc.utils.DistributionActionResultEnum; - -@RunWith(JMockit.class) -public class CdsSdcListenerClientTest { - - @Tested - private CdsSdcListenerClient cdsSdcListenerClient; - - @Test - public void testInitCdsClientSuccesfully(@Injectable IDistributionClient distributionClient, - @Injectable CdsSdcListenerConfiguration configuration, - @Injectable CdsSdcListenerNotificationCallback notification, - @Injectable CdsSdcListenerDto cdsSdcListenerDto) throws CdsSdcListenerException { - - // Arrange - new MockUp() { - @Mock - public IDistributionClient createDistributionClient() { - return distributionClient; - } - }; - - new Expectations() {{ - distributionClient.init(configuration, notification); - result = getResult(); - }}; - - new Expectations() {{ - distributionClient.start(); - result = getResult(); - }}; - - // Act - cdsSdcListenerClient.initSdcClient(); - - // Verify - new VerificationsInOrder() {{ - distributionClient.init(configuration, notification); - distributionClient.start(); - }}; - } - - public IDistributionClientResult getResult() { - return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, - DistributionActionResultEnum.SUCCESS.name()); - } -} diff --git a/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerConfigurationTest.java b/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerConfigurationTest.java deleted file mode 100644 index 886049df7..000000000 --- a/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerConfigurationTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2019 Bell Canada. All rights reserved. - * - * NOTICE: All the intellectual and technical concepts contained herein are - * proprietary to Bell Canada and are protected by trade secret or copyright law. - * Unauthorized copying of this file, via any medium is strictly prohibited. - */ - -package org.onap.ccsdk.apps.cdssdclistener; - -import static org.junit.Assert.assertEquals; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@EnableConfigurationProperties(CdsSdcListenerConfiguration.class) -@SpringBootTest(classes = {CdsSdcListenerConfigurationTest.class}) -public class CdsSdcListenerConfigurationTest { - - @Autowired - private CdsSdcListenerConfiguration listenerConfiguration; - - @Test - public void testCdsSdcListenerConfiguration() { - assertEquals(listenerConfiguration.getAsdcAddress(), "localhost:8443"); - assertEquals(listenerConfiguration.getMsgBusAddress().stream().findFirst().get(), "localhost"); - assertEquals(listenerConfiguration.getUser(), "vid"); - assertEquals(listenerConfiguration.getPassword(), "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"); - assertEquals(listenerConfiguration.getPollingInterval(), 15); - assertEquals(listenerConfiguration.getPollingTimeout(), 15); - assertEquals(listenerConfiguration.getRelevantArtifactTypes().stream().findFirst().get(), "TOSCA_CSAR"); - assertEquals(listenerConfiguration.getConsumerGroup(), "cds-id-local"); - assertEquals(listenerConfiguration.getEnvironmentName(), "AUTO"); - assertEquals(listenerConfiguration.getConsumerID(), "cds-id-local"); - assertEquals(listenerConfiguration.activateServerTLSAuth(), false); - } -} diff --git a/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerClientTest.java b/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerClientTest.java new file mode 100644 index 000000000..4d0631f96 --- /dev/null +++ b/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerClientTest.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ + +package org.onap.ccsdk.cds.cdssdclistener; + +import mockit.Expectations; +import mockit.Injectable; +import mockit.Mock; +import mockit.MockUp; +import mockit.Tested; +import mockit.VerificationsInOrder; +import mockit.integration.junit4.JMockit; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.ccsdk.cds.cdssdclistener.exceptions.CdsSdcListenerException; +import org.onap.sdc.api.IDistributionClient; +import org.onap.sdc.api.results.IDistributionClientResult; +import org.onap.sdc.impl.DistributionClientFactory; +import org.onap.sdc.impl.DistributionClientResultImpl; +import org.onap.sdc.utils.DistributionActionResultEnum; + +@RunWith(JMockit.class) +public class CdsSdcListenerClientTest { + + @Tested + private CdsSdcListenerClient cdsSdcListenerClient; + + @Test + public void testInitCdsClientSuccesfully(@Injectable IDistributionClient distributionClient, + @Injectable CdsSdcListenerConfiguration configuration, + @Injectable CdsSdcListenerNotificationCallback notification, + @Injectable CdsSdcListenerDto cdsSdcListenerDto) throws CdsSdcListenerException { + + // Arrange + new MockUp() { + @Mock + public IDistributionClient createDistributionClient() { + return distributionClient; + } + }; + + new Expectations() {{ + distributionClient.init(configuration, notification); + result = getResult(); + }}; + + new Expectations() {{ + distributionClient.start(); + result = getResult(); + }}; + + // Act + cdsSdcListenerClient.initSdcClient(); + + // Verify + new VerificationsInOrder() {{ + distributionClient.init(configuration, notification); + distributionClient.start(); + }}; + } + + public IDistributionClientResult getResult() { + return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, + DistributionActionResultEnum.SUCCESS.name()); + } +} diff --git a/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerConfigurationTest.java b/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerConfigurationTest.java new file mode 100644 index 000000000..338b9c150 --- /dev/null +++ b/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/cds/cdssdclistener/CdsSdcListenerConfigurationTest.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2019 Bell Canada. All rights reserved. + * + * NOTICE: All the intellectual and technical concepts contained herein are + * proprietary to Bell Canada and are protected by trade secret or copyright law. + * Unauthorized copying of this file, via any medium is strictly prohibited. + */ + +package org.onap.ccsdk.cds.cdssdclistener; + +import static org.junit.Assert.assertEquals; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@EnableConfigurationProperties(CdsSdcListenerConfiguration.class) +@SpringBootTest(classes = {CdsSdcListenerConfigurationTest.class}) +public class CdsSdcListenerConfigurationTest { + + @Autowired + private CdsSdcListenerConfiguration listenerConfiguration; + + @Test + public void testCdsSdcListenerConfiguration() { + assertEquals(listenerConfiguration.getAsdcAddress(), "localhost:8443"); + assertEquals(listenerConfiguration.getMsgBusAddress().stream().findFirst().get(), "localhost"); + assertEquals(listenerConfiguration.getUser(), "vid"); + assertEquals(listenerConfiguration.getPassword(), "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"); + assertEquals(listenerConfiguration.getPollingInterval(), 15); + assertEquals(listenerConfiguration.getPollingTimeout(), 15); + assertEquals(listenerConfiguration.getRelevantArtifactTypes().stream().findFirst().get(), "TOSCA_CSAR"); + assertEquals(listenerConfiguration.getConsumerGroup(), "cds-id-local"); + assertEquals(listenerConfiguration.getEnvironmentName(), "AUTO"); + assertEquals(listenerConfiguration.getConsumerID(), "cds-id-local"); + assertEquals(listenerConfiguration.activateServerTLSAuth(), false); + } +} diff --git a/ms/cds-sdc-listener/distribution/pom.xml b/ms/cds-sdc-listener/distribution/pom.xml index 60711f697..d4ce04199 100644 --- a/ms/cds-sdc-listener/distribution/pom.xml +++ b/ms/cds-sdc-listener/distribution/pom.xml @@ -9,12 +9,12 @@ cds-sdc-listener - org.onap.ccsdk.apps + org.onap.ccsdk.cds 0.4.1-SNAPSHOT 4.0.0 - org.onap.ccsdk.apps + org.onap.ccsdk.cds cds-sdc-listener-distribution CDS-SDC Listener Distribution diff --git a/ms/cds-sdc-listener/pom.xml b/ms/cds-sdc-listener/pom.xml index 538185ebc..6c533e16b 100644 --- a/ms/cds-sdc-listener/pom.xml +++ b/ms/cds-sdc-listener/pom.xml @@ -1,29 +1,39 @@ - - - ccsdk-apps-ms - org.onap.ccsdk.apps - 0.4.2-SNAPSHOT - + * Copyright (C) 2019 Bell Canada + * + * 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. + --> + + + org.onap.ccsdk.cds + ms + 0.4.2-SNAPSHOT + .. + - 4.0.0 - cds-sdc-listener - CDS-SDC Listener Root - A microservice to get the cba file from SDC and store it into database at runtime - pom + 4.0.0 + cds-sdc-listener + CDS-SDC Listener Root + A microservice to get the cba file from SDC and store it into database at runtime + pom - - application - - + + application + + -- cgit 1.2.3-korg