Example usage for org.apache.commons.cli Option getOpt

List of usage examples for org.apache.commons.cli Option getOpt

Introduction

In this page you can find the example usage for org.apache.commons.cli Option getOpt.

Prototype

public String getOpt() 

Source Link

Document

Retrieve the name of this Option.

Usage

From source file:sos.scheduler.cron.CronConverter.java

/**
 * @param args/* w  w w . jav  a2  s . com*/
 */
public static void main(final String[] args) {

    Logger logger = Logger.getLogger(CronConverter.class);
    @SuppressWarnings("unused")
    Log4JHelper objLogger = null;

    objLogger = new Log4JHelper(null);

    logger = Logger.getRootLogger();
    logger.info("SOS CronConverter - Main"); //$NON-NLS-1$

    /*try {
         test();
       } catch(Exception ex){
    ex.printStackTrace();
       }
    */
    try {
        //SOSArguments arguments = new SOSArguments(args);
        SOSLogger sosLogger;
        String sourceFile = "";
        String targetFile = "";
        String changeUser = "";
        File source = null;
        File target = null;
        int logLevel = 0;
        boolean sysTab = false;
        boolean useOldRunTime = false;
        String jobTimeout = "";
        /*
        try {
           sourceFile = arguments.as_string("-crontab=");
           if (sourceFile.equalsIgnoreCase("/etc/crontab")) sysTab = true;
           targetFile = arguments.as_string("-target=");
           logLevel = arguments.as_int("-v=",SOSStandardLogger.INFO);
           sysTab = arguments.as_bool("-system=",sysTab);
           useOldRunTime = arguments.as_bool("-oldRunTime=",false);
           changeUser = arguments.as_string("-change-user=", "su");
        } catch (Exception e1) {
           System.out.println(e1.getMessage());
           showUsage();
           System.exit(0);
        }*/
        Options options = new Options();
        OptionBuilder.withArgName("0|1");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to 1 if source is the system crontab (with user field)");

        Option optSysTab = OptionBuilder.create(conOptionsSYSTAB);

        OptionBuilder.withArgName("file");
        OptionBuilder.hasArgs();
        OptionBuilder.isRequired();
        OptionBuilder.withDescription("crontab file");

        Option optSourceFile = OptionBuilder.create(conOptionCRONTAB);
        OptionBuilder.withArgName("file");
        OptionBuilder.hasArgs();
        OptionBuilder.isRequired();
        OptionBuilder.withDescription("xml configuration file");

        Option optTargetFile = OptionBuilder.create(conOptionTARGET);
        OptionBuilder.withArgName("level");
        OptionBuilder.hasArg();
        OptionBuilder.withType(new Integer(0));
        OptionBuilder.withDescription("loglevel [0=info] [1=debug1]...[9=debug]");

        Option optLogLevel = OptionBuilder.create(conOptionVERBOSE);

        OptionBuilder.withArgName("command");
        OptionBuilder.hasArgs();
        OptionBuilder.withDescription(
                "change user command for -systab=1. 'su' or 'sudo' or define your own command using $SCHEDULER_CRONTAB_USER.");

        Option optChangeUser = OptionBuilder.create(conOptionCHANGEUSER);

        OptionBuilder.withArgName("seconds");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("job timeout (0 for unlimited");
        @SuppressWarnings("unused")
        Option optTimeOut = OptionBuilder.create(conOptionTIMEOUT);
        @SuppressWarnings("unused")
        Option optOldRunTime = new Option("oldRunTime", "");

        OptionBuilder.withArgName("true|false");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to true if script has to be mok'ed");
        Option optCreateMok = OptionBuilder.create(conOptionCREATE_MOCK);

        OptionBuilder.withArgName("true|false");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to true if you want to create jobChains and jobs");
        Option optCreateJobChains = OptionBuilder.create(conOptionCREATE_JobChains);

        options.addOption(optSysTab);
        options.addOption(optSourceFile);
        options.addOption(optTargetFile);
        options.addOption(optLogLevel);
        options.addOption(optChangeUser);
        options.addOption(optCreateMok);
        options.addOption(optCreateJobChains);

        CommandLineParser parser = new GnuParser();
        CommandLine line = null;
        try {
            line = parser.parse(options, args);
        } catch (Exception e) {
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("cronconverter", options, true);
            System.exit(0);
        }

        sourceFile = getWholeArgument(line.getOptionValues(conOptionCRONTAB));
        if (sourceFile.equalsIgnoreCase(conSystemCrontabName))
            sysTab = true;
        targetFile = getWholeArgument(line.getOptionValues(conOptionTARGET));

        String ll = line.getOptionValue(conOptionVERBOSE, "" + SOSStandardLogger.INFO);
        logLevel = Integer.parseInt(ll);
        if (line.hasOption(optSysTab.getOpt())) {
            sysTab = line.getOptionValue(optSysTab.getOpt()).trim().equals("1");
        }
        useOldRunTime = line.hasOption("oldRunTime");
        changeUser = "";
        if (line.hasOption(conOptionCHANGEUSER)) {
            changeUser = getWholeArgument(line.getOptionValues(conOptionCHANGEUSER));
        }

        jobTimeout = line.getOptionValue(conOptionTIMEOUT);
        if (logLevel == 0)
            logLevel = SOSLogger.INFO;
        sosLogger = new SOSStandardLogger(logLevel);

        target = new File(targetFile);
        source = new File(sourceFile);

        CronConverter cc = new CronConverter(sosLogger);
        if (jobTimeout != null && jobTimeout.length() > 0) {
            cc.setTimeout(jobTimeout);
        }
        cc.setChangeUserCommand(changeUser);
        if (line.hasOption(conOptionCREATE_MOCK)) { // JITL-28
            cc.setCreateAMock(line.getOptionValue(conOptionCREATE_MOCK).equalsIgnoreCase(conTRUE));
        }
        if (line.hasOption(conOptionCREATE_JobChains)) { // JITL-28
            cc.setCreateJobChainJobs(line.getOptionValue(conOptionCREATE_JobChains).equalsIgnoreCase(conTRUE));
        }

        cc.setSystemCronTab(sysTab);
        cc.oldRunTime = useOldRunTime;
        cc.cronFile2SchedulerXMLFile(source, target);

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:sos.scheduler.cron.CrontabFileConverter.java

/**
 * @param args/* w w  w .  java  2  s  .  c  o  m*/
 */
public static void main(final String[] args) {

    Logger logger = Logger.getLogger(CrontabFileConverter.class);
    @SuppressWarnings("unused")
    Log4JHelper objLogger = null;

    objLogger = new Log4JHelper(null);

    logger = Logger.getRootLogger();
    logger.info("SOS CronConverter - Main"); //$NON-NLS-1$

    /*try {
         test();
       } catch(Exception ex){
    ex.printStackTrace();
       }
    */
    try {
        //SOSArguments arguments = new SOSArguments(args);
        SOSLogger sosLogger;
        String sourceFile = "";
        String targetFile = "";
        String changeUser = "";
        File source = null;
        File target = null;
        int logLevel = 0;
        boolean sysTab = false;
        boolean useOldRunTime = false;
        String jobTimeout = "";
        /*
        try {
           sourceFile = arguments.as_string("-crontab=");
           if (sourceFile.equalsIgnoreCase("/etc/crontab")) sysTab = true;
           targetFile = arguments.as_string("-target=");
           logLevel = arguments.as_int("-v=",SOSStandardLogger.INFO);
           sysTab = arguments.as_bool("-system=",sysTab);
           useOldRunTime = arguments.as_bool("-oldRunTime=",false);
           changeUser = arguments.as_string("-change-user=", "su");
        } catch (Exception e1) {
           System.out.println(e1.getMessage());
           showUsage();
           System.exit(0);
        }*/
        Options options = new Options();
        OptionBuilder.withArgName("0|1");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to 1 if source is the system crontab (with user field)");

        Option optSysTab = OptionBuilder.create(conOptionsSYSTAB);

        OptionBuilder.withArgName("file");
        OptionBuilder.hasArgs();
        OptionBuilder.isRequired();
        OptionBuilder.withDescription("crontab file");

        Option optSourceFile = OptionBuilder.create(conOptionCRONTAB);
        OptionBuilder.withArgName("file");
        OptionBuilder.hasArgs();
        OptionBuilder.isRequired();
        OptionBuilder.withDescription("xml configuration file");

        Option optTargetFile = OptionBuilder.create(conOptionTARGET);
        OptionBuilder.withArgName("level");
        OptionBuilder.hasArg();
        OptionBuilder.withType(new Integer(0));
        OptionBuilder.withDescription("loglevel [0=info] [1=debug1]...[9=debug]");

        Option optLogLevel = OptionBuilder.create(conOptionVERBOSE);

        OptionBuilder.withArgName("command");
        OptionBuilder.hasArgs();
        OptionBuilder.withDescription(
                "change user command for -systab=1. 'su' or 'sudo' or define your own command using $SCHEDULER_CRONTAB_USER.");

        Option optChangeUser = OptionBuilder.create(conOptionCHANGEUSER);

        OptionBuilder.withArgName("seconds");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("job timeout (0 for unlimited");
        @SuppressWarnings("unused")
        Option optTimeOut = OptionBuilder.create(conOptionTIMEOUT);
        @SuppressWarnings("unused")
        Option optOldRunTime = new Option("oldRunTime", "");

        OptionBuilder.withArgName("true|false");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to true if script has to be mok'ed");
        Option optCreateMok = OptionBuilder.create(conOptionCREATE_MOCK);

        OptionBuilder.withArgName("true|false");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to true if you want to create jobChains and jobs");
        Option optCreateJobChains = OptionBuilder.create(conOptionCREATE_JobChains);

        options.addOption(optSysTab);
        options.addOption(optSourceFile);
        options.addOption(optTargetFile);
        options.addOption(optLogLevel);
        options.addOption(optChangeUser);
        options.addOption(optCreateMok);
        options.addOption(optCreateJobChains);

        CommandLineParser parser = new GnuParser();
        CommandLine line = null;
        try {
            line = parser.parse(options, args);
        } catch (Exception e) {
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("cronconverter", options, true);
            System.exit(0);
        }

        sourceFile = getWholeArgument(line.getOptionValues(conOptionCRONTAB));
        if (sourceFile.equalsIgnoreCase(conSystemCrontabName))
            sysTab = true;
        targetFile = getWholeArgument(line.getOptionValues(conOptionTARGET));

        String ll = line.getOptionValue(conOptionVERBOSE, "" + SOSStandardLogger.INFO);
        logLevel = Integer.parseInt(ll);
        if (line.hasOption(optSysTab.getOpt())) {
            sysTab = line.getOptionValue(optSysTab.getOpt()).trim().equals("1");
        }
        useOldRunTime = line.hasOption("oldRunTime");
        changeUser = "";
        if (line.hasOption(conOptionCHANGEUSER)) {
            changeUser = getWholeArgument(line.getOptionValues(conOptionCHANGEUSER));
        }

        jobTimeout = line.getOptionValue(conOptionTIMEOUT);
        if (logLevel == 0)
            logLevel = SOSLogger.INFO;
        sosLogger = new SOSStandardLogger(logLevel);

        target = new File(targetFile);
        source = new File(sourceFile);

        CrontabFileConverter cc = new CrontabFileConverter(sosLogger);
        if (jobTimeout != null && jobTimeout.length() > 0) {
            cc.setTimeout(jobTimeout);
        }
        cc.setChangeUserCommand(changeUser);
        if (line.hasOption(conOptionCREATE_MOCK)) { // JITL-28
            cc.setCreateAMock(line.getOptionValue(conOptionCREATE_MOCK).equalsIgnoreCase(conTRUE));
        }
        if (line.hasOption(conOptionCREATE_JobChains)) { // JITL-28
            cc.setCreateJobChainJobs(line.getOptionValue(conOptionCREATE_JobChains).equalsIgnoreCase(conTRUE));
        }

        //         cc.setCreateAMock(line.getOptionValue(conOptionCREATE_MOCK).equalsIgnoreCase(conTRUE));
        //         cc.setCreateJobChainJobs(line.getOptionValue(conOptionCREATE_JobChains).equalsIgnoreCase(conTRUE));

        cc.setSystemCronTab(sysTab);
        cc.oldRunTime = useOldRunTime;
        cc.cronFile2SchedulerXMLFile(source, target);

    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    }

    System.exit(0);
}

From source file:texnlp.apps.CatCombine.java

public static void main(String[] args) {

    CommandLineParser optparse = new PosixParser();

    Options options = new Options();
    options.addOption("s", "tagset", true, "the file containing the categories");
    options.addOption("o", "output", true, "the file containing the categories");

    try {//from w  ww  . j a  v  a  2  s.  co m
        CommandLine cline = optparse.parse(options, args);

        String tagsetFile = "";
        String outputType = "boolean";
        for (Option option : cline.getOptions()) {
            String value = option.getValue();
            switch (option.getOpt().charAt(0)) {
            case 's':
                tagsetFile = value;
                break;
            case 'o':
                outputType = value;
                break;
            }
        }

        TObjectIntHashMap<String> states = new TObjectIntHashMap<String>();
        String[] stateNames;
        int numStates = 0;

        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(tagsetFile)));

        int stateID = 0;
        String line = null;
        while ((line = br.readLine()) != null)
            states.put(line.trim(), stateID++);

        states.trimToSize();

        numStates = stateID;
        stateNames = new String[numStates];
        for (TObjectIntIterator<String> it = states.iterator(); it.hasNext();) {
            it.advance();
            stateNames[it.value()] = it.key();
        }

        int numTags = numStates;
        CategoryParser catp = new CategoryParser();
        Cat[] cats = new Cat[numTags];

        for (int i = 0; i < numTags; i++) {
            String catString = Cat.changeNonCats(stateNames[i]);
            // String catString = stateNames[i];
            Cat c = catp.parse(catString);
            cats[i] = c;
        }

        TransitionPrior tprior = new TransitionPrior(stateNames, states);

        for (int i = 0; i < numTags; i++) {
            for (int j = 0; j < numTags; j++) {
                String outputVal = "0";
                if (outputType.equals("weighted"))
                    outputVal = "1";

                if (Rules.canCombine(cats[i], cats[j])) {
                    outputVal = "1";
                    if (outputType.equals("weighted"))
                        outputVal = "10";
                }
                if (outputType.equals("prior"))
                    outputVal = Double.toString(tprior.tt[i][j]);

                System.out.println(outputVal + " " + stateNames[i] + " " + stateNames[j]);
            }

            String outputForEOS = "0";
            if (outputType.equals("weighted"))
                outputForEOS = "1";

            if (cats[i].notSeekingDir(Slash.R)) {
                outputForEOS = "1";
                if (outputType.equals("weighted"))
                    outputForEOS = "10";
            }

            if (outputType.equals("prior"))
                outputForEOS = Double.toString(tprior.tFinal[i]);

            System.out.println(outputForEOS + " " + stateNames[i] + " EOS");

        }

        for (int j = 0; j < numTags; j++) {
            String outputForBOS = "0";
            if (outputType.equals("weighted"))
                outputForBOS = "1";

            if (cats[j].notSeekingDir(Slash.L)) {
                outputForBOS = "1";
                if (outputType.equals("weighted"))
                    outputForBOS = "10";
            }

            if (outputType.equals("prior"))
                outputForBOS = Double.toString(tprior.tInitial[j]);

            System.out.println(outputForBOS + " BOS " + stateNames[j]);
        }

    } catch (ParseException exp) {
        System.out.println("Unexpected exception parsing command line options:" + exp.getMessage());
    } catch (IOException exp) {
        System.out.println("IOException:" + exp.getMessage());
        System.exit(0);
    }

}

From source file:texnlp.util.TaggerOptions.java

public TaggerOptions(CommandLine cline) throws IOException {

    boolean outputDirSet = false;
    for (Option option : cline.getOptions()) {
        String value = option.getValue();
        switch (option.getOpt().charAt(0)) {
        case 'a':
            setNumMachines(Integer.parseInt(value));
            break;
        case 'b':
            setBeta(Double.parseDouble(value));
            break;
        case 'c':
            setCutoffTD(Double.parseDouble(value));
            break;
        case 'd':
            setDevFile(value);/* w w  w .ja v  a  2 s.  c  om*/
            break;
        case 'e':
            setEvalFile(value);
            break;
        case 'f':
            setFormat(value);
            break;
        case 'g':
            setTagdictTraining(true);
            break;
        case 'i':
            setNumIterations(Integer.parseInt(value));
            break;
        case 'j':
            setDirichletTransition(true);
            break;
        case 'k':
            setDirichletEmission(true);
            break;
        case 'l':
            setMachineFile(value);
            break;
        case 'm':
            setModelType(value);
            break;
        case 'n':
            setMultitag(true);
            break;
        case 'o':
            setOutputDir(value);
            outputDirSet = true;
            break;
        case 'p':
            setPriorAmount(Double.parseDouble(value));
            break;
        case 'q':
            setLambda(Double.parseDouble(value));
            break;
        case 'r':
            setRawFile(value);
            break;
        case 's':
            setTagsetFile(value);
            break;
        case 't':
            setTaggedFile(value);
            break;
        case 'u':
            setUnconstrainedByTagdict(true);
            break;
        case 'v':
            setValidTagsForUnknownsMinCount(Integer.parseInt(value));
            break;
        case 'w':
            setContextGen(value);
            break;
        case 'z':
            setTolerance(Double.parseDouble(value));
            break;
        }
    }

    if (!outputDirSet)
        createOutputDir();
}

From source file:tikka.bhmm.apps.CommandLineOptions.java

/**
 *
 * @param cline//w w w .j a va  2s . com
 * @throws IOException
 */
public CommandLineOptions(CommandLine cline) throws IOException {

    String opt = null;

    for (Option option : cline.getOptions()) {
        String value = option.getValue();
        switch (option.getOpt().charAt(0)) {
        case 'a':
            alpha = Double.parseDouble(value);
            break;
        case 'b':
            beta = Double.parseDouble(value);
            break;
        case 'c':
            if (value.equals("conll2k")) {
                dataFormat = DataFormatEnum.DataFormat.CONLL2K;
            } else if (value.equals("hashslash")) {
                dataFormat = DataFormatEnum.DataFormat.HASHSLASH;
            } else if (value.equals("pipesep")) {
                dataFormat = DataFormatEnum.DataFormat.PIPESEP;
            } else if (value.equals("raw")) {
                dataFormat = DataFormatEnum.DataFormat.RAW;
            } else {
                System.err.println("\"" + value + "\" is an unknown data format option.");
                System.exit(1);
            }
            break;
        case 'd':
            if (value.endsWith("" + File.separator)) {
                trainDataDir = value.substring(0, value.length() - 1);
            } else {
                trainDataDir = value;
            }
            break;
        case 'e':
            experimentModel = value;
            break;
        case 'f':
            if (value.endsWith("" + File.separator)) {
                testDataDir = value.substring(0, value.length() - 1);
            } else {
                testDataDir = value;
            }
            break;
        case 'g':
            gamma = Double.parseDouble(value);
            break;
        case 'i':
            opt = option.getOpt();
            if (opt.equals("itr")) {
                numIterations = Integer.parseInt(value);
            } else if (opt.equals("ite")) {
                testSetBurninIterations = Integer.parseInt(value);
            }
            break;
        case 'j':
            if (value.endsWith("" + File.separator)) {
                annotatedTestTextOutDir = value.substring(0, value.length() - 1);
            } else {
                annotatedTestTextOutDir = value;
            }
            break;
        case 'k':
            opt = option.getOpt();
            if (opt.equals("ks")) {
                samples = Integer.parseInt(value);
            } else if (opt.equals("kl")) {
                lag = Integer.parseInt(value);
            }
            break;
        case 'l':
            modelInputPath = value;
            break;
        case 'm':
            modelOutputPath = value;
            break;
        case 'n':
            if (value.endsWith("" + File.separator)) {
                annotatedTrainTextOutDir = value.substring(0, value.length() - 1);
            } else {
                annotatedTrainTextOutDir = value;
            }
            break;
        case 'o':
            opt = option.getOpt();
            if (opt.equals("ot")) {
                tabularOutputFilename = value;
                tabulatedOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(tabularOutputFilename)));
            } else if (opt.equals("oste")) {
                testEvaluationOutputFilename = value;
                testEvaluationOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(testEvaluationOutputFilename)));
            } else if (opt.equals("ostr")) {
                trainDataSampleScoreOutputFilename = value;
                trainDataSampleScoreOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(trainDataSampleScoreOutputFilename)));
            } else if (opt.equals("oe")) {
                evaluationOutputFilename = value;
                evaluationOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(evaluationOutputFilename)));
            }
            break;
        case 'p':
            opt = option.getOpt();
            if (opt.equals("pi")) {
                initialTemperature = Double.parseDouble(value);
            } else if (opt.equals("pd")) {
                temperatureDecrement = Double.parseDouble(value);
            } else if (opt.equals("pt")) {
                targetTemperature = Double.parseDouble(value);
            }
            break;
        case 'q':
            delta = Double.parseDouble(value);
            break;
        case 'r':
            if (value.equals("0")) {
                randomSeed = -1;
            } else {
                randomSeed = Integer.valueOf(value);
            }
            break;
        case 's':
            opt = option.getOpt();
            if (opt.equals("sc")) {
                contentstates = Integer.parseInt(value);
            } else if (opt.equals("sf")) {
                functionstates = Integer.parseInt(value);
            }
            break;
        case 't':
            topics = Integer.parseInt(value);
            break;
        case 'u':
            opt = option.getOpt();
            if (opt.equals("ut")) {
                if (value.equals("b")) {
                    tagSet = TagSetEnum.TagSet.BROWN;
                } else if (value.equals("p")) {
                    tagSet = TagSetEnum.TagSet.PTB;
                } else if (value.equals("t")) {
                    tagSet = TagSetEnum.TagSet.TIGER;
                } else if (value.equals("u")) {
                    tagSet = TagSetEnum.TagSet.USP;
                } else if (value.equals("f")) {
                    tagSet = TagSetEnum.TagSet.FLORESTA;
                } else if (value.equals("n")) {
                    tagSet = TagSetEnum.TagSet.NONE;
                }
            } else if (opt.equals("ur")) {
                int val = Integer.parseInt(value);
                if (val == 0) {
                    reductionLevel = TagSetEnum.ReductionLevel.FULL;
                } else {
                    reductionLevel = TagSetEnum.ReductionLevel.REDUCED;
                }
            }
            break;
        case 'w':
            outputPerClass = Integer.parseInt(value);
            break;
        case 'x':
            opt = option.getOpt();
            if (opt.equals("xd")) {
                posDictPath = value;
            } else if (opt.equals("xt")) {
                useTrigram = true;
            } else if (opt.equals("xthread")) {
                numThread = Integer.parseInt(value);
            } else if (opt.equals("xc")) {
                chunks = Integer.parseInt(value);
            } else if (opt.equals("xp")) {
                phash = Double.parseDouble(value);
            }
            break;
        }
    }
}

From source file:tikka.hhl.apps.CommandLineOptions.java

/**
 * // www  . ja  v a2s. c o  m
 * @param cline
 * @throws IOException
 */
public CommandLineOptions(CommandLine cline) throws IOException {

    String opt = null;

    for (Option option : cline.getOptions()) {
        String value = option.getValue();
        switch (option.getOpt().charAt(0)) {
        case 'a':
            alpha = Double.parseDouble(value);
            break;
        case 'b':
            beta = Double.parseDouble(value);
            break;
        case 'c':
            if (value.equals("conll2k")) {
                dataFormat = DataFormatEnum.DataFormat.CONLL2K;
            } else if (value.equals("hashslash")) {
                dataFormat = DataFormatEnum.DataFormat.HASHSLASH;
            } else if (value.equals("pipesep")) {
                dataFormat = DataFormatEnum.DataFormat.PIPESEP;
            } else if (value.equals("raw")) {
                dataFormat = DataFormatEnum.DataFormat.RAW;
            } else {
                System.err.println("\"" + value + "\" is an unknown data format option.");
                System.exit(1);
            }
            break;
        case 'd':
            if (value.endsWith("" + File.separator)) {
                trainDataDir = value.substring(0, value.length() - 1);
            } else {
                trainDataDir = value;
            }
            break;
        case 'e':
            experimentModel = value;
            break;
        case 'f':
            if (value.endsWith("" + File.separator)) {
                testDataDir = value.substring(0, value.length() - 1);
            } else {
                testDataDir = value;
            }
            break;
        case 'g':
            gamma = Double.parseDouble(value);
            break;
        case 'i':
            opt = option.getOpt();
            if (opt.equals("itr")) {
                numIterations = Integer.parseInt(value);
            } else if (opt.equals("ite")) {
                testSetBurninIterations = Integer.parseInt(value);
            }
            break;
        case 'j':
            if (value.endsWith("" + File.separator)) {
                annotatedTestTextOutDir = value.substring(0, value.length() - 1);
            } else {
                annotatedTestTextOutDir = value;
            }
            break;
        case 'k':
            opt = option.getOpt();
            if (opt.equals("ks")) {
                samples = Integer.parseInt(value);
            } else if (opt.equals("kl")) {
                lag = Integer.parseInt(value);
            }
            break;
        case 'l':
            modelInputPath = value;
            break;
        case 'm':
            modelOutputPath = value;
            break;
        case 'n':
            if (value.endsWith("" + File.separator)) {
                annotatedTrainTextOutDir = value.substring(0, value.length() - 1);
            } else {
                annotatedTrainTextOutDir = value;
            }
            break;
        case 'o':
            opt = option.getOpt();
            if (opt.equals("ot")) {
                tabularOutputFilename = value;
                tabulatedOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(tabularOutputFilename)));
            } else if (opt.equals("oste")) {
                testDataSampleScoreOutputFilename = value;
                testDataSampleScoreOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(testDataSampleScoreOutputFilename)));
            } else if (opt.equals("ostr")) {
                trainDataSampleScoreOutputFilename = value;
                trainDataSampleScoreOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(trainDataSampleScoreOutputFilename)));
            }
            break;
        case 'p':
            opt = option.getOpt();
            if (opt.equals("pi")) {
                initialTemperature = Double.parseDouble(value);
            } else if (opt.equals("pr")) {
                targetTemperature = Double.parseDouble(value);
            } else if (opt.equals("pt")) {
                temperatureDecrement = Double.parseDouble(value);
            }
            break;
        case 'q':
            topicSubStates = Integer.valueOf(value);
            break;
        case 'r':
            randomSeed = Integer.valueOf(value);
            break;
        case 's':
            states = Integer.parseInt(value);
            break;
        case 't':
            topics = Integer.parseInt(value);
            break;
        case 'w':
            outputPerClass = Integer.parseInt(value);
            break;
        case 'x':
            opt = option.getOpt();
            if (opt.equals("xmustembase")) {
                muStemBase = Double.parseDouble(value);
            } else if (opt.equals("xmustem")) {
                muStem = Double.parseDouble(value);
            } else if (opt.equals("xbetastembase")) {
                betaStemBase = Double.parseDouble(value);
            } else if (opt.equals("xbetastem")) {
                betaStem = Double.parseDouble(value);
            } else if (opt.equals("xmuaffixbase")) {
                muAffixBase = Double.parseDouble(value);
            } else if (opt.equals("xmuaffix")) {
                muAffix = Double.parseDouble(value);
            } else if (opt.equals("xpsi")) {
                psi = Double.parseDouble(value);
            } else if (opt.equals("xxi")) {
                xi = Double.parseDouble(value);
            } else if (opt.equals("xstemboundaryprob")) {
                stemBoundaryProb = Double.parseDouble(value);
            } else if (opt.equals("xaffixboundaryprob")) {
                affixBoundaryProb = Double.parseDouble(value);
            }
            break;
        }
    }
}

From source file:tikka.hmm.apps.CommandLineOptions.java

/**
 *
 * @param cline/*  www .  j  a  v  a 2s .  c o m*/
 * @throws IOException
 */
public CommandLineOptions(CommandLine cline) throws IOException {

    String opt = null;

    for (Option option : cline.getOptions()) {
        String value = option.getValue();
        switch (option.getOpt().charAt(0)) {
        case 'a':
            alpha = Double.parseDouble(value);
            break;
        case 'b':
            beta = Double.parseDouble(value);
            break;
        case 'c':
            if (value.equals("conll2k")) {
                dataFormat = DataFormatEnum.DataFormat.CONLL2K;
            } else if (value.equals("hashslash")) {
                dataFormat = DataFormatEnum.DataFormat.HASHSLASH;
            } else if (value.equals("pipesep")) {
                dataFormat = DataFormatEnum.DataFormat.PIPESEP;
            } else if (value.equals("raw")) {
                dataFormat = DataFormatEnum.DataFormat.RAW;
            } else {
                System.err.println("\"" + value + "\" is an unknown data format option.");
                System.exit(1);
            }
            break;
        case 'd':
            if (value.endsWith("" + File.separator)) {
                trainDataDir = value.substring(0, value.length() - 1);
            } else {
                trainDataDir = value;
            }
            break;
        case 'e':
            experimentModel = value;
            break;
        case 'f':
            if (value.endsWith("" + File.separator)) {
                testDataDir = value.substring(0, value.length() - 1);
            } else {
                testDataDir = value;
            }
            break;
        case 'g':
            gamma = Double.parseDouble(value);
            break;
        case 'i':
            opt = option.getOpt();
            if (opt.equals("itr")) {
                numIterations = Integer.parseInt(value);
            } else if (opt.equals("ite")) {
                testSetBurninIterations = Integer.parseInt(value);
            }
            break;
        case 'j':
            if (value.endsWith("" + File.separator)) {
                annotatedTestTextOutDir = value.substring(0, value.length() - 1);
            } else {
                annotatedTestTextOutDir = value;
            }
            break;
        case 'k':
            opt = option.getOpt();
            if (opt.equals("ks")) {
                samples = Integer.parseInt(value);
            } else if (opt.equals("kl")) {
                lag = Integer.parseInt(value);
            }
            break;
        case 'l':
            modelInputPath = value;
            break;
        case 'm':
            modelOutputPath = value;
            break;
        case 'n':
            if (value.endsWith("" + File.separator)) {
                annotatedTrainTextOutDir = value.substring(0, value.length() - 1);
            } else {
                annotatedTrainTextOutDir = value;
            }
            break;
        case 'o':
            opt = option.getOpt();
            if (opt.equals("ot")) {
                tabularOutputFilename = value;
                tabulatedOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(tabularOutputFilename)));
            } else if (opt.equals("oste")) {
                testDataSampleScoreOutputFilename = value;
                testDataSampleScoreOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(testDataSampleScoreOutputFilename)));
            } else if (opt.equals("ostr")) {
                trainDataSampleScoreOutputFilename = value;
                trainDataSampleScoreOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(trainDataSampleScoreOutputFilename)));
            } else if (opt.equals("oe")) {
                evaluationOutputFilename = value;
                evaluationOutput = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(evaluationOutputFilename)));
            }
            break;
        case 'p':
            opt = option.getOpt();
            if (opt.equals("pi")) {
                initialTemperature = Double.parseDouble(value);
            } else if (opt.equals("pd")) {
                temperatureDecrement = Double.parseDouble(value);
            } else if (opt.equals("pt")) {
                targetTemperature = Double.parseDouble(value);
            }
            break;
        case 'q':
            delta = Double.parseDouble(value);
            break;
        case 'r':
            randomSeed = Integer.valueOf(value);
            break;
        case 's':
            states = Integer.parseInt(value);
            break;
        case 't':
            topics = Integer.parseInt(value);
            break;
        case 'u':
            opt = option.getOpt();
            if (opt.equals("ut")) {
                if (value.equals("b")) {
                    tagSet = TagSetEnum.TagSet.BROWN;
                } else if (value.equals("p")) {
                    tagSet = TagSetEnum.TagSet.PTB;
                } else if (value.equals("t")) {
                    tagSet = TagSetEnum.TagSet.TIGER;
                }
            } else if (opt.equals("ur")) {
                int val = Integer.parseInt(value);
                if (val == 0) {
                    reductionLevel = TagSetEnum.ReductionLevel.FULL;
                } else {
                    reductionLevel = TagSetEnum.ReductionLevel.REDUCED;
                }
            }
            break;

        case 'w':
            outputPerClass = Integer.parseInt(value);
            break;
        }
    }
}

From source file:treecmp.commandline.CommandLineParser.java

public Command run(String args[]) {
    Command cmd = null;//from  www  .ja  v  a  2 s .c o m
    DefinedMetricsSet DMSet = DefinedMetricsSet.getInstance();

    Option oS = new Option("s", S_DESC);
    Option oW = new Option("w", W_DESC);
    oW.setArgName(W_ARG);
    oW.setArgs(1);
    Option oM = new Option("m", M_DESC);
    Option oR = new Option("r", R_DESC);
    oR.setArgName(R_ARG);
    oR.setArgs(1);

    OptionGroup cmdOpts = new OptionGroup();
    cmdOpts.addOption(oS);
    cmdOpts.addOption(oW);
    cmdOpts.addOption(oM);
    cmdOpts.addOption(oR);

    cmdOpts.setRequired(true);
    //set metric option
    Option oD = new Option("d", D_DESC);
    oD.setArgName(D_ARG);
    oD.setValueSeparator(' ');
    oD.setArgs(DMSet.size());
    oD.setRequired(true);

    Option oI = new Option("i", I_DESC);
    oI.setArgName(I_ARG);
    oI.setArgs(1);
    oI.setRequired(true);

    Option oO = new Option("o", O_DESC);
    oO.setArgs(1);
    oO.setArgName(O_ARG);
    oO.setRequired(true);

    Option oP = new Option("P", P_DESC);
    Option oSS = new Option("N", SS_DESC);
    Option oII = new Option("I", II_DESC);

    Option oOO = new Option("O", OO_DESC);
    Option oA = new Option("A", A_DESC);
    OptionGroup customMOpts = new OptionGroup();
    customMOpts.addOption(oOO);
    customMOpts.addOption(oA);

    Options opts = new Options();

    opts.addOptionGroup(cmdOpts);
    opts.addOption(oD);
    opts.addOption(oI);
    opts.addOption(oO);
    opts.addOption(oP);
    opts.addOption(oSS);
    opts.addOption(oII);
    opts.addOptionGroup(customMOpts);

    //getting version from manifest file
    String version = CommandLineParser.class.getPackage().getImplementationVersion();
    if (version == null) {
        version = "";
    }
    String FOOTER = "";
    String HEADER = " ";
    String APP_NAME = "TreeCmp version " + version + "\n";
    GnuParser parser = new GnuParser();
    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new OptOrder());

    System.out.println(APP_NAME);
    if (args.length == 0) {
        formatter.printHelp(CMD_LINE_SYNTAX, HEADER, opts, FOOTER, false);
        return null;
    }

    try {
        CommandLine commandLine = parser.parse(opts, args);
        if (commandLine != null) {
            // process these values
            //set IO settings
            String inputFileName = (String) commandLine.getOptionValue(oI.getOpt());
            String outputFileName = (String) commandLine.getOptionValue(oO.getOpt());

            if (inputFileName == null) {
                System.out.println("Error: input file not specified!");
                formatter.printHelp(CMD_LINE_SYNTAX, HEADER, opts, FOOTER, false);

                return null;
            }
            if (outputFileName == null) {
                System.out.println("Error: output file not specified!");
                formatter.printHelp(CMD_LINE_SYNTAX, HEADER, opts, FOOTER, false);
                return null;
            }

            //commandLine.
            IOSettings IOset = IOSettings.getIOSettings();
            IOset.setInputFile(inputFileName);
            IOset.setOutputFile(outputFileName);

            //custom additinal options
            ArrayList<Option> custOpts = new ArrayList<Option>();

            if (commandLine.hasOption(oP.getOpt())) {
                IOset.setPruneTrees(true);
                custOpts.add(oP);
            }
            if (commandLine.hasOption(oSS.getOpt())) {
                IOset.setRandomComparison(true);
                custOpts.add(oSS);
            }
            if (commandLine.hasOption(oA.getOpt())) {
                IOset.setGenAlignments(true);
                custOpts.add(oA);
            }
            if (commandLine.hasOption(oOO.getOpt())) {
                IOset.setOptMsMcByRf(true);
                custOpts.add(oOO);
            }
            if (commandLine.hasOption(oII.getOpt())) {
                IOset.setGenSummary(true);
                custOpts.add(oII);
            }
            Collections.sort(custOpts, new OptOrder());

            //set active metrics
            ActiveMetricsSet AMSet = ActiveMetricsSet.getInstance();

            final String[] metrics = commandLine.getOptionValues(oD.getOpt());
            for (int i = 0; i < metrics.length; i++) {

                final DefinedMetric definedMetric = DMSet.getDefinedMetric(metrics[i]);
                if (definedMetric != null) {
                    AMSet.addMetric(definedMetric);
                } else {
                    System.out.print("Error: ");
                    System.out.println("Metric: " + metrics[i] + " is unknown\n.");
                    formatter.printHelp(CMD_LINE_SYNTAX, HEADER, opts, FOOTER, false);
                    return null;
                }

            }

            //set active command
            String analysisType = "";

            if (commandLine.hasOption(oW.getOpt())) {
                String sWindowSize = (String) commandLine.getOptionValue(oW.getOpt());
                int iWindowSize = Integer.parseInt(sWindowSize);
                cmd = new RunWCommand(1, "-w", iWindowSize);
                analysisType = "window comparison mode (-w) with window size: " + iWindowSize;
            } else if (commandLine.hasOption(oM.getOpt())) {
                cmd = new RunMCommand(0, "-m");
                analysisType = "matrix comparison mode (-m)";
            } else if (commandLine.hasOption(oS.getOpt())) {
                cmd = new RunSCommand(0, "-s");
                analysisType = "overlapping pair comparison mode (-s)";
            } else if (commandLine.hasOption(oR.getOpt())) {
                String sRefTreeFile = (String) commandLine.getOptionValue(oR.getOpt());
                cmd = new RunRCommand(0, "-r", sRefTreeFile);
                analysisType = " ref-to-all comparison mode (-r)";
            } else {
                System.out.println("Error: type of the analysis not specified correctly!");
                formatter.printHelp(CMD_LINE_SYNTAX, HEADER, opts, FOOTER, false);
                return null;
            }

            printOptionsInEffect(analysisType, AMSet, inputFileName, outputFileName, custOpts);

            return cmd;
        } else {
            //Error during parsing command line
            return null;
        }
    } catch (ParseException ex) {
        log.log(Level.WARNING, "Could not parse command line arguments.", ex);
        System.out.println(CMD_ERROR);

        formatter.printHelp(CMD_LINE_SYNTAX, HEADER, opts, FOOTER, false);

    } catch (NumberFormatException ex) {
        System.out.print("Error: ");
        System.out.println("window size should be an integer.\n");
        formatter.printHelp(CMD_LINE_SYNTAX, HEADER, opts, FOOTER, false);

    }
    return cmd;
}

From source file:treecmp.commandline.CommandLineParser.java

private static void printOptionsInEffect(String analysisType, ActiveMetricsSet AMSet, String inputFileName,
        String outputFileName, List<Option> custOpts) {
    System.out.print(OPTS_HEADER);
    System.out.print(OPTS_TYPE + analysisType + "\n");
    System.out.print(OPTS_METRICS);
    Metric[] metrics = AMSet.getActiveMetricsTable();
    int nr;//  www  .  ja  v a  2 s  . c o  m
    Metric m;
    for (int i = 0; i < metrics.length; i++) {
        m = metrics[i];
        nr = i + 1;
        System.out.print("  " + nr + ". " + m.getName() + " (" + m.getCommandLineName() + ")\n");
    }

    System.out.print(OPTS_INPUT + inputFileName + "\n");
    System.out.print(OPTS_OUTPUT + outputFileName + "\n");
    if (!custOpts.isEmpty()) {
        System.out.print(OPTS_CUSTOM);
        for (Option opt : custOpts) {
            String optMsg = opt.getOpt() + " " + opt.getDescription() + "\n";
            System.out.print(optMsg);
        }
    }
    System.out.print("-----\n");

}

From source file:treecmp.commandline.CommandLineParser.java

public int compare(Option o1, Option o2) {
    Integer n1 = (Integer) order.get(o1.getOpt());
    Integer n2 = (Integer) order.get(o2.getOpt());
    if (n1 != null || n2 != null) {
        return n1 - n2;
    } else {//w  w w .ja va  2s  .co m
        return 0;
    }
}