You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ga...@apache.org on 2015/01/07 11:19:03 UTC

stratos git commit: Update the dependencies with type

Repository: stratos
Updated Branches:
  refs/heads/master 835da12c4 -> 05412ccf9


Update the dependencies with type


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

Branch: refs/heads/master
Commit: 05412ccf9cbd5733a324279442a1d009e313b6b9
Parents: 835da12
Author: gayan <ga...@puppet.gayan.org>
Authored: Wed Jan 7 15:41:44 2015 +0530
Committer: gayan <ga...@puppet.gayan.org>
Committed: Wed Jan 7 15:41:56 2015 +0530

----------------------------------------------------------------------
 .../parser/DefaultApplicationParser.java        | 29 +++++++++++++-------
 1 file changed, 19 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/05412ccf/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
index 86f0866..3a46e06 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
@@ -254,6 +254,7 @@ public class DefaultApplicationParser implements ApplicationParser {
             List<CartridgeContext> cartridgeContextList,Set<StartupOrder> dependencyOrder) throws ApplicationDefinitionException {
 
     	 Map<String, ClusterDataHolder> clusterDataMap = new HashMap<String, ClusterDataHolder>();
+	    Map<String, ClusterDataHolder> clusterDataMapByType = new HashMap<String, ClusterDataHolder>();
 
     	 for (CartridgeContext cartridgeContext : cartridgeContextList) {
 		     List<String> dependencyClusterIDs = new ArrayList<String>();
@@ -285,20 +286,22 @@ public class DefaultApplicationParser implements ApplicationParser {
              }
 
 		     // add relevant information to the map
-		     ClusterDataHolder clusterDataHolder = new ClusterDataHolder(cartridgeType, clusterId);
-		     clusterDataHolder.setMinInstances(cartridgeContext.getCartridgeMin());
-		     clusterDataHolder.setMaxInstances(cartridgeContext.getCartridgeMax());
-		     clusterDataMap.put(subscriptionAlias, clusterDataHolder);
+		     ClusterDataHolder clusterDataHolderPerType = new ClusterDataHolder(cartridgeType, clusterId);
+		     clusterDataHolderPerType.setMinInstances(cartridgeContext.getCartridgeMin());
+		     clusterDataHolderPerType.setMaxInstances(cartridgeContext.getCartridgeMax());
+		     clusterDataMapByType.put(cartridgeType, clusterDataHolderPerType);
 
 		     //Get dependency cluster id
 		     if (dependencyOrder != null) {
 		    	 for (StartupOrder startupOrder : dependencyOrder) {
 		    		 for (String startupOrderComponent : startupOrder.getStartupOrderComponentList()) {
-		    			 ClusterDataHolder dataHolder = clusterDataMap.get(startupOrderComponent.split("\\.")[1]);
-		    			 dependencyClusterIDs.add(dataHolder.getClusterId());
-		    			 if (startupOrderComponent.equals("cartridge.".concat(subscriptionAlias))) {
-		    				 break;
-		    			 }
+		    			 ClusterDataHolder dataHolder = clusterDataMapByType.get(startupOrderComponent.split("\\.")[1]);
+					     if(dataHolder!=null) {
+						     dependencyClusterIDs.add(dataHolder.getClusterId());
+						     if (startupOrderComponent.equals("cartridge.".concat(cartridgeType))) {
+							     break;
+						     }
+					     }
 		    		 }
 		    		 
 		    	 }
@@ -317,6 +320,12 @@ public class DefaultApplicationParser implements ApplicationParser {
              appClusterCtxt.setProperties(cartridgeContext.getSubscribableInfoContext().getProperties());
              this.applicationClusterContexts.add(appClusterCtxt);
 
+		     // add relevant information to the map
+		     ClusterDataHolder clusterDataHolder = new ClusterDataHolder(cartridgeType, clusterId);
+		     clusterDataHolder.setMinInstances(cartridgeContext.getCartridgeMin());
+		     clusterDataHolder.setMaxInstances(cartridgeContext.getCartridgeMax());
+		     clusterDataMap.put(subscriptionAlias, clusterDataHolder);
+
          }
          return clusterDataMap;
     }
@@ -673,7 +682,7 @@ public class DefaultApplicationParser implements ApplicationParser {
                 hostname, repoUrl, alias, null, dependencyAliases, properties, oauthToken, dependencyClustorIDs);
 
         String textPayload = payloadData.toString();
-		log.debug("Payload :: "+textPayload);
+		log.debug("Payload :: " + textPayload);
         return new ApplicationClusterContext(cartridgeInfo.getType(), clusterId, hostname, textPayload, deploymentPolicy, isLB);
     }