Fixed group deployment changes
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/6dda7fa5 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/6dda7fa5 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/6dda7fa5 Branch: refs/heads/master Commit: 6dda7fa5747342adeb6f62aa84eaf84fbc348b88 Parents: 6ed89bb Author: Manula Thantriwatte <[email protected]> Authored: Tue Dec 2 05:42:39 2014 +0000 Committer: Manula Thantriwatte <[email protected]> Committed: Tue Dec 2 11:28:39 2014 +0000 ---------------------------------------------------------------------- .../stratos/autoscaler/pojo/ServiceGroup.java | 18 ++++++----- .../definitions/ServiceGroupDefinition.java | 18 +++++------ .../deployer/DefaultServiceGroupDeployer.java | 32 +++++++++++--------- 3 files changed, 37 insertions(+), 31 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/6dda7fa5/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/ServiceGroup.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/ServiceGroup.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/ServiceGroup.java index 3e30592..810998c 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/ServiceGroup.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/ServiceGroup.java @@ -19,6 +19,7 @@ package org.apache.stratos.autoscaler.pojo; import java.io.Serializable; +import java.util.List; public class ServiceGroup implements Serializable { @@ -29,7 +30,7 @@ public class ServiceGroup implements Serializable { private boolean isGroupscalingEnabled; - private String [] subGroups; + private List<ServiceGroup> groups; private String [] cartridges; @@ -43,13 +44,6 @@ public class ServiceGroup implements Serializable { this.name = name; } - public String [] getSubGroups() { - return subGroups; - } - - public void setSubGroups(String [] subGroups) { - this.subGroups = subGroups; - } public String [] getCartridges() { return cartridges; @@ -74,4 +68,12 @@ public class ServiceGroup implements Serializable { public void setGroupscalingEnabled(boolean isGroupscalingEnabled) { this.isGroupscalingEnabled = isGroupscalingEnabled; } + + public List<ServiceGroup> getGroups() { + return groups; + } + + public void setGroups(List<ServiceGroup> groups) { + this.groups = groups; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/6dda7fa5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/ServiceGroupDefinition.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/ServiceGroupDefinition.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/ServiceGroupDefinition.java index 9b1c6c9..55278f0 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/ServiceGroupDefinition.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/ServiceGroupDefinition.java @@ -28,7 +28,7 @@ public class ServiceGroupDefinition implements Serializable { private String name; - private List<String> subGroups; + private List<ServiceGroupDefinition> groups; private List<String> cartridges; @@ -44,14 +44,6 @@ public class ServiceGroupDefinition implements Serializable { this.name = name; } - public List<String> getSubGroups() { - return subGroups; - } - - public void setSubGroups(List<String> subGroups) { - this.subGroups = subGroups; - } - public List<String> getCartridges() { return cartridges; } @@ -75,4 +67,12 @@ public class ServiceGroupDefinition implements Serializable { public void setGroupScalingEnabled(boolean isGroupScalingEnabled) { this.isGroupScalingEnabled = isGroupScalingEnabled; } + + public List<ServiceGroupDefinition> getGroups() { + return groups; + } + + public void setGroups(List<ServiceGroupDefinition> groups) { + this.groups = groups; + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/6dda7fa5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/deployer/DefaultServiceGroupDeployer.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/deployer/DefaultServiceGroupDeployer.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/deployer/DefaultServiceGroupDeployer.java index 8a6235f..da1c326 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/deployer/DefaultServiceGroupDeployer.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/deployer/DefaultServiceGroupDeployer.java @@ -121,15 +121,19 @@ public class DefaultServiceGroupDeployer implements ServiceGroupDeployer { } // if any sub groups are specified in the group, they should be already deployed - if (serviceGroupDefinition.getSubGroups() != null) { + if (serviceGroupDefinition.getGroups() != null) { if (log.isDebugEnabled()) { log.debug("checking subGroups in service group " + serviceGroupDefinition.getName()); } - List<String> subGroupNames = serviceGroupDefinition.getSubGroups(); + List<ServiceGroupDefinition> groupDefinitions = serviceGroupDefinition.getGroups(); + List<String> groupNames = new ArrayList<String>(); + for (ServiceGroupDefinition groupList : groupDefinitions) { + groupNames.add(groupList.getName()); + } - Set<String> duplicates = this.findDuplicates(subGroupNames); + Set<String> duplicates = this.findDuplicates(groupNames); if (duplicates.size() > 0) { @@ -143,7 +147,7 @@ public class DefaultServiceGroupDeployer implements ServiceGroupDeployer { throw new InvalidServiceGroupException("Invalid Service Group definition, duplicate subGroups defined:" + buf.toString()); } - for (String subGroupName : subGroupNames) { + for (String subGroupName : groupNames) { if (getServiceGroupDefinition(subGroupName) == null) { // sub group not deployed, can't continue if (log.isDebugEnabled()) { @@ -268,26 +272,26 @@ public class DefaultServiceGroupDeployer implements ServiceGroupDeployer { // implement conversion (mostly List -> Array) servicegroup.setGroupscalingEnabled(serviceGroupDefinition.isGroupScalingEnabled()); - List<String> subGroupsDef = serviceGroupDefinition.getSubGroups(); + List<ServiceGroupDefinition> groupsDef = serviceGroupDefinition.getGroups(); List<String> cartridgesDef = serviceGroupDefinition.getCartridges(); servicegroup.setName(serviceGroupDefinition.getName()); - if (subGroupsDef == null) { - subGroupsDef = new ArrayList<String>(0); + if (groupsDef == null) { + groupsDef = new ArrayList<ServiceGroupDefinition>(0); } if (cartridgesDef == null) { cartridgesDef = new ArrayList<String>(0); } - String[] subGroups = new String[subGroupsDef.size()]; + String[] subGroups = new String[groupsDef.size()]; String[] cartridges = new String[cartridgesDef.size()]; - subGroups = subGroupsDef.toArray(subGroups); + subGroups = groupsDef.toArray(subGroups); cartridges = cartridgesDef.toArray(cartridges); - servicegroup.setSubGroups(subGroups); + servicegroup.setGroups(subGroups); servicegroup.setCartridges(cartridges); DependencyDefinitions depDefs = serviceGroupDefinition.getDependencies(); @@ -313,7 +317,7 @@ public class DefaultServiceGroupDeployer implements ServiceGroupDeployer { ServiceGroupDefinition servicegroupDef = new ServiceGroupDefinition(); servicegroupDef.setName(serviceGroup.getName()); String[] cartridges = serviceGroup.getCartridges(); - String[] subGroups = serviceGroup.getSubGroups(); + ServiceGroupDefinition groups = (ServiceGroupDefinition) serviceGroup.getGroups(); org.apache.stratos.autoscaler.stub.pojo.Dependencies deps = serviceGroup.getDependencies(); if (deps != null) { @@ -335,12 +339,12 @@ public class DefaultServiceGroupDeployer implements ServiceGroupDeployer { } List<String> cartridgesDef = new ArrayList<String>(Arrays.asList(cartridges)); - List<String> subGroupsDef = new ArrayList<String>(Arrays.asList(subGroups)); + List<ServiceGroupDefinition> subGroupsDef = new ArrayList<ServiceGroupDefinition>(Arrays.asList(groups)); if (cartridges[0] != null) { servicegroupDef.setCartridges(cartridgesDef); } - if (subGroups[0] != null) { - servicegroupDef.setSubGroups(subGroupsDef); + if (groups != null) { + servicegroupDef.setGroups(subGroupsDef); } return servicegroupDef;
