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"/>
