Updated Branches: refs/heads/master b9adfbf0c -> 1c2453a4a
adding a method to retreive LB cartridges Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/1c2453a4 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/1c2453a4 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/1c2453a4 Branch: refs/heads/master Commit: 1c2453a4a7961e2d24752136aa2f0c5177b6cf69 Parents: b9adfbf Author: rekathiru <[email protected]> Authored: Tue Feb 11 14:31:37 2014 +0530 Committer: rekathiru <[email protected]> Committed: Tue Feb 11 14:31:37 2014 +0530 ---------------------------------------------------------------------- .../stratos/rest/endpoint/mock/MockContext.java | 4 ++++ .../rest/endpoint/mock/StratosTestAdmin.java | 9 ++++++++- .../rest/endpoint/services/ServiceUtils.java | 19 ++++++++++++++++++- .../rest/endpoint/services/StratosAdmin.java | 10 ++++++++++ .../main/webapp/stratos/WEB-INF/cxf-servlet.xml | 2 +- 5 files changed, 41 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1c2453a4/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 b3897ce..65ca093 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 @@ -130,6 +130,10 @@ public class MockContext { return tenantMap.get(tenantDomain); } + public Cartridge getCartridgeInfo(String alias){ + return subscribedCartridges.get(alias); + } + public void deleteTenant(String tenantDomain) { tenantMap.remove(tenantDomain); } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1c2453a4/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java index 79704f1..491a424 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java @@ -99,7 +99,14 @@ public class StratosTestAdmin { } - + @GET + @Path("/cartridge/info/{subscriptionAlias}") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + public Cartridge getCartridgeInfo(@PathParam("subscriptionAlias") String subscriptionAlias) throws ADCException { + return MockContext.getInstance().getCartridgeInfo(subscriptionAlias); + } @POST http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1c2453a4/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 8fd6d52..3edb420 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 @@ -38,6 +38,7 @@ import org.apache.stratos.manager.utils.CartridgeConstants; import org.apache.stratos.manager.utils.PersistenceManager; import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; import org.apache.stratos.cloud.controller.pojo.Properties; +import org.apache.stratos.cloud.controller.pojo.Property; import org.apache.stratos.messaging.domain.topology.Cluster; import org.apache.stratos.messaging.domain.topology.Member; import org.apache.stratos.messaging.domain.topology.MemberStatus; @@ -408,6 +409,16 @@ public class ServiceUtils { throw new RestAPIException("cannot find the required cartridge Type") ; } + static Cartridge getAvailableLbCartridges(Boolean multiTenant, ConfigurationContext configurationContext) throws ADCException, RestAPIException { + List<Cartridge> cartridges = getAvailableCartridges(null, multiTenant, configurationContext); + for(Cartridge cartridge : cartridges) { + /*if(cartridge.getCartridgeType().equals()) { + return cartridge; + }*/ + } + throw new RestAPIException("cannot find the required cartridge Type") ; + } + static List<Cartridge> getAvailableCartridges(String cartridgeSearchString, Boolean multiTenant, ConfigurationContext configurationContext) throws ADCException { List<Cartridge> cartridges = new ArrayList<Cartridge>(); @@ -462,12 +473,18 @@ public class ServiceUtils { cartridge.setVersion(cartridgeInfo.getVersion()); cartridge.setMultiTenant(cartridgeInfo.getMultiTenant()); cartridge.setHostName(cartridgeInfo.getHostName()); - //cartridge.setDefaultAutoscalingPolicy(cartridgeInfo.getDefaultAutoscalingPolicy()); //cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED); cartridge.setCartridgeAlias("-"); + for(Property property: cartridgeInfo.getLbConfig().getProperties().getProperties()) { + if(property.getName().equals("load.balancer")) { + cartridge.setLoadBalancer(true); + } + + } //cartridge.setActiveInstances(0); cartridges.add(cartridge); + if (cartridgeInfo.getMultiTenant() && !allowMultipleSubscription) { // If the cartridge is multi-tenant. We should not let users // createSubscription twice. http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1c2453a4/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 c85065e..ed3faa8 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 @@ -315,6 +315,16 @@ public class StratosAdmin extends AbstractAdmin { } @GET + @Path("/cartridge/lb") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + public Cartridge getAvailableLbCartridges() + throws ADCException, RestAPIException { + return ServiceUtils.getAvailableLbCartridges(false, getConfigContext()); + } + + @GET @Path("/cartridge/active/{cartridgeType}/{subscriptionAlias}") @Produces("application/json") @Consumes("application/json") http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1c2453a4/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/cxf-servlet.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/cxf-servlet.xml b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/cxf-servlet.xml index c2b252c..1d682c3 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/cxf-servlet.xml +++ b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/cxf-servlet.xml @@ -66,7 +66,7 @@ <value>member</value> <value>hostNames</value> <value>portMappings</value> - <value>cartridge</value> + <!--value>cartridge</value--> </list> </property> </bean>
