/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.integration.server.copier; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; import com.opengamma.util.ArgumentChecker; /** * Server copier command line options */ public class CommandLineOption { /** * Help command line option. */ static final String HELP_OPTION = "h"; /** * tool context config name option. */ static final String TOOLCONTEXT_CONFIG = "config"; /** * server url option. */ static final String SERVER = "server"; private String _configFile; private String _serverUrl; public CommandLineOption(String[] args, Class<?> entryPointClazz) { ArgumentChecker.notNull(args, "args"); ArgumentChecker.notNull(entryPointClazz, "entryPointClazz"); Options options = getCommandLineOption(); final CommandLineParser parser = new PosixParser(); CommandLine line = null; try { line = parser.parse(options, args); } catch (final ParseException e) { usage(options, entryPointClazz); } if (line.hasOption(HELP_OPTION)) { usage(options, entryPointClazz); } else { _configFile = line.getOptionValue(TOOLCONTEXT_CONFIG); _serverUrl = line.getOptionValue(SERVER); } } private Options getCommandLineOption() { Options options = new Options(); Option configOption = new Option("c", TOOLCONTEXT_CONFIG, true, "The tool context config file"); configOption.setRequired(true); options.addOption(configOption); Option serverUrlOption = new Option("s", SERVER, true, "The opengamma server url"); serverUrlOption.setRequired(true); options.addOption(serverUrlOption); return options; } public String getConfigFile() { return _configFile; } public String getServerUrl() { return _serverUrl; } private void usage(final Options options, Class<?> entryPointClazz) { final HelpFormatter formatter = new HelpFormatter(); formatter.setWidth(120); formatter.printHelp("java " + entryPointClazz.getName(), options, true); } }