Repository: stratos
Updated Branches:
  refs/heads/master ca7a14a56 -> ca0e0e7a8


Validate domain mapping subscription


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

Branch: refs/heads/master
Commit: ca0e0e7a844a8ecd2a942193718fa452f2894425
Parents: ca7a14a
Author: Manula Thantriwatte <[email protected]>
Authored: Tue Jun 3 05:24:37 2014 +0000
Committer: Manula Thantriwatte <[email protected]>
Committed: Tue Jun 3 05:24:37 2014 +0000

----------------------------------------------------------------------
 .../rest/endpoint/services/ServiceUtils.java    | 28 ++++++++++++++++++++
 1 file changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/ca0e0e7a/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 a0f7f76..73c37ed 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
@@ -1197,6 +1197,15 @@ public class ServiceUtils {
                                                                         throws 
RestAPIException {
         try {
             int tenantId = 
ApplicationManagementUtil.getTenantId(configurationContext);
+
+            for 
(org.apache.stratos.rest.endpoint.bean.subscription.domain.SubscriptionDomainBean
 subscriptionDomain : request.domains) {
+                boolean isDomainExists = 
isSubscriptionDomainExists(configurationContext, cartridgeType, 
subscriptionAlias, subscriptionDomain.domainName);
+                if (isDomainExists) {
+                    String message = "Subscription domain " + 
subscriptionDomain.domainName + " exists";
+                    throw new RestAPIException(Status.INTERNAL_SERVER_ERROR, 
message);
+                }
+            }
+
             for 
(org.apache.stratos.rest.endpoint.bean.subscription.domain.SubscriptionDomainBean
 subscriptionDomain : request.domains) {
                                
                cartridgeSubsciptionManager.addSubscriptionDomain(tenantId, 
subscriptionAlias, 
@@ -1212,6 +1221,25 @@ public class ServiceUtils {
         return stratosAdminResponse;
     }
 
+    public static boolean isSubscriptionDomainExists(ConfigurationContext 
configurationContext, String cartridgeType,
+                                                     String subscriptionAlias, 
String domain) throws RestAPIException {
+        try {
+            int tenantId = 
ApplicationManagementUtil.getTenantId(configurationContext);
+            SubscriptionDomainBean subscriptionDomain = 
PojoConverter.populateSubscriptionDomainPojo(cartridgeSubsciptionManager.getSubscriptionDomain(tenantId,
+                    subscriptionAlias, domain));
+
+            if ( subscriptionDomain.domainName != null ) {
+                return true;
+            } else {
+                return false;
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new RestAPIException(e.getMessage(), e);
+        }
+
+    }
+
     public static List<SubscriptionDomainBean> 
getSubscriptionDomains(ConfigurationContext configurationContext, String 
cartridgeType,
                                                       String 
subscriptionAlias) throws RestAPIException {
         try {

Reply via email to