You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ud...@apache.org on 2013/12/02 05:57:02 UTC

[1/3] git commit: Exposing Auto Scaler API

Updated Branches:
  refs/heads/master 013a47cd1 -> 63c5c1c14


Exposing Auto Scaler API


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/41f4e813
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/41f4e813
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/41f4e813

Branch: refs/heads/master
Commit: 41f4e8132eef2b26b4b2846138df1af7c17b31fc
Parents: 8838a2a
Author: Udara Liyanage <ud...@wso2.com>
Authored: Sat Nov 30 18:14:04 2013 -0500
Committer: Udara Liyanage <ud...@wso2.com>
Committed: Sat Nov 30 18:14:04 2013 -0500

----------------------------------------------------------------------
 .../autoscaler/api/AutoScalerServiceImpl.java   | 50 ++++++++++++++++++++
 .../autoscaler/partition/PartitionManager.java  |  8 ++++
 .../deployers/DeploymentPolicyReader.java       |  1 -
 .../src/main/resources/META-INF/services.xml    | 31 ++++++++++++
 4 files changed, 89 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/41f4e813/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
new file mode 100644
index 0000000..723ee0f
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
@@ -0,0 +1,50 @@
+/*
+ * 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.api;
+
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.autoscaler.partition.PartitionManager;
+import org.apache.stratos.autoscaler.policy.PolicyManager;
+import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
+import org.apache.stratos.cloud.controller.deployment.partition.Partition;
+import org.apache.stratos.cloud.controller.deployment.policy.DeploymentPolicy;
+
+/**
+ * Auto Scaler Service API is responsible getting Partitions and Policies.
+ */
+public class AutoScalerServiceImpl {
+
+	private static final Log log = LogFactory.getLog(AutoScalerServiceImpl.class);
+	
+	public List<Partition> getAllAvailablePartitions(){
+		return PartitionManager.getInstance().getAllPartitions();		
+	}
+	
+	public List<DeploymentPolicy> getAllDeploymentPolicies(){
+		return PolicyManager.getInstance().getDeploymentPolicyList();
+	}
+	
+	public List<AutoscalePolicy> getAllAutoScalingPolicy(){
+		return PolicyManager.getInstance().getAutoscalePolicyList();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/41f4e813/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 e611ae7..96304ec 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
@@ -19,11 +19,15 @@
 
 package org.apache.stratos.autoscaler.partition;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
 import org.apache.stratos.cloud.controller.deployment.partition.Partition;
 import org.apache.stratos.cloud.controller.exception.InvalidPartitionException;
 
@@ -72,5 +76,9 @@ private static final Log log = LogFactory.getLog(PartitionManager.class);
 		else
 			return null;
 	}
+	
+	public List<Partition> getAllPartitions(){
+		return Collections.unmodifiableList(new ArrayList<Partition>(partitionListMap.values()));
+	}
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/41f4e813/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/DeploymentPolicyReader.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/DeploymentPolicyReader.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/DeploymentPolicyReader.java
index 59689aa..02dc59c 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/DeploymentPolicyReader.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/DeploymentPolicyReader.java
@@ -30,7 +30,6 @@ import org.apache.axiom.om.OMElement;
 import org.apache.axis2.deployment.DeploymentException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.partition.PartitionManager;
 import org.apache.stratos.autoscaler.policy.InvalidPolicyException;
 import org.apache.stratos.cloud.controller.deployment.partition.Partition;
 import org.apache.stratos.cloud.controller.deployment.partition.PartitionGroup;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/41f4e813/components/org.apache.stratos.autoscaler/src/main/resources/META-INF/services.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/resources/META-INF/services.xml b/components/org.apache.stratos.autoscaler/src/main/resources/META-INF/services.xml
new file mode 100644
index 0000000..a79fa43
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/resources/META-INF/services.xml
@@ -0,0 +1,31 @@
+<?xml version='1.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.
+
+-->
+
+<serviceGroup>
+    <service name="AutoScalerService" scope="application">
+        <parameter name="ServiceClass">org.apache.stratos.autoscaler.api.AutoScalerServiceImpl</parameter>
+        <messageReceivers>
+		<messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
+		<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+	</messageReceivers>
+    </service>
+</serviceGroup> 


[3/3] git commit: Adding an interface to the AutoScalerService impl

Posted by ud...@apache.org.
Adding an interface to the AutoScalerService impl


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/63c5c1c1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/63c5c1c1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/63c5c1c1

Branch: refs/heads/master
Commit: 63c5c1c1457b3217e526decc9c79d33098f32750
Parents: 7d8da1d
Author: Udara Liyanage <ud...@wso2.com>
Authored: Mon Dec 2 10:25:55 2013 -0500
Committer: Udara Liyanage <ud...@wso2.com>
Committed: Mon Dec 2 10:25:55 2013 -0500

----------------------------------------------------------------------
 .../autoscaler/api/AutoScalerServiceImpl.java      | 17 ++++++++---------
 .../interfaces/AutoScalerServiceInterface.java     | 13 +++++++++++++
 .../autoscaler/partition/PartitionManager.java     |  3 +--
 3 files changed, 22 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/63c5c1c1/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 e4769da..95acb43 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
@@ -18,11 +18,10 @@
  */
 package org.apache.stratos.autoscaler.api;
 
-import java.util.List;
-
 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.interfaces.AutoScalerServiceInterface;
 import org.apache.stratos.autoscaler.partition.PartitionManager;
 import org.apache.stratos.autoscaler.policy.PolicyManager;
 import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
@@ -31,20 +30,20 @@ import org.apache.stratos.cloud.controller.deployment.partition.Partition;
 /**
  * Auto Scaler Service API is responsible getting Partitions and Policies.
  */
-public class AutoScalerServiceImpl {
+public class AutoScalerServiceImpl implements AutoScalerServiceInterface{
 
 	private static final Log log = LogFactory.getLog(AutoScalerServiceImpl.class);
 	
-	public List<Partition> getAllAvailablePartitions(){
-		return PartitionManager.getInstance().getAllPartitions();		
+	public Partition[] getAllAvailablePartitions(){
+		return PartitionManager.getInstance().getAllPartitions().toArray(new Partition[0]);		
 	}
 	
-	public List<DeploymentPolicy> getAllDeploymentPolicies(){
-		return PolicyManager.getInstance().getDeploymentPolicyList();
+	public DeploymentPolicy[] getAllDeploymentPolicies(){
+		return PolicyManager.getInstance().getDeploymentPolicyList().toArray(new DeploymentPolicy[0]);
 	}
 	
-	public List<AutoscalePolicy> getAllAutoScalingPolicy(){
-		return PolicyManager.getInstance().getAutoscalePolicyList();
+	public AutoscalePolicy[] getAllAutoScalingPolicy(){
+		return PolicyManager.getInstance().getAutoscalePolicyList().toArray(new AutoscalePolicy[0]);
 	}
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/63c5c1c1/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
new file mode 100644
index 0000000..dd6eb42
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java
@@ -0,0 +1,13 @@
+package org.apache.stratos.autoscaler.interfaces;
+
+import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
+import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
+import org.apache.stratos.cloud.controller.deployment.partition.Partition;
+
+public interface AutoScalerServiceInterface {
+	public Partition[] getAllAvailablePartitions();
+	
+	public DeploymentPolicy[] getAllDeploymentPolicies();
+	
+	public AutoscalePolicy[] getAllAutoScalingPolicy();
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/63c5c1c1/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 96304ec..d19c4ec 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
@@ -27,9 +27,7 @@ import java.util.Map;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
 import org.apache.stratos.cloud.controller.deployment.partition.Partition;
-import org.apache.stratos.cloud.controller.exception.InvalidPartitionException;
 
 /**
  * The model class for managing Partitions.
@@ -79,6 +77,7 @@ private static final Log log = LogFactory.getLog(PartitionManager.class);
 	
 	public List<Partition> getAllPartitions(){
 		return Collections.unmodifiableList(new ArrayList<Partition>(partitionListMap.values()));
+		
 	}
 
 }


[2/3] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos

Posted by ud...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos

Conflicts:
	components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/DeploymentPolicyReader.java


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/7d8da1d6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/7d8da1d6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/7d8da1d6

Branch: refs/heads/master
Commit: 7d8da1d6f8fd9144f467062af14b012ae1f85975
Parents: 41f4e81 013a47c
Author: Udara Liyanage <ud...@wso2.com>
Authored: Mon Dec 2 09:42:22 2013 -0500
Committer: Udara Liyanage <ud...@wso2.com>
Committed: Mon Dec 2 09:42:22 2013 -0500

----------------------------------------------------------------------
 .../stratos/autoscaler/ClusterContext.java      |   17 +-
 .../algorithm/AutoscaleAlgorithm.java           |    2 +-
 .../autoscaler/algorithm/OneAfterAnother.java   |    2 +-
 .../PartitionGroupOneAfterAnother.java          |    2 +-
 .../autoscaler/algorithm/RoundRobin.java        |    2 +-
 .../autoscaler/api/AutoScalerServiceImpl.java   |    2 +-
 .../cloud/controller/CloudControllerClient.java |   10 +-
 .../deployment/policy/DeploymentPolicy.java     |   95 +
 .../exception/InvalidPartitionException.java    |   22 +
 .../exception/InvalidPolicyException.java       |   40 +
 .../exception/PolicyValidationException.java    |    4 +
 .../autoscaler/partition/PartitionGroup.java    |   87 +
 .../partition/deployers/PartitionDeployer.java  |   38 +-
 .../partition/deployers/PartitionReader.java    |  102 +-
 .../policy/InvalidPolicyException.java          |   40 -
 .../autoscaler/policy/PolicyManager.java        |    3 +-
 .../policy/deployers/AbstractPolicyReader.java  |    5 +-
 .../deployers/AutoscalerPolicyDeployer.java     |    2 +-
 .../deployers/AutoscalerPolicyReader.java       |    2 +-
 .../deployers/DeploymentPolicyDeployer.java     |    4 +-
 .../deployers/DeploymentPolicyReader.java       |   50 +-
 .../stratos/autoscaler/util/AutoscalerUtil.java |  174 +-
 .../stratos/autoscaler/util/ConfUtil.java       |    8 +
 .../policy/DeploymentPolicyDeployerTest.java    |    3 +-
 .../policy/PartitionDeployerTest.java           |   66 +
 .../src/test/resources/autoscaler-old.drl       |   79 +
 .../src/test/resources/deployment-policy.xml    |    2 +-
 .../src/test/resources/partition.xml            |   10 +
 .../src/test/resources/partitions.xml           |   15 +
 .../controller/axiom/AxiomXpathParser.java      | 1776 ------------------
 .../controller/axiom/AxiomXpathParserUtil.java  |    1 -
 .../parser/CloudControllerConfigParser.java     |   10 -
 .../axiom/parser/ServiceConfigParser.java       |  563 ------
 .../controller/deployers/CartridgeDeployer.java |   33 +-
 .../deployers/CloudControllerDeployer.java      |    1 -
 .../controller/deployers/ServiceDeployer.java   |  152 --
 .../deployment/partition/PartitionGroup.java    |   87 -
 .../deployment/policy/DeploymentPolicy.java     |   93 -
 .../exception/InvalidPartitionException.java    |    4 +
 .../cloud/controller/iaases/AWSEC2Iaas.java     |    7 +-
 .../controller/iaases/OpenstackNovaIaas.java    |   11 +-
 .../impl/CloudControllerServiceImpl.java        |  581 ++----
 .../interfaces/CloudControllerService.java      |    3 +-
 .../cloud/controller/persist/Deserializer.java  |   32 +-
 .../cloud/controller/persist/Serializer.java    |   36 +-
 .../cloud/controller/pojo/ClusterContext.java   |    5 +-
 .../controller/pojo/DataPublisherConfig.java    |    5 +-
 .../stratos/cloud/controller/pojo/Host.java     |   73 -
 .../cloud/controller/pojo/IaasContext.java      |  162 --
 .../cloud/controller/pojo/IaasProvider.java     |   21 -
 .../cloud/controller/pojo/LocationScope.java    |   70 -
 .../cloud/controller/pojo/MemberContext.java    |    5 +-
 .../cloud/controller/pojo/Properties.java       |    5 +-
 .../stratos/cloud/controller/pojo/Property.java |    5 +-
 .../stratos/cloud/controller/pojo/Region.java   |  125 --
 .../cloud/controller/pojo/ServiceContext.java   |  366 ----
 .../stratos/cloud/controller/pojo/Zone.java     |   90 -
 .../CartridgeInstanceDataPublisherTask.java     |  336 ++--
 .../controller/registry/RegistryManager.java    |   15 +-
 .../runtime/FasterLookUpDataHolder.java         |  254 ++-
 .../controller/topology/TopologyBuilder.java    |   27 +-
 .../topology/TopologyEventSender.java           |    1 -
 .../controller/topology/TopologyManager.java    |    9 +-
 .../validate/AWSEC2PartitionValidator.java      |    4 +-
 .../OpenstackNovaPartitionValidator.java        |    6 +-
 .../service/axiom/AxiomValidationTest.java      |    2 -
 .../service/util/ServiceContextTest.java        |   47 -
 .../load/balancer/conf/SynapseConfigurator.java |  184 ++
 .../internal/LoadBalancerServiceComponent.java  |    3 +
 .../balancer/test/RoundRobinAlgorithmTest.java  |   70 +
 .../sample/configuration/loadbalancer1.conf     |    2 +-
 .../sample/configuration/loadbalancer2.conf     |    2 +-
 .../sample/configuration/loadbalancer3.conf     |    2 +-
 .../messaging/domain/topology/Cluster.java      |   18 -
 .../messaging/domain/topology/Member.java       |   28 +-
 .../event/topology/InstanceSpawnedEvent.java    |   21 +-
 .../distribution/src/main/assembly/bin.xml      |    1 +
 .../synapse-configs/default/sequences/main.xml  |   29 +-
 .../main/resources/CloudControllerService.wsdl  |  104 +-
 79 files changed, 1603 insertions(+), 4772 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/7d8da1d6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
----------------------------------------------------------------------
diff --cc components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
index 723ee0f,0000000..e4769da
mode 100644,000000..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
@@@ -1,50 -1,0 +1,50 @@@
 +/*
 + * 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.api;
 +
 +import java.util.List;
 +
 +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.partition.PartitionManager;
 +import org.apache.stratos.autoscaler.policy.PolicyManager;
 +import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
 +import org.apache.stratos.cloud.controller.deployment.partition.Partition;
- import org.apache.stratos.cloud.controller.deployment.policy.DeploymentPolicy;
 +
 +/**
 + * Auto Scaler Service API is responsible getting Partitions and Policies.
 + */
 +public class AutoScalerServiceImpl {
 +
 +	private static final Log log = LogFactory.getLog(AutoScalerServiceImpl.class);
 +	
 +	public List<Partition> getAllAvailablePartitions(){
 +		return PartitionManager.getInstance().getAllPartitions();		
 +	}
 +	
 +	public List<DeploymentPolicy> getAllDeploymentPolicies(){
 +		return PolicyManager.getInstance().getDeploymentPolicyList();
 +	}
 +	
 +	public List<AutoscalePolicy> getAllAutoScalingPolicy(){
 +		return PolicyManager.getInstance().getAutoscalePolicyList();
 +	}
 +
 +}