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

Reply via email to