Repository: stratos Updated Branches: refs/heads/docker-grouping-merge ed5feced6 -> 2a4fec3a3
Moving deployment policy to policy package Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/2a4fec3a Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/2a4fec3a Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/2a4fec3a Branch: refs/heads/docker-grouping-merge Commit: 2a4fec3a3b616c9f5f4c5018f832ff027e6e69c5 Parents: ed5fece Author: Lahiru Sandaruwan <[email protected]> Authored: Tue Nov 4 18:28:15 2014 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Tue Nov 4 18:28:15 2014 +0530 ---------------------------------------------------------------------- .../autoscaler/algorithm/OneAfterAnother.java | 2 +- .../autoscaler/api/AutoScalerServiceImpl.java | 2 +- .../cloud/controller/CloudControllerClient.java | 2 +- .../commands/DeploymentPolicyCommands.java | 2 +- .../deployment/policy/DeploymentPolicy.java | 179 ------------------- .../interfaces/AutoScalerServiceInterface.java | 2 +- .../internal/AutoscalerServerComponent.java | 2 +- .../monitor/cluster/ClusterMonitorFactory.java | 2 +- .../monitor/cluster/VMClusterMonitor.java | 2 +- .../monitor/cluster/VMLbClusterMonitor.java | 2 +- .../cluster/VMServiceClusterMonitor.java | 2 +- .../autoscaler/partition/PartitionManager.java | 2 +- .../autoscaler/policy/PolicyManager.java | 2 +- .../policy/model/DeploymentPolicy.java | 179 +++++++++++++++++++ .../autoscaler/registry/RegistryManager.java | 2 +- 15 files changed, 192 insertions(+), 192 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java index 4c26939..e234713 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java @@ -37,7 +37,7 @@ import java.util.List; * This class is used for selecting a {@link Partition} one after another and checking availability of * partitions of a {@link NetworkPartitionContext} * One after another means it completes partitions in the order defined in - * {@link org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy}, and go to next if current one + * {@link org.apache.stratos.autoscaler.policy.model.DeploymentPolicy}, and go to next if current one * reached the max limit */ public class OneAfterAnother implements AutoscaleAlgorithm { http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/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 a3f7903..90aac2d 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 @@ -28,7 +28,7 @@ import org.apache.stratos.autoscaler.applications.parser.DefaultApplicationParse import org.apache.stratos.autoscaler.applications.pojo.ApplicationContext; import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder; import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.*; import org.apache.stratos.autoscaler.interfaces.AutoScalerServiceInterface; import org.apache.stratos.autoscaler.kubernetes.KubernetesManager; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java index 560a7a5..eb3a1d9 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java @@ -25,7 +25,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.Constants; import org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.*; import org.apache.stratos.autoscaler.kubernetes.KubernetesManager; import org.apache.stratos.autoscaler.util.ConfUtil; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/DeploymentPolicyCommands.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/DeploymentPolicyCommands.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/DeploymentPolicyCommands.java index 18fd027..9cd5d76 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/DeploymentPolicyCommands.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/DeploymentPolicyCommands.java @@ -20,7 +20,7 @@ package org.apache.stratos.autoscaler.commands; import org.apache.commons.lang.StringUtils; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.policy.PolicyManager; import org.eclipse.osgi.framework.console.CommandInterpreter; import org.eclipse.osgi.framework.console.CommandProvider; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/deployment/policy/DeploymentPolicy.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/deployment/policy/DeploymentPolicy.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/deployment/policy/DeploymentPolicy.java deleted file mode 100644 index 6c5e0dc..0000000 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/deployment/policy/DeploymentPolicy.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.stratos.autoscaler.deployment.policy; - -import org.apache.stratos.autoscaler.partition.PartitionGroup; -import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Arrays; - -/** - * The model class for Deployment-Policy definition. - */ -public class DeploymentPolicy implements Serializable{ - - private static final long serialVersionUID = 5675507196284400099L; - private String id; - private String description; - private boolean isPublic; - private PartitionGroup[] partitionGroups; - private int tenantId; - - /** - * Gets the value of the id property. - * - * @return - * possible object is - * {@link String } - * - */ - public String getId() { - return id; - } - - /** - * Sets the value of the id property. - * - * @param value - * allowed object is - * {@link String } - * - */ - public void setId(String value) { - this.id = value; - } - - /** - * Gets the value of the description property. - * - * @return - * possible object is - * {@link String } - * - */ - public String getDescription() { - return description; - } - - /** - * Sets the value of the description property. - * - * @param value - * allowed object is - * {@link String } - * - */ - public void setDescription(String value) { - this.description = value; - } - - /** - * Gets the value of the isPublic property. - * - * @return - * possible object is boolean - * - */ - public boolean getIsPublic() { - return isPublic; - } - - /** - * Sets the value of the isPublic property. - * - * @param isPublic - * allowed object is boolean - * - */ - public void setIsPublic(boolean isPublic) { - this.isPublic = isPublic; - } - - /** - * Gets the value of the tenantId property. - * - * - */ - public int getTenantId() { - return tenantId; - } - - /** - * Sets the value of the tenantId property. - * - * - */ - public void setTenantId(int tenantId) { - this.tenantId = tenantId; - } - - public void setPartitionGroups(PartitionGroup[] partitionGroups) { - if(partitionGroups == null) { - this.partitionGroups = new PartitionGroup[0]; - } else { - this.partitionGroups = Arrays.copyOf(partitionGroups, partitionGroups.length); - } - } - - public Partition[] getAllPartitions() { - ArrayList<Partition> partitionsList = new ArrayList<Partition>(); - for (PartitionGroup partitionGroup : this.getPartitionGroups()) { - Partition[] partitions = partitionGroup.getPartitions(); - if(partitions != null) { - partitionsList.addAll(Arrays.asList(partitions)); - } - } - return partitionsList.toArray(new Partition[partitionsList.size()]); - } - - public Partition getPartitionById(String id){ - for(Partition p : this.getAllPartitions()){ - if(p.getId().equalsIgnoreCase(id)) - return p; - } - return null; - } - - /** - * Gets the value of the partition-groups. - */ - public PartitionGroup[] getPartitionGroups() { - - return this.partitionGroups; - } - - public PartitionGroup getPartitionGroup(String partitionGrpId){ - for(PartitionGroup parGrp : this.getPartitionGroups()){ - if(parGrp.getId().equals(partitionGrpId)) - return parGrp; - - } - return null; - } - - public String toString() { - return "Deployment Policy [id]" + this.id + " Description " + this.description - + " isPublic " + this.isPublic - +" [partitions] " + Arrays.toString(this.getAllPartitions()); - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/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 0b2bf43..204cc79 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 @@ -22,7 +22,7 @@ package org.apache.stratos.autoscaler.interfaces; import org.apache.stratos.autoscaler.applications.pojo.ApplicationContext; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.*; import org.apache.stratos.autoscaler.exception.ApplicationDefinitionException; import org.apache.stratos.autoscaler.exception.InvalidPartitionException; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java index 3da60ab..c8934e7 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java @@ -22,7 +22,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.NetworkPartitionLbHolder; import org.apache.stratos.autoscaler.applications.ApplicationSynchronizerTaskScheduler; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.AutoScalerException; import org.apache.stratos.autoscaler.kubernetes.KubernetesManager; import org.apache.stratos.autoscaler.event.receiver.health.AutoscalerHealthStatEventReceiver; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java index c049323..26a0118 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java @@ -30,7 +30,7 @@ import org.apache.stratos.autoscaler.NetworkPartitionContext; import org.apache.stratos.autoscaler.NetworkPartitionLbHolder; import org.apache.stratos.autoscaler.PartitionContext; import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.PartitionValidationException; import org.apache.stratos.autoscaler.exception.PolicyValidationException; import org.apache.stratos.autoscaler.partition.PartitionGroup; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java index 19d3704..0990ead 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java @@ -26,7 +26,7 @@ import org.apache.stratos.autoscaler.MemberStatsContext; import org.apache.stratos.autoscaler.NetworkPartitionContext; import org.apache.stratos.autoscaler.PartitionContext; import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.InvalidArgumentException; import org.apache.stratos.autoscaler.exception.TerminationException; import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java index 3c82bdd..b3dad4e 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java @@ -27,7 +27,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.NetworkPartitionContext; import org.apache.stratos.autoscaler.NetworkPartitionLbHolder; import org.apache.stratos.autoscaler.PartitionContext; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.partition.PartitionManager; import org.apache.stratos.autoscaler.policy.PolicyManager; import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMServiceClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMServiceClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMServiceClusterMonitor.java index a6ed9aa..0b460ab 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMServiceClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMServiceClusterMonitor.java @@ -27,7 +27,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.NetworkPartitionContext; import org.apache.stratos.autoscaler.PartitionContext; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher; import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent; import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/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 644cc22..2d39ea0 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 @@ -24,7 +24,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.NetworkPartitionLbHolder; import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.AutoScalerException; import org.apache.stratos.autoscaler.exception.InvalidPartitionException; import org.apache.stratos.autoscaler.exception.PartitionValidationException; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/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 6a91817..6ff2c2d 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 @@ -25,7 +25,7 @@ import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.AutoScalerException; import org.apache.stratos.autoscaler.exception.InvalidPartitionException; import org.apache.stratos.autoscaler.exception.InvalidPolicyException; http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/DeploymentPolicy.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/DeploymentPolicy.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/DeploymentPolicy.java new file mode 100644 index 0000000..0676723 --- /dev/null +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/DeploymentPolicy.java @@ -0,0 +1,179 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.stratos.autoscaler.policy.model; + +import org.apache.stratos.autoscaler.partition.PartitionGroup; +import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; + +/** + * The model class for Deployment-Policy definition. + */ +public class DeploymentPolicy implements Serializable{ + + private static final long serialVersionUID = 5675507196284400099L; + private String id; + private String description; + private boolean isPublic; + private PartitionGroup[] partitionGroups; + private int tenantId; + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + /** + * Gets the value of the description property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getDescription() { + return description; + } + + /** + * Sets the value of the description property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setDescription(String value) { + this.description = value; + } + + /** + * Gets the value of the isPublic property. + * + * @return + * possible object is boolean + * + */ + public boolean getIsPublic() { + return isPublic; + } + + /** + * Sets the value of the isPublic property. + * + * @param isPublic + * allowed object is boolean + * + */ + public void setIsPublic(boolean isPublic) { + this.isPublic = isPublic; + } + + /** + * Gets the value of the tenantId property. + * + * + */ + public int getTenantId() { + return tenantId; + } + + /** + * Sets the value of the tenantId property. + * + * + */ + public void setTenantId(int tenantId) { + this.tenantId = tenantId; + } + + public void setPartitionGroups(PartitionGroup[] partitionGroups) { + if(partitionGroups == null) { + this.partitionGroups = new PartitionGroup[0]; + } else { + this.partitionGroups = Arrays.copyOf(partitionGroups, partitionGroups.length); + } + } + + public Partition[] getAllPartitions() { + ArrayList<Partition> partitionsList = new ArrayList<Partition>(); + for (PartitionGroup partitionGroup : this.getPartitionGroups()) { + Partition[] partitions = partitionGroup.getPartitions(); + if(partitions != null) { + partitionsList.addAll(Arrays.asList(partitions)); + } + } + return partitionsList.toArray(new Partition[partitionsList.size()]); + } + + public Partition getPartitionById(String id){ + for(Partition p : this.getAllPartitions()){ + if(p.getId().equalsIgnoreCase(id)) + return p; + } + return null; + } + + /** + * Gets the value of the partition-groups. + */ + public PartitionGroup[] getPartitionGroups() { + + return this.partitionGroups; + } + + public PartitionGroup getPartitionGroup(String partitionGrpId){ + for(PartitionGroup parGrp : this.getPartitionGroups()){ + if(parGrp.getId().equals(partitionGrpId)) + return parGrp; + + } + return null; + } + + public String toString() { + return "Deployment Policy [id]" + this.id + " Description " + this.description + + " isPublic " + this.isPublic + +" [partitions] " + Arrays.toString(this.getAllPartitions()); + } + +} http://git-wip-us.apache.org/repos/asf/stratos/blob/2a4fec3a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java index 94b3ecf..e0a676b 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java @@ -25,7 +25,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.NetworkPartitionLbHolder; -import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; +import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.AutoScalerException; import org.apache.stratos.autoscaler.pojo.ServiceGroup; import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
