Merge "Fix the SDC controller"
diff --git a/src/main/java/org/onap/clamp/clds/sdc/controller/SdcSingleController.java b/src/main/java/org/onap/clamp/clds/sdc/controller/SdcSingleController.java
index 2744ef7..a0449a3 100644
--- a/src/main/java/org/onap/clamp/clds/sdc/controller/SdcSingleController.java
+++ b/src/main/java/org/onap/clamp/clds/sdc/controller/SdcSingleController.java
@@ -204,8 +204,8 @@
             this.changeControllerStatus(SdcSingleControllerStatus.BUSY);

             csar = new CsarHandler(iNotif, this.sdcConfig.getSdcControllerName(),

                     refProp.getStringValue(CONFIG_SDC_FOLDER));

+            csar.save(downloadTheArtifact(csar.getArtifactElement()));

             if (csarInstaller.isCsarAlreadyDeployed(csar)) {

-                csar.save(downloadTheArtifact(csar.getArtifactElement()));

                 this.sendSdcNotification(NotificationType.DOWNLOAD, csar.getArtifactElement().getArtifactURL(),

                         sdcConfig.getConsumerID(), iNotif.getDistributionID(), DistributionStatusEnum.DOWNLOAD_OK, null,

                         System.currentTimeMillis());

diff --git a/src/main/java/org/onap/clamp/clds/sdc/controller/installer/CsarInstallerImpl.java b/src/main/java/org/onap/clamp/clds/sdc/controller/installer/CsarInstallerImpl.java
index b7acbcc..1b5b425 100644
--- a/src/main/java/org/onap/clamp/clds/sdc/controller/installer/CsarInstallerImpl.java
+++ b/src/main/java/org/onap/clamp/clds/sdc/controller/installer/CsarInstallerImpl.java
@@ -84,8 +84,8 @@
 
     @Override
     public boolean isCsarAlreadyDeployed(CsarHandler csar) throws SdcArtifactInstallerException {
-        return (CldsModel.retrieve(cldsDao, csar.getSdcCsarHelper().getServiceMetadata().getValue("name"),
-                false) != null) ? true : false;
+        return (CldsModel.retrieve(cldsDao, csar.getSdcCsarHelper().getServiceMetadata().getValue("name"), true)
+                .getId() != null) ? true : false;
     }
 
     @Override
diff --git a/src/test/java/org/onap/clamp/clds/it/sdc/controller/installer/CsarInstallerItCase.java b/src/test/java/org/onap/clamp/clds/it/sdc/controller/installer/CsarInstallerItCase.java
index b0035a6..c0300ef 100644
--- a/src/test/java/org/onap/clamp/clds/it/sdc/controller/installer/CsarInstallerItCase.java
+++ b/src/test/java/org/onap/clamp/clds/it/sdc/controller/installer/CsarInstallerItCase.java
@@ -24,6 +24,7 @@
 package org.onap.clamp.clds.it.sdc.controller.installer;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -94,6 +95,7 @@
             throws SdcArtifactInstallerException, SdcToscaParserException, CsarHandlerException, IOException {
         String generatedName = RandomStringUtils.randomAlphanumeric(5);
         CsarHandler csarHandler = buildFakeCsarHandler(generatedName);
+        assertFalse(csarInstaller.isCsarAlreadyDeployed(csarHandler));
         csarInstaller.installTheCsar(csarHandler);
         assertTrue(csarInstaller.isCsarAlreadyDeployed(csarHandler));
     }