You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2014/05/07 22:49:05 UTC

[2/5] git commit: implementing a new REST API operation - getSubscriptionDomain

implementing a new REST API operation - getSubscriptionDomain


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

Branch: refs/heads/master
Commit: 34d42058d50241f3ef165753460551f8a200bda7
Parents: 5d1fe10
Author: Nirmal Fernando <ni...@apache.org>
Authored: Thu May 8 02:15:53 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Thu May 8 02:15:53 2014 +0530

----------------------------------------------------------------------
 .../rest/endpoint/services/ServiceUtils.java    | 38 ++++++++++++++------
 .../rest/endpoint/services/StratosAdmin.java    | 12 ++++---
 2 files changed, 35 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/34d42058/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 6b7eb66..f7b70f6 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
@@ -44,6 +44,7 @@ import org.apache.stratos.manager.subscription.CartridgeSubscription;
 import org.apache.stratos.manager.subscription.DataCartridgeSubscription;
 import org.apache.stratos.manager.subscription.PersistenceContext;
 import org.apache.stratos.manager.subscription.SubscriptionData;
+import org.apache.stratos.manager.subscription.SubscriptionDomain;
 import org.apache.stratos.manager.topology.model.TopologyClusterInformationModel;
 import org.apache.stratos.manager.utils.ApplicationManagementUtil;
 import org.apache.stratos.manager.utils.CartridgeConstants;
@@ -64,6 +65,8 @@ import org.apache.stratos.rest.endpoint.bean.util.converter.PojoConverter;
 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;
@@ -1200,7 +1203,7 @@ public class ServiceUtils {
         return stratosAdminResponse;
     }
 
-    public static List<String> getSubscriptionDomains(ConfigurationContext configurationContext, String cartridgeType,
+    public static List<SubscriptionDomain> getSubscriptionDomains(ConfigurationContext configurationContext, String cartridgeType,
                                                       String subscriptionAlias) throws RestAPIException {
         try {
             int tenantId = ApplicationManagementUtil.getTenantId(configurationContext);
@@ -1210,15 +1213,29 @@ public class ServiceUtils {
             throw new RestAPIException(e.getMessage(), e);
         }
     }
-
-    public static String isSubscriptionDomainValid(String domain) throws RestAPIException {
-        try {
-            return String.valueOf(cartridgeSubsciptionManager.isSubscriptionDomainValid(domain));
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-            throw new RestAPIException(e.getMessage(), e);
-        }
-    }
+    
+	public static SubscriptionDomain getSubscriptionDomain(ConfigurationContext configurationContext, String cartridgeType,
+			String subscriptionAlias, String domain) throws RestAPIException {
+		try {
+			int tenantId = ApplicationManagementUtil
+					.getTenantId(configurationContext);
+			SubscriptionDomain subscriptionDomain = cartridgeSubsciptionManager.getSubscriptionDomain(tenantId,
+					subscriptionAlias, domain);
+			
+			if (subscriptionDomain == null) {
+				String message = "Could not find a subscription [domain] "+domain+ " for Cartridge [type] "
+							+cartridgeType+ " and [alias] "+subscriptionAlias;
+				log.error(message);
+				throw new RestAPIException(Status.NOT_FOUND, message);
+			}
+			
+			return subscriptionDomain;
+			
+		} catch (Exception e) {
+			log.error(e.getMessage(), e);
+			throw new RestAPIException(e.getMessage(), e);
+		}
+	}
 
     public static StratosAdminResponse removeSubscriptionDomain(ConfigurationContext configurationContext, String cartridgeType,
                                                                 String subscriptionAlias, String domain) throws RestAPIException {
@@ -1234,4 +1251,5 @@ public class ServiceUtils {
         stratosAdminResponse.setMessage("Successfully removed domains from cartridge subscription");
         return stratosAdminResponse;
     }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/34d42058/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 a573225..5b39030 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
@@ -27,6 +27,7 @@ import org.apache.stratos.common.util.CommonUtil;
 import org.apache.stratos.manager.dto.Cartridge;
 import org.apache.stratos.manager.dto.SubscriptionInfo;
 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;
@@ -1034,19 +1035,20 @@ public class StratosAdmin extends AbstractAdmin {
     @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/")
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
-    public String[] getSubscriptionDomains(@PathParam("cartridgeType") String cartridgeType,
+    public SubscriptionDomain[] getSubscriptionDomains(@PathParam("cartridgeType") String cartridgeType,
                                            @PathParam("subscriptionAlias") String subscriptionAlias) throws RestAPIException {
 
-        return (String[]) ServiceUtils.getSubscriptionDomains(getConfigContext(), cartridgeType, subscriptionAlias).toArray();
+        return ServiceUtils.getSubscriptionDomains(getConfigContext(), cartridgeType, subscriptionAlias).toArray(new SubscriptionDomain[0]);
     }
 
     @GET
-    @Path("/cartridge/subscription/domain/{domainName}/is-valid")
+    @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/{domainName}")
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
-    public String isSubscriptionDomainValid(@PathParam("domainName") String domainName) throws RestAPIException {
+    public SubscriptionDomain getSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
+            @PathParam("subscriptionAlias") String subscriptionAlias, @PathParam("domainName") String domainName) throws RestAPIException {
 
-        return ServiceUtils.isSubscriptionDomainValid(domainName);
+        return ServiceUtils.getSubscriptionDomain(getConfigContext(), cartridgeType, subscriptionAlias, domainName);
     }
 
     @DELETE