You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2015/05/05 07:05:30 UTC

stratos git commit: Adding error messages to return from Rest API and improving cartridge type filter

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 <la...@apache.org>
Authored: Tue May 5 10:34:57 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
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] " +