Updated Branches: refs/heads/master 0a4f79862 -> 68dcc68e0
Added validation for provider for the partition deployment. Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/68dcc68e Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/68dcc68e Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/68dcc68e Branch: refs/heads/master Commit: 68dcc68e0ff1cac61a19d2a7bf89725c44b5f429 Parents: 0a4f798 Author: Udara Liyanage <[email protected]> Authored: Fri Dec 13 23:50:45 2013 -0500 Committer: Udara Liyanage <[email protected]> Committed: Fri Dec 13 23:50:45 2013 -0500 ---------------------------------------------------------------------- .../stratos/autoscaler/api/AutoScalerServiceImpl.java | 4 +++- .../autoscaler/interfaces/AutoScalerServiceInterface.java | 4 +++- .../stratos/autoscaler/partition/PartitionManager.java | 10 +++++++--- .../apache/stratos/autoscaler/policy/PolicyManager.java | 3 +++ 4 files changed, 16 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/68dcc68e/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 f590364..96b7f11 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 @@ -23,6 +23,8 @@ import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.NetworkPartitionContext; import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient; import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.exception.AutoScalerException; +import org.apache.stratos.autoscaler.exception.InvalidPartitionException; import org.apache.stratos.autoscaler.exception.InvalidPolicyException; import org.apache.stratos.autoscaler.exception.NonExistingLBException; import org.apache.stratos.autoscaler.exception.PartitionValidationException; @@ -69,7 +71,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface{ } @Override - public boolean addPartition(Partition partition) { + public boolean addPartition(Partition partition) throws InvalidPartitionException { return partitionManager.addNewPartition(partition); } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/68dcc68e/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 cb4be60..e6ef5f0 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 @@ -1,6 +1,8 @@ package org.apache.stratos.autoscaler.interfaces; import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.exception.AutoScalerException; +import org.apache.stratos.autoscaler.exception.InvalidPartitionException; import org.apache.stratos.autoscaler.exception.InvalidPolicyException; import org.apache.stratos.autoscaler.exception.NonExistingLBException; import org.apache.stratos.autoscaler.exception.PartitionValidationException; @@ -11,7 +13,7 @@ import org.apache.stratos.cloud.controller.deployment.partition.Partition; public interface AutoScalerServiceInterface { public Partition[] getAllAvailablePartitions(); - public boolean addPartition(Partition partition); + public boolean addPartition(Partition partition) throws InvalidPartitionException; public DeploymentPolicy[] getAllDeploymentPolicies(); public boolean addDeploymentPolicy(DeploymentPolicy depPolicy) throws InvalidPolicyException; http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/68dcc68e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java index a199715..7cec277 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java @@ -25,6 +25,7 @@ import org.apache.stratos.autoscaler.NetworkPartitionContext; import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient; import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.AutoScalerException; +import org.apache.stratos.autoscaler.exception.InvalidPartitionException; import org.apache.stratos.autoscaler.exception.PartitionValidationException; import org.apache.stratos.autoscaler.registry.RegistryManager; import org.apache.stratos.autoscaler.util.AutoScalerConstants; @@ -85,13 +86,16 @@ private static final Log log = LogFactory.getLog(PartitionManager.class); /* * Deploy a new partition to Auto Scaler. */ - public boolean addNewPartition(Partition partition) throws AutoScalerException{ + public boolean addNewPartition(Partition partition) throws AutoScalerException, InvalidPartitionException{ + + if(null == partition.getProvider()) + throw new InvalidPartitionException("Mendatory feild provider has not be set for partition "+ partition.getId()); + String partitionId = partition.getId(); if(this.partitionExist(partition.getId())) throw new AutoScalerException("A parition with the ID " + partitionId + " already exist."); - String resourcePath= this.partitionResourcePath + partition.getId(); - + String resourcePath= this.partitionResourcePath + partition.getId(); RegistryManager regManager = RegistryManager.getInstance(); try { http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/68dcc68e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java index 43c8336..bc3f0f4 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java @@ -115,6 +115,9 @@ public class PolicyManager { } private static void fillPartition(Partition destPartition, Partition srcPartition) { + if(null == srcPartition.getProvider()) + throw new RuntimeException("Provider is not set for the deployed partition."); + if(log.isDebugEnabled()) log.debug("Settting provider for Partition " + destPartition.getId() + " provider "+ srcPartition.getProvider()); destPartition.setProvider(srcPartition.getProvider());
