Repository: stratos Updated Branches: refs/heads/tenant-isolation 1958abd87 -> 62078e418
Update application signup with uuid Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/62078e41 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/62078e41 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/62078e41 Branch: refs/heads/tenant-isolation Commit: 62078e4189d85a15596df7d0e0468bd9472a4d73 Parents: 1958abd Author: Gayan Gunarathne <[email protected]> Authored: Wed Jul 29 14:54:44 2015 +0530 Committer: Gayan Gunarathne <[email protected]> Committed: Wed Jul 29 14:54:44 2015 +0530 ---------------------------------------------------------------------- .../applications/dependency/DependencyBuilder.java | 1 - .../parser/DefaultApplicationParser.java | 2 +- .../messaging/domain/application/Application.java | 3 ++- .../stratos/rest/endpoint/api/StratosApiV41.java | 10 ++++++---- .../rest/endpoint/api/StratosApiV41Utils.java | 17 +++++++++-------- 5 files changed, 18 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/62078e41/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java index 7d3b59e..7f55a45 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java @@ -74,7 +74,6 @@ public class DependencyBuilder { log.info(String.format("Termination behaviour set: [component] %s [termination-behaviour] %s", identifier, dependencyTree.getTerminationBehavior())); - Set<StartupOrder> startupOrders = dependencyOrder.getStartupOrders(); ApplicationChildContext parentContext; http://git-wip-us.apache.org/repos/asf/stratos/blob/62078e41/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 18979b9..ea0170f 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 @@ -248,7 +248,7 @@ public class DefaultApplicationParser implements ApplicationParser { Map<String, SubscribableInfoContext> subscribableInfoCtxts) throws ApplicationDefinitionException, CartridgeGroupNotFoundException, CartridgeNotFoundException { - Application application = new Application(applicationContext.getApplicationUuid()); + Application application = new Application(applicationContext.getApplicationUuid(),applicationContext.getTenantId()); // Set tenant information application.setTenantId(applicationContext.getTenantId()); http://git-wip-us.apache.org/repos/asf/stratos/blob/62078e41/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java index fbbe0a5..77c80aa 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java @@ -53,9 +53,10 @@ public class Application extends ParentComponent<ApplicationInstance> { // application policy uuid private String applicationPolicyId; - public Application(String uuid) { + public Application(String uuid,int tenantId) { super(); this.uuid = uuid; + this.tenantId=tenantId; this.key = RandomStringUtils.randomAlphanumeric(16); this.setInstanceIdToInstanceContextMap(new HashMap<String, ApplicationInstance>()); //this.applicationStateManager = http://git-wip-us.apache.org/repos/asf/stratos/blob/62078e41/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 2de856a..14d5d03 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 @@ -889,7 +889,8 @@ public class StratosApiV41 extends AbstractApi { @AuthorizationAction("/permission/admin/stratos/applications/view") public Response getApplication( @PathParam("applicationId") String applicationId) throws RestAPIException { - ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId,carbonContext.getTenantId()); if (applicationDefinition == null) { return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean( ResponseMessageBean.ERROR, "Application not found")).build(); @@ -1295,8 +1296,8 @@ public class StratosApiV41 extends AbstractApi { public Response undeployApplication( @PathParam("applicationId") String applicationId, @QueryParam("force") @DefaultValue("false") boolean force) throws RestAPIException { - - ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId,carbonContext.getTenantId()); if (applicationDefinition == null) { String message = String.format("Application does not exist [application-id] %s", applicationId); log.error(message); @@ -1356,7 +1357,8 @@ public class StratosApiV41 extends AbstractApi { @AuthorizationAction("/permission/admin/stratos/applications/manage") public Response removeApplication( @PathParam("applicationId") String applicationId) throws RestAPIException { - ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId,carbonContext.getTenantId()); if (applicationDefinition == null) { return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean( ResponseMessageBean.ERROR, "Application not found")).build(); http://git-wip-us.apache.org/repos/asf/stratos/blob/62078e41/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 13aee9e..95a6dd2 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 @@ -1805,7 +1805,7 @@ public class StratosApiV41Utils { throw new RestAPIException(message); } - ApplicationBean applicationBean = getApplication(applicationId); + ApplicationBean applicationBean = getApplication(applicationId,tenantId); //int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); if (applicationBean.isMultiTenant() && (tenantId != -1234)) { String message = String.format( @@ -1903,11 +1903,10 @@ public class StratosApiV41Utils { * @return ApplicationBean * @throws RestAPIException */ - public static ApplicationBean getApplication(String applicationId) throws RestAPIException { + public static ApplicationBean getApplication(String applicationId,int tenantId) throws RestAPIException { try { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); return ObjectConverter.convertStubApplicationContextToApplicationDefinition( - AutoscalerServiceClient.getInstance().getApplicationByTenant(applicationId, carbonContext.getTenantId())); + AutoscalerServiceClient.getInstance().getApplicationByTenant(applicationId,tenantId)); } catch (RemoteException e) { String message = "Could not read application: [application-id] " + applicationId; log.error(message, e); @@ -2466,8 +2465,10 @@ public class StratosApiV41Utils { throw new RestAPIException("Application id is null"); } - ApplicationBean applicationBean = getApplication(applicationId); - Application application = ApplicationManager.getApplications().getApplication(applicationId); + //multi tenant application can be added by only the super tenant.Hence passing the super tenant id to retrieve + // the application + ApplicationBean applicationBean = getApplication(applicationId,-1234); + Application application = ApplicationManager.getApplications().getApplicationByTenant(applicationId, -1234); if ((applicationBean == null) || (application == null)) { throw new RestAPIException("Application not found: [application-id] " + applicationId); @@ -2581,7 +2582,7 @@ public class StratosApiV41Utils { throw new ApplicationSignUpRestAPIException("Application id is null"); } - ApplicationBean application = getApplication(applicationId); + ApplicationBean application = getApplication(applicationId,-1234); if (application == null) { throw new ApplicationSignUpRestAPIException("Application does not exist: [application-id] " + applicationId); } @@ -2618,7 +2619,7 @@ public class StratosApiV41Utils { throw new RestAPIException("Application id is null"); } - ApplicationBean application = getApplication(applicationId); + ApplicationBean application = getApplication(applicationId,-1234); if (application == null) { throw new RestAPIException("Application does not exist: [application-id] " + applicationId); }
