You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ga...@apache.org on 2015/07/06 10:43:42 UTC
[09/41] stratos git commit: Fixing NPE which caused by policy
validation and fixing the policy validation to validate against whole
applicaiton
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/tenantisolation
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;