diff options
author | Denes Nemeth <denes.nemeth@nokia.com> | 2018-06-27 16:08:38 +0200 |
---|---|---|
committer | Denes Nemeth <denes.nemeth@nokia.com> | 2018-07-02 21:33:52 +0200 |
commit | 3e8bea1fa3861581b3caa81628da52da538b05f3 (patch) | |
tree | 15eeb2bb71eb2c5717eeaf8f729d1e91f86bf85a /nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfPackageBuilder.java | |
parent | 503e8f5d3df25f06f185e5cc98cbb6cd1b72d177 (diff) |
Add SO APIs to Nokia VNFM adapter
Change-Id: I7dfc5677144be3df553edb4141e89e543e1b977d
Signed-off-by: Denes Nemeth <denes.nemeth@nokia.com>
Issue-ID: VFC-950
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 { |