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";
 

Reply via email to