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 <[email protected]> Authored: Wed May 20 11:40:00 2015 +0530 Committer: reka <[email protected]> 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";
