upload 15/20515/1
authortalio <tali.orenbach@amdocs.com>
Wed, 25 Oct 2017 08:25:29 +0000 (11:25 +0300)
committertalio <tali.orenbach@amdocs.com>
Wed, 25 Oct 2017 08:25:29 +0000 (11:25 +0300)
enable upload for files with extension in uppercase, while not saving the extension in lowercase in the DB

Issue - Id : SDC-526

Change-Id: I42baa128d533937f0b257df9f174230f21676b12
Signed-off-by: talio <tali.orenbach@amdocs.com>
openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/OrchestrationTemplateCandidateManagerImpl.java
openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java
openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/process/OrchestrationProcessFactory.java
openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/utils/CommonUtil.java
openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/orchestration/OnboardingTypesEnum.java
openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java

index 3f6ffcc..07a3fa7 100644 (file)
@@ -30,6 +30,7 @@ import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
 import org.openecomp.sdc.activityLog.ActivityLogManager;
 import org.openecomp.sdc.common.errors.CoreException;
 import org.openecomp.sdc.common.errors.Messages;
+import org.openecomp.sdc.common.utils.CommonUtil;
 import org.openecomp.sdc.common.utils.SdcCommon;
 import org.openecomp.sdc.datatypes.error.ErrorLevel;
 import org.openecomp.sdc.datatypes.error.ErrorMessage;
@@ -258,20 +259,20 @@ public class OrchestrationTemplateCandidateManagerImpl
     OnboardingTypesEnum type =
         OnboardingTypesEnum.getOnboardingTypesEnum(vspDetails.getOnboardingOrigin());
 
-    if(vspDetails.getOnboardingOrigin().equals(OnboardingTypesEnum.ZIP.toString())) {
+    if(CommonUtil.isFileOriginFromZip(vspDetails.getOnboardingOrigin())) {
       FilesDataStructure structure = JsonUtil
           .json2Object(candidateDataEntity.get().getFilesDataStructure(), FilesDataStructure.class);
       String manifest = candidateService.createManifest(vspDetails, structure);
 
       mdcDataDebugMessage
           .debugExitMessage("VSP id", vspId);
-      return Optional.ofNullable(
+      return Optional.of(
           new ImmutablePair<>(OnboardingTypesEnum.ZIP.toString(),candidateService
               .replaceManifestInZip(candidateDataEntity.get().getContentData(),
               manifest, vspId, type)));
     }
 
-    return Optional.ofNullable(
+    return Optional.of(
         new ImmutablePair<>(vspDetails.getOnboardingOrigin(),candidateDataEntity.get()
             .getContentData().array()));
   }
index ceb635f..d4879da 100644 (file)
@@ -1102,7 +1102,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa
                 (vspDetails.getOnboardingOrigin()),
             uploadData.getContentData().array());
 
-    if (vspDetails.getOnboardingOrigin().equals(OnboardingTypesEnum.ZIP.name().toLowerCase())) {
+    if (CommonUtil.isFileOriginFromZip(vspDetails.getOnboardingOrigin())) {
       ValidationManager validationManager =
           ValidationManagerUtil.initValidationManager(fileContentMap);
       validationErrors.putAll(validationManager.validate());
index db43e00..516d85c 100644 (file)
@@ -28,11 +28,11 @@ public class OrchestrationProcessFactory {
   }
 
   public static Optional<OrchestrationTemplateProcessHandler> getInstance(String filePrefix) {
-    filePrefix = filePrefix == null ? null : filePrefix.toLowerCase().trim();
     if (filePrefix == null) {
       return Optional.empty();
     }
 
+    filePrefix = filePrefix.toLowerCase().trim();
     OnboardingTypesEnum onboardingTypesEnum = OnboardingTypesEnum.getOnboardingTypesEnum(filePrefix);
     if (onboardingTypesEnum == null) {
       return Optional.empty();
index 1c52930..72485d7 100644 (file)
@@ -42,6 +42,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
@@ -67,7 +68,7 @@ public class CommonUtil {
       throws IOException {
     Pair<FileContentHandler,List<String> > pair = getFileContentMapFromOrchestrationCandidateZip(uploadFileData);
 
-    if(type.equals(OnboardingTypesEnum.ZIP)) {
+    if(isFileOriginFromZip(type.toString())) {
       validateNoFolders(pair.getRight());
     }
 
@@ -133,7 +134,7 @@ public class CommonUtil {
     return -1;
   }
 
-  public static boolean validateFilesExtensions(Set<String> allowedExtensions, FileContentHandler
+  private static boolean validateFilesExtensions(Set<String> allowedExtensions, FileContentHandler
       files) {
     for (String fileName : files.getFileList()) {
       if (!allowedExtensions.contains(FilenameUtils.getExtension(fileName))) {
@@ -147,4 +148,9 @@ public class CommonUtil {
     Set<String> allowedExtensions = new HashSet<>(Arrays.asList("yml", "yaml"));
     return validateFilesExtensions(allowedExtensions, files);
   }
+
+  public static boolean isFileOriginFromZip(String fileOrigin){
+   return Objects.nonNull(fileOrigin)
+        && fileOrigin.toLowerCase().equals(OnboardingTypesEnum.ZIP.toString());
+  }
 }
index 04e64c3..85fe305 100644 (file)
@@ -20,13 +20,11 @@ public enum OnboardingTypesEnum {
         if (inStr == null) {
             return null;
         }
+
         Optional<OnboardingTypesEnum>  onboardingTypesOptional =  asList(OnboardingTypesEnum.values()).stream()
-                .filter(onboardingTypesEnum -> onboardingTypesEnum.toString().equals(inStr)).findAny();
-       if( onboardingTypesOptional.isPresent()){
-          return onboardingTypesOptional.get();
-       }else {
-           return null;
-       }
+                .filter(onboardingTypesEnum -> onboardingTypesEnum.toString().equals(inStr.toLowerCase()))
+            .findAny();
+      return onboardingTypesOptional.orElse(null);
     }
 
 }