diff options
author | Yan Yang <yangyanyj@chinamobile.com> | 2018-07-26 01:11:57 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2018-07-26 01:11:57 +0000 |
commit | 0ba27e81b04128fe3c5c2a476eda8484f32ccfd7 (patch) | |
tree | 99ced00b5ad2a17f6b79333e723c13d6a9bef807 /nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfPackageBuilder.java | |
parent | 3cc1fad281c125803f4fb7b4284e1437a8ce1663 (diff) | |
parent | 3e8bea1fa3861581b3caa81628da52da538b05f3 (diff) |
Merge "Add SO APIs to Nokia VNFM adapter"
Diffstat (limited to 'nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfPackageBuilder.java')
-rw-r--r-- | nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfPackageBuilder.java | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfPackageBuilder.java b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfPackageBuilder.java index 8de82347..70b18c55 100644 --- a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfPackageBuilder.java +++ b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfPackageBuilder.java @@ -22,6 +22,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.Map; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -41,7 +42,7 @@ public class OnapVnfPackageBuilder { * @param args not used (required due to signature) */ public static void main(String[] args) throws Exception { - byte[] covert = new OnapVnfPackageBuilder().covert(systemFunctions().in(), SupportedOnapPackageVersions.V1); + byte[] covert = new OnapVnfPackageBuilder().covert(systemFunctions().in(), SupportedOnapPackageVersions.V1TOSCA); systemFunctions().out().write(covert); } @@ -55,11 +56,35 @@ public class OnapVnfPackageBuilder { String vnfdLocation = getVnfdLocation(new ByteArrayInputStream(cbamVnfPackage)); ByteArrayOutputStream vnfdContent = getFileInZip(new ByteArrayInputStream(cbamVnfPackage), vnfdLocation); byte[] cbamVnfdContent = vnfdContent.toByteArray(); - String onapVnfd = SupportedOnapPackageVersions.V2 == version ? - new OnapR2VnfdBuilder().toOnapVnfd(new String(cbamVnfdContent, StandardCharsets.UTF_8)) : - new OnapR1VnfdBuilder().toOnapVnfd(new String(cbamVnfdContent, StandardCharsets.UTF_8)); byte[] modifiedCbamPackage = new CbamVnfPackageBuilder().toModifiedCbamVnfPackage(cbamVnfPackage, vnfdLocation, new CbamVnfdBuilder().build(new String(cbamVnfdContent))); - return buildNewOnapPackage(modifiedCbamPackage, onapVnfd); + switch (version){ + case V1TOSCA: + case V2TOSCA: + String onapVnfd = SupportedOnapPackageVersions.V2TOSCA == version ? + new OnapR2VnfdBuilder().toOnapVnfd(new String(cbamVnfdContent, StandardCharsets.UTF_8)) : + new OnapR1VnfdBuilder().toOnapVnfd(new String(cbamVnfdContent, StandardCharsets.UTF_8)); + return buildNewOnapPackage(modifiedCbamPackage, onapVnfd); + case V2HEAT: + default: + Map<String, String> files = new OnapR2HeatPackageBuilder().processVnfd(new String(cbamVnfdContent)); + return buildHeatOnapPackage(modifiedCbamPackage, files); + } + + } + + private byte [] buildHeatOnapPackage(byte [] modifiedCbamPackage, Map<String, String> heatFiles) throws IOException { + ByteArrayOutputStream result = new ByteArrayOutputStream(); + ZipOutputStream out = new ZipOutputStream(result); + out.putNextEntry(new ZipEntry("Artifacts/Deployment/OTHER/cbam.package.zip")); + out.write(modifiedCbamPackage); + out.closeEntry(); + for (Map.Entry<String, String> file : heatFiles.entrySet()) { + out.putNextEntry(new ZipEntry(file.getKey())); + out.write(file.getValue().getBytes()); + out.closeEntry(); + } + out.close(); + return result.toByteArray(); } private byte[] buildNewOnapPackage(byte[] modifiedCbamPackage, String onapVnfd) throws IOException { |