You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Isuru Haththotuwa <is...@apache.org> on 2014/10/09 12:10:47 UTC
Fwd: git commit: startupOrder format change II
Hi Martin,
Seems that you have commented out the public static Set<StartupOrder>
convert (org.apache.stratos.cloud.controller.pojo.StartupOrder []
startupOrderArr, GroupContext groupContext) methos in the ParseUtils class.
Any specific reason to do it?
This change has broken the logic in the startup order parsing, currently
I'm trying to fix it.
---------- Forwarded message ----------
From: <me...@apache.org>
Date: Thu, Oct 9, 2014 at 6:22 AM
Subject: git commit: startupOrder format change II
To: commits@stratos.apache.org
Repository: stratos
Updated Branches:
refs/heads/4.0.0-grouping cb67a8096 -> cff0ace65
startupOrder format change II
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/cff0ace6
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/cff0ace6
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/cff0ace6
Branch: refs/heads/4.0.0-grouping
Commit: cff0ace658e805738b939289b2bb1d95afb83463
Parents: cb67a80
Author: Martin Eppel <me...@cisco..com>
Authored: Wed Oct 8 17:50:22 2014 -0700
Committer: Martin Eppel <me...@cisco..com>
Committed: Wed Oct 8 17:52:36 2014 -0700
----------------------------------------------------------------------
.../grouping/dependency/DependencyBuilder.java | 44 +++++-------
.../parser/DefaultApplicationParser.java | 70 +++++---------------
.../application/parser/ParserUtils.java | 2 +
.../cloud/controller/pojo/StartupOrder.java | 3 +
.../deployer/DefaultServiceGroupDeployer.java | 1 -
.../domain/topology/DependencyOrder.java | 39 +++++++----
.../messaging/domain/topology/StartupOrder.java | 3 +
7 files changed, 65 insertions(+), 97 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
----------------------------------------------------------------------
diff --git
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
index a4f9b54..7c087ec 100644
---
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
+++
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
@@ -81,43 +81,31 @@ public class DependencyBuilder {
}
//Parsing the start up order
- Set<StartupOrder> startupOrderSet =
dependencyOrder.getStartupOrders();
- ApplicationContext foundContext = null;
- for (StartupOrder startupOrder : startupOrderSet) {
+ String [] startupOrders = dependencyOrder.getStartupOrders();
+ ApplicationContext foundContext = null;
+ if (startupOrders == null) {
+ if (log.isDebugEnabled()) {
+ log.debug("startupOrders is null, returning default
dependency tree (empty)");
+ }
+
+ return dependencyTree;
+ }
+ for (String startupOrder : startupOrders) {
+ String start =
dependencyOrder.getStartStartupOrder(startupOrder);
foundContext = null;
- for (String start : startupOrder.getStartList()) {
+
+ if (start != null) {
ApplicationContext applicationContext =
ApplicationContextFactory.
getApplicationContext(start,
component, dependencyTree);
String id = applicationContext.getId(); //TODO change
the id
+
+
ApplicationContext existingApplicationContext =
dependencyTree.findApplicationContextWithId(id);
- if (existingApplicationContext == null) {
- if (foundContext != null) {
- //appending the start up order to existing
group/cluster
-
foundContext.addApplicationContext(applicationContext);
- if (log.isDebugEnabled()) {
- log.debug("Found an existing [dependency]
" + foundContext.getId() +
- " and adding the [dependency] " +
id + " as the child");
- }
- } else {
+ if (existingApplicationContext == null) {
//adding list of startup order to the
dependency tree
dependencyTree.addApplicationContext(applicationContext);
- }
- } else {
- if (foundContext == null) {
- //assigning the found context to the later use.
- foundContext = existingApplicationContext;
- if (log.isDebugEnabled()) {
- log.debug("Found an existing [dependency]
" + id + " and setting it " +
- "for the next dependency to
follow");
- }
- } else {
- //TODO Throw exception, since another same
start order already found
- log.warn("Startup order is not consistent. It
contains the group/cluster " +
- "which has been used more than one in
another startup order");
- }
-
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/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 d01674d..efeccd7 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,9 +268,17 @@ public class DefaultApplicationParser implements
ApplicationParser {
// get top level Dependency definitions
if (appCtxt.getComponents().getDependencyContext() != null) {
DependencyOrder appDependencyOrder = new DependencyOrder();
- Set<StartupOrder> startupOrders =
getStartupOrderForApplicationComponents(appCtxt.getComponents().getDependencyContext().getStartupOrdersContexts());
+ String [] startupOrders =
appCtxt.getComponents().getDependencyContext().getStartupOrdersContexts();
if (startupOrders != null) {
+ if (log.isDebugEnabled()) {
+ log.debug("parsing application ...
buildCompositeAppStructure: startupOrders != null for app alias: " +
+ appCtxt.getAlias() + " #: "
+ startupOrders.length);
+ }
appDependencyOrder.setStartupOrders(startupOrders);
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("parsing application ...
buildCompositeAppStructure: startupOrders == null for app alias: " +
appCtxt.getAlias());
+ }
}
appDependencyOrder.setKillbehavior(appCtxt.getComponents().getDependencyContext().getKillBehaviour());
@@ -391,7 +399,7 @@ public class DefaultApplicationParser implements
ApplicationParser {
group.setDeploymentPolicy(groupCtxt.getDeploymentPolicy());
DependencyOrder dependencyOrder = new DependencyOrder();
// create the Dependency Ordering
- Set<StartupOrder> startupOrders =
getStartupOrderForGroup(groupCtxt);
+ String [] startupOrders = getStartupOrderForGroup(groupCtxt);
if (startupOrders != null) {
dependencyOrder.setStartupOrders(startupOrders);
}
@@ -434,7 +442,7 @@ public class DefaultApplicationParser implements
ApplicationParser {
*
* @throws ApplicationDefinitionException
*/
- private Set<StartupOrder> getStartupOrderForGroup(GroupContext
groupContext) throws ApplicationDefinitionException {
+ private String [] getStartupOrderForGroup(GroupContext groupContext)
throws ApplicationDefinitionException {
ServiceGroup serviceGroup =
FasterLookUpDataHolder.getInstance().getServiceGroup(groupContext.getName());
@@ -448,23 +456,14 @@ public class DefaultApplicationParser implements
ApplicationParser {
assert serviceGroup != null;
if (serviceGroup.getDependencies() != null) {
+ if (log.isDebugEnabled()) {
+ log.debug("parsing application ... getStartupOrderForGroup:
dependencies != null " );
+ }
if (serviceGroup.getDependencies().getStartupOrders() != null)
{
- Set<StartupOrder> startupOrders = new
HashSet<StartupOrder>();
- String [] st =
serviceGroup.getDependencies().getStartupOrders();
-
+ String [] startupOrders =
serviceGroup.getDependencies().getStartupOrders();
if (log.isDebugEnabled()) {
- log.debug("parsing application ...
getStartupOrderForGroup # of startupOrders: " + st.length);
- }
-
- 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]);
- }
+ log.debug("parsing application ...
getStartupOrderForGroup: startupOrders != null # of: " +
startupOrders.length);
}
return startupOrders;
}
@@ -474,43 +473,6 @@ public class DefaultApplicationParser implements
ApplicationParser {
}
/**
- * Find the startup order for an Application
- *
- * @param startupOrderCtxts Startup Order information related to the
Application
- * @return Set of Startup Orders
- *
- * @throws ApplicationDefinitionException if an error occurs
- */
- private Set<StartupOrder> getStartupOrderForApplicationComponents
(String [] startupOrdersCtxts)
- throws ApplicationDefinitionException {
-
- 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;
- }
-
- /**
* Get kill behaviour related to a Group
*
* @param serviceGroupName Group name
http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
----------------------------------------------------------------------
diff --git
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
index f47970c..707fd0a 100644
---
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
+++
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
@@ -28,6 +28,7 @@ import java.util.Set;
public class ParserUtils {
+ /*
public static Set<StartupOrder> convert
(org.apache.stratos.cloud.controller.pojo.StartupOrder [] startupOrderArr,
GroupContext groupContext) {
Set<StartupOrder> startupOrders = new HashSet<StartupOrder>();
@@ -108,6 +109,7 @@ public class ParserUtils {
return null;
}
+*/
private static String getAliasForServiceType (String serviceType,
GroupContext groupContext) {
for (SubscribableContext subCtxt :
groupContext.getSubscribableContexts()) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
----------------------------------------------------------------------
diff --git
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
index 0f1c647..ed9626b 100644
---
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
+++
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
@@ -24,6 +24,8 @@ import java.io.Serializable;
public class StartupOrder implements Serializable {
private static final long serialVersionUID = 280860334002791396L;
+
+ /*
private String start;
@@ -44,4 +46,5 @@ public class StartupOrder implements Serializable {
public void setAfter(String after) {
this.after = after;
}
+ */
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/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 f4d42f6..8885ebd 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
@@ -28,7 +28,6 @@ import
org.apache.stratos.manager.exception.InvalidServiceGroupException;
import org.apache.stratos.manager.exception.ServiceGroupDefinitioException;
import
org.apache.stratos.manager.grouping.definitions.ServiceGroupDefinition;
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.CloudControllerServiceInvalidServiceGroupExceptionException;
http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
----------------------------------------------------------------------
diff --git
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
index 5fb694a..ff08a4c 100644
---
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
+++
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
@@ -25,24 +25,17 @@ import java.util.Set;
public class DependencyOrder implements Serializable {
- private Set<StartupOrder> startupOrders;
+ /**
+ *
+ */
+ private static final long serialVersionUID = -599600831844477527L;
+
+ private String [] startupOrders;
private String killbehavior;
public DependencyOrder () {
- this.startupOrders = new HashSet<StartupOrder>();
- }
-
- public void setStartupOrders (Set<StartupOrder> startupOrders) {
- this.startupOrders.addAll(startupOrders);
- }
-
- public Set<StartupOrder> getStartupOrders() {
- return startupOrders;
- }
-
- public void addStartupOrders(StartupOrder startupOrder) {
- this.startupOrders.add(startupOrder);
+ this.setStartupOrders(null);
}
public String getKillbehavior() {
@@ -52,4 +45,22 @@ public class DependencyOrder implements Serializable {
public void setKillbehavior(String killbehavior) {
this.killbehavior = killbehavior;
}
+
+ public String [] getStartupOrders() {
+ return startupOrders;
+ }
+
+ public void setStartupOrders(String [] startupOrders) {
+ this.startupOrders = startupOrders;
+ }
+
+ public String getStartStartupOrder(String startupOrder) {
+ String [] splitStartupOrder = startupOrder.split(",");
+ return splitStartupOrder[0];
+ }
+
+ public String getAfterStartupOrder(String startupOrder) {
+ String [] splitStartupOrder = startupOrder.split(",");
+ return splitStartupOrder[1];
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
----------------------------------------------------------------------
diff --git
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
index 220380e..6263070 100644
---
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
+++
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
@@ -23,6 +23,8 @@ import java.io.Serializable;
import java.util.List;
public class StartupOrder implements Serializable {
+
+ /*
private String start;
@@ -50,4 +52,5 @@ public class StartupOrder implements Serializable {
public void setStartList(List<String> startList) {
this.startList = startList;
}
+ */
}
--
Thanks and Regards,
Isuru H.
+94 716 358 048* <http://wso2.com/>*
* <http://wso2.com/>*
Re: git commit: startupOrder format change II
Posted by Isuru Haththotuwa <is...@apache.org>.
Fixed this in the commit f11401a342ec74e17fd6dc8dcf3c4d6477e221bf.
On Thu, Oct 9, 2014 at 3:40 PM, Isuru Haththotuwa <is...@apache.org> wrote:
>
> Hi Martin,
>
> Seems that you have commented out the public static Set<StartupOrder>
> convert (org.apache.stratos.cloud.controller.pojo.StartupOrder []
> startupOrderArr, GroupContext groupContext) methos in the ParseUtils class.
> Any specific reason to do it?
>
> This change has broken the logic in the startup order parsing, currently
> I'm trying to fix it.
>
> ---------- Forwarded message ----------
> From: <me...@apache.org>
> Date: Thu, Oct 9, 2014 at 6:22 AM
> Subject: git commit: startupOrder format change II
> To: commits@stratos.apache.org
>
>
> Repository: stratos
> Updated Branches:
> refs/heads/4.0.0-grouping cb67a8096 -> cff0ace65
>
>
> startupOrder format change II
>
>
> Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
> Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/cff0ace6
> Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/cff0ace6
> Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/cff0ace6
>
> Branch: refs/heads/4.0.0-grouping
> Commit: cff0ace658e805738b939289b2bb1d95afb83463
> Parents: cb67a80
> Author: Martin Eppel <me...@cisco..com>
> Authored: Wed Oct 8 17:50:22 2014 -0700
> Committer: Martin Eppel <me...@cisco..com>
> Committed: Wed Oct 8 17:52:36 2014 -0700
>
> ----------------------------------------------------------------------
> .../grouping/dependency/DependencyBuilder.java | 44 +++++-------
> .../parser/DefaultApplicationParser.java | 70 +++++---------------
> .../application/parser/ParserUtils.java | 2 +
> .../cloud/controller/pojo/StartupOrder.java | 3 +
> .../deployer/DefaultServiceGroupDeployer.java | 1 -
> .../domain/topology/DependencyOrder.java | 39 +++++++----
> .../messaging/domain/topology/StartupOrder.java | 3 +
> 7 files changed, 65 insertions(+), 97 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
> ----------------------------------------------------------------------
> diff --git
> a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
> b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
> index a4f9b54..7c087ec 100644
> ---
> a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
> +++
> b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
> @@ -81,43 +81,31 @@ public class DependencyBuilder {
> }
>
> //Parsing the start up order
> - Set<StartupOrder> startupOrderSet =
> dependencyOrder.getStartupOrders();
> - ApplicationContext foundContext = null;
> - for (StartupOrder startupOrder : startupOrderSet) {
> + String [] startupOrders = dependencyOrder.getStartupOrders();
> + ApplicationContext foundContext = null;
> + if (startupOrders == null) {
> + if (log.isDebugEnabled()) {
> + log.debug("startupOrders is null, returning default
> dependency tree (empty)");
> + }
> +
> + return dependencyTree;
> + }
> + for (String startupOrder : startupOrders) {
> + String start =
> dependencyOrder.getStartStartupOrder(startupOrder);
> foundContext = null;
> - for (String start : startupOrder.getStartList()) {
> +
> + if (start != null) {
> ApplicationContext applicationContext =
> ApplicationContextFactory.
> getApplicationContext(start,
> component, dependencyTree);
> String id = applicationContext.getId(); //TODO change
> the id
> +
> +
>
> ApplicationContext existingApplicationContext =
>
> dependencyTree.findApplicationContextWithId(id);
> - if (existingApplicationContext == null) {
> - if (foundContext != null) {
> - //appending the start up order to existing
> group/cluster
> -
> foundContext.addApplicationContext(applicationContext);
> - if (log.isDebugEnabled()) {
> - log.debug("Found an existing [dependency]
> " + foundContext.getId() +
> - " and adding the [dependency] " +
> id + " as the child");
> - }
> - } else {
> + if (existingApplicationContext == null) {
> //adding list of startup order to the
> dependency tree
>
> dependencyTree.addApplicationContext(applicationContext);
> - }
> - } else {
> - if (foundContext == null) {
> - //assigning the found context to the later
> use.
> - foundContext = existingApplicationContext;
> - if (log.isDebugEnabled()) {
> - log.debug("Found an existing [dependency]
> " + id + " and setting it " +
> - "for the next dependency to
> follow");
> - }
> - } else {
> - //TODO Throw exception, since another same
> start order already found
> - log.warn("Startup order is not consistent. It
> contains the group/cluster " +
> - "which has been used more than one in
> another startup order");
> - }
> -
> }
>
> }
>
>
> http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/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 d01674d..efeccd7 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,9 +268,17 @@ public class DefaultApplicationParser implements
> ApplicationParser {
> // get top level Dependency definitions
> if (appCtxt.getComponents().getDependencyContext() != null) {
> DependencyOrder appDependencyOrder = new
> DependencyOrder();
> - Set<StartupOrder> startupOrders =
> getStartupOrderForApplicationComponents(appCtxt.getComponents().getDependencyContext().getStartupOrdersContexts());
> + String [] startupOrders =
> appCtxt.getComponents().getDependencyContext().getStartupOrdersContexts();
> if (startupOrders != null) {
> + if (log.isDebugEnabled()) {
> + log.debug("parsing application ...
> buildCompositeAppStructure: startupOrders != null for app alias: " +
> + appCtxt.getAlias() + " #:
> " + startupOrders.length);
> + }
> appDependencyOrder.setStartupOrders(startupOrders);
> + } else {
> + if (log.isDebugEnabled()) {
> + log.debug("parsing application ...
> buildCompositeAppStructure: startupOrders == null for app alias: " +
> appCtxt.getAlias());
> + }
> }
>
> appDependencyOrder.setKillbehavior(appCtxt.getComponents().getDependencyContext().getKillBehaviour());
>
> @@ -391,7 +399,7 @@ public class DefaultApplicationParser implements
> ApplicationParser {
> group.setDeploymentPolicy(groupCtxt.getDeploymentPolicy());
> DependencyOrder dependencyOrder = new DependencyOrder();
> // create the Dependency Ordering
> - Set<StartupOrder> startupOrders =
> getStartupOrderForGroup(groupCtxt);
> + String [] startupOrders = getStartupOrderForGroup(groupCtxt);
> if (startupOrders != null) {
> dependencyOrder.setStartupOrders(startupOrders);
> }
> @@ -434,7 +442,7 @@ public class DefaultApplicationParser implements
> ApplicationParser {
> *
> * @throws ApplicationDefinitionException
> */
> - private Set<StartupOrder> getStartupOrderForGroup(GroupContext
> groupContext) throws ApplicationDefinitionException {
> + private String [] getStartupOrderForGroup(GroupContext groupContext)
> throws ApplicationDefinitionException {
>
> ServiceGroup serviceGroup =
> FasterLookUpDataHolder.getInstance().getServiceGroup(groupContext.getName());
>
> @@ -448,23 +456,14 @@ public class DefaultApplicationParser implements
> ApplicationParser {
>
> assert serviceGroup != null;
> if (serviceGroup.getDependencies() != null) {
> + if (log.isDebugEnabled()) {
> + log.debug("parsing application ...
> getStartupOrderForGroup: dependencies != null " );
> + }
> if (serviceGroup.getDependencies().getStartupOrders() !=
> null) {
>
> - Set<StartupOrder> startupOrders = new
> HashSet<StartupOrder>();
> - String [] st =
> serviceGroup.getDependencies().getStartupOrders();
> -
> + String [] startupOrders =
> serviceGroup.getDependencies().getStartupOrders();
> if (log.isDebugEnabled()) {
> - log.debug("parsing application ...
> getStartupOrderForGroup # of startupOrders: " + st.length);
> - }
> -
> - 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]);
> - }
> + log.debug("parsing application ...
> getStartupOrderForGroup: startupOrders != null # of: " +
> startupOrders.length);
> }
> return startupOrders;
> }
> @@ -474,43 +473,6 @@ public class DefaultApplicationParser implements
> ApplicationParser {
> }
>
> /**
> - * Find the startup order for an Application
> - *
> - * @param startupOrderCtxts Startup Order information related to the
> Application
> - * @return Set of Startup Orders
> - *
> - * @throws ApplicationDefinitionException if an error occurs
> - */
> - private Set<StartupOrder> getStartupOrderForApplicationComponents
> (String [] startupOrdersCtxts)
> - throws ApplicationDefinitionException {
> -
> - 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;
> - }
> -
> - /**
> * Get kill behaviour related to a Group
> *
> * @param serviceGroupName Group name
>
>
> http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
> ----------------------------------------------------------------------
> diff --git
> a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
> b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
> index f47970c..707fd0a 100644
> ---
> a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
> +++
> b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/ParserUtils.java
> @@ -28,6 +28,7 @@ import java.util.Set;
>
> public class ParserUtils {
>
> + /*
> public static Set<StartupOrder> convert
> (org.apache.stratos.cloud.controller.pojo.StartupOrder [] startupOrderArr,
> GroupContext groupContext) {
>
> Set<StartupOrder> startupOrders = new HashSet<StartupOrder>();
> @@ -108,6 +109,7 @@ public class ParserUtils {
> return null;
> }
>
> +*/
> private static String getAliasForServiceType (String serviceType,
> GroupContext groupContext) {
>
> for (SubscribableContext subCtxt :
> groupContext.getSubscribableContexts()) {
>
>
> http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
> ----------------------------------------------------------------------
> diff --git
> a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
> b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
> index 0f1c647..ed9626b 100644
> ---
> a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
> +++
> b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/StartupOrder.java
> @@ -24,6 +24,8 @@ import java.io.Serializable;
> public class StartupOrder implements Serializable {
>
> private static final long serialVersionUID = 280860334002791396L;
> +
> + /*
>
> private String start;
>
> @@ -44,4 +46,5 @@ public class StartupOrder implements Serializable {
> public void setAfter(String after) {
> this.after = after;
> }
> + */
> }
>
>
> http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/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 f4d42f6..8885ebd 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
> @@ -28,7 +28,6 @@ import
> org.apache.stratos.manager.exception.InvalidServiceGroupException;
> import
> org.apache.stratos.manager.exception.ServiceGroupDefinitioException;
> import
> org.apache.stratos.manager.grouping.definitions.ServiceGroupDefinition;
> 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.CloudControllerServiceInvalidServiceGroupExceptionException;
>
>
> http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
> ----------------------------------------------------------------------
> diff --git
> a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
> b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
> index 5fb694a..ff08a4c 100644
> ---
> a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
> +++
> b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/DependencyOrder.java
> @@ -25,24 +25,17 @@ import java.util.Set;
>
> public class DependencyOrder implements Serializable {
>
> - private Set<StartupOrder> startupOrders;
> + /**
> + *
> + */
> + private static final long serialVersionUID = -599600831844477527L;
> +
> + private String [] startupOrders;
>
> private String killbehavior;
>
> public DependencyOrder () {
> - this.startupOrders = new HashSet<StartupOrder>();
> - }
> -
> - public void setStartupOrders (Set<StartupOrder> startupOrders) {
> - this.startupOrders.addAll(startupOrders);
> - }
> -
> - public Set<StartupOrder> getStartupOrders() {
> - return startupOrders;
> - }
> -
> - public void addStartupOrders(StartupOrder startupOrder) {
> - this.startupOrders.add(startupOrder);
> + this.setStartupOrders(null);
> }
>
> public String getKillbehavior() {
> @@ -52,4 +45,22 @@ public class DependencyOrder implements Serializable {
> public void setKillbehavior(String killbehavior) {
> this.killbehavior = killbehavior;
> }
> +
> + public String [] getStartupOrders() {
> + return startupOrders;
> + }
> +
> + public void setStartupOrders(String [] startupOrders) {
> + this.startupOrders = startupOrders;
> + }
> +
> + public String getStartStartupOrder(String startupOrder) {
> + String [] splitStartupOrder = startupOrder.split(",");
> + return splitStartupOrder[0];
> + }
> +
> + public String getAfterStartupOrder(String startupOrder) {
> + String [] splitStartupOrder = startupOrder.split(",");
> + return splitStartupOrder[1];
> + }
> }
>
>
> http://git-wip-us.apache.org/repos/asf/stratos/blob/cff0ace6/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
> ----------------------------------------------------------------------
> diff --git
> a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
> b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
> index 220380e..6263070 100644
> ---
> a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
> +++
> b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/StartupOrder.java
> @@ -23,6 +23,8 @@ import java.io.Serializable;
> import java.util.List;
>
> public class StartupOrder implements Serializable {
> +
> + /*
>
> private String start;
>
> @@ -50,4 +52,5 @@ public class StartupOrder implements Serializable {
> public void setStartList(List<String> startList) {
> this.startList = startList;
> }
> + */
> }
>
> --
> Thanks and Regards,
>
> Isuru H.
> +94 716 358 048
>
> --
> Thanks and Regards,
>
> Isuru H.
> +94 716 358 048* <http://wso2.com/>*
>
>
> * <http://wso2.com/>*
>
>
>