001 package jp.osdl.jbento2.analyzer; 002 003 import java.io.IOException; 004 import java.util.Iterator; 005 006 import org.apache.commons.cli.*; 007 008 public class MultiResultCollectorCli { 009 010 public static void main(String[] args) throws ParseException, IOException { 011 Options options = new Options(); 012 options.addOption( 013 OptionBuilder. 014 withArgName("source dir"). 015 hasArg(). 016 withDescription("source directory."). 017 withLongOpt("sourcedir"). 018 create("s")); 019 options.addOption( 020 OptionBuilder. 021 withArgName("dest dir"). 022 hasArg(). 023 withDescription("destination directory."). 024 withLongOpt("dest"). 025 create("d")); 026 027 if (args.length == 0) { 028 HelpFormatter formatter = new HelpFormatter(); 029 formatter.printHelp("MultiResultCollectorCli", options, true); 030 return; 031 } 032 033 CommandLineParser parser = new PosixParser(); 034 CommandLine line = null; 035 try { 036 line = parser.parse(options, args); 037 } catch (ParseException ex) { 038 throw ex; 039 } 040 041 if (line.hasOption("h") || 042 (line.getOptions().length == 0 && line.getArgs().length == 0)) { 043 HelpFormatter formatter = new HelpFormatter(); 044 formatter.printHelp("MultiResultCollector", options, true); 045 return; 046 } 047 048 MultiResultCollector collector = new MultiResultCollector(); 049 050 for (Iterator it = line.iterator(); it.hasNext();) { 051 Option o = (Option)it.next(); 052 String longOpt = o.getLongOpt(); 053 if (longOpt.equals("sourcedir")) { 054 collector.setSrcDir(o.getValue()); 055 } else if (longOpt.equals("dest")) { 056 collector.setDestDir(o.getValue()); 057 } 058 } 059 060 if (collector.getSrcDir() == null) { 061 if (line.getArgs().length < 1) { 062 throw new MissingOptionException("source does not specified."); 063 } else { 064 collector.setSrcDir(line.getArgs()[0]); 065 } 066 } 067 collector.analyze(); 068 } 069 }