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) {
