You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2014/12/15 19:32:42 UTC
stratos git commit: Adding GET /cartridges/{cartridgeType} api method
Repository: stratos
Updated Branches:
refs/heads/4.1.0-test fbcf38471 -> ec3c57d31
Adding GET /cartridges/{cartridgeType} api method
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/ec3c57d3
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/ec3c57d3
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/ec3c57d3
Branch: refs/heads/4.1.0-test
Commit: ec3c57d31c6a315e160e3fda34ff4e0ed88ae76f
Parents: fbcf384
Author: Imesh Gunaratne <im...@apache.org>
Authored: Tue Dec 16 00:02:30 2014 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Tue Dec 16 00:02:30 2014 +0530
----------------------------------------------------------------------
.../rest/endpoint/api/StratosApiV41.java | 21 ++++-
.../rest/endpoint/api/StratosApiV41Utils.java | 83 +++++++++-----------
2 files changed, 56 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/ec3c57d3/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 c8ab6a1..b9b6fb1 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
@@ -171,6 +171,19 @@ public class StratosApiV41 extends AbstractApi {
return Response.ok().entity(cartridgeArray).build();
}
+ @GET
+ @Path("/cartridges/{cartridgeType}")
+ @Produces("application/json")
+ @Consumes("application/json")
+ @AuthorizationAction("/permission/admin/manage/view/cartridge")
+ public Response getCartridge(@PathParam("cartridgeType") String cartridgeType) throws RestAPIException {
+ CartridgeDefinitionBean cartridge = StratosApiV41Utils.getCartridge(cartridgeType);
+ if(cartridge == null) {
+ return Response.status(Response.Status.NOT_FOUND).build();
+ }
+ return Response.ok().entity(cartridge).build();
+ }
+
/**
* Returns cartridges by category.
* @param filter
@@ -179,7 +192,7 @@ public class StratosApiV41 extends AbstractApi {
* @throws RestAPIException
*/
@GET
- @Path("/cartridges/{filter}")
+ @Path("/cartridges/filter/{filter}")
@Produces("application/json")
@Consumes("application/json")
@AuthorizationAction("/permission/admin/manage/view/cartridge")
@@ -203,12 +216,12 @@ public class StratosApiV41 extends AbstractApi {
* @throws RestAPIException
*/
@GET
- @Path("/cartridges/{filter}/{cartridgeType}")
+ @Path("/cartridges/{cartridgeType}/filter/{filter}")
@Produces("application/json")
@Consumes("application/json")
@AuthorizationAction("/permission/admin/manage/view/cartridge")
- public Response getCartridgeByFilter(@DefaultValue("") @PathParam("filter") String filter,
- @PathParam("cartridgeType") String cartridgeType) throws RestAPIException {
+ public Response getCartridgeByFilter(@PathParam("cartridgeType") String cartridgeType,
+ @DefaultValue("") @PathParam("filter") String filter) throws RestAPIException {
CartridgeDefinitionBean cartridge = StratosApiV41Utils.getCartridgeByFilter(filter, cartridgeType, getConfigContext());
if(cartridge == null) {
return Response.status(Response.Status.NOT_FOUND).build();
http://git-wip-us.apache.org/repos/asf/stratos/blob/ec3c57d3/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 274dd8f..eedd3ca 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
@@ -229,12 +229,6 @@ public class StratosApiV41Utils {
lbCartridges.add(cartridge);
}
}
-
- /*if(lbCartridges == null || lbCartridges.isEmpty()) {
- String msg = "Load balancer Cartridges are not available.";
- log.error(msg);
- throw new RestAPIException(msg) ;
- }*/
return lbCartridges;
}
@@ -242,12 +236,10 @@ public class StratosApiV41Utils {
List<CartridgeDefinitionBean> cartridges = new ArrayList<CartridgeDefinitionBean>();
if (log.isDebugEnabled()) {
- log.debug("Getting available cartridges. Privider name : " + provider );
+ log.debug("Reading cartridges: [provider-name] " + provider );
}
try {
-
-
String[] availableCartridges = CloudControllerServiceClient.getServiceClient().getRegisteredCartridges();
if (availableCartridges != null) {
@@ -274,23 +266,7 @@ public class StratosApiV41Utils {
continue;
}
- CartridgeDefinitionBean cartridge = new CartridgeDefinitionBean();
- cartridge.setType(cartridgeType);
- cartridge.setProvider(cartridgeInfo.getProvider());
- cartridge.setCategory(cartridgeInfo.getCategory());
- cartridge.setDisplayName(cartridgeInfo.getDisplayName());
- cartridge.setDescription(cartridgeInfo.getDescription());
- cartridge.setVersion(cartridgeInfo.getVersion());
- cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
- cartridge.setHost(cartridgeInfo.getHostName());
- cartridge.setDefaultAutoscalingPolicy(cartridgeInfo.getDefaultAutoscalingPolicy());
- cartridge.setDefaultDeploymentPolicy(cartridgeInfo.getDefaultDeploymentPolicy());
- //cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED);
- //cartridge.setCartridgeAlias("-");
- cartridge.setPersistence(convertPersistenceToPersistenceBean(cartridgeInfo.getPersistence()));
- cartridge.setServiceGroup(cartridgeInfo.getServiceGroup());
-
- //cartridge.setActiveInstances(0);
+ CartridgeDefinitionBean cartridge = convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
cartridges.add(cartridge);
}
} else {
@@ -359,23 +335,7 @@ public class StratosApiV41Utils {
continue;
}
- CartridgeDefinitionBean cartridge = new CartridgeDefinitionBean();
- cartridge.setType(cartridgeType);
- cartridge.setProvider(cartridgeInfo.getProvider());
- cartridge.setCategory(cartridgeInfo.getCategory());
- cartridge.setDisplayName(cartridgeInfo.getDisplayName());
- cartridge.setDescription(cartridgeInfo.getDescription());
- cartridge.setVersion(cartridgeInfo.getVersion());
- cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
- cartridge.setHost(cartridgeInfo.getHostName());
- cartridge.setDefaultAutoscalingPolicy(cartridgeInfo.getDefaultAutoscalingPolicy());
- cartridge.setDefaultDeploymentPolicy(cartridgeInfo.getDefaultDeploymentPolicy());
- //cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED);
- //cartridge.setCartridgeAlias("-");
- cartridge.setPersistence(convertPersistenceToPersistenceBean(cartridgeInfo.getPersistence()));
- cartridge.setServiceGroup(cartridgeInfo.getServiceGroup());
-
- //cartridge.setActiveInstances(0);
+ CartridgeDefinitionBean cartridge = convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
cartridges.add(cartridge);
@@ -412,6 +372,41 @@ public class StratosApiV41Utils {
return cartridges;
}
+ public static CartridgeDefinitionBean getCartridge(String cartridgeType) throws RestAPIException {
+ try {
+ CartridgeInfo cartridgeInfo = CloudControllerServiceClient.getServiceClient().getCartridgeInfo(cartridgeType);
+ if(cartridgeInfo == null) {
+ return null;
+ }
+ return convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
+ } catch (RemoteException e) {
+ String message = e.getMessage();
+ log.error(message, e);
+ throw new RestAPIException(message, e);
+ } catch (CloudControllerServiceUnregisteredCartridgeExceptionException e) {
+ String message = e.getMessage();
+ log.error(message, e);
+ throw new RestAPIException(message, e);
+ }
+ }
+
+ private static CartridgeDefinitionBean convertCartridgeToCartridgeDefinitionBean(CartridgeInfo cartridgeInfo) {
+ CartridgeDefinitionBean cartridge = new CartridgeDefinitionBean();
+ cartridge.setType(cartridgeInfo.getType());
+ cartridge.setProvider(cartridgeInfo.getProvider());
+ cartridge.setCategory(cartridgeInfo.getCategory());
+ cartridge.setDisplayName(cartridgeInfo.getDisplayName());
+ cartridge.setDescription(cartridgeInfo.getDescription());
+ cartridge.setVersion(cartridgeInfo.getVersion());
+ cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
+ cartridge.setHost(cartridgeInfo.getHostName());
+ cartridge.setDefaultAutoscalingPolicy(cartridgeInfo.getDefaultAutoscalingPolicy());
+ cartridge.setDefaultDeploymentPolicy(cartridgeInfo.getDefaultDeploymentPolicy());
+ cartridge.setPersistence(convertPersistenceToPersistenceBean(cartridgeInfo.getPersistence()));
+ cartridge.setServiceGroup(cartridgeInfo.getServiceGroup());
+ return cartridge;
+ }
+
private static PersistenceBean convertPersistenceToPersistenceBean(Persistence persistence) {
if(persistence == null) {
return null;
@@ -1003,7 +998,7 @@ public class StratosApiV41Utils {
throw new RestAPIException(message);
}
- if (!applicationId.equals(deploymentPolicy.getApplicationPolicy().getApplicationId())) {
+ if (!applicationId.equals(deploymentPolicy.getApplicationId())) {
String message = String.format("Application id %s does not match with the deployment policy",
applicationId);
log.error(message);