diff options
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.java | 37 |
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; + } } |