package hep.aida.ref.xml.converters;
import java.util.List;
import org.freehep.util.argv.ArgumentFormatException;
import org.freehep.util.argv.ArgumentParser;
import org.freehep.util.argv.BooleanOption;
import org.freehep.util.argv.MissingArgumentException;
import org.freehep.util.argv.StringParameter;
public class Aida {
/**
* @param args
*/
public static void main(String[] args) {
BooleanOption help = new BooleanOption("-help", "-h", "Show this help page", true);
StringParameter command = new StringParameter("command", "Command to execute: 'convert', 'file', 'diff'");
ArgumentParser parser = new ArgumentParser("aida");
parser.add(help);
parser.add(command);
List extra;
try {
extra = parser.parse(args);
if(help.getValue()) {
parser.printUsage( System.out );
return;
}
} catch (MissingArgumentException e) {
parser.printUsage( System.out );
return;
} catch (ArgumentFormatException e) {
parser.printUsage( System.out );
return;
}
String cmd = command.getValue();
CommandHandler handler;
if (cmd.equalsIgnoreCase("convert")) {
handler = new ConvertHandler();
} else if (cmd.equalsIgnoreCase("file")) {
handler = new FileHandler();
} else if (cmd.equalsIgnoreCase("diff")) {
handler = new DiffHandler();
} else {
parser.printUsage( System.out );
return;
}
try {
handler.run(extra);
} catch (Throwable t) {
while (t != null) {
t.printStackTrace();
t = t.getCause();
}
}
}
}