You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2015/05/20 13:50:53 UTC
[3/3] stratos git commit: Handling backend exceptions for client side
for the application addition and udpate
Handling backend exceptions for client side for the application addition and udpate
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/65599e5f
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/65599e5f
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/65599e5f
Branch: refs/heads/master
Commit: 65599e5fc6752367df85a8144b346c78b58e2c79
Parents: 764f7db
Author: reka <rt...@gmail.com>
Authored: Wed May 20 11:40:00 2015 +0530
Committer: reka <rt...@gmail.com>
Committed: Wed May 20 17:03:48 2015 +0530
----------------------------------------------------------------------
.../applications/parser/ApplicationParser.java | 4 +-
.../parser/DefaultApplicationParser.java | 33 +-
.../CartridgeGroupNotFoundException.java | 17 +-
.../cartridge/CartridgeNotFoundException.java | 37 ++
.../autoscaler/services/AutoscalerService.java | 5 +-
.../services/impl/AutoscalerServiceImpl.java | 7 +-
.../common/client/AutoscalerServiceClient.java | 8 +-
.../rest/endpoint/api/StratosApiV41.java | 39 +-
.../rest/endpoint/api/StratosApiV41Utils.java | 4 +-
.../src/main/resources/AutoscalerService.wsdl | 589 ++++++++++---------
10 files changed, 446 insertions(+), 297 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/65599e5f/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java
index 6119e0e..5ef391f 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java
@@ -22,7 +22,9 @@ package org.apache.stratos.autoscaler.applications.parser;
import org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext;
import org.apache.stratos.autoscaler.applications.pojo.ApplicationContext;
+import org.apache.stratos.autoscaler.exception.CartridgeGroupNotFoundException;
import org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
+import org.apache.stratos.autoscaler.exception.cartridge.CartridgeNotFoundException;
import org.apache.stratos.common.Properties;
import org.apache.stratos.messaging.domain.application.Application;
@@ -41,7 +43,7 @@ public interface ApplicationParser {
* @return Application structure denoting the parsed Application
* @throws ApplicationDefinitionException If the Application Definition is invalid
*/
- public Application parse(ApplicationContext applicationContext) throws ApplicationDefinitionException;
+ public Application parse(ApplicationContext applicationContext) throws ApplicationDefinitionException, CartridgeGroupNotFoundException, CartridgeNotFoundException;
/**
* Returns a set of ApplicationClusterContext which will comprise of cluster related information
http://git-wip-us.apache.org/repos/asf/stratos/blob/65599e5f/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
index fd88d06..87dc0fc 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
@@ -33,7 +33,9 @@ import org.apache.stratos.autoscaler.applications.pojo.*;
import org.apache.stratos.autoscaler.client.IdentityApplicationManagementServiceClient;
import org.apache.stratos.autoscaler.client.OAuthAdminServiceClient;
import org.apache.stratos.autoscaler.exception.AutoScalerException;
+import org.apache.stratos.autoscaler.exception.CartridgeGroupNotFoundException;
import org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
+import org.apache.stratos.autoscaler.exception.cartridge.CartridgeNotFoundException;
import org.apache.stratos.autoscaler.pojo.ServiceGroup;
import org.apache.stratos.autoscaler.pojo.policy.PolicyManager;
import org.apache.stratos.autoscaler.pojo.policy.autoscale.AutoscalePolicy;
@@ -72,7 +74,9 @@ public class DefaultApplicationParser implements ApplicationParser {
}
@Override
- public Application parse(ApplicationContext applicationContext) throws ApplicationDefinitionException {
+ public Application parse(ApplicationContext applicationContext)
+ throws ApplicationDefinitionException, CartridgeGroupNotFoundException,
+ CartridgeNotFoundException {
if (applicationContext == null) {
handleError("Invalid application definition, application context is null");
@@ -241,7 +245,7 @@ public class DefaultApplicationParser implements ApplicationParser {
*/
private Application buildCompositeAppStructure(ApplicationContext applicationContext,
Map<String, SubscribableInfoContext> subscribableInfoCtxts)
- throws ApplicationDefinitionException {
+ throws ApplicationDefinitionException, CartridgeGroupNotFoundException, CartridgeNotFoundException {
Application application = new Application(applicationContext.getApplicationId());
@@ -343,7 +347,7 @@ public class DefaultApplicationParser implements ApplicationParser {
*/
private Map<String, Map<String, ClusterDataHolder>> parseLeafLevelSubscriptions(
String appId, int tenantId, String key, String groupName,
- List<CartridgeContext> cartridgeContextList, Set<StartupOrder> dependencyOrder) throws ApplicationDefinitionException {
+ List<CartridgeContext> cartridgeContextList, Set<StartupOrder> dependencyOrder) throws ApplicationDefinitionException, CartridgeNotFoundException {
Map<String, Map<String, ClusterDataHolder>> completeDataHolder = new HashMap<String, Map<String, ClusterDataHolder>>();
Map<String, ClusterDataHolder> clusterDataMap = new HashMap<String, ClusterDataHolder>();
@@ -361,7 +365,7 @@ public class DefaultApplicationParser implements ApplicationParser {
Cartridge cartridge = getCartridge(cartridgeType);
if (cartridge == null) {
- throw new RuntimeException("Cartridge not found: " + cartridgeType);
+ throw new CartridgeNotFoundException("Cartridge not found " + cartridgeType);
}
// Add metadata keys defined in cartridges as export metadata keys
@@ -398,10 +402,12 @@ public class DefaultApplicationParser implements ApplicationParser {
String[] arrStartUp = startupOrderComponent.split("\\.");
if (arrStartUp[0].equals("cartridge")) {
String cartridgeAlias = arrStartUp[1];
- String dependentCartridgeType = findCartridgeTypeFromAlias(cartridgeContextList, cartridgeAlias);
+ String dependentCartridgeType =
+ findCartridgeTypeFromAlias(cartridgeContextList, cartridgeAlias);
if (StringUtils.isBlank(dependentCartridgeType)) {
- throw new RuntimeException(String.format("Could not find dependent cartridge for " +
- "cartridge alias: [application] %s [cartridge-alias] %s", appId, cartridgeAlias));
+ throw new CartridgeNotFoundException(
+ String.format("Could not find dependent cartridge for " +
+ "application: %s cartridge-alias: %s", appId, cartridgeAlias));
}
Cartridge dependencyCartridge = getCartridge(dependentCartridgeType);
ClusterDataHolder dataHolder = clusterDataMapByType.get(dependentCartridgeType);
@@ -557,14 +563,15 @@ public class DefaultApplicationParser implements ApplicationParser {
*/
private Map<String, Group> parseGroups(String appId, int tenantId, String key, List<GroupContext> groupCtxts,
Map<String, SubscribableInfoContext> subscribableInformation)
- throws ApplicationDefinitionException {
+ throws ApplicationDefinitionException, CartridgeGroupNotFoundException, CartridgeNotFoundException {
Map<String, Group> groupAliasToGroup = new HashMap<String, Group>();
for (GroupContext groupCtxt : groupCtxts) {
ServiceGroup serviceGroup = getServiceGroup(groupCtxt.getName());
if (serviceGroup == null) {
- throw new RuntimeException("Cartridge group not found: [group-name] " + groupCtxt.getName());
+ throw new CartridgeGroupNotFoundException("Cartridge group not found group-name: "
+ + groupCtxt.getName());
}
Group group = parseGroup(appId, tenantId, key, groupCtxt, subscribableInformation, serviceGroup);
validateCartridgeGroupReference(appId, serviceGroup, group);
@@ -584,11 +591,13 @@ public class DefaultApplicationParser implements ApplicationParser {
* @param serviceGroup
* @param group
*/
- private void validateCartridgeGroupReference(String applicationId, ServiceGroup serviceGroup, Group group) {
+ private void validateCartridgeGroupReference(String applicationId,
+ ServiceGroup serviceGroup, Group group)
+ throws CartridgeNotFoundException {
List<String> cartridgeTypes = findCartridgeTypesInServiceGroup(serviceGroup);
for (String cartridgeType : cartridgeTypes) {
if (findClusterDataInGroup(group, cartridgeType) == null) {
- throw new RuntimeException(String.format("Cartridge %s not defined in cartridge group: " +
+ throw new CartridgeNotFoundException(String.format("Cartridge %s not defined in cartridge group: " +
"[application] %s [cartridge-group-name] %s [cartridge-group-alias] %s",
cartridgeType, applicationId, group.getName(), group.getAlias()));
}
@@ -704,7 +713,7 @@ public class DefaultApplicationParser implements ApplicationParser {
private Group parseGroup(String appId, int tenantId, String key, GroupContext groupCtxt,
Map<String, SubscribableInfoContext> subscribableInfoCtxts,
ServiceGroup serviceGroup)
- throws ApplicationDefinitionException {
+ throws ApplicationDefinitionException, CartridgeNotFoundException {
Group group = new Group(appId, groupCtxt.getName(), groupCtxt.getAlias());
group.setGroupScalingEnabled(groupCtxt.getGroupMaxInstances() > 1);
http://git-wip-us.apache.org/repos/asf/stratos/blob/65599e5f/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/CartridgeGroupNotFoundException.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/CartridgeGroupNotFoundException.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/CartridgeGroupNotFoundException.java
index 8b1587e..ae80b4a 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/CartridgeGroupNotFoundException.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/CartridgeGroupNotFoundException.java
@@ -18,8 +18,21 @@
*/
package org.apache.stratos.autoscaler.exception;
+/**
+ * This will get thrown when create/deploy the application, the relevant
+ * cartridge group is not found
+ */
public class CartridgeGroupNotFoundException extends Exception {
- public CartridgeGroupNotFoundException(String msg) {
- super(msg);
+ private String message;
+
+ public CartridgeGroupNotFoundException(String message) {
+ super(message);
+ this.message = message;
+ }
+
+
+ @Override
+ public String getMessage() {
+ return message;
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/65599e5f/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/cartridge/CartridgeNotFoundException.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/cartridge/CartridgeNotFoundException.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/cartridge/CartridgeNotFoundException.java
new file mode 100644
index 0000000..6ff72ad
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/cartridge/CartridgeNotFoundException.java
@@ -0,0 +1,37 @@
+/*
+ * 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.autoscaler.exception.cartridge;
+
+/**
+ * When cartridge is not there, this particular exception needs to be thrown
+ */
+public class CartridgeNotFoundException extends Exception {
+ private String message;
+
+ public CartridgeNotFoundException(String message) {
+ super(message);
+ this.message = message;
+ }
+
+
+ @Override
+ public String getMessage() {
+ return message;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/65599e5f/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
index cf53668..8af3b56 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
@@ -26,6 +26,7 @@ import org.apache.stratos.autoscaler.exception.*;
import org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
import org.apache.stratos.autoscaler.exception.application.InvalidApplicationPolicyException;
import org.apache.stratos.autoscaler.exception.application.InvalidServiceGroupException;
+import org.apache.stratos.autoscaler.exception.cartridge.CartridgeNotFoundException;
import org.apache.stratos.autoscaler.exception.policy.*;
import org.apache.stratos.autoscaler.pojo.ServiceGroup;
import org.apache.stratos.autoscaler.pojo.policy.autoscale.AutoscalePolicy;
@@ -85,7 +86,7 @@ public interface AutoscalerService {
* @param applicationContext {@link ApplicationContext}
* @throws ApplicationDefinitionException if an error occurs
*/
- public boolean addApplication(ApplicationContext applicationContext) throws ApplicationDefinitionException;
+ public boolean addApplication(ApplicationContext applicationContext) throws ApplicationDefinitionException, CartridgeGroupNotFoundException, CartridgeNotFoundException;
/**
* update an application
@@ -93,7 +94,7 @@ public interface AutoscalerService {
* @param applicationContext {@link org.apache.stratos.autoscaler.applications.pojo.ApplicationContext}
* @throws ApplicationDefinitionException if an error occurs
*/
- public boolean updateApplication(ApplicationContext applicationContext) throws ApplicationDefinitionException;
+ public boolean updateApplication(ApplicationContext applicationContext) throws ApplicationDefinitionException, CartridgeGroupNotFoundException, CartridgeNotFoundException;
/**
http://git-wip-us.apache.org/repos/asf/stratos/blob/65599e5f/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index 6f5ff51..4a09de4 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -36,6 +36,7 @@ import org.apache.stratos.autoscaler.exception.*;
import org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
import org.apache.stratos.autoscaler.exception.application.InvalidApplicationPolicyException;
import org.apache.stratos.autoscaler.exception.application.InvalidServiceGroupException;
+import org.apache.stratos.autoscaler.exception.cartridge.CartridgeNotFoundException;
import org.apache.stratos.autoscaler.exception.policy.*;
import org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor;
import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
@@ -153,7 +154,8 @@ public class AutoscalerServiceImpl implements AutoscalerService {
@Override
public boolean addApplication(ApplicationContext applicationContext)
- throws ApplicationDefinitionException {
+ throws ApplicationDefinitionException, CartridgeGroupNotFoundException,
+ CartridgeNotFoundException {
if (log.isInfoEnabled()) {
log.info(String.format("Adding application: [application-id] %s",
@@ -181,7 +183,8 @@ public class AutoscalerServiceImpl implements AutoscalerService {
@Override
public boolean updateApplication(ApplicationContext applicationContext)
- throws ApplicationDefinitionException {
+ throws ApplicationDefinitionException, CartridgeGroupNotFoundException,
+ CartridgeNotFoundException {
String applicationId = applicationContext.getApplicationId();
if (log.isInfoEnabled()) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/65599e5f/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
index 720d264..5d6bf16 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
@@ -91,12 +91,16 @@ public class AutoscalerServiceClient {
}
public void addApplication(ApplicationContext applicationContext)
- throws AutoscalerServiceApplicationDefinitionExceptionException, RemoteException {
+ throws AutoscalerServiceApplicationDefinitionExceptionException,
+ RemoteException, AutoscalerServiceCartridgeNotFoundExceptionException,
+ AutoscalerServiceCartridgeGroupNotFoundExceptionException {
stub.addApplication(applicationContext);
}
public void updateApplication(ApplicationContext applicationContext)
- throws AutoscalerServiceApplicationDefinitionExceptionException, RemoteException {
+ throws AutoscalerServiceApplicationDefinitionExceptionException,
+ RemoteException, AutoscalerServiceCartridgeNotFoundExceptionException,
+ AutoscalerServiceCartridgeGroupNotFoundExceptionException {
stub.updateApplication(applicationContext);
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/65599e5f/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 7e25e8e..7b50e40 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
@@ -699,16 +699,27 @@ public class StratosApiV41 extends AbstractApi {
@AuthorizationAction("/permission/protected/manage/addApplication")
public Response addApplication(ApplicationBean applicationDefinition) throws RestAPIException {
try {
- StratosApiV41Utils.addApplication(applicationDefinition, getConfigContext(), getUsername(), getTenantDomain());
+ StratosApiV41Utils.addApplication(applicationDefinition, getConfigContext(),
+ getUsername(), getTenantDomain());
+
URI url = uriInfo.getAbsolutePathBuilder().path(applicationDefinition.getApplicationId()).build();
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 ResponseMessageBean(
ResponseMessageBean.ERROR, "Application already exists")).build();
+ } catch (AutoscalerServiceCartridgeNotFoundExceptionException e) {
+ String backendErrorMessage = e.getFaultMessage().getCartridgeNotFoundException().
+ getMessage();
+ return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+ ResponseMessageBean.ERROR, backendErrorMessage)).build();
+ } catch (AutoscalerServiceCartridgeGroupNotFoundExceptionException e) {
+ String backendErrorMessage = e.getFaultMessage().getCartridgeGroupNotFoundException().
+ getMessage();
+ return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+ ResponseMessageBean.ERROR, backendErrorMessage)).build();
} catch (RestAPIException e) {
throw e;
}
@@ -728,11 +739,25 @@ public class StratosApiV41 extends AbstractApi {
@AuthorizationAction("/permission/protected/manage/addApplication")
public Response updateApplication(ApplicationBean applicationDefinition) throws RestAPIException {
- StratosApiV41Utils.updateApplication(applicationDefinition, getConfigContext(), getUsername(), getTenantDomain());
- URI url = uriInfo.getAbsolutePathBuilder().path(applicationDefinition.getApplicationId()).build();
- return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
- String.format("Application updated successfully: [application] %s",
- applicationDefinition.getApplicationId()))).build();
+ try {
+ StratosApiV41Utils.updateApplication(applicationDefinition, getConfigContext(),
+ getUsername(), getTenantDomain());
+ URI url = uriInfo.getAbsolutePathBuilder().path(applicationDefinition.getApplicationId()).build();
+ return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
+ String.format("Application updated successfully: [application] %s",
+ applicationDefinition.getApplicationId()))).build();
+ } catch (AutoscalerServiceCartridgeNotFoundExceptionException e) {
+ String backendErrorMessage = e.getFaultMessage().getCartridgeNotFoundException().
+ getMessage();
+ return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+ ResponseMessageBean.ERROR, backendErrorMessage)).build();
+ } catch (AutoscalerServiceCartridgeGroupNotFoundExceptionException e) {
+ String backendErrorMessage = e.getFaultMessage().getCartridgeGroupNotFoundException().
+ getMessage();
+ return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
+ ResponseMessageBean.ERROR, backendErrorMessage)).build();
+ }
+
}
/**
http://git-wip-us.apache.org/repos/asf/stratos/blob/65599e5f/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 42612a7..9fd3413 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -1335,7 +1335,7 @@ public class StratosApiV41Utils {
*/
public static void addApplication(ApplicationBean appDefinition, ConfigurationContext ctxt,
String userName, String tenantDomain)
- throws RestAPIException {
+ throws RestAPIException, AutoscalerServiceCartridgeNotFoundExceptionException, AutoscalerServiceCartridgeGroupNotFoundExceptionException {
if (StringUtils.isBlank(appDefinition.getApplicationId())) {
String message = "Please specify the application name";
@@ -1408,7 +1408,7 @@ public class StratosApiV41Utils {
*/
public static void updateApplication(ApplicationBean appDefinition, ConfigurationContext ctxt,
String userName, String tenantDomain)
- throws RestAPIException {
+ throws RestAPIException, AutoscalerServiceCartridgeNotFoundExceptionException, AutoscalerServiceCartridgeGroupNotFoundExceptionException {
if (StringUtils.isBlank(appDefinition.getApplicationId())) {
String message = "Please specify the application name";