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:04 UTC
[1/5] git commit: implementing getSubscriptionDomain operation to
retrieve a SubscriptionDomain and returning a list of SubscriptionDomains
from getSubscriptionDomains operation
Repository: incubator-stratos
Updated Branches:
refs/heads/master ff6da3ab3 -> c5a0142e8
implementing getSubscriptionDomain operation to retrieve a SubscriptionDomain and returning a list of SubscriptionDomains from getSubscriptionDomains operation
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/5d1fe10b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/5d1fe10b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/5d1fe10b
Branch: refs/heads/master
Commit: 5d1fe10b27b8052735216c9d686f670478fd121a
Parents: ff6da3a
Author: Nirmal Fernando <ni...@apache.org>
Authored: Thu May 8 02:14:29 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Thu May 8 02:14:29 2014 +0530
----------------------------------------------------------------------
.../manager/CartridgeSubscriptionManager.java | 27 +++++++++++++++-----
.../subscription/CartridgeSubscription.java | 4 +++
2 files changed, 25 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5d1fe10b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
index 7c35c1c..1a7fbf3 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
@@ -448,7 +448,7 @@ public class CartridgeSubscriptionManager {
eventPublisher.publish(event);
}
- public List<String> getSubscriptionDomains(int tenantId, String subscriptionAlias)
+ public List<SubscriptionDomain> getSubscriptionDomains(int tenantId, String subscriptionAlias)
throws ADCException {
try {
@@ -456,17 +456,32 @@ public class CartridgeSubscriptionManager {
if(cartridgeSubscription == null) {
throw new ADCException("Cartridge subscription not found");
}
- List<String> domainNames = new ArrayList<String>();
- for(SubscriptionDomain subscriptionDomain : cartridgeSubscription.getSubscriptionDomains()) {
- domainNames.add(subscriptionDomain.getDomainName());
- }
- return domainNames;
+
+ return (List<SubscriptionDomain>) cartridgeSubscription.getSubscriptionDomains();
} catch (Exception e) {
String errorMsg = "Could not get domains of cartridge subscription: [tenant-id] " + tenantId + " [subscription-alias] " + subscriptionAlias;
log.error(errorMsg);
throw new ADCException(errorMsg, e);
}
}
+
+ public SubscriptionDomain getSubscriptionDomain(int tenantId, String subscriptionAlias, String domain)
+ throws ADCException {
+
+ try {
+ CartridgeSubscription cartridgeSubscription = getCartridgeSubscription(tenantId, subscriptionAlias);
+ if(cartridgeSubscription == null) {
+ throw new ADCException("Cartridge subscription not found");
+ }
+
+ return cartridgeSubscription.getSubscriptionDomain(domain);
+ } catch (Exception e) {
+ String errorMsg = "Could not check [domain] "+domain+" against cartridge subscription: [tenant-id] "
+ + tenantId + " [subscription-alias] " + subscriptionAlias;
+ log.error(errorMsg);
+ throw new ADCException(errorMsg, e);
+ }
+ }
public boolean isSubscriptionDomainValid(String domainName) throws ADCException {
try {
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5d1fe10b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
index 755b559..ebf7276 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
@@ -136,6 +136,10 @@ public abstract class CartridgeSubscription implements Serializable {
public boolean subscriptionDomainExists(String domainName) {
return subscriptionDomainMap.containsKey(domainName);
}
+
+ public SubscriptionDomain getSubscriptionDomain(String domainName) {
+ return subscriptionDomainMap.get(domainName);
+ }
public Collection<SubscriptionDomain> getSubscriptionDomains() {
return Collections.unmodifiableCollection(subscriptionDomainMap.values());
[5/5] git commit: adding domain mapping related requests to the
validation schemas
Posted by ni...@apache.org.
adding domain mapping related requests to the validation schemas
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/c5a0142e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/c5a0142e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/c5a0142e
Branch: refs/heads/master
Commit: c5a0142e8408db0808f9674b1516fd477afccdaa
Parents: 41988c5
Author: Nirmal Fernando <ni...@apache.org>
Authored: Thu May 8 02:18:11 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Thu May 8 02:18:11 2014 +0530
----------------------------------------------------------------------
.../main/webapp/stratos-test/WEB-INF/schemas/schema.xsd | 11 ++++++++++-
.../src/main/webapp/stratos/WEB-INF/schemas/schema.xsd | 11 ++++++++++-
2 files changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c5a0142e/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd
index 712d417..fe09947 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd
+++ b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd
@@ -201,6 +201,15 @@
</xs:all>
</xs:complexType>
</xs:element>
+
+ <xs:element name="subscriptionDomainRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="domainName" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/>
+ <xs:element name="applicationContext" minOccurs="0" maxOccurs="1" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
<xs:complexType name="thresholdValues">
<xs:all>
@@ -211,4 +220,4 @@
<xs:element name="scaleDownMarginOfSecondDerivative" type="xs:float" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
-</xs:schema>
\ No newline at end of file
+</xs:schema>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c5a0142e/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd
index 712d417..1a4947d 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd
+++ b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd
@@ -202,6 +202,15 @@
</xs:complexType>
</xs:element>
+ <xs:element name="subscriptionDomainRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="domainName" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/>
+ <xs:element name="applicationContext" minOccurs="0" maxOccurs="1" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
<xs:complexType name="thresholdValues">
<xs:all>
<xs:element name="average" type="xs:int" minOccurs="1" maxOccurs="1"/>
@@ -211,4 +220,4 @@
<xs:element name="scaleDownMarginOfSecondDerivative" type="xs:float" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
-</xs:schema>
\ No newline at end of file
+</xs:schema>
[2/5] git commit: implementing a new REST API operation -
getSubscriptionDomain
Posted by ni...@apache.org.
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
[3/5] git commit: implementing the mock REST API test cases for the
domain mapping implementation
Posted by ni...@apache.org.
implementing the mock REST API test cases for the domain mapping implementation
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/acdb17bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/acdb17bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/acdb17bf
Branch: refs/heads/master
Commit: acdb17bffc67bf4bb6c97c72892b41de824a9625
Parents: 34d4205
Author: Nirmal Fernando <ni...@apache.org>
Authored: Thu May 8 02:16:45 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Thu May 8 02:16:45 2014 +0530
----------------------------------------------------------------------
.../stratos/rest/endpoint/mock/MockContext.java | 82 ++++++++++++++++++++
.../rest/endpoint/mock/StratosTestAdmin.java | 45 ++++++++++-
2 files changed, 126 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/acdb17bf/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
index ec58da7..5cadb9a 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
@@ -29,13 +29,18 @@ import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.Autosca
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy;
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.subscription.domain.SubscriptionDomain;
import org.apache.stratos.rest.endpoint.bean.topology.Cluster;
import org.apache.stratos.rest.endpoint.exception.RestAPIException;
import java.util.*;
+import javax.ws.rs.core.Response.Status;
+
public class MockContext {
private static MockContext mockContext = new MockContext(); // singleton
+ private Map<String, List<SubscriptionDomain>> subscriptionAliasToDomainMap = new HashMap<String, List<SubscriptionDomain>>();
+ private Map<Integer, List<String>> tenantIdToAliasesMap = new HashMap<Integer, List<String>>();
private List<CartridgeDefinitionBean> cartridgeDefinitionBeanList = new LinkedList<CartridgeDefinitionBean>();
private Map<String,Cartridge> availableSingleTenantCartridges = new HashMap<String,Cartridge>();
private Map<String,Cartridge> availableMultiTenantCartridges = new HashMap<String,Cartridge>();
@@ -387,4 +392,81 @@ public class MockContext {
return deploymentPolicyMap.values().toArray(new DeploymentPolicy[0]);
}
+ public StratosAdminResponse addSubscriptionDomain(int tenantId, String alias, String domainName, String applicationContext) {
+ // populate new alias
+ List<String> aliasList;
+ if(tenantIdToAliasesMap.containsKey(tenantId)) {
+ aliasList = tenantIdToAliasesMap.get(tenantId);
+ } else {
+ aliasList = new ArrayList<String>();
+ }
+ aliasList.add(alias);
+ tenantIdToAliasesMap.put(tenantId, aliasList);
+
+ // populate domains
+ List<SubscriptionDomain> list;
+ if(subscriptionAliasToDomainMap.containsKey(alias)) {
+ list = subscriptionAliasToDomainMap.get(alias);
+ } else {
+ list = new ArrayList<SubscriptionDomain>();
+ }
+ SubscriptionDomain subscriptionDomain = new SubscriptionDomain();
+ subscriptionDomain.domainName = domainName;
+ subscriptionDomain.applicationContext = applicationContext;
+ list.add(subscriptionDomain);
+ subscriptionAliasToDomainMap.put(alias, list);
+
+ StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();
+ stratosAdminResponse.setMessage("Successfully added subscription domain: "+domainName);
+ return stratosAdminResponse;
+ }
+
+ public List<SubscriptionDomain> getSubscriptionDomains(int tenantId, String alias) {
+ List<String> tenantAliases = tenantIdToAliasesMap.get(tenantId);
+ if(tenantAliases != null && tenantAliases.contains(alias)) {
+
+ return subscriptionAliasToDomainMap.get(alias);
+ }
+ return new ArrayList<SubscriptionDomain>();
+ }
+
+ public SubscriptionDomain getSubscriptionDomain(int tenantId, String cartridgeType,
+ String subscriptionAlias, String domainName) throws RestAPIException {
+ List<String> tenantAliases = tenantIdToAliasesMap.get(tenantId);
+ if(tenantAliases != null && tenantAliases.contains(subscriptionAlias)) {
+ for (SubscriptionDomain subscriptionDomain : subscriptionAliasToDomainMap.get(subscriptionAlias)) {
+ if(subscriptionDomain.domainName.equals(domainName)) {
+ return subscriptionDomain;
+ }
+ }
+ }
+
+ String message = "Could not find a subscription [domain] " + domainName
+ + " for Cartridge [type] " + cartridgeType + " and [alias] "
+ + subscriptionAlias;
+ throw new RestAPIException(Status.NOT_FOUND, message);
+ }
+
+ public StratosAdminResponse removeSubscriptionDomain(int tenantId,
+ String subscriptionAlias, String domainName) {
+ StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();
+
+ List<String> tenantAliases = tenantIdToAliasesMap.get(tenantId);
+ if(tenantAliases != null && tenantAliases.contains(subscriptionAlias)) {
+ for (Iterator<SubscriptionDomain> iterator = subscriptionAliasToDomainMap.get(subscriptionAlias).iterator(); iterator
+ .hasNext();) {
+ SubscriptionDomain subscriptionDomain = (SubscriptionDomain) iterator.next();
+ if (subscriptionDomain.domainName.equals(domainName)) {
+ iterator.remove();
+ stratosAdminResponse.setMessage("Successfully removed the subscription domain: "+domainName);
+ }
+ }
+ } else {
+
+ stratosAdminResponse.setMessage("Failed to remove the subscription domain: "+domainName);
+ }
+
+ return stratosAdminResponse;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/acdb17bf/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java
index c31e3e3..3f16039 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/StratosTestAdmin.java
@@ -18,7 +18,7 @@
*/
package org.apache.stratos.rest.endpoint.mock;
-import org.apache.catalina.tribes.membership.McastService;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.common.beans.TenantInfoBean;
@@ -30,14 +30,17 @@ import org.apache.stratos.rest.endpoint.annotation.AuthorizationAction;
import org.apache.stratos.rest.endpoint.annotation.SuperTenantService;
import org.apache.stratos.rest.endpoint.bean.CartridgeInfoBean;
import org.apache.stratos.rest.endpoint.bean.StratosAdminResponse;
+import org.apache.stratos.rest.endpoint.bean.SubscriptionDomainRequest;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.PartitionGroup;
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy;
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy;
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.subscription.domain.SubscriptionDomain;
import org.apache.stratos.rest.endpoint.bean.topology.Cluster;
import org.apache.stratos.rest.endpoint.exception.RestAPIException;
+import org.apache.stratos.rest.endpoint.services.ServiceUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@@ -474,6 +477,46 @@ public class StratosTestAdmin {
return MockContext.getInstance().getDeploymentPoliciesForCartridgeType(cartridgeType);
}
+ @POST
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/")
+ @Consumes("application/json")
+ @AuthorizationAction("/permission/protected/manage/monitor/tenants")
+ public StratosAdminResponse addSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
+ @PathParam("subscriptionAlias") String subscriptionAlias,
+ SubscriptionDomainRequest request) throws RestAPIException {
+
+ return MockContext.getInstance().addSubscriptionDomain(2, subscriptionAlias, request.getDomainName(), request.getApplicationContext());
+ }
+
+ @GET
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/")
+ @Consumes("application/json")
+ @AuthorizationAction("/permission/protected/manage/monitor/tenants")
+ public SubscriptionDomain[] getSubscriptionDomains(@PathParam("cartridgeType") String cartridgeType,
+ @PathParam("subscriptionAlias") String subscriptionAlias) throws RestAPIException {
+
+ return MockContext.getInstance().getSubscriptionDomains(2, subscriptionAlias).toArray(new SubscriptionDomain[0]);
+ }
+ @GET
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/{domainName}")
+ @Consumes("application/json")
+ @AuthorizationAction("/permission/protected/manage/monitor/tenants")
+ public SubscriptionDomain getSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
+ @PathParam("subscriptionAlias") String subscriptionAlias, @PathParam("domainName") String domainName) throws RestAPIException {
+
+ return MockContext.getInstance().getSubscriptionDomain(2, cartridgeType, subscriptionAlias, domainName);
+ }
+
+ @DELETE
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/{domainName}")
+ @Consumes("application/json")
+ @AuthorizationAction("/permission/protected/manage/monitor/tenants")
+ public StratosAdminResponse removeSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
+ @PathParam("subscriptionAlias") String subscriptionAlias,
+ @PathParam("domainName") String domainName) throws RestAPIException {
+
+ return MockContext.getInstance().removeSubscriptionDomain(2, subscriptionAlias, domainName);
+ }
}
[4/5] git commit: introducing SubscriptionDomain bean class
Posted by ni...@apache.org.
introducing SubscriptionDomain bean class
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/41988c5a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/41988c5a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/41988c5a
Branch: refs/heads/master
Commit: 41988c5aaea22455996cb0c0268350022d542479
Parents: acdb17b
Author: Nirmal Fernando <ni...@apache.org>
Authored: Thu May 8 02:17:30 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Thu May 8 02:17:30 2014 +0530
----------------------------------------------------------------------
.../subscription/domain/SubscriptionDomain.java | 29 ++++++++++++++++++++
1 file changed, 29 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/41988c5a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/subscription/domain/SubscriptionDomain.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/subscription/domain/SubscriptionDomain.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/subscription/domain/SubscriptionDomain.java
new file mode 100644
index 0000000..8542339
--- /dev/null
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/subscription/domain/SubscriptionDomain.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.rest.endpoint.bean.subscription.domain;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+public class SubscriptionDomain {
+ public String domainName;
+ public String applicationContext;
+
+}