Make the upload package succeed 71/12671/1
authorMurali <murali.p@huawei.com>
Fri, 15 Sep 2017 07:22:48 +0000 (07:22 +0000)
committerMurali <murali.p@huawei.com>
Fri, 15 Sep 2017 07:25:10 +0000 (07:25 +0000)
New package format was failing to upload to market place.Fixed it

Change-Id: I901e7c144ac082d1710f944fcf1987967aa5c50b
Jira:VNFSDK-87
Signed-off-by: Murali <murali.p@huawei.com>
vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/common/CommonConstant.java
vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/entity/EnumType.java
vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/wrapper/PackageWrapperUtil.java
vnfmarket-be/vnf-sdk-marketplace/src/test/resources/clearwater_ns.csar

index fc8ef1b..5432300 100644 (file)
@@ -39,6 +39,16 @@ public class CommonConstant {
   public static final String DEFINITIONS = "Definitions";
 
   public static final String CSAR_META = "csar.meta";
+  
+  public static final String MANIFEST = ".mf";
+  
+  public static final String MF_VERSION_META = "vnf_package_version";
+
+  public static final String MF_PRODUCT_NAME = "vnf_product_name";
+
+  public static final String MF_PROVIDER_META = "vnf_provider_id";
+
+  public static final String MF_RELEASE_DATETIME = "vnf_release_date_time";
 
   public static final String CSAR_SUFFIX = ".csar";
 
index 512b80f..a763a36 100644 (file)
@@ -280,8 +280,8 @@ public class PackageWrapperUtil {
         isXmlCsar = true;
       }
       for (String unzipFile : unzipFiles) {
-        if (unzipFile.endsWith(CommonConstant.CSAR_META)) {
-          basicInfo = readCsarMeta(unzipFile);
+                               if (unzipFile.endsWith(CommonConstant.MANIFEST)) {
+                                       basicInfo = readManifest(unzipFile);
         }
         if (ToolUtil.isYamlFile(new File(unzipFile))) {
           isXmlCsar = false;
@@ -328,7 +328,51 @@ public class PackageWrapperUtil {
     }
     return basicInfo;
   }
+       /**
+        * Reads the manifest file in the package and fills the basic infor about package
+        * @param unzipFile
+        * @return basic infor about package
+        */     
+       private static PackageBasicInfo readManifest(String unzipFile) {
 
+               // Fix the package type to CSAR, temporary
+               PackageBasicInfo basicInfo = new PackageBasicInfo();
+               basicInfo.setType(EnumType.CSAR);
+
+               File file = new File(unzipFile);
+               try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
+
+                       String tempString = null;
+                       while ((tempString = reader.readLine()) != null) {
+                               
+                               // If line is empty, ignore
+                               if (tempString.equals("")) {
+                                       continue;
+                               }
+
+                               int count1 = tempString.indexOf(":");
+                               String meta = tempString.substring(0, count1).trim();
+                               
+                               // Check for the package provider name
+                               if (meta.equalsIgnoreCase(CommonConstant.MF_PROVIDER_META)) {
+                                       int count = tempString.indexOf(":") + 1;
+                                       basicInfo.setProvider(tempString.substring(count).trim());
+                               }
+                               
+                               // Check for package version
+                               if (meta.equalsIgnoreCase(CommonConstant.MF_VERSION_META)) {
+                                       int count = tempString.indexOf(":") + 1;
+                                       basicInfo.setVersion(tempString.substring(count).trim());
+                               }
+                       }
+
+                       reader.close();
+               } catch (IOException e) {
+                       LOG.error("Exception while parsing manifest file" + e);                 
+               }
+
+               return basicInfo;
+       }
   /**
    * get package format enum.
    * @param format package format
index ac213ab..f279479 100644 (file)
Binary files a/vnfmarket-be/vnf-sdk-marketplace/src/test/resources/clearwater_ns.csar and b/vnfmarket-be/vnf-sdk-marketplace/src/test/resources/clearwater_ns.csar differ