diff options
3 files changed, 25 insertions, 1 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 2b3cf941..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 @@ -246,6 +246,11 @@ public class OnapCommandDiscoveryUtils { schema.setSchemaURI(resource.getURI().toString()); Object obj = resourceMap.get(OPEN_CLI_SCHEMA_VERSION); + if (obj == null) { + OnapCommandUtils.LOG.info("Invalid Schema yaml " + schema.getSchemaURI()); + continue; + } + schema.setVersion(obj.toString()); if (!schema.getVersion().equalsIgnoreCase(OnapCommandConstants.OPEN_CLI_SCHEMA_VERSION_VALUE_1_0)) { @@ -298,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); diff --git a/main/src/main/java/org/onap/cli/main/OnapCli.java b/main/src/main/java/org/onap/cli/main/OnapCli.java index e70c7186..3ba75711 100644 --- a/main/src/main/java/org/onap/cli/main/OnapCli.java +++ b/main/src/main/java/org/onap/cli/main/OnapCli.java @@ -86,7 +86,7 @@ public class OnapCli { } private void print(Throwable throwable) { - this.print(throwable.getMessage()); + this.print(throwable.getMessage() != null ? throwable.getMessage() : ""); LOG.error(throwable.getMessage(), throwable); } |