Bit more refactoring at rest endpoint
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/72c9d604 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/72c9d604 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/72c9d604 Branch: refs/heads/master Commit: 72c9d60433d9b196d67268e850e572fd81a9fd97 Parents: 023900c Author: Shiro <[email protected]> Authored: Thu Nov 27 15:00:38 2014 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Thu Nov 27 15:22:00 2014 +0530 ---------------------------------------------------------------------- .../rest/endpoint/api/StratosApiV41.java | 167 +++++++++---------- 1 file changed, 75 insertions(+), 92 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/72c9d604/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 122f5d6..a1e5d8e 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 @@ -220,37 +220,6 @@ public class StratosApiV41 extends AbstractApi { } @POST - @Path("/applications") - @Produces("application/json") - @Consumes("application/json") - @AuthorizationAction("/permission/protected/manage/monitor/tenants") - @SuperTenantService(true) - // Grouping - public Response deployApplicationDefinition(ApplicationDefinition applicationDefinitionBean) - throws RestAPIException { - StratosApiV41Utils.deployApplicationDefinition(applicationDefinitionBean, getConfigContext(), - getUsername(), getTenantDomain()); - URI url = uriInfo.getAbsolutePathBuilder().path(applicationDefinitionBean.getApplicationId()).build(); - return Response.created(url).build(); - } - - - @DELETE - @Path("/applications/{applicationId}") - @Produces("application/json") - @Consumes("application/json") - @AuthorizationAction("/permission/protected/manage/monitor/tenants") - @SuperTenantService(true) - // Grouping - public Response unDeployApplicationDefinition(@PathParam("applicationId") String applicationId) - throws RestAPIException { - StratosApiV41Utils.unDeployApplication(applicationId, getConfigContext(), getUsername(), - getTenantDomain()); - return Response.noContent().build(); - } - - - @POST @Path("/groups") @Produces("application/json") @Consumes("application/json") @@ -356,7 +325,7 @@ public class StratosApiV41 extends AbstractApi { return Response.created(url).build(); } - /*@PUT + @PUT @Path("/deploymentPolicies") @Produces("application/json") @Consumes("application/json") @@ -366,7 +335,7 @@ public class StratosApiV41 extends AbstractApi { StratosApiV41Utils.updateDeploymentPolicy(deploymentPolicy); return Response.ok().build(); - }*/ + } @GET @Path("/deploymentPolicies") @@ -440,7 +409,7 @@ public class StratosApiV41 extends AbstractApi { return Response.created(url).build(); } - /*@PUT + @PUT @Path("/autoscalePolicies") @Produces("application/json") @Consumes("application/json") @@ -450,7 +419,7 @@ public class StratosApiV41 extends AbstractApi { StratosApiV41Utils.updateAutoscalingPolicy(autoscalePolicy); return Response.ok().build(); - }*/ + } @GET @Path("/autoscalePolicies/{autoscalePolicyId}") @@ -497,6 +466,33 @@ public class StratosApiV41 extends AbstractApi { return Response.ok().entity(application).build(); } } + + @POST + @Path("/applications") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + @SuperTenantService(true) + public Response deployApplicationDefinition(ApplicationDefinition applicationDefinitionBean) + throws RestAPIException { + StratosApiV41Utils.deployApplicationDefinition(applicationDefinitionBean, getConfigContext(), + getUsername(), getTenantDomain()); + URI url = uriInfo.getAbsolutePathBuilder().path(applicationDefinitionBean.getApplicationId()).build(); + return Response.created(url).build(); + } + + @DELETE + @Path("/applications/{applicationId}") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + @SuperTenantService(true) + public Response unDeployApplicationDefinition(@PathParam("applicationId") String applicationId) + throws RestAPIException { + StratosApiV41Utils.unDeployApplication(applicationId, getConfigContext(), getUsername(), + getTenantDomain()); + return Response.noContent().build(); + } @GET @Path("/subscriptions/{applicationId}") @@ -633,19 +629,6 @@ public class StratosApiV41 extends AbstractApi { return rb.build(); } - // /clusters/{cartridgeType} seems to do the same - @Deprecated - @GET - @Path("/cluster/service/{cartridgeType}/") - @Produces("application/json") - @Consumes("application/json") - @AuthorizationAction("/permission/admin/manage/view/cluster") - public Response getServiceClusters(@PathParam("cartridgeType") String cartridgeType) throws RestAPIException { - ResponseBuilder rb = Response.ok(); - rb.entity(StratosApiV41Utils.getClustersForTenantAndCartridgeType(getConfigContext(), cartridgeType)); - return rb.build(); - } - @GET @Path("/clusters/{subscriptionAlias}") @Produces("application/json") @@ -1031,7 +1014,7 @@ public class StratosApiV41 extends AbstractApi { @Produces("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public TenantInfoBean[] retrieveTenants() throws RestAPIException { + public TenantInfoBean[] getTenants() throws RestAPIException { List<TenantInfoBean> tenantList = null; try { tenantList = getAllTenants(); @@ -1043,13 +1026,32 @@ public class StratosApiV41 extends AbstractApi { return tenantList.toArray(new TenantInfoBean[tenantList.size()]); } + private List<TenantInfoBean> getAllTenants() throws RestAPIException { + TenantManager tenantManager = ServiceHolder.getTenantManager(); + Tenant[] tenants; + try { + tenants = (Tenant[]) tenantManager.getAllTenants(); + } catch (Exception e) { + String msg = "Error in retrieving the tenant information"; + log.error(msg, e); + throw new RestAPIException(msg); + } + + List<TenantInfoBean> tenantList = new ArrayList<TenantInfoBean>(); + for (Tenant tenant : tenants) { + TenantInfoBean bean = TenantMgtUtil.getTenantInfoBeanfromTenant(tenant.getId(), tenant); + tenantList.add(bean); + } + return tenantList; + } + @GET @Path("/tenants/search/{tenantDomain}") @Consumes("application/json") @Produces("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public TenantInfoBean[] retrievePartialSearchTenants(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException { + public TenantInfoBean[] getPartialSearchTenants(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException { List<TenantInfoBean> tenantList = null; try { tenantList = searchPartialTenantsDomains(tenantDomain); @@ -1060,6 +1062,26 @@ public class StratosApiV41 extends AbstractApi { } return tenantList.toArray(new TenantInfoBean[tenantList.size()]); } + + private List<TenantInfoBean> searchPartialTenantsDomains(String domain) throws RestAPIException { + TenantManager tenantManager = ServiceHolder.getTenantManager(); + Tenant[] tenants; + try { + domain = domain.trim(); + tenants = (Tenant[]) tenantManager.getAllTenantsForTenantDomainStr(domain); + } catch (Exception e) { + String msg = "Error in retrieving the tenant information."; + log.error(msg, e); + throw new RestAPIException(msg); + } + + List<TenantInfoBean> tenantList = new ArrayList<TenantInfoBean>(); + for (Tenant tenant : tenants) { + TenantInfoBean bean = TenantMgtUtil.getTenantInfoBeanfromTenant(tenant.getId(), tenant); + tenantList.add(bean); + } + return tenantList; + } @POST @Path("/tenants/activate/{tenantDomain}") @@ -1153,13 +1175,13 @@ public class StratosApiV41 extends AbstractApi { return Response.noContent().build(); } - + @POST @Path("/repo/notify") @Produces("application/json") @Consumes("application/json") @AuthorizationAction("/permission/admin/manage/add/sync") - public Response getRepoNotification(Payload payload) throws RestAPIException { + public Response notifyRepository(Payload payload) throws RestAPIException { StratosApiV41Utils.getGitRepositoryNotification(payload); return Response.noContent().build(); @@ -1169,7 +1191,7 @@ public class StratosApiV41 extends AbstractApi { @Path("/repo/synchronize/{subscriptionAlias}") @Consumes("application/json") @AuthorizationAction("/permission/admin/manage/add/sync") - public Response synchronizeRepository(@PathParam("subscriptionAlias") String alias) throws RestAPIException { + public Response synchronizeRepositoryOfSubscription(@PathParam("subscriptionAlias") String alias) throws RestAPIException { if (log.isDebugEnabled()) { log.debug(String.format("Synchronizing Git repository for alias '%s'", alias)); } @@ -1182,45 +1204,6 @@ public class StratosApiV41 extends AbstractApi { return Response.noContent().build(); } - private List<TenantInfoBean> getAllTenants() throws RestAPIException { - TenantManager tenantManager = ServiceHolder.getTenantManager(); - Tenant[] tenants; - try { - tenants = (Tenant[]) tenantManager.getAllTenants(); - } catch (Exception e) { - String msg = "Error in retrieving the tenant information"; - log.error(msg, e); - throw new RestAPIException(msg); - } - - List<TenantInfoBean> tenantList = new ArrayList<TenantInfoBean>(); - for (Tenant tenant : tenants) { - TenantInfoBean bean = TenantMgtUtil.getTenantInfoBeanfromTenant(tenant.getId(), tenant); - tenantList.add(bean); - } - return tenantList; - } - - private List<TenantInfoBean> searchPartialTenantsDomains(String domain) throws RestAPIException { - TenantManager tenantManager = ServiceHolder.getTenantManager(); - Tenant[] tenants; - try { - domain = domain.trim(); - tenants = (Tenant[]) tenantManager.getAllTenantsForTenantDomainStr(domain); - } catch (Exception e) { - String msg = "Error in retrieving the tenant information."; - log.error(msg, e); - throw new RestAPIException(msg); - } - - List<TenantInfoBean> tenantList = new ArrayList<TenantInfoBean>(); - for (Tenant tenant : tenants) { - TenantInfoBean bean = TenantMgtUtil.getTenantInfoBeanfromTenant(tenant.getId(), tenant); - tenantList.add(bean); - } - return tenantList; - } - @POST @Path("/users") @Consumes("application/json")
