001 package jp.osdl.jbento2.report;
002
003 import java.util.Iterator;
004 import org.apache.commons.cli.*;
005
006 public class ReportCli {
007
008 public static void main(String[] args) throws Exception {
009 Options options = new Options();
010 options.addOption(OptionBuilder.withArgName("source dir").hasArg()
011 .withDescription("source dir.").withLongOpt("sourcedir")
012 .isRequired().create("s"));
013 options.addOption(OptionBuilder.withArgName("dest dir").hasArg()
014 .withDescription("dest dir.").withLongOpt("destdir")
015 .create("d"));
016 options.addOption("h", "help", false, "display help");
017
018 CommandLineParser parser = new PosixParser();
019 CommandLine line = null;
020 try {
021 line = parser.parse(options, args);
022 } catch (ParseException ex) {
023 throw ex;
024 }
025
026 if (line.hasOption("h")
027 || (line.getOptions().length == 0 && line.getArgs().length == 0)) {
028 HelpFormatter formatter = new HelpFormatter();
029 formatter.printHelp("ReportCli", options, true);
030 return;
031 }
032
033 Report report = new Report();
034
035 for (Iterator it = line.iterator(); it.hasNext();) {
036 Option o = (Option) it.next();
037 String longOpt = o.getLongOpt();
038 if (longOpt.equals("sourcedir")) {
039 report.setSourceDir(o.getValue());
040 }
041 if (longOpt.equals("destdir")) {
042 report.setDestDir(o.getValue());
043 }
044 }
045
046 report.generate();
047 }
048 }