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/08 02:50:49 UTC
git commit: implement the capability to add multiple subscription
domain mappings
Repository: incubator-stratos
Updated Branches:
refs/heads/master c5a0142e8 -> 1ff07c620
implement the capability to add multiple subscription domain mappings
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/1ff07c62
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/1ff07c62
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/1ff07c62
Branch: refs/heads/master
Commit: 1ff07c620d9fd5ec8d8fa28830fdc1e5d7bfcb78
Parents: c5a0142
Author: Nirmal Fernando <ni...@apache.org>
Authored: Thu May 8 06:19:49 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Thu May 8 06:19:49 2014 +0530
----------------------------------------------------------------------
.../bean/SubscriptionDomainRequest.java | 25 ++++----------
.../subscription/domain/SubscriptionDomain.java | 29 -----------------
.../domain/SubscriptionDomainBean.java | 29 +++++++++++++++++
.../bean/util/converter/PojoConverter.java | 30 +++++++++++++++++
.../stratos/rest/endpoint/mock/MockContext.java | 34 ++++++++++++--------
.../rest/endpoint/mock/StratosTestAdmin.java | 21 ++++++------
.../rest/endpoint/services/ServiceUtils.java | 24 +++++++++-----
.../rest/endpoint/services/StratosAdmin.java | 19 +++++------
.../stratos-test/WEB-INF/schemas/schema.xsd | 10 ++++--
.../webapp/stratos/WEB-INF/schemas/schema.xsd | 10 ++++--
10 files changed, 138 insertions(+), 93 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/SubscriptionDomainRequest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/SubscriptionDomainRequest.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/SubscriptionDomainRequest.java
index 3d3fb4c..6e0d6ae 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/SubscriptionDomainRequest.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/SubscriptionDomainRequest.java
@@ -19,30 +19,17 @@
package org.apache.stratos.rest.endpoint.bean;
-import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.stratos.rest.endpoint.bean.subscription.domain.SubscriptionDomainBean;
+
/**
* Defines subscription domain post request.
*/
-@XmlRootElement(name = "subscriptionDomainRequest")
+@XmlRootElement
public class SubscriptionDomainRequest {
- private String domainName;
- private String applicationContext;
-
- public String getDomainName() {
- return domainName;
- }
-
- public String getApplicationContext() {
- return applicationContext;
- }
-
- public void setDomainName(String domainName) {
- this.domainName = domainName;
- }
+ public List<SubscriptionDomainBean> domains;
- public void setApplicationContext(String applicationContext) {
- this.applicationContext = applicationContext;
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/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
deleted file mode 100644
index 8542339..0000000
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/subscription/domain/SubscriptionDomain.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/subscription/domain/SubscriptionDomainBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/subscription/domain/SubscriptionDomainBean.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/subscription/domain/SubscriptionDomainBean.java
new file mode 100644
index 0000000..1b053bf
--- /dev/null
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/subscription/domain/SubscriptionDomainBean.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(name = "domains")
+public class SubscriptionDomainBean {
+ public String domainName;
+ public String applicationContext;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
index 3db3b24..50cbbb6 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
@@ -21,12 +21,14 @@ package org.apache.stratos.rest.endpoint.bean.util.converter;
import org.apache.stratos.cloud.controller.stub.pojo.*;
import org.apache.stratos.manager.deploy.service.Service;
+import org.apache.stratos.manager.subscription.SubscriptionDomain;
import org.apache.stratos.messaging.domain.topology.Cluster;
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.*;
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy;
import org.apache.stratos.rest.endpoint.bean.cartridge.definition.*;
+import org.apache.stratos.rest.endpoint.bean.subscription.domain.SubscriptionDomainBean;
import org.apache.stratos.rest.endpoint.bean.topology.Member;
import java.util.ArrayList;
@@ -403,6 +405,34 @@ public class PojoConverter {
return partitionBeans;
}
+
+ public static List<SubscriptionDomainBean> populateSubscriptionDomainPojos(List<SubscriptionDomain> subscriptionDomains) {
+
+ List<SubscriptionDomainBean> subscriptionDomainBeans = new ArrayList<SubscriptionDomainBean>();
+
+ if (subscriptionDomains == null) {
+ return subscriptionDomainBeans;
+ }
+
+ for (SubscriptionDomain subscriptionDomain : subscriptionDomains) {
+ subscriptionDomainBeans.add(populateSubscriptionDomainPojo(subscriptionDomain));
+ }
+
+ return subscriptionDomainBeans;
+ }
+
+ public static SubscriptionDomainBean populateSubscriptionDomainPojo(SubscriptionDomain subscriptionDomain) {
+
+ SubscriptionDomainBean subscriptionDomainBean = new SubscriptionDomainBean();
+
+ if (subscriptionDomain == null) {
+ return subscriptionDomainBean;
+ }
+ subscriptionDomainBean.domainName = subscriptionDomain.getDomainName();
+ subscriptionDomainBean.applicationContext = subscriptionDomain.getApplicationContext();
+
+ return subscriptionDomainBean;
+ }
private static List<PropertyBean> getPropertyBeans (Properties properties) {
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/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 5cadb9a..a20dd8f 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
@@ -21,16 +21,19 @@ package org.apache.stratos.rest.endpoint.mock;
import org.apache.stratos.common.beans.TenantInfoBean;
import org.apache.stratos.manager.dto.Cartridge;
import org.apache.stratos.manager.dto.SubscriptionInfo;
+import org.apache.stratos.manager.subscription.SubscriptionDomain;
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.subscription.domain.SubscriptionDomainBean;
import org.apache.stratos.rest.endpoint.bean.topology.Cluster;
+import org.apache.stratos.rest.endpoint.bean.util.converter.PojoConverter;
import org.apache.stratos.rest.endpoint.exception.RestAPIException;
import java.util.*;
@@ -392,7 +395,7 @@ public class MockContext {
return deploymentPolicyMap.values().toArray(new DeploymentPolicy[0]);
}
- public StratosAdminResponse addSubscriptionDomain(int tenantId, String alias, String domainName, String applicationContext) {
+ public StratosAdminResponse addSubscriptionDomains(int tenantId, String alias, SubscriptionDomainRequest request) {
// populate new alias
List<String> aliasList;
if(tenantIdToAliasesMap.containsKey(tenantId)) {
@@ -410,33 +413,36 @@ public class MockContext {
} else {
list = new ArrayList<SubscriptionDomain>();
}
- SubscriptionDomain subscriptionDomain = new SubscriptionDomain();
- subscriptionDomain.domainName = domainName;
- subscriptionDomain.applicationContext = applicationContext;
- list.add(subscriptionDomain);
+ for (org.apache.stratos.rest.endpoint.bean.subscription.domain.SubscriptionDomainBean bean : request.domains) {
+
+ SubscriptionDomain subscriptionDomain = new SubscriptionDomain(bean.domainName, bean.applicationContext);
+ list.add(subscriptionDomain);
+ }
+
subscriptionAliasToDomainMap.put(alias, list);
StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();
- stratosAdminResponse.setMessage("Successfully added subscription domain: "+domainName);
+ stratosAdminResponse.setMessage("Successfully added subscription domain/s.");
return stratosAdminResponse;
}
- public List<SubscriptionDomain> getSubscriptionDomains(int tenantId, String alias) {
+ public List<SubscriptionDomainBean> getSubscriptionDomains(int tenantId, String alias) {
List<String> tenantAliases = tenantIdToAliasesMap.get(tenantId);
if(tenantAliases != null && tenantAliases.contains(alias)) {
- return subscriptionAliasToDomainMap.get(alias);
+ return PojoConverter.populateSubscriptionDomainPojos(subscriptionAliasToDomainMap.get(alias));
}
- return new ArrayList<SubscriptionDomain>();
+ return new ArrayList<SubscriptionDomainBean>();
}
- public SubscriptionDomain getSubscriptionDomain(int tenantId, String cartridgeType,
+ public SubscriptionDomainBean 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;
+ if(subscriptionDomain.getDomainName().equals(domainName)) {
+
+ return PojoConverter.populateSubscriptionDomainPojo(subscriptionDomain);
}
}
}
@@ -456,7 +462,7 @@ public class MockContext {
for (Iterator<SubscriptionDomain> iterator = subscriptionAliasToDomainMap.get(subscriptionAlias).iterator(); iterator
.hasNext();) {
SubscriptionDomain subscriptionDomain = (SubscriptionDomain) iterator.next();
- if (subscriptionDomain.domainName.equals(domainName)) {
+ if (subscriptionDomain.getDomainName().equals(domainName)) {
iterator.remove();
stratosAdminResponse.setMessage("Successfully removed the subscription domain: "+domainName);
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/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 3f16039..34793b2 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
@@ -25,6 +25,7 @@ import org.apache.stratos.common.beans.TenantInfoBean;
import org.apache.stratos.manager.dto.Cartridge;
import org.apache.stratos.manager.dto.SubscriptionInfo;
import org.apache.stratos.manager.exception.ADCException;
+import org.apache.stratos.manager.subscription.SubscriptionDomain;
import org.apache.stratos.rest.endpoint.Utils;
import org.apache.stratos.rest.endpoint.annotation.AuthorizationAction;
import org.apache.stratos.rest.endpoint.annotation.SuperTenantService;
@@ -37,7 +38,7 @@ 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.subscription.domain.SubscriptionDomainBean;
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;
@@ -478,38 +479,38 @@ public class StratosTestAdmin {
}
@POST
- @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/")
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains")
@Consumes("application/json")
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
- public StratosAdminResponse addSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
+ public StratosAdminResponse addSubscriptionDomains(@PathParam("cartridgeType") String cartridgeType,
@PathParam("subscriptionAlias") String subscriptionAlias,
SubscriptionDomainRequest request) throws RestAPIException {
- return MockContext.getInstance().addSubscriptionDomain(2, subscriptionAlias, request.getDomainName(), request.getApplicationContext());
+ return MockContext.getInstance().addSubscriptionDomains(2, subscriptionAlias, request);
}
@GET
- @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/")
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains")
@Consumes("application/json")
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
- public SubscriptionDomain[] getSubscriptionDomains(@PathParam("cartridgeType") String cartridgeType,
+ public SubscriptionDomainBean[] getSubscriptionDomains(@PathParam("cartridgeType") String cartridgeType,
@PathParam("subscriptionAlias") String subscriptionAlias) throws RestAPIException {
- return MockContext.getInstance().getSubscriptionDomains(2, subscriptionAlias).toArray(new SubscriptionDomain[0]);
+ return MockContext.getInstance().getSubscriptionDomains(2, subscriptionAlias).toArray(new SubscriptionDomainBean[0]);
}
@GET
- @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/{domainName}")
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains/{domainName}")
@Consumes("application/json")
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
- public SubscriptionDomain getSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
+ public SubscriptionDomainBean 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}")
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains/{domainName}")
@Consumes("application/json")
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
public StratosAdminResponse removeSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/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 f7b70f6..b602ec6 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
@@ -55,12 +55,14 @@ import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
import org.apache.stratos.messaging.util.Constants;
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.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.subscription.domain.SubscriptionDomainBean;
import org.apache.stratos.rest.endpoint.bean.util.converter.PojoConverter;
import org.apache.stratos.rest.endpoint.exception.RestAPIException;
@@ -1188,11 +1190,17 @@ public class ServiceUtils {
return stratosAdminResponse;
}
- public static StratosAdminResponse addSubscriptionDomain(ConfigurationContext configurationContext, String cartridgeType,
- String subscriptionAlias, String domainName, String applicationContext) throws RestAPIException {
+ public static StratosAdminResponse addSubscriptionDomains(ConfigurationContext configurationContext, String cartridgeType,
+ String subscriptionAlias,
+ SubscriptionDomainRequest request)
+ throws RestAPIException {
try {
int tenantId = ApplicationManagementUtil.getTenantId(configurationContext);
- cartridgeSubsciptionManager.addSubscriptionDomain(tenantId, subscriptionAlias, domainName, applicationContext);
+ for (org.apache.stratos.rest.endpoint.bean.subscription.domain.SubscriptionDomainBean subscriptionDomain : request.domains) {
+
+ cartridgeSubsciptionManager.addSubscriptionDomain(tenantId, subscriptionAlias,
+ subscriptionDomain.domainName, subscriptionDomain.applicationContext);
+ }
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new RestAPIException(e.getMessage(), e);
@@ -1203,24 +1211,24 @@ public class ServiceUtils {
return stratosAdminResponse;
}
- public static List<SubscriptionDomain> getSubscriptionDomains(ConfigurationContext configurationContext, String cartridgeType,
+ public static List<SubscriptionDomainBean> getSubscriptionDomains(ConfigurationContext configurationContext, String cartridgeType,
String subscriptionAlias) throws RestAPIException {
try {
int tenantId = ApplicationManagementUtil.getTenantId(configurationContext);
- return cartridgeSubsciptionManager.getSubscriptionDomains(tenantId, subscriptionAlias);
+ return PojoConverter.populateSubscriptionDomainPojos(cartridgeSubsciptionManager.getSubscriptionDomains(tenantId, subscriptionAlias));
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new RestAPIException(e.getMessage(), e);
}
}
- public static SubscriptionDomain getSubscriptionDomain(ConfigurationContext configurationContext, String cartridgeType,
+ public static SubscriptionDomainBean getSubscriptionDomain(ConfigurationContext configurationContext, String cartridgeType,
String subscriptionAlias, String domain) throws RestAPIException {
try {
int tenantId = ApplicationManagementUtil
.getTenantId(configurationContext);
- SubscriptionDomain subscriptionDomain = cartridgeSubsciptionManager.getSubscriptionDomain(tenantId,
- subscriptionAlias, domain);
+ SubscriptionDomainBean subscriptionDomain = PojoConverter.populateSubscriptionDomainPojo(cartridgeSubsciptionManager.getSubscriptionDomain(tenantId,
+ subscriptionAlias, domain));
if (subscriptionDomain == null) {
String message = "Could not find a subscription [domain] "+domain+ " for Cartridge [type] "
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/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 5b39030..b766ffa 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
@@ -42,6 +42,7 @@ 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.subscription.domain.SubscriptionDomainBean;
import org.apache.stratos.rest.endpoint.bean.topology.Cluster;
import org.apache.stratos.rest.endpoint.exception.RestAPIException;
import org.apache.stratos.tenant.mgt.core.TenantPersistor;
@@ -1021,38 +1022,38 @@ public class StratosAdmin extends AbstractAdmin {
}
@POST
- @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/")
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains")
@Consumes("application/json")
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
- public StratosAdminResponse addSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
+ public StratosAdminResponse addSubscriptionDomains(@PathParam("cartridgeType") String cartridgeType,
@PathParam("subscriptionAlias") String subscriptionAlias,
SubscriptionDomainRequest request) throws RestAPIException {
- return ServiceUtils.addSubscriptionDomain(getConfigContext(), cartridgeType, subscriptionAlias, request.getDomainName(), request.getApplicationContext());
+ return ServiceUtils.addSubscriptionDomains(getConfigContext(), cartridgeType, subscriptionAlias, request);
}
@GET
- @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/")
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains")
@Consumes("application/json")
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
- public SubscriptionDomain[] getSubscriptionDomains(@PathParam("cartridgeType") String cartridgeType,
+ public SubscriptionDomainBean[] getSubscriptionDomains(@PathParam("cartridgeType") String cartridgeType,
@PathParam("subscriptionAlias") String subscriptionAlias) throws RestAPIException {
- return ServiceUtils.getSubscriptionDomains(getConfigContext(), cartridgeType, subscriptionAlias).toArray(new SubscriptionDomain[0]);
+ return ServiceUtils.getSubscriptionDomains(getConfigContext(), cartridgeType, subscriptionAlias).toArray(new SubscriptionDomainBean[0]);
}
@GET
- @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/{domainName}")
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains/{domainName}")
@Consumes("application/json")
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
- public SubscriptionDomain getSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
+ public SubscriptionDomainBean getSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
@PathParam("subscriptionAlias") String subscriptionAlias, @PathParam("domainName") String domainName) throws RestAPIException {
return ServiceUtils.getSubscriptionDomain(getConfigContext(), cartridgeType, subscriptionAlias, domainName);
}
@DELETE
- @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/{domainName}")
+ @Path("/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains/{domainName}")
@Consumes("application/json")
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
public StratosAdminResponse removeSubscriptionDomain(@PathParam("cartridgeType") String cartridgeType,
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/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 fe09947..e6fd796 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
@@ -205,12 +205,18 @@
<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:element name="domains" type="subscriptionDomain" minOccurs="1" maxOccurs="unbounded" nillable="false"/>
</xs:sequence>
</xs:complexType>
</xs:element>
+ <xs:complexType name="subscriptionDomain">
+ <xs:all>
+ <xs:element name="domainName" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/>
+ <xs:element name="applicationContext" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+ </xs:all>
+ </xs:complexType>
+
<xs:complexType name="thresholdValues">
<xs:all>
<xs:element name="average" type="xs:int" minOccurs="1" maxOccurs="1"/>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ff07c62/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 1a4947d..f59bf28 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
@@ -205,12 +205,18 @@
<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:element name="domains" type="subscriptionDomain" minOccurs="1" maxOccurs="unbounded" nillable="false"/>
</xs:sequence>
</xs:complexType>
</xs:element>
+ <xs:complexType name="subscriptionDomain">
+ <xs:all>
+ <xs:element name="domainName" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/>
+ <xs:element name="applicationContext" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+ </xs:all>
+ </xs:complexType>
+
<xs:complexType name="thresholdValues">
<xs:all>
<xs:element name="average" type="xs:int" minOccurs="1" maxOccurs="1"/>