Repository: incubator-ignite Updated Branches: refs/heads/ignite-1121 dedec5ed1 -> e81ff8ddd
# IGNITE-1121 Use common-cli to parse command line argument. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e81ff8dd Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e81ff8dd Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e81ff8dd Branch: refs/heads/ignite-1121 Commit: e81ff8ddd7c75e7c47823e336b4ef50a6d146329 Parents: dedec5e Author: sevdokimov <sergey.evdoki...@jetbrains.com> Authored: Mon Jul 13 09:51:29 2015 +0300 Committer: sevdokimov <sergey.evdoki...@jetbrains.com> Committed: Mon Jul 13 09:51:29 2015 +0300 ---------------------------------------------------------------------- modules/control-center-agent/pom.xml | 6 +++ .../org/apache/ignite/agent/AgentLauncher.java | 44 ++++++++++++++++++-- 2 files changed, 46 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e81ff8dd/modules/control-center-agent/pom.xml ---------------------------------------------------------------------- diff --git a/modules/control-center-agent/pom.xml b/modules/control-center-agent/pom.xml index 7d74127..9aab1fb 100644 --- a/modules/control-center-agent/pom.xml +++ b/modules/control-center-agent/pom.xml @@ -55,5 +55,11 @@ <artifactId>gson</artifactId> <version>2.3</version> </dependency> + + <dependency> + <groupId>commons-cli</groupId> + <artifactId>commons-cli</artifactId> + <version>1.2</version> + </dependency> </dependencies> </project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e81ff8dd/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java ---------------------------------------------------------------------- diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java index 360de24..ff68549 100644 --- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java +++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java @@ -17,6 +17,7 @@ package org.apache.ignite.agent; +import org.apache.commons.cli.*; import org.eclipse.jetty.websocket.client.*; import java.net.*; @@ -25,22 +26,57 @@ import java.net.*; * */ public class AgentLauncher { + /** */ + private static final Options options = new Options() + .addOption("l", "login", true, "User's login (email) on web-control-center") + .addOption("p", "password", true, "User's password") + .addOption("u", "url", true, "web-control-center URL"); + + private static void printHelp() { + HelpFormatter helpFormatter = new HelpFormatter(); + + helpFormatter.printHelp("\njava -jar control-center-agent.jar -l myem...@gmail.com -p qwerty", options); + } + /** * @param args Args. */ public static void main(String[] args) throws Exception { - String login = args[0]; - String pwd = args[1]; + CommandLineParser parser = new BasicParser(); + + CommandLine cmd = parser.parse(options, args); + + String login = cmd.getOptionValue('l'); + + if (login == null) { + System.out.println("Login is not specified."); + + printHelp(); + + System.exit(1); + } + + String pwd = cmd.getOptionValue('p'); + + if (pwd == null) { + System.out.println("Password is not specified."); + + printHelp(); + + System.exit(1); + } AgentConfiguration cfg = new AgentConfiguration(); cfg.setLogin(login); cfg.setPassword(pwd); - if (args.length > 2) + String uri = cmd.getOptionValue('u'); + + if (uri == null) cfg.setUri("ws://localhost:8088"); else - cfg.setUri(args[2]); + cfg.setUri(uri); WebSocketClient client = new WebSocketClient();