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);

Reply via email to