Merged changes missed from previous commit due to conflicts
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/723f3397 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/723f3397 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/723f3397 Branch: refs/heads/master Commit: 723f3397e0bbda79558752cf23779a8eb8b6ff10 Parents: a8bba54 Author: Imesh Gunaratne <[email protected]> Authored: Sat Dec 14 09:53:20 2013 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Sat Dec 14 09:53:20 2013 +0530 ---------------------------------------------------------------------- .../autoscaler/partition/PartitionManager.java | 21 ++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/723f3397/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 1f86b4f..d8daead 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 @@ -30,7 +30,6 @@ import org.apache.stratos.autoscaler.exception.PartitionValidationException; import org.apache.stratos.autoscaler.registry.RegistryManager; import org.apache.stratos.autoscaler.util.AutoScalerConstants; import org.apache.stratos.cloud.controller.deployment.partition.Partition; -import org.wso2.carbon.registry.core.exceptions.RegistryException; import java.util.HashMap; import java.util.List; @@ -86,13 +85,16 @@ private static final Log log = LogFactory.getLog(PartitionManager.class); /* * Deploy a new partition to Auto Scaler. */ - public boolean addNewPartition(Partition partition) throws AutoScalerException{ - if(this.partitionExist(partition.getId())) { - throw new AutoScalerException(String.format("Partition already exist in partition manager: [id] %s", partition.getId())); - } - + public boolean addNewPartition(Partition partition) throws AutoScalerException, InvalidPartitionException { try { - validatePartition(partition); + if(this.partitionExist(partition.getId())) { + throw new AutoScalerException(String.format("Partition already exist in partition manager: [id] %s", partition.getId())); + } + if(null == partition.getProvider()) { + throw new InvalidPartitionException("Mandatory field provider has not be set for partition "+ partition.getId()); + } + + validatePartitionViaCloudController(partition); RegistryManager.getInstance().persistPartition(partition); addPartitionToInformationModel(partition); if(log.isInfoEnabled()) { @@ -165,7 +167,10 @@ private static final Log log = LogFactory.getLog(PartitionManager.class); } - public boolean validatePartition(Partition partition) throws PartitionValidationException{ + public boolean validatePartitionViaCloudController(Partition partition) throws PartitionValidationException { + if(log.isDebugEnabled()) { + log.debug(String.format("Validating partition via cloud controller: [id] %s", partition.getId())); + } return CloudControllerClient.getInstance().validatePartition(partition); }
