sdc-distribution-client is registered twice in model-loader 69/137669/1
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Thu, 11 Apr 2024 06:19:19 +0000 (08:19 +0200)
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Thu, 11 Apr 2024 06:19:19 +0000 (08:19 +0200)
- 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 <Fiete.Ostkamp@telekom.de>
src/main/java/org/onap/aai/modelloader/service/ModelController.java
src/test/java/org/onap/aai/modelloader/service/TestModelController.java
src/test/java/org/onap/aai/modelloader/service/TestModelLoaderServiceWithSdc.java

index 5c784b2..41a7c86 100644 (file)
@@ -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)
      *
index 82f7203..9d7d5ea 100644 (file)
@@ -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
index a8501be..6dc1b3d 100644 (file)
@@ -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()));
     }