Example usage for org.apache.commons.cli HelpFormatter setOptionComparator

List of usage examples for org.apache.commons.cli HelpFormatter setOptionComparator

Introduction

In this page you can find the example usage for org.apache.commons.cli HelpFormatter setOptionComparator.

Prototype

public void setOptionComparator(Comparator comparator) 

Source Link

Document

Set the comparator used to sort the options when they output in help text Passing in a null parameter will set the ordering to the default mode

Usage

From source file:se.trixon.jota.server.Main.java

private static void displayHelp(Options options) {
    String header = sBundle.getString("help_header");
    String footer = sBundle.getString("help_footer");

    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(null);
    formatter.printHelp("jotaserver", header, options, footer, true);
}

From source file:se.trixon.mapollage.Mapollage.java

public static String getHelp() {
    PrintStream defaultStdOut = System.out;
    StringBuilder sb = new StringBuilder().append(sBundle.getString("usage")).append("\n\n");

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    PrintStream ps = new PrintStream(baos);
    System.setOut(ps);/* ww  w  . j av a  2  s .  c om*/

    HelpFormatter formatter = new HelpFormatter();
    formatter.setWidth(79);
    formatter.setOptionComparator(null);
    formatter.printHelp("xxx", sOptions, false);
    System.out.flush();
    System.setOut(defaultStdOut);
    sb.append(baos.toString().replace("usage: xxx" + System.lineSeparator(), "")).append("\n")
            .append(sBundle.getString("help_footer"));

    return sb.toString();
}

From source file:treecmp.commandline.CommandLineParser.java

public Command run(String args[]) {
    Command cmd = null;//from w ww.  j ava2  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:uni.bielefeld.cmg.sparkhit.hadoop.decodec.util.HelpParam.java

/**
 * print out help info with parameters/*from w w w .ja va 2  s. co  m*/
 */
public void printHelp() {
    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        public int compare(Option o1, Option o2) {
            return Integer.compare(parameterMap.get(o1.getOpt()), parameterMap.get(o2.getOpt()));
        }
    });

    final String executable = System.getProperty("executable", "Hadoop jar sparkhit-hadoopDecompressor.jar");
    err.println("Name:");
    err.println("\tSparkHit hadoop decompressor");
    err.println();
    err.println("Options:");
    formatter.printOptions(new PrintWriter(err, true), 85, parameter, 2, 3); /* print formatted parameters */
    err.println();
    err.println("Usage:");
    err.println("\tDeompressing BZip2 .bz2 file in parallel using Hadoop Mapper");
    err.println(executable + " [parameters] -bz2 hdfs://master/*/fastq.bz2 -outfile hdfs://master/out_dir");
    err.println(executable + " [parameters] -gz hdfs://master/*/fastq.gz -outfile hdfs://master/out_dir");
    err.println();
}

From source file:uni.bielefeld.cmg.sparkhit.util.HelpParam.java

/**
 * print out help info with parameters//www.  jav  a2 s .c o m
 */
public void printHelp() {
    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        public int compare(Option o1, Option o2) {
            return Integer.compare(parameterMap.get(o1.getOpt()), parameterMap.get(o2.getOpt()));
        }
    });

    final String executable = System.getProperty("executable",
            "spark-submit [spark parameter] --class uni.bielefeld.cmg.sparkhit.main.Main");
    err.println("Name:");
    err.println("\tSparkHit Main");
    err.println();
    err.println("Options:");
    formatter.printOptions(new PrintWriter(err, true), 85, parameter, 2, 3); /* print formatted parameters */
    err.println();
    err.println("Usage:");
    err.println("\tBuild reference : ");
    err.println(executable + " [parameters] -build reference.fa");
    err.println("\trun fragment recruitment : ");
    err.println(executable + " [parameters] -fastq query.fq -reference reference.fa -outfile output_file.txt");
    err.println(executable + " [parameters] -line query.txt -reference reference.fa -outfile output_file.txt");
    err.println();
}

From source file:uni.bielefeld.cmg.sparkhit.util.HelpParam.java

public void printConverterHelp() {
    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        public int compare(Option o1, Option o2) {
            return Integer.compare(parameterMap.get(o1.getOpt()), parameterMap.get(o2.getOpt()));
        }/*  ww w.  j a va  2 s  .  co  m*/
    });

    final String executable = System.getProperty("executable",
            "spark-submit [spark parameter] --class uni.bielefeld.cmg.sparkhit.main.MainOfConverter Sparkhit.jar");
    err.println("Name:");
    err.println("\tSparkHit Converter");
    err.println();
    err.println("Options:");
    formatter.printOptions(new PrintWriter(err, true), 85, parameter, 2, 3); /* print formatted parameters */
    err.println();
    err.println("Usage:");
    err.println("\tConvert different file format :");
    err.println(executable + " [parameters] -fastq query.fq.tar.bz2 -outfile ./outdir");
    err.println();
}

From source file:uni.bielefeld.cmg.sparkhit.util.HelpParam.java

public void printReporterHelp() {
    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        public int compare(Option o1, Option o2) {
            return Integer.compare(parameterMap.get(o1.getOpt()), parameterMap.get(o2.getOpt()));
        }//from   www. j  a  v a  2s . c o  m
    });

    final String executable = System.getProperty("executable",
            "spark-submit [spark parameter] --class uni.bielefeld.cmg.sparkhit.main.MainOfReporter Sparkhit.jar");
    err.println("Name:");
    err.println("\tSparkHit Reporter");
    err.println();
    err.println("Options:");
    formatter.printOptions(new PrintWriter(err, true), 85, parameter, 2, 3); /* print formatted parameters */
    err.println();
    err.println("Usage:");
    err.println("\tReport mappint summary");
    err.println(executable + " [parameters] -input ./sparkhit.out -outfile ./sparkhit.report");
    err.println();
}

From source file:uni.bielefeld.cmg.sparkhit.util.HelpParam.java

public void printScriptPiperHelp() {
    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        public int compare(Option o1, Option o2) {
            return Integer.compare(parameterMap.get(o1.getOpt()), parameterMap.get(o2.getOpt()));
        }//from   w w w.j a v  a  2 s  .c  om
    });

    final String executable = System.getProperty("executable",
            "spark-submit [spark parameter] --class uni.bielefeld.cmg.sparkhit.main.MainOfPiper Sparkhit.jar");
    err.println("Name:");
    err.println("\tSparkHit ScriptPiper (bwa, bowtie2 or other aligner)");
    err.println();
    err.println("Options:");
    formatter.printOptions(new PrintWriter(err, true), 85, parameter, 2, 3); /* print formatted parameters */
    err.println();
    err.println("Usage:");
    err.println("\tParallelize your own tool like bwa mem:");
    err.println(executable
            + " [parameters] -fastq query.fq.tar.bz2 -outfile ./outbams_dir -tool \"/mypath/bwa mem\" -toolparam \"/mypath/reference.fa -t 32\"");
    err.println();
}

From source file:uni.bielefeld.cmg.sparkhit.util.HelpParam.java

public void printStatisticerHelp() {
    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        public int compare(Option o1, Option o2) {
            return Integer.compare(parameterMap.get(o1.getOpt()), parameterMap.get(o2.getOpt()));
        }//from ww  w.  ja  v a2s .  c  om
    });

    final String executable = System.getProperty("executable",
            "spark-submit [spark parameter] --class uni.bielefeld.cmg.sparkhit.main.MainOfPiper Sparkhit.jar");
    err.println("Name:");
    err.println("\tSparkHit Machine Learning library");
    err.println();
    err.println("Options:");
    formatter.printOptions(new PrintWriter(err, true), 85, parameter, 2, 3); /* print formatted parameters */
    err.println();
    err.println("Usage:");
    err.println("\tMachine learning library for vcf or tabular file:");
    err.println(executable + " [parameters] -vcf genotype.vcf -outfile ./result -column 2-10 -cache");
    err.println();
}

From source file:uni.bielefeld.cmg.sparkhit.util.HelpParam.java

public void printDecompresserHelp() {
    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        public int compare(Option o1, Option o2) {
            return Integer.compare(parameterMap.get(o1.getOpt()), parameterMap.get(o2.getOpt()));
        }/*from w w  w . j ava  2  s .  co  m*/
    });

    final String executable = System.getProperty("executable",
            "spark-submit [spark parameter] --class uni.bielefeld.cmg.sparkhit.main.MainOfPiper Sparkhit.jar");
    err.println("Name:");
    err.println("\tSparkHit Decompresser");
    err.println();
    err.println("Options:");
    formatter.printOptions(new PrintWriter(err, true), 85, parameter, 2, 3); /* print formatted parameters */
    err.println();
    err.println("Usage:");
    err.println("\tDecomress zipball and tarball using spark codec:");
    err.println(executable + " [parameters] -fastq genotype.vcf -outfile ./decompressed");
    err.println();
}