Add CLI_DEV 77/11077/1
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Fri, 8 Sep 2017 11:15:43 +0000 (16:45 +0530)
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Fri, 8 Sep 2017 11:17:37 +0000 (16:47 +0530)
While working on the commands implementation CLI_DEV
env can be used to refresh the YAML everytime cli is ran

CLI-2
Change-Id: Ic267f3f4eba7f8bd653eee9c82269d154a44e05c
Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
deployment/docker/src/main/docker/docker-compose.yaml
framework/src/main/java/org/onap/cli/fw/OnapCommandRegistrar.java
framework/src/main/java/org/onap/cli/fw/conf/Constants.java
framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java
framework/src/test/resources/short-options.txt [new file with mode: 0644]
main/src/main/java/org/onap/cli/main/OnapCli.java
main/src/main/java/org/onap/cli/main/utils/OnapCliUtils.java

index c486fe9..c2c32cb 100644 (file)
@@ -1,7 +1,6 @@
 version: '2.0'
 
 services:
-
   occ:
     image: onap/cli
     environment:
@@ -19,3 +18,13 @@ services:
     image: onap/cli
     environment:
       CLI_MODE: 'console'
+
+  dev:
+    stdin_open: true
+    tty: true
+    image: onap/cli
+    environment:
+      CLI_DEV: "true"
+      CLI_MODE: 'console'
+    ports:
+      - 5005:5005
index 019eb82..01d4742 100644 (file)
@@ -58,6 +58,8 @@ public class OnapCommandRegistrar {
 
     private boolean isInteractiveMode = false;
 
+    private boolean isDevMode = Boolean.getBoolean(System.getenv(Constants.CLI_DEV_MODE));
+
     private OnapCommandParameterCache paramCache = new OnapCommandParameterCache();
 
     public boolean isInteractiveMode() {
@@ -80,6 +82,15 @@ public class OnapCommandRegistrar {
         paramCache.remove(this.getEnabledProductVersion(), paramName);
     }
 
+    public boolean isDevMode() {
+        return isDevMode;
+    }
+
+    public void setDevMode(boolean isDevMode) {
+        this.isDevMode = isDevMode;
+    }
+
+
     private static OnapCommandRegistrar registrar = null;
 
     /**
index 23dfbbb..d7e277c 100644 (file)
@@ -195,8 +195,12 @@ public class Constants {
     public static final String USE_DIRECTIVE = "use";
 
     public static final String PARAM_CACHE_FILE_NAME = "cli.parameter.cache.file";
+
+    public static final String CLI_DEV_MODE = "CLI_DEV";
+
     private Constants() {
     }
 
 }
 
+
index b31b75c..ec735cf 100644 (file)
@@ -21,6 +21,7 @@ import com.jayway.jsonpath.JsonPath;
 import net.minidev.json.JSONArray;
 import net.minidev.json.JSONObject;
 import org.onap.cli.fw.OnapCommand;
+import org.onap.cli.fw.OnapCommandRegistrar;
 import org.onap.cli.fw.ad.OnapCredentials;
 import org.onap.cli.fw.ad.OnapService;
 import org.onap.cli.fw.cmd.OnapHttpCommand;
@@ -1654,7 +1655,7 @@ public class OnapCommandUtils {
      */
     public static List<ExternalSchema> loadExternalSchemasFromJson() throws OnapCommandException {
         List<ExternalSchema> schemas = new ArrayList<>();
-        if (!isJsonFileDiscovered()) {
+        if (OnapCommandRegistrar.getRegistrar().isDevMode() || !isJsonFileDiscovered()) {
             schemas = findAllExternalSchemas();
             if (!schemas.isEmpty()) {
                 persist(schemas);
diff --git a/framework/src/test/resources/short-options.txt b/framework/src/test/resources/short-options.txt
new file mode 100644 (file)
index 0000000..d569630
--- /dev/null
@@ -0,0 +1 @@
+a d f h m p s t u v
\ No newline at end of file
index c175f67..0920f84 100644 (file)
@@ -19,9 +19,7 @@ package org.onap.cli.main;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.commons.io.IOUtils;
 import org.onap.cli.fw.OnapCommand;
index be88aed..3ab4cce 100644 (file)
@@ -261,7 +261,13 @@ public class OnapCliUtils {
 
     private static String readTextStringFromUrl(String input, String argName) throws OnapCliInvalidArgument {
         try {
-            return FileUtils.readFileToString(new File(input));
+            File file = new File(input);
+            if (file.isFile()) {
+                return FileUtils.readFileToString(file);
+            } else {
+                return input;
+            }
+
         } catch (IOException e) {
             throw new OnapCliInvalidArgument(argName, e);
         }