use of alma.acs.util.CmdLineRegisteredOption in project ACS by ACS-Community.
the class CommandLineParser method parse.
/**
* Parse the command line.
*
* @throws Exception In case of error parsing the command line
*/
private void parse(String[] args) throws Exception {
CmdLineArgs cmdLineArgs = new CmdLineArgs();
// Register the options
CmdLineRegisteredOption helpCmd = new CmdLineRegisteredOption("-h", "--help", 0);
cmdLineArgs.registerOption(helpCmd);
CmdLineRegisteredOption filterCmd = new CmdLineRegisteredOption("-f", "--filter", 0);
cmdLineArgs.registerOption(filterCmd);
CmdLineRegisteredOption engineFilterCmd = new CmdLineRegisteredOption("-e", "--engineFilter", 0);
cmdLineArgs.registerOption(engineFilterCmd);
CmdLineRegisteredOption discardCmd = new CmdLineRegisteredOption("-d", "--discard", 0);
cmdLineArgs.registerOption(discardCmd);
CmdLineRegisteredOption doNotConnectCmd = new CmdLineRegisteredOption("-dnc", "--DoNotConnect", 0);
cmdLineArgs.registerOption(doNotConnectCmd);
CmdLineRegisteredOption unlimitedCmd = new CmdLineRegisteredOption("-u", "--unlimited", 0);
cmdLineArgs.registerOption(unlimitedCmd);
CmdLineRegisteredOption loadCmd = new CmdLineRegisteredOption("-l", "--load", 0);
cmdLineArgs.registerOption(loadCmd);
CmdLineRegisteredOption audienceCmd = new CmdLineRegisteredOption("-a", "--audience", 0);
cmdLineArgs.registerOption(audienceCmd);
// Parse
cmdLineArgs.parseArgs(args);
// Get values
if (cmdLineArgs.isSpecified(helpCmd)) {
help = true;
}
if (cmdLineArgs.isSpecified(filterCmd)) {
String[] val = cmdLineArgs.getValues(filterCmd);
if (val == null || val.length < 1) {
throw new IllegalStateException("Filter file name missing");
}
filterFileName = val[0];
}
if (cmdLineArgs.isSpecified(engineFilterCmd)) {
String[] val = cmdLineArgs.getValues(engineFilterCmd);
if (val == null || val.length < 1) {
throw new IllegalStateException("Engine filter file name missing");
}
engineFilterFileName = val[0];
}
if (cmdLineArgs.isSpecified(discardCmd)) {
String[] val = cmdLineArgs.getValues(discardCmd);
if (val == null || val.length < 1) {
throw new IllegalStateException("Discard level missing ");
}
discardLevel = LogTypeHelper.fromLogTypeDescription(val[0]);
if (discardLevel == null && !(val[0].compareToIgnoreCase("None") == 0)) {
throw new Exception("Invalid discard level " + val[0]);
}
}
if (cmdLineArgs.isSpecified(doNotConnectCmd)) {
doNotConnect = true;
}
if (cmdLineArgs.isSpecified(unlimitedCmd)) {
unlimited = true;
}
if (cmdLineArgs.isSpecified(loadCmd)) {
String[] val = cmdLineArgs.getValues(loadCmd);
if (val == null || val.length < 1) {
throw new IllegalStateException("File name of logs to load mssing");
}
fileToLoad = val[0];
}
if (cmdLineArgs.isSpecified(audienceCmd)) {
String[] val = cmdLineArgs.getValues(audienceCmd);
if (val == null || val.length < 1) {
throw new IllegalStateException("Audience mssing");
}
audience = AudienceInfo.fromShortName(val[0]);
}
}
Aggregations