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;
