startupOrder format change I

Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/02bb3863
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/02bb3863
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/02bb3863

Branch: refs/heads/4.0.0-grouping
Commit: 02bb3863a6998506391276bb519c1598f95057d2
Parents: bd8ecbd
Author: Martin Eppel <[email protected]>
Authored: Tue Oct 7 18:49:17 2014 -0700
Committer: Martin Eppel <[email protected]>
Committed: Tue Oct 7 18:49:17 2014 -0700

----------------------------------------------------------------------
 .../parser/DefaultApplicationParser.java        |   45 +-
 .../impl/CloudControllerServiceImpl.java        |   15 +-
 .../cloud/controller/pojo/Dependencies.java     |   20 +-
 .../pojo/application/DependencyContext.java     |   20 +-
 .../DefaultCompositeApplicationParser.java      |   32 +-
 .../structure/CompositeAppContext.java          |   12 +-
 .../application/structure/GroupContext.java     |   17 +-
 .../definitions/DependencyDefinitions.java      |   23 +-
 .../deployer/DefaultServiceGroupDeployer.java   |   35 +-
 .../bean/util/converter/PojoConverter.java      |   21 +-
 .../webapp/stratos/WEB-INF/schemas/schema.xsd   |   11 +-
 .../main/resources/CloudControllerService.wsdl  | 1298 +++++++++---------
 12 files changed, 772 insertions(+), 777 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
index 7865dde..d01674d 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
@@ -268,8 +268,7 @@ public class DefaultApplicationParser implements 
ApplicationParser {
             // get top level Dependency definitions
             if (appCtxt.getComponents().getDependencyContext() != null) {
                 DependencyOrder appDependencyOrder = new DependencyOrder();
-                Set<StartupOrder>  startupOrders = 
getStartupOrderForApplicationComponents(new 
HashSet<StartupOrderContext>(Arrays.asList(appCtxt.getComponents().
-                        getDependencyContext().getStartupOrderContext())));
+                Set<StartupOrder>  startupOrders = 
getStartupOrderForApplicationComponents(appCtxt.getComponents().getDependencyContext().getStartupOrdersContexts());
                 if (startupOrders != null) {
                     appDependencyOrder.setStartupOrders(startupOrders);
                 }
@@ -442,13 +441,32 @@ public class DefaultApplicationParser implements 
ApplicationParser {
         if (serviceGroup == null) {
             handleError("Service Group Definition not found for name " + 
groupContext.getName());
         }
+        
+        if (log.isDebugEnabled()) {
+               log.debug("parsing application ... getStartupOrderForGroup: " + 
groupContext.getName());
+        }
 
         assert serviceGroup != null;
         if (serviceGroup.getDependencies() != null) {
-            if (serviceGroup.getDependencies().getStartupOrder() != null) {
+            if (serviceGroup.getDependencies().getStartupOrders() != null) {
+               
+               Set<StartupOrder> startupOrders = new HashSet<StartupOrder>();
+               String [] st = 
serviceGroup.getDependencies().getStartupOrders();
+               
+               if (log.isDebugEnabled()) {
+                       log.debug("parsing application ... 
getStartupOrderForGroup # of startupOrders: " + st.length);
+                }
 
-                // convert to Startup Order with aliases
-                return 
ParserUtils.convert(serviceGroup.getDependencies().getStartupOrder(), 
groupContext);
+                for (String startupOrderContext : st) {
+                       
+                       String [] order = startupOrderContext.split(",");
+                       
+                    startupOrders.add(new StartupOrder(order[0], order[1]));
+                    if (log.isDebugEnabled()) {
+                       log.debug("parsing application ... 
getStartupOrderForGroup startupOrders:start: " + order[0] + " after: " + 
order[1]);
+                    }
+                }
+                return startupOrders;
             }
         }
 
@@ -463,18 +481,31 @@ public class DefaultApplicationParser implements 
ApplicationParser {
      *
      * @throws ApplicationDefinitionException if an error occurs
      */
-    private Set<StartupOrder> getStartupOrderForApplicationComponents 
(Set<StartupOrderContext> startupOrderCtxts)
+    private Set<StartupOrder> getStartupOrderForApplicationComponents (String 
[] startupOrdersCtxts)
             throws ApplicationDefinitionException {
 
-        if (startupOrderCtxts == null) {
+        if (startupOrdersCtxts == null) {
             return null;
         }
+        
+        if (log.isDebugEnabled()) {
+               log.debug("parsing application ... 
getStartupOrderForApplicationComponents: # of: " + startupOrdersCtxts.length);
+        }
 
         Set<StartupOrder> startupOrders = new HashSet<StartupOrder>();
 
+        /*
         for (StartupOrderContext startupOrderContext : startupOrderCtxts) {
             startupOrders.add(new StartupOrder(startupOrderContext.getStart(), 
startupOrderContext.getAfter()));
         }
+        */
+        for (String startupOrderContext : startupOrdersCtxts) {
+               String [] order = startupOrderContext.split(",");
+            startupOrders.add(new StartupOrder(order[0], order[1]));
+            if (log.isDebugEnabled()) {
+               log.debug("parsing application ... 
getStartupOrderForApplicationComponents: start: " + order[0] + " /after: " + 
order[1]);
+            }
+        }
 
         return startupOrders;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
index df2c217..72874e5 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
@@ -293,7 +293,12 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
        
 
        if(log.isDebugEnabled()) {
-            
log.debug("CloudControllerServiceImpl:deployServiceGroup:subGroups" + 
subGroups.length);
+            
log.debug("CloudControllerServiceImpl:deployServiceGroup:subGroups" + 
subGroups);
+            if (subGroups != null) {
+               
log.debug("CloudControllerServiceImpl:deployServiceGroup:subGroups:size" + 
subGroups.length);
+            } else {
+               
log.debug("CloudControllerServiceImpl:deployServiceGroup:subGroups: is null");
+            }
         }
        
        
@@ -303,13 +308,13 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
             
log.debug("CloudControllerServiceImpl:deployServiceGroup:dependencies" + 
dependencies);
         }
        
-       StartupOrder [] startupOrder = dependencies.getStartupOrder();
+       String [] startupOrders = dependencies.getStartupOrders();
        
        if(log.isDebugEnabled()) {
-            
log.debug("CloudControllerServiceImpl:deployServiceGroup:startupOrder" + 
startupOrder);
+            
log.debug("CloudControllerServiceImpl:deployServiceGroup:startupOrders" + 
startupOrders);
             
-            if (startupOrder != null) {
-               
log.debug("CloudControllerServiceImpl:deployServiceGroup:startupOrder:size" + 
startupOrder.length);
+            if (startupOrders != null) {
+               
log.debug("CloudControllerServiceImpl:deployServiceGroup:startupOrder:size" + 
startupOrders.length);
             } else {
                
log.debug("CloudControllerServiceImpl:deployServiceGroup:startupOrder: is 
null");
             }

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Dependencies.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Dependencies.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Dependencies.java
index 0177341..7fa779d 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Dependencies.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Dependencies.java
@@ -25,19 +25,11 @@ import java.util.List;
 public class Dependencies implements Serializable {
 
        private static final long serialVersionUID = 4187267350546153680L;
-
-       private StartupOrder [] startupOrder;
+       
+       private String [] startupOrders;
 
     private String killBehaviour;
 
-    public StartupOrder [] getStartupOrder() {
-        return startupOrder;
-    }
-
-    public void setStartupOrder(StartupOrder [] startupOrder) {
-        this.startupOrder = startupOrder;
-    }
-
     public String getKillBehaviour() {
         return killBehaviour;
     }
@@ -45,4 +37,12 @@ public class Dependencies implements Serializable {
     public void setKillBehaviour(String killBehaviour) {
         this.killBehaviour = killBehaviour;
     }
+
+       public String[] getStartupOrders() {
+               return startupOrders;
+       }
+
+       public void setStartupOrders(String[] startupOrders) {
+               this.startupOrders = startupOrders;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/application/DependencyContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/application/DependencyContext.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/application/DependencyContext.java
index 2b31729..0459f36 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/application/DependencyContext.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/application/DependencyContext.java
@@ -21,19 +21,11 @@ package 
org.apache.stratos.cloud.controller.pojo.application;
 
 
 public class DependencyContext {
-
-    private StartupOrderContext[] startupOrderContexts;
+    
+    private String [] startupOrdersContexts;
 
     private String killBehaviour;
 
-    public StartupOrderContext[] getStartupOrderContext() {
-        return startupOrderContexts;
-    }
-
-    public void setStartupOrderContext(StartupOrderContext[] 
startupOrderContexts) {
-        this.startupOrderContexts = startupOrderContexts;
-    }
-
     public String getKillBehaviour() {
         return killBehaviour;
     }
@@ -41,4 +33,12 @@ public class DependencyContext {
     public void setKillBehaviour(String killBehaviour) {
         this.killBehaviour = killBehaviour;
     }
+
+       public String [] getStartupOrdersContexts() {
+               return startupOrdersContexts;
+       }
+
+       public void setStartupOrdersContexts(String [] startupOrdersContexts) {
+               this.startupOrdersContexts = startupOrdersContexts;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java
index 0f24708..3b54bed 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java
@@ -210,9 +210,12 @@ public class DefaultCompositeApplicationParser implements 
CompositeApplicationPa
             }
 
             // get top level Dependency definitions
+            
             if (compositeAppDefinition.getComponents().getDependencies() != 
null) {
-                
compositeAppContext.setStartupOrder(getStartupOrderForApplicationComponents(compositeAppDefinition.getComponents().
-                        getDependencies().getStartupOrder()));
+               List<String> startupOrderList = 
compositeAppDefinition.getComponents().getDependencies().getStartupOrders();
+               String [] startupOrders = new String [startupOrderList.size()];
+               startupOrders = startupOrderList.toArray(startupOrders);
+                compositeAppContext.setStartupOrders(startupOrders);
 
                 
compositeAppContext.setKillBehaviour(compositeAppDefinition.getComponents().getDependencies().getKillBehaviour());
             }
@@ -298,7 +301,7 @@ public class DefaultCompositeApplicationParser implements 
CompositeApplicationPa
         groupContext.setAlias(group.getAlias());
         groupContext.setAutoscalingPolicy(group.getAutoscalingPolicy());
         groupContext.setDeploymentPolicy(group.getDeploymentPolicy());
-        groupContext.setStartupOrder(getStartupOrderForGroup(group.getName()));
+        
groupContext.setStartupOrders(getStartupOrderForGroup(group.getName()));
         groupContext.setKillBehaviour(getKillbehaviour(group.getName()));
 
         // get group level Subscribables
@@ -321,7 +324,7 @@ public class DefaultCompositeApplicationParser implements 
CompositeApplicationPa
         return groupContext;
     }
 
-    private Set<StartupOrder> getStartupOrderForGroup(String serviceGroupName) 
throws CompositeApplicationDefinitionException {
+    private String [] getStartupOrderForGroup(String serviceGroupName) throws 
CompositeApplicationDefinitionException {
 
         ServiceGroupDefinition groupDefinition;
 
@@ -337,29 +340,16 @@ public class DefaultCompositeApplicationParser implements 
CompositeApplicationPa
         }
 
         if (groupDefinition.getDependencies() != null) {
-            if (groupDefinition.getDependencies().getStartupOrder() != null) {
-                return 
ParserUtils.convert(groupDefinition.getDependencies().getStartupOrder());
+            if (groupDefinition.getDependencies().getStartupOrders() != null) {
+                List<String> startupOrdersList = 
groupDefinition.getDependencies().getStartupOrders();
+                String [] startupOrders = new String 
[startupOrdersList.size()];
+                return startupOrdersList.toArray(startupOrders);
             }
         }
 
         return null;
     }
 
-    private Set<StartupOrder> getStartupOrderForApplicationComponents 
(List<StartupOrderDefinition> startupOrderDefinitions)
-            throws CompositeApplicationDefinitionException {
-
-        if (startupOrderDefinitions == null) {
-            return null;
-        }
-
-        Set<StartupOrder> startupOrders = new HashSet<StartupOrder>();
-
-        for (StartupOrderDefinition startupOrderDefinition : 
startupOrderDefinitions) {
-            startupOrders.add(new 
StartupOrder(startupOrderDefinition.getStart(), 
startupOrderDefinition.getAfter()));
-        }
-
-        return startupOrders;
-    }
 
     private String getKillbehaviour (String serviceGroupName) throws 
CompositeApplicationDefinitionException {
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/CompositeAppContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/CompositeAppContext.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/CompositeAppContext.java
index 4cb7073..287d475 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/CompositeAppContext.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/CompositeAppContext.java
@@ -30,6 +30,8 @@ public class CompositeAppContext {
     private Set<SubscribableContext> subscribableContexts;
 
     private Set<StartupOrder> startupOrder;
+    
+    private String [] startupOrders;
 
     private String killBehaviour;
 
@@ -77,7 +79,15 @@ public class CompositeAppContext {
         this.killBehaviour = killBehaviour;
     }
 
-    public boolean equals(Object other) {
+    public String [] getStartupOrders() {
+               return startupOrders;
+       }
+
+       public void setStartupOrders(String [] startupOrders) {
+               this.startupOrders = startupOrders;
+       }
+
+       public boolean equals(Object other) {
 
         if(this == other) {
             return true;

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/GroupContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/GroupContext.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/GroupContext.java
index b235c1b..4874de3 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/GroupContext.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/structure/GroupContext.java
@@ -35,20 +35,19 @@ public class GroupContext {
 
     private Set<SubscribableContext> subscribableContexts;
 
-    private Set<StartupOrder> startupOrder;
+    private String [] startupOrders;
 
     private String killBehaviour;
 
+    public String [] getStartupOrders() {
+               return startupOrders;
+       }
 
-    public Set<StartupOrder> getStartupOrder() {
-        return startupOrder;
-    }
-
-    public void setStartupOrder(Set<StartupOrder> startupOrder) {
-        this.startupOrder = startupOrder;
-    }
+       public void setStartupOrders(String [] startupOrders) {
+               this.startupOrders = startupOrders;
+       }
 
-    public String getKillBehaviour() {
+       public String getKillBehaviour() {
         return killBehaviour;
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/DependencyDefinitions.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/DependencyDefinitions.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/DependencyDefinitions.java
index eee4634..782bce0 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/DependencyDefinitions.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/DependencyDefinitions.java
@@ -26,18 +26,15 @@ import java.util.List;
 @XmlRootElement(name = "dependencies")
 public class DependencyDefinitions implements Serializable {
 
-    private List<StartupOrderDefinition> startupOrder;
+    /**
+        * 
+        */
+       private static final long serialVersionUID = 1L;
+       
+       private List<String> startupOrders;
 
     private String killBehaviour;
 
-    public List<StartupOrderDefinition> getStartupOrder() {
-        return startupOrder;
-    }
-
-    public void setStartupOrder(List<StartupOrderDefinition> startupOrder) {
-        this.startupOrder = startupOrder;
-    }
-
     public String getKillBehaviour() {
         return killBehaviour;
     }
@@ -45,4 +42,12 @@ public class DependencyDefinitions implements Serializable {
     public void setKillBehaviour(String killBehaviour) {
         this.killBehaviour = killBehaviour;
     }
+
+       public List<String> getStartupOrders() {
+               return startupOrders;
+       }
+
+       public void setStartupOrders(List<String> startupOrders) {
+               this.startupOrders = startupOrders;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/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 f944288..f4d42f6 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
@@ -31,7 +31,6 @@ import 
org.apache.stratos.manager.grouping.definitions.DependencyDefinitions;
 import org.apache.stratos.manager.grouping.definitions.StartupOrderDefinition;
 import org.apache.stratos.cloud.controller.stub.pojo.ServiceGroup;
 import org.apache.stratos.cloud.controller.stub.pojo.Dependencies;
-import org.apache.stratos.cloud.controller.stub.pojo.StartupOrder;
 import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidServiceGroupExceptionException;
 import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException;
 
@@ -242,6 +241,7 @@ public class DefaultServiceGroupDeployer implements 
ServiceGroupDeployer {
        List<String> subGroupsDef = serviceGroupDefinition.getSubGroups();
        List<String> cartridgesDef = serviceGroupDefinition.getCartridges();
        
+       
        if (subGroupsDef == null) {
                subGroupsDef = new ArrayList<String>(0);
        }
@@ -260,20 +260,14 @@ public class DefaultServiceGroupDeployer implements 
ServiceGroupDeployer {
        servicegroup.setCartridges(cartridges);
        
        DependencyDefinitions depDefs = 
serviceGroupDefinition.getDependencies();
+                       
         if (depDefs != null) {
-            List<StartupOrderDefinition> startDefs = depDefs.getStartupOrder();
-
             Dependencies deps = new Dependencies();
-            if (startDefs != null) {
-                StartupOrder [] startups = new StartupOrder [startDefs.size()];
-                for (int i = 0; i < startDefs.size(); i++) {
-                    StartupOrderDefinition stDef = startDefs.get(i);
-                    StartupOrder st = new StartupOrder();
-                    st.setStart(stDef.getStart());
-                    st.setAfter(stDef.getAfter());
-                    startups[i] = st;
-                }
-                deps.setStartupOrder(startups);
+            List<String> startupOrdersDef = depDefs.getStartupOrders();
+            if (startupOrdersDef != null) {
+               String [] startupOrders = new String [startupOrdersDef.size()];
+               startupOrders = startupOrdersDef.toArray(startupOrders);
+                deps.setStartupOrders(startupOrders);
             }
             deps.setKillBehaviour(depDefs.getKillBehaviour());
             servicegroup.setDependencies(deps);
@@ -291,19 +285,10 @@ public class DefaultServiceGroupDeployer implements 
ServiceGroupDeployer {
 
         if (deps != null) {
             DependencyDefinitions depsDef = new DependencyDefinitions();
-            StartupOrder [] startupOrders = deps.getStartupOrder();
+            String [] startupOrders = deps.getStartupOrders();
             if (startupOrders != null && startupOrders.length > 0) {
-                List<StartupOrderDefinition> startupsDef = new 
ArrayList<StartupOrderDefinition>();
-                for (StartupOrder startupOrder :  startupOrders) {
-                    if (startupOrder != null) {
-                        StartupOrderDefinition astartupDef = new 
StartupOrderDefinition();
-                        astartupDef.setAfter(startupOrder.getAfter());
-                        astartupDef.setStart(startupOrder.getStart());
-                        startupsDef.add(astartupDef);
-                    }
-                }
-
-                depsDef.setStartupOrder(startupsDef);
+               List<String> startupOrdersDef = Arrays.asList(startupOrders);
+                depsDef.setStartupOrders(startupOrdersDef);
             }
 
             depsDef.setKillBehaviour(deps.getKillBehaviour());

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/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 a100a93..3524bf4 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
@@ -734,27 +734,16 @@ public class PojoConverter {
 
         DependencyContext dependencyContext = new DependencyContext();
         
dependencyContext.setKillBehaviour(dependencyDefinitions.getKillBehaviour());
-        if (dependencyDefinitions.getStartupOrder() != null) {
-            
dependencyContext.setStartupOrderContext(getStartupOrderContextArrFromStartupDefinition(dependencyDefinitions.getStartupOrder()));
+        
+        if (dependencyDefinitions != null && 
dependencyDefinitions.getStartupOrders() != null) {
+               String [] startupOrders = new String 
[dependencyDefinitions.getStartupOrders().size()];
+               startupOrders = 
dependencyDefinitions.getStartupOrders().toArray(startupOrders);
+               dependencyContext.setStartupOrdersContexts(startupOrders);
         }
 
         return dependencyContext;
     }
 
-    private static StartupOrderContext[] 
getStartupOrderContextArrFromStartupDefinition (List<StartupOrderDefinition> 
startupOrderDefinitions) {
-
-        StartupOrderContext[] startupOrderContexts = new 
StartupOrderContext[startupOrderDefinitions.size()];
-        int i = 0;
-        for (StartupOrderDefinition startupOrderDefinition : 
startupOrderDefinitions) {
-            StartupOrderContext startupOrderContext = new 
StartupOrderContext();
-            startupOrderContext.setStart(startupOrderDefinition.getStart());
-            startupOrderContext.setAfter(startupOrderDefinition.getAfter());
-            startupOrderContexts[i++] = startupOrderContext;
-        }
-
-        return startupOrderContexts;
-    }
-
     private static GroupContext[] getgroupContextArrayFromGroupDefinitions 
(List<GroupDefinition> groupDefinitions) {
 
         GroupContext[] groupContexts = new 
GroupContext[groupDefinitions.size()];

http://git-wip-us.apache.org/repos/asf/stratos/blob/02bb3863/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd
 
b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd
index 0b78f88..83155e0 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd
@@ -213,7 +213,7 @@
         </xs:complexType>
     </xs:element>
     
-        <xs:element name="compositeAppDefinition">
+    <xs:element name="compositeAppDefinition">
         <xs:complexType>
                <xs:sequence>
                <xs:element name="applicationId" type="xs:string" minOccurs="1" 
maxOccurs="1" nillable="false"/>
@@ -247,17 +247,10 @@
     <xs:complexType name="tdependencies">
        <xs:sequence>
                        <xs:element name="killBehaviour" type="xs:string" 
minOccurs="1" maxOccurs="1" nillable="false"/>
-                       <xs:element name="startupOrder" type="tstartupOrder" 
minOccurs="0" maxOccurs="unbounded"/>            
+                       <xs:element name="startupOrders" type="xs:string" 
minOccurs="0" maxOccurs="unbounded" nillable="false"/>            
        </xs:sequence>
     </xs:complexType>
     
-    <xs:complexType name="tstartupOrder">
-               <xs:all>
-               <xs:element name="start" type="xs:string" minOccurs="1" 
maxOccurs="1" nillable="false"/>
-                 <xs:element name="after" type="xs:string" minOccurs="1" 
maxOccurs="1" nillable="false"/>
-            </xs:all>
-       </xs:complexType> 
-    
     <xs:complexType name="tgroups">
         <xs:sequence>
             <xs:element name="name" type="xs:string" minOccurs="1" 
maxOccurs="1" nillable="false"/>

Reply via email to