move network partition filtering by uuid to the back end
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/fb769afe Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/fb769afe Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/fb769afe Branch: refs/heads/tenant-isolation Commit: fb769afe4bb8cd27870c947dea56145056494924 Parents: e191b6d Author: Dinithi <[email protected]> Authored: Thu Jul 16 09:24:18 2015 +0530 Committer: Dinithi <[email protected]> Committed: Thu Jul 16 09:24:18 2015 +0530 ---------------------------------------------------------------------- .../services/CloudControllerService.java | 7 + .../impl/CloudControllerServiceImpl.java | 15 + .../client/CloudControllerServiceClient.java | 4 + .../rest/endpoint/api/StratosApiV41Utils.java | 23 +- .../main/resources/CloudControllerService.wsdl | 929 ++++++++++--------- 5 files changed, 520 insertions(+), 458 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/fb769afe/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java index 7d020af..c341093 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java @@ -406,6 +406,13 @@ public interface CloudControllerService { public NetworkPartition[] getNetworkPartitions(); /** + * Get network partitions by tenant + *@param tenantId tenant id + * @return + */ + public NetworkPartition[] getNetworkPartitionsByTenant(int tenantId); + + /** * Get network partition by network partition id * * @param networkPartitionId http://git-wip-us.apache.org/repos/asf/stratos/blob/fb769afe/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java index 28570c1..b3d98a5 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java @@ -1680,6 +1680,21 @@ public class CloudControllerServiceImpl implements CloudControllerService { } @Override + public NetworkPartition[] getNetworkPartitionsByTenant(int tenantId) { + NetworkPartition[] allNetworkPartitions = getNetworkPartitions(); + List<NetworkPartition> networkPartitions = new ArrayList<NetworkPartition>(); + + if (allNetworkPartitions != null) { + for (NetworkPartition networkPartition : allNetworkPartitions) { + if (networkPartition.getTenantId() == tenantId) { + networkPartitions.add(networkPartition); + } + } + } + return networkPartitions.toArray(new NetworkPartition[networkPartitions.size()]); + } + + @Override public NetworkPartition getNetworkPartition(String networkPartitionId) { try { return CloudControllerContext.getInstance().getNetworkPartition(networkPartitionId); http://git-wip-us.apache.org/repos/asf/stratos/blob/fb769afe/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java index 5c33859..df73dee 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java @@ -218,6 +218,10 @@ public class CloudControllerServiceClient { return stub.getNetworkPartitions(); } + public NetworkPartition[] getNetworkPartitionsByTenant(int tenantId) throws RemoteException { + return stub.getNetworkPartitionsByTenant(tenantId); + } + public NetworkPartition getNetworkPartition(String networkPartitionId) throws RemoteException { return stub.getNetworkPartition(networkPartitionId); } http://git-wip-us.apache.org/repos/asf/stratos/blob/fb769afe/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 23783b5..9777a50 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 @@ -2798,26 +2798,11 @@ public class StratosApiV41Utils { */ public static NetworkPartitionBean[] getNetworkPartitions() throws RestAPIException { try { + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); CloudControllerServiceClient serviceClient = CloudControllerServiceClient.getInstance(); org.apache.stratos.cloud.controller.stub.domain.NetworkPartition[] networkPartitions = - serviceClient.getNetworkPartitions(); - - NetworkPartition[] networkPartitionsForTenantArray = new NetworkPartition[0]; - - if (networkPartitions != null) { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - List<NetworkPartition> networkPartitionsForTenant = new ArrayList<NetworkPartition>(); - for (NetworkPartition networkPartition : networkPartitions) { - if (carbonContext.getTenantId() == networkPartition.getTenantId()) { - networkPartitionsForTenant.add(networkPartition); - } - } - if (networkPartitionsForTenant.size() != 0) { - networkPartitionsForTenantArray = networkPartitionsForTenant.toArray(new - NetworkPartition[networkPartitionsForTenant.size()]); - } - } - return ObjectConverter.convertCCStubNetworkPartitionsToNetworkPartitions(networkPartitionsForTenantArray); + serviceClient.getNetworkPartitionsByTenant(carbonContext.getTenantId()); + return ObjectConverter.convertCCStubNetworkPartitionsToNetworkPartitions(networkPartitions); } catch (RemoteException e) { String message = e.getMessage(); log.error(message); @@ -2835,7 +2820,7 @@ public class StratosApiV41Utils { try { AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance(); - ApplicationContext[] applicationContexts = autoscalerServiceClient.getApplications(); + ApplicationContext[] applicationContexts = autoscalerServiceClient.getApplicationsByTenant(tenantId); if (applicationContexts != null) { for (ApplicationContext applicationContext : applicationContexts) { if (applicationContext != null) {
