Add uuid for subscriberinfo

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

Branch: refs/heads/tenant-isolation
Commit: af8b38d23b3d8a74a5fbe8d968f0b73c50801813
Parents: f002bf1
Author: Gayan Gunarathne <[email protected]>
Authored: Tue Jul 7 23:46:16 2015 +0530
Committer: Gayan Gunarathne <[email protected]>
Committed: Tue Jul 7 23:46:16 2015 +0530

----------------------------------------------------------------------
 .../parser/DefaultApplicationParser.java        |   6 +-
 .../pojo/SubscribableInfoContext.java           |  38 +-
 .../autoscaler/services/AutoscalerService.java  |  25 +-
 .../services/impl/AutoscalerServiceImpl.java    |  31 +-
 .../stratos/autoscaler/util/AutoscalerUtil.java |   2 +-
 .../beans/application/ApplicationBean.java      |   9 +
 .../beans/application/SubscribableInfo.java     |   9 +
 .../common/client/AutoscalerServiceClient.java  |   9 +
 .../rest/endpoint/api/StratosApiV41.java        |   2 +
 .../util/converter/ObjectConverter.java         |  37 +-
 .../src/main/resources/AutoscalerService.wsdl   | 648 +++++++++++--------
 11 files changed, 515 insertions(+), 301 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
index 7248fa5..b286a80 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
@@ -144,7 +144,7 @@ public class DefaultApplicationParser implements 
ApplicationParser {
             throws ApplicationDefinitionException {
 
         String alias = subscribableInfoContext.getAlias();
-        String autoscalingPolicyId = 
subscribableInfoContext.getAutoscalingPolicy();
+        String autoscalingPolicyId = 
subscribableInfoContext.getAutoscalingPolicyUuid();
 
         if (StringUtils.isEmpty(alias)) {
             handleError(String.format("An alias is not defined for cartridge: 
[application-id] %s" +
@@ -452,12 +452,12 @@ public class DefaultApplicationParser implements 
ApplicationParser {
             // create and collect this cluster's information
             ApplicationClusterContext appClusterCtxt = 
createApplicationClusterContext(appId, groupName, cartridge,
                     key, tenantId, repoUrl, subscriptionAlias, clusterId, 
hostname,
-                    subscribableInfoContext.getDeploymentPolicy(), isLB,
+                    subscribableInfoContext.getDeploymentPolicyUuid(), isLB,
                     tenantRange, 
subscribableInfoContext.getDependencyAliases(),
                     subscribableInfoContext.getProperties(), 
arrDependencyClusterIDs, arrExportMetadata,
                     arrImportMetadata);
 
-            
appClusterCtxt.setAutoscalePolicyName(subscribableInfoContext.getAutoscalingPolicy());
+            
appClusterCtxt.setAutoscalePolicyName(subscribableInfoContext.getAutoscalingPolicyUuid());
             
appClusterCtxt.setProperties(subscribableInfoContext.getProperties());
             if (subscribableInfoContext.getPersistenceContext() != null) {
                 
appClusterCtxt.setPersistenceContext(subscribableInfoContext.getPersistenceContext());

http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/SubscribableInfoContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/SubscribableInfoContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/SubscribableInfoContext.java
index 50951ca..119c162 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/SubscribableInfoContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/SubscribableInfoContext.java
@@ -28,8 +28,10 @@ public class SubscribableInfoContext implements Serializable 
{
     private static final long serialVersionUID = -6874644941002783034L;
 
     private String alias;
-    private String deploymentPolicy;
-    private String autoscalingPolicy;
+       private String deploymentPolicy;
+       private String autoscalingPolicy;
+    private String deploymentPolicyUuid;
+    private String autoscalingPolicyUuid;
     private int minMembers;
     private int maxMembers;
     private String[] dependencyAliases;
@@ -45,20 +47,20 @@ public class SubscribableInfoContext implements 
Serializable {
         this.alias = alias;
     }
 
-    public String getDeploymentPolicy() {
-        return deploymentPolicy;
+    public String getDeploymentPolicyUuid() {
+        return deploymentPolicyUuid;
     }
 
-    public void setDeploymentPolicy(String deploymentPolicy) {
-        this.deploymentPolicy = deploymentPolicy;
+    public void setDeploymentPolicyUuid(String deploymentPolicyUuid) {
+        this.deploymentPolicyUuid = deploymentPolicyUuid;
     }
 
-    public String getAutoscalingPolicy() {
-        return autoscalingPolicy;
+    public String getAutoscalingPolicyUuid() {
+        return autoscalingPolicyUuid;
     }
 
-    public void setAutoscalingPolicy(String autoscalingPolicy) {
-        this.autoscalingPolicy = autoscalingPolicy;
+    public void setAutoscalingPolicyUuid(String autoscalingPolicyUuid) {
+        this.autoscalingPolicyUuid = autoscalingPolicyUuid;
     }
 
     public String[] getDependencyAliases() {
@@ -108,4 +110,20 @@ public class SubscribableInfoContext implements 
Serializable {
     public void setPersistenceContext(PersistenceContext persistenceContext) {
         this.persistenceContext = persistenceContext;
     }
+
+       public String getDeploymentPolicy() {
+               return deploymentPolicy;
+       }
+
+       public void setDeploymentPolicy(String deploymentPolicy) {
+               this.deploymentPolicy = deploymentPolicy;
+       }
+
+       public String getAutoscalingPolicy() {
+               return autoscalingPolicy;
+       }
+
+       public void setAutoscalingPolicy(String autoscalingPolicy) {
+               this.autoscalingPolicy = autoscalingPolicy;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
index d984d64..e703e39 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
@@ -50,10 +50,18 @@ public interface AutoscalerService {
     /**
      * Get an autoscaling policy
      *
-     * @param autoscalingPolicyId
+     * @param autoscalingPolicyUuid
      * @return
      */
-    public AutoscalePolicy getAutoscalingPolicy(String autoscalingPolicyId);
+    public AutoscalePolicy getAutoscalingPolicy(String autoscalingPolicyUuid);
+
+       /**
+        * Get an autoscaling policy
+        *
+        * @param autoscalingPolicyId
+        * @return
+        */
+       public AutoscalePolicy getAutoscalingPolicyForTenant(String 
autoscalingPolicyId,int tenantId);
 
     /**
      * Get autoscaling policies
@@ -273,10 +281,19 @@ public interface AutoscalerService {
     /**
      * Get deployment policy definition
      *
-     * @param deploymentPolicyID
+     * @param deploymentPolicyUuid
      * @return
      */
-    public DeploymentPolicy getDeploymentPolicy(String deploymentPolicyID);
+    public DeploymentPolicy getDeploymentPolicy(String deploymentPolicyUuid);
+
+       /**
+        * Get deployment policy definition
+        *
+        * @param deploymentPolicyID
+        * @param tenantId
+        * @return
+        */
+       public DeploymentPolicy getDeploymentPolicyForTenant(String 
deploymentPolicyID,int tenantId);
 
     /**
      * Get deployment policies

http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/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 e43ecc0..1a1d691 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
@@ -132,7 +132,7 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
                 for(CartridgeContext cartridgeContext : 
applicationContext.getComponents().
                         getCartridgeContexts()) {
                     
if(autoscalePolicyId.equals(cartridgeContext.getSubscribableInfoContext().
-                            getAutoscalingPolicy())) {
+                                   getAutoscalingPolicyUuid())) {
                         return false;
                     }
                 }
@@ -153,7 +153,7 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
             if(groupContext.getCartridgeContexts() != null) {
                 for(CartridgeContext cartridgeContext : 
groupContext.getCartridgeContexts()) {
                     
if(autoscalePolicyId.equals(cartridgeContext.getSubscribableInfoContext().
-                            getAutoscalingPolicy())) {
+                                   getAutoscalingPolicyUuid())) {
                         return false;
                     }
                 }
@@ -193,7 +193,19 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         return 
PolicyManager.getInstance().getAutoscalePolicy(autoscalingPolicyId);
     }
 
-    @Override
+       @Override
+       public AutoscalePolicy getAutoscalingPolicyForTenant(String 
autoscalingPolicyId, int tenantId) {
+               AutoscalePolicy[] autoscalePolicies=getAutoScalingPolicies();
+               for(AutoscalePolicy autoscalePolicy:autoscalePolicies){
+                       
if(autoscalePolicy.getId().equals(autoscalingPolicyId)&&(autoscalePolicy.getTenantId()==tenantId)){
+                               return autoscalePolicy;
+                       }
+               }
+               return null;
+       }
+
+
+       @Override
     public boolean addApplication(ApplicationContext applicationContext)
             throws ApplicationDefinitionException, 
CartridgeGroupNotFoundException,
             CartridgeNotFoundException {
@@ -1357,7 +1369,18 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         return 
PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId);
     }
 
-    @Override
+       @Override
+       public DeploymentPolicy getDeploymentPolicyForTenant(String 
deploymentPolicyID, int tenantId) {
+               DeploymentPolicy[] deploymentPolicies=getDeploymentPolicies();
+               for(DeploymentPolicy deploymentPolicy:deploymentPolicies){
+                       
if(deploymentPolicy.getId().equals(deploymentPolicyID)&&(deploymentPolicy.getTenantId()==tenantId)){
+                               return  deploymentPolicy;
+                       }
+               }
+               return null;
+       }
+
+       @Override
     public DeploymentPolicy[] getDeploymentPolicies() {
         try {
             Collection<DeploymentPolicy> deploymentPolicies = 
PolicyManager.getInstance().getDeploymentPolicies();

http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index 0342a05..4e7a4ae 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -521,7 +521,7 @@ public class AutoscalerUtil {
                 if (cartridgeContext != null) {
                     aliasToDeploymentPolicyIdMap.put(
                             
cartridgeContext.getSubscribableInfoContext().getAlias(),
-                            
cartridgeContext.getSubscribableInfoContext().getDeploymentPolicy());
+                            
cartridgeContext.getSubscribableInfoContext().getDeploymentPolicyUuid());
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java
index 71e0c6c..92e4428 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java
@@ -38,6 +38,7 @@ public class ApplicationBean implements Serializable {
     private String status;
     private ComponentBean components;
     private List<PropertyBean> property;
+       private int tenantId;
 
     public String getApplicationId() {
         return applicationId;
@@ -102,4 +103,12 @@ public class ApplicationBean implements Serializable {
     public void setProperty(List<PropertyBean> property) {
         this.property = property;
     }
+
+       public int getTenantId() {
+               return tenantId;
+       }
+
+       public void setTenantId(int tenantId) {
+               this.tenantId = tenantId;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
index e119558..8e65160 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
@@ -41,6 +41,7 @@ public class SubscribableInfo implements Serializable {
     private ArtifactRepositoryBean artifactRepository;
     private List<PropertyBean> property;
     private PersistenceBean persistence;
+       private int tenantId;
 
     public String getAlias() {
         return alias;
@@ -113,4 +114,12 @@ public class SubscribableInfo implements Serializable {
     public void setPersistence(PersistenceBean persistence) {
         this.persistence = persistence;
     }
+
+       public int getTenantId() {
+               return tenantId;
+       }
+
+       public void setTenantId(int tenantId) {
+               this.tenantId = tenantId;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
index dcd50ca..8dc2420 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
@@ -90,6 +90,11 @@ public class AutoscalerServiceClient {
         return stub.getAutoscalingPolicy(autoscalingPolicyId);
     }
 
+       public 
org.apache.stratos.autoscaler.stub.autoscale.policy.AutoscalePolicy 
getAutoScalePolicyForTenant(
+                       String autoscalingPolicyId,int tenantId) throws 
RemoteException {
+               return 
stub.getAutoscalingPolicyForTenant(autoscalingPolicyId,tenantId);
+       }
+
     public void addApplication(ApplicationContext applicationContext)
             throws AutoscalerServiceApplicationDefinitionExceptionException,
             RemoteException, 
AutoscalerServiceCartridgeNotFoundExceptionException,
@@ -230,6 +235,10 @@ public class AutoscalerServiceClient {
         return stub.getDeploymentPolicy(deploymentPolicyId);
     }
 
+       public DeploymentPolicy getDeploymentPolicyForTenant(String 
deploymentPolicyId,int tenantId) throws RemoteException {
+               return 
stub.getDeploymentPolicyForTenant(deploymentPolicyId,tenantId);
+       }
+
     public DeploymentPolicy[] getDeploymentPolicies() throws RemoteException {
         return stub.getDeploymentPolicies();
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/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 0b1e7a6..de8df20 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
@@ -775,6 +775,8 @@ public class StratosApiV41 extends AbstractApi {
     @AuthorizationAction("/permission/admin/stratos/applications/manage")
     public Response addApplication(ApplicationBean applicationDefinition) 
throws RestAPIException {
         try {
+               PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+               applicationDefinition.setTenantId(carbonContext.getTenantId());
             StratosApiV41Utils.addApplication(applicationDefinition, 
getConfigContext(),
                     getUsername(), getTenantDomain());
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/af8b38d2/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 a981e3d..77b4c24 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
@@ -43,6 +43,7 @@ import org.apache.stratos.common.beans.policy.autoscale.*;
 import org.apache.stratos.common.beans.policy.deployment.ApplicationPolicyBean;
 import org.apache.stratos.common.beans.policy.deployment.DeploymentPolicyBean;
 import org.apache.stratos.common.beans.topology.*;
+import org.apache.stratos.common.client.AutoscalerServiceClient;
 import org.apache.stratos.common.util.CommonUtil;
 import 
org.apache.stratos.manager.service.stub.domain.application.signup.ApplicationSignUp;
 import 
org.apache.stratos.manager.service.stub.domain.application.signup.ArtifactRepository;
@@ -55,9 +56,11 @@ import 
org.apache.stratos.messaging.domain.instance.GroupInstance;
 import org.apache.stratos.messaging.domain.topology.Cluster;
 import org.apache.stratos.messaging.domain.topology.KubernetesService;
 import org.apache.stratos.messaging.domain.topology.Port;
+import org.apache.stratos.rest.endpoint.exception.RestAPIException;
 import 
org.apache.stratos.rest.endpoint.exception.ServiceGroupDefinitionException;
 import org.wso2.carbon.stratos.common.beans.TenantInfoBean;
 
+import java.rmi.RemoteException;
 import java.util.*;
 
 public class ObjectConverter {
@@ -1103,7 +1106,7 @@ public class ObjectConverter {
     }
 
     public static ApplicationContext 
convertApplicationDefinitionToStubApplicationContext(
-            ApplicationBean applicationDefinition) {
+            ApplicationBean applicationDefinition) throws RestAPIException {
 
         org.apache.stratos.autoscaler.stub.pojo.ApplicationContext 
applicationContext =
                 new 
org.apache.stratos.autoscaler.stub.pojo.ApplicationContext();
@@ -1132,7 +1135,7 @@ public class ObjectConverter {
             // top level cartridge context information
             if (applicationDefinition.getComponents().getCartridges() != null) 
{
                 componentContext.setCartridgeContexts(
-                        
convertCartridgeReferenceBeansToStubCartridgeContexts(applicationDefinition.getComponents().getCartridges()));
+                        
convertCartridgeReferenceBeansToStubCartridgeContexts(applicationDefinition.getComponents().getCartridges(),applicationDefinition.getTenantId()));
             }
             applicationContext.setComponents(componentContext);
         }
@@ -1364,7 +1367,7 @@ public class ObjectConverter {
     }
 
     private static CartridgeContext[] 
convertCartridgeReferenceBeansToStubCartridgeContexts(
-            List<CartridgeReferenceBean> cartridges) {
+            List<CartridgeReferenceBean> cartridges,int tenantId) throws 
RestAPIException {
 
         if (cartridges == null) {
             return null;
@@ -1377,14 +1380,15 @@ public class ObjectConverter {
             context.setCartridgeMax(cartridgeDefinition.getCartridgeMax());
             context.setCartridgeMin(cartridgeDefinition.getCartridgeMin());
             context.setType(cartridgeDefinition.getType());
-            
context.setSubscribableInfoContext(convertSubscribableInfo(cartridgeDefinition.getSubscribableInfo()));
+            
context.setSubscribableInfoContext(convertSubscribableInfo(cartridgeDefinition.getSubscribableInfo(),tenantId));
             cartridgeContextArray[i++] = context;
         }
 
         return cartridgeContextArray;
     }
 
-    private static SubscribableInfoContext 
convertSubscribableInfo(SubscribableInfo subscribableInfo) {
+    private static SubscribableInfoContext 
convertSubscribableInfo(SubscribableInfo subscribableInfo, int tenantId)
+                   throws RestAPIException {
 
         if (subscribableInfo == null) {
             return null;
@@ -1392,8 +1396,24 @@ public class ObjectConverter {
 
         SubscribableInfoContext infoContext = new SubscribableInfoContext();
         infoContext.setAlias(subscribableInfo.getAlias());
-        
infoContext.setAutoscalingPolicy(subscribableInfo.getAutoscalingPolicy());
+           try {
+                   String autoScalerUuid= 
AutoscalerServiceClient.getInstance().getAutoScalePolicyForTenant(subscribableInfo.getAutoscalingPolicy(),
+                                                                
subscribableInfo.getTenantId()).getUuid();
+                   infoContext.setAutoscalingPolicy(autoScalerUuid);
+           } catch (RemoteException e) {
+                   throw new RestAPIException(e);
+           }
+
         
infoContext.setDependencyAliases(subscribableInfo.getDependencyAliases());
+
+           try {
+                   String deploymentPolicyUuid = 
AutoscalerServiceClient.getInstance().getDeploymentPolicyForTenant(
+                                   subscribableInfo.getAutoscalingPolicy(),
+                                   subscribableInfo.getTenantId()).getUuid();
+                   infoContext.setAutoscalingPolicy(deploymentPolicyUuid);
+           } catch (RemoteException e) {
+                   throw new RestAPIException(e);
+           }
         
infoContext.setDeploymentPolicy(subscribableInfo.getDeploymentPolicy());
         infoContext.setMaxMembers(subscribableInfo.getMaxMembers());
         infoContext.setMinMembers(subscribableInfo.getMinMembers());
@@ -1503,7 +1523,8 @@ public class ObjectConverter {
     }
 
     private static org.apache.stratos.autoscaler.stub.pojo.GroupContext[]
-    
convertGroupDefinitionsToStubGroupContexts(List<CartridgeGroupReferenceBean> 
groupDefinitions) {
+    
convertGroupDefinitionsToStubGroupContexts(List<CartridgeGroupReferenceBean> 
groupDefinitions)
+                   throws RestAPIException {
 
         if (groupDefinitions == null) {
             return null;
@@ -1526,7 +1547,7 @@ public class ObjectConverter {
 
             // Cartridges
             if (groupDefinition.getCartridges() != null) {
-                
groupContext.setCartridgeContexts(convertCartridgeReferenceBeansToStubCartridgeContexts(groupDefinition.getCartridges()));
+                
groupContext.setCartridgeContexts(convertCartridgeReferenceBeansToStubCartridgeContexts(groupDefinition.getCartridges(),-1234));
             }
             groupContexts[i++] = groupContext;
         }

Reply via email to