Repository: stratos Updated Branches: refs/heads/master 4d9936209 -> 51216ebc3
Adding error messages to return from Rest API and improving cartridge type filter Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/51216ebc Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/51216ebc Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/51216ebc Branch: refs/heads/master Commit: 51216ebc3ab45988bdef5db1320d83b58d39f3a4 Parents: 4d99362 Author: Lahiru Sandaruwan <[email protected]> Authored: Tue May 5 10:34:57 2015 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Tue May 5 10:34:57 2015 +0530 ---------------------------------------------------------------------- .../rest/endpoint/api/StratosApiV41.java | 38 +++++++++++++------- .../rest/endpoint/api/StratosApiV41Utils.java | 8 ++--- 2 files changed, 29 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/51216ebc/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 81c07b7..2e5ebc2 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 @@ -237,13 +237,21 @@ public class StratosApiV41 extends AbstractApi { // TODO :: Deployment policy validation try { + StratosApiV41Utils.updateDeploymentPolicy(deploymentPolicyDefinitionBean); + } catch (AutoscalerServiceInvalidPolicyExceptionException e) { - return Response.status(Response.Status.BAD_REQUEST).build(); + + return Response.status(Response.Status.BAD_REQUEST).entity(new ErrorResponseBean( + Response.Status.BAD_REQUEST.getStatusCode(), "Deployment policy is invalid")).build(); } catch (AutoscalerServiceInvalidDeploymentPolicyExceptionException e) { - return Response.status(Response.Status.NOT_FOUND).build(); + + return Response.status(Response.Status.BAD_REQUEST).entity(new ErrorResponseBean( + Response.Status.BAD_REQUEST.getStatusCode(), "Deployment policy is invalid")).build(); } catch (AutoscalerServiceDeploymentPolicyNotExistsExceptionException e) { - return Response.status(Response.Status.NOT_FOUND).build(); + + return Response.status(Response.Status.NOT_FOUND).entity(new ErrorResponseBean( + Response.Status.NOT_FOUND.getStatusCode(), "Deployment policy not found")).build(); } URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicyID).build(); return Response.ok(url).entity(new SuccessResponseBean(Response.Status.OK.getStatusCode(), @@ -269,7 +277,8 @@ public class StratosApiV41 extends AbstractApi { try { StratosApiV41Utils.removeDeploymentPolicy(deploymentPolicyID); } catch (AutoscalerServiceDeploymentPolicyNotExistsExceptionException e) { - return Response.status(Response.Status.NOT_FOUND).build(); + return Response.status(Response.Status.NOT_FOUND).entity(new ErrorResponseBean( + Response.Status.NOT_FOUND.getStatusCode(), "Autoscaling policy not found")).build(); } URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicyID).build(); return Response.ok(url).entity(new SuccessResponseBean(Response.Status.OK.getStatusCode(), @@ -314,7 +323,8 @@ public class StratosApiV41 extends AbstractApi { throws RestAPIException { List<CartridgeBean> cartridges = StratosApiV41Utils.getAvailableCartridges(null, null, getConfigContext()); if (cartridges == null || cartridges.isEmpty()) { - return Response.status(Response.Status.NOT_FOUND).build(); + return Response.status(Response.Status.NOT_FOUND).entity(new ErrorResponseBean( + Response.Status.CONFLICT.getStatusCode(), "No cartridges found")).build(); } CartridgeBean[] cartridgeArray = cartridges.toArray(new CartridgeBean[cartridges.size()]); return Response.ok().entity(cartridgeArray).build(); @@ -339,7 +349,8 @@ public class StratosApiV41 extends AbstractApi { cartridge = StratosApiV41Utils.getCartridge(cartridgeType); return Response.ok().entity(cartridge).build(); } catch (RestAPIException e) { - return Response.status(Response.Status.NOT_FOUND).build(); + return Response.status(Response.Status.NOT_FOUND).entity(new ErrorResponseBean( + Response.Status.NOT_FOUND.getStatusCode(), "Cartridge not found")).build(); } } @@ -362,7 +373,8 @@ public class StratosApiV41 extends AbstractApi { List<CartridgeBean> cartridges = StratosApiV41Utils. getCartridgesByFilter(filter, criteria, getConfigContext()); if (cartridges == null || cartridges.isEmpty()) { - return Response.status(Response.Status.NOT_FOUND).build(); + return Response.status(Response.Status.NOT_FOUND).entity(new ErrorResponseBean( + Response.Status.NOT_FOUND.getStatusCode(), "No cartridges found")).build(); } CartridgeBean[] cartridgeArray = cartridges.toArray(new CartridgeBean[cartridges.size()]); @@ -386,12 +398,14 @@ public class StratosApiV41 extends AbstractApi { @PathParam("cartridgeType") String cartridgeType, @DefaultValue("") @PathParam("filter") String filter) throws RestAPIException { CartridgeBean cartridge; - try { - cartridge = StratosApiV41Utils.getCartridgeByFilter(filter, cartridgeType, getConfigContext()); - return Response.ok().entity(cartridge).build(); - } catch (RestAPIException e) { - return Response.status(Response.Status.NOT_FOUND).build(); + + cartridge = StratosApiV41Utils.getCartridgeByFilter(filter, cartridgeType, getConfigContext()); + if (cartridge == null) { + return Response.status(Response.Status.NOT_FOUND).entity(new ErrorResponseBean( + Response.Status.NOT_FOUND.getStatusCode(), "No cartridges found for this filter")).build(); } + return Response.ok().entity(cartridge).build(); + } /** http://git-wip-us.apache.org/repos/asf/stratos/blob/51216ebc/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 bc4342d..8ce0409 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 @@ -229,9 +229,7 @@ public class StratosApiV41Utils { return cartridge; } } - String msg = "Unavailable cartridge type: " + cartridgeType; - log.error(msg); - throw new RestAPIException(msg); + return null; } private static List<CartridgeBean> getAvailableLbCartridges( @@ -1260,12 +1258,12 @@ public class StratosApiV41Utils { * This method validates group aliases recursively * * @param groupsSet - the group collection in which the groups are added to - * @param groups - the group collection in which it traverses through + * @param groups - the group collection in which it traverses through * @throws RestAPIException */ private static void validateGroupsRecursively(ConcurrentHashMap<String, GroupReferenceBean> groupsSet, - Collection<GroupReferenceBean> groups) throws RestAPIException{ + Collection<GroupReferenceBean> groups) throws RestAPIException { for (GroupReferenceBean group : groups) { if (groupsSet.get(group.getAlias()) != null) { String message = "Cartridge group alias exists more than once: [group-alias] " +
