<version>5.0.3-SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>org.yaml</groupId>
- <artifactId>snakeyaml</artifactId>
- <version>1.18</version>
+ <groupId>com.esotericsoftware.yamlbeans</groupId>
+ <artifactId>yamlbeans</artifactId>
+ <version>1.13</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
import org.onap.cli.fw.schema.OnapCommandSchema;
import org.onap.cli.fw.schema.OnapCommandSchemaInfo;
import org.onap.cli.fw.utils.OnapCommandDiscoveryUtils;
-import org.yaml.snakeyaml.Yaml;
/**
* Product list.
"/" + product + OnapCommandConstants.PRODUCT_REGISTRY_YAML);
if (stream != null) {
- Map<String, ?> map = (Map<String, ?>) new Yaml().load(stream);
+ Map<String, ?> map = OnapCommandDiscoveryUtils.loadYaml(stream);
Map<String, String> productMap = (Map<String, String>) map.get("product");
String description = (String) productMap.get(OnapCommandConstants.DESCRIPTION);
this.getResult().getRecordsMap().get("description").getValues().add(description.trim());
import org.onap.cli.fw.schema.OnapCommandSchema;
import org.onap.cli.fw.schema.OnapCommandSchemaInfo;
import org.onap.cli.fw.utils.OnapCommandDiscoveryUtils;
-import org.yaml.snakeyaml.Yaml;
/**
* Service list.
Map<String, String> serviceDescs = new HashMap<>();
if (stream != null) {
- Map<String, ?> map = (Map<String, ?>) new Yaml().load(stream);
+ Map<String, ?> map = OnapCommandDiscoveryUtils.loadYaml(stream);
if (map.containsKey("services")) {
List<Map<String, String>> services = (List) map.get("services");
import org.onap.cli.fw.utils.OnapCommandDiscoveryUtils;
import org.onap.cli.fw.utils.OnapCommandUtils;
import org.springframework.core.io.Resource;
-import org.yaml.snakeyaml.Yaml;
public class OnapCommandSchemaLoader {
* exception
*/
public static Map<String, ?> loadSchema(InputStream stream, String schemaName) throws OnapCommandInvalidSchema {
- Map<String, ?> values = null;
- try {
- values = (Map<String, ?>) new Yaml().load(stream);
- } catch (Exception e) {
- throw new OnapCommandInvalidSchema(schemaName, e);
- }
+ return OnapCommandDiscoveryUtils.loadYaml(stream);
- return values;
}
}
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;
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();
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);
}
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);
}
}
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);
}
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;
+ }
}
import org.onap.cli.fw.input.OnapCommandParameterType;
import org.onap.cli.main.error.OnapCliArgumentValueMissing;
import org.onap.cli.main.error.OnapCliInvalidArgument;
-import org.yaml.snakeyaml.Yaml;
+import com.esotericsoftware.yamlbeans.YamlReader;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
File file = new File(input);
if (file.isFile()) {
String value = FileUtils.readFileToString(file);
- new Yaml().load(value);
+ YamlReader reader = new YamlReader(value);
+ value = (String) reader.read();
return value;
} else {
return input;
import org.onap.cli.fw.error.OnapCommandHelpFailed;
import org.onap.cli.fw.registrar.OnapCommandRegistrar;
+import java.util.Map;
+import org.onap.cli.fw.error.OnapCommandInvalidSchema;
+import org.onap.cli.fw.utils.OnapCommandDiscoveryUtils;
+import static org.junit.Assert.assertFalse;
public class OnapCliMainTest {
fail("Directive help failed to run");
}
}
+ @Test
+ public void testLoadYamlForYamlReader() throws OnapCommandInvalidSchema {
+ Map<String,?> map = OnapCommandDiscoveryUtils.loadYaml("src/test/resources/open-cli-schema/sample-test-schema.yaml");
+ assertFalse(map.isEmpty());
+ }
}
Assert.assertTrue(((List<String>) arrParam.getValue())
.containsAll(Arrays.asList("test1", "test2")));
}
+ @Test
+ public void testReadYamlStringFromUrl() throws OnapCommandException {
+ OnapCommandParameter param1 = new OnapCommandParameter();
+ param1.setLongOption("yaml");
+ param1.setName("name");
+ param1.setParameterType(OnapCommandParameterType.YAML);
+ Set<OnapCommandParameter> paramslist = new HashSet<>();
+ paramslist.add(param1);
+ OnapCliArgsParser.populateParams(paramslist,
+ Arrays.asList("--yaml", "name", "--yaml", "test-schema"));
+ Assert.assertTrue(paramslist.iterator().next().getValue().equals("test-schema"));
+ }
+ @Test
+ public void testReadYamlStringFromUrlForFile() throws OnapCommandException {
+ OnapCommandParameter param1 = new OnapCommandParameter();
+ param1.setLongOption("yaml");
+ param1.setName("name");
+ param1.setParameterType(OnapCommandParameterType.YAML);
+ Set<OnapCommandParameter> paramslist = new HashSet<>();
+ paramslist.add(param1);
+ OnapCliArgsParser.populateParams(paramslist,
+ Arrays.asList("--yaml", "main/src/test/resources/open-cli-schema/sample-test-schema.yaml", "--yaml", "test-schema"));
+ Assert.assertTrue(paramslist.iterator().next().getValue().equals("test-schema"));
+ }
}
\ No newline at end of file
this.output = this.authClient.run(this.getInput());
this.getResult().setOutput(output);
- if (!this.getSuccessStatusCodes().contains(output.getStatus())) {
+ if (!this.getSuccessStatusCodes().contains(String.valueOf(output.getStatus()))) {
throw new OnapCommandExecutionFailed(this.getName(), output.getBody(), output.getStatus());
}
import org.onap.cli.fw.http.conf.OnapCommandHttpConstants;
import org.onap.cli.fw.utils.OnapCommandDiscoveryUtils;
import org.springframework.core.io.Resource;
-import org.yaml.snakeyaml.Yaml;
+import com.esotericsoftware.yamlbeans.YamlReader;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.github.dreamhead.moco.Moco;
import com.github.dreamhead.moco.ResponseHandler;
import com.github.dreamhead.moco.Runner;
+import java.io.InputStreamReader;
public class MocoServer {
}
List<Map<String, ?>> stringMap = null;
- try {
- stringMap = (List<Map<String, ?>>) new Yaml().load(resource.getInputStream());
+ try(InputStreamReader inputStreamReader = new InputStreamReader(resource.getInputStream());) {
+ stringMap = (List<Map<String, ?>>) new YamlReader(inputStreamReader).read();
} catch (IOException e) {
throw new OnapCommandException("Invalid mocking file" + mockFile, e);
}
if (mocoServerConfigs.containsKey(OnapCommandHttpConstants.VERIFY_RESPONSE_JSON)) {
responseHandlers.add(Moco.with(mocoServerConfigs.get(OnapCommandHttpConstants.VERIFY_RESPONSE_JSON).toString()));
}
- responseHandlers.add(Moco.status((Integer) mocoServerConfigs.get(OnapCommandHttpConstants.VERIFY_RESPONSE_STATUS)));
+ responseHandlers.add(Moco.status(Integer.parseInt(String.valueOf(mocoServerConfigs.get(OnapCommandHttpConstants.VERIFY_RESPONSE_STATUS)))));
server.request(Moco.by(Moco.uri((String) mocoServerConfigs.get(OnapCommandHttpConstants.VERIFY_REQUEST_URI))))
.response(Moco.header(OnapCommandHttpConstants.VERIFY_CONTENT_TYPE, OnapCommandHttpConstants.VERIFY_CONTENT_TYPE_VALUE),
for (String key: context.keySet()) {
switch (key) {
case OnapCommandHttpConstants.CONTEXT_REMOVE_EMPTY_JSON_NODES:
- Boolean flag = (Boolean) context.get(OnapCommandHttpConstants.CONTEXT_REMOVE_EMPTY_JSON_NODES);
+ Boolean flag = Boolean.valueOf(context.get(OnapCommandHttpConstants.CONTEXT_REMOVE_EMPTY_JSON_NODES).toString());
cmd.getInput().getContext().put(OnapCommandHttpConstants.CONTEXT_REMOVE_EMPTY_JSON_NODES, flag.toString());
break;
}
}
for (Object successCode : requestSuccessCodes) {
- Integer code = (Integer) successCode;
+ Integer code = Integer.valueOf(String.valueOf(successCode));
if (code < 200 || code >= 300) {
if ( code != 404) {
errorList.add(OnapCommandHttpConstants.HTTP_SUCCESS_CODE_INVALID);
import org.onap.cli.moco.OnapCommandSample;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.yaml.snakeyaml.Yaml;
+import org.onap.cli.fw.error.OnapCommandInvalidSchema;
+import org.onap.cli.fw.utils.OnapCommandDiscoveryUtils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
List<OnapCommandSample> samples = new ArrayList<>();
Map<String, ?> values = null;
try {
- values = (Map<String, ?>) new Yaml().load(inputStream);
- } catch (Exception e) {
- throw new OnapCommandInvalidSample(fileName, e);
+ values = OnapCommandDiscoveryUtils.loadYaml(inputStream);
+ } catch (OnapCommandInvalidSchema e) { //NOSONAR
+ LOG.error("Failed to load schema file", e.getMessage());
}
OnapCommandSample sample = new OnapCommandSample();