[AAF-21] Initial code import
[aaf/cadi.git] / core / src / main / java / com / att / cadi / util / SubStandardConsole.java
1 /*******************************************************************************\r
2  * ============LICENSE_START====================================================\r
3  * * org.onap.aai\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * Copyright © 2017 Amdocs\r
7  * * ===========================================================================\r
8  * * Licensed under the Apache License, Version 2.0 (the "License");\r
9  * * you may not use this file except in compliance with the License.\r
10  * * You may obtain a copy of the License at\r
11  * * \r
12  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
13  * * \r
14  *  * Unless required by applicable law or agreed to in writing, software\r
15  * * distributed under the License is distributed on an "AS IS" BASIS,\r
16  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17  * * See the License for the specific language governing permissions and\r
18  * * limitations under the License.\r
19  * * ============LICENSE_END====================================================\r
20  * *\r
21  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
22  * *\r
23  ******************************************************************************/\r
24 package com.att.cadi.util;\r
25 \r
26 import java.io.BufferedReader;\r
27 import java.io.IOException;\r
28 import java.io.InputStreamReader;\r
29 \r
30 // Substandard, because System.in doesn't do Passwords..\r
31 public class SubStandardConsole implements MyConsole {\r
32         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));\r
33         @Override\r
34         public String readLine(String fmt, Object... args) {\r
35                 String rv;\r
36                 try {\r
37                         System.out.printf(fmt,args);\r
38                         rv = br.readLine();\r
39                         if(args.length==1 && rv.length()==0) {\r
40                                 rv = args[0].toString();\r
41                         }\r
42                 } catch (IOException e) {\r
43                         System.err.println("uh oh...");\r
44                         rv = "";\r
45                 }\r
46                 return rv;\r
47         }\r
48 \r
49         @Override\r
50         public char[] readPassword(String fmt, Object... args) {\r
51                 try {\r
52                         System.out.printf(fmt,args);\r
53                         return br.readLine().toCharArray();\r
54                 } catch (IOException e) {\r
55                         System.err.println("uh oh...");\r
56                         return new char[0];\r
57                 }\r
58         }\r
59 \r
60         @Override\r
61         public void printf(String fmt, Object... args) {\r
62                 System.out.printf(fmt, args);\r
63         }\r
64 }\r