diff options
Diffstat (limited to 'java/demo/Freeze/phonebook/RunParser.java')
-rw-r--r-- | java/demo/Freeze/phonebook/RunParser.java | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/java/demo/Freeze/phonebook/RunParser.java b/java/demo/Freeze/phonebook/RunParser.java index 80b4842fb81..d827af7a610 100644 --- a/java/demo/Freeze/phonebook/RunParser.java +++ b/java/demo/Freeze/phonebook/RunParser.java @@ -23,10 +23,9 @@ class RunParser static int runParser(String appName, String[] args, Ice.Communicator communicator) { - String commands; - boolean debug = false; - - int idx = 1; + String file = null; + int idx = 0; + while (idx < args.length) { if (args[idx].equals("-h") | args[idx].equals("--help")) @@ -49,6 +48,16 @@ class RunParser } else { + if (file == null) + { + file = args[idx]; + } + else + { + System.err.println(appName + ": only one file is supported."); + usage(appName); + return 1; + } ++idx; } } @@ -71,12 +80,23 @@ class RunParser } Parser parser = new Parser(communicator, phoneBook); - int status = 0; + int status; - int parseStatus = parser.parse(); - if (parseStatus != 0) + if (file == null) + { + status = parser.parse(); + } + else { - status = 1; + try + { + status = parser.parse(new java.io.BufferedReader(new java.io.FileReader(file))); + } + catch(java.io.IOException ex) + { + status = 1; + ex.printStackTrace(); + } } return status; |