re base code
[sdc.git] / catalog-model / src / main / java / org / openecomp / sdc / be / model / operations / impl / CsarOperation.java
index 88edb1f..9ae2f25 100644 (file)
 
 package org.openecomp.sdc.be.model.operations.impl;
 
-import java.io.File;
-import java.io.FileFilter;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.util.Map;
-
-import javax.annotation.PostConstruct;
-
-import org.apache.commons.io.filefilter.WildcardFileFilter;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
-import org.openecomp.sdc.common.util.ZipUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import com.google.gson.Gson;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonParser;
-
 import fj.data.Either;
+import org.apache.commons.io.filefilter.WildcardFileFilter;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
+import org.openecomp.sdc.common.log.wrappers.Logger;
+import org.openecomp.sdc.common.util.ZipUtil;
+
+import javax.annotation.PostConstruct;
+import java.io.File;
+import java.io.FileFilter;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.Map;
 
 @org.springframework.stereotype.Component("csar-operation")
 public class CsarOperation {
 
-       private static Logger log = LoggerFactory.getLogger(CsarOperation.class.getName());
-
-       @javax.annotation.Resource
-       private OnboardingClient onboardingClient;
-
-       public static void main(String[] args) {
-
-               CsarOperation csarOperation = new CsarOperation();
-               csarOperation.init();
-
-               String csarUuid = "70025CF6081B489CA7B1CBA583D5278D";
-               Either<Map<String, byte[]>, StorageOperationStatus> csar = csarOperation.getCsar(csarUuid, null);
-               System.out.println(csar.left().value());
-
-       }
-
-       @PostConstruct
-       public void init() {
-
-       }
-
-       public Either<Map<String, byte[]>, StorageOperationStatus> getMockCsar(String csarUuid) {
-               File dir = new File("/var/tmp/mockCsar");
-               FileFilter fileFilter = new WildcardFileFilter("*.csar");
-               File[] files = dir.listFiles(fileFilter);
-               for (int i = 0; i < files.length; i++) {
-                       File csar = files[i];
-                       if (csar.getName().startsWith(csarUuid)) {
-                               log.debug("Found CSAR file {} matching the passed csarUuid {}", csar.getAbsolutePath(), csarUuid);
-                               byte[] data;
-                               try {
-                                       data = Files.readAllBytes(csar.toPath());
-                               } catch (IOException e) {
-                                       log.debug("Error reading mock file for CSAR, error: {}", e);
-                                       return Either.right(StorageOperationStatus.NOT_FOUND);
-                               }
-                               Map<String, byte[]> readZip = ZipUtil.readZip(data);
-                               return Either.left(readZip);
-                       }
-               }
-               log.debug("Couldn't find mock file for CSAR starting with {}", csarUuid);
-               return Either.right(StorageOperationStatus.CSAR_NOT_FOUND);
-       }
-
-       /**
-        * get csar from remote repository
-        * 
-        * @param csarUuid
-        * @return
-        */
-       public Either<Map<String, byte[]>, StorageOperationStatus> getCsar(String csarUuid, User user) {
-
-               Either<Map<String, byte[]>, StorageOperationStatus> result = onboardingClient.getCsar(csarUuid, user.getUserId());
-
-               if (result.isRight()) {
-                       log.debug("Cannot find csar {}. Staus returned is {}", csarUuid, result.right().value());
-               } else {
-                       Map<String, byte[]> values = result.left().value();
-                       if (values != null) {
-                               log.debug("The returned files are {}", values.keySet());
-                       }
-               }
-
-               return result;
-       }
-       
-       @SuppressWarnings("unchecked")
-       public Either<String, StorageOperationStatus> getCsarLatestVersion(String csarUuid, User user) {
-
-               Either<String, StorageOperationStatus> result = onboardingClient.getPackages(user.getUserId());
-
-               if (result.isRight()) {
-                       log.debug("Cannot find version for package with Id {}. Status returned is {}", csarUuid, result.right().value());
-               } else {
-                       String latestVersion = null;
-                       JsonElement root = new JsonParser().parse(result.left().value());
-                       JsonArray csarsInfo = root.getAsJsonObject().get("results").getAsJsonArray();
-                       for (JsonElement csarInfo : csarsInfo) {
-                               Map<String, String> csarInfoMap = new Gson().fromJson(csarInfo, Map.class);
-                               if(csarInfoMap.get("packageId").equals(csarUuid)){
-                                   String curVersion = csarInfoMap.get("version");
-                                   if(latestVersion == null || isGreater(latestVersion, curVersion)){
-                                       latestVersion = curVersion;
-                                   }
-                               }
-                       }
-                       if (latestVersion != null) {
-                               result = Either.left(latestVersion);
-                       } else {
-                               log.debug("The returned packages are {}. Failed to find latest version for package with Id {}. ", result.left().value(), csarUuid);
-                               result = Either.right(StorageOperationStatus.NOT_FOUND);
-                       }
-               }
-
-               return result;
-       }
-
-       private boolean isGreater(String latestVersion, String currentVersion) {
-               return Double.parseDouble(latestVersion) < Double.parseDouble(currentVersion);
-       }
-
-       public OnboardingClient getOnboardingClient() {
-               return onboardingClient;
-       }
+    private static final Logger log = Logger.getLogger(CsarOperation.class.getName());
+
+    @javax.annotation.Resource
+    private OnboardingClient onboardingClient;
+
+    public static void main(String[] args) {
+
+        CsarOperation csarOperation = new CsarOperation();
+        csarOperation.init();
+
+        String csarUuid = "70025CF6081B489CA7B1CBA583D5278D";
+        Either<Map<String, byte[]>, StorageOperationStatus> csar = csarOperation.getCsar(csarUuid, null);
+        System.out.println(csar.left().value());
+
+    }
+
+    @PostConstruct
+    public void init() {
+
+    }
+
+    public Either<Map<String, byte[]>, StorageOperationStatus> getMockCsar(String csarUuid) {
+        File dir = new File("/var/tmp/mockCsar");
+        FileFilter fileFilter = new WildcardFileFilter("*.csar");
+        File[] files = dir.listFiles(fileFilter);
+        for (int i = 0; i < files.length; i++) {
+            File csar = files[i];
+            if (csar.getName().startsWith(csarUuid)) {
+                log.debug("Found CSAR file {} matching the passed csarUuid {}", csar.getAbsolutePath(), csarUuid);
+                byte[] data;
+                try {
+                    data = Files.readAllBytes(csar.toPath());
+                } catch (IOException e) {
+                    log.debug("Error reading mock file for CSAR, error: {}", e);
+                    return Either.right(StorageOperationStatus.NOT_FOUND);
+                }
+                Map<String, byte[]> readZip = ZipUtil.readZip(data);
+                return Either.left(readZip);
+            }
+        }
+        log.debug("Couldn't find mock file for CSAR starting with {}", csarUuid);
+        return Either.right(StorageOperationStatus.CSAR_NOT_FOUND);
+    }
+
+    /**
+     * get csar from remote repository
+     *
+     * @param csarUuid
+     * @return
+     */
+    public Either<Map<String, byte[]>, StorageOperationStatus> getCsar(String csarUuid, User user) {
+
+        Either<Map<String, byte[]>, StorageOperationStatus> result = onboardingClient.getCsar(csarUuid, user.getUserId());
+
+        if (result.isRight()) {
+            log.debug("Cannot find csar {}. Staus returned is {}", csarUuid, result.right().value());
+        } else {
+            Map<String, byte[]> values = result.left().value();
+            if (values != null) {
+                log.debug("The returned files are {}", values.keySet());
+            }
+        }
+
+        return result;
+    }
+
+    @SuppressWarnings("unchecked")
+    public Either<String, StorageOperationStatus> getCsarLatestVersion(String csarUuid, User user) {
+
+        Either<String, StorageOperationStatus> result = onboardingClient.getPackages(user.getUserId());
+
+        if (result.isRight()) {
+            log.debug("Cannot find version for package with Id {}. Status returned is {}", csarUuid, result.right().value());
+        } else {
+            String latestVersion = null;
+            JsonElement root = new JsonParser().parse(result.left().value());
+            JsonArray csarsInfo = root.getAsJsonObject().get("results").getAsJsonArray();
+            for (JsonElement csarInfo : csarsInfo) {
+                Map<String, String> csarInfoMap = new Gson().fromJson(csarInfo, Map.class);
+                if(csarInfoMap.get("packageId").equals(csarUuid)){
+                    String curVersion = csarInfoMap.get("version");
+                    if(latestVersion == null || isGreater(latestVersion, curVersion)){
+                        latestVersion = curVersion;
+                    }
+                }
+            }
+            if (latestVersion != null) {
+                result = Either.left(latestVersion);
+            } else {
+                log.debug("The returned packages are {}. Failed to find latest version for package with Id {}. ", result.left().value(), csarUuid);
+                result = Either.right(StorageOperationStatus.NOT_FOUND);
+            }
+        }
+
+        return result;
+    }
+
+    private boolean isGreater(String latestVersion, String currentVersion) {
+        return Double.parseDouble(latestVersion) < Double.parseDouble(currentVersion);
+    }
+
+    public OnboardingClient getOnboardingClient() {
+        return onboardingClient;
+    }
 
 }