You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2013/12/14 22:48:13 UTC
[2/5] subscription and payload models to provide support for service
deploying
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
index ecacc37..8e7d245 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
@@ -19,15 +19,9 @@
package org.apache.stratos.adc.mgt.subscription;
-import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo;
-import org.apache.stratos.adc.mgt.exception.*;
-import org.apache.stratos.adc.mgt.payload.PayloadArg;
import org.apache.stratos.adc.mgt.repository.Repository;
-import org.apache.stratos.adc.mgt.subscriber.Subscriber;
import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionTenancyBehaviour;
-import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-import org.apache.stratos.cloud.controller.pojo.Properties;
public class ApplicationCartridgeSubscription extends CartridgeSubscription {
@@ -37,35 +31,14 @@ public class ApplicationCartridgeSubscription extends CartridgeSubscription {
/**
* Constructor
*
- * @param cartridgeInfo CartridgeInfo subscription
+ * @param cartridgeInfo CartridgeInfo instance
+ * @param subscriptionTenancyBehaviour SubscriptionTenancyBehaviour instance
*/
- public ApplicationCartridgeSubscription(CartridgeInfo cartridgeInfo, boolean isServiceDeployment) {
- super(cartridgeInfo, isServiceDeployment);
+ public ApplicationCartridgeSubscription(CartridgeInfo cartridgeInfo, SubscriptionTenancyBehaviour
+ subscriptionTenancyBehaviour) {
+ super(cartridgeInfo, subscriptionTenancyBehaviour);
}
- public void createSubscription(Subscriber subscriber, String alias, String autoscalingPolicyName,
- String deploymentPolicyName, Repository repository) throws
- InvalidCartridgeAliasException, DuplicateCartridgeAliasException, ADCException,
- RepositoryCredentialsRequiredException, RepositoryTransportException, UnregisteredCartridgeException,
- AlreadySubscribedException, RepositoryRequiredException, InvalidRepositoryException, PolicyException {
-
- super.createSubscription(subscriber, alias, autoscalingPolicyName, deploymentPolicyName, repository);
- subscriptionTenancyBehaviour.createSubscription();
- }
-
- @Override
- public CartridgeSubscriptionInfo registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException {
-
- Properties props = new Properties();
- props.setProperties(getCartridgeInfo().getProperties());
-
- subscriptionTenancyBehaviour.registerSubscription(props);
-
- return ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), getAutoscalingPolicyName(),
- getType(), getAlias(), getSubscriber().getTenantId(), getSubscriber().getTenantDomain(),
- getRepository(), getCluster().getHostName(), getCluster().getClusterDomain(), getCluster().getClusterSubDomain(),
- getCluster().getMgtClusterDomain(), getCluster().getMgtClusterSubDomain(), null, "PENDING", getSubscriptionKey());
- }
public Repository manageRepository (String repoURL, String repoUserName, String repoUserPassword,
boolean privateRepo, String cartridgeAlias, CartridgeInfo cartridgeInfo,
@@ -74,19 +47,4 @@ public class ApplicationCartridgeSubscription extends CartridgeSubscription {
//no repository for application cartridge instances
return null;
}
-
- @Override
- public void removeSubscription() throws ADCException, NotSubscribedException {
-
- subscriptionTenancyBehaviour.removeSubscription();
- super.cleanupSubscription();
- }
-
- public PayloadArg createPayloadParameters () throws ADCException {
-
- PayloadArg payloadArg = super.createPayloadParameters();
- return subscriptionTenancyBehaviour.createPayloadParameters(payloadArg);
- }
-
-
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
index fb08da3..c476f09 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
@@ -27,23 +27,20 @@ import org.apache.stratos.adc.mgt.dao.Cluster;
import org.apache.stratos.adc.mgt.dns.DNSManager;
import org.apache.stratos.adc.mgt.exception.*;
import org.apache.stratos.adc.mgt.internal.DataHolder;
-import org.apache.stratos.adc.mgt.payload.Payload;
-import org.apache.stratos.adc.mgt.payload.PayloadArg;
+import org.apache.stratos.adc.mgt.payload.PayloadData;
import org.apache.stratos.adc.mgt.repository.Repository;
-import org.apache.stratos.adc.mgt.service.RepositoryInfoBean;
import org.apache.stratos.adc.mgt.subscriber.Subscriber;
-import org.apache.stratos.adc.mgt.subscription.tenancy.ServiceDeploymentMultiTenantBehaviour;
-import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionMultiTenantBehaviour;
-import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionSingleTenantBehaviour;
import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionTenancyBehaviour;
-import org.apache.stratos.adc.mgt.utils.*;
+import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
+import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
+import org.apache.stratos.adc.mgt.utils.PersistenceManager;
+import org.apache.stratos.adc.mgt.utils.RepositoryFactory;
import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService;
import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
import org.apache.stratos.cloud.controller.pojo.Properties;
import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Map;
public abstract class CartridgeSubscription implements Serializable {
@@ -58,23 +55,23 @@ public abstract class CartridgeSubscription implements Serializable {
private Subscriber subscriber;
private Repository repository;
private CartridgeInfo cartridgeInfo;
- private Payload payload;
+ private PayloadData payloadData;
private Cluster cluster;
- private String subscriptionStatus;
- private String serviceStatus;
+ //private String subscriptionStatus;
+ //private String serviceStatus;
private String mappedDomain;
- private List<String> connectedSubscriptionAliases;
+ //private List<String> connectedSubscriptionAliases;
private String subscriptionKey;
- protected SubscriptionTenancyBehaviour subscriptionTenancyBehaviour;
+ private SubscriptionTenancyBehaviour subscriptionTenancyBehaviour;
/**
* Constructor
*
- * @param cartridgeInfo CartridgeInfo subscription
+ * @param cartridgeInfo CartridgeInfo instance
+ * @param subscriptionTenancyBehaviour SubscriptionTenancyBehaviour instance
*/
- // TODO - temp fix to identify service deployment
- public CartridgeSubscription(CartridgeInfo cartridgeInfo, boolean isServiceDeployment) {
+ public CartridgeSubscription(CartridgeInfo cartridgeInfo, SubscriptionTenancyBehaviour subscriptionTenancyBehaviour) {
this.setCartridgeInfo(cartridgeInfo);
this.setType(cartridgeInfo.getType());
@@ -84,16 +81,9 @@ public abstract class CartridgeSubscription implements Serializable {
getCluster().setMgtClusterDomain("");
getCluster().setMgtClusterSubDomain(CartridgeConstants.DEFAULT_MGT_SUBDOMAIN);
getCluster().setHostName(cartridgeInfo.getHostName());
- this.setSubscriptionStatus(CartridgeConstants.SUBSCRIBED);
- this.connectedSubscriptionAliases = new ArrayList<String>();
- boolean isMultiTenant = getCartridgeInfo().getMultiTenant();
- if(isServiceDeployment) {
- subscriptionTenancyBehaviour = new ServiceDeploymentMultiTenantBehaviour(this);
- } else if(isMultiTenant) {
- subscriptionTenancyBehaviour = new SubscriptionMultiTenantBehaviour(this);
- } else {
- subscriptionTenancyBehaviour = new SubscriptionSingleTenantBehaviour(this);
- }
+ //this.setSubscriptionStatus(CartridgeConstants.SUBSCRIBED);
+ //this.connectedSubscriptionAliases = new ArrayList<String>();
+ this.setSubscriptionTenancyBehaviour(subscriptionTenancyBehaviour);
}
/**
@@ -122,14 +112,12 @@ public abstract class CartridgeSubscription implements Serializable {
DuplicateCartridgeAliasException, RepositoryRequiredException, AlreadySubscribedException,
RepositoryCredentialsRequiredException, InvalidRepositoryException, RepositoryTransportException {
- log.info(" ---- in super type cartridge subscription --");
setSubscriber(subscriber);
setAlias(alias);
setAutoscalingPolicyName(autoscalingPolicy);
setDeploymentPolicyName(deploymentPolicyName);
setRepository(repository);
- // TODOOO... remove followig
- //subscriptionTenancyBehaviour.createSubscription(this);
+ getSubscriptionTenancyBehaviour().createSubscription(this);
}
/**
@@ -138,7 +126,11 @@ public abstract class CartridgeSubscription implements Serializable {
* @throws ADCException
* @throws NotSubscribedException
*/
- public abstract void removeSubscription() throws ADCException, NotSubscribedException;
+ public void removeSubscription() throws ADCException, NotSubscribedException {
+
+ getSubscriptionTenancyBehaviour().removeSubscription(this);
+ cleanupSubscription();
+ }
/**
* Registers the subscription
@@ -149,8 +141,19 @@ public abstract class CartridgeSubscription implements Serializable {
* @throws ADCException
* @throws UnregisteredCartridgeException
*/
- public abstract CartridgeSubscriptionInfo registerSubscription(Properties properties)
- throws ADCException, UnregisteredCartridgeException;
+ public CartridgeSubscriptionInfo registerSubscription(Properties properties)
+ throws ADCException, UnregisteredCartridgeException {
+
+ Properties props = new Properties();
+ props.setProperties(getCartridgeInfo().getProperties());
+
+ getSubscriptionTenancyBehaviour().registerSubscription(this, props);
+
+ return ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), getAutoscalingPolicyName(),
+ getType(), getAlias(), getSubscriber().getTenantId(), getSubscriber().getTenantDomain(),
+ getRepository(), getCluster().getHostName(), getCluster().getClusterDomain(), getCluster().getClusterSubDomain(),
+ getCluster().getMgtClusterDomain(), getCluster().getMgtClusterSubDomain(), null, "PENDING", getSubscriptionKey());
+ }
/**
* Connect cartridges
@@ -158,7 +161,7 @@ public abstract class CartridgeSubscription implements Serializable {
* @param connectingCartridgeAlias Alias of connecting cartridge
*/
public void connect (String connectingCartridgeAlias) {
- connectedSubscriptionAliases.add(connectingCartridgeAlias);
+ //connectedSubscriptionAliases.add(connectingCartridgeAlias);
}
/**
@@ -167,27 +170,7 @@ public abstract class CartridgeSubscription implements Serializable {
* @param disconnectingCartridgeAlias Alias of the cartridge subscription to disconnect
*/
public void disconnect (String disconnectingCartridgeAlias) {
- connectedSubscriptionAliases.remove(disconnectingCartridgeAlias);
- }
-
- /**
- * Creates the relevant payload parameters for this cartridge subscription
- *
- * @return PayloadArg subscription
- * @throws ADCException in an errpr
- */
- public PayloadArg createPayloadParameters() throws ADCException {
-
- PayloadArg payloadArg = new PayloadArg();
- payloadArg.setCartridgeInfo(getCartridgeInfo());
- //payloadArg.setPolicy(getAutoscalingPolicyName());
- payloadArg.setMultitenant(getCartridgeInfo().getMultiTenant());
- payloadArg.setTenantId(getSubscriber().getTenantId());
- payloadArg.setTenantDomain(getSubscriber().getTenantDomain());
- payloadArg.setCartridgeAlias(getAlias());
- payloadArg.setServiceName(getCartridgeInfo().getType());
- payloadArg.setSubscriptionKey(subscriptionKey);
- return payloadArg;
+ //connectedSubscriptionAliases.remove(disconnectingCartridgeAlias);
}
/**
@@ -233,27 +216,7 @@ public abstract class CartridgeSubscription implements Serializable {
repository.setPassword(repoUserPassword);
repository.setPrivateRepository(privateRepo);
- }
- // Commenting out, since internal git repos are no longer used
- /*else {
-
- log.info("External git repo url not provided for tenant "
- + tenantDomain + ", creating an git internal repository");
-
- repository.setUserName(System.getProperty(CartridgeConstants.INTERNAL_GIT_USERNAME));
- repository.setPassword(System.getProperty(CartridgeConstants.INTERNAL_GIT_PASSWORD));
- try {
- new RepositoryCreator(new RepositoryInfoBean(repoURL, cartridgeAlias, tenantDomain,
- repository.getUserName(), repository.getPassword(), cartridgeInfo.getDeploymentDirs(),
- cartridgeInfo)).createInternalRepository();
-
- } catch (Exception e) {
- throw new ADCException(e.getMessage(), e);
- }
- String repoName = tenantDomain + "/" + cartridgeAlias;
- repository.setUrl("https://" + System.getProperty(CartridgeConstants.GIT_HOST_NAME) + ":8443/git/" +
- repoName);
- }*/
+ }
// Validate Remote Repository.
ApplicationManagementUtil.validateRepository(repoURL, repoUserName, repoUserPassword, privateRepo,
@@ -311,7 +274,13 @@ public abstract class CartridgeSubscription implements Serializable {
log.error(errorMsg, e);
}
- this.setSubscriptionStatus(CartridgeConstants.UNSUBSCRIBED);
+ //this.setSubscriptionStatus(CartridgeConstants.UNSUBSCRIBED);
+ }
+
+ public Map<String, String> getCustomPayloadEntries () {
+
+ //no custom payload entries by default
+ return null;
}
public String getType() {
@@ -330,9 +299,9 @@ public abstract class CartridgeSubscription implements Serializable {
return repository;
}
- public List<String> getConnectedSubscriptionAliases() {
+ /*public List<String> getConnectedSubscriptionAliases() {
return connectedSubscriptionAliases;
- }
+ }*/
public CartridgeInfo getCartridgeInfo() {
return cartridgeInfo;
@@ -406,12 +375,12 @@ public abstract class CartridgeSubscription implements Serializable {
this.cartridgeInfo = cartridgeInfo;
}
- public Payload getPayload() {
- return payload;
+ public PayloadData getPayloadData() {
+ return payloadData;
}
- public void setPayload(Payload payload) {
- this.payload = payload;
+ public void setPayloadData(PayloadData payloadData) {
+ this.payloadData = payloadData;
}
public int getSubscriptionId() {
@@ -430,13 +399,13 @@ public abstract class CartridgeSubscription implements Serializable {
this.mappedDomain = mappedDomain;
}
- public String getSubscriptionStatus() {
+ /*public String getSubscriptionStatus() {
return subscriptionStatus;
}
public void setSubscriptionStatus(String subscriptionStatus) {
this.subscriptionStatus = subscriptionStatus;
- }
+ }*/
public String getSubscriptionKey() {
return subscriptionKey;
@@ -462,11 +431,19 @@ public abstract class CartridgeSubscription implements Serializable {
this.deploymentPolicyName = deploymentPolicyName;
}
- public String getServiceStatus() {
+ public SubscriptionTenancyBehaviour getSubscriptionTenancyBehaviour() {
+ return subscriptionTenancyBehaviour;
+ }
+
+ public void setSubscriptionTenancyBehaviour(SubscriptionTenancyBehaviour subscriptionTenancyBehaviour) {
+ this.subscriptionTenancyBehaviour = subscriptionTenancyBehaviour;
+ }
+
+ /*public String getServiceStatus() {
return serviceStatus;
}
public void setServiceStatus(String serviceStatus) {
this.serviceStatus = serviceStatus;
- }
+ }*/
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription_old.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription_old.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription_old.java
index b6b0deb..47c2388 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription_old.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription_old.java
@@ -380,11 +380,11 @@
// this.cartridgeInfo = cartridgeInfo;
// }
//
-// public Payload getPayload() {
+// public Payload getPayloadData() {
// return payload;
// }
//
-// public void setPayload(Payload payload) {
+// public void setPayloadData(Payload payload) {
// this.payload = payload;
// }
//
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
index f068129..53b7ae6 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
@@ -21,16 +21,17 @@ package org.apache.stratos.adc.mgt.subscription;
import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo;
import org.apache.stratos.adc.mgt.dao.DataCartridge;
-import org.apache.stratos.adc.mgt.exception.*;
-import org.apache.stratos.adc.mgt.payload.PayloadArg;
+import org.apache.stratos.adc.mgt.exception.ADCException;
+import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
import org.apache.stratos.adc.mgt.repository.Repository;
-import org.apache.stratos.adc.mgt.subscriber.Subscriber;
import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionTenancyBehaviour;
import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
-import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
import org.apache.stratos.cloud.controller.pojo.Properties;
+import java.util.HashMap;
+import java.util.Map;
+
public class DataCartridgeSubscription extends CartridgeSubscription {
private String host;
@@ -40,37 +41,16 @@ public class DataCartridgeSubscription extends CartridgeSubscription {
/**
* Constructor
*
- * @param cartridgeInfo CartridgeInfo subscription
+ * @param cartridgeInfo CartridgeInfo instance
+ * @param subscriptionTenancyBehaviour SubscriptionTenancyBehaviour instance
*/
- public DataCartridgeSubscription(CartridgeInfo cartridgeInfo, boolean isServiceDeployment) {
+ public DataCartridgeSubscription(CartridgeInfo cartridgeInfo, SubscriptionTenancyBehaviour
+ subscriptionTenancyBehaviour) {
- super(cartridgeInfo, isServiceDeployment);
- this.setHost("localhost");
- this.setUsername(CartridgeConstants.MYSQL_DEFAULT_USER);
- this.setPassword(ApplicationManagementUtil.generatePassword());
- }
-
- @Override
- public void createSubscription(Subscriber subscriber, String alias, String autoscalingPolicyName, String deploymentPolicyName,
- Repository repository)
-
- throws InvalidCartridgeAliasException,
- DuplicateCartridgeAliasException, ADCException, RepositoryCredentialsRequiredException,
- RepositoryTransportException, UnregisteredCartridgeException, AlreadySubscribedException,
- RepositoryRequiredException, InvalidRepositoryException, PolicyException {
-
- super.createSubscription(subscriber, alias, autoscalingPolicyName, deploymentPolicyName, repository);
- subscriptionTenancyBehaviour.createSubscription();
- }
-
- public PayloadArg createPayloadParameters() throws ADCException {
-
- PayloadArg payloadArg = super.createPayloadParameters();
- payloadArg.setDataCartridgeHost(this.getHost());
- payloadArg.setDataCartridgeAdminUser(getUsername());
- payloadArg.setDataCartridgeAdminPassword(getPassword());
-
- return subscriptionTenancyBehaviour.createPayloadParameters(payloadArg);
+ super(cartridgeInfo, subscriptionTenancyBehaviour);
+ setHost("localhost");
+ setUsername("root");
+ setPassword("root");
}
@Override
@@ -79,9 +59,7 @@ public class DataCartridgeSubscription extends CartridgeSubscription {
Properties props = new Properties();
props.setProperties(getCartridgeInfo().getProperties());
- //subscriptionTenancyBehaviour.registerSubscription(ApplicationManagementUtil.
- // setRegisterServiceProperties(getAutoscalingPolicyName(), getSubscriber().getTenantId(), getAlias()));
- subscriptionTenancyBehaviour.registerSubscription(props);
+ getSubscriptionTenancyBehaviour().registerSubscription(this, props);
DataCartridge dataCartridge = new DataCartridge();
dataCartridge.setUserName(getUsername());
@@ -103,10 +81,14 @@ public class DataCartridgeSubscription extends CartridgeSubscription {
}
@Override
- public void removeSubscription() throws ADCException, NotSubscribedException {
+ public Map<String, String> getCustomPayloadEntries() {
+
+ Map<String, String> payloadEntriesMap = new HashMap<String, String>();
+ payloadEntriesMap.put("MYSQL_HOST", host);
+ payloadEntriesMap.put("MYSQL_USER", username);
+ payloadEntriesMap.put("MYSQL_PASSWORD", password);
- subscriptionTenancyBehaviour.removeSubscription();
- super.cleanupSubscription();
+ return payloadEntriesMap;
}
public String getHost() {
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription_old.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription_old.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription_old.java
index cd5f4dc..370988c 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription_old.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription_old.java
@@ -81,13 +81,13 @@
// ApplicationManagementUtil.registerService(getType(),
// getCluster().getClusterDomain(),
// getCluster().getClusterSubDomain(),
-// getPayload().createPayload(),
-// getPayload().getPayloadArg().getTenantRange(),
+// getPayloadData().createPayload(),
+// getPayloadData().getPayloadArg().getTenantRange(),
// getCluster().getHostName(),
// ApplicationManagementUtil.setRegisterServiceProperties(getAutoscalingPolicyName(),
// getSubscriber().getTenantId(), getAlias()));
//
-// getPayload().delete();
+// getPayloadData().delete();
//
// DataCartridge dataCartridge = new DataCartridge();
// dataCartridge.setUserName(getUsername());
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java
index 33a2d84..d469952 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java
@@ -21,15 +21,8 @@ package org.apache.stratos.adc.mgt.subscription;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo;
-import org.apache.stratos.adc.mgt.exception.*;
-import org.apache.stratos.adc.mgt.payload.PayloadArg;
-import org.apache.stratos.adc.mgt.repository.Repository;
-import org.apache.stratos.adc.mgt.subscriber.Subscriber;
import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionTenancyBehaviour;
-import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-import org.apache.stratos.cloud.controller.pojo.Properties;
public class FrameworkCartridgeSubscription extends CartridgeSubscription {
@@ -37,52 +30,14 @@ public class FrameworkCartridgeSubscription extends CartridgeSubscription {
private static Log log = LogFactory.getLog(FrameworkCartridgeSubscription.class);
private static final long serialVersionUID = 1633832232416272756L;
-
/**
* Constructor
*
- * @param cartridgeInfo CartridgeInfo subscription
+ * @param cartridgeInfo CartridgeInfo instance
+ * @param subscriptionTenancyBehaviour SubscriptionTenancyBehaviour instance
*/
- public FrameworkCartridgeSubscription(CartridgeInfo cartridgeInfo, boolean isServiceDeployment) {
- super(cartridgeInfo, isServiceDeployment);
- }
-
- @Override
- public void createSubscription(Subscriber subscriber, String alias, String autoscalingPolicyName,
- String deploymentPolicyName, Repository repository) throws
- InvalidCartridgeAliasException, DuplicateCartridgeAliasException, ADCException,
- RepositoryCredentialsRequiredException, RepositoryTransportException, UnregisteredCartridgeException,
- AlreadySubscribedException, RepositoryRequiredException, InvalidRepositoryException, PolicyException {
-
- log.info(" -- in create Subscription ---");
- super.createSubscription(subscriber, alias, autoscalingPolicyName, deploymentPolicyName, repository);
- subscriptionTenancyBehaviour.createSubscription();
- }
-
- @Override
- public CartridgeSubscriptionInfo registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException {
-
- Properties props = new Properties();
- props.setProperties(getCartridgeInfo().getProperties());
-
- subscriptionTenancyBehaviour.registerSubscription(props);
-
- return ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), getAutoscalingPolicyName(),
- getType(), getAlias(), getSubscriber().getTenantId(), getSubscriber().getTenantDomain(),
- getRepository(), getCluster().getHostName(), getCluster().getClusterDomain(), getCluster().getClusterSubDomain(),
- getCluster().getMgtClusterDomain(), getCluster().getMgtClusterSubDomain(), null, "PENDING", getSubscriptionKey());
- }
-
- @Override
- public void removeSubscription() throws ADCException, NotSubscribedException {
-
- subscriptionTenancyBehaviour.removeSubscription();
- super.cleanupSubscription();
- }
-
- public PayloadArg createPayloadParameters () throws ADCException {
-
- PayloadArg payloadArg = super.createPayloadParameters();
- return subscriptionTenancyBehaviour.createPayloadParameters(payloadArg);
+ public FrameworkCartridgeSubscription(CartridgeInfo cartridgeInfo, SubscriptionTenancyBehaviour
+ subscriptionTenancyBehaviour) {
+ super(cartridgeInfo, subscriptionTenancyBehaviour);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/LBCartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/LBCartridgeSubscription.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/LBCartridgeSubscription.java
index f2f69ae..48121de 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/LBCartridgeSubscription.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/LBCartridgeSubscription.java
@@ -32,10 +32,12 @@ public class LBCartridgeSubscription extends CartridgeSubscription {
/**
* Constructor
*
- * @param cartridgeInfo CartridgeInfo subscription
+ * @param cartridgeInfo CartridgeInfo instance
+ * @param subscriptionTenancyBehaviour SubscriptionTenancyBehaviour instance
*/
- public LBCartridgeSubscription(CartridgeInfo cartridgeInfo, boolean isServiceDeployment) {
- super(cartridgeInfo, isServiceDeployment);
+ public LBCartridgeSubscription(CartridgeInfo cartridgeInfo, SubscriptionTenancyBehaviour
+ subscriptionTenancyBehaviour) {
+ super(cartridgeInfo, subscriptionTenancyBehaviour);
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java
index 6137c70..027fe1e 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java
@@ -63,12 +63,12 @@
// ApplicationManagementUtil.registerService(getType(),
// getCluster().getClusterDomain(),
// getCluster().getClusterSubDomain(),
-// getPayload().createPayload(),
-// getPayload().getPayloadArg().getTenantRange(),
+// getPayloadData().createPayload(),
+// getPayloadData().getPayloadArg().getTenantRange(),
// getCluster().getHostName(),
// null);
//
-// getPayload().delete();
+// getPayloadData().delete();
//
// return ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), getAutoscalingPolicyName(),
// getType(), getAlias(), getSubscriber().getTenantId(), getSubscriber().getTenantDomain(),
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/factory/CartridgeSubscriptionFactory.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/factory/CartridgeSubscriptionFactory.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/factory/CartridgeSubscriptionFactory.java
index b6f0202..87a6fd5 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/factory/CartridgeSubscriptionFactory.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/factory/CartridgeSubscriptionFactory.java
@@ -21,6 +21,7 @@ package org.apache.stratos.adc.mgt.subscription.factory;
import org.apache.stratos.adc.mgt.exception.ADCException;
import org.apache.stratos.adc.mgt.subscription.*;
+import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionTenancyBehaviour;
import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
@@ -59,21 +60,22 @@ public class CartridgeSubscriptionFactory {
return cartridgeSubscription;
}*/
- public static CartridgeSubscription getCartridgeSubscriptionInstance(CartridgeInfo cartridgeInfo)
+ public static CartridgeSubscription getCartridgeSubscriptionInstance(CartridgeInfo cartridgeInfo,
+ SubscriptionTenancyBehaviour subscriptionTenancyBehaviour)
throws ADCException {
//TODO: fix the logic properly
CartridgeSubscription cartridgeSubscription = null;
if(cartridgeInfo.getMultiTenant()) {
- cartridgeSubscription = new FrameworkCartridgeSubscription(cartridgeInfo, false);
+ cartridgeSubscription = new FrameworkCartridgeSubscription(cartridgeInfo, subscriptionTenancyBehaviour);
} else {
if(cartridgeInfo.getProvider().equals(CartridgeConstants.DATA_CARTRIDGE_PROVIDER)) {
- cartridgeSubscription = new DataCartridgeSubscription(cartridgeInfo, false);
+ cartridgeSubscription = new DataCartridgeSubscription(cartridgeInfo, subscriptionTenancyBehaviour);
}
else {
//cartridgeSubscription = new SingleTenantCartridgeSubscription(cartridgeInfo);
- cartridgeSubscription = new FrameworkCartridgeSubscription(cartridgeInfo, false);
+ cartridgeSubscription = new FrameworkCartridgeSubscription(cartridgeInfo, subscriptionTenancyBehaviour);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/ServiceDeploymentMultiTenantBehaviour.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/ServiceDeploymentMultiTenantBehaviour.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/ServiceDeploymentMultiTenantBehaviour.java
index 77ced4e..ae1c8f9 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/ServiceDeploymentMultiTenantBehaviour.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/ServiceDeploymentMultiTenantBehaviour.java
@@ -1,121 +1,109 @@
-/*
- * 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.adc.mgt.subscription.tenancy;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.adc.mgt.exception.ADCException;
-import org.apache.stratos.adc.mgt.exception.AlreadySubscribedException;
-import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
-import org.apache.stratos.adc.mgt.payload.PayloadArg;
-import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
-import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
-import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
-import org.apache.stratos.adc.mgt.utils.PersistenceManager;
-import org.apache.stratos.cloud.controller.pojo.Properties;
-
-public class ServiceDeploymentMultiTenantBehaviour extends
- SubscriptionMultiTenantBehaviour {
-
- private static Log log = LogFactory.getLog(ServiceDeploymentMultiTenantBehaviour.class);
-
- public ServiceDeploymentMultiTenantBehaviour(
- CartridgeSubscription cartridgeSubscription) {
- super(cartridgeSubscription);
- }
-
- @Override
- public void createSubscription() throws ADCException,
- AlreadySubscribedException {
-
- log.info(" --- in Service Deployment Multitenant Behaviour create subscription ---- ");
-
- boolean allowMultipleSubscription = Boolean.
- valueOf(System.getProperty(CartridgeConstants.FEATURE_MULTI_TENANT_MULTIPLE_SUBSCRIPTION_ENABLED));
-
- if (!allowMultipleSubscription) {
- // If the cartridge is multi-tenant. We should not let users
- // createSubscription twice.
- boolean subscribed;
- try {
- subscribed = PersistenceManager.isAlreadySubscribed(
- cartridgeSubscription.getType(), cartridgeSubscription
- .getSubscriber().getTenantId());
- } catch (Exception e) {
- String msg = "Error checking whether the cartridge type "
- + cartridgeSubscription.getType()
- + " is already subscribed";
- log.error(msg, e);
- throw new ADCException(msg, e);
- }
-
- if (subscribed) {
- String msg = "Already subscribed to "
- + cartridgeSubscription.getType()
- + ". This multi-tenant cartridge will not be available to createSubscription";
- if (log.isDebugEnabled()) {
- log.debug(msg);
- }
- throw new AlreadySubscribedException(msg,
- cartridgeSubscription.getType());
- }
- }
-
- /*if (domainContext.getSubDomain().equalsIgnoreCase("mgt")) {
- cartridgeSubscription.getCluster().setMgtClusterDomain(
- domainContext.getDomain());
- cartridgeSubscription.getCluster().setMgtClusterSubDomain(
- domainContext.getSubDomain());
- } else {
- cartridgeSubscription.getCluster().setClusterDomain(
- domainContext.getDomain());
- cartridgeSubscription.getCluster().setClusterSubDomain(
- domainContext.getSubDomain());
- }*/
-
- }
-
-
- @Override
- public void registerSubscription(Properties properties)
- throws ADCException, UnregisteredCartridgeException {
-
- // register subscription to start up the cartridge instances
- ApplicationManagementUtil.registerService(cartridgeSubscription.getType(),
- cartridgeSubscription.getCluster().getClusterDomain(),
- cartridgeSubscription.getCluster().getClusterSubDomain(),
- cartridgeSubscription.getPayload().createPayload(),
- cartridgeSubscription.getPayload().getPayloadArg().getTenantRange(),
- cartridgeSubscription.getCluster().getHostName(),
- cartridgeSubscription.getAutoscalingPolicyName(),
- cartridgeSubscription.getDeploymentPolicyName(),
- properties);
-
- cartridgeSubscription.getPayload().delete();
- }
-
- @Override
- public PayloadArg createPayloadParameters(PayloadArg payloadArg)
- throws ADCException {
-
- return payloadArg;
- }
-
-}
+///*
+// * 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.adc.mgt.subscription.tenancy;
+//
+//import org.apache.commons.logging.Log;
+//import org.apache.commons.logging.LogFactory;
+//import org.apache.stratos.adc.mgt.exception.ADCException;
+//import org.apache.stratos.adc.mgt.exception.AlreadySubscribedException;
+//import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
+//import org.apache.stratos.adc.mgt.payload.PayloadArg;
+//import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
+//import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
+//import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
+//import org.apache.stratos.adc.mgt.utils.PersistenceManager;
+//import org.apache.stratos.cloud.controller.pojo.Properties;
+//
+//public class ServiceDeploymentMultiTenantBehaviour extends
+// SubscriptionMultiTenantBehaviour {
+//
+// private static Log log = LogFactory.getLog(ServiceDeploymentMultiTenantBehaviour.class);
+//
+// @Override
+// public void createSubscription() throws ADCException,
+// AlreadySubscribedException {
+//
+// log.info(" --- in Service Deployment Multitenant Behaviour create subscription ---- ");
+//
+// boolean allowMultipleSubscription = Boolean.
+// valueOf(System.getProperty(CartridgeConstants.FEATURE_MULTI_TENANT_MULTIPLE_SUBSCRIPTION_ENABLED));
+//
+// if (!allowMultipleSubscription) {
+// // If the cartridge is multi-tenant. We should not let users
+// // createSubscription twice.
+// boolean subscribed;
+// try {
+// subscribed = PersistenceManager.isAlreadySubscribed(
+// cartridgeSubscription.getType(), cartridgeSubscription
+// .getSubscriber().getTenantId());
+// } catch (Exception e) {
+// String msg = "Error checking whether the cartridge type "
+// + cartridgeSubscription.getType()
+// + " is already subscribed";
+// log.error(msg, e);
+// throw new ADCException(msg, e);
+// }
+//
+// if (subscribed) {
+// String msg = "Already subscribed to "
+// + cartridgeSubscription.getType()
+// + ". This multi-tenant cartridge will not be available to createSubscription";
+// if (log.isDebugEnabled()) {
+// log.debug(msg);
+// }
+// throw new AlreadySubscribedException(msg,
+// cartridgeSubscription.getType());
+// }
+// }
+//
+// /*if (domainContext.getSubDomain().equalsIgnoreCase("mgt")) {
+// cartridgeSubscription.getCluster().setMgtClusterDomain(
+// domainContext.getDomain());
+// cartridgeSubscription.getCluster().setMgtClusterSubDomain(
+// domainContext.getSubDomain());
+// } else {
+// cartridgeSubscription.getCluster().setClusterDomain(
+// domainContext.getDomain());
+// cartridgeSubscription.getCluster().setClusterSubDomain(
+// domainContext.getSubDomain());
+// }*/
+//
+// }
+//
+//
+// @Override
+// public void registerSubscription(Properties properties)
+// throws ADCException, UnregisteredCartridgeException {
+//
+// // register subscription to start up the cartridge instances
+// ApplicationManagementUtil.registerService(cartridgeSubscription.getType(),
+// cartridgeSubscription.getCluster().getClusterDomain(),
+// cartridgeSubscription.getCluster().getClusterSubDomain(),
+// cartridgeSubscription.getPayloadData().createPayload(),
+// cartridgeSubscription.getPayloadData().getPayloadArg().getTenantRange(),
+// cartridgeSubscription.getCluster().getHostName(),
+// cartridgeSubscription.getAutoscalingPolicyName(),
+// cartridgeSubscription.getDeploymentPolicyName(),
+// properties);
+//
+// cartridgeSubscription.getPayloadData().delete();
+// }
+//
+//}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
index 05244bd..46cfd93 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
@@ -25,24 +25,18 @@ import org.apache.stratos.adc.mgt.exception.ADCException;
import org.apache.stratos.adc.mgt.exception.AlreadySubscribedException;
import org.apache.stratos.adc.mgt.exception.NotSubscribedException;
import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
-import org.apache.stratos.adc.mgt.payload.PayloadArg;
import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
import org.apache.stratos.adc.mgt.utils.PersistenceManager;
import org.apache.stratos.cloud.controller.pojo.Properties;
-import org.apache.stratos.messaging.domain.topology.Service;
-import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
public class SubscriptionMultiTenantBehaviour extends SubscriptionTenancyBehaviour {
private static Log log = LogFactory.getLog(SubscriptionMultiTenantBehaviour.class);
- public SubscriptionMultiTenantBehaviour(CartridgeSubscription cartridgeSubscription) {
- super(cartridgeSubscription);
- }
- public void createSubscription() throws ADCException, AlreadySubscribedException {
+ public void createSubscription(CartridgeSubscription cartridgeSubscription) throws ADCException, AlreadySubscribedException {
boolean allowMultipleSubscription = Boolean.
valueOf(System.getProperty(CartridgeConstants.FEATURE_MULTI_TENANT_MULTIPLE_SUBSCRIPTION_ENABLED));
@@ -54,8 +48,8 @@ public class SubscriptionMultiTenantBehaviour extends SubscriptionTenancyBehavio
subscribed = PersistenceManager.isAlreadySubscribed(cartridgeSubscription.getType(),
cartridgeSubscription.getSubscriber().getTenantId());
} catch (Exception e) {
- String msg = "Error checking whether the cartridge type " + cartridgeSubscription.getType()
- + " is already subscribed";
+ String msg = "Error checking whether the cartridge type " + cartridgeSubscription.getType() +
+ " is already subscribed";
log.error(msg, e);
throw new ADCException(msg, e);
}
@@ -70,33 +64,8 @@ public class SubscriptionMultiTenantBehaviour extends SubscriptionTenancyBehavio
}
}
- /*TopologyManagementService topologyService = DataHolder.getTopologyMgtService();
- DomainContext[] domainContexts = topologyService.getDomainsAndSubdomains(cartridgeSubscription.getType(),
- cartridgeSubscription.getSubscriber().getTenantId());
- log.info("Retrieved " + domainContexts.length + " domain and corresponding subdomain pairs");
-
- if (domainContexts.length > 0) {
- if(domainContexts.length > 2) {
- if(log.isDebugEnabled())
- log.debug("Too many domain sub domain pairs");
- }
-
- for (DomainContext domainContext : domainContexts) {
- if (domainContext.getSubDomain().equalsIgnoreCase("mgt")) {
- cartridgeSubscription.getCluster().setMgtClusterDomain(domainContext.getDomain());
- cartridgeSubscription.getCluster().setMgtClusterSubDomain(domainContext.getSubDomain());
- } else {
- cartridgeSubscription.getCluster().setClusterDomain(domainContext.getDomain());
- cartridgeSubscription.getCluster().setClusterSubDomain(domainContext.getSubDomain());
- }
- }
- } else {
- String msg = "Domain contexts not found for " + cartridgeSubscription.getType() + " and tenant id " +
- cartridgeSubscription.getSubscriber().getTenantId();
- log.warn(msg);
- throw new ADCException(msg);
- }*/
- TopologyManager.acquireReadLock();
+ //TODO: implement getting cluster Id from DB
+ /*TopologyManager.acquireReadLock();
try {
Service service = TopologyManager.getTopology().getService(cartridgeSubscription.getType());
@@ -107,30 +76,25 @@ public class SubscriptionMultiTenantBehaviour extends SubscriptionTenancyBehavio
throw new ADCException(errorMsg);
}
- //TODO: fix properly
//cartridgeSubscription.getCluster().setClusterDomain(service.getCluster().);
//cartridgeSubscription.getCluster().setClusterSubDomain(domainContext.getSubDomain());
} finally {
TopologyManager.releaseReadLock();
- }
+ }*/
}
- public void registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException {
+ public void registerSubscription(CartridgeSubscription cartridgeSubscription, Properties properties)
+ throws ADCException, UnregisteredCartridgeException {
//nothing to do
}
- public void removeSubscription() throws ADCException, NotSubscribedException {
+ public void removeSubscription(CartridgeSubscription cartridgeSubscription) throws ADCException, NotSubscribedException {
log.info("Cartridge with alias " + cartridgeSubscription.getAlias() + ", and type " + cartridgeSubscription.getType() +
" is a multi-tenant cartridge and therefore will not terminate all instances and " +
"unregister services");
}
- public PayloadArg createPayloadParameters(PayloadArg payloadArg) throws ADCException {
-
- //payload not used
- return null;
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
index 35e1dd1..c57c1a9 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
@@ -27,10 +27,8 @@ import org.apache.stratos.adc.mgt.exception.ADCException;
import org.apache.stratos.adc.mgt.exception.AlreadySubscribedException;
import org.apache.stratos.adc.mgt.exception.NotSubscribedException;
import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
-import org.apache.stratos.adc.mgt.payload.PayloadArg;
import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
-import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
import org.apache.stratos.cloud.controller.pojo.Properties;
@@ -38,11 +36,9 @@ public class SubscriptionSingleTenantBehaviour extends SubscriptionTenancyBehavi
private static Log log = LogFactory.getLog(SubscriptionSingleTenantBehaviour.class);
- public SubscriptionSingleTenantBehaviour(CartridgeSubscription cartridgeSubscription) {
- super(cartridgeSubscription);
- }
- public void createSubscription() throws ADCException, AlreadySubscribedException {
+
+ public void createSubscription(CartridgeSubscription cartridgeSubscription) throws ADCException, AlreadySubscribedException {
//set the cluster and hostname
cartridgeSubscription.getCluster().setClusterDomain(cartridgeSubscription.getAlias() + "." +
@@ -51,30 +47,22 @@ public class SubscriptionSingleTenantBehaviour extends SubscriptionTenancyBehavi
cartridgeSubscription.getCluster().getHostName());
}
- public void registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException {
+ public void registerSubscription(CartridgeSubscription cartridgeSubscription, Properties properties) throws ADCException, UnregisteredCartridgeException {
- //TODO: change to debug
- log.info("Type: " + cartridgeSubscription.getType() +
- " \n Cluster Domain: " + cartridgeSubscription.getCluster().getClusterDomain() +
- " \n Cluster Sub-Domain: " + cartridgeSubscription.getCluster().getClusterSubDomain() +
- " \n Tenant Range: " + cartridgeSubscription.getPayload().getPayloadArg().getTenantRange() +
- " \n Autoscaling Policy: " + cartridgeSubscription.getAutoscalingPolicyName() +
- " \n Deployment Policy: " + cartridgeSubscription.getDeploymentPolicyName());
+ log.info("Payload: " + cartridgeSubscription.getPayloadData().getCompletePayloadData().toString());
ApplicationManagementUtil.registerService(cartridgeSubscription.getType(),
cartridgeSubscription.getCluster().getClusterDomain(),
cartridgeSubscription.getCluster().getClusterSubDomain(),
- cartridgeSubscription.getPayload().createPayload(),
- cartridgeSubscription.getPayload().getPayloadArg().getTenantRange(),
+ cartridgeSubscription.getPayloadData().getCompletePayloadData(),
+ cartridgeSubscription.getPayloadData().getBasicPayloadData().getTenantRange(),
cartridgeSubscription.getCluster().getHostName(),
cartridgeSubscription.getAutoscalingPolicyName(),
cartridgeSubscription.getDeploymentPolicyName(),
properties);
-
- cartridgeSubscription.getPayload().delete();
}
- public void removeSubscription() throws ADCException, NotSubscribedException {
+ public void removeSubscription(CartridgeSubscription cartridgeSubscription) throws ADCException, NotSubscribedException {
try {
CloudControllerServiceClient.getServiceClient().terminateAllInstances(cartridgeSubscription.getCluster().getClusterDomain());
@@ -106,25 +94,4 @@ public class SubscriptionSingleTenantBehaviour extends SubscriptionTenancyBehavi
log.info("Unregistered service cluster, domain " + cartridgeSubscription.getCluster().getClusterDomain() + ", sub domain " +
cartridgeSubscription.getCluster().getClusterSubDomain());
}
-
- public PayloadArg createPayloadParameters(PayloadArg payloadArg) throws ADCException {
-
-
- if(cartridgeSubscription.getRepository() != null) {
- payloadArg.setRepoURL(cartridgeSubscription.getRepository().getUrl());
- }
- payloadArg.setHostName(cartridgeSubscription.getCluster().getHostName());
- payloadArg.setServiceDomain(cartridgeSubscription.getCluster().getClusterDomain());
- payloadArg.setServiceSubDomain(cartridgeSubscription.getCluster().getMgtClusterSubDomain());
- payloadArg.setMgtServiceDomain(cartridgeSubscription.getCluster().getMgtClusterDomain());
- payloadArg.setMgtServiceSubDomain(cartridgeSubscription.getCluster().getMgtClusterSubDomain());
- if(cartridgeSubscription.getCartridgeInfo().getProvider().equals(CartridgeConstants.PROVIDER_NAME_WSO2)) {
- payloadArg.setTenantRange(Integer.toString(cartridgeSubscription.getSubscriber().getTenantId()));
- }
- else {
- payloadArg.setTenantRange("*");
- }
-
- return payloadArg;
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java
index 2f2beaa..b0766f4 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java
@@ -23,7 +23,6 @@ import org.apache.stratos.adc.mgt.exception.ADCException;
import org.apache.stratos.adc.mgt.exception.AlreadySubscribedException;
import org.apache.stratos.adc.mgt.exception.NotSubscribedException;
import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
-import org.apache.stratos.adc.mgt.payload.PayloadArg;
import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
import org.apache.stratos.cloud.controller.pojo.Properties;
@@ -32,25 +31,13 @@ import java.io.Serializable;
public abstract class SubscriptionTenancyBehaviour implements Serializable {
private static final long serialVersionUID = 1L;
- protected CartridgeSubscription cartridgeSubscription;
- public SubscriptionTenancyBehaviour(CartridgeSubscription cartridgeSubscription) {
- this.cartridgeSubscription = cartridgeSubscription;
- }
+ public abstract void createSubscription(CartridgeSubscription cartridgeSubscription)
+ throws ADCException, AlreadySubscribedException;
- public void setCartridgeSubscription (CartridgeSubscription cartridgeSubscription) {
- this.cartridgeSubscription = cartridgeSubscription;
- }
+ public abstract void registerSubscription(CartridgeSubscription cartridgeSubscription, Properties properties)
+ throws ADCException, UnregisteredCartridgeException;
- public CartridgeSubscription getCartridgeSubscription () {
- return cartridgeSubscription;
- }
-
- public abstract void createSubscription() throws ADCException, AlreadySubscribedException;
-
- public abstract void registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException;
-
- public abstract void removeSubscription() throws ADCException, NotSubscribedException;
-
- public abstract PayloadArg createPayloadParameters(PayloadArg payloadArg) throws ADCException;
+ public abstract void removeSubscription(CartridgeSubscription cartridgeSubscription)
+ throws ADCException, NotSubscribedException;
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/utils/CartridgeInstanceUtils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/utils/CartridgeInstanceUtils.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/utils/CartridgeInstanceUtils.java
deleted file mode 100644
index 7e72f90..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/utils/CartridgeInstanceUtils.java
+++ /dev/null
@@ -1,240 +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.adc.mgt.subscription.utils;
-
-public class CartridgeInstanceUtils {
- /*
- private static Log log = LogFactory.getLog(CartridgeInstanceUtils.class);
-
- public static void validateCartridgeAlias(String alias, String cartridgeType) throws InvalidCartridgeAliasException,
- DuplicateCartridgeAliasException, ADCException {
-
- // Do not use quotes in messages, current UI JavaScript does not work if there are quotes
- // TODO: Fix message display in UI
- String patternString = "([a-z0-9]+([-][a-z0-9])*)+";
- Pattern pattern = Pattern.compile(patternString);
-
- if (!pattern.matcher(alias).matches()) {
- String msg = "The alias " + alias + " can contain only alpha-numeric lowercase characters. Please enter a valid alias.";
- log.error(msg);
- throw new InvalidCartridgeAliasException(msg, cartridgeType, alias);
- }
-
- boolean isAliasTaken = false;
- try {
- isAliasTaken = PersistenceManager.isAliasAlreadyTaken(alias, cartridgeType);
- } catch (Exception e) {
- String msg = "Exception : " + e.getMessage();
- log.error(msg, e);
- throw new ADCException("Error when checking alias is already taken", e);
- }
-
- if (isAliasTaken) {
- String msg = "The alias " + alias + " is already taken. Please try again with a different alias.";
- log.error(msg);
- throw new DuplicateCartridgeAliasException(msg, cartridgeType, alias);
- }
- }
-
- public static String generatePassword() {
-
- final int PASSWORD_LENGTH = 8;
- StringBuffer sb = new StringBuffer();
- for (int x = 0; x < PASSWORD_LENGTH; x++) {
- sb.append((char) ((int) (Math.random() * 26) + 97));
- }
- return sb.toString();
-
- }
-
- public static CartridgeSubscriptionInfo createCartridgeSubscription(CartridgeInfo cartridgeInfo,
- Policy policy,
- String cartridgeType,
- String cartridgeAlias,
- int tenantId,
- String tenantDomain,
- Repository repository,
- String clusterDomain,
- String clusterSubDomain,
- String hostName,
- String mgtClusterDomain,
- String mgtClusterSubDomain,
- DataCartridge dataCartridge) {
-
- CartridgeSubscriptionInfo cartridgeSubscription = new CartridgeSubscriptionInfo();
- cartridgeSubscription.setCartridge(cartridgeType);
- cartridgeSubscription.setAlias(cartridgeAlias);
- cartridgeSubscription.setClusterDomain(clusterDomain);
- cartridgeSubscription.setClusterSubdomain(clusterSubDomain);
- cartridgeSubscription.setMgtClusterDomain(mgtClusterDomain);
- cartridgeSubscription.setMgtClusterSubDomain(mgtClusterSubDomain);
- cartridgeSubscription.setHostName(hostName);
- cartridgeSubscription.setPolicy(policy.getName());
- cartridgeSubscription.setRepository(repository);
- cartridgeSubscription.setPortMappings(createPortMappings(cartridgeInfo));
- cartridgeSubscription.setProvider(cartridgeInfo.getProvider());
- cartridgeSubscription.setDataCartridge(dataCartridge);
- cartridgeSubscription.setTenantId(tenantId);
- cartridgeSubscription.setTenantDomain(tenantDomain);
- cartridgeSubscription.setBaseDirectory(cartridgeInfo.getBaseDir());
- cartridgeSubscription.setState("PENDING");
-
- return cartridgeSubscription;
- }
-
- private static List<PortMapping> createPortMappings(CartridgeInfo cartridgeInfo) {
- List<PortMapping> portMappings = new ArrayList<PortMapping>();
-
- if (cartridgeInfo.getPortMappings() != null) {
- for (org.apache.stratos.cloud.controller.util.xsd.PortMapping portMapping : cartridgeInfo.getPortMappings()) {
- PortMapping portMap = new PortMapping();
- portMap.setPrimaryPort(portMapping.getPort());
- portMap.setProxyPort(portMapping.getProxyPort());
- portMap.setType(portMapping.getProtocol());
- portMappings.add(portMap);
- }
- }
- return portMappings;
- }
-
- public static void addDNSEntry(String alias, String cartridgeType) {
- new DNSManager().addNewSubDomain(alias + "." + cartridgeType, System.getProperty(CartridgeConstants.ELB_IP));
- }
-
- public static SubscriptionInfo createSubscriptionResponse(CartridgeSubscriptionInfo cartridgeSubscription, Repository repository) {
- SubscriptionInfo subscriptionInfo = new SubscriptionInfo();
-
- if (repository != null && repository.getUrl() != null) {
- subscriptionInfo.setRepositoryURL(convertRepoURL(repository.getUrl()));
- }
- subscriptionInfo.setHostname(cartridgeSubscription.getHostName());
-
- return subscriptionInfo;
- }
-
- private static String convertRepoURL(String gitURL) {
- String convertedHttpURL = null;
- if (gitURL != null && gitURL.startsWith("git@")) {
- StringBuilder httpRepoUrl = new StringBuilder();
- httpRepoUrl.append("http://");
- String[] urls = gitURL.split(":");
- String[] hostNameArray = urls[0].split("@");
- String hostName = hostNameArray[1];
- httpRepoUrl.append(hostName).append("/").append(urls[1]);
- convertedHttpURL = httpRepoUrl.toString();
- } else if (gitURL != null && gitURL.startsWith("http")) {
- convertedHttpURL = gitURL;
- }
- return convertedHttpURL;
- }
-
- public static RepositoryInformation validateRepository(String repoURL, String repoUsername, String repoPassword,
- boolean privateRepo, boolean testConnection)
-
- throws RepositoryRequiredException, ADCException,
- RepositoryCredentialsRequiredException, InvalidRepositoryException, RepositoryTransportException {
-
- RepositoryInformation repositoryInformation = new RepositoryInformation();
- repositoryInformation.setRepoURL(repoURL);
- if (log.isDebugEnabled()) {
- log.debug("Validating Git Repository");
- }
-
- if (repoURL == null || repoURL.trim().length() == 0) {
- throw new RepositoryRequiredException("External repository required for subscription");
- }
-
- if (repoURL != null && repoURL.trim().length() > 0 && privateRepo) {
- if (log.isDebugEnabled()) {
- log.debug("External repo validation is a private repo: " + repoURL);
- }
- if (repoUsername == null || repoUsername.trim().length() == 0 || repoPassword == null
- || repoPassword.trim().length() == 0) {
- throw new RepositoryCredentialsRequiredException(
- "Username and Password are required for private repository");
- }
- }
-
- if (!testConnection) {
- if (log.isDebugEnabled()) {
- log.debug("External repo validation is not enabled");
- }
- return repositoryInformation;
- }
-
- if (repoURL == null || repoURL.trim().length() == 0) {
- // This means, no repo to validate.
- return repositoryInformation;
- }
-
- if (log.isDebugEnabled()) {
- log.debug("External repo validation enabled");
- }
-
- // This assumes running on Linux.
- String parentDirName = "/tmp/" + UUID.randomUUID().toString();
- CredentialsProvider credentialsProvider = null;
- if (repoUsername != null && repoUsername.trim().length() > 0 && repoPassword != null
- && repoPassword.trim().length() > 0) {
- if (log.isDebugEnabled()) {
- log.debug("External repo credentails are passed: " + repoUsername);
- }
- credentialsProvider = new UsernamePasswordCredentialsProvider(repoUsername, repoPassword.toCharArray());
- }
-
- // Initialize temp local file repo
- FileRepository localRepo = null;
- try {
- File f = new File(parentDirName + "/.git");
- localRepo = new FileRepository(f);
- if (log.isDebugEnabled()) {
- log.debug("Local File Repo: " + f.getAbsoluteFile());
- }
- } catch (IOException e) {
- throw new ADCException("Error creating local file repo", e);
- }
-
- Git git = new Git(localRepo);
- LsRemoteCommand cmd = git.lsRemote().setRemote(repoURL);
- if (credentialsProvider != null) {
- cmd.setCredentialsProvider(credentialsProvider);
- }
- try {
- Collection<Ref> collection = cmd.call();
- List<String> refNames = new ArrayList<String>();
- if (collection != null) {
- for (Ref ref : collection) {
- if (log.isDebugEnabled()) {
- log.debug(repoURL + ": " + ref.getName());
- }
- refNames.add(ref.getName());
- }
- }
- repositoryInformation.setRefName(refNames.toArray(new String[refNames.size()]));
- } catch (InvalidRemoteException e) {
- throw new InvalidRepositoryException("Provided repository url is not valid", e);
- } catch (TransportException e) {
- throw new RepositoryTransportException("Transport error when checking remote repository", e);
- } catch (GitAPIException e) {
- throw new ADCException("Git API error when checking remote repository", e);
- }
- return repositoryInformation;
- }*/
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/utils/CartridgeSubscriptionUtils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/utils/CartridgeSubscriptionUtils.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/utils/CartridgeSubscriptionUtils.java
new file mode 100644
index 0000000..dbd7b43
--- /dev/null
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/utils/CartridgeSubscriptionUtils.java
@@ -0,0 +1,69 @@
+/*
+ * 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.adc.mgt.subscription.utils;
+
+import org.apache.stratos.adc.mgt.payload.BasicPayloadData;
+import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
+import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
+
+public class CartridgeSubscriptionUtils {
+
+ public static BasicPayloadData getBasicPayloadData (CartridgeSubscription cartridgeSubscription) {
+
+ BasicPayloadData basicPayloadData = new BasicPayloadData();
+ basicPayloadData.setApplicationPath(cartridgeSubscription.getCartridgeInfo().getBaseDir());
+ basicPayloadData.setSubscriptionKey(cartridgeSubscription.getSubscriptionKey());
+ basicPayloadData.setClusterId(cartridgeSubscription.getClusterDomain());
+ basicPayloadData.setDeployment("default");//currently hard coded to default
+ if(cartridgeSubscription.getRepository() != null) {
+ basicPayloadData.setGitRepositoryUrl(cartridgeSubscription.getRepository().getUrl());
+ }
+ basicPayloadData.setHostName(cartridgeSubscription.getHostName());
+ basicPayloadData.setMultitenant(String.valueOf(cartridgeSubscription.getCartridgeInfo().getMultiTenant()));
+ basicPayloadData.setPortMappings(createPortMappingPayloadString(cartridgeSubscription.getCartridgeInfo()));
+ basicPayloadData.setServiceName(cartridgeSubscription.getCartridgeInfo().getType());
+ basicPayloadData.setSubscriptionAlias(cartridgeSubscription.getAlias());
+ basicPayloadData.setTenantId(cartridgeSubscription.getSubscriber().getTenantId());
+ if(cartridgeSubscription.getCartridgeInfo().getMultiTenant() ||
+ cartridgeSubscription.getSubscriber().getTenantId() == -1234) { //TODO: fix properly
+ basicPayloadData.setTenantRange("*");
+ } else {
+ basicPayloadData.setTenantRange(String.valueOf(cartridgeSubscription.getSubscriber().getTenantId()));
+ }
+
+ return basicPayloadData;
+ }
+
+ private static String createPortMappingPayloadString (CartridgeInfo cartridgeInfo) {
+
+ // port mappings
+ StringBuilder portMapBuilder = new StringBuilder();
+ org.apache.stratos.cloud.controller.pojo.PortMapping[] portMappings = cartridgeInfo.getPortMappings();
+ for (org.apache.stratos.cloud.controller.pojo.PortMapping portMapping : portMappings) {
+ String port = portMapping.getPort();
+ portMapBuilder.append(port).append("|");
+ }
+
+ // remove last "|" character
+ String portMappingString = portMapBuilder.toString().replaceAll("\\|$", "");
+
+ return portMappingString;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdaabd7/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/CartridgeSubscriptionTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/CartridgeSubscriptionTest.java b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/CartridgeSubscriptionTest.java
index d0929d5..2446b23 100644
--- a/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/CartridgeSubscriptionTest.java
+++ b/components/org.apache.stratos.adc.mgt/src/test/java/org/apache/stratos/adc/mgt/test/CartridgeSubscriptionTest.java
@@ -23,14 +23,24 @@ import junit.framework.TestCase;
import org.apache.stratos.adc.mgt.exception.ADCException;
import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
import org.apache.stratos.adc.mgt.subscription.factory.CartridgeSubscriptionFactory;
+import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionMultiTenantBehaviour;
+import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionSingleTenantBehaviour;
+import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionTenancyBehaviour;
import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
public class CartridgeSubscriptionTest extends TestCase {
private CartridgeSubscription getCartridgeInstance (CartridgeInfo cartridgeInfo) {
+ SubscriptionTenancyBehaviour tenancyBehaviour;
+ if(cartridgeInfo.getMultiTenant()) {
+ tenancyBehaviour = new SubscriptionMultiTenantBehaviour();
+ } else {
+ tenancyBehaviour = new SubscriptionSingleTenantBehaviour();
+ }
+
try {
- return CartridgeSubscriptionFactory.getCartridgeSubscriptionInstance(cartridgeInfo);
+ return CartridgeSubscriptionFactory.getCartridgeSubscriptionInstance(cartridgeInfo, tenancyBehaviour);
} catch (ADCException e) {
throw new RuntimeException(e);
@@ -40,14 +50,16 @@ public class CartridgeSubscriptionTest extends TestCase {
public void testCarbonCartridge () {
CartridgeInfo cartridgeInfo = new CartridgeInfo();
+ cartridgeInfo.setProvider("carbon");
cartridgeInfo.setMultiTenant(true);
cartridgeInfo.setType("esb");
assertNotNull(getCartridgeInstance(cartridgeInfo));
}
- //TODO FIXME
- /*public void testPhpCartridgeInstance () {
+
+ public void testPhpCartridgeInstance () {
CartridgeInfo cartridgeInfo = new CartridgeInfo();
+ cartridgeInfo.setProvider("php-provider");
cartridgeInfo.setMultiTenant(false);
cartridgeInfo.setType("php");
assertNotNull(getCartridgeInstance(cartridgeInfo));
@@ -56,6 +68,7 @@ public class CartridgeSubscriptionTest extends TestCase {
public void testMySqlCartridgeInstance () {
CartridgeInfo cartridgeInfo = new CartridgeInfo();
+ cartridgeInfo.setProvider("data");
cartridgeInfo.setMultiTenant(false);
cartridgeInfo.setType("mysql");
assertNotNull(getCartridgeInstance(cartridgeInfo));
@@ -64,8 +77,9 @@ public class CartridgeSubscriptionTest extends TestCase {
public void testTomcatCartridgeInstance () {
CartridgeInfo cartridgeInfo = new CartridgeInfo();
+ cartridgeInfo.setProvider("tomcat-provider");
cartridgeInfo.setMultiTenant(false);
cartridgeInfo.setType("tomcat");
assertNotNull(getCartridgeInstance(cartridgeInfo));
- }*/
+ }
}