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";
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;
}
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