diff options
-rw-r--r-- | framework/src/main/java/org/onap/cli/fw/input/ParameterType.java | 4 | ||||
-rw-r--r-- | main/src/main/java/org/onap/cli/main/utils/OnapCliUtils.java | 19 |
2 files changed, 22 insertions, 1 deletions
diff --git a/framework/src/main/java/org/onap/cli/fw/input/ParameterType.java b/framework/src/main/java/org/onap/cli/fw/input/ParameterType.java index c93d92fe..2625883e 100644 --- a/framework/src/main/java/org/onap/cli/fw/input/ParameterType.java +++ b/framework/src/main/java/org/onap/cli/fw/input/ParameterType.java @@ -30,7 +30,7 @@ public enum ParameterType { /** * YAML file. */ - YAML, STRING, LONG, + YAML, STRING, TEXT, LONG, /** * URL location. */ @@ -66,6 +66,8 @@ public enum ParameterType { return BINARY; } else if (UUID.name().equalsIgnoreCase(name)) { return UUID; + } else if (TEXT.name().equalsIgnoreCase(name)) { + return TEXT; } else { throw new OnapCommandInvalidParameterType(name); } diff --git a/main/src/main/java/org/onap/cli/main/utils/OnapCliUtils.java b/main/src/main/java/org/onap/cli/main/utils/OnapCliUtils.java index ed47bc68..be88aed0 100644 --- a/main/src/main/java/org/onap/cli/main/utils/OnapCliUtils.java +++ b/main/src/main/java/org/onap/cli/main/utils/OnapCliUtils.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import net.minidev.json.JSONObject; +import org.apache.commons.io.FileUtils; import org.onap.cli.fw.error.OnapCommandException; import org.onap.cli.fw.error.OnapCommandInvalidParameterValue; import org.onap.cli.fw.input.OnapCommandParameter; @@ -110,6 +111,11 @@ public class OnapCliUtils { paramMap.get(shortOptionMap.get(args.get(i))).getName())); i++; continue; + } if (paramMap.get(shortOptionMap.get(args.get(i))).getParameterType().equals(ParameterType.TEXT)) { + paramMap.get(shortOptionMap.get(args.get(i))).setValue(readTextStringFromUrl(args.get(i + 1), + paramMap.get(shortOptionMap.get(args.get(i))).getName())); + i++; + continue; } else if (paramMap.get(shortOptionMap.get(args.get(i))).getParameterType() .equals(ParameterType.ARRAY)) { Object value = paramMap.get(shortOptionMap.get(args.get(i))).getValue(); @@ -171,6 +177,11 @@ public class OnapCliUtils { paramMap.get(longOptionMap.get(args.get(i))).getName())); i++; continue; + } else if (paramMap.get(longOptionMap.get(args.get(i))).getParameterType().equals(ParameterType.TEXT)) { + paramMap.get(longOptionMap.get(args.get(i))).setValue(readTextStringFromUrl(args.get(i + 1), + paramMap.get(longOptionMap.get(args.get(i))).getName())); + i++; + continue; } else if (paramMap.get(longOptionMap.get(args.get(i))).getParameterType() .equals(ParameterType.ARRAY)) { Object value = paramMap.get(longOptionMap.get(args.get(i))).getValue(); @@ -248,6 +259,14 @@ public class OnapCliUtils { } } + private static String readTextStringFromUrl(String input, String argName) throws OnapCliInvalidArgument { + try { + return FileUtils.readFileToString(new File(input)); + } catch (IOException e) { + throw new OnapCliInvalidArgument(argName, e); + } + } + private static List<String> convertJsonToListString(String arg, String json) throws OnapCliInvalidArgument { TypeReference<List<String>> mapType = new TypeReference<List<String>>() { }; |