Tenant isolation - Autoscaling Policies

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

Branch: refs/heads/tenant-isolation
Commit: 3accca721a2031920eb7bf78a691d0d1b1e6d90c
Parents: abff10e
Author: Dinithi <[email protected]>
Authored: Mon Jun 29 18:17:55 2015 +0530
Committer: Dinithi <[email protected]>
Committed: Mon Jun 29 18:17:55 2015 +0530

----------------------------------------------------------------------
 .../autoscaler/pojo/policy/PolicyManager.java   |  24 +-
 .../pojo/policy/autoscale/AutoscalePolicy.java  |  24 +-
 .../autoscaler/registry/RegistryManager.java    |   8 +-
 .../policy/autoscale/AutoscalePolicyBean.java   |  18 +
 .../default/configure/autoscaling-policies.json |   1 +
 .../schema/configure/autoscaling-policies.json  |   9 +-
 .../rest/endpoint/api/StratosApiV41.java        |   9 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   |  65 ++-
 .../util/converter/ObjectConverter.java         |   5 +-
 .../src/main/resources/AutoscalerService.wsdl   | 545 ++++++++++---------
 10 files changed, 388 insertions(+), 320 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/3accca72/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
index f127de7..bb161ed 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
@@ -83,27 +83,27 @@ public class PolicyManager {
     // Add the policy to information model and persist.
     public boolean addAutoscalePolicy(AutoscalePolicy policy) throws 
AutoScalingPolicyAlreadyExistException {
         if (log.isInfoEnabled()) {
-            log.info(String.format("Adding autoscaling policy: [id] %s", 
policy.getId()));
+            log.info(String.format("Adding autoscaling policy: [id] %s", 
policy.getUuid()));
         }
-        if (StringUtils.isEmpty(policy.getId())) {
+        if (StringUtils.isEmpty(policy.getUuid())) {
             throw new AutoScalerException("Autoscaling policy id cannot be 
empty");
         }
         this.addASPolicyToInformationModel(policy);
         RegistryManager.getInstance().persistAutoscalerPolicy(policy);
         if (log.isInfoEnabled()) {
-            log.info(String.format("Autoscaling policy is added successfully: 
[id] %s", policy.getId()));
+            log.info(String.format("Autoscaling policy is added successfully: 
[id] %s", policy.getUuid()));
         }
         return true;
     }
 
     public boolean updateAutoscalePolicy(AutoscalePolicy policy) throws 
InvalidPolicyException {
-        if (StringUtils.isEmpty(policy.getId())) {
+        if (StringUtils.isEmpty(policy.getUuid())) {
             throw new AutoScalerException("Autoscaling policy id cannot be 
empty");
         }
         this.updateASPolicyInInformationModel(policy);
         RegistryManager.getInstance().persistAutoscalerPolicy(policy);
         if (log.isInfoEnabled()) {
-            log.info(String.format("Autoscaling policy is updated 
successfully: [id] %s", policy.getId()));
+            log.info(String.format("Autoscaling policy is updated 
successfully: [id] %s", policy.getUuid()));
         }
         return true;
     }
@@ -187,24 +187,24 @@ public class PolicyManager {
     }
 
     public void addASPolicyToInformationModel(AutoscalePolicy asPolicy) throws 
AutoScalingPolicyAlreadyExistException {
-        if (!autoscalePolicyListMap.containsKey(asPolicy.getId())) {
+        if (!autoscalePolicyListMap.containsKey(asPolicy.getUuid())) {
             if (log.isDebugEnabled()) {
-                log.debug("Adding autoscaling policy: " + asPolicy.getId());
+                log.debug("Adding autoscaling policy: " + asPolicy.getUuid());
             }
-            autoscalePolicyListMap.put(asPolicy.getId(), asPolicy);
+            autoscalePolicyListMap.put(asPolicy.getUuid(), asPolicy);
         } else {
-            String errMsg = "Specified autoscaling policy [" + 
asPolicy.getId() + "] already exists";
+            String errMsg = "Specified autoscaling policy [" + 
asPolicy.getUuid() + "] already exists";
             log.error(errMsg);
             throw new AutoScalingPolicyAlreadyExistException(errMsg);
         }
     }
 
     public void updateASPolicyInInformationModel(AutoscalePolicy asPolicy) 
throws InvalidPolicyException {
-        if (autoscalePolicyListMap.containsKey(asPolicy.getId())) {
+        if (autoscalePolicyListMap.containsKey(asPolicy.getUuid())) {
             if (log.isDebugEnabled()) {
-                log.debug("Updating autoscaling policy: " + asPolicy.getId());
+                log.debug("Updating autoscaling policy: " + 
asPolicy.getUuid());
             }
-            autoscalePolicyListMap.put(asPolicy.getId(), asPolicy);
+            autoscalePolicyListMap.put(asPolicy.getUuid(), asPolicy);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/3accca72/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/autoscale/AutoscalePolicy.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/autoscale/AutoscalePolicy.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/autoscale/AutoscalePolicy.java
index 8eee898..852d873 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/autoscale/AutoscalePolicy.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/autoscale/AutoscalePolicy.java
@@ -28,6 +28,7 @@ public class AutoscalePolicy implements Serializable {
 
     private static final long serialVersionUID = 1754373171598089271L;
     private LoadThresholds loadThresholds;
+    private String uuid;
     private String id;
     private String displayName;
     private String description;
@@ -35,6 +36,15 @@ public class AutoscalePolicy implements Serializable {
     private int tenantId;
     private float instanceRoundingFactor;
 
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
     /**
      * Gets the value of the loadThresholds property.
      *
@@ -56,23 +66,23 @@ public class AutoscalePolicy implements Serializable {
     }
 
     /**
-     * Gets the value of the id property.
+     * Gets the value of the uuid property.
      *
      * @return possible object is
      * {@link String }
      */
-    public String getId() {
-        return id;
+    public String getUuid() {
+        return uuid;
     }
 
     /**
-     * Sets the value of the id property.
+     * Sets the value of the uuid property.
      *
      * @param value allowed object is
      *              {@link String }
      */
-    public void setId(String value) {
-        this.id = value;
+    public void setUuid(String value) {
+        this.uuid = value;
     }
 
     /**
@@ -149,7 +159,7 @@ public class AutoscalePolicy implements Serializable {
 
     @Override
     public String toString() {
-        return "ASPolicy [id=" + id + ", displayName=" + displayName
+        return "ASPolicy [uuid=" + uuid + ", displayName=" + displayName
                 + ", description=" + description + ", isPublic=" + isPublic + 
"]";
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/3accca72/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 a3c5703..5780864 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
@@ -173,14 +173,14 @@ public class RegistryManager {
         try {
             startTenantFlow();
             String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE +
-                    AutoscalerConstants.AS_POLICY_RESOURCE + "/" + 
autoscalePolicy.getId();
+                    AutoscalerConstants.AS_POLICY_RESOURCE + "/" + 
autoscalePolicy.getUuid();
             persist(autoscalePolicy, resourcePath);
             if (log.isDebugEnabled()) {
                 log.debug(String.format("Autoscaler policy written to 
registry: [id] %s [name] %s [description] %s",
-                        autoscalePolicy.getId(), 
autoscalePolicy.getDisplayName(), autoscalePolicy.getDescription()));
+                        autoscalePolicy.getUuid(), 
autoscalePolicy.getDisplayName(), autoscalePolicy.getDescription()));
             }
         } catch (AutoScalerException e) {
-            String message = "Unable to persist autoscaler policy 
[autoscaler-policy-id] " + autoscalePolicy.getId();
+            String message = "Unable to persist autoscaler policy 
[autoscaler-policy-id] " + autoscalePolicy.getUuid();
             log.error(message, e);
             throw e;
         } finally {
@@ -400,7 +400,7 @@ public class RegistryManager {
                                 asPolicy = (AutoscalePolicy) dataObj;
                                 if (log.isDebugEnabled()) {
                                     log.debug(String.format("Autoscaler policy 
read from registry: [id] %s [name] %s [description] %s",
-                                            asPolicy.getId(), 
asPolicy.getDisplayName(), asPolicy.getDescription()));
+                                            asPolicy.getUuid(), 
asPolicy.getDisplayName(), asPolicy.getDescription()));
                                 }
                                 asPolicyList.add(asPolicy);
                             } else {

http://git-wip-us.apache.org/repos/asf/stratos/blob/3accca72/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/autoscale/AutoscalePolicyBean.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/autoscale/AutoscalePolicyBean.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/autoscale/AutoscalePolicyBean.java
index 5dc025d..bb3de10 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/autoscale/AutoscalePolicyBean.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/autoscale/AutoscalePolicyBean.java
@@ -25,10 +25,28 @@ import javax.xml.bind.annotation.XmlRootElement;
 public class AutoscalePolicyBean {
 
     private String id;
+    private String uuid;
+    private int tenantId;
     private String displayName;
     private String description;
     private LoadThresholdsBean loadThresholds;
 
+    public String getUuid() {
+        return uuid;
+    }
+
+    public void setUuid(String uuid) {
+        this.uuid = uuid;
+    }
+
+    public int getTenantId() {
+        return tenantId;
+    }
+
+    public void setTenantId(int tenantId) {
+        this.tenantId = tenantId;
+    }
+
     public String getId() {
         return id;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/3accca72/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/autoscaling-policies.json
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/autoscaling-policies.json
 
b/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/autoscaling-policies.json
index 29c755f..7fa3c03 100644
--- 
a/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/autoscaling-policies.json
+++ 
b/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/autoscaling-policies.json
@@ -1,4 +1,5 @@
 {
+    "uuid": "",
     "id": "economy",
     "description":"autoscale policy description",
     "loadThresholds": {

http://git-wip-us.apache.org/repos/asf/stratos/blob/3accca72/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/autoscaling-policies.json
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/autoscaling-policies.json
 
b/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/autoscaling-policies.json
index 4c086d8..21416ff 100644
--- 
a/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/autoscaling-policies.json
+++ 
b/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/autoscaling-policies.json
@@ -1,15 +1,20 @@
 {
     "type":"object",
     "$schema": "http://json-schema.org/draft-04/schema";,
-    "id": "root",
+    "uuid": "root",
     "title":"Auto-scaling Policy Definition",
-    "name": "Auto-scaling Policy",
+    "name": "Auto-scaling Policy UUID",
     "options": {
         "disable_properties": true,
         "disable_collapse": true
     },
     "required" : ["id", "loadThresholds"],
     "properties":{
+        "uuid": {
+            "type":"string",
+            "id": "root/uuid",
+            "title":"Auto Scale policy UUID"
+        },
         "id": {
             "type":"string",
             "id": "root/id",

http://git-wip-us.apache.org/repos/asf/stratos/blob/3accca72/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
index 8e04ec6..08005c6 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
@@ -1387,13 +1387,18 @@ public class StratosApiV41 extends AbstractApi {
     
@AuthorizationAction("/permission/admin/stratos/autoscalingPolicies/manage")
     public Response addAutoscalingPolicy(
             AutoscalePolicyBean autoscalePolicy) throws RestAPIException {
+        String autoscalingPolicyId = autoscalePolicy.getId();
+        autoscalePolicy.setUuid(UUID.randomUUID().toString());
+        String autoscalingPolicyUuid = autoscalePolicy.getUuid();
 
+        PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+        autoscalePolicy.setTenantId(carbonContext.getTenantId());
         try {
             StratosApiV41Utils.addAutoscalingPolicy(autoscalePolicy);
             URI url = 
uriInfo.getAbsolutePathBuilder().path(autoscalePolicy.getId()).build();
             return Response.created(url).entity(new 
ResponseMessageBean(ResponseMessageBean.SUCCESS,
-                    String.format("Autoscaling policy added successfully: 
[autoscale-policy] %s",
-                            autoscalePolicy.getId()))).build();
+                    String.format("Autoscaling policy added successfully: 
[autoscale-policy-uuid] %s " +
+                                    "[autoscale-policy-id] %s", 
autoscalingPolicyUuid, autoscalingPolicyId))).build();
         } catch (AutoscalerServiceInvalidPolicyExceptionException e) {
             return Response.status(Response.Status.BAD_REQUEST).entity(new 
ResponseMessageBean(
                     ResponseMessageBean.ERROR, "Provided Autoscaling policy is 
invalid")).build();

http://git-wip-us.apache.org/repos/asf/stratos/blob/3accca72/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 6596bf8..20929bb 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -24,6 +24,7 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.stub.*;
+import org.apache.stratos.autoscaler.stub.autoscale.policy.AutoscalePolicy;
 import org.apache.stratos.autoscaler.stub.deployment.policy.ApplicationPolicy;
 import org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy;
 import org.apache.stratos.autoscaler.stub.pojo.ApplicationContext;
@@ -850,9 +851,10 @@ public class StratosApiV41Utils {
 
         AutoscalerServiceClient autoscalerServiceClient = 
getAutoscalerServiceClient();
         if (autoscalerServiceClient != null) {
-
+            AutoscalePolicyBean autoscalePolicyBean;
             try {
-                
autoscalerServiceClient.removeAutoscalingPolicy(autoscalePolicyId);
+                autoscalePolicyBean = getAutoScalePolicy(autoscalePolicyId);
+                
autoscalerServiceClient.removeAutoscalingPolicy(autoscalePolicyBean.getUuid());
             } catch (RemoteException e) {
                 log.error(e.getMessage(), e);
                 throw new RestAPIException(e.getMessage(), e);
@@ -870,17 +872,31 @@ public class StratosApiV41Utils {
 
         org.apache.stratos.autoscaler.stub.autoscale.policy.AutoscalePolicy[] 
autoscalePolicies = null;
         AutoscalerServiceClient autoscalerServiceClient = 
getAutoscalerServiceClient();
+        AutoscalePolicy[] autoscalingPoliciesForTenantArray = new 
AutoscalePolicy[0];
+
         if (autoscalerServiceClient != null) {
             try {
                 autoscalePolicies = 
autoscalerServiceClient.getAutoScalePolicies();
-
+                if (autoscalePolicies != null) {
+                    PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+                    List<AutoscalePolicy> autoscalingPoliciesForTenant = new 
ArrayList<AutoscalePolicy>();
+                    for (AutoscalePolicy autoscalePolicy : autoscalePolicies) {
+                        if (carbonContext.getTenantId() == 
autoscalePolicy.getTenantId()) {
+                            autoscalingPoliciesForTenant.add(autoscalePolicy);
+                        }
+                    }
+                    if (autoscalingPoliciesForTenant.size() != 0) {
+                        autoscalingPoliciesForTenantArray = 
autoscalingPoliciesForTenant.toArray(new
+                                
AutoscalePolicy[autoscalingPoliciesForTenant.size()]);
+                    }
+                }
             } catch (RemoteException e) {
                 String errorMsg = "Error while getting available autoscaling 
policies. Cause : " + e.getMessage();
                 log.error(errorMsg, e);
                 throw new RestAPIException(errorMsg, e);
             }
         }
-        return 
ObjectConverter.convertStubAutoscalePoliciesToAutoscalePolicies(autoscalePolicies);
+        return 
ObjectConverter.convertStubAutoscalePoliciesToAutoscalePolicies(autoscalingPoliciesForTenantArray);
     }
 
     /**
@@ -892,21 +908,30 @@ public class StratosApiV41Utils {
      */
     public static AutoscalePolicyBean getAutoScalePolicy(String 
autoscalePolicyId) throws RestAPIException {
 
-        org.apache.stratos.autoscaler.stub.autoscale.policy.AutoscalePolicy 
autoscalePolicy = null;
-        AutoscalerServiceClient autoscalerServiceClient = 
getAutoscalerServiceClient();
-        if (autoscalerServiceClient != null) {
-            try {
-                autoscalePolicy = 
autoscalerServiceClient.getAutoScalePolicy(autoscalePolicyId);
+        AutoscalePolicyBean autoscalePolicyBean;
+        try {
+            AutoscalePolicy[] autoscalePolicies = 
AutoscalerServiceClient.getInstance().getAutoScalePolicies();
 
-            } catch (RemoteException e) {
-                String errorMsg = "Error while getting information for 
autoscaling policy with id " +
-                        autoscalePolicyId + ".  Cause: " + e.getMessage();
-                log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+            AutoscalePolicy autoscalePolicy = null;
+            PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+            for (AutoscalePolicy autoscalePolicy1 : autoscalePolicies) {
+                if (carbonContext.getTenantId() == 
autoscalePolicy1.getTenantId()) {
+                    if (autoscalePolicy1.getId().equals(autoscalePolicyId)) {
+                        autoscalePolicy = autoscalePolicy1;
+                    }
+                }
             }
+            if (autoscalePolicy == null) {
+                return null;
+            }
+            autoscalePolicyBean = 
ObjectConverter.convertStubAutoscalePolicyToAutoscalePolicy(autoscalePolicy);
+        } catch (RemoteException e) {
+            String errorMsg = "Error while getting information for autoscaling 
policy with id " +
+                    autoscalePolicyId + ".  Cause: " + e.getMessage();
+            log.error(errorMsg, e);
+            throw new RestAPIException(errorMsg, e);
         }
-
-        return 
ObjectConverter.convertStubAutoscalePolicyToAutoscalePolicy(autoscalePolicy);
+        return autoscalePolicyBean;
     }
 
     // Util methods for repo actions
@@ -2849,13 +2874,13 @@ public class StratosApiV41Utils {
             AutoscalerServiceInvalidDeploymentPolicyExceptionException {
         try {
             if (log.isDebugEnabled()) {
-                log.debug(String.format("Adding deployment policy: 
[deployment-policy-id] %s ",
+                log.debug(String.format("Adding deployment policy: 
[deployment-policy-uuid] %s [deployment-policy-id]" +
+                                " %s ", 
deploymentPolicyDefinitionBean.getUuid(),
                         deploymentPolicyDefinitionBean.getId()));
             }
 
-            
org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy 
deploymentPolicy =
-
-                    
ObjectConverter.convertDeploymentPolicyBeanToASDeploymentPolicy(deploymentPolicyDefinitionBean);
+            
org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy 
deploymentPolicy = ObjectConverter
+                    
.convertDeploymentPolicyBeanToASDeploymentPolicy(deploymentPolicyDefinitionBean);
             
AutoscalerServiceClient.getInstance().addDeploymentPolicy(deploymentPolicy);
 
             if (log.isDebugEnabled()) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/3accca72/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
index 3c0d6fc..693af46 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
@@ -410,6 +410,8 @@ public class ObjectConverter {
                 
org.apache.stratos.autoscaler.stub.autoscale.policy.AutoscalePolicy();
 
         autoscalePolicy.setId(autoscalePolicyBean.getId());
+        autoscalePolicy.setUuid(autoscalePolicyBean.getUuid());
+        autoscalePolicy.setTenantId(autoscalePolicyBean.getTenantId());
         autoscalePolicy.setDescription(autoscalePolicyBean.getDescription());
         autoscalePolicy.setDisplayName(autoscalePolicyBean.getDisplayName());
 
@@ -858,9 +860,10 @@ public class ObjectConverter {
 
         AutoscalePolicyBean autoscalePolicyBean = new AutoscalePolicyBean();
         autoscalePolicyBean.setId(autoscalePolicy.getId());
+        autoscalePolicyBean.setUuid(autoscalePolicy.getUuid());
+        autoscalePolicyBean.setTenantId(autoscalePolicy.getTenantId());
         autoscalePolicyBean.setDescription(autoscalePolicy.getDescription());
         autoscalePolicyBean.setDisplayName(autoscalePolicy.getDisplayName());
-        autoscalePolicyBean.setDescription(autoscalePolicy.getDescription());
         if (autoscalePolicy.getLoadThresholds() != null) {
             
autoscalePolicyBean.setLoadThresholds(convertStubLoadThresholdsToLoadThresholds(autoscalePolicy.getLoadThresholds()));
         }

Reply via email to