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;

Reply via email to