summaryrefslogtreecommitdiff
path: root/java/demo/Freeze/phonebook/RunParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/demo/Freeze/phonebook/RunParser.java')
-rw-r--r--java/demo/Freeze/phonebook/RunParser.java36
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;