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);