Fix SubStandardConsole 81/48381/1
authorInstrumental <jonathan.gathman@att.com>
Mon, 21 May 2018 21:12:28 +0000 (16:12 -0500)
committerInstrumental <jonathan.gathman@att.com>
Mon, 21 May 2018 21:13:29 +0000 (16:13 -0500)
Issue-ID: AAF-237
Change-Id: Ia4d446f95647be3cb03af1fbdc9f5d6b9f3d224b
Signed-off-by: Instrumental <jonathan.gathman@att.com>
cadi/core/src/main/java/org/onap/aaf/cadi/util/SubStandardConsole.java

index 8d52811..b7dd014 100644 (file)
@@ -27,7 +27,13 @@ import java.io.InputStreamReader;
 
 // Substandard, because System.in doesn't do Passwords..
 public class SubStandardConsole implements MyConsole {
-       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
+       private final static char[] BLANK = new char[0];
+       private final BufferedReader br; 
+
+       public SubStandardConsole() {
+               br = new BufferedReader(new InputStreamReader(System.in));
+       }
+       
        @Override
        public String readLine(String fmt, Object... args) {
                String rv;
@@ -48,10 +54,12 @@ public class SubStandardConsole implements MyConsole {
        public char[] readPassword(String fmt, Object... args) {
                try {
                        System.out.printf(fmt,args);
-                       return br.readLine().toCharArray();
+                       String response = br.readLine();
+                       return response==null?BLANK:response.toCharArray();
+
                } catch (IOException e) {
                        System.err.println("uh oh...");
-                       return new char[0];
+                       return BLANK;
                }
        }