From 35d4e259c80c9edeb362de0af9bd77bd3f4412b0 Mon Sep 17 00:00:00 2001 From: Bartosz Gardziejewski Date: Wed, 14 Oct 2020 14:01:03 +0200 Subject: Add handling of CSAR with no TOSCA meta and no certificate. Signed-off-by: Bartosz Gardziejewski Change-Id: Ic9914b13e0bd5d9844849f20051d99d18e369ae9 Issue-ID: VNFSDK-481 --- .../src/main/java/org/onap/cvc/csar/CSARArchive.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'csarvalidation/src/main/java/org/onap/cvc/csar/CSARArchive.java') diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/CSARArchive.java b/csarvalidation/src/main/java/org/onap/cvc/csar/CSARArchive.java index 70cd8f3..05f2070 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/CSARArchive.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/CSARArchive.java @@ -531,6 +531,13 @@ public class CSARArchive implements AutoCloseable { } } + public static class CSARErrorNoManifestsFound extends CSARError { + public CSARErrorNoManifestsFound() { + super("0x0016"); + this.message = "No manifest file found in CSAR!"; + } + } + /** * Holds the CSAR meta data values in both Modes * @@ -1091,7 +1098,10 @@ public class CSARArchive implements AutoCloseable { //manifest files = this.tempDir.toFile().listFiles((dir, name) -> name.endsWith(MF)); - if (files.length > 1) { + if (files.length == 0) { + errors.add(new CSARErrorNoManifestsFound()); + this.toscaMeta.setEntryManifestMf(null); + } else if (files.length > 1) { List fileNames = new ArrayList<>(); for (File f: files) { fileNames.add(f.getName()); @@ -1118,7 +1128,9 @@ public class CSARArchive implements AutoCloseable { //certificate files = this.tempDir.toFile().listFiles((dir, name) -> name.endsWith(CERT)); - if (files.length > 1) { + if (files.length == 0) { + this.toscaMeta.setEntryCertificate(null); + } else if (files.length > 1) { List fileNames = new ArrayList<>(); for (File f: files) { fileNames.add(f.getName()); -- cgit 1.2.3-korg