stratos-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mep...@apache.org
Subject git commit: startupOrder format change II
Date Thu, 09 Oct 2014 00:52:51 GMT
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 <meppel@cisco..com>
Authored: Wed Oct 8 17:50:22 2014 -0700
Committer: Martin Eppel <meppel@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;
     }
+    */
 }


Mime
View raw message