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 2015/06/25 17:02:15 UTC

stratos git commit: Fixing NPE which caused by policy validation and fixing the policy validation to validate against whole applicaiton

Repository: stratos
Updated Branches:
  refs/heads/master 1089dedc6 -> 2ee26c15c


Fixing NPE which caused by policy validation and fixing the policy validation to validate against whole applicaiton


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

Branch: refs/heads/master
Commit: 2ee26c15c1d64ed67175c1a6dbadc7dba452949e
Parents: 1089ded
Author: reka <rt...@gmail.com>
Authored: Thu Jun 25 20:32:03 2015 +0530
Committer: reka <rt...@gmail.com>
Committed: Thu Jun 25 20:32:03 2015 +0530

----------------------------------------------------------------------
 .../services/impl/AutoscalerServiceImpl.java      | 18 +++++++++---------
 .../stratos/autoscaler/util/AutoscalerUtil.java   |  2 +-
 2 files changed, 10 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/2ee26c15/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index dab0b19..54ff1b3 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -101,12 +101,12 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     @Override
     public boolean removeAutoScalingPolicy(String autoscalePolicyId) throws UnremovablePolicyException,
             PolicyDoesNotExistException {
-        if (removableAutoScalerPolicy(autoscalePolicyId)) {
+        //if (removableAutoScalerPolicy(autoscalePolicyId)) {
             return PolicyManager.getInstance().removeAutoscalePolicy(autoscalePolicyId);
-        } else {
+       /* } else {
             throw new UnremovablePolicyException("This autoscaler policy cannot be removed, since it is used in " +
                     "applications.");
-        }
+        }*/
     }
 
     /**
@@ -138,12 +138,12 @@ public class AutoscalerServiceImpl implements AutoscalerService {
      */
     private boolean removableDeploymentPolicy(String deploymentPolicyId) {
         boolean canRemove = true;
-        Collection<ApplicationContext> appContexts = AutoscalerContext.getInstance().getApplicationContexts();
-        for (ApplicationContext app : appContexts) {
-            CartridgeContext[] cartridgeContexts = app.getComponents().getCartridgeContexts();
-            for (CartridgeContext cartridgeContext : cartridgeContexts) {
-                SubscribableInfoContext subscribableInfoContexts = cartridgeContext.getSubscribableInfoContext();
-                if (subscribableInfoContexts.getDeploymentPolicy().equals(deploymentPolicyId)) {
+        Map<String, Application> applications = ApplicationHolder.getApplications().getApplications();
+        for (Application application : applications.values()) {
+            List<String> deploymentPolicyIdsReferredInApplication = AutoscalerUtil.
+                    getDeploymentPolicyIdsReferredInApplication(application.getUniqueIdentifier());
+            for (String deploymentPolicyIdInApp : deploymentPolicyIdsReferredInApplication) {
+                if (deploymentPolicyId.equals(deploymentPolicyIdInApp)) {
                     canRemove = false;
                 }
             }

http://git-wip-us.apache.org/repos/asf/stratos/blob/2ee26c15/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index 7af7533..2f78fe7 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -422,7 +422,7 @@ public class AutoscalerUtil {
      * @param applicationId the application id
      * @return list of deployment policy ids
      */
-    private static List<String> getDeploymentPolicyIdsReferredInApplication(String applicationId) {
+    public static List<String> getDeploymentPolicyIdsReferredInApplication(String applicationId) {
 
         if (applicationId == null || StringUtils.isBlank(applicationId)) {
             return null;