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;