Add TEXT parameter type 73/11073/1
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Thu, 7 Sep 2017 11:28:41 +0000 (16:58 +0530)
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Thu, 7 Sep 2017 11:30:14 +0000 (17:00 +0530)
CLI-2
Change-Id: I4af65e154649e1cd891f30b870406fe5b5ea8cbb
Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
framework/src/main/java/org/onap/cli/fw/input/ParameterType.java
main/src/main/java/org/onap/cli/main/utils/OnapCliUtils.java

index c93d92f..2625883 100644 (file)
@@ -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);
         }
index ed47bc6..be88aed 100644 (file)
@@ -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>>() {
         };