Repository: stratos
Updated Branches:
  refs/heads/4.0.0-grouping 5cf073010 -> daa189456


adding getSubscriptionsOfApplication to rest api


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/ec185f20
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/ec185f20
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/ec185f20

Branch: refs/heads/4.0.0-grouping
Commit: ec185f200e1303302edb6e3a70154ca7619f9422
Parents: 66042d4
Author: Udara Liyanage <[email protected]>
Authored: Thu Sep 25 16:24:10 2014 +0530
Committer: Udara Liyanage <[email protected]>
Committed: Thu Sep 25 16:24:10 2014 +0530

----------------------------------------------------------------------
 .../rest/endpoint/services/ServiceUtils.java     | 19 ++++++++++++++-----
 .../rest/endpoint/services/StratosAdmin.java     | 18 +++++++++++++++---
 2 files changed, 29 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/ec185f20/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 4f102e3..d5744a4 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
@@ -24,17 +24,17 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
-import 
org.apache.stratos.cloud.controller.stub.pojo.application.ApplicationContext;
-import org.apache.stratos.cloud.controller.stub.*;
 import 
org.apache.stratos.autoscaler.stub.AutoScalerServiceInvalidPartitionExceptionException;
 import 
org.apache.stratos.autoscaler.stub.AutoScalerServiceInvalidPolicyExceptionException;
+import org.apache.stratos.cloud.controller.stub.*;
 import org.apache.stratos.cloud.controller.stub.pojo.CartridgeConfig;
 import org.apache.stratos.cloud.controller.stub.pojo.CartridgeInfo;
-import 
org.apache.stratos.manager.composite.application.beans.CompositeAppDefinition;
-import 
org.apache.stratos.manager.composite.application.CompositeApplicationManager;
 import org.apache.stratos.cloud.controller.stub.pojo.Property;
+import 
org.apache.stratos.cloud.controller.stub.pojo.application.ApplicationContext;
 import org.apache.stratos.manager.client.AutoscalerServiceClient;
 import org.apache.stratos.manager.client.CloudControllerServiceClient;
+import 
org.apache.stratos.manager.composite.application.CompositeApplicationManager;
+import 
org.apache.stratos.manager.composite.application.beans.CompositeAppDefinition;
 import org.apache.stratos.manager.deploy.service.Service;
 import org.apache.stratos.manager.deploy.service.ServiceDeploymentManager;
 import org.apache.stratos.manager.dto.Cartridge;
@@ -44,6 +44,7 @@ import 
org.apache.stratos.manager.grouping.definitions.ServiceGroupDefinition;
 import org.apache.stratos.manager.grouping.manager.ServiceGroupingManager;
 import org.apache.stratos.manager.manager.CartridgeSubscriptionManager;
 import org.apache.stratos.manager.repository.RepositoryNotification;
+import org.apache.stratos.manager.subscription.ApplicationSubscription;
 import org.apache.stratos.manager.subscription.CartridgeSubscription;
 import org.apache.stratos.manager.subscription.DataCartridgeSubscription;
 import org.apache.stratos.manager.subscription.SubscriptionData;
@@ -70,7 +71,6 @@ import 
org.apache.stratos.rest.endpoint.exception.RestAPIException;
 
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status;
-
 import java.rmi.RemoteException;
 import java.util.*;
 import java.util.regex.Pattern;
@@ -299,6 +299,15 @@ public class ServiceUtils {
             throw new RestAPIException(e);
         }
     }
+
+    static ApplicationSubscription getApplicationSubscriptions(String appId, 
ConfigurationContext ctxt) throws RestAPIException {
+        CartridgeSubscriptionManager subscriptionMgr = new 
CartridgeSubscriptionManager();
+        try {
+            return subscriptionMgr.getApplicationSubscription(appId, 
ApplicationManagementUtil.getTenantId(ctxt));
+        } catch (ApplicationSubscriptionException e) {
+            throw new RestAPIException(e);
+        }
+    }
     
     static void unDeployApplication(String appId, ConfigurationContext ctxt,
             String userName, String tenantDomain) throws RestAPIException {

http://git-wip-us.apache.org/repos/asf/stratos/blob/ec185f20/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 a3cfa31..d8e5a40 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
@@ -31,8 +31,8 @@ import org.apache.stratos.manager.dto.SubscriptionInfo;
 import org.apache.stratos.manager.exception.DomainMappingExistsException;
 import org.apache.stratos.manager.exception.ServiceDoesNotExistException;
 import org.apache.stratos.manager.grouping.definitions.ServiceGroupDefinition;
+import org.apache.stratos.manager.subscription.ApplicationSubscription;
 import org.apache.stratos.manager.subscription.CartridgeSubscription;
-import org.apache.stratos.manager.subscription.SubscriptionDomain;
 import org.apache.stratos.rest.endpoint.ServiceHolder;
 import org.apache.stratos.rest.endpoint.Utils;
 import org.apache.stratos.rest.endpoint.annotation.AuthorizationAction;
@@ -46,7 +46,6 @@ import 
org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.Deploy
 import 
org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefinitionBean;
 import 
org.apache.stratos.rest.endpoint.bean.cartridge.definition.ServiceDefinitionBean;
 import 
org.apache.stratos.rest.endpoint.bean.repositoryNotificationInfoBean.Payload;
-import 
org.apache.stratos.rest.endpoint.bean.repositoryNotificationInfoBean.Repository;
 import 
org.apache.stratos.rest.endpoint.bean.subscription.domain.SubscriptionDomainBean;
 import org.apache.stratos.rest.endpoint.bean.topology.Cluster;
 import org.apache.stratos.rest.endpoint.exception.RestAPIException;
@@ -71,7 +70,6 @@ import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.UriInfo;
-
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
@@ -437,6 +435,20 @@ public class StratosAdmin extends AbstractAdmin {
         return rb.build();
     }
 
+
+    @GET
+    @Path("/subsscriptions/{application_id}")
+    @Produces("application/json")
+    @Consumes("application/json")
+    @AuthorizationAction("/permission/protected/manage/monitor/tenants")
+    public Response getSubscriptionsOfApplication(@PathParam("application_id") 
String applicationId) throws RestAPIException {
+        ApplicationSubscription subscriptions = 
ServiceUtils.getApplicationSubscriptions(applicationId, getConfigContext());
+        if(subscriptions  == null){
+            return Response.status(Response.Status.NOT_FOUND).build();
+        }
+        return  Response.ok().entity(subscriptions).build();
+    }
+
     @GET
     @Path("/cartridge/list")
     @Produces("application/json")

Reply via email to