Fixing an accidental code revert in ServiceUtils. Handling exceptions in cartridge deployment.
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/2bc98e52 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/2bc98e52 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/2bc98e52 Branch: refs/heads/docker-integration Commit: 2bc98e5272aee4d12a0a860af462e04f26d90258 Parents: 1ce3608 Author: sajhak <[email protected]> Authored: Mon Sep 15 18:33:51 2014 +0530 Committer: sajhak <[email protected]> Committed: Mon Sep 15 18:34:22 2014 +0530 ---------------------------------------------------------------------- .../deploy/cartridge/CartridgeDeployer.java | 5 ++- .../cartridge/DefaultCartridgeDeployer.java | 12 +++-- .../rest/endpoint/services/ServiceUtils.java | 46 ++++++-------------- 3 files changed, 25 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/2bc98e52/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/CartridgeDeployer.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/CartridgeDeployer.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/CartridgeDeployer.java index 376d55e..b4b63eb 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/CartridgeDeployer.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/CartridgeDeployer.java @@ -19,10 +19,11 @@ package org.apache.stratos.manager.deploy.cartridge; import org.apache.stratos.cloud.controller.stub.pojo.CartridgeConfig; +import org.apache.stratos.manager.exception.ADCException; public abstract class CartridgeDeployer { - public final void deploy(CartridgeConfig cartridgeConfig) { + public final void deploy(CartridgeConfig cartridgeConfig) throws ADCException { preDeployment(); deployCartridge(cartridgeConfig); postDeployment(); @@ -30,7 +31,7 @@ public abstract class CartridgeDeployer { protected abstract void preDeployment(); - protected abstract void deployCartridge(CartridgeConfig cartridgeConfig); + protected abstract void deployCartridge(CartridgeConfig cartridgeConfig) throws ADCException; protected abstract void postDeployment(); http://git-wip-us.apache.org/repos/asf/stratos/blob/2bc98e52/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java index 9b2a25a..1865c19 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java @@ -18,11 +18,16 @@ */ package org.apache.stratos.manager.deploy.cartridge; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.stratos.cloud.controller.stub.pojo.CartridgeConfig; import org.apache.stratos.manager.client.CloudControllerServiceClient; +import org.apache.stratos.manager.exception.ADCException; public class DefaultCartridgeDeployer extends CartridgeDeployer{ + private static Log log = LogFactory.getLog(DefaultCartridgeDeployer.class); + @Override protected void preDeployment() { @@ -35,13 +40,14 @@ public class DefaultCartridgeDeployer extends CartridgeDeployer{ } @Override - protected void deployCartridge(CartridgeConfig cartridgeConfig) { + protected void deployCartridge(CartridgeConfig cartridgeConfig) throws ADCException { try { CloudControllerServiceClient cloudControllerServiceClient = CloudControllerServiceClient.getServiceClient(); cloudControllerServiceClient.deployCartridgeDefinition(cartridgeConfig); } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + String msg = "Exception in deploying the cartridge. "; + log.error(msg + e.getMessage()); + throw new ADCException(msg); } } http://git-wip-us.apache.org/repos/asf/stratos/blob/2bc98e52/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java index 475f124..d8fc8ac 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java @@ -33,6 +33,7 @@ import org.apache.stratos.cloud.controller.stub.pojo.CartridgeInfo; import org.apache.stratos.cloud.controller.stub.pojo.Property; import org.apache.stratos.manager.client.AutoscalerServiceClient; import org.apache.stratos.manager.client.CloudControllerServiceClient; +import org.apache.stratos.manager.deploy.cartridge.CartridgeDeploymentManager; import org.apache.stratos.manager.deploy.service.Service; import org.apache.stratos.manager.deploy.service.ServiceDeploymentManager; import org.apache.stratos.manager.dto.Cartridge; @@ -96,39 +97,18 @@ public class ServiceUtils { static void deployCartridge(CartridgeDefinitionBean cartridgeDefinitionBean, ConfigurationContext ctxt, String userName, String tenantDomain) throws RestAPIException { - log.info("Starting to deploy a Cartridge [type] " + cartridgeDefinitionBean.type); - - CloudControllerServiceClient cloudControllerServiceClient = getCloudControllerServiceClient(); - - if (cloudControllerServiceClient != null) { - - CartridgeConfig cartridgeConfig = PojoConverter.populateCartridgeConfigPojo(cartridgeDefinitionBean); - - if (cartridgeConfig == null) { - throw new RestAPIException("Populated CartridgeConfig instance is null, cartridge deployment aborted"); - } - - - // call CC - try { - cloudControllerServiceClient - .deployCartridgeDefinition(cartridgeConfig); - } catch (RemoteException e) { - log.error(e.getMessage(), e); - throw new RestAPIException(e.getMessage(), e); - } catch (CloudControllerServiceInvalidCartridgeDefinitionExceptionException e) { - String message = e.getFaultMessage().getInvalidCartridgeDefinitionException().getMessage(); - log.error(message, e); - throw new RestAPIException(message, e); - } catch (CloudControllerServiceInvalidIaasProviderExceptionException e) { - String message = e.getFaultMessage().getInvalidIaasProviderException().getMessage(); - log.error(message, e); - throw new RestAPIException(message, e); - } - - log.info("Successfully deployed Cartridge [type] " + cartridgeDefinitionBean.type); - - } + log.info("Starting to deploy a Cartridge [type] "+ cartridgeDefinitionBean.type); + + CartridgeConfig cartridgeConfig = PojoConverter.populateCartridgeConfigPojo(cartridgeDefinitionBean); + if (cartridgeConfig == null) { + throw new RestAPIException("Populated CartridgeConfig instance is null, cartridge deployment aborted"); + } + try { + CartridgeDeploymentManager.getDeploymentManager(cartridgeDefinitionBean.deployerType).deploy(cartridgeConfig); + } catch (ADCException e) { + throw new RestAPIException(e.getMessage()); + } + log.info("Successfully deployed Cartridge [type] "+ cartridgeDefinitionBean.type); } @SuppressWarnings("unused")
