Updated Branches: refs/heads/master 830590280 -> 3cc377d28
committing various methods relevant to DeploymentPolicies, PartitionGroups and Partitions in Rest API Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/e8d08860 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/e8d08860 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/e8d08860 Branch: refs/heads/master Commit: e8d088602cfdff0baa99a04bd5f4899c565bb6b1 Parents: 28cc614 Author: Isuru <[email protected]> Authored: Fri Dec 6 20:06:11 2013 +0530 Committer: Isuru <[email protected]> Committed: Fri Dec 6 20:06:11 2013 +0530 ---------------------------------------------------------------------- .../adc/mgt/client/AutoscalerServiceClient.java | 101 ++++++++++++++- .../bean/util/converter/PojoConverter.java | 122 +++++++++++++++---- .../rest/endpoint/services/ServiceUtils.java | 119 +++++++++++++++++- .../rest/endpoint/services/StratosAdmin.java | 68 ++++++++++- 4 files changed, 381 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e8d08860/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java index 43ae838..7fbc8c5 100644 --- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java +++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java @@ -61,12 +61,12 @@ public class AutoscalerServiceClient { return serviceClient; } - public org.apache.stratos.cloud.controller.deployment.partition.Partition[] getAvailablePartitions () + /*public org.apache.stratos.cloud.controller.deployment.partition.Partition[] getAvailablePartitions () throws Exception { org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions; try { - partitions = stub.getAllAvailablePartitions(); + partitions = stub.get; } catch (RemoteException e) { String errorMsg = "Error in getting available partitions"; @@ -75,6 +75,55 @@ public class AutoscalerServiceClient { } return partitions; + }*/ + + public org.apache.stratos.cloud.controller.deployment.partition.Partition getPartition (String partitionId) + throws Exception{ + + org.apache.stratos.cloud.controller.deployment.partition.Partition partition; + try { + partition = stub.getPartition(partitionId); + + } catch (RemoteException e) { + String errorMsg = "Error in getting available partitions"; + log.error(errorMsg, e); + throw new Exception(errorMsg, e); + } + + return partition; + } + + public org.apache.stratos.cloud.controller.deployment.partition.Partition [] getPartitions (String deploymentPolicyId, + String partitionGroupId) + throws Exception{ + + org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions; + try { + partitions = stub.getPartitions(deploymentPolicyId, partitionGroupId); + + } catch (RemoteException e) { + String errorMsg = "Error in getting available partitions"; + log.error(errorMsg, e); + throw new Exception(errorMsg, e); + } + + return partitions; + } + + public org.apache.stratos.autoscaler.partition.xsd.PartitionGroup [] getPartitionGroups (String deploymentPolicyId) + throws Exception{ + + org.apache.stratos.autoscaler.partition.xsd.PartitionGroup [] partitionGroups; + try { + partitionGroups = stub.getPartitionGroups(deploymentPolicyId); + + } catch (RemoteException e) { + String errorMsg = "Error in getting available partitions"; + log.error(errorMsg, e); + throw new Exception(errorMsg, e); + } + + return partitionGroups; } public org.apache.stratos.autoscaler.policy.model.AutoscalePolicy[] getAutoScalePolicies () @@ -93,6 +142,22 @@ public class AutoscalerServiceClient { return autoscalePolicies; } + public org.apache.stratos.autoscaler.policy.model.AutoscalePolicy getAutoScalePolicy (String autoscalingPolicyId) + throws Exception { + + org.apache.stratos.autoscaler.policy.model.AutoscalePolicy autoscalePolicy; + try { + autoscalePolicy = stub.getAutoscalingPolicy(autoscalingPolicyId); + + } catch (RemoteException e) { + String errorMsg = "Error in getting available partitions"; + log.error(errorMsg, e); + throw new Exception(errorMsg, e); + } + + return autoscalePolicy; + } + public org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy [] getDeploymentPolicies() throws Exception { @@ -108,4 +173,36 @@ public class AutoscalerServiceClient { return deploymentPolicies; } + + public org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy [] getDeploymentPolicies(String cartridgeType) + throws Exception { + + org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy[] deploymentPolicies; + try { + deploymentPolicies = stub.getValidDeploymentPoliciesforCartridge(cartridgeType); + + } catch (RemoteException e) { + String errorMsg = "Error in getting available deployment policies"; + log.error(errorMsg, e); + throw new Exception(errorMsg, e); + } + + return deploymentPolicies; + } + + public org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy getDeploymentPolicy (String deploymentPolicyId) + throws Exception { + + org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy deploymentPolicy; + try { + deploymentPolicy = stub.getDeploymentPolicy(deploymentPolicyId); + + } catch (RemoteException e) { + String errorMsg = "Error in getting available deployment policies"; + log.error(errorMsg, e); + throw new Exception(errorMsg, e); + } + + return deploymentPolicy; + } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e8d08860/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java index 13766a6..4860b28 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java @@ -137,8 +137,8 @@ public class PojoConverter { return properties; } - public static Partition[] populatePartitionPojo (org.apache.stratos.cloud.controller.deployment.partition.Partition[] - partitions) { + public static Partition[] populatePartitionPojos (org.apache.stratos.cloud.controller.deployment.partition.Partition[] + partitions) { Partition [] partitionBeans; if(partitions == null) { @@ -148,21 +148,42 @@ public class PojoConverter { partitionBeans = new Partition[partitions.length]; for (int i = 0 ; i < partitions.length ; i++) { - Partition partition = new Partition(); + /*Partition partition = new Partition(); partition.id = partitions[i].getId(); partition.provider = partitions[i].getProvider(); partition.partitionMin = partitions[i].getPartitionMin(); - partition.partitionMax = partitions[i].getPartitionMax(); + partition.partitionMax = partitions[i].getPartitionMax();*/ //properties are not added currently, TODO if required //if(partitions[i].getProperties() != null) { // List<PropertyBean> propertyBeans = getPropertyBeans(partitions[i].getProperties()); // partition.property = propertyBeans; //} - partitionBeans[i] = partition; + partitionBeans[i] = populatePartitionPojo(partitions[i]); } return partitionBeans; } + public static Partition populatePartitionPojo (org.apache.stratos.cloud.controller.deployment.partition.Partition + partition) { + + Partition partitionBeans = new Partition(); + if(partition == null) { + return partitionBeans; + } + + partitionBeans.id = partition.getId(); + partitionBeans.provider = partition.getProvider(); + partitionBeans.partitionMin = partition.getPartitionMin(); + partitionBeans.partitionMax = partition.getPartitionMax(); + //properties are not added currently, TODO if required + //if(partition[i].getProperties() != null) { + // List<PropertyBean> propertyBeans = getPropertyBeans(partition[i].getProperties()); + // partition.property = propertyBeans; + //} + + return partitionBeans; + } + private static List<PropertyBean> getPropertyBeans (Properties properties) { List<PropertyBean> propertyBeans = null; @@ -179,7 +200,7 @@ public class PojoConverter { return propertyBeans; } - public static AutoscalePolicy[] populateAutoscalePojo(org.apache.stratos.autoscaler.policy.model.AutoscalePolicy[] + public static AutoscalePolicy[] populateAutoscalePojos(org.apache.stratos.autoscaler.policy.model.AutoscalePolicy[] autoscalePolicies) { AutoscalePolicy [] autoscalePolicyBeans; @@ -190,18 +211,36 @@ public class PojoConverter { autoscalePolicyBeans = new AutoscalePolicy[autoscalePolicies.length]; for (int i = 0 ; i < autoscalePolicies.length ; i++) { - AutoscalePolicy autoscalePolicy = new AutoscalePolicy(); + /*AutoscalePolicy autoscalePolicy = new AutoscalePolicy(); autoscalePolicy.id = autoscalePolicies[i].getId(); autoscalePolicy.displayName = autoscalePolicies[i].getDisplayName(); autoscalePolicy.description = autoscalePolicies[i].getDescription(); if(autoscalePolicies[i].getLoadThresholds() != null) { autoscalePolicy.loadThresholds = populateLoadThresholds(autoscalePolicies[i].getLoadThresholds()); - } - autoscalePolicyBeans[i] = autoscalePolicy; + }*/ + autoscalePolicyBeans[i] = populateAutoscalePojo(autoscalePolicies[i]); } return autoscalePolicyBeans; } + public static AutoscalePolicy populateAutoscalePojo(org.apache.stratos.autoscaler.policy.model.AutoscalePolicy + autoscalePolicy) { + + AutoscalePolicy autoscalePolicyBean = new AutoscalePolicy(); + if(autoscalePolicy == null) { + return autoscalePolicyBean; + } + + autoscalePolicyBean.id = autoscalePolicy.getId(); + autoscalePolicyBean.displayName = autoscalePolicy.getDisplayName(); + autoscalePolicyBean.description = autoscalePolicy.getDescription(); + if(autoscalePolicy.getLoadThresholds() != null) { + autoscalePolicyBean.loadThresholds = populateLoadThresholds(autoscalePolicy.getLoadThresholds()); + } + + return autoscalePolicyBean; + } + private static LoadThresholds populateLoadThresholds (org.apache.stratos.autoscaler.policy.model.LoadThresholds loadThresholds) { @@ -242,8 +281,8 @@ public class PojoConverter { return loadThresholdBean; } - public static DeploymentPolicy[] populateDeploymentPolicyPojo (org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy [] - deploymentPolicies) { + public static DeploymentPolicy[] populateDeploymentPolicyPojos(org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy[] + deploymentPolicies) { DeploymentPolicy[] deploymentPolicyBeans; if(deploymentPolicies == null) { deploymentPolicyBeans = new DeploymentPolicy[0]; @@ -252,42 +291,81 @@ public class PojoConverter { deploymentPolicyBeans = new DeploymentPolicy[deploymentPolicies.length]; for (int i = 0 ; i < deploymentPolicies.length ; i++) { - DeploymentPolicy deploymentPolicy = new DeploymentPolicy(); - deploymentPolicy.id = deploymentPolicies[i].getId(); + //DeploymentPolicy deploymentPolicy = new DeploymentPolicy(); + //deploymentPolicy.id = deploymentPolicies[i].getId(); //if(deploymentPolicies[i].getPartitionGroups() != null && // deploymentPolicies[i].getPartitionGroups().length > 0) { // deploymentPolicy.partitionGroup = getPartitionGroups(deploymentPolicies[i].getPartitionGroups()); //} - deploymentPolicyBeans[i] = deploymentPolicy; + deploymentPolicyBeans[i] = populateDeploymentPolicyPojo(deploymentPolicies[i]); } return deploymentPolicyBeans; } - private static List<PartitionGroup> getPartitionGroups (org.apache.stratos.autoscaler.partition.xsd.PartitionGroup[] partitionGroups) { + public static DeploymentPolicy populateDeploymentPolicyPojo (org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy + deploymentPolicy) { - List<PartitionGroup> partitionGroupList = new ArrayList<PartitionGroup>(); + DeploymentPolicy deploymentPolicyBean = new DeploymentPolicy(); + if(deploymentPolicy == null) { + return deploymentPolicyBean; + } + + deploymentPolicyBean.id = deploymentPolicy.getId(); + //if(deploymentPolicy.getPartitionGroups() != null && + // deploymentPolicy.getPartitionGroups().length > 0) { + // deploymentPolicy.partitionGroup = getPartitionGroups(deploymentPolicy.getPartitionGroups()); + //} + + return deploymentPolicyBean; + } + + public static PartitionGroup populatePartitionGroupPojo (org.apache.stratos.autoscaler.partition.xsd.PartitionGroup + partitionGroup) { + + PartitionGroup partitionGroupBean = new PartitionGroup(); + if(partitionGroup == null){ + return partitionGroupBean; + } + + partitionGroupBean.id = partitionGroup.getId(); + partitionGroupBean.partitionAlgo = partitionGroup.getPartitionAlgo(); + if(partitionGroup.getPartitions() != null && partitionGroup.getPartitions().length > 0) { + partitionGroupBean.partition = getPartitionIdsList(partitionGroup.getPartitions()); + } + + return partitionGroupBean; + } + + public static PartitionGroup [] populatePartitionGroupPojos (org.apache.stratos.autoscaler.partition.xsd.PartitionGroup[] partitionGroups) { + + PartitionGroup[] partitionGroupsBeans; + if(partitionGroups == null) { + partitionGroupsBeans = new PartitionGroup[0]; + return partitionGroupsBeans; + } + + partitionGroupsBeans = new PartitionGroup[partitionGroups.length]; for (int i = 0 ; i < partitionGroups.length ; i ++) { - PartitionGroup partitionGroup = new PartitionGroup(); + /*PartitionGroup partitionGroup = new PartitionGroup(); partitionGroup.id = partitionGroups[i].getId(); partitionGroup.partitionAlgo = partitionGroups[i].getPartitionAlgo(); if(partitionGroups[i].getPartitions() != null && partitionGroups[i].getPartitions().length > 0){ partitionGroup.partition = getPartitionIdsList(partitionGroups[i].getPartitions()); - } - - partitionGroupList.add(partitionGroup); + }*/ + partitionGroupsBeans[i] = populatePartitionGroupPojo(partitionGroups[i]); } - return partitionGroupList; + return partitionGroupsBeans; } private static List<String> getPartitionIdsList(org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions) { - ArrayList<String> partitionIdList = new ArrayList<String>(); + List<String> partitionIdList = new ArrayList<String>(); for (int i = 0 ; i < partitions.length ; i++) { partitionIdList.add(partitions[i].getId()); } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e8d08860/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 49f2f85..a7f8225 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.adc.topology.mgt.service.TopologyManagementService; import org.apache.stratos.cloud.controller.pojo.CartridgeConfig; import org.apache.stratos.cloud.controller.pojo.CartridgeInfo; import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition; +import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.PartitionGroup; import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy; import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy; import org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefinitionBean; @@ -101,7 +102,7 @@ public class ServiceUtils { return null; } - public static Partition[] getAvailablePartitions () throws RestAPIException { + /*public static Partition[] getAvailablePartitions () throws RestAPIException { org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions = null; AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient(); @@ -116,7 +117,44 @@ public class ServiceUtils { } } - return PojoConverter.populatePartitionPojo(partitions); + return PojoConverter.populatePartitionPojos(partitions); + }*/ + + public static Partition[] getPartitions (String deploymentPolicyId, + String partitionGroupId) throws RestAPIException { + + org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions = null; + AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient(); + if (autoscalerServiceClient != null) { + try { + partitions = autoscalerServiceClient.getPartitions(deploymentPolicyId, partitionGroupId); + + } catch (Exception e) { + String errorMsg = "Error getting available partitions"; + log.error(errorMsg, e); + throw new RestAPIException(errorMsg, e); + } + } + + return PojoConverter.populatePartitionPojos(partitions); + } + + public static Partition getPartition (String partitionId) throws RestAPIException { + + org.apache.stratos.cloud.controller.deployment.partition.Partition partition = null; + AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient(); + if (autoscalerServiceClient != null) { + try { + partition = autoscalerServiceClient.getPartition(partitionId); + + } catch (Exception e) { + String errorMsg = "Error getting available partition"; + log.error(errorMsg, e); + throw new RestAPIException(errorMsg, e); + } + } + + return PojoConverter.populatePartitionPojo(partition); } private static AutoscalerServiceClient getAutoscalerServiceClient () { @@ -146,7 +184,25 @@ public class ServiceUtils { } } - return PojoConverter.populateAutoscalePojo(autoscalePolicies); + return PojoConverter.populateAutoscalePojos(autoscalePolicies); + } + + public static AutoscalePolicy getAutoScalePolicy (String autoscalePolicyId) throws RestAPIException { + + org.apache.stratos.autoscaler.policy.model.AutoscalePolicy autoscalePolicy = null; + AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient(); + if (autoscalerServiceClient != null) { + try { + autoscalePolicy = autoscalerServiceClient.getAutoScalePolicy(autoscalePolicyId); + + } catch (Exception e) { + String errorMsg = "Error getting available autoscaling policies"; + log.error(errorMsg, e); + throw new RestAPIException(errorMsg, e); + } + } + + return PojoConverter.populateAutoscalePojo(autoscalePolicy); } public static DeploymentPolicy[] getDeploymentPolicies () throws RestAPIException { @@ -164,7 +220,62 @@ public class ServiceUtils { } } - return PojoConverter.populateDeploymentPolicyPojo(deploymentPolicies); + return PojoConverter.populateDeploymentPolicyPojos(deploymentPolicies); + } + + public static DeploymentPolicy[] getDeploymentPolicies (String cartridgeType) throws RestAPIException { + + org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy [] deploymentPolicies = null; + AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient(); + if (autoscalerServiceClient != null) { + try { + deploymentPolicies = autoscalerServiceClient.getDeploymentPolicies(cartridgeType); + + } catch (Exception e) { + String errorMsg = "Error getting available deployment policies"; + log.error(errorMsg, e); + throw new RestAPIException(errorMsg, e); + } + } + + return PojoConverter.populateDeploymentPolicyPojos(deploymentPolicies); + } + + public static DeploymentPolicy getDeploymentPolicy(String deploymentPolicyId) throws RestAPIException { + + org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy deploymentPolicy = null; + AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient(); + if (autoscalerServiceClient != null) { + try { + deploymentPolicy = autoscalerServiceClient.getDeploymentPolicy(deploymentPolicyId); + + } catch (Exception e) { + String errorMsg = "Error getting available deployment policies"; + log.error(errorMsg, e); + throw new RestAPIException(errorMsg, e); + } + } + + return PojoConverter.populateDeploymentPolicyPojo(deploymentPolicy); + } + + public static PartitionGroup[] getPartitionGroups (String deploymentPolicyId) + throws RestAPIException{ + + org.apache.stratos.autoscaler.partition.xsd.PartitionGroup [] partitionGroups = null; + AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient(); + if (autoscalerServiceClient != null) { + try { + partitionGroups = autoscalerServiceClient.getPartitionGroups(deploymentPolicyId); + + } catch (Exception e) { + String errorMsg = "Error getting available partition groups"; + log.error(errorMsg, e); + throw new RestAPIException(errorMsg, e); + } + } + + return PojoConverter.populatePartitionGroupPojos(partitionGroups); } static List<Cartridge> getAvailableCartridges(String cartridgeSearchString, Boolean multiTenant, ConfigurationContext configurationContext) throws ADCException { http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e8d08860/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 92967a1..7ed26e6 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 @@ -32,6 +32,7 @@ import org.apache.stratos.rest.endpoint.annotation.AuthorizationAction; import org.apache.stratos.rest.endpoint.annotation.SuperTenantService; import org.apache.stratos.rest.endpoint.bean.CartridgeInfoBean; import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition; +import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.PartitionGroup; import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy; import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy; import org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefinitionBean; @@ -90,7 +91,7 @@ public class StratosAdmin extends AbstractAdmin { ServiceUtils.undeployCartridge(cartridgeType); } - @GET + /*@GET @Path("/partition") @Produces("application/json") @Consumes("application/json") @@ -98,6 +99,38 @@ public class StratosAdmin extends AbstractAdmin { public Partition[] getPartitions () throws RestAPIException { return ServiceUtils.getAvailablePartitions(); + }*/ + + @GET + @Path("/partition/{partitionId}") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + public Partition getPartition (@PathParam("partitionId") String partitionId) throws RestAPIException { + + return ServiceUtils.getPartition(partitionId); + } + + @GET + @Path("/partition/group/{deploymentPolicyId}") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + public PartitionGroup[] getPartitionGroups (@PathParam("deploymentPolicyId") String deploymentPolicyId) + throws RestAPIException { + + return ServiceUtils.getPartitionGroups(deploymentPolicyId); + } + + @GET + @Path("/partition/{deploymentPolicyId}/{partitionGroupId}") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + public Partition [] getPartitions (@PathParam("deploymentPolicyId") String deploymentPolicyId, + @PathParam("partitionGroupId") String partitionGroupId) throws RestAPIException { + + return ServiceUtils.getPartitions(deploymentPolicyId, partitionGroupId); } @GET @@ -111,6 +144,17 @@ public class StratosAdmin extends AbstractAdmin { } @GET + @Path("/policy/autoscale/{autoscalePolicyId}") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + public AutoscalePolicy getAutoscalePolicies (@PathParam("autoscalePolicyId") String autoscalePolicyId) + throws RestAPIException { + + return ServiceUtils.getAutoScalePolicy(autoscalePolicyId); + } + + @GET @Path("/policy/deployment") @Produces("application/json") @Consumes("application/json") @@ -121,6 +165,28 @@ public class StratosAdmin extends AbstractAdmin { } @GET + @Path("/policy/deployment/{deploymentPolicyId}") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + public DeploymentPolicy getDeploymentPolicies (@PathParam("deploymentPolicyId") String deploymentPolicyId) + throws RestAPIException { + + return ServiceUtils.getDeploymentPolicy(deploymentPolicyId); + } + + @GET + @Path("{cartridgeType}/policy/deployment") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + public DeploymentPolicy[] getValidDeploymentPolicies (@PathParam("cartridgeType") String cartridgeType) + throws RestAPIException { + + return ServiceUtils.getDeploymentPolicies(cartridgeType); + } + + @GET @Path("/cartridge/tenanted/list") @Produces("application/json") @Consumes("application/json")
