Repository: stratos
Updated Branches:
  refs/heads/master dd68738a4 -> f1b25fe46


fixing a compilation issue


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

Branch: refs/heads/master
Commit: f1b25fe4684103e97c3fa5cc1ff072f4dea23d34
Parents: dd68738
Author: reka <[email protected]>
Authored: Thu Nov 27 17:38:50 2014 +0530
Committer: reka <[email protected]>
Committed: Thu Nov 27 17:38:50 2014 +0530

----------------------------------------------------------------------
 ...ntComponentLevelNetworkPartitionContext.java | 10 ++---
 .../monitor/application/ApplicationMonitor.java | 41 +++++++++++++-------
 2 files changed, 33 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/f1b25fe4/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/ParentComponentLevelNetworkPartitionContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/ParentComponentLevelNetworkPartitionContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/ParentComponentLevelNetworkPartitionContext.java
index e9ca470..d566c31 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/ParentComponentLevelNetworkPartitionContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/ParentComponentLevelNetworkPartitionContext.java
@@ -56,7 +56,7 @@ public class ParentComponentLevelNetworkPartitionContext 
extends NetworkPartitio
     private int currentPartitionIndex;
 
     //partitions of this network partition
-    private final Map<String, PartitionContext> partitionCtxts;
+    private final Map<String, ClusterLevelPartitionContext> partitionCtxts;
 
     public ParentComponentLevelNetworkPartitionContext(String id, String 
partitionAlgo, Partition[] partitions) {
 
@@ -68,7 +68,7 @@ public class ParentComponentLevelNetworkPartitionContext 
extends NetworkPartitio
         } else {
             this.partitions = Arrays.copyOf(partitions, partitions.length);
         }
-        partitionCtxts = new HashMap<String, PartitionContext>();
+        partitionCtxts = new HashMap<String, ClusterLevelPartitionContext>();
         for (Partition partition : partitions) {
             minInstanceCount += partition.getPartitionMin();
             maxInstanceCount += partition.getPartitionMax();
@@ -144,15 +144,15 @@ public class ParentComponentLevelNetworkPartitionContext 
extends NetworkPartitio
         return id;
     }
 
-    public Map<String, PartitionContext> getPartitionCtxts() {
+    public Map<String, ClusterLevelPartitionContext> getPartitionCtxts() {
         return partitionCtxts;
     }
 
-    public PartitionContext getPartitionCtxt(String partitionId) {
+    public ClusterLevelPartitionContext getPartitionCtxt(String partitionId) {
         return partitionCtxts.get(partitionId);
     }
 
-    public void addPartitionContext(PartitionContext partitionContext) {
+    public void addPartitionContext(ClusterLevelPartitionContext 
partitionContext) {
         partitionCtxts.put(partitionContext.getPartitionId(), 
partitionContext);
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/f1b25fe4/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
index 096cf06..78cf8c2 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
@@ -21,6 +21,7 @@ package org.apache.stratos.autoscaler.monitor.application;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import 
org.apache.stratos.autoscaler.ParentComponentLevelNetworkPartitionContext;
+import org.apache.stratos.autoscaler.applications.ApplicationHolder;
 import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder;
 import org.apache.stratos.autoscaler.exception.DependencyBuilderException;
 import org.apache.stratos.autoscaler.exception.PolicyValidationException;
@@ -185,6 +186,32 @@ public class ApplicationMonitor extends 
ParentComponentMonitor {
     private void createInstanceAndStartDependency(Application application)
             throws TopologyInConsistentException, PolicyValidationException {
         List<String> instanceIds = new ArrayList<String>();
+        DeploymentPolicy deploymentPolicy = getDeploymentPolicy(application);
+        String instanceId;
+        for (PartitionGroup partitionGroup : 
deploymentPolicy.getPartitionGroups()) {
+            instanceId = createApplicationInstance(application, 
partitionGroup.getId());
+            ParentComponentLevelNetworkPartitionContext context = new 
ParentComponentLevelNetworkPartitionContext(partitionGroup.getId(),
+                    partitionGroup.getPartitionAlgo(),
+                    partitionGroup.getPartitions());
+            
context.addInstanceContext(application.getInstanceContexts(instanceId));
+            this.addNetworkPartitionContext(context);
+
+            instanceIds.add(instanceId);
+        }
+        startDependency(application, instanceIds);
+
+
+    }
+
+    public void createInstanceOnBurstingForApplication() throws 
TopologyInConsistentException {
+        //TODO get lock
+        Application application = 
ApplicationHolder.getApplications().getApplication(appId);
+        if(application == null) {
+            String msg = "Application cannot be found in the Topology.";
+        }
+    }
+
+    private DeploymentPolicy getDeploymentPolicy(Application application) 
throws PolicyValidationException {
         String deploymentPolicyName = application.getDeploymentPolicy();
         if (deploymentPolicyName == null) {
             String msg = "Deployment Policy is not specified to the 
[Application]:" + appId;
@@ -202,20 +229,8 @@ public class ApplicationMonitor extends 
ParentComponentMonitor {
                 throw new PolicyValidationException(msg);
             }
         }
-        String instanceId;
-        for (PartitionGroup partitionGroup : 
deploymentPolicy.getPartitionGroups()) {
-            instanceId = createApplicationInstance(application, 
partitionGroup.getId());
-            ParentComponentLevelNetworkPartitionContext context = new 
ParentComponentLevelNetworkPartitionContext(partitionGroup.getId(),
-                    partitionGroup.getPartitionAlgo(),
-                    partitionGroup.getPartitions());
-            
context.addInstanceContext(application.getInstanceContexts(instanceId));
-            this.addNetworkPartitionContext(context);
-
-            instanceIds.add(instanceId);
-        }
-        startDependency(application, instanceIds);
-
 
+        return deploymentPolicy;
     }
 
     private String createApplicationInstance(Application application, String 
networkPartitionId) {

Reply via email to