adapting new changes, fixing conflicts and merging

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

Branch: refs/heads/master
Commit: 09d0beffa5cee828868dbec5a1b660b8d4eca57e
Parents: ba64484 d926386
Author: Isuru <[email protected]>
Authored: Sun Mar 2 10:39:20 2014 +0530
Committer: Isuru <[email protected]>
Committed: Sun Mar 2 10:39:20 2014 +0530

----------------------------------------------------------------------
 .../health/AutoscalerHealthStatReceiver.java    |    7 +-
 .../topology/AutoscalerTopologyReceiver.java    |   59 +-
 .../autoscaler/partition/PartitionManager.java  |    5 +-
 .../autoscaler/policy/PolicyManager.java        |    8 +
 .../rule/AutoscalerRuleEvaluator.java           |    5 +
 .../stratos/cartridge/agent/CartridgeAgent.java |   14 +-
 .../config/CartridgeAgentConfiguration.java     |   13 +-
 .../agent/data/publisher/DataPublisher.java     |    6 +-
 .../data/publisher/GenericDataPublisher.java    |   29 +
 .../publisher/CartridgeAgentEventPublisher.java |   72 +-
 .../publisher/HealthStatisticsNotifier.java     |    4 +-
 .../publisher/HealthStatisticsReader.java       |   32 +-
 .../agent/util/CartridgeAgentConstants.java     |    1 +
 .../cartridge/agent/util/ExtensionUtils.java    |   21 +
 .../stratos/cli/RestCommandLineService.java     |  553 ++++++----
 .../apache/stratos/cli/StratosApplication.java  |    5 +-
 .../stratos/cli/beans/TenantInfoBean.java       |   28 +
 .../cli/beans/cartridge/CartridgeInfoBean.java  |   30 +-
 .../cli/commands/AutoscalePolicyCommand.java    |    2 +-
 .../DescribeAutoScalingPolicyCommand.java       |    2 +-
 .../DescribeDeploymentPolicyCommand.java        |    2 +-
 .../stratos/cli/commands/ExitCommand.java       |    2 +-
 .../stratos/cli/commands/ListAllTenants.java    |   65 ++
 .../stratos/cli/commands/PartitionCommand.java  |    1 -
 .../stratos/cli/commands/SubscribeCommand.java  |   53 +-
 .../UndeployCartridgeDefinitionCommand.java     |    2 +-
 .../apache/stratos/cli/utils/CliConstants.java  |   16 +-
 .../cloud/controller/iaases/AWSEC2Iaas.java     |  136 ++-
 .../controller/iaases/OpenstackNovaIaas.java    |   45 +-
 .../cloud/controller/iaases/VCloudIaas.java     |   13 +-
 .../impl/CloudControllerServiceImpl.java        |  286 +++--
 .../cloud/controller/interfaces/Iaas.java       |    8 +-
 .../cloud/controller/pojo/Cartridge.java        |   43 +-
 .../cloud/controller/pojo/CartridgeConfig.java  |   30 +-
 .../cloud/controller/pojo/CartridgeInfo.java    |   22 +-
 .../cloud/controller/pojo/ClusterContext.java   |   53 +-
 .../controller/pojo/PersistanceMapping.java     |   84 --
 .../cloud/controller/pojo/Persistence.java      |   48 +
 .../stratos/cloud/controller/pojo/Volume.java   |  110 ++
 .../InstanceStatusEventMessageDelegator.java    |    6 +
 .../controller/topology/TopologyBuilder.java    |   93 +-
 .../topology/TopologyEventPublisher.java        |   11 +-
 .../util/CloudControllerConstants.java          |    1 +
 .../controller/util/CloudControllerUtil.java    |    9 +-
 .../validate/AWSEC2PartitionValidator.java      |    7 +-
 .../OpenstackNovaPartitionValidator.java        |   15 +-
 .../validate/VCloudPartitionValidator.java      |   54 +
 .../apache/stratos/common/util/CommonUtil.java  |    6 +-
 .../balancer/LoadBalancerTenantReceiver.java    |    7 +-
 .../balancer/LoadBalancerTopologyReceiver.java  |    7 +-
 .../balancer/cache/AlgorithmContextCache.java   |    4 +-
 .../load/balancer/cache/LoadBalancerCache.java  |   51 +-
 .../TenantAwareLoadBalanceEndpoint.java         |    7 +-
 .../balancer/mediators/ResponseInterceptor.java |   22 +-
 .../InFlightRequestDecrementCallable.java       |   38 +
 .../InFlightRequestIncrementCallable.java       |   38 +
 .../LoadBalancerStatisticsCollector.java        |  159 ++-
 .../LoadBalancerStatisticsExecutor.java         |   56 +
 .../console/cartridge_info.jag                  |   13 +-
 .../console/controllers/acs.jag                 |    6 +-
 .../controllers/cartridgeSubscribeSubmit.jag    |   14 +-
 .../controllers/cartridgeUnsubscribeSubmit.jag  |    2 -
 .../console/controllers/loginSubmit.jag         |    3 -
 .../console/controllers/manageTenants.jag       |    5 +-
 .../console/controllers/profileClient.jag       |    3 +-
 .../console/subscribe_cartridge.jag             |    2 +-
 .../console/tenant_management.jag               |    2 +-
 .../console/tenant_new.jag                      |    2 +-
 .../console/themes/theme1/pages/index.hbs       |    1 +
 .../console/themes/theme1/pages/plain.hbs       |    2 +-
 .../themes/theme1/partials/cartridge_info.hbs   |   78 +-
 .../themes/theme1/partials/cartridges.hbs       |   17 +-
 .../partials/configure_stratos_wizard.hbs       |   54 +-
 .../themes/theme1/partials/mycartridges.hbs     |    4 +-
 .../theme1/partials/subscribe_cartridge.hbs     |  188 ++--
 .../themes/theme1/partials/tenant_new.hbs       |   99 +-
 .../themes/theme1/renderers/cartridge_info.js   |    8 +-
 .../themes/theme1/renderers/cartridges.js       |    2 +
 .../console/themes/theme1/renderers/index.js    |    3 +-
 .../console/themes/theme1/renderers/login.js    |    2 -
 .../theme1/renderers/tenant_management.js       |    3 +-
 .../console/themes/theme1/ui/css/main.css       |   24 +-
 .../console/themes/theme1/ui/img/favicon.png    |  Bin 0 -> 585 bytes
 .../console/themes/theme1/ui/js/mycartridges.js |    2 +-
 .../console/themes/theme1/ui/js/popup.js        |    1 +
 .../themes/theme1/ui/js/tenant_management.js    |    4 +-
 .../console/util/utility.jag                    |   54 +-
 .../manager/client/AutoscalerServiceClient.java |   12 +
 .../apache/stratos/manager/dto/Cartridge.java   |   28 +-
 .../listener/InstanceStatusListener.java        |   20 +-
 .../manager/CartridgeSubscriptionManager.java   |   53 +-
 .../manager/payload/BasicPayloadData.java       |   23 +
 .../ApplicationCartridgeSubscription.java       |    3 +-
 .../subscription/CartridgeSubscription.java     |   48 +-
 .../subscription/DataCartridgeSubscription.java |    5 +-
 .../FrameworkCartridgeSubscription.java         |   19 +
 .../subscription/LBCartridgeSubscription.java   |    3 +-
 .../subscription/PersistenceContext.java        |   67 ++
 .../manager/subscription/SubscriptionData.java  |   16 +-
 .../SubscriptionSingleTenantBehaviour.java      |  115 ++
 .../StratosManagerTopologyReceiver.java         |    4 +
 .../utils/ApplicationManagementUtil.java        |    2 +-
 .../manager/utils/CartridgeConstants.java       |    2 +
 .../messaging/domain/topology/MemberStatus.java |   20 +-
 .../status/InstanceMaintenanceModeEvent.java    |   59 +
 .../topology/MemberMaintenanceModeEvent.java    |   79 ++
 .../topology/MemberReadyToShutdownEvent.java    |   18 +
 .../topology/MemberMaintenanceListener.java     |   24 +
 .../MemberMaintenanceModeProcessor.java         |  147 +++
 .../topology/TopologyMessageProcessorChain.java |    7 +
 .../health/stat/HealthStatReceiver.java         |    7 +-
 .../InstanceNotifierEventMessageReceiver.java   |    7 +-
 .../message/receiver/tenant/TenantReceiver.java |    7 +-
 .../receiver/topology/TopologyReceiver.java     |    7 +-
 .../stratos/messaging/util/Constants.java       |    2 +
 .../rest/endpoint/bean/CartridgeInfoBean.java   |    9 -
 .../definition/CartridgeDefinitionBean.java     |   14 +-
 .../definition/PersistanceMappingBean.java      |   38 -
 .../cartridge/definition/PersistenceBean.java   |   46 +
 .../bean/cartridge/definition/VolumeBean.java   |   39 +
 .../rest/endpoint/bean/topology/Cluster.java    |   17 +
 .../rest/endpoint/bean/topology/Member.java     |   17 +
 .../bean/util/converter/PojoConverter.java      |   43 +-
 .../stratos/rest/endpoint/mock/MockContext.java |  102 +-
 .../rest/endpoint/mock/StratosTestAdmin.java    |   23 +-
 .../rest/endpoint/services/ServiceUtils.java    |  462 ++------
 .../rest/endpoint/services/StratosAdmin.java    |   29 +-
 .../main/webapp/stratos/WEB-INF/cxf-servlet.xml |    2 +-
 .../extension/FaultHandlingWindowProcessor.java |    8 +-
 pom.xml                                         |    2 +-
 .../main/autoscale-policies/economyPolicy.xml   |   20 +-
 .../distribution/src/main/assembly/bin.xml      |    1 +
 .../src/main/extensions/mount_volumes.sh        |   86 ++
 .../distribution/src/main/conf/log4j.properties |   17 +-
 .../src/main/conf/cartridge-config.properties   |    3 +
 .../modules/p2-profile-gen/pom.xml              |    4 +-
 .../main/resources/CloudControllerService.wsdl  |   28 +-
 tools/puppet/agent/root/bin/ec2_init.sh         |  128 ++-
 tools/puppet3-agent/config.sh                   |   94 ++
 tools/puppet3-agent/init.sh                     |  142 +++
 tools/puppet3-agent/puppetinstall/puppetinstall |  397 +++++++
 tools/puppet3-agent/stratos_sendinfo.rb         |   29 +
 tools/puppet3/auth.conf                         |  116 ++
 tools/puppet3/autosign.conf                     |    1 +
 tools/puppet3/fileserver.conf                   |   41 +
 tools/puppet3/manifests/nodes.pp                |  151 +++
 tools/puppet3/manifests/site.pp                 |    1 +
 tools/puppet3/modules/agent/manifests/init.pp   |   55 +
 .../modules/agent/manifests/initialize.pp       |   70 ++
 .../modules/agent/manifests/push_templates.pp   |   27 +
 tools/puppet3/modules/agent/manifests/start.pp  |   27 +
 .../modules/agent/templates/bin/stratos.sh.erb  |   48 +
 .../conf/templates/jndi.properties.template.erb |   26 +
 .../templates/extensions/addons/_mysql.erb      |   15 +
 .../agent/templates/extensions/addons/_ruby.erb |   17 +
 .../extensions/artifacts-updated.sh.erb         |   29 +
 .../agent/templates/extensions/clean.sh.erb     |   28 +
 .../extensions/instance-activated.sh.erb        |   28 +
 .../extensions/instance-started.sh.erb          |   36 +
 .../templates/extensions/start-servers.sh.erb   |   28 +
 tools/puppet3/modules/autoscaler/LICENSE        |   13 +
 .../autoscaler/files/configs/bin/stratos.sh     |  298 ++++++
 .../configs/repository/conf/autoscaler.xml      |   34 +
 .../modules/autoscaler/manifests/clean.pp       |   45 +
 .../modules/autoscaler/manifests/deploy.pp      |   43 +
 .../modules/autoscaler/manifests/init.pp        |   97 ++
 .../modules/autoscaler/manifests/initialize.pp  |   59 +
 .../modules/autoscaler/manifests/params.pp      |   66 ++
 .../autoscaler/manifests/push_templates.pp      |   26 +
 .../modules/autoscaler/manifests/start.pp       |   27 +
 .../templates/conf/autoscaler.xml.erb           |   39 +
 .../templates/conf/axis2/axis2.xml.erb          |  701 ++++++++++++
 .../autoscaler/templates/conf/carbon.xml.erb    |  625 +++++++++++
 .../templates/conf/jndi.properties.erb          |    4 +
 .../economy-autoscale.xml.erb                   |   26 +
 .../economy-deployment.xml.erb                  |   23 +
 .../server/partitions/partitions.xml.erb        |   19 +
 tools/puppet3/modules/cc/LICENSE                |   13 +
 .../modules/cc/files/configs/bin/stratos.sh     |  299 ++++++
 .../repository/conf/cloud-controller.xml        |   81 ++
 ....stratos.cloud.controller_4.0.0.SNAPSHOT.jar |  Bin 0 -> 183364 bytes
 tools/puppet3/modules/cc/manifests/clean.pp     |   45 +
 tools/puppet3/modules/cc/manifests/deploy.pp    |   43 +
 tools/puppet3/modules/cc/manifests/init.pp      |   96 ++
 .../puppet3/modules/cc/manifests/initialize.pp  |   59 +
 tools/puppet3/modules/cc/manifests/params.pp    |   66 ++
 .../modules/cc/manifests/push_templates.pp      |   26 +
 tools/puppet3/modules/cc/manifests/start.pp     |   27 +
 .../cc/templates/conf/axis2/axis2.xml.erb       |  703 ++++++++++++
 .../modules/cc/templates/conf/carbon.xml.erb    |  625 +++++++++++
 .../cc/templates/conf/jndi.properties.erb       |    4 +
 tools/puppet3/modules/cep/LICENSE               |   13 +
 .../modules/cep/files/configs/bin/wso2server.sh |  304 ++++++
 .../dropins/activemq_client_5.8.0_1.0.0.jar     |  Bin 0 -> 1032400 bytes
 .../dropins/andes_client_0.13.wso2v8_1.0.0.jar  |  Bin 0 -> 1854829 bytes
 ...che.stratos.cep.extension-1.0.0-SNAPSHOT.jar |  Bin 0 -> 16495 bytes
 .../repository/conf/siddhi/siddhi.extension     |    3 +
 .../repository/conf/stream-manager-config.xml   |  177 +++
 .../HealthStatisticsEventBuilder.xml            |   10 +
 .../InstanceStatusStatisticsBuilder.xml         |   10 +
 .../LoadBalancerStatisticsEventBuilder.xml      |   10 +
 .../AverageInFlightRequestsEventFormatter.xml   |   11 +
 .../AverageLoadAverageEventFormatter.xml        |   11 +
 .../AverageMemoryConsumptionEventFormatter.xml  |   11 +
 .../FaultMessageEventFormatter.xml              |   11 +
 .../GradientInFlightRequestsEventFormatter.xml  |   11 +
 .../GradientLoadAverageEventFormatter.xml       |   11 +
 .../GradientMemoryConsumptionEventFormatter.xml |   11 +
 .../MemberAverageLoadAverageEventFormatter.xml  |   11 +
 ...erAverageMemoryConsumptionEventFormatter.xml |   11 +
 .../MemberGradientLoadAverageEventFormatter.xml |   11 +
 ...rGradientMemoryConsumptionEventFormatter.xml |   11 +
 ...econdDerivativeLoadAverageEventFormatter.xml |   11 +
 ...erivativeMemoryConsumptionEventFormatter.xml |   11 +
 ...DerivativeInFlightRequestsEventFormatter.xml |   11 +
 ...econdDerivativeLoadAverageEventFormatter.xml |   11 +
 ...erivativeMemoryConsumptionEventFormatter.xml |   11 +
 .../executionplans/AverageHeathRequest.xml      |   29 +
 .../AverageInFlightRequestsFinder.xml           |   19 +
 .../executionplans/GradientOfHealthRequest.xml  |   30 +
 .../GradientOfRequestsInFlightFinder.xml        |   18 +
 .../SecondDerivativeOfHealthRequest.xml         |   27 +
 ...SecondDerivativeOfRequestsInFlightFinder.xml |   19 +
 .../DefaultWSO2EventInputAdaptor.xml            |    3 +
 .../DefaultWSO2EventOutputAdaptor.xml           |    8 +
 .../outputeventadaptors/JMSOutputAdaptor.xml    |    8 +
 .../streamdefinitions/stream-manager-config.xml |  269 +++++
 tools/puppet3/modules/cep/manifests/clean.pp    |   45 +
 tools/puppet3/modules/cep/manifests/deploy.pp   |   43 +
 tools/puppet3/modules/cep/manifests/init.pp     |  101 ++
 .../puppet3/modules/cep/manifests/initialize.pp |   59 +
 tools/puppet3/modules/cep/manifests/params.pp   |   69 ++
 .../modules/cep/manifests/push_templates.pp     |   26 +
 tools/puppet3/modules/cep/manifests/start.pp    |   27 +
 .../cep/templates/conf/axis2/axis2.xml.erb      |  698 ++++++++++++
 .../modules/cep/templates/conf/carbon.xml.erb   |  609 +++++++++++
 .../cep/templates/conf/jndi.properties.erb      |   32 +
 .../JMSOutputAdaptor.xml.erb                    |    8 +
 tools/puppet3/modules/java/manifests/init.pp    |   34 +
 .../modules/java/templates/java_home.sh.erb     |    1 +
 tools/puppet3/modules/lb/LICENSE                |   13 +
 .../modules/lb/files/configs/bin/stratos.sh     |  302 ++++++
 tools/puppet3/modules/lb/manifests/clean.pp     |   45 +
 tools/puppet3/modules/lb/manifests/deploy.pp    |   43 +
 tools/puppet3/modules/lb/manifests/init.pp      |   95 ++
 .../puppet3/modules/lb/manifests/initialize.pp  |   67 ++
 tools/puppet3/modules/lb/manifests/params.pp    |   66 ++
 .../modules/lb/manifests/push_templates.pp      |   26 +
 tools/puppet3/modules/lb/manifests/start.pp     |   27 +
 .../lb/templates/conf/axis2/axis2.xml.erb       |  527 +++++++++
 .../lb/templates/conf/loadbalancer.conf.erb     |  149 +++
 tools/puppet3/modules/manager/LICENSE           |   13 +
 .../manager/files/configs/bin/stratos.sh        |  301 ++++++
 .../lib/mysql-connector-java-5.1.26-bin.jar     |  Bin 0 -> 855948 bytes
 .../repository/conf/cartridge-config.properties |   63 ++
 .../conf/datasources/master-datasources.xml     |   27 +
 .../conf/datasources/stratos-datasources.xml    |   66 ++
 .../repository/conf/stratos-datasources.xml     |   66 ++
 .../puppet3/modules/manager/manifests/clean.pp  |   45 +
 .../puppet3/modules/manager/manifests/deploy.pp |   43 +
 tools/puppet3/modules/manager/manifests/init.pp |   99 ++
 .../modules/manager/manifests/initialize.pp     |   59 +
 .../puppet3/modules/manager/manifests/params.pp |   66 ++
 .../modules/manager/manifests/push_templates.pp |   26 +
 .../puppet3/modules/manager/manifests/start.pp  |   27 +
 .../manager/templates/conf/axis2/axis2.xml.erb  |  702 ++++++++++++
 .../manager/templates/conf/carbon.xml.erb       |  625 +++++++++++
 .../conf/cartridge-config.properties.erb        |   73 ++
 .../conf/datasources/master-datasources.xml.erb |   27 +
 .../datasources/stratos-datasources.xml.erb     |   66 ++
 .../manager/templates/conf/jndi.properties.erb  |    4 +
 tools/puppet3/modules/messagebroker/LICENSE     |   13 +
 .../files/configs/bin/wso2server.sh             |  300 ++++++
 .../modules/messagebroker/manifests/clean.pp    |   45 +
 .../modules/messagebroker/manifests/deploy.pp   |   43 +
 .../modules/messagebroker/manifests/init.pp     |   99 ++
 .../messagebroker/manifests/initialize.pp       |   59 +
 .../modules/messagebroker/manifests/params.pp   |   66 ++
 .../messagebroker/manifests/push_templates.pp   |   26 +
 .../modules/messagebroker/manifests/start.pp    |   27 +
 .../templates/conf/axis2/axis2.xml.erb          |  719 +++++++++++++
 .../messagebroker/templates/conf/carbon.xml.erb |  583 ++++++++++
 tools/puppet3/modules/mysql/manifests/init.pp   |   56 +
 .../modules/mysql/templates/phpMyAdmin.conf.erb |   73 ++
 tools/puppet3/modules/nodejs/manifests/init.pp  |   52 +
 tools/puppet3/modules/php/files/90forceyes      |   23 +
 .../modules/php/lib/facter/stratos_facts.rb     |   12 +
 tools/puppet3/modules/php/manifests/init.pp     |  121 +++
 .../puppet3/modules/php/manifests/init.pp.back  |  131 +++
 .../puppet3/modules/php/manifests/init.pp.cent  |   94 ++
 tools/puppet3/modules/php/manifests/init.pp.deb |  102 ++
 tools/puppet3/modules/php/manifests/init.pp.rpm |   78 ++
 .../php/templates/apache2/apache2.conf.erb      |  256 +++++
 .../apache2/sites-available/default-ssl.erb     |  195 ++++
 .../apache2/sites-available/default.erb         |   64 ++
 .../modules/php/templates/httpd/httpd.conf.erb  | 1009 ++++++++++++++++++
 tools/puppet3/modules/ruby/manifests/init.pp    |   43 +
 .../modules/ruby/templates/ruby-start.sh.erb    |   18 +
 tools/puppet3/modules/tomcat/manifests/init.pp  |   51 +
 .../puppet3/modules/wordpress/manifests/init.pp |   70 ++
 .../wordpress/templates/httpd/httpd.conf.erb    | 1009 ++++++++++++++++++
 tools/puppet3/puppet.conf                       |   14 +
 tools/stratos-installer/conf/setup.conf         |    4 +
 .../repository/conf/cartridge-config.properties |    2 +
 tools/stratos-installer/setup.sh                |   14 +
 305 files changed, 21130 insertions(+), 1668 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/09d0beff/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
index 69574e1,ac4d8e6..6f2880d
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
@@@ -21,7 -21,9 +21,10 @@@ package org.apache.stratos.manager.mana
  
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
- import org.apache.stratos.cloud.controller.pojo.*;
+ import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
++import org.apache.stratos.cloud.controller.pojo.LoadbalancerConfig;
+ import org.apache.stratos.cloud.controller.pojo.Properties;
+ import org.apache.stratos.cloud.controller.pojo.Property;
  import org.apache.stratos.manager.client.CloudControllerServiceClient;
  import org.apache.stratos.manager.dao.CartridgeSubscriptionInfo;
  import org.apache.stratos.manager.dto.SubscriptionInfo;
@@@ -31,6 -32,6 +34,7 @@@ import org.apache.stratos.manager.repos
  import org.apache.stratos.manager.retriever.DataInsertionAndRetrievalManager;
  import org.apache.stratos.manager.subscriber.Subscriber;
  import org.apache.stratos.manager.subscription.CartridgeSubscription;
++import org.apache.stratos.manager.subscription.PersistenceContext;
  import org.apache.stratos.manager.subscription.SubscriptionData;
  import 
org.apache.stratos.manager.subscription.factory.CartridgeSubscriptionFactory;
  import 
org.apache.stratos.manager.subscription.tenancy.SubscriptionMultiTenantBehaviour;
@@@ -84,140 -115,7 +88,139 @@@ public class CartridgeSubscriptionManag
              throw new ADCException(message, e);
          }
  
 -        //Decide tenancy behaviour
 +        // check if this subscription requires Persistence Mapping, and its 
supported by the cartridge definition
 +        Properties persistenceMappingProperties = null;
-         if (subscriptionData.getPersistanceMapping() != null) {
-             persistenceMappingProperties = 
getPersistenceMappingProperties(subscriptionData.getPersistanceMapping(), 
cartridgeInfo);
++        if (subscriptionData.getPersistanceContext() != null) {
++            persistenceMappingProperties = 
getPersistenceMappingProperties(subscriptionData.getPersistanceContext(), 
cartridgeInfo);
 +        }
 +
 +        Properties serviceCartridgeSubscriptionProperties = null;
 +        LBDataContext lbDataCtxt = null;
 +
 +        // get lb config reference
 +        LoadbalancerConfig lbConfig = cartridgeInfo.getLbConfig();
 +        if (lbConfig == null || lbConfig.getProperties() == null) {
 +            // no LB ref
 +            if (log.isDebugEnabled()) {
 +                log.debug("This Service does not require a load balancer. " + 
"[Service Name] " +
 +                        subscriptionData.getCartridgeType());
 +            }
 +
 +        } else {
 +            // LB ref found, get relevant LB Context data
 +            lbDataCtxt = 
CartridgeSubscriptionUtils.getLoadBalancerDataContext(subscriptionData.getTenantId(),
 subscriptionData.getCartridgeType(),
 +                    subscriptionData.getDeploymentPolicyName(), lbConfig);
 +
 +            // subscribe to LB
 +            CartridgeSubscription lbCartridgeSubscription = subscribeToLB 
(subscriptionData, lbDataCtxt);
 +
 +            if (lbCartridgeSubscription != null) {
 +                // register LB cartridge subscription
 +                Properties lbCartridgeSubscriptionProperties =  new 
Properties();
 +                if (lbDataCtxt.getLbProperperties() != null && 
!lbDataCtxt.getLbProperperties().isEmpty()) {
 +                    
lbCartridgeSubscriptionProperties.setProperties(lbDataCtxt.getLbProperperties().toArray(new
 Property[0]));
 +                }
 +
 +                registerCartridgeSubscription(lbCartridgeSubscription, 
lbCartridgeSubscriptionProperties);
 +            }
 +        }
 +
 +        // subscribe to relevant service cartridge
 +        CartridgeSubscription serviceCartridgeSubscription = subscribe 
(subscriptionData, cartridgeInfo);
 +        serviceCartridgeSubscriptionProperties = new Properties();
 +
 +        // lb related properties
 +        if (lbDataCtxt.getLoadBalancedServiceProperties() != null && 
!lbDataCtxt.getLoadBalancedServiceProperties().isEmpty()) {
 +            
serviceCartridgeSubscriptionProperties.setProperties(lbDataCtxt.getLoadBalancedServiceProperties().toArray(new
 Property[0]));
 +        }
 +
 +        // Persistence Mapping related properties
 +        if (persistenceMappingProperties != null && 
persistenceMappingProperties.getProperties().length > 0) {
 +            // add the properties to send to CC via register method
 +            for (Property persistenceMappingProperty : 
persistenceMappingProperties.getProperties()) {
 +                
serviceCartridgeSubscriptionProperties.addProperties(persistenceMappingProperty);
 +            }
 +        }
 +
 +        // register service cartridge subscription
 +        return registerCartridgeSubscription(serviceCartridgeSubscription, 
serviceCartridgeSubscriptionProperties);
 +    }
 +
 +    private CartridgeSubscription subscribeToLB (SubscriptionData 
subscriptionData, LBDataContext lbDataContext)
 +
 +            throws ADCException, InvalidCartridgeAliasException,
 +            DuplicateCartridgeAliasException, PolicyException, 
UnregisteredCartridgeException, RepositoryRequiredException, 
RepositoryCredentialsRequiredException,
 +            RepositoryTransportException, AlreadySubscribedException, 
InvalidRepositoryException {
 +
 +        if (lbDataContext.getLbCategory().equals(Constants.NO_LOAD_BALANCER)) 
{
 +            // no load balancer subscription required
 +            log.info("No LB subscription required for the Subscription with 
alias: " + subscriptionData.getCartridgeAlias() + ", type: " +
 +                    subscriptionData.getCartridgeType());
 +            return null;
 +        }
 +
 +        LoadBalancerCategory loadBalancerCategory = null;
 +
 +        String lbAlias = "lb" + lbDataContext.getLbCartridgeInfo().getType() 
+ new Random().nextInt();
 +
 +        if 
(lbDataContext.getLbCategory().equals(Constants.EXISTING_LOAD_BALANCERS)) {
 +            loadBalancerCategory = new ExistingLoadBalancerCategory();
 +
 +        } else if 
(lbDataContext.getLbCategory().equals(Constants.DEFAULT_LOAD_BALANCER)) {
 +            loadBalancerCategory = new DefaultLoadBalancerCategory();
 +
 +        } else if 
(lbDataContext.getLbCategory().equals(Constants.SERVICE_AWARE_LOAD_BALANCER)) {
 +            loadBalancerCategory = new ServiceLevelLoadBalancerCategory();
 +        }
 +
 +        if (loadBalancerCategory == null) {
 +            throw new ADCException("The given Load Balancer category " + 
lbDataContext.getLbCategory() + " not found");
 +        }
 +
 +        if(lbDataContext.getLbCartridgeInfo().getMultiTenant()) {
 +            throw new ADCException("LB Cartridge must be single tenant");
 +        }
 +
 +        // Set the load balanced service type
 +        
loadBalancerCategory.setLoadBalancedServiceType(subscriptionData.getCartridgeType());
 +
 +        // Create the CartridgeSubscription instance
 +        CartridgeSubscription cartridgeSubscription = 
CartridgeSubscriptionFactory.getLBCartridgeSubscriptionInstance(lbDataContext, 
loadBalancerCategory);
 +
 +        // Generate and set the key
 +        String subscriptionKey = 
CartridgeSubscriptionUtils.generateSubscriptionKey();
 +        cartridgeSubscription.setSubscriptionKey(subscriptionKey);
 +
 +        // Create repository
-         Repository repository = cartridgeSubscription.manageRepository(null, 
"",  "", false, lbAlias, lbDataContext.getLbCartridgeInfo(),
-                 subscriptionData.getTenantDomain());
++        Repository repository = cartridgeSubscription.manageRepository(null, 
"",  "", false);
 +
 +        // Create subscriber
 +        Subscriber subscriber = new 
Subscriber(subscriptionData.getTenantAdminUsername(), 
subscriptionData.getTenantId(), subscriptionData.getTenantDomain());
 +
 +        // create subscription
 +        cartridgeSubscription.createSubscription(subscriber, lbAlias, 
lbDataContext.getAutoscalePolicy(),
 +                lbDataContext.getDeploymentPolicy(), repository);
 +
 +
 +        log.info("Tenant [" + subscriptionData.getTenantId() + "] with 
username [" + subscriptionData.getTenantAdminUsername() +
 +                " subscribed to " + "] Cartridge with Alias " + lbAlias + ", 
Cartridge Type: " + lbDataContext.getLbCartridgeInfo().getType() +
 +                ", Autoscale Policy: " + lbDataContext.getAutoscalePolicy() + 
", Deployment Policy: " + lbDataContext.getDeploymentPolicy());
 +
 +        // Publish tenant subscribed event to message broker
 +        
CartridgeSubscriptionUtils.publishTenantSubscribedEvent(cartridgeSubscription.getSubscriber().getTenantId(),
 +                cartridgeSubscription.getCartridgeInfo().getType());
 +
 +        return cartridgeSubscription;
 +    }
 +
 +    private CartridgeSubscription subscribe (SubscriptionData 
subscriptionData, CartridgeInfo cartridgeInfo)
 +
 +            throws ADCException, InvalidCartridgeAliasException,
 +            DuplicateCartridgeAliasException, PolicyException, 
UnregisteredCartridgeException, RepositoryRequiredException, 
RepositoryCredentialsRequiredException,
 +            RepositoryTransportException, AlreadySubscribedException, 
InvalidRepositoryException {
 +
 +
 +        // Decide tenancy behaviour
          SubscriptionTenancyBehaviour tenancyBehaviour;
          if(cartridgeInfo.getMultiTenant()) {
              tenancyBehaviour = new SubscriptionMultiTenantBehaviour();
@@@ -229,34 -127,42 +232,34 @@@
          CartridgeSubscription cartridgeSubscription = 
CartridgeSubscriptionFactory.
                  getCartridgeSubscriptionInstance(cartridgeInfo, 
tenancyBehaviour);
  
 -
 +        // Generate and set the key
          String subscriptionKey = 
CartridgeSubscriptionUtils.generateSubscriptionKey();
 -
 -        String encryptedRepoPassword = repositoryPassword != null && 
!repositoryPassword.isEmpty() ?
 -                RepoPasswordMgtUtil.encryptPassword(repositoryPassword, 
subscriptionKey) : "";
 -        
 -        //Create repository
 -        Repository repository = 
cartridgeSubscription.manageRepository(repositoryURL,
 -                                                                       
repositoryUsername,
 -                                                                       
encryptedRepoPassword,
 -                                                                       
isPrivateRepository,
 -                                                                       
cartridgeAlias,
 -                                                                       
cartridgeInfo, tenantDomain);
 -
 -        //Create subscriber
 -        Subscriber subscriber = new Subscriber(tenantAdminUsername, tenantId, 
tenantDomain);
 -
 -        //Set the key
          cartridgeSubscription.setSubscriptionKey(subscriptionKey);
  
 +        // Create repository
-         Repository repository = 
cartridgeSubscription.manageRepository(subscriptionData.getRepositoryURL(),
-                 subscriptionData.getRepositoryUsername(),
++        Repository repository = 
cartridgeSubscription.manageRepository(subscriptionData.getRepositoryURL(), 
subscriptionData.getRepositoryUsername(),
 +                subscriptionData.getRepositoryPassword(),
-                 subscriptionData.isPrivateRepository(),
-                 subscriptionData.getCartridgeAlias(),
-                 cartridgeInfo,
-                 subscriptionData.getTenantDomain());
++                subscriptionData.isPrivateRepository());
 +
 +        // Create subscriber
 +        Subscriber subscriber = new 
Subscriber(subscriptionData.getTenantAdminUsername(), 
subscriptionData.getTenantId(), subscriptionData.getTenantDomain());
 +
+         //create subscription
 -        cartridgeSubscription.createSubscription(subscriber, cartridgeAlias, 
autoscalingPolicyName,
 -                                                deploymentPolicyName, 
repository);
++        cartridgeSubscription.createSubscription(subscriber, 
subscriptionData.getCartridgeAlias(), 
subscriptionData.getAutoscalingPolicyName(),
++                                                
subscriptionData.getDeploymentPolicyName(), repository);
++
 +        // create subscription
 +        cartridgeSubscription.createSubscription(subscriber, 
subscriptionData.getCartridgeAlias(), 
subscriptionData.getAutoscalingPolicyName(),
 +                subscriptionData.getDeploymentPolicyName(), repository);
  
 -        // set the lb cluster id if its available
 -        if (lbClusterId != null && !lbClusterId.isEmpty()) {
 -            cartridgeSubscription.setLbClusterId(lbClusterId);
 -        }
  
 -        log.info("Tenant [" + tenantId + "] with username [" + 
tenantAdminUsername +
 -                 " subscribed to " + "] Cartridge Alias " + cartridgeAlias + 
", Cartridge Type: " +
 -                 cartridgeType + ", Repo URL: " + repositoryURL + ", Policy: 
" +
 -                 autoscalingPolicyName);
 +        log.info("Tenant [" + subscriptionData.getTenantId() + "] with 
username [" + subscriptionData.getTenantAdminUsername() +
 +                " subscribed to " + "] Cartridge with Alias " + 
subscriptionData.getCartridgeAlias() + ", Cartridge Type: " +
 +                subscriptionData.getCartridgeType() + ", Repo URL: " + 
subscriptionData.getRepositoryURL() + ", Autoscale Policy: " +
 +                subscriptionData.getAutoscalingPolicyName() + ", Deployment 
Policy: " + subscriptionData.getDeploymentPolicyName());
  
  
 -        // Publish tenant subscribed envent to message broker
 +        // Publish tenant subscribed event to message broker
          
CartridgeSubscriptionUtils.publishTenantSubscribedEvent(cartridgeSubscription.getSubscriber().getTenantId(),
                  cartridgeSubscription.getCartridgeInfo().getType());
  
@@@ -351,42 -257,7 +354,22 @@@
              throw new NotSubscribedException(errorMsg, alias);
          }
      }
 -    
 +
-     private Properties getPersistenceMappingProperties (PersistanceMapping 
persistanceMapping, CartridgeInfo cartridgeInfo) throws ADCException {
- 
-         if (!persistanceMapping.getPersistanceRequired()) {
-             // Persistence Mapping not required for this subscription
-             return null;
-         }
++    private Properties getPersistenceMappingProperties (PersistenceContext 
persistenceCtxt, CartridgeInfo cartridgeInfo) throws ADCException {
 +
-         if (persistanceMapping.getPersistanceRequired() && 
!cartridgeInfo.isPeristanceMappingsSpecified()) {
++        if (!cartridgeInfo.isPersistenceSpecified()) {
 +            // Persistence Mapping not supported in the cartridge definition 
- error
 +            String errorMsg = "Persistence Mapping not supported by the 
cartridge type " + cartridgeInfo.getType();
 +            log.error(errorMsg);
 +            throw new ADCException(errorMsg);
 +        }
 +
-         Property persistanceRequiredProperty = new Property();
-         persistanceRequiredProperty.setName(Constants.IS_VOLUME_REQUIRED);
-         
persistanceRequiredProperty.setValue(String.valueOf(persistanceMapping.getPersistanceRequired()));
- 
-         Property sizeProperty = new Property();
-         sizeProperty.setName(Constants.VOLUME_SIZE);
-         sizeProperty.setValue(Integer.toString(persistanceMapping.getSize()));
- 
-         Property deviceProperty = new Property();
-         deviceProperty.setName(Constants.DEVICE_NAME);
-         
deviceProperty.setValue(String.valueOf(persistanceMapping.getDevice()));
- 
-         Property deleteOnTerminationProperty = new Property();
-         deleteOnTerminationProperty.setName(Constants.SHOULD_DELETE_VOLUME);
-         
deleteOnTerminationProperty.setValue(String.valueOf(persistanceMapping.getRemoveOntermination()));
- 
 +        Properties persistenceMappingProperties = new Properties();
-         persistenceMappingProperties.setProperties(new 
Property[]{persistanceRequiredProperty, sizeProperty, deviceProperty, 
deleteOnTerminationProperty});
++        persistenceMappingProperties.setProperties(new 
Property[]{persistenceCtxt.getPersistanceRequiredProperty(), 
persistenceCtxt.getSizeProperty(),
++                persistenceCtxt.getDeleteOnTerminationProperty()});
 +
 +        return persistenceMappingProperties;
 +    }
      
      /**
       * 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/09d0beff/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/ApplicationCartridgeSubscription.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/ApplicationCartridgeSubscription.java
index eed644a,eed644a..13dd128
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/ApplicationCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/ApplicationCartridgeSubscription.java
@@@ -41,8 -41,8 +41,7 @@@ public class ApplicationCartridgeSubscr
  
  
      public Repository manageRepository (String repoURL, String repoUserName, 
String repoUserPassword,
--                                        boolean privateRepo, String 
cartridgeAlias, CartridgeInfo cartridgeInfo,
--                                        String tenantDomain) {
++                                        boolean privateRepo) {
  
          //no repository for application cartridge instances
          return null;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/09d0beff/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
index 71ae249,a9ddb7f..31bb04a
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
@@@ -180,9 -178,9 +178,6 @@@ public abstract class CartridgeSubscrip
       * @param repoUserName Repository Username
       * @param repoUserPassword Repository password
       * @param privateRepo public/private repository
--     * @param cartridgeAlias Alias of the cartridge subscription
--     * @param cartridgeInfo CartridgeInfo subscription
--     * @param tenantDomain Domain of the tenant
       *
       * @return Repository populated with relevant information or null of not 
repository is relevant to this cartridge
       * subscription
@@@ -192,38 -190,38 +187,9 @@@
       * @throws RepositoryTransportException
       * @throws InvalidRepositoryException
       */
--    public Repository manageRepository (String repoURL, String repoUserName, 
String repoUserPassword,
--                                        boolean privateRepo, String 
cartridgeAlias, CartridgeInfo cartridgeInfo,
--                                        String tenantDomain)
--
--            throws ADCException, RepositoryRequiredException, 
RepositoryCredentialsRequiredException,
--            RepositoryTransportException, InvalidRepositoryException {
--
--        /*if (!new 
Boolean(System.getProperty(CartridgeConstants.FEATURE_INTERNAL_REPO_ENABLED))) {
--            if (log.isDebugEnabled()) {
--                log.debug("Internal repo feature is not enabled.");
--            }
--        }*/
--
--        //TODO: throw if repo is not given for this cartridge type
--        Repository repository = null;
--        if (repoURL != null && repoURL.trim().length() > 0) {
--              repository = new Repository();
--            log.info("External REPO URL is provided as [" + repoURL +
--                    "]. Therefore not creating a new repo.");
--            //repository.setRepoName(repoURL.substring(0, 
repoURL.length()-4)); // remove .git part
--            repository.setUrl(repoURL);
--            repository.setUserName(repoUserName);
--            repository.setPassword(repoUserPassword);
--            repository.setPrivateRepository(privateRepo);
--        }
--
--        // Validate Remote Repository.
--        //ApplicationManagementUtil.validateRepository(repoURL, repoUserName, 
repoUserPassword, privateRepo,
--        //        new 
Boolean(System.getProperty(CartridgeConstants.FEATURE_EXTERNAL_REPO_VAIDATION_ENABLED)));
--
--        return repository;
--    }
++    public abstract  Repository manageRepository (String repoURL, String 
repoUserName, String repoUserPassword,
++                                        boolean privateRepo) throws 
ADCException, RepositoryRequiredException, 
RepositoryCredentialsRequiredException,
++                                                                    
RepositoryTransportException, InvalidRepositoryException;
  
      /**
       * Cleans up the subscription information after unsubscribing

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/09d0beff/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription.java
index d77a38b,80c95f4..5382619
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription.java
@@@ -74,8 -72,8 +72,7 @@@ public class DataCartridgeSubscription 
      }
  
      public Repository manageRepository (String repoURL, String repoUserName, 
String repoUserPassword,
--                                        boolean privateRepo, String 
cartridgeAlias, CartridgeInfo cartridgeInfo,
--                                        String tenantDomain) {
++                                        boolean privateRepo) {
  
          //no repository for data cartridge instances
          return null;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/09d0beff/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/FrameworkCartridgeSubscription.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/FrameworkCartridgeSubscription.java
index ee6a210,ee6a210..2c714da
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/FrameworkCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/FrameworkCartridgeSubscription.java
@@@ -21,6 -21,6 +21,8 @@@ package org.apache.stratos.manager.subs
  
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
++import org.apache.stratos.manager.exception.*;
++import org.apache.stratos.manager.repository.Repository;
  import 
org.apache.stratos.manager.subscription.tenancy.SubscriptionTenancyBehaviour;
  import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
  
@@@ -40,4 -40,4 +42,21 @@@ public class FrameworkCartridgeSubscrip
              subscriptionTenancyBehaviour) {
          super(cartridgeInfo, subscriptionTenancyBehaviour);
      }
++
++    public Repository manageRepository (String repoURL, String repoUserName, 
String repoUserPassword,
++                                        boolean privateRepo)
++
++            throws ADCException, RepositoryRequiredException, 
RepositoryCredentialsRequiredException,
++            RepositoryTransportException, InvalidRepositoryException {
++
++        log.info("External REPO URL is provided as [" + repoURL + "]");
++
++        Repository repository = new Repository();
++        repository.setUrl(repoURL);
++        repository.setUserName(repoUserName);
++        repository.setPassword(repoUserPassword);
++        repository.setPrivateRepository(privateRepo);
++
++        return repository;
++    }
  }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/09d0beff/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/LBCartridgeSubscription.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/LBCartridgeSubscription.java
index 17b9eba,0b349ab..a382a73
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/LBCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/LBCartridgeSubscription.java
@@@ -76,24 -55,8 +76,23 @@@ public class LBCartridgeSubscription ex
      }
  
      @Override
 -    public CartridgeSubscriptionInfo registerSubscription(Properties 
properties) throws ADCException, UnregisteredCartridgeException {
 -        //TODO
 +    public void removeSubscription() throws ADCException, 
NotSubscribedException {
 +
 +        getLoadBalancerCategory().remove(getCluster().getClusterDomain(), 
getAlias());;
 +    }
 +
 +    public Repository manageRepository (String repoURL, String repoUserName, 
String repoUserPassword,
-                                         boolean privateRepo, String 
cartridgeAlias, CartridgeInfo cartridgeInfo,
-                                         String tenantDomain) {
++                                        boolean privateRepo) {
 +
 +        //no repository for data cartridge instances
          return null;
      }
 +
 +    public LoadBalancerCategory getLoadBalancerCategory() {
 +        return loadBalancerCategory;
 +    }
 +
 +    public void setLoadBalancerCategory(LoadBalancerCategory 
loadBalancerCategory) {
 +        this.loadBalancerCategory = loadBalancerCategory;
 +    }
  }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/09d0beff/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/PersistenceContext.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/PersistenceContext.java
index 0000000,0000000..472e3a3
new file mode 100644
--- /dev/null
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/PersistenceContext.java
@@@ -1,0 -1,0 +1,67 @@@
++/*
++ * 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.manager.subscription;
++
++import org.apache.commons.logging.Log;
++import org.apache.commons.logging.LogFactory;
++import org.apache.stratos.cloud.controller.pojo.Property;
++
++public class PersistenceContext {
++
++    private static Log log = LogFactory.getLog(PersistenceContext.class);
++
++    private Property persistanceRequiredProperty;
++    private Property sizeProperty;
++    private Property deleteOnTerminationProperty;
++
++    public PersistenceContext () {
++        persistanceRequiredProperty = new Property();
++        sizeProperty = new Property();
++        deleteOnTerminationProperty = new Property();
++    }
++
++
++    public Property getPersistanceRequiredProperty() {
++        return persistanceRequiredProperty;
++    }
++
++    public void setPersistanceRequiredProperty(String propertyName, String 
propertyValue) {
++        this.persistanceRequiredProperty.setName(propertyName);
++        this.persistanceRequiredProperty.setValue(propertyValue);
++    }
++
++    public Property getSizeProperty() {
++        return sizeProperty;
++    }
++
++    public void setSizeProperty(String propertyName, String propertyValue) {
++        this.sizeProperty.setName(propertyName);
++        this.sizeProperty.setValue(propertyValue);
++    }
++
++    public Property getDeleteOnTerminationProperty() {
++        return deleteOnTerminationProperty;
++    }
++
++    public void setDeleteOnTerminationProperty(String propertyName, String 
propertyValue) {
++        this.deleteOnTerminationProperty.setName(propertyName);
++        this.deleteOnTerminationProperty.setValue(propertyValue);
++    }
++}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/09d0beff/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/SubscriptionData.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/SubscriptionData.java
index a0801a3,94242c6..99237fa
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/SubscriptionData.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/SubscriptionData.java
@@@ -18,7 -18,7 +18,6 @@@
  
  package org.apache.stratos.manager.subscription;
  
- import org.apache.stratos.cloud.controller.pojo.PersistanceMapping;
 -import org.apache.stratos.cloud.controller.pojo.Persistence;
  import org.apache.stratos.cloud.controller.pojo.Property;
  
  /**
@@@ -41,8 -42,8 +40,7 @@@ public class SubscriptionData 
      private String repositoryPassword;
      private String lbClusterId;
      private Property[] properties;
--    private String dataCartridgeAlias;
-     private PersistanceMapping persistanceMapping;
 -    private String lbAlias;
++    private PersistenceContext persistanceCtxt;
  
      public String getCartridgeType() {
          return cartridgeType;
@@@ -156,15 -157,7 +154,11 @@@
          this.properties = properties;
      }
  
--    public void setDataCartridgeAlias(String dataCartridgeAlias) 
{this.dataCartridgeAlias = dataCartridgeAlias; }
- 
-     public String getDataCartridgeAlias() {return dataCartridgeAlias;}
- 
-     public PersistanceMapping getPersistanceMapping() {
-         return persistanceMapping;
++    public PersistenceContext getPersistanceContext() {
++        return persistanceCtxt;
 +    }
  
-     public void setPersistanceMapping(PersistanceMapping persistanceMapping) {
-         this.persistanceMapping = persistanceMapping;
 -    public String getDataCartridgeAlias() {return dataCartridgeAlias;}
++    public void setPersistanceCtxt(PersistenceContext persistanceCtxt) {
++        this.persistanceCtxt = persistanceCtxt;
 +    }
  }

Reply via email to