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 <[email protected]> Authored: Thu Jun 25 20:32:03 2015 +0530 Committer: reka <[email protected]> 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;
