aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2018-03-23 13:15:14 +0530
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2018-03-23 13:15:14 +0530
commit7247c4f691efcb104fea7287ac9df541125655ee (patch)
tree4b8540573e1fee89a66d7356935f5368c244f478
parent2717e5498e7fd64fe53aabfa98de4930cb27ab3a (diff)
Add validation for sample file schema
Issue-ID: CLI-105 Change-Id: I748662f8f3760d9b38f1920bfadf82a210ddc3de Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
-rw-r--r--framework/src/main/java/org/onap/cli/fw/conf/OnapCommandConstants.java3
-rw-r--r--framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java16
2 files changed, 19 insertions, 0 deletions
diff --git a/framework/src/main/java/org/onap/cli/fw/conf/OnapCommandConstants.java b/framework/src/main/java/org/onap/cli/fw/conf/OnapCommandConstants.java
index c2bfc1d5..6f1741e5 100644
--- a/framework/src/main/java/org/onap/cli/fw/conf/OnapCommandConstants.java
+++ b/framework/src/main/java/org/onap/cli/fw/conf/OnapCommandConstants.java
@@ -45,6 +45,7 @@ public class OnapCommandConstants {
//schema
public static final String OPEN_CLI_SCHEMA_VERSION = "open_cli_schema_version";
public static final String OPEN_CLI_SCHEMA_VERSION_VALUE_1_0 = "1.0";
+
public static final String NAME = "name";
public static final String DESCRIPTION = "description";
@@ -148,6 +149,8 @@ public class OnapCommandConstants {
public static final String SAMPLE_GEN_ENABLED = "cli.sample.gen.enable";
public static final String SAMPLE_GEN_TARGET_FOLDER = "cli.sample.gen.target";
+ public static final String OPEN_CLI_SAMPLE_VERSION = "open_cli_sample_version";
+ public static final String OPEN_CLI_SAMPLE_VERSION_VALUE_1_0 = "1.0";
public static final String VERIFY_SAMPLES_DIRECTORY = "open-cli-sample";
public static final String VERIFY_SAMPLES_FILE_PATTERN = VERIFY_SAMPLES_DIRECTORY + YAML_PATTERN;
public static final String VERIFY_SAMPLES_MOCK_PATTERN = VERIFY_SAMPLES_DIRECTORY + JSON_PATTERN;
diff --git a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java
index 1732772e..d0789d74 100644
--- a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java
+++ b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java
@@ -303,6 +303,22 @@ public class OnapCommandDiscoveryUtils {
private static void updateSchemaInfoWithSample(Resource sampleResourse,
List<OnapCommandSchemaInfo> schemaInfos) throws OnapCommandInvalidSchema, IOException {
Map<String, ?> infoMap = loadSchema(sampleResourse);
+
+ if (infoMap == null) {
+ return;
+ }
+
+ Object sampleVersion = infoMap.get(OPEN_CLI_SAMPLE_VERSION);
+ if (sampleVersion == null) {
+ OnapCommandUtils.LOG.info("Invalid Sample yaml " + sampleResourse.getURI().toString());
+ return;
+ }
+
+ if (!sampleVersion.toString().equalsIgnoreCase(OnapCommandConstants.OPEN_CLI_SAMPLE_VERSION_VALUE_1_0)) {
+ OnapCommandUtils.LOG.info("Unsupported Sample version found " + sampleResourse.getURI().toString());
+ return;
+ }
+
String cmdName = (String) infoMap.get(OnapCommandConstants.VERIFY_CMD_NAME);
String version = (String) infoMap.get(OnapCommandConstants.VERIFY_CMD_VERSION);