Tenant isolation - Deployment Policies

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

Branch: refs/heads/tenant-isolation
Commit: 829e33351d1e30d179be76b258ef11718ff72f88
Parents: 887f66f
Author: Dinithi <[email protected]>
Authored: Sat Jun 27 10:56:01 2015 +0530
Committer: Dinithi <[email protected]>
Committed: Sat Jun 27 10:56:01 2015 +0530

----------------------------------------------------------------------
 .../autoscaler/pojo/policy/PolicyManager.java   |  34 +-
 .../policy/deployment/DeploymentPolicy.java     |  31 +-
 .../autoscaler/registry/RegistryManager.java    |   2 +-
 .../services/impl/AutoscalerServiceImpl.java    |  22 +-
 .../policy/deployment/DeploymentPolicyBean.java |  18 +
 .../default/configure/deployment-policies.json  |   1 +
 .../schema/configure/deployment-policies.json   |   7 +-
 .../rest/endpoint/api/StratosApiV41.java        |   4 +
 .../rest/endpoint/api/StratosApiV41Utils.java   |  42 +-
 .../util/converter/ObjectConverter.java         |  12 +-
 .../src/main/resources/AutoscalerService.wsdl   | 518 ++++++++++---------
 11 files changed, 386 insertions(+), 305 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/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 e7fc57c..f127de7 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
@@ -133,7 +133,7 @@ public class PolicyManager {
 
         if (log.isInfoEnabled()) {
             log.info(String.format("Deployment policy is added successfully: 
[deployment-policy-id] %s",
-                    policy.getDeploymentPolicyID()));
+                    policy.getUuid()));
         }
     }
 
@@ -145,27 +145,27 @@ public class PolicyManager {
      */
     public void addDeploymentPolicyToInformationModel(DeploymentPolicy 
deploymentPolicy)
             throws InvalidDeploymentPolicyException {
-        if 
(!deploymentPolicyListMap.containsKey(deploymentPolicy.getDeploymentPolicyID()))
 {
+        if (!deploymentPolicyListMap.containsKey(deploymentPolicy.getUuid())) {
             if (log.isDebugEnabled()) {
-                log.debug("Adding deployment policy: " + 
deploymentPolicy.getDeploymentPolicyID());
+                log.debug("Adding deployment policy: " + 
deploymentPolicy.getUuid());
             }
-            
deploymentPolicyListMap.put(deploymentPolicy.getDeploymentPolicyID(), 
deploymentPolicy);
+            deploymentPolicyListMap.put(deploymentPolicy.getUuid(), 
deploymentPolicy);
         } else {
             String errMsg = "Specified deployment policy [" +
-                    deploymentPolicy.getDeploymentPolicyID() + "] already 
exists";
+                    deploymentPolicy.getUuid() + "] already exists";
             log.error(errMsg);
             throw new InvalidDeploymentPolicyException(errMsg);
         }
     }
 
     public boolean updateDeploymentPolicy(DeploymentPolicy policy) throws 
InvalidPolicyException {
-        if (StringUtils.isEmpty(policy.getDeploymentPolicyID())) {
+        if (StringUtils.isEmpty(policy.getUuid())) {
             throw new AutoScalerException("Deployment policy id cannot be 
empty");
         }
         this.updateDeploymentPolicyInInformationModel(policy);
         RegistryManager.getInstance().persistDeploymentPolicy(policy);
         if (log.isInfoEnabled()) {
-            log.info(String.format("Deployment policy is updated successfully: 
[id] %s", policy.getDeploymentPolicyID()));
+            log.info(String.format("Deployment policy is updated successfully: 
[id] %s", policy.getUuid()));
         }
         return true;
     }
@@ -209,11 +209,11 @@ public class PolicyManager {
     }
 
     public void updateDeploymentPolicyInInformationModel(DeploymentPolicy 
deploymentPolicy) throws InvalidPolicyException {
-        if 
(deploymentPolicyListMap.containsKey(deploymentPolicy.getDeploymentPolicyID())) 
{
+        if (deploymentPolicyListMap.containsKey(deploymentPolicy.getUuid())) {
             if (log.isDebugEnabled()) {
-                log.debug("Updating deployment policy: " + 
deploymentPolicy.getDeploymentPolicyID());
+                log.debug("Updating deployment policy: " + 
deploymentPolicy.getUuid());
             }
-            
deploymentPolicyListMap.put(deploymentPolicy.getDeploymentPolicyID(), 
deploymentPolicy);
+            deploymentPolicyListMap.put(deploymentPolicy.getUuid(), 
deploymentPolicy);
         }
     }
 
@@ -278,16 +278,16 @@ public class PolicyManager {
 
 
     private void addDeploymentPolicyToPolicyListMap(DeploymentPolicy policy) {
-        if (StringUtils.isEmpty(policy.getDeploymentPolicyID())) {
+        if (StringUtils.isEmpty(policy.getUuid())) {
             throw new RuntimeException("Application id is not found in the 
deployment policy");
         }
-        if 
(!deploymentPolicyListMap.containsKey(policy.getDeploymentPolicyID())) {
+        if (!deploymentPolicyListMap.containsKey(policy.getUuid())) {
             if (log.isDebugEnabled()) {
-                log.debug("Adding deployment policy: [deployment-policy-id] " 
+ policy.getDeploymentPolicyID());
+                log.debug("Adding deployment policy: [deployment-policy-id] " 
+ policy.getUuid());
             }
-            deploymentPolicyListMap.put(policy.getDeploymentPolicyID(), 
policy);
+            deploymentPolicyListMap.put(policy.getUuid(), policy);
         } else {
-            String errMsg = "Deployment policy already exists: 
[deployment-policy-id] " + policy.getDeploymentPolicyID();
+            String errMsg = "Deployment policy already exists: 
[deployment-policy-id] " + policy.getUuid();
             log.error(errMsg);
         }
     }
@@ -300,9 +300,9 @@ public class PolicyManager {
 
     public void updateDeploymentPolicyToInformationModel(DeploymentPolicy 
policy) throws InvalidPolicyException {
         if (log.isDebugEnabled()) {
-            log.debug("Updating deployment policy: " + 
policy.getDeploymentPolicyID());
+            log.debug("Updating deployment policy: " + policy.getUuid());
         }
-        deploymentPolicyListMap.put(policy.getDeploymentPolicyID(), policy);
+        deploymentPolicyListMap.put(policy.getUuid(), policy);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java
index 56d1f15..c28b300 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java
@@ -32,15 +32,34 @@ import java.util.Arrays;
 public class DeploymentPolicy implements Serializable {
 
     private static final long serialVersionUID = 5675507196284400099L;
-    private String deploymentPolicyID;
+    private String uuid;
+    private int tenantId;
+    private  String id;
     private NetworkPartitionRef[] networkPartitionRefs;
 
-    public String getDeploymentPolicyID() {
-        return deploymentPolicyID;
+    public String getUuid() {
+        return uuid;
     }
 
-    public void setDeploymentPolicyID(String deploymentPolicyID) {
-        this.deploymentPolicyID = deploymentPolicyID;
+    public void setUuid(String uuid) {
+        this.uuid = uuid;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+
+    public int getTenantId() {
+        return tenantId;
+    }
+
+    public void setTenantId(int tenantId) {
+        this.tenantId = tenantId;
     }
 
     public NetworkPartitionRef[] getNetworkPartitionRefs() {
@@ -86,7 +105,7 @@ public class DeploymentPolicy implements Serializable {
     }
 
     public String toString() {
-        return String.format("{ deployment-policy-id : %s, network-partitions 
: %s", deploymentPolicyID,
+        return String.format("{ deployment-policy-id : %s, network-partitions 
: %s", uuid,
                 Arrays.toString(networkPartitionRefs));
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/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 e16d3f5..a3c5703 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
@@ -162,7 +162,7 @@ public class RegistryManager {
     }
 
     public void persistDeploymentPolicy(DeploymentPolicy deploymentPolicy) {
-        String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + 
AutoscalerConstants.DEPLOYMENT_POLICY_RESOURCE + "/" + 
deploymentPolicy.getDeploymentPolicyID();
+        String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + 
AutoscalerConstants.DEPLOYMENT_POLICY_RESOURCE + "/" + 
deploymentPolicy.getUuid();
         persist(deploymentPolicy, resourcePath);
         if (log.isDebugEnabled()) {
             log.debug(String.format("Deployment policy written to registry: 
%s", deploymentPolicy.toString()));

http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index 3f2120c..d0da8d5 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -25,7 +25,6 @@ import 
org.apache.stratos.autoscaler.algorithms.networkpartition.NetworkPartitio
 import org.apache.stratos.autoscaler.applications.ApplicationHolder;
 import org.apache.stratos.autoscaler.applications.parser.ApplicationParser;
 import 
org.apache.stratos.autoscaler.applications.parser.DefaultApplicationParser;
-import org.apache.stratos.autoscaler.applications.pojo.*;
 import 
org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext;
 import org.apache.stratos.autoscaler.applications.pojo.ApplicationContext;
 import 
org.apache.stratos.autoscaler.applications.pojo.ArtifactRepositoryContext;
@@ -57,7 +56,6 @@ import 
org.apache.stratos.autoscaler.pojo.policy.deployment.ApplicationPolicy;
 import org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy;
 import org.apache.stratos.autoscaler.registry.RegistryManager;
 import org.apache.stratos.autoscaler.services.AutoscalerService;
-import org.apache.stratos.autoscaler.stub.pojo.*;
 import org.apache.stratos.autoscaler.util.AutoscalerUtil;
 import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCartridgeTypeExceptionException;
 import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidPartitionExceptionException;
@@ -1044,13 +1042,13 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         validateDeploymentPolicy(deploymentPolicy);
 
         if (log.isInfoEnabled()) {
-            log.info("Adding deployment policy: [deployment-policy-id] " + 
deploymentPolicy.getDeploymentPolicyID());
+            log.info("Adding deployment policy: [deployment-policy-id] " + 
deploymentPolicy.getUuid());
         }
         if (log.isDebugEnabled()) {
             log.debug("Deployment policy definition: " + 
deploymentPolicy.toString());
         }
 
-        String deploymentPolicyID = deploymentPolicy.getDeploymentPolicyID();
+        String deploymentPolicyID = deploymentPolicy.getUuid();
         if 
(PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyID) != null) {
             String message = "Deployment policy already exists: 
[deployment-policy-id] " + deploymentPolicyID;
             log.error(message);
@@ -1080,7 +1078,7 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         }
 
         // deployment policy id can't be null or empty
-        String deploymentPolicyId = deploymentPolicy.getDeploymentPolicyID();
+        String deploymentPolicyId = deploymentPolicy.getUuid();
         if (StringUtils.isBlank(deploymentPolicyId)) {
             String msg = String.format("Deployment policy id is blank");
             log.error(msg);
@@ -1173,13 +1171,13 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         validateDeploymentPolicy(deploymentPolicy);
 
         if (log.isInfoEnabled()) {
-            log.info("Updating deployment policy: [deployment-policy-id] " + 
deploymentPolicy.getDeploymentPolicyID());
+            log.info("Updating deployment policy: [deployment-policy-id] " + 
deploymentPolicy.getUuid());
         }
         if (log.isDebugEnabled()) {
             log.debug("Updating Deployment policy definition: " + 
deploymentPolicy.toString());
         }
 
-        String deploymentPolicyID = deploymentPolicy.getDeploymentPolicyID();
+        String deploymentPolicyID = deploymentPolicy.getUuid();
         if 
(PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyID) == null) {
             String message = "Deployment policy not exists: 
[deployment-policy-id] " + deploymentPolicyID;
             log.error(message);
@@ -1201,30 +1199,30 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
 
         for (ClusterMonitor clusterMonitor : 
AutoscalerContext.getInstance().getClusterMonitors().values()) {
             //Following if statement checks the relevant clusters for the 
updated deployment policy
-            if 
(deploymentPolicy.getDeploymentPolicyID().equals(clusterMonitor.getDeploymentPolicyId()))
 {
+            if 
(deploymentPolicy.getUuid().equals(clusterMonitor.getDeploymentPolicyId())) {
                 for (NetworkPartitionRef networkPartition : 
deploymentPolicy.getNetworkPartitionRefs()) {
                     ClusterLevelNetworkPartitionContext 
clusterLevelNetworkPartitionContext
                             = 
clusterMonitor.getClusterContext().getNetworkPartitionCtxt(networkPartition.getId());
 
                     try {
                         
addNewPartitionsToClusterMonitor(clusterLevelNetworkPartitionContext, 
networkPartition,
-                                deploymentPolicy.getDeploymentPolicyID(), 
clusterMonitor.getClusterContext().getServiceId());
+                                deploymentPolicy.getUuid(), 
clusterMonitor.getClusterContext().getServiceId());
                     } catch (RemoteException e) {
 
                         String message = "Connection to cloud controller 
failed, Cluster monitor update failed for" +
-                                " [deployment-policy] " + 
deploymentPolicy.getDeploymentPolicyID();
+                                " [deployment-policy] " + 
deploymentPolicy.getUuid();
                         log.error(message);
                         throw new CloudControllerConnectionException(message, 
e);
                     } catch 
(CloudControllerServiceInvalidPartitionExceptionException e) {
 
                         String message = "Invalid partition, Cluster monitor 
update failed for [deployment-policy] "
-                                + deploymentPolicy.getDeploymentPolicyID();
+                                + deploymentPolicy.getUuid();
                         log.error(message);
                         throw new InvalidDeploymentPolicyException(message, e);
                     } catch 
(CloudControllerServiceInvalidCartridgeTypeExceptionException e) {
 
                         String message = "Invalid cartridge type, Cluster 
monitor update failed for [deployment-policy] "
-                                + deploymentPolicy.getDeploymentPolicyID() + " 
[cartridge] "
+                                + deploymentPolicy.getUuid() + " [cartridge] "
                                 + 
clusterMonitor.getClusterContext().getServiceId();
                         log.error(message);
                         throw new InvalidDeploymentPolicyException(message, e);

http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/DeploymentPolicyBean.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/DeploymentPolicyBean.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/DeploymentPolicyBean.java
index 1837714..05eaa31 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/DeploymentPolicyBean.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/DeploymentPolicyBean.java
@@ -28,6 +28,24 @@ import java.util.List;
 public class DeploymentPolicyBean {
 
     private String id;
+    private String uuid;
+    private int tenantId;
+
+    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;
+    }
 
     private List<NetworkPartitionReferenceBean> networkPartitions;
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/deployment-policies.json
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/deployment-policies.json
 
b/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/deployment-policies.json
index f749ab4..f8ccf75 100644
--- 
a/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/deployment-policies.json
+++ 
b/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/deployment-policies.json
@@ -1,4 +1,5 @@
 {
+    "uuid": "",
     "id": "deployment-policy-1",
     "networkPartitions": [
         {

http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/deployment-policies.json
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/deployment-policies.json
 
b/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/deployment-policies.json
index 396a26b..2c78bee 100644
--- 
a/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/deployment-policies.json
+++ 
b/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/deployment-policies.json
@@ -1,6 +1,6 @@
 {
     "$schema": "http://json-schema.org/draft-04/schema#";,
-    "id": "root",
+    "uuid": "root",
     "type": "object",
     "title":"Deployment Policy Definition",
     "name": "Deployment Policy",
@@ -9,6 +9,11 @@
         "disable_collapse": true
     },
     "properties": {
+        "uuid": {
+            "id": "root/uuid",
+            "type": "string",
+            "title":"UUID"
+        },
         "id": {
             "id": "root/id",
             "type": "string",

http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/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 bbbd3f2..40f193f 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
@@ -133,6 +133,10 @@ public class StratosApiV41 extends AbstractApi {
             DeploymentPolicyBean deploymentPolicyDefinitionBean) throws 
RestAPIException {
 
         String deploymentPolicyID = deploymentPolicyDefinitionBean.getId();
+        deploymentPolicyDefinitionBean.setUuid(UUID.randomUUID().toString());
+
+        PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+        
deploymentPolicyDefinitionBean.setTenantId(carbonContext.getTenantId());
         try {
             
StratosApiV41Utils.addDeploymentPolicy(deploymentPolicyDefinitionBean);
         } catch (AutoscalerServiceInvalidDeploymentPolicyExceptionException e) 
{

http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/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 5b12e59..13798d8 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
@@ -2760,7 +2760,7 @@ public class StratosApiV41Utils {
                         if 
(networkPartitionRef.getId().equals(networkPartitionId)) {
                             String message = String.format("Cannot remove the 
network partition %s, since" +
                                             " it is used in deployment policy 
%s", networkPartitionId,
-                                    deploymentPolicy.getDeploymentPolicyID());
+                                    deploymentPolicy.getId());
                             log.error(message);
                             throw new RestAPIException(message);
                         }
@@ -2875,22 +2875,35 @@ public class StratosApiV41Utils {
     /**
      * Get deployment policy by deployment policy id
      *
-     * @param deploymentPolicyID deployment policy id
+     * @param deploymentPolicyId deployment policy id
      * @return {@link DeploymentPolicyBean}
      */
-    public static DeploymentPolicyBean getDeployementPolicy(String 
deploymentPolicyID) throws RestAPIException {
+    public static DeploymentPolicyBean getDeployementPolicy(String 
deploymentPolicyId) throws RestAPIException {
 
         DeploymentPolicyBean deploymentPolicyBean;
         try {
+            
org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy[] 
deploymentPolicies
+                    = 
AutoscalerServiceClient.getInstance().getDeploymentPolicies();
 
-            
org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy 
deploymentPolicy
-                    = 
AutoscalerServiceClient.getInstance().getDeploymentPolicy(deploymentPolicyID);
+            DeploymentPolicy deploymentPolicy = null;
+            PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+            List<DeploymentPolicy> deploymentPoliciesForTenant = new 
ArrayList<DeploymentPolicy>();
+            for (DeploymentPolicy deploymentPolicy1 : deploymentPolicies) {
+                if (carbonContext.getTenantId() == 
deploymentPolicy1.getTenantId()) {
+                    deploymentPoliciesForTenant.add(deploymentPolicy1);
+                    if (deploymentPolicy1.getId().equals(deploymentPolicyId)) {
+                        deploymentPolicy = deploymentPolicy1;
+                    }
+                }
+            }
+            
//org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy 
deploymentPolicy
+            //       = 
AutoscalerServiceClient.getInstance().getDeploymentPolicy(deploymentPolicyID);
             if (deploymentPolicy == null) {
                 return null;
             }
             deploymentPolicyBean = 
ObjectConverter.convertCCStubDeploymentPolicyToDeploymentPolicy(deploymentPolicy);
         } catch (RemoteException e) {
-            String msg = "Could not find deployment policy: 
[deployment-policy-id] " + deploymentPolicyID;
+            String msg = "Could not find deployment policy: 
[deployment-policy-id] " + deploymentPolicyId;
             log.error(msg, e);
             throw new RestAPIException(msg);
         }
@@ -2907,7 +2920,22 @@ public class StratosApiV41Utils {
         try {
             
org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy[] 
deploymentPolicies
                     = 
AutoscalerServiceClient.getInstance().getDeploymentPolicies();
-            return 
ObjectConverter.convertASStubDeploymentPoliciesToDeploymentPolicies(deploymentPolicies);
+
+            DeploymentPolicy[] deploymentPoliciesForTenantArray = new 
DeploymentPolicy[0];
+            if (deploymentPolicies != null) {
+                PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+                List<DeploymentPolicy> deploymentPoliciesForTenant = new 
ArrayList<DeploymentPolicy>();
+                for (DeploymentPolicy deploymentPolicy : deploymentPolicies) {
+                    if (carbonContext.getTenantId() == 
deploymentPolicy.getTenantId()) {
+                        deploymentPoliciesForTenant.add(deploymentPolicy);
+                        }
+                }
+                if (deploymentPoliciesForTenant.size() != 0) {
+                deploymentPoliciesForTenantArray = 
deploymentPoliciesForTenant.toArray(new
+                        DeploymentPolicy[deploymentPoliciesForTenant.size()]);
+                }
+            }
+            return 
ObjectConverter.convertASStubDeploymentPoliciesToDeploymentPolicies(deploymentPoliciesForTenantArray);
         } catch (RemoteException e) {
             String message = "Could not get deployment policies";
             log.error(message);

http://git-wip-us.apache.org/repos/asf/stratos/blob/829e3335/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 5f4b3d9..1900dcf 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
@@ -1978,7 +1978,9 @@ public class ObjectConverter {
         }
 
         DeploymentPolicyBean deploymentPolicyBean = new DeploymentPolicyBean();
-        deploymentPolicyBean.setId(deploymentPolicy.getDeploymentPolicyID());
+        deploymentPolicyBean.setId(deploymentPolicy.getId());
+        deploymentPolicyBean.setUuid(deploymentPolicy.getUuid());
+        deploymentPolicyBean.setTenantId(deploymentPolicy.getTenantId());
         
deploymentPolicyBean.setNetworkPartitions(convertASStubNetworkPartitionsToNetworkPartitionReferences(
                 deploymentPolicy.getNetworkPartitionRefs()));
         return deploymentPolicyBean;
@@ -2012,7 +2014,9 @@ public class ObjectConverter {
         }
 
         DeploymentPolicy deploymentPolicy = new DeploymentPolicy();
-        deploymentPolicy.setDeploymentPolicyID(deploymentPolicyBean.getId());
+        deploymentPolicy.setId(deploymentPolicyBean.getId());
+        deploymentPolicy.setUuid(deploymentPolicyBean.getUuid());
+        deploymentPolicy.setTenantId(deploymentPolicyBean.getTenantId());
         if (deploymentPolicyBean.getNetworkPartitions() != null) {
             
deploymentPolicy.setNetworkPartitionRefs(convertNetworkPartitionToASStubNetworkPartition(
                     deploymentPolicyBean.getNetworkPartitions()));
@@ -2045,7 +2049,9 @@ public class ObjectConverter {
         }
 
         DeploymentPolicyBean deploymentPolicyBean = new DeploymentPolicyBean();
-        deploymentPolicyBean.setId(deploymentPolicy.getDeploymentPolicyID());
+        deploymentPolicyBean.setId(deploymentPolicy.getId());
+        deploymentPolicyBean.setUuid(deploymentPolicy.getUuid());
+        deploymentPolicyBean.setTenantId(deploymentPolicy.getTenantId());
         
deploymentPolicyBean.setNetworkPartitions(convertASStubNetworkPartitionRefsToNetworkPartitions(
                 deploymentPolicy.getNetworkPartitionRefs()));
         return deploymentPolicyBean;

Reply via email to