subscription models changes
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/0fbd464c Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/0fbd464c Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/0fbd464c Branch: refs/heads/master Commit: 0fbd464c61aea255b1dca4505f9579301154d274 Parents: 74d8984 Author: Isuru <[email protected]> Authored: Fri Dec 6 16:41:10 2013 +0530 Committer: Isuru <[email protected]> Committed: Fri Dec 6 16:41:10 2013 +0530 ---------------------------------------------------------------------- .../ApplicationCartridgeSubscription.java | 45 ++++++++-- .../DataCartridgeSubscription1.java | 94 ++++++++++++++++++-- .../FrameworkCartridgeSubscription.java | 2 +- .../SubscriptionMultiTenantBehaviour.java | 4 +- .../SubscriptionSingleTenantBehaviour.java | 6 +- .../tenancy/SubscriptionTenancyBehaviour.java | 4 +- 6 files changed, 139 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/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 aa49ac7..4a6c0e5 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 @@ -20,9 +20,12 @@ package org.apache.stratos.adc.mgt.subscription; import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo; -import org.apache.stratos.adc.mgt.exception.ADCException; -import org.apache.stratos.adc.mgt.exception.NotSubscribedException; -import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException; +import org.apache.stratos.adc.mgt.dto.Policy; +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.utils.ApplicationManagementUtil; import org.apache.stratos.cloud.controller.pojo.CartridgeInfo; import java.util.Properties; @@ -39,13 +42,45 @@ public class ApplicationCartridgeSubscription extends AbstractCartridgeSubscript super(cartridgeInfo); } + public void createSubscription(Subscriber subscriber, String alias, Policy autoscalingPolicy, + Repository repository) throws + InvalidCartridgeAliasException, DuplicateCartridgeAliasException, ADCException, + RepositoryCredentialsRequiredException, RepositoryTransportException, UnregisteredCartridgeException, + AlreadySubscribedException, RepositoryRequiredException, InvalidRepositoryException, PolicyException { + + super.createSubscription(subscriber, alias, autoscalingPolicy, repository); + subscriptionTenancyBehaviour.createSubscription(); + } + @Override public CartridgeSubscriptionInfo registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException { - return null; //To change body of implemented methods use File | Settings | File Templates. + + subscriptionTenancyBehaviour.registerSubscription(null); + + return ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), getAutoscalingPolicy(), + 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, + String tenantDomain) { + + //no repository for application cartridge instances + return null; } @Override public void removeSubscription() throws ADCException, NotSubscribedException { - //To change body of implemented methods use File | Settings | File Templates. + + 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/0fbd464c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java index 74f299a..6f5401f 100644 --- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java +++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java @@ -20,31 +20,113 @@ package org.apache.stratos.adc.mgt.subscription; import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo; -import org.apache.stratos.adc.mgt.exception.ADCException; -import org.apache.stratos.adc.mgt.exception.NotSubscribedException; -import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException; +import org.apache.stratos.adc.mgt.dao.DataCartridge; +import org.apache.stratos.adc.mgt.dto.Policy; +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.utils.ApplicationManagementUtil; +import org.apache.stratos.adc.mgt.utils.CartridgeConstants; import org.apache.stratos.cloud.controller.pojo.CartridgeInfo; import java.util.Properties; public class DataCartridgeSubscription1 extends AbstractCartridgeSubscription { + private String host; + private String username; + private String password; + /** * Constructor * * @param cartridgeInfo CartridgeInfo subscription */ public DataCartridgeSubscription1(CartridgeInfo cartridgeInfo) { + super(cartridgeInfo); + this.setHost("localhost"); + this.setUsername(CartridgeConstants.MYSQL_DEFAULT_USER); + this.setPassword(ApplicationManagementUtil.generatePassword()); } @Override - public CartridgeSubscriptionInfo registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException { - return null; //To change body of implemented methods use File | Settings | File Templates. + public void createSubscription(Subscriber subscriber, String alias, Policy autoscalingPolicy, Repository repository) + + throws InvalidCartridgeAliasException, + DuplicateCartridgeAliasException, ADCException, RepositoryCredentialsRequiredException, + RepositoryTransportException, UnregisteredCartridgeException, AlreadySubscribedException, + RepositoryRequiredException, InvalidRepositoryException, PolicyException { + + super.createSubscription(subscriber, alias, autoscalingPolicy, 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); + } + + @Override + public CartridgeSubscriptionInfo registerSubscription(Properties properties) throws ADCException, + UnregisteredCartridgeException { + + subscriptionTenancyBehaviour.registerSubscription(ApplicationManagementUtil. + setRegisterServiceProperties(getAutoscalingPolicy(), getSubscriber().getTenantId(), getAlias())); + + DataCartridge dataCartridge = new DataCartridge(); + dataCartridge.setUserName(getUsername()); + dataCartridge.setPassword(getPassword()); + dataCartridge.setDataCartridgeType(getType()); + + return ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), getAutoscalingPolicy(), + getType(), getAlias(), getSubscriber().getTenantId(), getSubscriber().getTenantDomain(), + getRepository(), getCluster().getHostName(), getCluster().getClusterDomain(), getCluster().getClusterSubDomain(), + getCluster().getMgtClusterDomain(), getCluster().getMgtClusterSubDomain(), dataCartridge, "PENDING",getSubscriptionKey()); + } + + public Repository manageRepository (String repoURL, String repoUserName, String repoUserPassword, + boolean privateRepo, String cartridgeAlias, CartridgeInfo cartridgeInfo, + String tenantDomain) { + + //no repository for data cartridge instances + return null; } @Override public void removeSubscription() throws ADCException, NotSubscribedException { - //To change body of implemented methods use File | Settings | File Templates. + + subscriptionTenancyBehaviour.removeSubscription(); + super.cleanupSubscription(); + } + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/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 6552fa9..668ff55 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 @@ -55,7 +55,7 @@ public class FrameworkCartridgeSubscription extends AbstractCartridgeSubscriptio @Override public CartridgeSubscriptionInfo registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException { - subscriptionTenancyBehaviour.registerSubscription(); + subscriptionTenancyBehaviour.registerSubscription(null); return ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), getAutoscalingPolicy(), getType(), getAlias(), getSubscriber().getTenantId(), getSubscriber().getTenantDomain(), http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/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 c441036..fbf63d2 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 @@ -33,6 +33,8 @@ import org.apache.stratos.adc.mgt.utils.PersistenceManager; import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService; import org.apache.stratos.adc.topology.mgt.serviceobjects.DomainContext; +import java.util.Properties; + public class SubscriptionMultiTenantBehaviour extends SubscriptionTenancyBehaviour { private static Log log = LogFactory.getLog(SubscriptionMultiTenantBehaviour.class); @@ -97,7 +99,7 @@ public class SubscriptionMultiTenantBehaviour extends SubscriptionTenancyBehavio } } - public void registerSubscription() throws ADCException, UnregisteredCartridgeException { + public void registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException { //nothing to do } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/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 263c1d6..02807e3 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 @@ -32,6 +32,8 @@ import org.apache.stratos.adc.mgt.subscription.AbstractCartridgeSubscription; import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil; import org.apache.stratos.adc.mgt.utils.CartridgeConstants; +import java.util.Properties; + public class SubscriptionSingleTenantBehaviour extends SubscriptionTenancyBehaviour { private static Log log = LogFactory.getLog(SubscriptionSingleTenantBehaviour.class); @@ -49,7 +51,7 @@ public class SubscriptionSingleTenantBehaviour extends SubscriptionTenancyBehavi cartridgeSubscription.getCluster().getHostName()); } - public void registerSubscription() throws ADCException, UnregisteredCartridgeException { + public void registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException { ApplicationManagementUtil.registerService(cartridgeSubscription.getType(), cartridgeSubscription.getCluster().getClusterDomain(), @@ -57,7 +59,7 @@ public class SubscriptionSingleTenantBehaviour extends SubscriptionTenancyBehavi cartridgeSubscription.getPayload().createPayload(), cartridgeSubscription.getPayload().getPayloadArg().getTenantRange(), cartridgeSubscription.getCluster().getHostName(), - null); + properties); cartridgeSubscription.getPayload().delete(); } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/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 eb073ce..d0e1b7b 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 @@ -26,6 +26,8 @@ import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException; import org.apache.stratos.adc.mgt.payload.PayloadArg; import org.apache.stratos.adc.mgt.subscription.AbstractCartridgeSubscription; +import java.util.Properties; + public abstract class SubscriptionTenancyBehaviour { protected AbstractCartridgeSubscription cartridgeSubscription; @@ -36,7 +38,7 @@ public abstract class SubscriptionTenancyBehaviour { public abstract void createSubscription() throws ADCException, AlreadySubscribedException; - public abstract void registerSubscription() throws ADCException, UnregisteredCartridgeException; + public abstract void registerSubscription(Properties properties) throws ADCException, UnregisteredCartridgeException; public abstract void removeSubscription() throws ADCException, NotSubscribedException;
