From e820afb80b830453f667280d94f6e86279ad4f2c Mon Sep 17 00:00:00 2001 From: Fiete Ostkamp Date: Thu, 11 Apr 2024 08:19:19 +0200 Subject: [PATCH] sdc-distribution-client is registered twice in model-loader - registration of client was moved into separate config class in last change - however registration in ModelController was not removed Issue-ID: AAI-3824 Change-Id: Icad4211fb245d84fd369c75dd48de7f9a1ec1b20 Signed-off-by: Fiete Ostkamp --- .../aai/modelloader/service/ModelController.java | 64 +--------------------- .../modelloader/service/TestModelController.java | 10 +--- .../service/TestModelLoaderServiceWithSdc.java | 10 +--- 3 files changed, 4 insertions(+), 80 deletions(-) diff --git a/src/main/java/org/onap/aai/modelloader/service/ModelController.java b/src/main/java/org/onap/aai/modelloader/service/ModelController.java index 5c784b2..41a7c86 100644 --- a/src/main/java/org/onap/aai/modelloader/service/ModelController.java +++ b/src/main/java/org/onap/aai/modelloader/service/ModelController.java @@ -23,12 +23,8 @@ package org.onap.aai.modelloader.service; import java.io.IOException; import java.util.ArrayList; import java.util.Base64; -import java.util.Date; import java.util.List; -import java.util.Timer; -import java.util.TimerTask; -import javax.annotation.PostConstruct; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -37,13 +33,10 @@ import org.onap.aai.cl.eelf.LoggerFactory; import org.onap.aai.modelloader.config.ModelLoaderConfig; import org.onap.aai.modelloader.entity.Artifact; import org.onap.aai.modelloader.notification.ArtifactDownloadManager; -import org.onap.aai.modelloader.notification.EventCallback; import org.onap.aai.modelloader.notification.NotificationDataImpl; import org.onap.aai.modelloader.notification.NotificationPublisher; import org.onap.sdc.api.IDistributionClient; import org.onap.sdc.api.notification.IArtifactInfo; -import org.onap.sdc.api.results.IDistributionClientResult; -import org.onap.sdc.utils.DistributionActionResultEnum; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -60,71 +53,16 @@ public class ModelController implements ModelLoaderInterface { private final IDistributionClient client; private final ModelLoaderConfig config; - private final EventCallback eventCallback; private final ArtifactDeploymentManager artifactDeploymentManager; private final ArtifactDownloadManager artifactDownloadManager; - public ModelController(IDistributionClient client, ModelLoaderConfig config, EventCallback eventCallback, ArtifactDeploymentManager artifactDeploymentManager, ArtifactDownloadManager artifactDownloadManager) { + public ModelController(IDistributionClient client, ModelLoaderConfig config, ArtifactDeploymentManager artifactDeploymentManager, ArtifactDownloadManager artifactDownloadManager) { this.client = client; this.config = config; - this.eventCallback = eventCallback; this.artifactDeploymentManager = artifactDeploymentManager; this.artifactDownloadManager = artifactDownloadManager; } - @PostConstruct - protected void start() { - if (!config.getASDCConnectionDisabled()) { - initSdcClient(); - } - } - - /** - * Responsible for stopping the connection to the distribution client before the resource is destroyed. - */ - public void preShutdownOperations() { - logger.info(ModelLoaderMsgs.STOPPING_CLIENT); - if (client != null) { - client.stop(); - } - } - - /** - * Responsible for loading configuration files, initializing model distribution clients, and starting them. - */ - protected void initSdcClient() { - // Initialize distribution client - logger.debug(ModelLoaderMsgs.INITIALIZING, "Initializing distribution client..."); - IDistributionClientResult initResult = client.init(config, eventCallback); - - if (initResult.getDistributionActionResult() == DistributionActionResultEnum.SUCCESS) { - // Start distribution client - logger.debug(ModelLoaderMsgs.INITIALIZING, "Starting distribution client..."); - IDistributionClientResult startResult = client.start(); - if (startResult.getDistributionActionResult() == DistributionActionResultEnum.SUCCESS) { - logger.info(ModelLoaderMsgs.INITIALIZING, "Connection to SDC established"); - } else { - String errorMsg = "Failed to start distribution client: " + startResult.getDistributionMessageResult(); - logger.error(ModelLoaderMsgs.ASDC_CONNECTION_ERROR, errorMsg); - - // Kick off a timer to retry the SDC connection - Timer timer = new Timer(); - TimerTask task = new SdcConnectionJob(client, config, eventCallback, timer); - timer.schedule(task, new Date(), 60000); - } - } else { - String errorMsg = "Failed to initialize distribution client: " + initResult.getDistributionMessageResult(); - logger.error(ModelLoaderMsgs.ASDC_CONNECTION_ERROR, errorMsg); - - // Kick off a timer to retry the SDC connection - Timer timer = new Timer(); - TimerTask task = new SdcConnectionJob(client, config, eventCallback, timer); - timer.schedule(task, new Date(), 60000); - } - - Runtime.getRuntime().addShutdownHook(new Thread(this::preShutdownOperations)); - } - /** * (non-Javadoc) * diff --git a/src/test/java/org/onap/aai/modelloader/service/TestModelController.java b/src/test/java/org/onap/aai/modelloader/service/TestModelController.java index 82f7203..9d7d5ea 100644 --- a/src/test/java/org/onap/aai/modelloader/service/TestModelController.java +++ b/src/test/java/org/onap/aai/modelloader/service/TestModelController.java @@ -31,7 +31,6 @@ import java.util.Collections; import javax.ws.rs.core.Response; -import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.Mock; @@ -39,7 +38,6 @@ import org.onap.aai.modelloader.config.ModelLoaderConfig; import org.onap.aai.modelloader.extraction.VnfCatalogExtractor; import org.onap.aai.modelloader.notification.ArtifactDownloadManager; import org.onap.aai.modelloader.notification.BabelArtifactConverter; -import org.onap.aai.modelloader.notification.EventCallback; import org.onap.aai.modelloader.notification.NotificationPublisher; import org.onap.aai.modelloader.restclient.BabelServiceClient; import org.onap.aai.modelloader.restclient.BabelServiceClientException; @@ -59,7 +57,6 @@ public class TestModelController { @Autowired IDistributionClient iDistributionClient; @Autowired ModelLoaderConfig modelLoaderConfig; - @Autowired EventCallback eventCallback; @Autowired ArtifactDeploymentManager artifactDeploymentManager; @Autowired BabelArtifactConverter babelArtifactConverter; @Autowired NotificationPublisher notificationPublisher; @@ -75,12 +72,7 @@ public class TestModelController { when(clientFactory.create(any())).thenReturn(babelServiceClient); when(babelServiceClient.postArtifact(any(), any(), any(), any())).thenReturn(Collections.emptyList()); ArtifactDownloadManager artifactDownloadManager = new ArtifactDownloadManager(iDistributionClient, modelLoaderConfig, clientFactory, babelArtifactConverter, notificationPublisher, vnfCatalogExtractor); - this.modelController = new ModelController(iDistributionClient, modelLoaderConfig, eventCallback, artifactDeploymentManager, artifactDownloadManager); - } - - @AfterEach - public void shutdown() { - modelController.preShutdownOperations(); + this.modelController = new ModelController(iDistributionClient, modelLoaderConfig, artifactDeploymentManager, artifactDownloadManager); } @Test diff --git a/src/test/java/org/onap/aai/modelloader/service/TestModelLoaderServiceWithSdc.java b/src/test/java/org/onap/aai/modelloader/service/TestModelLoaderServiceWithSdc.java index a8501be..6dc1b3d 100644 --- a/src/test/java/org/onap/aai/modelloader/service/TestModelLoaderServiceWithSdc.java +++ b/src/test/java/org/onap/aai/modelloader/service/TestModelLoaderServiceWithSdc.java @@ -28,7 +28,6 @@ import java.util.Base64; import javax.ws.rs.core.Response; -import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.onap.aai.modelloader.util.ArtifactTestUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -44,17 +43,12 @@ import org.springframework.test.context.TestPropertySource; public class TestModelLoaderServiceWithSdc { @Autowired - private ModelController service; - - @AfterEach - public void shutdown() { - service.preShutdownOperations(); - } + private ModelController controller; @Test public void testIngestModel() throws IOException { byte[] csarPayload = new ArtifactTestUtils().loadResource("compressedArtifacts/service-VscpaasTest-csar.csar"); - Response response = service.ingestModel("model-name", "", Base64.getEncoder().encodeToString(csarPayload)); + Response response = controller.ingestModel("model-name", "", Base64.getEncoder().encodeToString(csarPayload)); assertThat(response.getStatus(), is(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())); } -- 2.16.6