Filtering result when displaying cartridge groups and applications

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

Branch: refs/heads/tenant-isolation
Commit: e191b6d06ac6a3a71234470bf4f7affe3c4be900
Parents: 371f2f9
Author: Dinithi <[email protected]>
Authored: Wed Jul 15 18:42:06 2015 +0530
Committer: Dinithi <[email protected]>
Committed: Wed Jul 15 18:42:06 2015 +0530

----------------------------------------------------------------------
 .../autoscaler/registry/RegistryManager.java    |  19 +-
 .../autoscaler/services/AutoscalerService.java  |   6 +
 .../services/impl/AutoscalerServiceImpl.java    |  27 +
 .../context/CloudControllerContext.java         |   4 +-
 .../common/client/AutoscalerServiceClient.java  |   9 +
 .../rest/endpoint/api/StratosApiV41Utils.java   |   7 +-
 .../src/main/resources/AutoscalerService.wsdl   | 840 +++++++++++--------
 7 files changed, 530 insertions(+), 382 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/e191b6d0/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 a9dfc54..bd9efa4 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
@@ -561,15 +561,16 @@ public class RegistryManager {
         }
     }
 
-       public ServiceGroup getServiceGroup(String name,int tenantId) throws 
Exception {
-               ServiceGroup[] serviceGroups=getServiceGroups();
-               for(ServiceGroup serviceGroup:serviceGroups){
-                       
if(serviceGroup.getName().equals(name)&&(serviceGroup.getTenantId()==tenantId)){
-                               return serviceGroup;
-                       }
-               }
-               return null;
-       }
+    public ServiceGroup getServiceGroup(String name, int tenantId) throws 
Exception {
+        ServiceGroup[] serviceGroups = getServiceGroups();
+        for (ServiceGroup serviceGroup : serviceGroups) {
+            if (serviceGroup.getName().equals(name) && 
(serviceGroup.getTenantId() == tenantId)) {
+                return serviceGroup;
+            }
+        }
+        return null;
+    }
+
     public ServiceGroup[] getServiceGroups() {
         try {
             startTenantFlow();

http://git-wip-us.apache.org/repos/asf/stratos/blob/e191b6d0/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 352b5db..839d116 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
@@ -329,4 +329,10 @@ public interface AutoscalerService {
      */
     public DeploymentPolicy[] getDeploymentPolicies();
 
+    /**
+     * Get applications by tenant
+     *
+     * @return array of {@link DeploymentPolicy}
+     */
+    public ApplicationContext[] getApplicationsByTenant(int tenantId);
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/e191b6d0/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 59b437e..e843b04 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
@@ -315,6 +315,20 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
     }
 
     @Override
+    public ApplicationContext[] getApplicationsByTenant(int tenantId) {
+        List<ApplicationContext> applicationContexts = new 
ArrayList<ApplicationContext>();
+        ApplicationContext[] allApps = getApplications();
+        if(allApps != null) {
+            for (ApplicationContext applicationContext : allApps) {
+                if (applicationContext.getTenantId() == tenantId) {
+                    applicationContexts.add(applicationContext);
+                }
+            }
+        }
+        return applicationContexts.toArray(new 
ApplicationContext[applicationContexts.size()]);
+    }
+
+    @Override
     public boolean deployApplication(String applicationUuid, String 
applicationPolicyId)
             throws ApplicationDefinitionException {
         try {
@@ -897,6 +911,19 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         return RegistryManager.getInstance().getServiceGroups();
     }
 
+    public ServiceGroup[] getServiceGroupsByTenant(int tenantId) {
+        List<ServiceGroup> serviceGroups = new ArrayList<ServiceGroup>();
+        ServiceGroup[] allGroups = getServiceGroups();
+        if(allGroups != null) {
+            for (ServiceGroup serviceGroup : allGroups) {
+                if (serviceGroup.getTenantId() == tenantId) {
+                    serviceGroups.add(serviceGroup);
+                }
+            }
+        }
+        return serviceGroups.toArray(new ServiceGroup[serviceGroups.size()]);
+    }
+
     public boolean serviceGroupExist(String serviceName) {
         return false;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/e191b6d0/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
index 504965f..6fb95b9 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
@@ -842,8 +842,8 @@ public class CloudControllerContext implements Serializable 
{
         cartridgeTypeToIaasProviders.put(cartridgeType, iaasProviders);
     }
 
-    public IaasProvider getIaasProvider(String cartridgeType, String iaasType) 
{
-        List<IaasProvider> iaasProviders = 
cartridgeTypeToIaasProviders.get(cartridgeType);
+    public IaasProvider getIaasProvider(String cartridgeUuid, String iaasType) 
{
+        List<IaasProvider> iaasProviders = 
cartridgeTypeToIaasProviders.get(cartridgeUuid);
 
         if (iaasProviders != null) {
             for (IaasProvider iaasProvider : iaasProviders) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/e191b6d0/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 8fa2e42..4069ee9 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
@@ -125,6 +125,10 @@ public class AutoscalerServiceClient {
         return stub.getApplications();
     }
 
+    public ApplicationContext[] getApplicationsByTenant(int tenantId) throws 
RemoteException {
+        return stub.getApplicationsByTenant(tenantId);
+    }
+
     public boolean deployApplication(String applicationId, String 
applicationPolicyId) throws RemoteException,
             AutoscalerServiceInvalidPolicyExceptionException, 
AutoscalerServiceApplicationDefinitionExceptionException {
         return stub.deployApplication(applicationId, applicationPolicyId);
@@ -204,6 +208,11 @@ public class AutoscalerServiceClient {
         return stub.getServiceGroups();
     }
 
+    public ServiceGroup[] getServiceGroupsByTenant(int tenantId) throws 
RemoteException,
+            AutoscalerServiceAutoScalerExceptionException {
+        return stub.getServiceGroupsByTenant(tenantId);
+    }
+
     public void addServiceGroup(ServiceGroup serviceGroup) throws 
AutoscalerServiceInvalidServiceGroupExceptionException,
             RemoteException {
         stub.addServiceGroup(serviceGroup);

http://git-wip-us.apache.org/repos/asf/stratos/blob/e191b6d0/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 9bbf61c..23783b5 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
@@ -1294,8 +1294,9 @@ public class StratosApiV41Utils {
         }
 
         try {
+            PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
             AutoscalerServiceClient asServiceClient = 
AutoscalerServiceClient.getInstance();
-            ServiceGroup[] serviceGroups = asServiceClient.getServiceGroups();
+            ServiceGroup[] serviceGroups = 
asServiceClient.getServiceGroupsByTenant(carbonContext.getTenantId());
             if (serviceGroups == null || serviceGroups.length == 0 || 
(serviceGroups.length == 1 && serviceGroups[0]
                     == null)) {
                 return null;
@@ -1929,8 +1930,10 @@ public class StratosApiV41Utils {
      */
     public static List<ApplicationBean> getApplications() throws 
RestAPIException {
         try {
+            PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
             List<ApplicationBean> applicationDefinitions = new 
ArrayList<ApplicationBean>();
-            ApplicationContext[] applicationContexts = 
AutoscalerServiceClient.getInstance().getApplications();
+            ApplicationContext[] applicationContexts = 
AutoscalerServiceClient.getInstance().getApplicationsByTenant
+                    (carbonContext.getTenantId());
             if (applicationContexts != null) {
                 for (ApplicationContext applicationContext : 
applicationContexts) {
                     if (applicationContext != null) {

Reply via email to