summaryrefslogtreecommitdiffstats
path: root/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java
diff options
context:
space:
mode:
Diffstat (limited to 'csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java')
-rw-r--r--csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java148
1 files changed, 77 insertions, 71 deletions
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java
index c9a4de1..fd6a32f 100644
--- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java
+++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java
@@ -17,20 +17,20 @@
package org.onap.cvc.csar.cc.sol004;
-
-import org.onap.cli.fw.schema.OnapCommandSchema;
-import org.onap.cvc.csar.CSARArchive;
-import org.onap.cvc.csar.PnfCSARError;
-import org.onap.cvc.csar.PnfCSARError.PnfCSARErrorEntryMissing;
-import org.onap.cvc.csar.cc.VTPValidateCSARBase;
-
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
import java.util.Set;
+import org.onap.cli.fw.schema.OnapCommandSchema;
+import org.onap.cvc.csar.CSARArchive;
+import org.onap.cvc.csar.CSARArchive.CSARError;
+import org.onap.cvc.csar.PnfCSARError;
+import org.onap.cvc.csar.PnfCSARError.PnfCSARErrorEntryMissing;
+import org.onap.cvc.csar.cc.VTPValidateCSARBase;
@OnapCommandSchema(schema = "vtp-validate-csar-r146092.yaml")
public class VTPValidateCSARR146092 extends VTPValidateCSARBase {
@@ -38,116 +38,122 @@ public class VTPValidateCSARR146092 extends VTPValidateCSARBase {
private static final int UNKNOWN_LINE_NUMBER = -1;
private static final String SOURCE_ELEMENT_TAG = "Source";
- private static class MissingSourceElementUnderAttributeError extends PnfCSARError {
- private MissingSourceElementUnderAttributeError(String attributeName, String fileName) {
- super("0x2002",
- String.format("Missing. Entry [%s under %s]", SOURCE_ELEMENT_TAG, attributeName),
- UNKNOWN_LINE_NUMBER,
- fileName);
+ @Override
+ protected void validateCSAR(final CSARArchive csar) {
+ if (csar.getManifest().isNonManoAvailable()) {
+ final Optional<ValidateNonManoSection> validateNonManoSection = ValidateNonManoSection.getInstance(csar);
+ if (validateNonManoSection.isPresent()) {
+ errors.addAll(validateNonManoSection.get().validate());
+ }
}
}
- private static class InvalidPathToFileError extends PnfCSARError {
- private InvalidPathToFileError(String attributeName, String pathToSourceFile, String fileName) {
+ @Override
+ protected String getVnfReqsNo() {
+ return "R146092";
+ }
+
+ private static class MissingSourceElementUnderAttributeError extends PnfCSARError {
+
+ private MissingSourceElementUnderAttributeError(final String attributeName, final String fileName) {
super("0x2002",
- String.format("Invalid. Entry [%s under %s has invalid '%s' path]", SOURCE_ELEMENT_TAG, attributeName, pathToSourceFile),
- UNKNOWN_LINE_NUMBER,
- fileName);
+ String.format("Missing. Entry [%s under %s]", SOURCE_ELEMENT_TAG, attributeName),
+ UNKNOWN_LINE_NUMBER,
+ fileName);
}
}
- @Override
- protected void validateCSAR(CSARArchive csar) {
- if(csar.getManifest().isNonManoAvailable()) {
- Optional<ValidateNonManoSection> validateNonManoSection = ValidateNonManoSection.getInstance(csar);
- if(validateNonManoSection.isPresent()) {
- List<CSARArchive.CSARError> csarErrors = validateNonManoSection.get().validate();
- this.errors.addAll(csarErrors);
- }
+ private static class InvalidPathToFileError extends PnfCSARError {
+
+ private InvalidPathToFileError(final String attributeName, final String pathToSourceFile, final String fileName) {
+ super("0x2002",
+ String.format("Invalid. Entry [%s under %s has invalid '%s' path]", SOURCE_ELEMENT_TAG, attributeName,
+ pathToSourceFile),
+ UNKNOWN_LINE_NUMBER,
+ fileName);
}
}
-
private static class ValidateNonManoSection {
+
private final CSARArchive csar;
private final String fileName;
private final Map<String, Map<String, List<String>>> nonMano;
- private final List<CSARArchive.CSARError> errors = new ArrayList<>();
-
- private ValidateNonManoSection(CSARArchive csar, String fileName, Map<String, Map<String, List<String>>> nonMano) {
+ private final List<CSARError> errors = new ArrayList<>();
+ private final List<String> attributeNames = Arrays.asList(
+ "onap_ansible_playbooks",
+ "onap_others",
+ "onap_pm_dictionary",
+ "onap_pnf_sw_information",
+ "onap_scripts",
+ "onap_ves_events",
+ "onap_yang_modules"
+ );
+
+ private ValidateNonManoSection(final CSARArchive csar, final String fileName,
+ final Map<String, Map<String, List<String>>> nonMano) {
this.csar = csar;
this.fileName = fileName;
this.nonMano = nonMano;
}
- static Optional<ValidateNonManoSection> getInstance(CSARArchive csar) {
+ static Optional<ValidateNonManoSection> getInstance(final CSARArchive csar) {
final File manifestMfFile = csar.getManifestMfFile();
- if(manifestMfFile == null){
+ if (manifestMfFile == null) {
return Optional.empty();
}
final String fileName = manifestMfFile.getName();
final Map<String, Map<String, List<String>>> nonMano = csar.getManifest().getNonMano();
- return Optional.of(new ValidateNonManoSection(csar, fileName,nonMano));
+ return Optional.of(new ValidateNonManoSection(csar, fileName, nonMano));
}
- public List<CSARArchive.CSARError> validate() {
-
- List<String> attributeNames = Arrays.asList(
- "onap_ves_events",
- "onap_pm_dictionary",
- "onap_yang_modules",
- "onap_others"
- );
-
- for (String attributeName : attributeNames) {
- validateAttribute(attributeName);
+ public List<CSARError> validate() {
+ if (nonMano.keySet().stream().filter(Objects::nonNull).count() > 0) {
+ nonMano.keySet().stream().filter(Objects::nonNull).forEach(this::validateAttribute);
+ } else {
+ errors.add(new PnfCSARErrorEntryMissing(
+ attributeNames.toString(),
+ fileName,
+ UNKNOWN_LINE_NUMBER)
+ );
}
- return this.errors;
+ return errors;
}
- private void validateAttribute(String attributeName) {
- Set<String> nonManoAttributes = this.nonMano.keySet();
- if (!nonManoAttributes.contains(attributeName)) {
- this.errors.add(new PnfCSARErrorEntryMissing(
- attributeName,
- this.fileName,
- UNKNOWN_LINE_NUMBER)
+ private void validateAttribute(final String nonManoAttributes) {
+
+ if (!attributeNames.contains(nonManoAttributes)) {
+ errors.add(new PnfCSARErrorEntryMissing(
+ nonManoAttributes,
+ fileName,
+ UNKNOWN_LINE_NUMBER)
);
} else {
- validateSourceElementsUnderAttribute(attributeName);
+ validateSourceElementsUnderAttribute(nonManoAttributes);
}
}
- private void validateSourceElementsUnderAttribute(String attributeName) {
+ private void validateSourceElementsUnderAttribute(final String attributeName) {
- Map<String, List<String>> attributeElements = this.nonMano.get(attributeName);
- Set<String> attributeElementNames = attributeElements.keySet();
+ final Map<String, List<String>> attributeElements = nonMano.get(attributeName);
+ final Set<String> attributeElementNames = attributeElements.keySet();
if (!attributeElementNames.contains(SOURCE_ELEMENT_TAG)) {
- this.errors.add(new MissingSourceElementUnderAttributeError(attributeName, this.fileName));
+ errors.add(new MissingSourceElementUnderAttributeError(attributeName, fileName));
} else {
validateThatSourceFileExists(attributeName, attributeElements);
}
}
- private void validateThatSourceFileExists(String attributeName, Map<String, List<String>> attributeElements) {
- for (String pathToFile : attributeElements.get(SOURCE_ELEMENT_TAG)) {
- File fileFromCsar = this.csar.getFileFromCsar(pathToFile);
+ private void validateThatSourceFileExists(final String attributeName, final Map<String, List<String>> attributeElements) {
+ attributeElements.get(SOURCE_ELEMENT_TAG).forEach(pathToFile -> {
+ final File fileFromCsar = csar.getFileFromCsar(pathToFile);
if (!fileFromCsar.exists()) {
- this.errors.add(
- new InvalidPathToFileError(attributeName,
- pathToFile, this.fileName)
- );
+ errors.add(new InvalidPathToFileError(attributeName, pathToFile, fileName));
}
- }
+ });
}
}
- @Override
- protected String getVnfReqsNo() {
- return "R146092";
- }
-
-
}