You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2014/12/11 15:37:31 UTC

stratos git commit: removing the deployment policy when undeploy the application

Repository: stratos
Updated Branches:
  refs/heads/4.1.0-test b1f3b9bd3 -> d08f7b28a


removing the deployment policy when undeploy the application


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

Branch: refs/heads/4.1.0-test
Commit: d08f7b28a7630e6e0f2c359ebfd9a43be5a9b27b
Parents: b1f3b9b
Author: reka <rt...@gmail.com>
Authored: Thu Dec 11 20:07:18 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Thu Dec 11 20:07:18 2014 +0530

----------------------------------------------------------------------
 .../applications/topic/ApplicationBuilder.java           | 11 +++++++++++
 .../stratos/autoscaler/pojo/policy/PolicyManager.java    |  9 +++++++++
 2 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/d08f7b28/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
index a7e6be5..06b2283 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
@@ -25,6 +25,7 @@ import org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext
 import org.apache.stratos.autoscaler.client.CloudControllerClient;
 import org.apache.stratos.autoscaler.context.AutoscalerContext;
 import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher;
+import org.apache.stratos.autoscaler.exception.policy.InvalidPolicyException;
 import org.apache.stratos.autoscaler.monitor.Monitor;
 import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
 import org.apache.stratos.autoscaler.monitor.component.GroupMonitor;
@@ -317,6 +318,16 @@ public class ApplicationBuilder {
                     //Removing the application from memory and registry
                     //ApplicationHolder.removeApplication(appId);
                     log.info("Application run time is removed: [application-id] " + appId);
+                    // Check whether given application is deployed
+                    String policyId = PolicyManager.getInstance().getDeploymentPolicyIdByApplication(appId);
+                    if(policyId != null) {
+                        try {
+                            PolicyManager.getInstance().undeployDeploymentPolicy(policyId);
+                        } catch (InvalidPolicyException e) {
+                            log.error("Error while unDeploying the policy for [application] " + appId);
+                        }
+                    }
+
                 }
                 ApplicationsEventPublisher.sendApplicationInstanceTerminatedEvent(appId, instanceId);
             } else {

http://git-wip-us.apache.org/repos/asf/stratos/blob/d08f7b28/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
index ac05b55..a3a9337 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
@@ -290,4 +290,13 @@ public class PolicyManager {
         return null;
     }
 
+    public String getDeploymentPolicyIdByApplication(String appId) {
+        for(Map.Entry<String, DeploymentPolicy> entry : deploymentPolicyListMap.entrySet()) {
+            if(entry.getValue().getApplicationId().equals(appId)) {
+                return entry.getKey();
+            }
+        }
+        return null;
+    }
+
 }