Updated Branches: refs/heads/master a2f1b5c35 -> 6889f620b
getValidDeploymentPoliciesforCartridge should follow the CC API correctly Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/ac62c916 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/ac62c916 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/ac62c916 Branch: refs/heads/master Commit: ac62c916a17b5e54f38f72b9453aa0d113a95119 Parents: a2f1b5c Author: Nirmal Fernando <[email protected]> Authored: Sat Dec 14 12:56:51 2013 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Sat Dec 14 12:56:51 2013 +0530 ---------------------------------------------------------------------- .../autoscaler/api/AutoScalerServiceImpl.java | 19 ++++++++++++++----- .../interfaces/AutoScalerServiceInterface.java | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac62c916/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java index 96b7f11..ce5292e 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java @@ -58,14 +58,23 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface{ } @Override - public DeploymentPolicy[] getValidDeploymentPoliciesforCartridge(String cartridgeType) throws PartitionValidationException { + public DeploymentPolicy[] getValidDeploymentPoliciesforCartridge(String cartridgeType) { ArrayList<DeploymentPolicy> validPolicies = new ArrayList<DeploymentPolicy>(); for(DeploymentPolicy deploymentPolicy : this.getAllDeploymentPolicies()){ - Partition[] policyPartitions = deploymentPolicy.getAllPartitions();; - boolean isValid = CloudControllerClient.getInstance().validatePartitionsOfPolicy(cartridgeType, policyPartitions); - if(isValid) - validPolicies.add(deploymentPolicy); + Partition[] policyPartitions = deploymentPolicy.getAllPartitions(); + try { + // call CC API + CloudControllerClient.getInstance().validatePartitionsOfPolicy(cartridgeType, policyPartitions); + // if this deployment policy is valid for this cartridge, add it. + validPolicies.add(deploymentPolicy); + } catch (PartitionValidationException ignoredException) { + // if this policy doesn't valid for the given cartridge, add a debug log. + if (log.isDebugEnabled()) { + log.debug("Deployment policy [id] "+deploymentPolicy.getId() + +" is not valid for Cartridge [type] "+cartridgeType, ignoredException); + } + } } return validPolicies.toArray(new DeploymentPolicy[0]); } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac62c916/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java index e6ef5f0..74f9c84 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java @@ -21,7 +21,7 @@ public interface AutoScalerServiceInterface { public AutoscalePolicy[] getAllAutoScalingPolicy(); public boolean addAutoScalingPolicy(AutoscalePolicy aspolicy) throws InvalidPolicyException; - public DeploymentPolicy[] getValidDeploymentPoliciesforCartridge(String cartridgeType) throws PartitionValidationException; + public DeploymentPolicy[] getValidDeploymentPoliciesforCartridge(String cartridgeType); public Partition getPartition (String partitionId); public DeploymentPolicy getDeploymentPolicy (String deploymentPolicyId);
