From e414299516c95094fe6e9e25a35ea2d54f39b28e Mon Sep 17 00:00:00 2001 From: Dinithi Date: Tue, 19 May 2015 13:35:33 +0530 Subject: [PATCH 1/6] Modified service group into cartridge group --- .../org/apache/stratos/autoscaler/util/AutoscalerUtil.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java index ce71418e15..71661a7c25 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java @@ -870,7 +870,8 @@ public static void validateStartupOrders(String groupName, String[] startupOrder for (String splittedStartupOrder : splittedStartupOrders) { if (!splittedStartupOrder.trim().startsWith("cartridge.") && !splittedStartupOrder.trim().startsWith("group.")) { // invalid startup order; should prefixed by either 'cartridge.' or 'group.' - throw new InvalidServiceGroupException("Invalid Service Group: startup order [" + startupOrder + "] for group " + groupName + + throw new InvalidServiceGroupException("Invalid cartridge group: startup order [" + startupOrder + + "] for group " + groupName + ", should prefixed by either 'cartridge.' or 'group.'"); } } @@ -892,7 +893,8 @@ public static void validateScalingDependencies(String groupName, String[] scalin for (String splittedDependent : splittedDependents) { if (!splittedDependent.trim().startsWith("cartridge.") && !splittedDependent.trim().startsWith("group.")) { // invalid startup order; should prefixed by either 'cartridge.' or 'group.' - throw new InvalidServiceGroupException("Invalid Service Group: Scaling Dependency [" + scalingDependent + "] for group " + groupName + + throw new InvalidServiceGroupException("Invalid cartridge group: Scaling Dependency [" + + scalingDependent + "] for group " + groupName + ", should prefixed by either 'cartridge.' or 'group.'"); } } From a9c641a0ee35f1b3317511b7940068890aa3ef94 Mon Sep 17 00:00:00 2001 From: Dinithi Date: Tue, 19 May 2015 15:32:46 +0530 Subject: [PATCH 2/6] adding a proper response message when trying to deploy a non existing application --- .../apache/stratos/rest/endpoint/api/StratosApiV41.java | 7 ++++++- .../stratos/rest/endpoint/api/StratosApiV41Utils.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) 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 670e38bce0..450653d98b 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 @@ -800,7 +800,12 @@ public Response deployApplication( return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean( ResponseMessageBean.ERROR, "Application policy already deployed")).build(); } catch (RestAPIException e) { - throw e; + if (e.getMessage().contains("Application not found")) { + return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean( + ResponseMessageBean.ERROR, e.getMessage())).build(); + } else { + throw e; + } } } 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 4e90a0b594..794907b310 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 @@ -1622,7 +1622,7 @@ public static void deployApplication(String applicationId, String applicationPol ApplicationContext application = autoscalerServiceClient.getApplication(applicationId); if (application == null) { - String message = String.format("Application is not found: [application-id] %s", applicationId); + String message = String.format("Application not found: [application-id] %s", applicationId); log.error(message); throw new RestAPIException(message); } From de1f661911a11508e03e06a5ecc617fdba65896b Mon Sep 17 00:00:00 2001 From: Dinithi Date: Tue, 19 May 2015 18:07:14 +0530 Subject: [PATCH 3/6] Fixed issues found when adding a user with a non existing user role --- .../apache/stratos/cli/RestCommandLineService.java | 11 +++++------ .../user/management/StratosUserManagerUtils.java | 2 +- .../stratos/rest/endpoint/api/StratosApiV41Utils.java | 3 +-- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java index f878e5fbb2..30b332eb90 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java @@ -63,6 +63,8 @@ import java.util.HashMap; import java.util.List; +import static org.apache.stratos.cli.utils.CliUtils.getHttpResponseString; + public class RestCommandLineService { private static final Logger log = LoggerFactory.getLogger(RestCommandLineService.class); @@ -685,12 +687,9 @@ public void addUser(String userName, String credential, String role, String firs HttpResponse response = restClient.doPost(httpClient, restClient.getBaseURL() + ENDPOINT_ADD_USER, jsonString); - int responseCode = response.getStatusLine().getStatusCode(); - if (responseCode < 200 || responseCode >= 300) { - CliUtils.printError(response); - } else { - System.out.println("User added successfully: " + userName); - } + String result = getHttpResponseString(response); + System.out.println(gson.fromJson(result, ResponseMessageBean.class).getMessage()); + } catch (Exception e) { String message = "Could not add user: " + userName; printError(message, e); diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/user/management/StratosUserManagerUtils.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/user/management/StratosUserManagerUtils.java index 5ca089d7e7..0f9deeb762 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/user/management/StratosUserManagerUtils.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/user/management/StratosUserManagerUtils.java @@ -71,7 +71,7 @@ public static void addUser(UserStoreManager userStoreManager, UserInfoBean userI } catch (UserStoreException e) { String msg = "Error in adding user " + userInfoBean.getUserName() + " to User Store"; log.error(msg, e); - throw new UserManagerException(msg, e); + throw new UserManagerException(e.getMessage()); } } 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 35d2668279..70f18efaee 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 @@ -3243,9 +3243,8 @@ public static void addUser(UserInfoBean userInfoBean) throws RestAPIException { } catch (UserManagerException e) { String msg = "Error in adding User"; log.error(msg, e); - throw new RestAPIException(msg, e); + throw new RestAPIException(e.getMessage()); } - } From 9f6a5afacc6516b2cace0532b00f7aa16dad3432 Mon Sep 17 00:00:00 2001 From: Dinithi Date: Tue, 19 May 2015 20:49:08 +0530 Subject: [PATCH 4/6] Display correct response message when removing a non existing user --- .../apache/stratos/cli/RestCommandLineService.java | 13 ++----------- .../stratos/rest/endpoint/api/StratosApiV41.java | 13 +++++++++---- .../rest/endpoint/api/StratosApiV41Utils.java | 2 +- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java index efc06d3815..01bc45dd6f 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java @@ -793,19 +793,10 @@ public void deleteUser(String userName) throws CommandException { HttpResponse response = restClient.doDelete(httpClient, restClient.getBaseURL() + ENDPOINT_ADD_USER + "/" + userName); - String responseCode = "" + response.getStatusLine().getStatusCode(); - + String resultString = CliUtils.getHttpResponseString(response); GsonBuilder gsonBuilder = new GsonBuilder(); Gson gson = gsonBuilder.create(); - - if (responseCode.equals(CliConstants.RESPONSE_NO_CONTENT) || responseCode.equals(CliConstants.RESPONSE_OK)) { - System.out.println("You have successfully deleted user:" + userName); - } else { - String resultString = CliUtils.getHttpResponseString(response); - ExceptionMapper exception = gson.fromJson(resultString, ExceptionMapper.class); - System.out.println(exception); - } - + System.out.println(gson.fromJson(resultString, ResponseMessageBean.class).getMessage()); } catch (Exception e) { String message = "Could not delete user: " + userName; printError(message, e); 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 6188995f02..ed46f179c8 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 @@ -1736,11 +1736,16 @@ public Response addUser( @AuthorizationAction("/permission/admin/manage/removeUser") public Response removeUser( @PathParam("userName") String userName) throws RestAPIException { + try { + StratosApiV41Utils.removeUser(userName); + log.info("Successfully removed user: [username] " + userName); + return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, + String.format("User deleted successfully: [user] %s", userName))).build(); + } catch (RestAPIException e) { + return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean( + ResponseMessageBean.ERROR, e.getMessage())).build(); + } - StratosApiV41Utils.removeUser(userName); - log.info("Successfully removed user: [username] " + userName); - return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, - String.format("User deleted successfully: [user] %s", userName))).build(); } /** 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 8304f98ba5..d89ea357e6 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 @@ -3295,7 +3295,7 @@ public static void removeUser(String userName) throws RestAPIException { } catch (UserManagerException e) { String msg = "Error in removing user :" + userName; log.error(msg, e); - throw new RestAPIException(msg, e); + throw new RestAPIException(e.getMessage()); } } From 3e12693a76e1671a04ba85057e2a6b199f552b0d Mon Sep 17 00:00:00 2001 From: Dinithi Date: Wed, 20 May 2015 10:11:49 +0530 Subject: [PATCH 5/6] Fixed issues found when undeploying a non existing application --- .../apache/stratos/cli/RestCommandLineService.java | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java index 01bc45dd6f..edca0896ba 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java @@ -1559,20 +1559,11 @@ public void undeployApplication(String applicationId) throws CommandException { try { HttpResponse response = restClient.doPost(httpClient, restClient.getBaseURL() + ENDPOINT_UNDEPLOY_APPLICATION.replace("{id}", applicationId), ""); - - String responseCode = "" + response.getStatusLine().getStatusCode(); + String result = getHttpResponseString(response); GsonBuilder gsonBuilder = new GsonBuilder(); Gson gson = gsonBuilder.create(); - - if (Integer.parseInt(responseCode) < 300 && Integer.parseInt(responseCode) >= 200) { - System.out.println("You have successfully undeployed application: " + applicationId); - } else { - String resultString = CliUtils.getHttpResponseString(response); - ExceptionMapper exception = gson.fromJson(resultString, ExceptionMapper.class); - System.out.println(exception); - } - + System.out.println(gson.fromJson(result, ResponseMessageBean.class).getMessage()); } catch (Exception e) { String message = "Could not undeploy application: " + applicationId; printError(message, e); From ad2afd0943288ecf65481f1380ce3af142ab77f4 Mon Sep 17 00:00:00 2001 From: Dinithi Date: Wed, 20 May 2015 11:05:50 +0530 Subject: [PATCH 6/6] Fixed issues found when deploying a non existing application --- .../apache/stratos/cli/RestCommandLineService.java | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java index edca0896ba..d4305722ce 100644 --- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java +++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java @@ -1525,18 +1525,11 @@ public void deployApplication(String applicationId, String applicationPolicyId) HttpResponse response = restClient.doPost(httpClient, restClient.getBaseURL() + url, ""); - String responseCode = "" + response.getStatusLine().getStatusCode(); + String result = getHttpResponseString(response); GsonBuilder gsonBuilder = new GsonBuilder(); Gson gson = gsonBuilder.create(); - - if (Integer.parseInt(responseCode) < 300 && Integer.parseInt(responseCode) >= 200) { - System.out.println("You have successfully deployed application: " + applicationId); - } else { - String resultString = CliUtils.getHttpResponseString(response); - ExceptionMapper exception = gson.fromJson(resultString, ExceptionMapper.class); - System.out.println(exception); - } + System.out.println(gson.fromJson(result, ResponseMessageBean.class).getMessage()); } catch (Exception e) { String message = "Could not deploy application: " + applicationId;