Updated Branches:
  refs/heads/master 9a15bebe4 -> 8a036e5f7

Add list autoscale policy and list deployment policy commands to 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/e9453e77
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/e9453e77
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/e9453e77

Branch: refs/heads/master
Commit: e9453e77e8668037d980a7d9d368da34696353ac
Parents: 939f673
Author: Manula Thantriwatte <[email protected]>
Authored: Thu Dec 12 22:25:29 2013 +0530
Committer: Manula Thantriwatte <[email protected]>
Committed: Thu Dec 12 22:25:29 2013 +0530

----------------------------------------------------------------------
 .../org/apache/stratos/cli/AutoscalePolicy.java |  52 +++++++
 .../java/org/apache/stratos/cli/Cartridge.java  |   1 -
 .../java/org/apache/stratos/cli/Partition.java  |  76 ++++++++++
 .../org/apache/stratos/cli/PropertyBean.java    |  42 ++++++
 .../stratos/cli/RestCommandLineService.java     | 141 ++++++++++++++++++-
 .../apache/stratos/cli/StratosApplication.java  |   6 +
 .../cli/commands/AutoscalePolicyCommand.java    |  51 +++++++
 .../stratos/cli/commands/PartitionCommand.java  |  66 +++++++++
 .../stratos/cli/commands/SubscribeCommand.java  |   2 -
 .../apache/stratos/cli/utils/CliConstants.java  |  10 ++
 .../policy/autoscale/AutoscalePolicy.java       |  40 +++++-
 .../bean/util/converter/PojoConverter.java      |  52 +++----
 12 files changed, 502 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/AutoscalePolicy.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/AutoscalePolicy.java
 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/AutoscalePolicy.java
new file mode 100644
index 0000000..ab76704
--- /dev/null
+++ 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/AutoscalePolicy.java
@@ -0,0 +1,52 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+
+ *  http://www.apache.org/licenses/LICENSE-2.0
+
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.stratos.cli;
+
+public class AutoscalePolicy {
+
+    private String id;
+
+    private String displayName;
+
+    private String description;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getDisplayName() {
+        return displayName;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/Cartridge.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/Cartridge.java
 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/Cartridge.java
index dfcf409..1623fd7 100644
--- 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/Cartridge.java
+++ 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/Cartridge.java
@@ -188,7 +188,6 @@ public class Cartridge implements Comparable<Cartridge> {
         this.mappedDomain = mappedDomain;
     }
 
-    @Override
     public int compareTo(Cartridge o) {
         int compare = 0;
         if (cartridgeAlias != null && o.cartridgeAlias != null) {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/Partition.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/Partition.java
 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/Partition.java
new file mode 100644
index 0000000..6c74bb5
--- /dev/null
+++ 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/Partition.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.cli;
+
+import java.util.List;
+
+public class Partition {
+
+    private String id;
+
+    private int partitionMin;
+
+    private int partitionMax;
+
+    private String provider;
+
+    private List<PropertyBean> property;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public int getPartitionMin() {
+        return partitionMin;
+    }
+
+    public void setPartitionMin(int partitionMin) {
+        this.partitionMin = partitionMin;
+    }
+
+    public int getPartitionMax() {
+        return partitionMax;
+    }
+
+    public void setPartitionMax(int partitionMax) {
+        this.partitionMax = partitionMax;
+    }
+
+    public String getProvider() {
+        return provider;
+    }
+
+    public void setProvider(String provider) {
+        this.provider = provider;
+    }
+
+    public List<PropertyBean> getProperty() {
+        return property;
+    }
+
+    public void setProperty(List<PropertyBean> property) {
+        this.property = property;
+    }
+}
+
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/PropertyBean.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/PropertyBean.java
 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/PropertyBean.java
new file mode 100644
index 0000000..8af86f6
--- /dev/null
+++ 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/PropertyBean.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.cli;
+
+public class PropertyBean {
+
+    private String name;
+
+    private String value;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/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 defc011..5c9fd27 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
@@ -62,6 +62,8 @@ public class RestCommandLineService {
     private final String partitionDeploymentEndPoint = 
"/stratos/admin/policy/deployment/partition";
     private final String autoscalingPolicyDeploymentEndPoint = 
"/stratos/admin/policy/autoscale";
     private final String deploymentPolicyDeploymentEndPoint = 
"/stratos/admin/policy/deployment";
+    private final String listParitionRestEndPoint = "/stratos/admin/partition";
+    private final String listAutoscalePolicyRestEndPoint = 
"/stratos/admin/policy/autoscale";
 
     private static class SingletonHolder {
                private final static RestCommandLineService INSTANCE = new 
RestCommandLineService();
@@ -354,7 +356,11 @@ public class RestCommandLineService {
 
                 String responseCode = "" + 
response.getStatusLine().getStatusCode();
 
-                if (responseCode.equals(CliConstants.RESPONSE_NO_CONTENT)) {
+                if (subscription == null) {
+                    System.out.println("Error");
+                    return;
+                }
+                else if 
(responseCode.equals(CliConstants.RESPONSE_NO_CONTENT)) {
                     System.out.println("Duplicate alias. Please choose 
different alias");
                     return;
                 } else if 
(responseCode.equals(CliConstants.RESPONSE_INTERNAL_SERVER_ERROR)) {
@@ -399,7 +405,11 @@ public class RestCommandLineService {
             String subscriptionOutput = getHttpResponseString(response);
             String responseCode = "" + 
response.getStatusLine().getStatusCode();
 
-            if (responseCode.equals(CliConstants.RESPONSE_NO_CONTENT)) {
+
+            if (subscriptionOutput == null) {
+                System.out.println("Error");
+                return;
+            } else if (responseCode.equals(CliConstants.RESPONSE_NO_CONTENT)) {
                 System.out.println("Duplicate alias. Please choose different 
alias");
                 return;
             } else if 
(responseCode.equals(CliConstants.RESPONSE_INTERNAL_SERVER_ERROR)) {
@@ -605,6 +615,126 @@ public class RestCommandLineService {
         }
     }
 
+    public void listPartitions() throws CommandException{
+        try {
+            HttpResponse response = 
restClientService.doGet(restClientService.getUrl() + listParitionRestEndPoint,
+                    restClientService.getUsername(), 
restClientService.getPassword());
+
+            String resultString = getHttpResponseString(response);
+
+            if (resultString == null) {
+                return;
+            }
+
+            GsonBuilder gsonBuilder = new GsonBuilder();
+            Gson gson = gsonBuilder.create();
+            PartitionList partitionList = gson.fromJson(resultString, 
PartitionList.class);
+
+            if (partitionList == null) {
+                System.out.println("Partition list is null");
+                return;
+            }
+
+            RowMapper<Partition> partitionMapper = new RowMapper<Partition>() {
+
+                public String[] getData(Partition partition) {
+                    String[] data = new String[3];
+                    data[0] = partition.getId();
+                    data[1] = partition.getProvider();
+                    data[2] = "" + partition.getPartitionMax();
+                    data[3] = "" + partition.getPartitionMin();
+                    return data;
+                }
+            };
+
+            Partition[] partitions = new 
Partition[partitionList.getPartition().size()];
+            partitions = partitionList.getPartition().toArray(partitions);
+
+            System.out.println("Available Partitions:");
+            CommandLineUtils.printTable(partitions, partitionMapper, "ID", 
"Provider", "PartitionMax", "PartitionMin");
+            System.out.println();
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void listAutoscalePolicies() throws CommandException {
+        try {
+            HttpResponse response = 
restClientService.doGet(restClientService.getUrl() + 
listAutoscalePolicyRestEndPoint,
+                    restClientService.getUsername(), 
restClientService.getPassword());
+
+            System.out.println(response.getStatusLine().getStatusCode());
+            String resultString = getHttpResponseString(response);
+
+            if (resultString == null) {
+                return;
+            }
+
+            GsonBuilder gsonBuilder = new GsonBuilder();
+            Gson gson = gsonBuilder.create();
+            AutoscalePolicyList policyList = gson.fromJson(resultString, 
AutoscalePolicyList.class);
+
+            if (policyList == null) {
+                System.out.println("Autoscale policy list is null");
+                return;
+            }
+
+            RowMapper<AutoscalePolicy> partitionMapper = new 
RowMapper<AutoscalePolicy>() {
+
+                public String[] getData(AutoscalePolicy policy) {
+                    String[] data = new String[3];
+                    data[0] = policy.getId();
+                    data[1] = policy.getDisplayName();
+                    data[2] = policy.getDisplayName();
+                    return data;
+                }
+            };
+
+            AutoscalePolicy[] policyArry = new 
AutoscalePolicy[policyList.getAutoscalePolicy().size()];
+            policyArry = policyList.getAutoscalePolicy().toArray(policyArry);
+
+            System.out.println("Available Partitions:");
+            CommandLineUtils.printTable(policyArry, partitionMapper, "ID", 
"Display name", "Description");
+            System.out.println();
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private class AutoscalePolicyList {
+        private ArrayList<AutoscalePolicy> autoscalePolicy;
+
+        public ArrayList<AutoscalePolicy> getAutoscalePolicy() {
+            return autoscalePolicy;
+        }
+
+        public void setAutoscalePolicy(ArrayList<AutoscalePolicy> 
autoscalePolicy) {
+            this.autoscalePolicy = autoscalePolicy;
+        }
+
+        AutoscalePolicyList() {
+            autoscalePolicy = new ArrayList<AutoscalePolicy>();
+        }
+    }
+
+    private class PartitionList {
+        private ArrayList<Partition> partition;
+
+        public ArrayList<Partition> getPartition() {
+            return partition;
+        }
+
+        public void setPartition(ArrayList<Partition> partition) {
+            this.partition = partition;
+        }
+
+        PartitionList() {
+            partition = new ArrayList<Partition>();
+        }
+    }
+
     // This class is for convert JSON string to CartridgeList object
     private class CartridgeList  {
         private ArrayList<Cartridge> cartridge;
@@ -642,17 +772,20 @@ public class RestCommandLineService {
 
     private String getHttpResponseString (HttpResponse response) {
         try {
-            BufferedReader br = new BufferedReader(new 
InputStreamReader((response.getEntity().getContent())));
+            BufferedReader reader = new BufferedReader(new 
InputStreamReader((response.getEntity().getContent())));
 
             String output;
             String result = "";
-            while ((output = br.readLine()) != null) {
+            while ((output = reader.readLine()) != null) {
                 result += output;
             }
             return result;
         } catch (SocketException e) {
             System.out.println("Connection problem");
             return null;
+        } catch (NullPointerException e) {
+            System.out.println("Null value return from server");
+            return null;
         } catch (IOException e) {
             e.printStackTrace();
             return null;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/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 6a6f27a..9cfed5b 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
@@ -122,6 +122,12 @@ public class StratosApplication extends 
CommandLineApplication<StratosCommandCon
                
                command = new ListCommand();
                commands.put(command.getName(), command);
+
+        command = new PartitionCommand();
+        commands.put(command.getName(), command);
+
+        command = new AutoscalePolicyCommand();
+        commands.put(command.getName(), command);
                
                //command = new InfoCommand();
                //commands.put(command.getName(), command);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/AutoscalePolicyCommand.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/AutoscalePolicyCommand.java
 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/AutoscalePolicyCommand.java
new file mode 100644
index 0000000..bdca727
--- /dev/null
+++ 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/AutoscalePolicyCommand.java
@@ -0,0 +1,51 @@
+package org.apache.stratos.cli.commands;
+
+import org.apache.commons.cli.Options;
+import org.apache.stratos.cli.Command;
+import org.apache.stratos.cli.RestCommandLineService;
+import org.apache.stratos.cli.StratosCommandContext;
+import org.apache.stratos.cli.exception.CommandException;
+import org.apache.stratos.cli.utils.CliConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Created by manula on 12/12/13.
+ */
+public class AutoscalePolicyCommand implements Command<StratosCommandContext> {
+
+    private static final Logger logger = 
LoggerFactory.getLogger(AutoscalePolicyCommand.class);
+
+    public AutoscalePolicyCommand() {
+    }
+
+    public String getName() {
+        return CliConstants.LIST_AUTOSCALE_POLICY;
+    }
+
+    public String getDescription() {
+        return "List available autoscale policies";
+    }
+
+    public String getArgumentSyntax() {
+        return null;
+    }
+
+    public int execute(StratosCommandContext context, String[] args) throws 
CommandException {
+        if (logger.isDebugEnabled()) {
+            logger.debug("Executing {} command...", getName());
+        }
+        if (args == null || args.length == 0) {
+            //CommandLineService.getInstance().listAvailableCartridges();
+            RestCommandLineService.getInstance().listAutoscalePolicies();
+            return CliConstants.SUCCESSFUL_CODE;
+        } else {
+            context.getStratosApplication().printUsage(getName());
+            return CliConstants.BAD_ARGS_CODE;
+        }
+    }
+
+    public Options getOptions() {
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/PartitionCommand.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/PartitionCommand.java
 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/PartitionCommand.java
new file mode 100644
index 0000000..9826bca
--- /dev/null
+++ 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/PartitionCommand.java
@@ -0,0 +1,66 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+
+ *  http://www.apache.org/licenses/LICENSE-2.0
+
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.stratos.cli.commands;
+
+import org.apache.commons.cli.*;
+import org.apache.stratos.cli.Command;
+import org.apache.stratos.cli.RestCommandLineService;
+import org.apache.stratos.cli.StratosCommandContext;
+import org.apache.stratos.cli.exception.CommandException;
+import org.apache.stratos.cli.utils.CliConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class PartitionCommand implements Command<StratosCommandContext> {
+
+    private static final Logger logger = 
LoggerFactory.getLogger(PartitionCommand.class);
+
+    public PartitionCommand(){
+    }
+
+    public String getName() {
+        return CliConstants.LIST_PARTITION;
+    }
+
+    public String getDescription() {
+        return "List available partitions";
+    }
+
+    public String getArgumentSyntax() {
+        return null;
+    }
+
+    public int execute(StratosCommandContext context, String[] args) throws 
CommandException {
+        if (logger.isDebugEnabled()) {
+            logger.debug("Executing {} command...", getName());
+        }
+        if (args == null || args.length == 0) {
+            //CommandLineService.getInstance().listAvailableCartridges();
+            RestCommandLineService.getInstance().listPartitions();
+            return CliConstants.SUCCESSFUL_CODE;
+        } else {
+            context.getStratosApplication().printUsage(getName());
+            return CliConstants.BAD_ARGS_CODE;
+        }
+    }
+
+    public Options getOptions() {
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/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 21bac0f..4b25944 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
@@ -152,7 +152,6 @@ public class SubscribeCommand implements 
Command<StratosCommandContext> {
                         logger.trace("Autoscaling policy option is passed");
                     }
                     asPolicy = 
commandLine.getOptionValue(CliConstants.AUTOSCALING_POLICY_OPTION);
-                    System.out.println(asPolicy);
                 }
                 if 
(commandLine.hasOption(CliConstants.DEPLOYMENT_POLICY_OPTION)) {
                     if (logger.isTraceEnabled()) {
@@ -225,7 +224,6 @@ public class SubscribeCommand implements 
Command<StratosCommandContext> {
                }
        }
 
-       @Override
        public Options getOptions() {
                return options;
        }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/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 47894ad..df23b10 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
@@ -65,6 +65,11 @@ public class CliConstants {
        public static final String CARTRIDGES_ACTION = 
"list-available-cartridges";
 
     /**
+     * List the available autoscaling policies
+     */
+    public static final String LIST_AUTOSCALE_POLICY = 
"list-autoscale-policies";
+
+    /**
      * Add tenant
      */
     public static final String ADD_TENANT = "create-tenant";
@@ -80,6 +85,11 @@ public class CliConstants {
     public static final String PARTITION_DEPLOYMENT = "deploy-partition";
 
     /**
+     * List partitions
+     */
+    public static final String LIST_PARTITION = "list-available-partitions";
+
+    /**
      * Autoscaling policy deployment
      */
     public static final String AUTOSCALING_POLICY_DEPLOYMENT = 
"deploy-autoscaling-policy";

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/autoscale/AutoscalePolicy.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/autoscale/AutoscalePolicy.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/autoscale/AutoscalePolicy.java
index 00e2436..0683682 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/autoscale/AutoscalePolicy.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/autoscale/AutoscalePolicy.java
@@ -24,11 +24,43 @@ import javax.xml.bind.annotation.XmlRootElement;
 @XmlRootElement
 public class AutoscalePolicy {
 
-    public String id;
+    private String id;
 
-    public String displayName;
+    private String displayName;
 
-    public String description;
+    private String description;
 
-    public LoadThresholds loadThresholds;
+    private LoadThresholds loadThresholds;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getDisplayName() {
+        return displayName;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public LoadThresholds getLoadThresholds() {
+        return loadThresholds;
+    }
+
+    public void setLoadThresholds(LoadThresholds loadThresholds) {
+        this.loadThresholds = loadThresholds;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9453e77/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
index 8035104..8171299 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
@@ -173,52 +173,52 @@ public class PojoConverter {
         org.apache.stratos.autoscaler.policy.model.AutoscalePolicy 
autoscalePolicy = new
                 org.apache.stratos.autoscaler.policy.model.AutoscalePolicy();
 
-        autoscalePolicy.setId(autoscalePolicyBean.id);
-        autoscalePolicy.setDescription(autoscalePolicyBean.description);
-        autoscalePolicy.setDisplayName(autoscalePolicyBean.displayName);
+        autoscalePolicy.setId(autoscalePolicyBean.getId());
+        autoscalePolicy.setDescription(autoscalePolicyBean.getDescription());
+        autoscalePolicy.setDisplayName(autoscalePolicyBean.getDisplayName());
 
-        if (autoscalePolicyBean.loadThresholds != null) {
+        if (autoscalePolicyBean.getLoadThresholds() != null) {
 
             org.apache.stratos.autoscaler.policy.model.LoadThresholds 
loadThresholds = new
                     
org.apache.stratos.autoscaler.policy.model.LoadThresholds();
 
-            if(autoscalePolicyBean.loadThresholds.loadAverage != null) {
+            if(autoscalePolicyBean.getLoadThresholds().loadAverage != null) {
 
                 //set load average information
                 org.apache.stratos.autoscaler.policy.model.LoadAverage 
loadAverage = new
                         
org.apache.stratos.autoscaler.policy.model.LoadAverage();
-                
loadAverage.setAverage(autoscalePolicyBean.loadThresholds.loadAverage.average);
-                
loadAverage.setGradient(autoscalePolicyBean.loadThresholds.loadAverage.gradient);
-                
loadAverage.setSecondDerivative(autoscalePolicyBean.loadThresholds.loadAverage.secondDerivative);
-                
loadAverage.setScaleDownMarginOfGradient(autoscalePolicyBean.loadThresholds.loadAverage.scaleDownMarginOfGradient);
-                
loadAverage.setScaleDownMarginOfSecondDerivative(autoscalePolicyBean.loadThresholds.loadAverage.scaleDownMarginOfSecondDerivative);
+                
loadAverage.setAverage(autoscalePolicyBean.getLoadThresholds().loadAverage.average);
+                
loadAverage.setGradient(autoscalePolicyBean.getLoadThresholds().loadAverage.gradient);
+                
loadAverage.setSecondDerivative(autoscalePolicyBean.getLoadThresholds().loadAverage.secondDerivative);
+                
loadAverage.setScaleDownMarginOfGradient(autoscalePolicyBean.getLoadThresholds().loadAverage.scaleDownMarginOfGradient);
+                
loadAverage.setScaleDownMarginOfSecondDerivative(autoscalePolicyBean.getLoadThresholds().loadAverage.scaleDownMarginOfSecondDerivative);
                 //set load average
                 loadThresholds.setLoadAverage(loadAverage);
             }
-            if (autoscalePolicyBean.loadThresholds.requestsInFlight != null) {
+            if (autoscalePolicyBean.getLoadThresholds().requestsInFlight != 
null) {
 
                 org.apache.stratos.autoscaler.policy.model.RequestsInFlight 
requestsInFlight = new
                         
org.apache.stratos.autoscaler.policy.model.RequestsInFlight();
                 //set request in flight information
-                
requestsInFlight.setAverage(autoscalePolicyBean.loadThresholds.requestsInFlight.average);
-                
requestsInFlight.setGradient(autoscalePolicyBean.loadThresholds.requestsInFlight.gradient);
-                
requestsInFlight.setSecondDerivative(autoscalePolicyBean.loadThresholds.requestsInFlight.secondDerivative);
-                
requestsInFlight.setScaleDownMarginOfGradient(autoscalePolicyBean.loadThresholds.requestsInFlight.scaleDownMarginOfGradient);
-                
requestsInFlight.setScaleDownMarginOfSecondDerivative(autoscalePolicyBean.loadThresholds.requestsInFlight.scaleDownMarginOfSecondDerivative);
+                
requestsInFlight.setAverage(autoscalePolicyBean.getLoadThresholds().requestsInFlight.average);
+                
requestsInFlight.setGradient(autoscalePolicyBean.getLoadThresholds().requestsInFlight.gradient);
+                
requestsInFlight.setSecondDerivative(autoscalePolicyBean.getLoadThresholds().requestsInFlight.secondDerivative);
+                
requestsInFlight.setScaleDownMarginOfGradient(autoscalePolicyBean.getLoadThresholds().requestsInFlight.scaleDownMarginOfGradient);
+                
requestsInFlight.setScaleDownMarginOfSecondDerivative(autoscalePolicyBean.getLoadThresholds().requestsInFlight.scaleDownMarginOfSecondDerivative);
                 //set request in flight
                 loadThresholds.setRequestsInFlight(requestsInFlight);
             }
-            if (autoscalePolicyBean.loadThresholds.memoryConsumption != null) {
+            if (autoscalePolicyBean.getLoadThresholds().memoryConsumption != 
null) {
 
                 org.apache.stratos.autoscaler.policy.model.MemoryConsumption 
memoryConsumption = new
                         
org.apache.stratos.autoscaler.policy.model.MemoryConsumption();
 
                 //set memory consumption information
-                
memoryConsumption.setAverage(autoscalePolicyBean.loadThresholds.memoryConsumption.average);
-                
memoryConsumption.setGradient(autoscalePolicyBean.loadThresholds.memoryConsumption.gradient);
-                
memoryConsumption.setSecondDerivative(autoscalePolicyBean.loadThresholds.memoryConsumption.secondDerivative);
-                
memoryConsumption.setScaleDownMarginOfGradient(autoscalePolicyBean.loadThresholds.memoryConsumption.scaleDownMarginOfGradient);
-                
memoryConsumption.setScaleDownMarginOfSecondDerivative(autoscalePolicyBean.loadThresholds.memoryConsumption.scaleDownMarginOfSecondDerivative);
+                
memoryConsumption.setAverage(autoscalePolicyBean.getLoadThresholds().memoryConsumption.average);
+                
memoryConsumption.setGradient(autoscalePolicyBean.getLoadThresholds().memoryConsumption.gradient);
+                
memoryConsumption.setSecondDerivative(autoscalePolicyBean.getLoadThresholds().memoryConsumption.secondDerivative);
+                
memoryConsumption.setScaleDownMarginOfGradient(autoscalePolicyBean.getLoadThresholds().memoryConsumption.scaleDownMarginOfGradient);
+                
memoryConsumption.setScaleDownMarginOfSecondDerivative(autoscalePolicyBean.getLoadThresholds().memoryConsumption.scaleDownMarginOfSecondDerivative);
                 //set memory consumption
                 loadThresholds.setMemoryConsumption(memoryConsumption);
             }
@@ -370,11 +370,11 @@ public class PojoConverter {
             return autoscalePolicyBean;
         }
 
-        autoscalePolicyBean.id = autoscalePolicy.getId();
-        autoscalePolicyBean.displayName = autoscalePolicy.getDisplayName();
-        autoscalePolicyBean.description = autoscalePolicy.getDescription();
+        autoscalePolicyBean.setId(autoscalePolicy.getId());
+        autoscalePolicyBean.setDisplayName(autoscalePolicy.getDisplayName());
+        autoscalePolicyBean.setDescription(autoscalePolicy.getDescription());
         if(autoscalePolicy.getLoadThresholds() != null) {
-            autoscalePolicyBean.loadThresholds = 
populateLoadThresholds(autoscalePolicy.getLoadThresholds());
+            
autoscalePolicyBean.setLoadThresholds(populateLoadThresholds(autoscalePolicy.getLoadThresholds()));
         }
 
         return autoscalePolicyBean;

Reply via email to