Updated Branches: refs/heads/master 41c048ec1 -> bc375af13
CLI URL validation & cartridge subscription policy argument added Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/a74f4312 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/a74f4312 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/a74f4312 Branch: refs/heads/master Commit: a74f4312197dcc8f15a9fa0e39f9f67409edc818 Parents: 11fadff Author: Manula Thantriwatte <[email protected]> Authored: Thu Dec 12 15:07:19 2013 +0530 Committer: Manula Thantriwatte <[email protected]> Committed: Thu Dec 12 15:07:19 2013 +0530 ---------------------------------------------------------------------- .../apache/stratos/cli/CartridgeInfoBean.java | 18 +++++++ .../stratos/cli/RestCommandLineService.java | 12 +++-- .../apache/stratos/cli/StratosApplication.java | 11 ++++ .../stratos/cli/commands/SubscribeCommand.java | 54 +++++++++++++++----- .../apache/stratos/cli/utils/CliConstants.java | 24 +++++---- 5 files changed, 92 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a74f4312/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/CartridgeInfoBean.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/CartridgeInfoBean.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/CartridgeInfoBean.java index 827912f..a2b3511 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/CartridgeInfoBean.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/CartridgeInfoBean.java @@ -30,6 +30,8 @@ public class CartridgeInfoBean { String repoPassword; String dataCartridgeType; String dataCartridgeAlias; + private String asPolicy; + private String depPolicy; public String getCartridgeType() { @@ -103,4 +105,20 @@ public class CartridgeInfoBean { public void setDataCartridgeAlias(String dataCartridgeAlias) { this.dataCartridgeAlias = dataCartridgeAlias; } + + public String getAsPolicy() { + return asPolicy; + } + + public void setAsPolicy(String asPolicy) { + this.asPolicy = asPolicy; + } + + public String getDepPolicy() { + return depPolicy; + } + + public void setDepPolicy(String depPolicy) { + this.depPolicy = depPolicy; + } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a74f4312/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java index 7bacd91..999793c 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java @@ -304,18 +304,20 @@ public class RestCommandLineService { } // This method does the cartridge subscription - public void subscribe(String cartridgeType, String alias, String policy, String externalRepoURL, - boolean privateRepo, String username, String password, String dataCartridgeType, String dataCartridgeAlias) + public void subscribe(String cartridgeType, String alias, String externalRepoURL, boolean privateRepo, String username, + String password, String dataCartridgeType, String dataCartridgeAlias, String asPolicy, String depPolicy) throws CommandException { CartridgeInfoBean cartridgeInfoBean = new CartridgeInfoBean(); cartridgeInfoBean.setCartridgeType(null); cartridgeInfoBean.setAlias(null); - cartridgeInfoBean.setPolicy(null); + //cartridgeInfoBean.setPolicy(null); cartridgeInfoBean.setRepoURL(null); cartridgeInfoBean.setPrivateRepo(false); cartridgeInfoBean.setRepoUsername(null); cartridgeInfoBean.setRepoPassword(null); + cartridgeInfoBean.setAsPolicy(null); + cartridgeInfoBean.setDepPolicy(null); cartridgeInfoBean.setDataCartridgeType(dataCartridgeType); cartridgeInfoBean.setDataCartridgeAlias(dataCartridgeAlias); @@ -354,13 +356,15 @@ public class RestCommandLineService { try { cartridgeInfoBean.setCartridgeType(cartridgeType); cartridgeInfoBean.setAlias(alias); - cartridgeInfoBean.setPolicy(policy); + //cartridgeInfoBean.setPolicy(policy); cartridgeInfoBean.setRepoURL(externalRepoURL); cartridgeInfoBean.setPrivateRepo(privateRepo); cartridgeInfoBean.setRepoUsername(username); cartridgeInfoBean.setRepoPassword(password); cartridgeInfoBean.setDataCartridgeType(dataCartridgeType); cartridgeInfoBean.setDataCartridgeAlias(dataCartridgeAlias); + cartridgeInfoBean.setAsPolicy(asPolicy); + cartridgeInfoBean.setDepPolicy(depPolicy); System.out.println("Second try"); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a74f4312/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java index a5f4f76..6a6f27a 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java @@ -384,6 +384,17 @@ public class StratosApplication extends CommandLineApplication<StratosCommandCon username = System.getenv(CliConstants.STRATOS_USERNAME_ENV_PROPERTY); password = System.getenv(CliConstants.STRATOS_PASSWORD_ENV_PROPERTY); + int slashCount = StringUtils.countMatches(stratosURL, "/"); + int colonCount = StringUtils.countMatches(stratosURL, ":"); + + if ( ! (colonCount == 2 && (slashCount == 3 || slashCount == 2))) { + if (logger.isDebugEnabled()) { + logger.debug("Invalid STRATOS_URL"); + } + + System.out.println("Invalid STRATOS_URL. Please enter correct STRATOS_URL"); + return false; + } if (StringUtils.isBlank(stratosURL)) { if (logger.isDebugEnabled()) { logger.debug("Required configuration not found."); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a74f4312/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/SubscribeCommand.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/SubscribeCommand.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/SubscribeCommand.java index aaf9a65..8d90d0e 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/SubscribeCommand.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/SubscribeCommand.java @@ -50,11 +50,21 @@ public class SubscribeCommand implements Command<StratosCommandContext> { */ private Options constructOptions() { final Options options = new Options(); - Option policyOption = new Option(CliConstants.POLICY_OPTION, CliConstants.POLICY_LONG_OPTION, true, - "Auto-scaling policy.\nPlease use \"" + CliConstants.POLICIES_ACTION - + "\" command to view the available policies."); - policyOption.setArgName("policy name"); - options.addOption(policyOption); + //Option policyOption = new Option(CliConstants.POLICY_OPTION, CliConstants.POLICY_LONG_OPTION, true, + // "Auto-scaling policy.\nPlease use \"" + CliConstants.POLICIES_ACTION + // + "\" command to view the available policies."); + //policyOption.setArgName("policy name"); + //options.addOption(policyOption); + + Option autoscaling = new Option(CliConstants.AUTOSCALING_POLICY_OPTION, CliConstants.AUTOSCALING_POLICY_LONG_OPTION, + true, "Auto-scaling policy"); + autoscaling.setArgName("auto-scaling-policy"); + options.addOption(autoscaling); + + Option deployment = new Option(CliConstants.DEPLOYMENT_POLICY_OPTION, CliConstants.DEPLOYMENT_POLICY_LONG_OPTION, + true, "Deployment-policy"); + deployment.setArgName("deployment-policy"); + options.addOption(deployment); Option connectOption = new Option(CliConstants.CONNECT_OPTION, CliConstants.CONNECT_LONG_OPTION, true, "Data cartridge type"); @@ -84,7 +94,8 @@ public class SubscribeCommand implements Command<StratosCommandContext> { passwordOption.setArgName("password"); passwordOption.setOptionalArg(true); options.addOption(passwordOption); - return options; + + return options; } @Override @@ -112,6 +123,8 @@ public class SubscribeCommand implements Command<StratosCommandContext> { String type = null; String alias = null; String policy = null; + String asPolicy = null; + String depPolicy = null; String repoURL = null, dataCartridgeType = null, dataCartridgeAlias = null, username = "", password = ""; boolean privateRepo = false; final CommandLineParser parser = new GnuParser(); @@ -132,12 +145,24 @@ public class SubscribeCommand implements Command<StratosCommandContext> { logger.debug("Subscribing to {} cartridge with alias {}", type, alias); } - if (commandLine.hasOption(CliConstants.POLICY_OPTION)) { - if (logger.isTraceEnabled()) { - logger.trace("Policy option is passed"); - } - policy = commandLine.getOptionValue(CliConstants.POLICY_OPTION); - } + //if (commandLine.hasOption(CliConstants.POLICY_OPTION)) { + // if (logger.isTraceEnabled()) { + // logger.trace("Policy option is passed"); + // } + // policy = commandLine.getOptionValue(CliConstants.POLICY_OPTION); + //} + if (commandLine.hasOption(CliConstants.AUTOSCALING_POLICY_DEPLOYMENT)) { + if (logger.isTraceEnabled()) { + logger.trace("Autoscaling policy option is passed"); + } + asPolicy = commandLine.getOptionValue(CliConstants.AUTOSCALING_POLICY_DEPLOYMENT); + } + if (commandLine.hasOption(CliConstants.DEPLOYMENT_POLICY_DEPLOYMENT)) { + if (logger.isTraceEnabled()) { + logger.trace("Deployment policy option is passed"); + } + depPolicy = commandLine.getOptionValue(CliConstants.DEPLOYMENT_POLICY_DEPLOYMENT); + } if (commandLine.hasOption(CliConstants.REPO_URL_OPTION)) { if (logger.isTraceEnabled()) { logger.trace("RepoURL option is passed"); @@ -184,8 +209,9 @@ public class SubscribeCommand implements Command<StratosCommandContext> { context.getStratosApplication().printUsage(getName()); return CliConstants.BAD_ARGS_CODE; } - RestCommandLineService.getInstance().subscribe(type, alias, policy, repoURL, privateRepo, username, - password, dataCartridgeType, dataCartridgeAlias); + + RestCommandLineService.getInstance().subscribe(type, alias, repoURL, privateRepo, username, + password, dataCartridgeType, dataCartridgeAlias, asPolicy, depPolicy); //CommandLineService.getInstance().subscribe(type, alias, policy, repoURL, privateRepo, username, // password, dataCartridgeType, dataCartridgeAlias); return CliConstants.SUCCESSFUL_CODE; http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a74f4312/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java index 61f899e..8a48353 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java @@ -50,44 +50,44 @@ public class CliConstants { /** * Subscribe to a cartridge. */ - public static final String SUBSCRIBE_ACTION = "subscribe"; + public static final String SUBSCRIBE_ACTION = "subscribe-cartridge"; - public static final String UNSUBSCRIBE_ACTION = "unsubscribe"; + public static final String UNSUBSCRIBE_ACTION = "unsubscribe-cartridge"; /** * List the subscribed cartridges */ - public static final String LIST_ACTION = "list"; + public static final String LIST_ACTION = "list-subscribe-cartridges"; /** * List the available cartridges */ - public static final String CARTRIDGES_ACTION = "cartridges"; + public static final String CARTRIDGES_ACTION = "list-available-cartridges"; /** * Add tenant */ - public static final String ADD_TENANT = "add-tenant"; + public static final String ADD_TENANT = "create-tenant"; /** * Cartridge deployment */ - public static final String CARTRIDGE_DEPLOYMENT = "cartridge-deployment"; + public static final String CARTRIDGE_DEPLOYMENT = "deploy-cartridge"; /** * Partition deployment */ - public static final String PARTITION_DEPLOYMENT = "partition-deployment"; + public static final String PARTITION_DEPLOYMENT = "deploy-partition"; /** * Autoscaling policy deployment */ - public static final String AUTOSCALING_POLICY_DEPLOYMENT = "autoscaling-policy-deployment"; + public static final String AUTOSCALING_POLICY_DEPLOYMENT = "deploy-autoscaling-policy"; /** * Deployment policy deployment */ - public static final String DEPLOYMENT_POLICY_DEPLOYMENT = "deployment-policy-deployment"; + public static final String DEPLOYMENT_POLICY_DEPLOYMENT = "deploy-deployment-policy"; /** * Give information of a cartridge. @@ -135,6 +135,12 @@ public class CliConstants { public static final String POLICY_OPTION = "o"; public static final String POLICY_LONG_OPTION = "policy"; + + public static final String AUTOSCALING_POLICY_OPTION = "as"; + public static final String AUTOSCALING_POLICY_LONG_OPTION = "autoscaling-policy"; + + public static final String DEPLOYMENT_POLICY_OPTION = "dp"; + public static final String DEPLOYMENT_POLICY_LONG_OPTION = "deployment-policy"; public static final String CONNECT_OPTION = "c"; public static final String CONNECT_LONG_OPTION = "connect";
