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

[1/2] stratos git commit: Refactoring API response message format and adding status attribute

Repository: stratos
Updated Branches:
  refs/heads/master 10b52cc4a -> 617e454a9


http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/BadRequestExceptionMapper.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/BadRequestExceptionMapper.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/BadRequestExceptionMapper.java
index f3997c5..0d4857b 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/BadRequestExceptionMapper.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/BadRequestExceptionMapper.java
@@ -19,7 +19,7 @@ package org.apache.stratos.rest.endpoint.handlers;/*
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.beans.StatusResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 
 import javax.ws.rs.BadRequestException;
 import javax.ws.rs.core.MediaType;
@@ -40,6 +40,6 @@ public class BadRequestExceptionMapper implements ExceptionMapper<BadRequestExce
         String errorMsg = badRequestException.getMessage() != null ? badRequestException.getMessage() : "please check" +
                 "your input format";
         return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).
-                entity(new StatusResponseBean(Response.Status.BAD_REQUEST.getStatusCode(), errorMsg)).build();
+                entity(new ResponseMessageBean(ResponseMessageBean.ERROR, errorMsg)).build();
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/ComponentSynchronizerHandler.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/ComponentSynchronizerHandler.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/ComponentSynchronizerHandler.java
index 807ff8a..ba4c8fd 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/ComponentSynchronizerHandler.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/ComponentSynchronizerHandler.java
@@ -23,7 +23,7 @@ import org.apache.cxf.jaxrs.ext.RequestHandler;
 import org.apache.cxf.jaxrs.model.ClassResourceInfo;
 import org.apache.cxf.message.Message;
 import org.apache.stratos.common.Component;
-import org.apache.stratos.common.beans.ApiResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.common.services.ComponentStartUpSynchronizer;
 import org.apache.stratos.manager.internal.ServiceReferenceHolder;
 
@@ -38,7 +38,7 @@ public class ComponentSynchronizerHandler implements RequestHandler {
         ComponentStartUpSynchronizer componentStartUpSynchronizer =
                 ServiceReferenceHolder.getInstance().getComponentStartUpSynchronizer();
         if (!componentStartUpSynchronizer.isComponentActive(Component.StratosManager)) {
-            ApiResponseBean responseBean = new ApiResponseBean();
+            ResponseMessageBean responseBean = new ResponseMessageBean();
             responseBean.setMessage("Stratos manager component is not active");
             return Response.status(Response.Status.NOT_ACCEPTABLE).entity(responseBean).build();
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CookieBasedAuthenticationHandler.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CookieBasedAuthenticationHandler.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CookieBasedAuthenticationHandler.java
index dbba25e..909ef3e 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CookieBasedAuthenticationHandler.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CookieBasedAuthenticationHandler.java
@@ -23,7 +23,7 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.cxf.jaxrs.ext.RequestHandler;
 import org.apache.cxf.jaxrs.model.ClassResourceInfo;
 import org.apache.cxf.message.Message;
-import org.apache.stratos.common.beans.StatusResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.rest.endpoint.context.AuthenticationContext;
 import org.wso2.carbon.context.PrivilegedCarbonContext;
 
@@ -67,8 +67,7 @@ public class CookieBasedAuthenticationHandler implements RequestHandler {
         }
         return Response.status(Response.Status.FORBIDDEN).
                 type(MediaType.APPLICATION_JSON).entity(
-                new StatusResponseBean(Response.Status.FORBIDDEN.getStatusCode(),
-                        "The endpoint requires authentication")).build();
+                new ResponseMessageBean(ResponseMessageBean.ERROR, "The endpoint requires authentication")).build();
     }
 
     /*

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomExceptionMapper.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomExceptionMapper.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomExceptionMapper.java
index 20cc9b7..2635d5f 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomExceptionMapper.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomExceptionMapper.java
@@ -20,7 +20,7 @@ package org.apache.stratos.rest.endpoint.handlers;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.beans.StatusResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.rest.endpoint.exception.RestAPIException;
 
 import javax.ws.rs.core.MediaType;
@@ -47,6 +47,6 @@ public class CustomExceptionMapper implements ExceptionMapper<RestAPIException>
 
         log.error(errorMessage, restAPIException);
         return Response.status(httpStatus.getStatusCode()).type(MediaType.APPLICATION_JSON).
-                entity(new StatusResponseBean(httpStatus.getStatusCode(), errorMessage)).build();
+                entity(new ResponseMessageBean(ResponseMessageBean.ERROR, errorMessage)).build();
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomThrowableExceptionMapper.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomThrowableExceptionMapper.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomThrowableExceptionMapper.java
index ed50f71..27c66fe 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomThrowableExceptionMapper.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/CustomThrowableExceptionMapper.java
@@ -19,7 +19,7 @@ package org.apache.stratos.rest.endpoint.handlers;/*
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.beans.StatusResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
@@ -28,12 +28,11 @@ import javax.ws.rs.ext.ExceptionMapper;
 public class CustomThrowableExceptionMapper implements ExceptionMapper<Throwable> {
     private static Log log = LogFactory.getLog(CustomThrowableExceptionMapper.class);
 
-    public Response toResponse(Throwable throwable) {
+    public Response toResponse(Throwable t) {
         if (log.isErrorEnabled()) {
-            log.error("Internal server error", throwable);
+            log.error("Internal server error", t);
         }
-
         return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).
-                entity(new StatusResponseBean(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), "Internal server error")).build();
+                entity(new ResponseMessageBean(ResponseMessageBean.ERROR, "Internal server error")).build();
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java
index fd992ab..4ab34fc 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java
@@ -20,7 +20,7 @@ package org.apache.stratos.rest.endpoint.handlers;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.beans.StatusResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
@@ -33,14 +33,13 @@ import javax.ws.rs.ext.ExceptionMapper;
 public class GenericExceptionMapper implements ExceptionMapper<WebApplicationException> {
     private static Log log = LogFactory.getLog(GenericExceptionMapper.class);
 
-    public Response toResponse(WebApplicationException webApplicationException) {
+    public Response toResponse(WebApplicationException e) {
         if (log.isDebugEnabled()) {
-            log.debug("Internal server error", webApplicationException);
+            log.debug("Internal server error", e);
         }
         // if no specific error message specified, spitting out a generaic error message
-        String errorMessage = (webApplicationException.getMessage() != null) ?
-                webApplicationException.getMessage() : "Internal server error";
+        String errorMessage = (e.getMessage() != null) ? e.getMessage() : "Internal server error";
         return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).
-                entity(new StatusResponseBean(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), errorMessage)).build();
+                entity(new ResponseMessageBean(ResponseMessageBean.ERROR, errorMessage)).build();
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthenticationHandler.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthenticationHandler.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthenticationHandler.java
index 4414bc5..ac6e61b 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthenticationHandler.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthenticationHandler.java
@@ -26,7 +26,7 @@ import org.apache.cxf.jaxrs.ext.RequestHandler;
 import org.apache.cxf.jaxrs.model.ClassResourceInfo;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.security.SecurityContext;
-import org.apache.stratos.common.beans.StatusResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.rest.endpoint.ServiceHolder;
 import org.apache.stratos.rest.endpoint.context.AuthenticationContext;
 import org.apache.stratos.rest.endpoint.security.StratosSecurityContext;
@@ -80,14 +80,12 @@ public class StratosAuthenticationHandler extends AbstractAuthenticationAuthoriz
             log.error("username is seen as null/empty values");
             return Response.status(Response.Status.UNAUTHORIZED)
                     .header("WWW-Authenticate", "Basic").type(MediaType.APPLICATION_JSON)
-                    .entity(new StatusResponseBean(Response.Status.UNAUTHORIZED.getStatusCode(),
-                            "Username cannot be null")).build();
+                    .entity(new ResponseMessageBean(ResponseMessageBean.ERROR, "Username cannot be null")).build();
         } else if (certObject == null && (StringUtils.isEmpty(password))) {
             log.error("password is seen as null/empty values");
             return Response.status(Response.Status.UNAUTHORIZED)
                     .header("WWW-Authenticate", "Basic").type(MediaType.APPLICATION_JSON)
-                    .entity(new StatusResponseBean(Response.Status.UNAUTHORIZED.getStatusCode(),
-                            "password cannot be null")).build();
+                    .entity(new ResponseMessageBean(ResponseMessageBean.ERROR, "password cannot be null")).build();
         }
 
         try {
@@ -103,7 +101,8 @@ public class StratosAuthenticationHandler extends AbstractAuthenticationAuthoriz
                     log.error("Invalid domain or unactivated tenant login");
                     // is this the correct HTTP code for this scenario ? (401)
                     return Response.status(Response.Status.UNAUTHORIZED).header("WWW-Authenticate", "Basic").
-                            type(MediaType.APPLICATION_JSON).entity(new StatusResponseBean(Response.Status.UNAUTHORIZED.getStatusCode(), "Tenant not found")).build();
+                            type(MediaType.APPLICATION_JSON).entity(
+                            new ResponseMessageBean(ResponseMessageBean.ERROR, "Tenant not found")).build();
                 }
             }
             username = MultitenantUtils.getTenantAwareUsername(username);
@@ -129,14 +128,14 @@ public class StratosAuthenticationHandler extends AbstractAuthenticationAuthoriz
                 log.warn(String.format("Unable to authenticate the request: [message-id] %s", message.getId()));
                 // authentication failed, request the authetication, add the realm name if needed to the value of WWW-Authenticate
                 return Response.status(Response.Status.UNAUTHORIZED).header("WWW-Authenticate", "Basic").
-                        type(MediaType.APPLICATION_JSON).entity(new StatusResponseBean(Response.Status.UNAUTHORIZED.getStatusCode(),
+                        type(MediaType.APPLICATION_JSON).entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
                         "Authentication failed. Please check your username/password")).build();
             }
         } catch (Exception exception) {
             log.error(String.format("Authentication failed: [message-id] %s", message.getId()), exception);
             // server error in the eyes of the client. Hence 5xx HTTP code.
             return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).
-                    entity(new StatusResponseBean(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(),
+                    entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
                             "Unexpected error. Please contact the system admin")).build();
         }
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthorizingHandler.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthorizingHandler.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthorizingHandler.java
index 32b2972..e7f6da4 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthorizingHandler.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosAuthorizingHandler.java
@@ -28,7 +28,7 @@ import org.apache.cxf.jaxrs.model.ClassResourceInfo;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.service.Service;
 import org.apache.cxf.service.model.BindingOperationInfo;
-import org.apache.stratos.common.beans.StatusResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.rest.endpoint.context.AuthenticationContext;
 import org.wso2.carbon.context.CarbonContext;
 import org.wso2.carbon.context.PrivilegedCarbonContext;
@@ -84,15 +84,16 @@ public class StratosAuthorizingHandler implements RequestHandler {
                 log.warn("User :" + userName + "trying to perform unauthrorized action" +
                         " against the resource :" + targetMethod);
                 return Response.status(Response.Status.FORBIDDEN).type(MediaType.APPLICATION_JSON).
-                        entity(new StatusResponseBean(Response.Status.FORBIDDEN.getStatusCode(), "The user does not have required permissions to " +
+                        entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
+                                "The user does not have required permissions to " +
                                 "perform this operation")).build();
             }
             return null;
 
-        } catch (Exception exception) {
-            log.error("Unexpected error occured while REST api, authorization process", exception);
+        } catch (Exception e) {
+            log.error("Unexpected error occured while REST api, authorization process", e);
             return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).
-                    entity(new StatusResponseBean(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(),
+                    entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
                             "Unexpected error. Please contact the system admin")).build();
         }
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosMockHandler.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosMockHandler.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosMockHandler.java
index 930cc33..986ba5c 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosMockHandler.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/StratosMockHandler.java
@@ -24,7 +24,7 @@ import org.apache.cxf.configuration.security.AuthorizationPolicy;
 import org.apache.cxf.jaxrs.ext.RequestHandler;
 import org.apache.cxf.jaxrs.model.ClassResourceInfo;
 import org.apache.cxf.message.Message;
-import org.apache.stratos.common.beans.StatusResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.wso2.carbon.context.PrivilegedCarbonContext;
 
 import javax.servlet.http.HttpServletRequest;
@@ -66,13 +66,13 @@ public class StratosMockHandler extends AbstractAuthenticationAuthorizationHandl
             log.error("username is seen as null/empty values.");
             return Response.status(Response.Status.UNAUTHORIZED)
                     .header("WWW-Authenticate", "Basic").type(MediaType.APPLICATION_JSON)
-                    .entity(new StatusResponseBean(Response.Status.UNAUTHORIZED.getStatusCode(),
+                    .entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
                             "Username cannot be null")).build();
         } else if (certObject == null && ((password == null) || password.equals(""))) {
             log.error("password is seen as null/empty values.");
             return Response.status(Response.Status.UNAUTHORIZED)
                     .header("WWW-Authenticate", "Basic").type(MediaType.APPLICATION_JSON)
-                    .entity(new StatusResponseBean(Response.Status.UNAUTHORIZED.getStatusCode(),
+                    .entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
                             "password cannot be null")).build();
         }
 
@@ -86,9 +86,8 @@ public class StratosMockHandler extends AbstractAuthenticationAuthorizationHandl
             log.error("Authentication failed", exception);
             // server error in the eyes of the client. Hence 5xx HTTP code.
             return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).
-                    entity(new StatusResponseBean(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(),
+                    entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
                             "Unexpected error. Please contact the system admin")).build();
         }
-
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
index b153745..9996af6 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
@@ -18,7 +18,7 @@
  */
 package org.apache.stratos.rest.endpoint.mock;
 
-import org.apache.stratos.common.beans.ApiResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.common.beans.TenantInfoBean;
 import org.apache.stratos.common.beans.UserInfoBean;
 import org.apache.stratos.common.beans.cartridge.CartridgeBean;
@@ -59,7 +59,7 @@ public class MockContext {
         return mockContext;
     }
 
-    public ApiResponseBean addCartirdgeDefinition(CartridgeBean cartridgeDefinitionBean) {
+    public ResponseMessageBean addCartirdgeDefinition(CartridgeBean cartridgeDefinitionBean) {
         int tenantId = getTenantId();
         List<CartridgeBean> tenantCartridges;
 
@@ -131,7 +131,7 @@ public class MockContext {
             System.out.println(cartridges.size());
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully deployed cartridge definition with type ");
         return stratosApiResponse;
     }
@@ -244,7 +244,7 @@ public class MockContext {
         return cartridges.toArray(new CartridgeBean[cartridges.size()]);
     }
 
-    public ApiResponseBean unsubscribe(String alias) throws RestAPIException {
+    public ResponseMessageBean unsubscribe(String alias) throws RestAPIException {
         int tenantId = getTenantId();
         if (subscribedCartridges.containsKey(tenantId)) {
             if ((subscribedCartridges.get(tenantId)).containsKey(alias)) {
@@ -253,7 +253,7 @@ public class MockContext {
         } else {
             throw new RestAPIException(Status.NO_CONTENT, "Unable to un-subscribe");
         }
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully un-subscribed");
         return stratosApiResponse;
     }
@@ -303,11 +303,11 @@ public class MockContext {
         return (availableMultiTenantCartridges.get(tenantId)).get(cartridgeType);
     }
 
-    public ApiResponseBean deleteCartridgeDefinition(String cartridgeType) throws RestAPIException {
+    public ResponseMessageBean deleteCartridgeDefinition(String cartridgeType) throws RestAPIException {
         if (!deleteFromAvailableSingleTenantCartridgeDefinitions(cartridgeType) && !deleteFromAvailableMultiTenantCartridgeDefinitions(cartridgeType)) {
             throw new RestAPIException(Status.NO_CONTENT, "No cartridges defined for tenant");
         }
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully delete cartridge definition");
         return stratosApiResponse;
     }
@@ -350,7 +350,7 @@ public class MockContext {
         return true;
     }
 
-    public ApiResponseBean addTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
+    public ResponseMessageBean addTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
         try {
             tenantMap.put(tenantInfoBean.getTenantDomain(), tenantInfoBean);
             tenantInfoBean.setTenantId(tenantIdCount);
@@ -358,7 +358,7 @@ public class MockContext {
         } catch (Exception e) {
             throw new RestAPIException(Status.INTERNAL_SERVER_ERROR, e.getMessage());
         }
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully added new Tenant");
         return stratosApiResponse;
     }
@@ -370,14 +370,14 @@ public class MockContext {
         return tenantMap.get(tenantDomain);
     }
 
-    public ApiResponseBean deleteTenant(String tenantDomain) {
+    public ResponseMessageBean deleteTenant(String tenantDomain) {
         if (tenantMap.containsKey(tenantDomain)) {
             TenantInfoBean tenant = tenantMap.get(tenantDomain);
             tenantMap.remove(tenantDomain);
             tenantIdMap.remove(tenant.getTenantId());
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully deleted tenant");
         return stratosApiResponse;
     }
@@ -397,29 +397,29 @@ public class MockContext {
         return searchResult.toArray(new TenantInfoBean[searchResult.size()]);
     }
 
-    public ApiResponseBean activateTenant(String tenantDomain) throws RestAPIException {
+    public ResponseMessageBean activateTenant(String tenantDomain) throws RestAPIException {
         if (tenantMap.containsKey(tenantDomain)) {
             tenantMap.get(tenantDomain).setActive(true);
         } else {
             throw new RestAPIException(Status.BAD_REQUEST, "Invalid tenant domain");
         }
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully activated Tenant");
         return stratosApiResponse;
     }
 
-    public ApiResponseBean deactivateTenant(String tenantDomain) throws RestAPIException {
+    public ResponseMessageBean deactivateTenant(String tenantDomain) throws RestAPIException {
         if (tenantMap.containsKey(tenantDomain)) {
             tenantMap.get(tenantDomain).setActive(false);
         } else {
             throw new RestAPIException(Status.BAD_REQUEST, "Invalid tenant domain");
         }
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully deactivated Tenant");
         return stratosApiResponse;
     }
 
-    public ApiResponseBean addPartition(PartitionBean partition) {
+    public ResponseMessageBean addPartition(PartitionBean partition) {
         int tenantId = getTenantId();
         Map<String, PartitionBean> partitions;
 
@@ -440,12 +440,12 @@ public class MockContext {
         }
 
         partitions.put(partition.getId(), partition);
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully deployed partition");
         return stratosApiResponse;
     }
 
-    public ApiResponseBean addAutoScalingPolicyDefinition(AutoscalePolicyBean autoscalePolicy) {
+    public ResponseMessageBean addAutoScalingPolicyDefinition(AutoscalePolicyBean autoscalePolicy) {
         int tenantId = getTenantId();
         Map<String, AutoscalePolicyBean> policies;
 
@@ -466,12 +466,12 @@ public class MockContext {
         }
 
         policies.put(autoscalePolicy.getId(), autoscalePolicy);
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully deployed auto scaling policy definition");
         return stratosApiResponse;
     }
 
-    public ApiResponseBean addDeploymentPolicyDefinition(String applicationId, DeploymentPolicyBean deploymentPolicy) {
+    public ResponseMessageBean addDeploymentPolicyDefinition(String applicationId, DeploymentPolicyBean deploymentPolicy) {
         int tenantId = getTenantId();
         Map<String, DeploymentPolicyBean> policies;
 
@@ -485,7 +485,7 @@ public class MockContext {
 
 
         policies.put(applicationId + UUID.randomUUID().getLeastSignificantBits(), deploymentPolicy);
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully deployed deployment policy definition");
         return stratosApiResponse;
     }
@@ -643,7 +643,7 @@ public class MockContext {
         }
     }
 
-    public ApiResponseBean deployService(Object serviceDefinitionBean) {
+    public ResponseMessageBean deployService(Object serviceDefinitionBean) {
 //    	int tenantId = getTenantId();
 //    	Map<String,ServiceDefinitionBean> serviceDefinitions;
 //
@@ -667,7 +667,7 @@ public class MockContext {
 //    	}
 //
 //    	serviceDefinitions.put(serviceDefinitionBean.getCartridgeType(),serviceDefinitionBean);
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully deployed service");
         return stratosApiResponse;
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosApiV40Mock.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosApiV40Mock.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosApiV40Mock.java
index e22131c..ff2e699 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosApiV40Mock.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosApiV40Mock.java
@@ -20,7 +20,7 @@ package org.apache.stratos.rest.endpoint.mock;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.beans.ApiResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.common.beans.TenantInfoBean;
 import org.apache.stratos.common.beans.UserInfoBean;
 import org.apache.stratos.common.beans.cartridge.CartridgeBean;
@@ -56,10 +56,10 @@ public class StratosApiV40Mock {
     @POST
     @Path("/init")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
-    public ApiResponseBean initialize()
+    public ResponseMessageBean initialize()
             throws RestAPIException {
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully logged in");
         return stratosApiResponse;
     }
@@ -137,7 +137,7 @@ public class StratosApiV40Mock {
     @Path("/cartridge/unsubscribe")
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
-    public ApiResponseBean unsubscribe(String alias) throws RestAPIException {
+    public ResponseMessageBean unsubscribe(String alias) throws RestAPIException {
         return MockContext.getInstance().unsubscribe(alias);
     }
 
@@ -147,7 +147,7 @@ public class StratosApiV40Mock {
     @Produces("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean addTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
+    public ResponseMessageBean addTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
         return MockContext.getInstance().addTenant(tenantInfoBean);
     }
 
@@ -157,7 +157,7 @@ public class StratosApiV40Mock {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean updateTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
+    public ResponseMessageBean updateTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
         return MockContext.getInstance().addTenant(tenantInfoBean);
     }
 
@@ -177,7 +177,7 @@ public class StratosApiV40Mock {
     @Produces("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deleteTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
+    public ResponseMessageBean deleteTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
         return MockContext.getInstance().deleteTenant(tenantDomain);
     }
 
@@ -216,7 +216,7 @@ public class StratosApiV40Mock {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deactivateTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
+    public ResponseMessageBean deactivateTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
         return MockContext.getInstance().deactivateTenant(tenantDomain);
     }
 
@@ -226,7 +226,7 @@ public class StratosApiV40Mock {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deployService(Object serviceDefinitionBean)
+    public ResponseMessageBean deployService(Object serviceDefinitionBean)
             throws RestAPIException {
         throw new RestAPIException("Not implemented");
     }
@@ -237,7 +237,7 @@ public class StratosApiV40Mock {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deployCartridgeDefinition(CartridgeBean cartridgeDefinitionBean)
+    public ResponseMessageBean deployCartridgeDefinition(CartridgeBean cartridgeDefinitionBean)
             throws RestAPIException {
         return MockContext.getInstance().addCartirdgeDefinition(cartridgeDefinitionBean);
     }
@@ -278,7 +278,7 @@ public class StratosApiV40Mock {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deployPartition(PartitionBean partition)
+    public ResponseMessageBean deployPartition(PartitionBean partition)
             throws RestAPIException {
         return MockContext.getInstance().addPartition(partition);
     }
@@ -289,7 +289,7 @@ public class StratosApiV40Mock {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deployAutoscalingPolicyDefintion(AutoscalePolicyBean autoscalePolicy)
+    public ResponseMessageBean deployAutoscalingPolicyDefintion(AutoscalePolicyBean autoscalePolicy)
             throws RestAPIException {
         return MockContext.getInstance().addAutoScalingPolicyDefinition(autoscalePolicy);
 
@@ -301,7 +301,7 @@ public class StratosApiV40Mock {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deployDeploymentPolicyDefinition(DeploymentPolicyBean deploymentPolicy)
+    public ResponseMessageBean deployDeploymentPolicyDefinition(DeploymentPolicyBean deploymentPolicy)
             throws RestAPIException {
         throw new RestAPIException("Not supported");
     }


[2/2] stratos git commit: Refactoring API response message format and adding status attribute

Posted by im...@apache.org.
Refactoring API response message format and adding status attribute


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/617e454a
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/617e454a
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/617e454a

Branch: refs/heads/master
Commit: 617e454a90f17c41620e53a54aca0c92cb47e28f
Parents: 10b52cc
Author: Imesh Gunaratne <im...@apache.org>
Authored: Mon May 11 17:23:11 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Mon May 11 17:31:54 2015 +0530

----------------------------------------------------------------------
 .../stratos/common/beans/ApiResponseBean.java   |  36 --
 .../common/beans/ResponseMessageBean.java       |  57 +++
 .../common/beans/StatusResponseBean.java        |  54 ---
 .../rest/endpoint/api/StratosApiV40.java        |  36 +-
 .../rest/endpoint/api/StratosApiV40Utils.java   |  18 +-
 .../rest/endpoint/api/StratosApiV41.java        | 388 +++++++++----------
 .../handlers/BadRequestExceptionMapper.java     |   4 +-
 .../handlers/ComponentSynchronizerHandler.java  |   4 +-
 .../CookieBasedAuthenticationHandler.java       |   5 +-
 .../handlers/CustomExceptionMapper.java         |   4 +-
 .../CustomThrowableExceptionMapper.java         |   9 +-
 .../handlers/GenericExceptionMapper.java        |  11 +-
 .../handlers/StratosAuthenticationHandler.java  |  15 +-
 .../handlers/StratosAuthorizingHandler.java     |  11 +-
 .../endpoint/handlers/StratosMockHandler.java   |   9 +-
 .../stratos/rest/endpoint/mock/MockContext.java |  46 +--
 .../rest/endpoint/mock/StratosApiV40Mock.java   |  26 +-
 17 files changed, 342 insertions(+), 391 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/ApiResponseBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/ApiResponseBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/ApiResponseBean.java
deleted file mode 100644
index 730b06d..0000000
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/ApiResponseBean.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.common.beans;
-
-import javax.xml.bind.annotation.XmlRootElement;
-
-@XmlRootElement
-public class ApiResponseBean {
-
-    private String message;
-
-    public String getMessage() {
-        return message;
-    }
-
-    public void setMessage(String message) {
-        this.message = message;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/ResponseMessageBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/ResponseMessageBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/ResponseMessageBean.java
new file mode 100644
index 0000000..eb564c1
--- /dev/null
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/ResponseMessageBean.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.common.beans;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlRootElement
+@XmlType(propOrder = {"status", "message"})
+public class ResponseMessageBean {
+
+    public static final String SUCCESS = "success";
+    public static final String ERROR = "error";
+
+    private String status;
+    private String message;
+
+    public ResponseMessageBean() {
+    }
+
+    public ResponseMessageBean(String status, String message) {
+        this.status = status;
+        this.message = message;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/StatusResponseBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/StatusResponseBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/StatusResponseBean.java
deleted file mode 100644
index 814f640..0000000
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/StatusResponseBean.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.common.beans;
-
-import javax.xml.bind.annotation.XmlRootElement;
-
-@XmlRootElement
-public class StatusResponseBean {
-
-    private int statusCode;
-    private String message;
-
-    public StatusResponseBean() {
-    }
-
-    public StatusResponseBean(int statusCode, String message) {
-        this.statusCode = statusCode;
-        this.message = message;
-    }
-
-    public int getStatusCode() {
-        return statusCode;
-    }
-
-    public void setStatusCode(int statusCode) {
-        this.statusCode = statusCode;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public void setMessage(String successMessage) {
-        this.message = successMessage;
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java
index cc81ebc..ac27c4f 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java
@@ -20,7 +20,7 @@ package org.apache.stratos.rest.endpoint.api;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.beans.ApiResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.common.beans.artifact.repository.GitNotificationPayloadBean;
 import org.apache.stratos.common.beans.cartridge.CartridgeBean;
 import org.apache.stratos.common.beans.partition.PartitionBean;
@@ -71,10 +71,10 @@ public class StratosApiV40 extends AbstractApi {
     @POST
     @Path("/init")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
-    public ApiResponseBean initialize()
+    public ResponseMessageBean initialize()
             throws RestAPIException {
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully logged in");
         return stratosApiResponse;
     }
@@ -108,7 +108,7 @@ public class StratosApiV40 extends AbstractApi {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deployCartridgeBeanDefinition(CartridgeBean cartridgeDefinitionBean)
+    public ResponseMessageBean deployCartridgeBeanDefinition(CartridgeBean cartridgeDefinitionBean)
             throws RestAPIException {
 
         return StratosApiV40Utils.deployCartridge(cartridgeDefinitionBean, getConfigContext(), getUsername(),
@@ -122,7 +122,7 @@ public class StratosApiV40 extends AbstractApi {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean unDeployCartridgeBeanDefinition(@PathParam("cartridgeType") String cartridgeType) throws RestAPIException {
+    public ResponseMessageBean unDeployCartridgeBeanDefinition(@PathParam("cartridgeType") String cartridgeType) throws RestAPIException {
 
         return StratosApiV40Utils.undeployCartridge(cartridgeType);
     }
@@ -145,7 +145,7 @@ public class StratosApiV40 extends AbstractApi {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deployAutoscalingPolicyDefintion(AutoscalePolicyBean autoscalePolicy)
+    public ResponseMessageBean deployAutoscalingPolicyDefintion(AutoscalePolicyBean autoscalePolicy)
             throws RestAPIException {
 
         return StratosApiV40Utils.deployAutoscalingPolicy(autoscalePolicy);
@@ -426,7 +426,7 @@ public class StratosApiV40 extends AbstractApi {
     @Path("/cartridge/unsubscribe")
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
-    public ApiResponseBean unsubscribe(String alias) throws RestAPIException {
+    public ResponseMessageBean unsubscribe(String alias) throws RestAPIException {
 
         return StratosApiV40Utils.unsubscribe(alias, getTenantDomain());
 
@@ -438,7 +438,7 @@ public class StratosApiV40 extends AbstractApi {
     @Produces("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean addTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
+    public ResponseMessageBean addTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
         try {
             CommonUtil.validateEmail(tenantInfoBean.getEmail());
         } catch (Exception e) {
@@ -513,7 +513,7 @@ public class StratosApiV40 extends AbstractApi {
             throw new RestAPIException(msg);
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully added new tenant with domain " + tenantInfoBean.getTenantDomain());
         return stratosApiResponse;
     }
@@ -523,7 +523,7 @@ public class StratosApiV40 extends AbstractApi {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean updateTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
+    public ResponseMessageBean updateTenant(TenantInfoBean tenantInfoBean) throws RestAPIException {
 
         try {
             return updateExistingTenant(tenantInfoBean);
@@ -534,7 +534,7 @@ public class StratosApiV40 extends AbstractApi {
         }
     }
 
-    private ApiResponseBean updateExistingTenant(TenantInfoBean tenantInfoBean) throws Exception {
+    private ResponseMessageBean updateExistingTenant(TenantInfoBean tenantInfoBean) throws Exception {
 
         TenantManager tenantManager = ServiceHolder.getTenantManager();
         UserStoreManager userStoreManager;
@@ -654,7 +654,7 @@ public class StratosApiV40 extends AbstractApi {
             throw new Exception(msg, e);
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully updated the tenant " + tenantDomain);
         return stratosApiResponse;
     }
@@ -725,7 +725,7 @@ public class StratosApiV40 extends AbstractApi {
     @Produces("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deleteTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
+    public ResponseMessageBean deleteTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
         TenantManager tenantManager = ServiceHolder.getTenantManager();
         int tenantId = 0;
         try {
@@ -749,7 +749,7 @@ public class StratosApiV40 extends AbstractApi {
             throw new RestAPIException(msg);
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully deleted tenant " + tenantDomain);
         return stratosApiResponse;
     }
@@ -794,7 +794,7 @@ public class StratosApiV40 extends AbstractApi {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean activateTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
+    public ResponseMessageBean activateTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
         TenantManager tenantManager = ServiceHolder.getTenantManager();
         int tenantId;
         try {
@@ -810,7 +810,7 @@ public class StratosApiV40 extends AbstractApi {
             throw new RestAPIException(e);
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
 
         try {
             TenantMgtUtil.activateTenant(tenantDomain, tenantManager, tenantId);
@@ -853,7 +853,7 @@ public class StratosApiV40 extends AbstractApi {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public ApiResponseBean deactivateTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
+    public ResponseMessageBean deactivateTenant(@PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
 
         TenantManager tenantManager = ServiceHolder.getTenantManager();
         int tenantId;
@@ -871,7 +871,7 @@ public class StratosApiV40 extends AbstractApi {
             throw new RestAPIException(e);
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
 
         try {
             TenantMgtUtil.deactivateTenant(tenantDomain, tenantManager, tenantId);

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
index 061a988..241a1c7 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
@@ -29,7 +29,7 @@ import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCar
 import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCartridgeTypeExceptionException;
 import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidIaasProviderExceptionException;
 import org.apache.stratos.cloud.controller.stub.domain.Cartridge;
-import org.apache.stratos.common.beans.ApiResponseBean;
+import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.common.beans.artifact.repository.GitNotificationPayloadBean;
 import org.apache.stratos.common.beans.cartridge.CartridgeBean;
 import org.apache.stratos.common.beans.partition.PartitionBean;
@@ -61,7 +61,7 @@ public class StratosApiV40Utils {
 
     private static Log log = LogFactory.getLog(StratosApiV40Utils.class);
 
-    static ApiResponseBean deployCartridge(CartridgeBean cartridgeDefinitionBean, ConfigurationContext ctxt,
+    static ResponseMessageBean deployCartridge(CartridgeBean cartridgeDefinitionBean, ConfigurationContext ctxt,
                                            String userName, String tenantDomain) throws RestAPIException {
 
         log.info("Starting to deploy a Cartridge [type] " + cartridgeDefinitionBean.getType());
@@ -98,7 +98,7 @@ public class StratosApiV40Utils {
             }
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         String message = "Successfully added cartridge definition: [cartridge-type] " + cartridgeDefinitionBean.getType();
         stratosApiResponse.setMessage(message);
         if (log.isInfoEnabled()) {
@@ -127,7 +127,7 @@ public class StratosApiV40Utils {
 //        return commonPolicies.toArray(new DeploymentPolicy[0]);
 //    }
 
-    static ApiResponseBean undeployCartridge(String cartridgeType) throws RestAPIException {
+    static ResponseMessageBean undeployCartridge(String cartridgeType) throws RestAPIException {
 
         CloudControllerServiceClient cloudControllerServiceClient = getCloudControllerServiceClient();
         if (cloudControllerServiceClient != null) {
@@ -144,12 +144,12 @@ public class StratosApiV40Utils {
 
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully undeployed cartridge definition with type " + cartridgeType);
         return stratosApiResponse;
     }
 
-    public static ApiResponseBean deployAutoscalingPolicy(AutoscalePolicyBean autoscalePolicyBean) throws RestAPIException {
+    public static ResponseMessageBean deployAutoscalingPolicy(AutoscalePolicyBean autoscalePolicyBean) throws RestAPIException {
 
         //log.info("***** " + cartridgeDefinitionBean.toString() + " *****");
 
@@ -172,7 +172,7 @@ public class StratosApiV40Utils {
 
         }
 
-        ApiResponseBean stratosApiResponse = new ApiResponseBean();
+        ResponseMessageBean stratosApiResponse = new ResponseMessageBean();
         stratosApiResponse.setMessage("Successfully deployed autoscaling policy definition with id " + autoscalePolicyBean.getId());
         return stratosApiResponse;
     }
@@ -887,7 +887,7 @@ public class StratosApiV40Utils {
         return cartridgeSubscription.getClusterDomain();
     } */
 
-    static ApiResponseBean unsubscribe(String alias, String tenantDomain) throws RestAPIException {
+    static ResponseMessageBean unsubscribe(String alias, String tenantDomain) throws RestAPIException {
         throw new RestAPIException("Not implemented");
     }
 
@@ -902,7 +902,7 @@ public class StratosApiV40Utils {
         }
     }
 
-    public static ApiResponseBean removeSubscriptionDomain(ConfigurationContext configurationContext, String cartridgeType,
+    public static ResponseMessageBean removeSubscriptionDomain(ConfigurationContext configurationContext, String cartridgeType,
                                                            String subscriptionAlias, String domain) throws RestAPIException {
         throw new RestAPIException("Not implemented");
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/617e454a/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 4b932dd..48a9c2a 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
@@ -83,8 +83,8 @@ public class StratosApiV41 extends AbstractApi {
     @AuthorizationAction("/permission/admin/restlogin")
     public Response initialize()
             throws RestAPIException {
-        ApiResponseBean response = new ApiResponseBean();
-        response.setMessage("Successfully authenticated");
+        ResponseMessageBean response = new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+                "Successfully authenticated");
         return Response.ok(response).build();
     }
 
@@ -133,12 +133,12 @@ public class StratosApiV41 extends AbstractApi {
             String msg = String.format("Cartridge already exists: [cartridge-type] %s", cartridgeType);
             log.warn(msg);
             return Response.status(Response.Status.CONFLICT)
-                    .entity(new StatusResponseBean(Response.Status.CONFLICT.getStatusCode(), msg)).build();
+                    .entity(new ResponseMessageBean(ResponseMessageBean.ERROR, msg)).build();
         }
 
         StratosApiV41Utils.addCartridge(cartridgeDefinitionBean);
         URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeType).build();
-        return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
+        return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Cartridge added successfully: [cartridge-type] %s", cartridgeType))).build();
     }
 
@@ -162,14 +162,14 @@ public class StratosApiV41 extends AbstractApi {
             // TODO :: Deployment policy validation
             StratosApiV41Utils.addDeploymentPolicy(deploymentPolicyDefinitionBean);
         } catch (AutoscalerServiceInvalidDeploymentPolicyExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Deployment policy is not valid")).build();
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Deployment policy is not valid")).build();
         } catch (AutoscalerServiceDeploymentPolicyAlreadyExistsExceptionException e) {
-            return Response.status(Response.Status.CONFLICT).entity(new StatusResponseBean(
-                    Response.Status.CONFLICT.getStatusCode(), "Deployment policy already exists")).build();
+            return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Deployment policy already exists")).build();
         }
         URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicyID).build();
-        return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
+        return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
                 String.format("Deployment policy added successfully: " + "[deployment-policy-id] %s",
                         deploymentPolicyID))).build();
     }
@@ -189,8 +189,8 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("deploymentPolicyId") String deploymentPolicyId) throws RestAPIException {
         DeploymentPolicyBean deploymentPolicyBean = StratosApiV41Utils.getDeployementPolicy(deploymentPolicyId);
         if (deploymentPolicyBean == null) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Deployment policy not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Deployment policy not found")).build();
         }
         return Response.ok(deploymentPolicyBean).build();
     }
@@ -210,8 +210,8 @@ public class StratosApiV41 extends AbstractApi {
             throws RestAPIException {
         DeploymentPolicyBean[] deploymentPolicies = StratosApiV41Utils.getDeployementPolicies();
         if (deploymentPolicies == null || deploymentPolicies.length == 0) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "No deployment policies found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "No deployment policies found")).build();
         }
 
         return Response.ok(deploymentPolicies).build();
@@ -241,19 +241,19 @@ public class StratosApiV41 extends AbstractApi {
 
         } catch (AutoscalerServiceInvalidPolicyExceptionException e) {
 
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Deployment policy is invalid")).build();
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Deployment policy is invalid")).build();
         } catch (AutoscalerServiceInvalidDeploymentPolicyExceptionException e) {
 
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Deployment policy is invalid")).build();
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Deployment policy is invalid")).build();
         } catch (AutoscalerServiceDeploymentPolicyNotExistsExceptionException e) {
 
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Deployment policy not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Deployment policy not found")).build();
         }
         URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicyID).build();
-        return Response.ok(url).entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Deployment policy updated successfully: " + "[deployment-policy-id] %s",
                         deploymentPolicyID))).build();
     }
@@ -276,11 +276,11 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.removeDeploymentPolicy(deploymentPolicyID);
         } catch (AutoscalerServiceDeploymentPolicyNotExistsExceptionException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Autoscaling policy not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Autoscaling policy not found")).build();
         }
         URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicyID).build();
-        return Response.ok(url).entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Deployment policy removed successfully: " + "[deployment-policy-id] %s",
                         deploymentPolicyID))).build();
     }
@@ -302,7 +302,7 @@ public class StratosApiV41 extends AbstractApi {
         StratosApiV41Utils.updateCartridge(cartridgeDefinitionBean);
         URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeDefinitionBean.getType()).build();
         return Response.ok(url)
-                .entity(new StatusResponseBean(Response.Status.OK.getStatusCode(), "Cartridge updated successfully"))
+                .entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, "Cartridge updated successfully"))
                 .build();
 
     }
@@ -322,8 +322,8 @@ public class StratosApiV41 extends AbstractApi {
             throws RestAPIException {
         List<CartridgeBean> cartridges = StratosApiV41Utils.getAvailableCartridges(null, false, getConfigContext());
         if (cartridges == null || cartridges.isEmpty()) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "No cartridges found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "No cartridges found")).build();
         }
         CartridgeBean[] cartridgeArray = cartridges.toArray(new CartridgeBean[cartridges.size()]);
         return Response.ok().entity(cartridgeArray).build();
@@ -348,8 +348,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).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Cartridge not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Cartridge not found")).build();
         }
     }
 
@@ -372,8 +372,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).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "No cartridges found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "No cartridges found")).build();
         }
 
         CartridgeBean[] cartridgeArray = cartridges.toArray(new CartridgeBean[cartridges.size()]);
@@ -400,8 +400,8 @@ public class StratosApiV41 extends AbstractApi {
 
         cartridge = StratosApiV41Utils.getCartridgeByFilter(filter, cartridgeType, getConfigContext());
         if (cartridge == null) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "No cartridges found for this filter")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "No cartridges found for this filter")).build();
         }
         return Response.ok().entity(cartridge).build();
 
@@ -422,7 +422,7 @@ public class StratosApiV41 extends AbstractApi {
     public Response removeCartridge(
             @PathParam("cartridgeType") String cartridgeType) throws RestAPIException {
         StratosApiV41Utils.removeCartridge(cartridgeType);
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Cartridge deleted successfully: [cartridge-type] %s", cartridgeType))).build();
 
     }
@@ -448,19 +448,19 @@ public class StratosApiV41 extends AbstractApi {
             StratosApiV41Utils.addServiceGroup(serviceGroupDefinition);
             URI url = uriInfo.getAbsolutePathBuilder().path(serviceGroupDefinition.getName()).build();
 
-            return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
+            return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                     String.format("Cartridge Group added successfully: [cartridge-group] %s",
                             serviceGroupDefinition.getName()))).build();
         } catch (InvalidCartridgeGroupDefinitionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), e.getMessage())).build();
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, e.getMessage())).build();
         } catch (RestAPIException e) {
             if (e.getCause().getMessage().contains("already exists")) {
-                return Response.status(Response.Status.CONFLICT).entity(new StatusResponseBean(
-                        Response.Status.CONFLICT.getStatusCode(), "Cartridge group not found")).build();
+                return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean(
+                        ResponseMessageBean.ERROR, "Cartridge group not found")).build();
             } else if (e.getCause().getMessage().contains("Invalid Service Group")) {
-                return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                        Response.Status.BAD_REQUEST.getStatusCode(), e.getCause().getMessage())).build();
+                return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                        ResponseMessageBean.ERROR, e.getCause().getMessage())).build();
             } else {
                 throw e;
             }
@@ -486,8 +486,8 @@ public class StratosApiV41 extends AbstractApi {
         if (serviceGroupDefinition != null) {
             return Response.ok().entity(serviceGroupDefinition).build();
         } else {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Cartridge group not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Cartridge group not found")).build();
         }
     }
 
@@ -509,8 +509,8 @@ public class StratosApiV41 extends AbstractApi {
         if (serviceGroups != null) {
             return Response.ok().entity(serviceGroups).build();
         } else {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Cartridge group not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Cartridge group not found")).build();
         }
     }
 
@@ -532,10 +532,10 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.removeServiceGroup(groupDefinitionName);
         } catch (AutoscalerServiceCartridgeGroupNotFoundExceptionException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Cartridge group not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Cartridge group not found")).build();
         }
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Cartridge Group deleted successfully: [cartridge-group] %s", groupDefinitionName)))
                 .build();
     }
@@ -561,12 +561,12 @@ public class StratosApiV41 extends AbstractApi {
             StratosApiV41Utils.addNetworkPartition(networkPartitionBean);
         } catch (CloudControllerServiceNetworkPartitionAlreadyExistsExceptionException e) {
             return Response.status(Response.Status.CONFLICT)
-                    .entity(new StatusResponseBean(Response.Status.CONFLICT.getStatusCode(), e.getLocalizedMessage()))
+                    .entity(new ResponseMessageBean(ResponseMessageBean.ERROR, e.getMessage()))
                     .build();
 
         }
         URI url = uriInfo.getAbsolutePathBuilder().path(networkPartitionId).build();
-        return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
+        return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Network partition added successfully: [network-partition] %s", networkPartitionId)))
                 .build();
     }
@@ -586,8 +586,8 @@ public class StratosApiV41 extends AbstractApi {
             throws RestAPIException {
         NetworkPartitionBean[] networkPartitions = StratosApiV41Utils.getNetworkPartitions();
         if (networkPartitions == null || networkPartitions.length == 0) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "No network partitions found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "No network partitions found")).build();
         }
 
         return Response.ok(networkPartitions).build();
@@ -608,8 +608,8 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("networkPartitionId") String networkPartitionId) throws RestAPIException {
         NetworkPartitionBean networkPartition = StratosApiV41Utils.getNetworkPartition(networkPartitionId);
         if (networkPartition == null) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Network partition is not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Network partition is not found")).build();
         }
 
         return Response.ok(networkPartition).build();
@@ -631,11 +631,11 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.removeNetworkPartition(networkPartitionId);
         } catch (CloudControllerServiceNetworkPartitionNotExistsExceptionException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Network partition is not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Network partition is not found")).build();
         }
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
-                String.format("Network Partition deleted successfully: [network-partition] %s",
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+                String.format("Network partition deleted successfully: [network-partition] %s",
                         networkPartitionId))).build();
     }
 
@@ -658,13 +658,13 @@ public class StratosApiV41 extends AbstractApi {
             StratosApiV41Utils.addApplication(applicationDefinition, getConfigContext(), getUsername(), getTenantDomain());
 
             URI url = uriInfo.getAbsolutePathBuilder().path(applicationDefinition.getApplicationId()).build();
-            return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
+            return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                     String.format("Application added successfully: [application] %s",
                             applicationDefinition.getApplicationId()))).build();
         } catch (ApplicationAlreadyExistException e) {
 
-            return Response.status(Response.Status.CONFLICT).entity(new StatusResponseBean(
-                    Response.Status.CONFLICT.getStatusCode(), "Application already exists")).build();
+            return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Application already exists")).build();
         } catch (RestAPIException e) {
 
             throw e;
@@ -688,7 +688,7 @@ public class StratosApiV41 extends AbstractApi {
 
         StratosApiV41Utils.updateApplication(applicationDefinition, getConfigContext(), getUsername(), getTenantDomain());
         URI url = uriInfo.getAbsolutePathBuilder().path(applicationDefinition.getApplicationId()).build();
-        return Response.created(url).entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Application updated successfully: [application] %s",
                         applicationDefinition.getApplicationId()))).build();
 
@@ -709,8 +709,8 @@ public class StratosApiV41 extends AbstractApi {
     public Response getApplications() throws RestAPIException {
         List<ApplicationBean> applicationDefinitions = StratosApiV41Utils.getApplications();
         if (applicationDefinitions == null || applicationDefinitions.isEmpty()) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "No applications found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "No applications found")).build();
         }
 
         ApplicationBean[] applicationDefinitionsArray = applicationDefinitions
@@ -734,8 +734,8 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("applicationId") String applicationId) throws RestAPIException {
         ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId);
         if (applicationDefinition == null) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Application not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Application not found")).build();
         }
         return Response.ok(applicationDefinition).build();
     }
@@ -758,14 +758,12 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("applicationPolicyId") String applicationPolicyId) throws RestAPIException {
         try {
             StratosApiV41Utils.deployApplication(applicationId, applicationPolicyId);
-            return Response.accepted().entity(new StatusResponseBean(Response.Status.ACCEPTED.getStatusCode(),
+            return Response.accepted().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                     String.format("Application deployed successfully: [application] %s", applicationId))).build();
         } catch (ApplicationAlreadyDeployedException e) {
-
-            return Response.status(Response.Status.CONFLICT).entity(new StatusResponseBean(
-                    Response.Status.CONFLICT.getStatusCode(), "Application policy already deployed")).build();
+            return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Application policy already deployed")).build();
         } catch (RestAPIException e) {
-
             throw e;
         }
     }
@@ -787,14 +785,14 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.addApplicationPolicy(applicationPolicy);
             URI url = uriInfo.getAbsolutePathBuilder().path(applicationPolicy.getId()).build();
-            return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
+            return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                     String.format("Application policy added successfully: [application-policy] %s",
                             applicationPolicy.getId()))).build();
         } catch (RestAPIException e) {
             throw e;
         } catch (AutoscalerServiceInvalidApplicationPolicyExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Invalid application policy")).build();
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Invalid application policy")).build();
         }
     }
 
@@ -860,16 +858,16 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("applicationPolicyId") String applicationPolicyId) throws RestAPIException {
         try {
             StratosApiV41Utils.removeApplicationPolicy(applicationPolicyId);
-            return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+            return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                     String.format("Application policy deleted successfully: [application-policy] %s",
                             applicationPolicyId))).build();
         } catch (ApplicationPolicyIdIsEmptyException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Autoscaling policy id is empty"))
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Autoscaling policy id is empty"))
                     .build();
         } catch (AutoscalerServiceInvalidPolicyExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Autoscaling policy is invalid"))
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Autoscaling policy is invalid"))
                     .build();
         }
     }
@@ -892,15 +890,15 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.updateApplicationPolicy(applicationPolicy);
         } catch (AutoscalerServiceInvalidApplicationPolicyExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Invalid application policy"))
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Invalid application policy"))
                     .build();
         } catch (AutoscalerServiceApplicatioinPolicyNotExistsExceptionException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Application policy does not exist"))
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Application policy does not exist"))
                     .build();
         }
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Application policy updated successfully: [application-policy] %s",
                         applicationPolicy.getId()))).build();
     }
@@ -923,8 +921,8 @@ public class StratosApiV41 extends AbstractApi {
         if (appNetworkPartitionsBean == null ||
                 (appNetworkPartitionsBean.getNetworkPartitionIds().size() == 1 &&
                         appNetworkPartitionsBean.getNetworkPartitionIds().get(0) == null)) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "No network partitions used in the application"))
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "No network partitions used in the application"))
                     .build();
         }
 
@@ -949,7 +947,7 @@ public class StratosApiV41 extends AbstractApi {
             throws RestAPIException {
         StratosApiV41Utils.addApplicationSignUp(applicationId, applicationSignUpBean);
         URI url = uriInfo.getAbsolutePathBuilder().path(applicationId).build();
-        return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
+        return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Successfully signed up for: [application] %s", applicationId))).build();
     }
 
@@ -972,15 +970,14 @@ public class StratosApiV41 extends AbstractApi {
         try {
             applicationSignUpBean = StratosApiV41Utils.getApplicationSignUp(applicationId);
             if (applicationSignUpBean == null) {
-                return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                        Response.Status.NOT_FOUND.getStatusCode(), "No Application sign ups found for application"))
+                return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                        ResponseMessageBean.ERROR, "No Application signups found for application"))
                         .build();
             }
-
             return Response.ok(applicationSignUpBean).build();
         } catch (ApplicationSignUpRestAPIException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Incorrect request to get application sign ups"))
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Incorrect request to get application sign ups"))
                     .build();
         }
     }
@@ -1000,7 +997,7 @@ public class StratosApiV41 extends AbstractApi {
     public Response removeApplicationSignUp(
             @PathParam("applicationId") String applicationId) throws RestAPIException {
         StratosApiV41Utils.removeApplicationSignUp(applicationId);
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Application sign up removed successfully: [application] %s", applicationId))).build();
     }
 
@@ -1023,8 +1020,8 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.addApplicationDomainMappings(applicationId, domainMappingsBean);
         } catch (StratosManagerServiceDomainMappingExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Incorrect request to add domain mapping for " +
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Incorrect request to add domain mapping for " +
                     "application")).build();
         }
         List<DomainMappingBean> mappings = domainMappingsBean.getDomainMappings();
@@ -1033,8 +1030,8 @@ public class StratosApiV41 extends AbstractApi {
             domainMappingList.add(domainMappingBean.getDomainName());
         }
         URI url = uriInfo.getAbsolutePathBuilder().path(applicationId).build();
-        return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
-                String.format("Domain Mappings added successfully: [domain-mappings] %s", domainMappingList)))
+        return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+                String.format("Domain mappings added successfully: [domain-mappings] %s", domainMappingList)))
                 .build();
     }
 
@@ -1057,8 +1054,8 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.removeApplicationDomainMappings(applicationId, domainMapppingsBean);
         } catch (StratosManagerServiceDomainMappingExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Incorrect request to delete domain mapping of " +
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Incorrect request to delete domain mapping of " +
                     "application")).build();
         }
         List<DomainMappingBean> mappings = domainMapppingsBean.getDomainMappings();
@@ -1066,8 +1063,8 @@ public class StratosApiV41 extends AbstractApi {
         for (DomainMappingBean domainMappingBean : mappings) {
             domainMappingList.add(domainMappingBean.getDomainName());
         }
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
-                String.format("Domain Mappings deleted successfully: [domain-mappings] %s", domainMappingList)))
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+                String.format("Domain mappings deleted successfully: [domain-mappings] %s", domainMappingList)))
                 .build();
     }
 
@@ -1089,13 +1086,14 @@ public class StratosApiV41 extends AbstractApi {
         try {
             domainMappingsBeanList = StratosApiV41Utils.getApplicationDomainMappings(applicationId);
             if (domainMappingsBeanList == null || domainMappingsBeanList.isEmpty()) {
-                return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                        Response.Status.NOT_FOUND.getStatusCode(), "No domain mappings found for the application"))
-                        .build();
+                return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                        ResponseMessageBean.SUCCESS, "No domain mappings found for the application: [application-id] " +
+                applicationId)).build();
             }
         } catch (StratosManagerServiceDomainMappingExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Incorrect request to get domain mapping of application"))
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Incorrect request to get domain mappings of application: " +
+                    "[application-id] " + applicationId))
                     .build();
         }
 
@@ -1125,19 +1123,19 @@ public class StratosApiV41 extends AbstractApi {
         if (applicationDefinition == null) {
             String msg = String.format("Application does not exist [application-id] %s", applicationId);
             log.info(msg);
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), msg)).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, msg)).build();
         }
         if (!applicationDefinition.getStatus().equalsIgnoreCase(StratosApiV41Utils.APPLICATION_STATUS_DEPLOYED)) {
             String message = String.format("Could not undeploy since application is not in DEPLOYED status " +
                     "[application-id] %s [current status] %S", applicationId, applicationDefinition.getStatus());
             log.info(message);
-            return Response.status(Response.Status.CONFLICT).entity(new StatusResponseBean(
-                    Response.Status.CONFLICT.getStatusCode(), message)).build();
+            return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, message)).build();
         }
         StratosApiV41Utils.undeployApplication(applicationId, force);
-        return Response.accepted().entity(new StatusResponseBean(Response.Status.ACCEPTED.getStatusCode(),
-                String.format("Application undeployed successfully: [application] %s", applicationId))).build();
+        return Response.accepted().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+                String.format("Application undeployed successfully: [application-id] %s", applicationId))).build();
     }
 
     /**
@@ -1157,8 +1155,8 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("applicationId") String applicationId) throws RestAPIException {
         ApplicationInfoBean applicationRuntime = StratosApiV41Utils.getApplicationRuntime(applicationId);
         if (applicationRuntime == null) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Application runtime not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Application runtime not found")).build();
         } else {
             return Response.ok().entity(applicationRuntime).build();
         }
@@ -1182,18 +1180,18 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("applicationId") String applicationId) throws RestAPIException {
         ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId);
         if (applicationDefinition == null) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Application not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Application not found")).build();
         }
 
         if (!applicationDefinition.getStatus().equalsIgnoreCase(StratosApiV41Utils.APPLICATION_STATUS_CREATED)) {
-            return Response.status(Response.Status.CONFLICT).entity(new StatusResponseBean(Response.Status.CONFLICT.
-                    getStatusCode(), String.format("Could not delete since application is not in CREATED state :" +
+            return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
+                    String.format("Could not delete since application is not in CREATED state :" +
                     " [application] %s [current-status] %S", applicationId, applicationDefinition.getStatus()))).build();
         }
 
         StratosApiV41Utils.removeApplication(applicationId);
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Application deleted successfully: [application] %s", applicationId))).build();
     }
 
@@ -1214,10 +1212,9 @@ public class StratosApiV41 extends AbstractApi {
             throws RestAPIException {
         AutoscalePolicyBean[] autoScalePolicies = StratosApiV41Utils.getAutoScalePolicies();
         if (autoScalePolicies == null || autoScalePolicies.length == 0) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "No Autoscaling policies found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.SUCCESS, "No autoscaling policies found")).build();
         }
-
         return Response.ok().entity(autoScalePolicies).build();
     }
 
@@ -1237,8 +1234,8 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("autoscalePolicyId") String autoscalePolicyId) throws RestAPIException {
         AutoscalePolicyBean autoScalePolicy = StratosApiV41Utils.getAutoScalePolicy(autoscalePolicyId);
         if (autoScalePolicy == null) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Autoscaling policy not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.SUCCESS, "Autoscaling policy not found")).build();
         }
         return Response.ok().entity(autoScalePolicy).build();
     }
@@ -1261,15 +1258,15 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.addAutoscalingPolicy(autoscalePolicy);
             URI url = uriInfo.getAbsolutePathBuilder().path(autoscalePolicy.getId()).build();
-            return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
+            return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                     String.format("Autoscaling policy added successfully: [autoscale-policy] %s",
                             autoscalePolicy.getId()))).build();
         } catch (AutoscalerServiceInvalidPolicyExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Provided Autoscaling policy is invalid")).build();
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Provided Autoscaling policy is invalid")).build();
         } catch (AutoscalerServiceAutoScalingPolicyAlreadyExistExceptionException e) {
-            return Response.status(Response.Status.CONFLICT).entity(new StatusResponseBean(
-                    Response.Status.CONFLICT.getStatusCode(), "Autoscaling policy already exists")).build();
+            return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Autoscaling policy already exists")).build();
         } catch (RestAPIException e) {
             throw e;
         }
@@ -1293,10 +1290,10 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.updateAutoscalingPolicy(autoscalePolicy);
         } catch (AutoscalerServiceInvalidPolicyExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Autoscaling policy is invalid")).build();
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Autoscaling policy is invalid")).build();
         }
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Autoscaling policy updated successfully: [autoscale-policy] %s",
                         autoscalePolicy.getId()))).build();
     }
@@ -1319,10 +1316,10 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.updateNetworkPartition(networkPartition);
         } catch (CloudControllerServiceNetworkPartitionNotExistsExceptionException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Network partition not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Network partition not found")).build();
         }
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Network Partition updated successfully: [network-partition] %s",
                         networkPartition.getId()))).build();
     }
@@ -1345,13 +1342,13 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.removeAutoscalingPolicy(autoscalingPolicyId);
         } catch (AutoscalerServiceUnremovablePolicyExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Autoscaling policy is in use")).build();
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Autoscaling policy is in use")).build();
         } catch (AutoscalerServicePolicyDoesNotExistExceptionException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Autoscaling policy not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Autoscaling policy not found")).build();
         }
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Autoscaling policy deleted successfully: [autoscale-policy] %s",
                         autoscalingPolicyId))).build();
     }
@@ -1374,8 +1371,8 @@ public class StratosApiV41 extends AbstractApi {
         try {
             ClusterBean clusterBean = StratosApiV41Utils.getClusterInfo(clusterId);
             if (clusterBean == null) {
-                return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                        Response.Status.NOT_FOUND.getStatusCode(), "Cluster not found")).build();
+                return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                        ResponseMessageBean.SUCCESS, "Cluster not found")).build();
             } else {
                 return Response.ok().entity(clusterBean).build();
             }
@@ -1407,15 +1404,15 @@ public class StratosApiV41 extends AbstractApi {
             StratosApiV41Utils.addTenant(tenantInfoBean);
 
         } catch (InvalidEmailException e) {
-            Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Invalid email")).build();
+            Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Invalid email")).build();
         } catch (InvalidDomainException e) {
-            Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Invalid domain")).build();
+            Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Invalid domain")).build();
         }
         URI url = uriInfo.getAbsolutePathBuilder().path(tenantInfoBean.getTenantDomain()).build();
         return Response.created(url).entity(
-                new StatusResponseBean(Response.Status.CREATED.getStatusCode(), String.format(
+                new ResponseMessageBean(ResponseMessageBean.SUCCESS, String.format(
                         "Tenant added successfully: [tenant] %s", tenantInfoBean.getTenantDomain()))).build();
     }
 
@@ -1437,23 +1434,21 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.updateExistingTenant(tenantInfoBean);
         } catch (TenantNotFoundException ex) {
-            Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Tenant not found")).build();
+            Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Tenant not found")).build();
         } catch (InvalidEmailException e) {
-            Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Invalid email")).build();
+            Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Invalid email")).build();
         } catch (Exception e) {
             String msg = "Error in updating tenant " + tenantInfoBean.getTenantDomain();
             log.error(msg, e);
             throw new RestAPIException(msg);
         }
 
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
-                String.format("Tenant updated successfully: [tenant] %s", tenantInfoBean.getTenantDomain())))
-                .build();
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+                String.format("Tenant updated successfully: [tenant] %s", tenantInfoBean.getTenantDomain()))).build();
     }
 
-
     /**
      * Gets the tenant by domain.
      *
@@ -1473,17 +1468,15 @@ public class StratosApiV41 extends AbstractApi {
         try {
             TenantInfoBean tenantInfo = StratosApiV41Utils.getTenantByDomain(tenantDomain);
             if (tenantInfo == null) {
-                return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                        Response.Status.NOT_FOUND.getStatusCode(), "Tenant information not found")).build();
+                return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                        ResponseMessageBean.SUCCESS, "Tenant information not found")).build();
             }
-
             return Response.ok().entity(tenantInfo).build();
         } catch (Exception e) {
             return Response.status(Response.Status.NOT_FOUND).build();
         }
     }
 
-
     /**
      * Delete tenant.
      *
@@ -1501,9 +1494,8 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
 
         return Response.status(Response.Status.NOT_ACCEPTABLE)
-                .entity(new StatusResponseBean(Response.Status.NOT_ACCEPTABLE.getStatusCode(),
+                .entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
                         "Please use the tenant deactivate method")).build();
-
     }
 
     /**
@@ -1583,7 +1575,7 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
 
         StratosApiV41Utils.activateTenant(tenantDomain);
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Tenant activated successfully: [tenant] %s", tenantDomain))).build();
     }
 
@@ -1604,7 +1596,7 @@ public class StratosApiV41 extends AbstractApi {
             @PathParam("tenantDomain") String tenantDomain) throws RestAPIException {
 
         StratosApiV41Utils.deactivateTenant(tenantDomain);
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Tenant deactivated successfully: [tenant] %s", tenantDomain))).build();
     }
 
@@ -1629,7 +1621,7 @@ public class StratosApiV41 extends AbstractApi {
         }
 
         StratosApiV41Utils.notifyArtifactUpdatedEvent(payload);
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Repository notification sent successfully"))).build();
     }
 
@@ -1653,7 +1645,7 @@ public class StratosApiV41 extends AbstractApi {
         StratosApiV41Utils.addUser(userInfoBean);
         log.info("Successfully added an user with Username " + userInfoBean.getUserName());
         URI url = uriInfo.getAbsolutePathBuilder().path(userInfoBean.getUserName()).build();
-        return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
+        return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("User added successfully: [user] %s", userInfoBean.getUserName()))).build();
     }
 
@@ -1674,7 +1666,7 @@ public class StratosApiV41 extends AbstractApi {
 
         StratosApiV41Utils.removeUser(userName);
         log.info("Successfully removed user: [username] " + userName);
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("User deleted successfully: [user] %s", userName))).build();
     }
 
@@ -1695,7 +1687,7 @@ public class StratosApiV41 extends AbstractApi {
 
         StratosApiV41Utils.updateUser(userInfoBean);
         log.info("Successfully updated an user with Username " + userInfoBean.getUserName());
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("User updated successfully: [user] %s", userInfoBean.getUserName()))).build();
     }
 
@@ -1731,24 +1723,24 @@ public class StratosApiV41 extends AbstractApi {
     @Path("/kubernetesClusters")
     @Produces("application/json")
     @Consumes("application/json")
-    @AuthorizationAction("/permission/admin/manage/addKubernetesHostCluster")
+    @AuthorizationAction("/permission/admin/manage/addKubernetesCluster")
     public Response addKubernetesHostCluster(
             KubernetesClusterBean kubernetesCluster) throws RestAPIException {
 
         try {
             StratosApiV41Utils.addKubernetesCluster(kubernetesCluster);
             URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesCluster.getClusterId()).build();
-            return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
-                    String.format("Kubernetes Host Cluster added successfully: [kub-host-cluster] %s",
+            return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+                    String.format("Kubernetes cluster added successfully: [kub-host-cluster] %s",
                             kubernetesCluster.getClusterId()))).build();
         } catch (RestAPIException e) {
             throw e;
         } catch (CloudControllerServiceKubernetesClusterAlreadyExistsExceptionException e) {
-            return Response.status(Response.Status.CONFLICT).entity(new StatusResponseBean(
-                    Response.Status.CONFLICT.getStatusCode(), "Kubernetes cluster already exists")).build();
+            return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Kubernetes cluster already exists")).build();
         } catch (CloudControllerServiceInvalidKubernetesClusterExceptionException e) {
-            return Response.status(Response.Status.BAD_REQUEST).entity(new StatusResponseBean(
-                    Response.Status.BAD_REQUEST.getStatusCode(), "Kubernetes cluster is invalid")).build();
+            return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Kubernetes cluster is invalid")).build();
         }
     }
 
@@ -1771,9 +1763,8 @@ public class StratosApiV41 extends AbstractApi {
 
         StratosApiV41Utils.addKubernetesHost(kubernetesClusterId, kubernetesHost);
         URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesHost.getHostId()).build();
-        return Response.created(url).entity(new StatusResponseBean(Response.Status.CREATED.getStatusCode(),
-                String.format("Kubernetes Host added successfully: [kub-host] %s", kubernetesHost.getHostId())))
-                .build();
+        return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+                String.format("Kubernetes host added successfully: [kub-host] %s", kubernetesHost.getHostId()))).build();
     }
 
     /**
@@ -1793,16 +1784,15 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.updateKubernetesMaster(kubernetesMaster);
             URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesMaster.getHostId()).build();
-            return Response.ok(url).entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
-                    String.format("Kubernetes Master updated successfully: [kub-master] %s",
+            return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+                    String.format("Kubernetes master updated successfully: [kub-master] %s",
                             kubernetesMaster.getHostId()))).build();
         } catch (RestAPIException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Kubernetes cluster not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Kubernetes cluster not found")).build();
         }
     }
 
-    //TODO: Check need for this method
     @PUT
     @Path("/kubernetes/update/host")
     @Produces("application/json")
@@ -1813,12 +1803,12 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.updateKubernetesHost(kubernetesHost);
             URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesHost.getHostId()).build();
-            return Response.ok(url).entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+            return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                     String.format("Kubernetes Host updated successfully: [kub-host] %s",
                             kubernetesHost.getHostId()))).build();
         } catch (RestAPIException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Kubernetes host not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Kubernetes host not found")).build();
         }
     }
 
@@ -1833,14 +1823,12 @@ public class StratosApiV41 extends AbstractApi {
     @Produces("application/json")
     @Consumes("application/json")
     @AuthorizationAction("/permission/admin/manage/getKubernetesHostClusters")
-    public Response getKubernetesHostClusters()
-            throws RestAPIException {
+    public Response getKubernetesHostClusters() throws RestAPIException {
         KubernetesClusterBean[] availableKubernetesClusters = StratosApiV41Utils.getAvailableKubernetesClusters();
         if (availableKubernetesClusters == null || availableKubernetesClusters.length == 0) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Kubernetes clusters not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.SUCCESS, "Kubernetes clusters not found")).build();
         }
-
         return Response.ok().entity(availableKubernetesClusters).build();
     }
 
@@ -1861,8 +1849,8 @@ public class StratosApiV41 extends AbstractApi {
         try {
             return Response.ok().entity(StratosApiV41Utils.getKubernetesCluster(kubernetesClusterId)).build();
         } catch (RestAPIException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Kubernetes cluster not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Kubernetes cluster not found")).build();
         }
     }
 
@@ -1883,8 +1871,8 @@ public class StratosApiV41 extends AbstractApi {
         try {
             return Response.ok().entity(StratosApiV41Utils.getKubernetesHosts(kubernetesClusterId)).build();
         } catch (RestAPIException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Kubernetes hosts not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Kubernetes hosts not found")).build();
         }
     }
 
@@ -1905,8 +1893,8 @@ public class StratosApiV41 extends AbstractApi {
         try {
             return Response.ok().entity(StratosApiV41Utils.getKubernetesMaster(kubernetesClusterId)).build();
         } catch (RestAPIException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Kubernetes cluster not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Kubernetes cluster not found")).build();
         }
     }
 
@@ -1928,11 +1916,11 @@ public class StratosApiV41 extends AbstractApi {
             StratosApiV41Utils.removeKubernetesCluster(kubernetesClusterId);
         } catch (CloudControllerServiceNonExistingKubernetesClusterExceptionException e) {
             return Response.status(Response.Status.NOT_FOUND)
-                    .entity(new StatusResponseBean(Response.Status.NOT_FOUND.getStatusCode(),
+                    .entity(new ResponseMessageBean(ResponseMessageBean.ERROR,
                             String.format("Could not find specified Kubernetes cluster: [kub-cluster] %s",
                                     kubernetesClusterId))).build();
         }
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Kubernetes Cluster removed successfully: [kub-cluster] %s", kubernetesClusterId)))
                 .build();
     }
@@ -1955,10 +1943,10 @@ public class StratosApiV41 extends AbstractApi {
         try {
             StratosApiV41Utils.removeKubernetesHost(kubernetesHostId);
         } catch (RestAPIException e) {
-            return Response.status(Response.Status.NOT_FOUND).entity(new StatusResponseBean(
-                    Response.Status.NOT_FOUND.getStatusCode(), "Kubernetes cluster not found")).build();
+            return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "Kubernetes cluster not found")).build();
         }
-        return Response.ok().entity(new StatusResponseBean(Response.Status.OK.getStatusCode(),
+        return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
                 String.format("Kubernetes Host removed successfully: [kub-host] %s", kubernetesHostId)))
                 .build();
     }