aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java')
-rw-r--r--framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java37
1 files changed, 31 insertions, 6 deletions
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 105f68dc..23c825e2 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
@@ -56,7 +56,8 @@ import org.onap.cli.fw.schema.OnapCommandSchemaInfo;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
-import org.yaml.snakeyaml.Yaml;
+import com.esotericsoftware.yamlbeans.YamlReader;
+import com.esotericsoftware.yamlbeans.YamlException;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -64,7 +65,9 @@ import com.google.gson.stream.JsonReader;
import java.io.FileReader;
import java.io.Writer;
import java.io.FileWriter;
-
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.FileInputStream;
public class OnapCommandDiscoveryUtils {
private static Gson gson = new GsonBuilder().serializeNulls().create();
@@ -216,7 +219,7 @@ public class OnapCommandDiscoveryUtils {
public static Map<String, ?> loadSchema(Resource resource) throws OnapCommandInvalidSchema {
Map<String, ?> values = null;
try {
- values = (Map<String, ?>) new Yaml().load(resource.getInputStream());
+ values = loadYaml(resource.getInputStream());
} catch (Exception e) {
throw new OnapCommandInvalidSchema(resource.getFilename(), e);
}
@@ -306,7 +309,7 @@ public class OnapCommandDiscoveryUtils {
if (deafultResourceMap.containsKey(PARAMETERS)) {
List<Object> params = new ArrayList<>();
for (Map<String, ?> p: (List<Map<String, ?>>) deafultResourceMap.get(PARAMETERS)) {
- if (p.keySet().contains(IS_DEFAULT_PARAM) && !((Boolean) p.get(IS_DEFAULT_PARAM))) {
+ if (p.keySet().contains(IS_DEFAULT_PARAM) && ! (Boolean.getBoolean(String.valueOf(p.get(IS_DEFAULT_PARAM))))) {
params.add(p);
}
}
@@ -542,7 +545,7 @@ public class OnapCommandDiscoveryUtils {
public static Map<String, ?> loadYaml(Resource resource) throws OnapCommandInvalidSchema {
Map<String, ?> values = null;
try {
- values = (Map<String, ?>) new Yaml().load(resource.getInputStream());
+ values = loadYaml(resource.getInputStream());
} catch (Exception e) {
throw new OnapCommandInvalidSchema(resource.getFilename(), e);
}
@@ -560,11 +563,33 @@ public class OnapCommandDiscoveryUtils {
public static Map<String, ?> loadYaml(String filePath) throws OnapCommandInvalidSchema {
Map<String, ?> values = null;
try {
- values = (Map<String, Object>) new Yaml().load(FileUtils.readFileToString(new File(filePath)));
+ values = loadYaml(new FileInputStream(new File(filePath)));
} catch (Exception e) {
throw new OnapCommandInvalidSchema(filePath, e);
}
return values;
}
+
+
+ /**
+ * Get schema map.
+ *
+ * @param inputStream
+ * @return map
+ * @throws OnapCommandInvalidSchema
+ * exception
+ */
+ public static Map<String, ?> loadYaml(InputStream inputStream) throws OnapCommandInvalidSchema {
+ Map<String, ?> values = null;
+ try(InputStreamReader inputStreamReader = new InputStreamReader(inputStream);){
+ YamlReader reader = new YamlReader(inputStreamReader);
+ values = (Map<String, ?>) reader.read();
+ } catch (YamlException e) {
+ throw new OnapCommandInvalidSchema(inputStream.getClass().getName(),e.getMessage());
+ } catch (IOException e) {
+ throw new OnapCommandInvalidSchema(inputStream.getClass().getName(),e.getMessage());
+ }
+ return values;
+ }
}