Search in sources :

Example 11 with CmdLineRegisteredOption

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]);
    }
}
Also used : CmdLineRegisteredOption(alma.acs.util.CmdLineRegisteredOption) CmdLineArgs(alma.acs.util.CmdLineArgs)

Aggregations

CmdLineRegisteredOption (alma.acs.util.CmdLineRegisteredOption)11 CmdLineArgs (alma.acs.util.CmdLineArgs)9 BufferedReader (java.io.BufferedReader)2 File (java.io.File)2 ArrayList (java.util.ArrayList)2 AcsJContainerEx (alma.JavaContainerError.wrappers.AcsJContainerEx)1 EntryFile (alma.acs.releasedoc.Cvs2clXmlEntry.EntryFile)1 FileReader (java.io.FileReader)1 InputStreamReader (java.io.InputStreamReader)1 ParseException (java.text.ParseException)1