Updated Branches: refs/heads/master 62d9e97f2 -> a46827c92
returning a message from Rest API in case of void and boolean returns Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/62a6af12 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/62a6af12 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/62a6af12 Branch: refs/heads/master Commit: 62a6af12f44d25a24310a95f5413ca07a887af97 Parents: 55c4306 Author: Isuru <[email protected]> Authored: Thu Feb 13 19:47:40 2014 +0530 Committer: Isuru <[email protected]> Committed: Thu Feb 13 19:47:40 2014 +0530 ---------------------------------------------------------------------- .../rest/endpoint/services/ServiceUtils.java | 65 ++++++++---- .../rest/endpoint/services/StratosAdmin.java | 103 +++++++++++++------ 2 files changed, 117 insertions(+), 51 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/62a6af12/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java index 7a3cd33..db465b0 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java @@ -45,6 +45,7 @@ import org.apache.stratos.messaging.domain.topology.Member; import org.apache.stratos.messaging.domain.topology.MemberStatus; import org.apache.stratos.messaging.util.Constants; import org.apache.stratos.rest.endpoint.bean.CartridgeInfoBean; +import org.apache.stratos.rest.endpoint.bean.StratosAdminResponse; import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition; import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.PartitionGroup; import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy; @@ -62,7 +63,7 @@ public class ServiceUtils { private static CartridgeSubscriptionManager cartridgeSubsciptionManager = new CartridgeSubscriptionManager(); private static ServiceDeploymentManager serviceDeploymentManager = new ServiceDeploymentManager(); - static void deployCartridge (CartridgeDefinitionBean cartridgeDefinitionBean, ConfigurationContext ctxt, + static StratosAdminResponse deployCartridge (CartridgeDefinitionBean cartridgeDefinitionBean, ConfigurationContext ctxt, String userName, String tenantDomain) throws RestAPIException { log.info("Starting to deploy a Cartridge [type] "+cartridgeDefinitionBean.type); @@ -88,6 +89,10 @@ public class ServiceUtils { throw new RestAPIException(e); } } + + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully deployed cartridge definition with type " + cartridgeDefinitionBean.type); + return stratosAdminResponse; } @SuppressWarnings("unused") @@ -110,7 +115,7 @@ public class ServiceUtils { return commonPolicies.toArray(new DeploymentPolicy[0]); } - static void undeployCartridge (String cartridgeType) throws RestAPIException { + static StratosAdminResponse undeployCartridge(String cartridgeType) throws RestAPIException { CloudControllerServiceClient cloudControllerServiceClient = getCloudControllerServiceClient(); if (cloudControllerServiceClient != null) { @@ -121,10 +126,14 @@ public class ServiceUtils { throw new RestAPIException(e); } } + + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully undeployed cartridge definition with type " + cartridgeType); + return stratosAdminResponse; } - public static boolean deployPartition (Partition partitionBean) throws RestAPIException { + public static StratosAdminResponse deployPartition(Partition partitionBean) throws RestAPIException { //log.info("***** " + cartridgeDefinitionBean.toString() + " *****"); @@ -135,17 +144,19 @@ public class ServiceUtils { PojoConverter.convertToCCPartitionPojo(partitionBean); try { - return autoscalerServiceClient.deployPartition(partition); + autoscalerServiceClient.deployPartition(partition); } catch (Exception e) { throw new RestAPIException(e.getMessage(), e); } } - return false; + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully deployed partition definition with id " + partitionBean.id); + return stratosAdminResponse; } - public static boolean deployAutoscalingPolicy (AutoscalePolicy autoscalePolicyBean) throws RestAPIException { + public static StratosAdminResponse deployAutoscalingPolicy(AutoscalePolicy autoscalePolicyBean) throws RestAPIException { //log.info("***** " + cartridgeDefinitionBean.toString() + " *****"); @@ -156,18 +167,20 @@ public class ServiceUtils { convertToCCAutoscalerPojo(autoscalePolicyBean); try { - return autoscalerServiceClient.deployAutoscalingPolicy(autoscalePolicy); + autoscalerServiceClient.deployAutoscalingPolicy(autoscalePolicy); } catch (Exception e) { throw new RestAPIException(e); } } - return false; + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully deployed autoscaling policy definition with id " + autoscalePolicyBean.getId()); + return stratosAdminResponse; } - public static boolean deployDeploymentPolicy ( - org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy deploymentPolicyBean) + public static StratosAdminResponse deployDeploymentPolicy( + org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy deploymentPolicyBean) throws RestAPIException { //log.info("***** " + cartridgeDefinitionBean.toString() + " *****"); @@ -179,14 +192,16 @@ public class ServiceUtils { PojoConverter.convetToCCDeploymentPolicyPojo(deploymentPolicyBean); try { - return autoscalerServiceClient.deployDeploymentPolicy(deploymentPolicy); + autoscalerServiceClient.deployDeploymentPolicy(deploymentPolicy); } catch (Exception e) { throw new RestAPIException(e); } } - return false; + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully deployed deployment policy definition with type " + deploymentPolicyBean.id); + return stratosAdminResponse; } private static CloudControllerServiceClient getCloudControllerServiceClient () { @@ -568,7 +583,7 @@ public class ServiceUtils { return PojoConverter.convertToServiceDefinitionBean(service); } - return null; + return new ServiceDefinitionBean(); } static List<Cartridge> getSubscriptions (String cartridgeSearchString, ConfigurationContext configurationContext) throws ADCException { @@ -1190,7 +1205,7 @@ public class ServiceUtils { return cartridgeSubscription.getClusterDomain(); } - static void unsubscribe(String alias, String tenantDomain) throws RestAPIException { + static StratosAdminResponse unsubscribe(String alias, String tenantDomain) throws RestAPIException { try { cartridgeSubsciptionManager.unsubscribeFromCartridge(tenantDomain, alias); @@ -1201,6 +1216,10 @@ public class ServiceUtils { } catch (NotSubscribedException e) { throw new RestAPIException(e); } + + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully terminated the subscription with alias " + alias); + return stratosAdminResponse; } /** @@ -1208,12 +1227,12 @@ public class ServiceUtils { * Super tenant will deploy multitenant service. * * get domain , subdomain as well.. - * @param clusterDomain - * @param clusterSubdomain + * @param clusterDomain + * @param clusterSubdomain * */ - static void deployService (String cartridgeType, String alias, String autoscalingPolicy, String deploymentPolicy, - String tenantDomain, String tenantUsername, int tenantId, String clusterDomain, String clusterSubdomain, String tenantRange) throws RestAPIException { + static StratosAdminResponse deployService(String cartridgeType, String alias, String autoscalingPolicy, String deploymentPolicy, + String tenantDomain, String tenantUsername, int tenantId, String clusterDomain, String clusterSubdomain, String tenantRange) throws RestAPIException { log.info("Deploying service.."); try { serviceDeploymentManager.deployService(cartridgeType, autoscalingPolicy, deploymentPolicy, tenantId, tenantRange, tenantDomain, tenantUsername); @@ -1221,9 +1240,13 @@ public class ServiceUtils { } catch (Exception e) { throw new RestAPIException(e); } + + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully deployed service cluster definition with type " + cartridgeType); + return stratosAdminResponse; } - static void undeployService (String serviceType) throws RestAPIException { + static StratosAdminResponse undeployService(String serviceType) throws RestAPIException { try { serviceDeploymentManager.undeployService(serviceType); @@ -1232,6 +1255,8 @@ public class ServiceUtils { throw new RestAPIException(e); } - + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully undeployed service cluster definition for service type " + serviceType); + return stratosAdminResponse; } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/62a6af12/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java index d36f271..a4b7a42 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java @@ -32,6 +32,7 @@ import org.apache.stratos.rest.endpoint.Utils; import org.apache.stratos.rest.endpoint.annotation.AuthorizationAction; import org.apache.stratos.rest.endpoint.annotation.SuperTenantService; import org.apache.stratos.rest.endpoint.bean.CartridgeInfoBean; +import org.apache.stratos.rest.endpoint.bean.StratosAdminResponse; import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition; import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.PartitionGroup; import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy; @@ -71,9 +72,12 @@ public class StratosAdmin extends AbstractAdmin { @POST @Path("/init") @AuthorizationAction("/permission/protected/manage/monitor/tenants") - public void initialize () + public StratosAdminResponse initialize () throws RestAPIException { - + + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully logged in"); + return stratosAdminResponse; } /* This method gets called by the client who are interested in using session mechanism to authenticate themselves in @@ -104,11 +108,12 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public void deployCartridgeDefinition (CartridgeDefinitionBean cartridgeDefinitionBean) + public StratosAdminResponse deployCartridgeDefinition(CartridgeDefinitionBean cartridgeDefinitionBean) throws RestAPIException { - ServiceUtils.deployCartridge(cartridgeDefinitionBean, getConfigContext(), getUsername(), + return ServiceUtils.deployCartridge(cartridgeDefinitionBean, getConfigContext(), getUsername(), getTenantDomain()); + } @DELETE @@ -117,9 +122,9 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public void unDeployCartridgeDefinition (@PathParam("cartridgeType") String cartridgeType) throws RestAPIException { + public StratosAdminResponse unDeployCartridgeDefinition (@PathParam("cartridgeType") String cartridgeType) throws RestAPIException { - ServiceUtils.undeployCartridge(cartridgeType); + return ServiceUtils.undeployCartridge(cartridgeType); } @POST @@ -128,7 +133,7 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public boolean deployPartition (Partition partition) + public StratosAdminResponse deployPartition (Partition partition) throws RestAPIException { return ServiceUtils.deployPartition(partition); @@ -140,7 +145,7 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public boolean deployAutoscalingPolicyDefintion (AutoscalePolicy autoscalePolicy) + public StratosAdminResponse deployAutoscalingPolicyDefintion (AutoscalePolicy autoscalePolicy) throws RestAPIException { return ServiceUtils.deployAutoscalingPolicy(autoscalePolicy); @@ -152,7 +157,7 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public boolean deployDeploymentPolicyDefinition (DeploymentPolicy deploymentPolicy) + public StratosAdminResponse deployDeploymentPolicyDefinition (DeploymentPolicy deploymentPolicy) throws RestAPIException { return ServiceUtils.deployDeploymentPolicy(deploymentPolicy); @@ -413,12 +418,10 @@ public class StratosAdmin extends AbstractAdmin { @Path("/cartridge/unsubscribe") @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") - public void unsubscribe(String alias) throws RestAPIException { - try { - ServiceUtils.unsubscribe(alias, getTenantDomain()); - } catch (Exception exception) { - log.error(exception); - } + public StratosAdminResponse unsubscribe(String alias) throws RestAPIException { + + return ServiceUtils.unsubscribe(alias, getTenantDomain()); + } @POST @@ -427,7 +430,7 @@ public class StratosAdmin extends AbstractAdmin { @Produces("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public String addTenant(TenantInfoBean tenantInfoBean) throws Exception { + public StratosAdminResponse addTenant(TenantInfoBean tenantInfoBean) throws Exception { try { CommonUtil.validateEmail(tenantInfoBean.getEmail()); } catch (Exception e) { @@ -469,7 +472,11 @@ public class StratosAdmin extends AbstractAdmin { // For the super tenant tenant creation, tenants are always activated as they are created. TenantMgtUtil.activateTenantInitially(tenantInfoBean, tenantId); - return TenantMgtUtil.prepareStringToShowThemeMgtPage(tenant.getId()); + TenantMgtUtil.prepareStringToShowThemeMgtPage(tenant.getId()); + + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully added new tenant with domain " + tenantInfoBean.getTenantDomain()); + return stratosAdminResponse; } @@ -478,7 +485,7 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public void updateTenant(TenantInfoBean tenantInfoBean) throws Exception { + public StratosAdminResponse updateTenant(TenantInfoBean tenantInfoBean) throws Exception { TenantManager tenantManager = ServiceHolder.getTenantManager(); UserStoreManager userStoreManager; @@ -597,6 +604,9 @@ public class StratosAdmin extends AbstractAdmin { throw new Exception(msg, e); } + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully updated the tenant " + tenantDomain); + return stratosAdminResponse; } @GET @@ -653,7 +663,7 @@ public class StratosAdmin extends AbstractAdmin { @Produces("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public void deleteTenant(@PathParam("tenantDomain") String tenantDomain) throws Exception { + public StratosAdminResponse deleteTenant(@PathParam("tenantDomain") String tenantDomain) throws Exception { TenantManager tenantManager = ServiceHolder.getTenantManager(); int tenantId = tenantManager.getTenantId(tenantDomain); try { @@ -669,6 +679,10 @@ public class StratosAdmin extends AbstractAdmin { log.error(msg, e); throw new Exception(msg, e); } + + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + stratosAdminResponse.setMessage("Successfully deleted tenant " + tenantDomain); + return stratosAdminResponse; } @@ -699,19 +713,30 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public void activateTenant(@PathParam("tenantDomain") String tenantDomain) throws Exception { + public StratosAdminResponse activateTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException { TenantManager tenantManager = ServiceHolder.getTenantManager(); int tenantId; try { tenantId = tenantManager.getTenantId(tenantDomain); + } catch (UserStoreException e) { String msg = "Error in retrieving the tenant id for the tenant domain: " + tenantDomain + "."; log.error(msg, e); - throw new Exception(msg, e); + throw new RestAPIException(msg, e); + } catch (org.wso2.carbon.user.api.UserStoreException e) { + + throw new RestAPIException( e); } - TenantMgtUtil.activateTenant(tenantDomain, tenantManager, tenantId); + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + + try { + TenantMgtUtil.activateTenant(tenantDomain, tenantManager, tenantId); + + } catch (Exception e) { + throw new RestAPIException( e); + } //Notify tenant activation all listeners try { @@ -719,9 +744,11 @@ public class StratosAdmin extends AbstractAdmin { } catch (StratosException e) { String msg = "Error in notifying tenant activate."; log.error(msg, e); - throw new Exception(msg, e); + throw new RestAPIException(msg, e); } + stratosAdminResponse.setMessage("Successfully activated tenant " + tenantDomain); + return stratosAdminResponse; } @POST @@ -739,20 +766,31 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public void deactivateTenant(@PathParam("tenantDomain") String tenantDomain) throws Exception { + public StratosAdminResponse deactivateTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException { + TenantManager tenantManager = ServiceHolder.getTenantManager(); int tenantId; try { tenantId = tenantManager.getTenantId(tenantDomain); + } catch (UserStoreException e) { String msg = "Error in retrieving the tenant id for the tenant domain: " + tenantDomain + "."; log.error(msg, e); - throw new Exception(msg, e); + throw new RestAPIException(msg, e); + + } catch (org.wso2.carbon.user.api.UserStoreException e) { + throw new RestAPIException( e); } - TenantMgtUtil.deactivateTenant(tenantDomain, tenantManager, tenantId); + StratosAdminResponse stratosAdminResponse = new StratosAdminResponse(); + + try { + TenantMgtUtil.deactivateTenant(tenantDomain, tenantManager, tenantId); + } catch (Exception e) { + throw new RestAPIException( e); + } //Notify tenant deactivation all listeners try { @@ -760,8 +798,11 @@ public class StratosAdmin extends AbstractAdmin { } catch (StratosException e) { String msg = "Error in notifying tenant deactivate."; log.error(msg, e); - throw new Exception(msg, e); + throw new RestAPIException(msg, e); } + + stratosAdminResponse.setMessage("Successfully deactivated tenant " + tenantDomain); + return stratosAdminResponse; } @@ -771,13 +812,13 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public void deployService (ServiceDefinitionBean serviceDefinitionBean) + public StratosAdminResponse deployService (ServiceDefinitionBean serviceDefinitionBean) throws RestAPIException { log.info("Service definition request.. : " + serviceDefinitionBean.getServiceName()); // super tenant Deploying service (MT) // here an alias is generated - ServiceUtils.deployService(serviceDefinitionBean.getCartridgeType(), UUID.randomUUID().toString(), serviceDefinitionBean.getAutoscalingPolicyName(), + return ServiceUtils.deployService(serviceDefinitionBean.getCartridgeType(), UUID.randomUUID().toString(), serviceDefinitionBean.getAutoscalingPolicyName(), serviceDefinitionBean.getDeploymentPolicyName(), getTenantDomain(), getUsername(), getTenantId(), serviceDefinitionBean.getClusterDomain(), serviceDefinitionBean.getClusterSubDomain(), serviceDefinitionBean.getTenantRange()); @@ -810,10 +851,10 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") @SuperTenantService(true) - public void unDeployService (@PathParam("serviceType") String serviceType) + public StratosAdminResponse unDeployService (@PathParam("serviceType") String serviceType) throws RestAPIException { - ServiceUtils.undeployService(serviceType); + return ServiceUtils.undeployService(serviceType); }
