Repository: incubator-stratos Updated Branches: refs/heads/master 9d0b93496 -> 2af11e8cd
Size and RemoveOnTermination option for cartridge subscription in CLI Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/2af11e8c Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/2af11e8c Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/2af11e8c Branch: refs/heads/master Commit: 2af11e8cdd0b1723c05eeeda857c69ddf4cb8be0 Parents: 9d0b934 Author: Manula Thantriwatte <[email protected]> Authored: Mon Feb 17 17:40:10 2014 +0530 Committer: Manula Thantriwatte <[email protected]> Committed: Mon Feb 17 17:40:10 2014 +0530 ---------------------------------------------------------------------- .../stratos/cli/RestCommandLineService.java | 7 ++++- .../cli/beans/cartridge/CartridgeInfoBean.java | 21 ++++++++++++- .../stratos/cli/commands/SubscribeCommand.java | 33 ++++++++++++++++++-- .../apache/stratos/cli/utils/CliConstants.java | 6 ++++ 4 files changed, 62 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2af11e8c/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 04a2fb0..51bcbe2 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 @@ -708,7 +708,8 @@ public class RestCommandLineService { // This method does the cartridge subscription public void subscribe(String cartridgeType, String alias, String externalRepoURL, boolean privateRepo, String username, - String password, String dataCartridgeType, String dataCartridgeAlias, String asPolicy, String depPolicy) + String password, String dataCartridgeType, String dataCartridgeAlias, String asPolicy, + String depPolicy, String size, boolean remoOnTermination) throws CommandException { DefaultHttpClient httpClient = new DefaultHttpClient(); @@ -723,6 +724,8 @@ public class RestCommandLineService { cartridgeInfoBean.setDeploymentPolicy(null); cartridgeInfoBean.setDataCartridgeType(dataCartridgeType); cartridgeInfoBean.setDataCartridgeAlias(dataCartridgeAlias); + cartridgeInfoBean.setSize(size); + cartridgeInfoBean.setRemoveOnTermination(remoOnTermination); GsonBuilder gsonBuilder = new GsonBuilder(); Gson gson = gsonBuilder.create(); @@ -784,6 +787,8 @@ public class RestCommandLineService { cartridgeInfoBean.setDataCartridgeAlias(dataCartridgeAlias); cartridgeInfoBean.setAutoscalePolicy(asPolicy); cartridgeInfoBean.setDeploymentPolicy(depPolicy); + cartridgeInfoBean.setSize(size); + cartridgeInfoBean.setRemoveOnTermination(remoOnTermination); jsonSubscribeString = gson.toJson(cartridgeInfoBean, CartridgeInfoBean.class); completeJsonSubscribeString = "{\"cartridgeInfoBean\":" + jsonSubscribeString + "}"; http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2af11e8c/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/CartridgeInfoBean.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/CartridgeInfoBean.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/CartridgeInfoBean.java index 6f979a8..75f2784 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/CartridgeInfoBean.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/CartridgeInfoBean.java @@ -25,14 +25,17 @@ public class CartridgeInfoBean { String alias; String policy; String repoURL; - boolean privateRepo; String repoUsername; String repoPassword; String dataCartridgeType; String dataCartridgeAlias; + private String autoscalePolicy; private String deploymentPolicy; + private String size; + boolean privateRepo; + private boolean removeOnTermination; public String getCartridgeType() { return cartridgeType; @@ -121,4 +124,20 @@ public class CartridgeInfoBean { public void setDeploymentPolicy(String deploymentPolicy) { this.deploymentPolicy = deploymentPolicy; } + + public String getSize() { + return size; + } + + public void setSize(String size) { + this.size = size; + } + + public boolean isRemoveOnTermination() { + return removeOnTermination; + } + + public void setRemoveOnTermination(boolean removeOnTermination) { + this.removeOnTermination = removeOnTermination; + } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2af11e8c/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 d0ed264..0812303 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 @@ -66,6 +66,15 @@ public class SubscribeCommand implements Command<StratosCommandContext> { deployment.setArgName("deployment-policy"); options.addOption(deployment); + Option removeOnTermination = new Option(CliConstants.REMOVE_ON_TERMINATION_OPTION, CliConstants.REMOVE_ON_TERMINATION_LONG_OPTION, + true, "Remove-on-termination"); + removeOnTermination.setArgName("remove-on-termination"); + options.addOption(removeOnTermination); + + Option size = new Option(CliConstants.VOLUME_SIZE_OPTION, CliConstants.VOLUME_SIZE_LONG_OPTION, true, "Volume-size"); + size.setArgName("volume-size"); + options.addOption(size); + Option connectOption = new Option(CliConstants.CONNECT_OPTION, CliConstants.CONNECT_LONG_OPTION, true, "Data cartridge type"); connectOption.setArgName("data cartridge type"); @@ -122,7 +131,11 @@ public class SubscribeCommand implements Command<StratosCommandContext> { String asPolicy = null; String depPolicy = null; String repoURL = null, dataCartridgeType = null, dataCartridgeAlias = null, username = "", password = ""; + String size = null; + + boolean removeOnTermination = false; boolean privateRepo = false; + final CommandLineParser parser = new GnuParser(); CommandLine commandLine; try { @@ -171,6 +184,20 @@ public class SubscribeCommand implements Command<StratosCommandContext> { // } // privateRepo = true; //} + if (commandLine.hasOption(CliConstants.VOLUME_SIZE_OPTION)) { + if (logger.isTraceEnabled()) { + logger.trace("Volume size option is passed"); + + } + size = commandLine.getOptionValue(CliConstants.VOLUME_SIZE_OPTION); + } + if (commandLine.hasOption(CliConstants.REMOVE_ON_TERMINATION_OPTION)) { + if (logger.isTraceEnabled()) { + logger.trace("Remove on termination option is passed"); + + } + removeOnTermination = true; + } if (commandLine.hasOption(CliConstants.USERNAME_OPTION)) { if (logger.isTraceEnabled()) { logger.trace("Username option is passed"); @@ -219,10 +246,10 @@ public class SubscribeCommand implements Command<StratosCommandContext> { } 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); + password, dataCartridgeType, dataCartridgeAlias, asPolicy, depPolicy, size, removeOnTermination); + return CliConstants.SUCCESSFUL_CODE; + } catch (ParseException e) { if (logger.isErrorEnabled()) { logger.error("Error parsing arguments", e); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2af11e8c/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 f3b84e1..d8f2fd7 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 @@ -213,6 +213,12 @@ public class CliConstants { public static final String POLICY_OPTION = "o"; public static final String POLICY_LONG_OPTION = "policy"; + public static final String REMOVE_ON_TERMINATION_OPTION = "t"; + public static final String REMOVE_ON_TERMINATION_LONG_OPTION = "remove-on-termination"; + + public static final String VOLUME_SIZE_OPTION = "v"; + public static final String VOLUME_SIZE_LONG_OPTION = "volume-size"; + public static final String AUTOSCALING_POLICY_OPTION = "ap"; public static final String AUTOSCALING_POLICY_LONG_OPTION = "autoscaling-policy";
