Updated Branches: refs/heads/master a29e35132 -> 30245882f
fixing https://issues.apache.org/jira/browse/STRATOS-450 - back-end Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/48101310 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/48101310 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/48101310 Branch: refs/heads/master Commit: 48101310128e108f705e68554637617bac3c0104 Parents: 64a5cc8 Author: Nirmal Fernando <[email protected]> Authored: Fri Feb 14 15:50:13 2014 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Fri Feb 14 15:50:13 2014 +0530 ---------------------------------------------------------------------- .../rest/endpoint/services/ServiceUtils.java | 17 +++++++++++++++-- .../rest/endpoint/services/StratosAdmin.java | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/48101310/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 2ff0ff4..3f6b7e1 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 @@ -20,6 +20,7 @@ package org.apache.stratos.rest.endpoint.services; import org.apache.axis2.AxisFault; import org.apache.axis2.context.ConfigurationContext; +import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; @@ -58,6 +59,8 @@ import org.apache.stratos.rest.endpoint.exception.RestAPIException; import java.util.*; import java.util.regex.Pattern; +import javax.ws.rs.core.Response; + public class ServiceUtils { public static final String IS_VOLUME_REQUIRED = "volume.required"; public static final String SHOULD_DELETE_VOLUME = "volume.delete.on.unsubscription"; @@ -620,6 +623,9 @@ public class ServiceUtils { continue; } Cartridge cartridge = getCartridgeFromSubscription(subscription); + if (cartridge == null) { + continue; + } Cluster cluster = TopologyClusterInformationModel.getInstance().getCluster(ApplicationManagementUtil.getTenantId(configurationContext) ,cartridge.getCartridgeType(), cartridge.getCartridgeAlias()); String cartridgeStatus = "Inactive"; @@ -658,11 +664,14 @@ public class ServiceUtils { } - static Cartridge getSubscription(String cartridgeAlias, ConfigurationContext configurationContext) throws ADCException { + static Cartridge getSubscription(String cartridgeAlias, ConfigurationContext configurationContext) throws RestAPIException { Cartridge cartridge = getCartridgeFromSubscription(cartridgeSubsciptionManager.getCartridgeSubscription(ApplicationManagementUtil. getTenantId(configurationContext), cartridgeAlias)); + if (cartridge == null) { + throw new RestAPIException(Response.Status.NOT_FOUND, "Unregistered [alias]: "+cartridgeAlias+"! Please enter a valid alias."); + } Cluster cluster = TopologyClusterInformationModel.getInstance().getCluster(ApplicationManagementUtil.getTenantId(configurationContext) ,cartridge.getCartridgeType(), cartridge.getCartridgeAlias()); String cartridgeStatus = "Inactive"; @@ -692,8 +701,12 @@ public class ServiceUtils { return noOfActiveInstances; } - private static Cartridge getCartridgeFromSubscription (CartridgeSubscription subscription) throws ADCException { + private static Cartridge getCartridgeFromSubscription (CartridgeSubscription subscription) throws RestAPIException { + if (subscription == null) { + return null; + } + Cartridge cartridge = new Cartridge(); cartridge.setCartridgeType(subscription.getCartridgeInfo().getType()); cartridge.setMultiTenant(subscription.getCartridgeInfo().getMultiTenant()); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/48101310/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java index c2ac392..cd907fd 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java @@ -316,7 +316,7 @@ public class StratosAdmin extends AbstractAdmin { @Produces("application/json") @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") - public Cartridge getCartridgeInfo(@PathParam("subscriptionAlias") String subscriptionAlias) throws ADCException { + public Cartridge getCartridgeInfo(@PathParam("subscriptionAlias") String subscriptionAlias) throws RestAPIException { return ServiceUtils.getSubscription(subscriptionAlias, getConfigContext()); }
