http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
index bec2641..b083a04 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
@@ -28,42 +28,110 @@ import org.jgroups.logging.Log;
 import org.jgroups.logging.LogFactory;
 
 import java.util.Collection;
-import java.util.Iterator;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 public class DataInsertionAndRetrievalManager {
 
     private static final Log log = 
LogFactory.getLog(DataInsertionAndRetrievalManager.class);
 
-    //locks
-    private static volatile ReentrantReadWriteLock lock = new 
ReentrantReadWriteLock(true);
-    private static volatile ReentrantReadWriteLock.WriteLock writeLock = 
lock.writeLock();
-
     // TODO: use a global object
     PersistenceManager persistenceManager = new 
RegistryBasedPersistenceManager();
 
-    public void putCartridgeSubscription (CartridgeSubscription 
cartridgeSubscription) {
+    public void cacheAndPersistSubcription (CartridgeSubscription 
cartridgeSubscription) throws PersistenceManagerException {
 
-        writeLock.lock();
+        // get the write lock
+        LookupDataHolder.getInstance().acquireWriteLock();
 
         try {
             // store in LookupDataHolder
-            LookupDataHolder.getInstance().put(cartridgeSubscription);
+            
LookupDataHolder.getInstance().putSubscription(cartridgeSubscription);
 
             try {
                 // store in Persistence Manager
                 
persistenceManager.persistCartridgeSubscription(cartridgeSubscription);
 
             } catch (PersistenceManagerException e) {
-                log.error("Error in persisting CartridgeSubscription in 
Persistence Manager", e);
+                String errorMsg = "Error in persisting CartridgeSubscription 
in Persistence Manager";
+                log.error(errorMsg, e);
+                throw e;
             }
 
         } finally {
-            writeLock.unlock();
+            // release the write lock
+            LookupDataHolder.getInstance().releaseWriteLock();
+        }
+    }
+
+    public void cachePersistedSubscriptions () throws 
PersistenceManagerException {
+
+        Collection<CartridgeSubscription> cartridgeSubscriptions;
+
+        // get the write lock
+        LookupDataHolder.getInstance().acquireWriteLock();
+
+        try {
+            try {
+                cartridgeSubscriptions = 
persistenceManager.getCartridgeSubscriptions();
+
+            } catch (PersistenceManagerException e) {
+                String errorMsg = "Error in retrieving CartridgeSubscriptions 
from Persistence Manager";
+                log.error(errorMsg, e);
+                throw e;
+            }
+
+            if(cartridgeSubscriptions != null || 
cartridgeSubscriptions.isEmpty()) {
+                if(log.isDebugEnabled()) {
+                    log.debug("No CartridgeSubscriptions found to add to the 
cache");
+                    return;
+                }
+            }
+            cacheSubscriptions(cartridgeSubscriptions);
+
+        } finally {
+            // release the write lock
+            LookupDataHolder.getInstance().releaseWriteLock();
         }
     }
 
-    public void persistAll (int tenantId) {
+    public void cachePersistedSubscriptions (int tenantId) throws 
PersistenceManagerException {
+
+        Collection<CartridgeSubscription> cartridgeSubscriptions;
+
+        // get the write lock
+        LookupDataHolder.getInstance().acquireWriteLock();
+
+        try {
+            try {
+                cartridgeSubscriptions = 
persistenceManager.getCartridgeSubscriptions(tenantId);
+
+            } catch (PersistenceManagerException e) {
+                String errorMsg = "Error in retrieving CartridgeSubscriptions 
from Persistence Manager";
+                log.error(errorMsg, e);
+                throw e;
+            }
+
+            if(cartridgeSubscriptions != null || 
cartridgeSubscriptions.isEmpty()) {
+                if(log.isDebugEnabled()) {
+                    log.debug("No CartridgeSubscriptions found to add to the 
cache");
+                    return;
+                }
+            }
+            cacheSubscriptions(cartridgeSubscriptions);
+
+        } finally {
+            // release the write lock
+            LookupDataHolder.getInstance().releaseWriteLock();
+        }
+    }
+
+    private void cacheSubscriptions (Collection<CartridgeSubscription> 
cartridgeSubscriptions) {
+
+        // cache all
+        for (CartridgeSubscription cartridgeSubscription : 
cartridgeSubscriptions) {
+            
LookupDataHolder.getInstance().putSubscription(cartridgeSubscription);
+        }
+    }
+
+    /*public void persistAll (int tenantId) {
 
         Collection<CartridgeSubscription> cartridgeSubscriptions = 
LookupDataHolder.getInstance().getSubscriptions(tenantId);
 
@@ -82,111 +150,149 @@ public class DataInsertionAndRetrievalManager {
         } finally {
             writeLock.unlock();
         }
-    }
+    }*/
 
     public CartridgeSubscription getCartridgeSubscription (int tenantId, 
String subscriptionAlias) {
 
-        CartridgeSubscription cartridgeSubscription = 
LookupDataHolder.getInstance().getSubscriptionForAlias(tenantId, 
subscriptionAlias);
-        if (cartridgeSubscription == null) {
-            // not available in the cache, look in the registry
-            if (log.isDebugEnabled()) {
-                log.debug("CartridgeSubscription for tenant " + tenantId + ", 
alias " + subscriptionAlias + " not available in memory");
-            }
+        // acquire read lock
+        LookupDataHolder.getInstance().acquireReadLock();
 
-            try {
-                cartridgeSubscription = 
persistenceManager.getCartridgeSubscription(tenantId, subscriptionAlias);
+        try {
+            CartridgeSubscription cartridgeSubscription = 
LookupDataHolder.getInstance().getSubscriptionForAlias(tenantId, 
subscriptionAlias);
 
-            } catch (PersistenceManagerException e) {
-                String errorMsg = "Error in accessing Persistence Manager";
-                log.error(errorMsg, e);
-                return null;
-            }
+            /*if (cartridgeSubscription == null) {
+                // not available in the cache, look in the registry
+                if (log.isDebugEnabled()) {
+                    log.debug("CartridgeSubscription for tenant " + tenantId + 
", alias " + subscriptionAlias + " not available in memory");
+                }
 
-            // add to the LookupDataHolder
-            LookupDataHolder.getInstance().put(cartridgeSubscription);
-        }
+                try {
+                    cartridgeSubscription = 
persistenceManager.getCartridgeSubscription(tenantId, subscriptionAlias);
+
+                } catch (PersistenceManagerException e) {
+                    String errorMsg = "Error in accessing Persistence Manager";
+                    log.error(errorMsg, e);
+                    return null;
+                }
+
+                // add to the LookupDataHolder
+                // 
LookupDataHolder.getInstance().putSubscription(cartridgeSubscription);
+            }*/
 
-        return cartridgeSubscription;
+            return cartridgeSubscription;
+
+        } finally {
+            // release read lock
+            LookupDataHolder.getInstance().releaseReadLock();
+        }
     }
 
     public CartridgeSubscription getCartridgeSubscription (String clusterId) {
 
-        CartridgeSubscription cartridgeSubscription = 
LookupDataHolder.getInstance().getSubscription(clusterId);
-        if (cartridgeSubscription == null) {
-            // not available in the cache, look in the registry
-            if (log.isDebugEnabled()) {
-                log.debug("CartridgeSubscription for cluster " + clusterId + " 
not available in memory");
-            }
+        // acquire read lock
+        LookupDataHolder.getInstance().acquireReadLock();
 
-            try {
-                cartridgeSubscription = 
persistenceManager.getCartridgeSubscription(clusterId);
+        try {
+            CartridgeSubscription cartridgeSubscription = 
LookupDataHolder.getInstance().getSubscription(clusterId);
+            /*if (cartridgeSubscription == null) {
+                // not available in the cache, look in the registry
+                if (log.isDebugEnabled()) {
+                    log.debug("CartridgeSubscription for cluster " + clusterId 
+ " not available in memory");
+                }
 
-            } catch (PersistenceManagerException e) {
-                String errorMsg = "Error in accessing Persistence Manager";
-                log.error(errorMsg, e);
-                return null;
-            }
+                try {
+                    cartridgeSubscription = 
persistenceManager.getCartridgeSubscription(clusterId);
 
-            // add to the LookupDataHolder
-            LookupDataHolder.getInstance().put(cartridgeSubscription);
-        }
+                } catch (PersistenceManagerException e) {
+                    String errorMsg = "Error in accessing Persistence Manager";
+                    log.error(errorMsg, e);
+                    return null;
+                }
+
+                // add to the LookupDataHolder
+                // 
LookupDataHolder.getInstance().putSubscription(cartridgeSubscription);
+            }*/
+
+            return cartridgeSubscription;
 
-        return cartridgeSubscription;
+        } finally {
+            // release read lock
+            LookupDataHolder.getInstance().releaseReadLock();
+        }
     }
 
     public Collection<CartridgeSubscription> getCartridgeSubscriptions (int 
tenantId) {
 
-        Collection<CartridgeSubscription> cartridgeSubscriptions = 
LookupDataHolder.getInstance().getSubscriptions(tenantId);
-        if (cartridgeSubscriptions == null) {
-            // not available in the cache, look in the registry
-            if (log.isDebugEnabled()) {
-                log.debug("CartridgeSubscriptions for tenant " + tenantId + " 
not available in memory");
-            }
+        // acquire read lock
+        LookupDataHolder.getInstance().acquireReadLock();
 
-            try {
-                cartridgeSubscriptions = 
persistenceManager.getCartridgeSubscriptions(tenantId);
+        try {
+            Collection<CartridgeSubscription> cartridgeSubscriptions = 
LookupDataHolder.getInstance().getSubscriptions(tenantId);
+            /*if (cartridgeSubscriptions == null) {
+                // not available in the cache, look in the registry
+                if (log.isDebugEnabled()) {
+                    log.debug("CartridgeSubscriptions for tenant " + tenantId 
+ " not available in memory");
+                }
 
-            } catch (PersistenceManagerException e) {
-                String errorMsg = "Error in accessing Persistence Manager";
-                log.error(errorMsg, e);
-                return null;
-            }
+                try {
+                    cartridgeSubscriptions = 
persistenceManager.getCartridgeSubscriptions(tenantId);
 
-            // add to the LookupDataHolder
-            Iterator<CartridgeSubscription> iterator = 
cartridgeSubscriptions.iterator();
-            while (iterator.hasNext()) {
-                LookupDataHolder.getInstance().put(iterator.next());
-            }
-        }
+                } catch (PersistenceManagerException e) {
+                    String errorMsg = "Error in accessing Persistence Manager";
+                    log.error(errorMsg, e);
+                    return null;
+                }
+
+                // add to the LookupDataHolder
+                //Iterator<CartridgeSubscription> iterator = 
cartridgeSubscriptions.iterator();
+                //while (iterator.hasNext()) {
+                //    
LookupDataHolder.getInstance().putSubscription(iterator.next());
+                //}
+            }*/
 
-        return cartridgeSubscriptions;
+            return cartridgeSubscriptions;
+
+        } finally {
+            // release read lock
+            LookupDataHolder.getInstance().releaseReadLock();
+        }
     }
 
     public Collection<CartridgeSubscription> getCartridgeSubscriptions (int 
tenantId, String cartridgeType) {
 
-        Collection<CartridgeSubscription> cartridgeSubscriptions = 
LookupDataHolder.getInstance().getSubscriptionForType(tenantId, cartridgeType);
-        if (cartridgeSubscriptions == null) {
-            // not available in the cache, look in the registry
-            if (log.isDebugEnabled()) {
-                log.debug("CartridgeSubscriptions for tenant " + tenantId + ", 
type " + cartridgeType + " not available in memory");
-            }
+        // acquire read lock
+        LookupDataHolder.getInstance().acquireReadLock();
 
-            try {
-                cartridgeSubscriptions = 
persistenceManager.getCartridgeSubscriptions(tenantId, cartridgeType);
+        try {
 
-            } catch (PersistenceManagerException e) {
-                String errorMsg = "Error in accessing Persistence Manager";
-                log.error(errorMsg, e);
-                return null;
-            }
+            Collection<CartridgeSubscription> cartridgeSubscriptions = 
LookupDataHolder.getInstance().getSubscriptionForType(tenantId, cartridgeType);
+            /*if (cartridgeSubscriptions == null) {
+                // not available in the cache, look in the registry
+                if (log.isDebugEnabled()) {
+                    log.debug("CartridgeSubscriptions for tenant " + tenantId 
+ ", type " + cartridgeType + " not available in memory");
+                }
 
-            // add to the LookupDataHolder
-            Iterator<CartridgeSubscription> iterator = 
cartridgeSubscriptions.iterator();
-            while (iterator.hasNext()) {
-                LookupDataHolder.getInstance().put(iterator.next());
-            }
-        }
+                try {
+                    cartridgeSubscriptions = 
persistenceManager.getCartridgeSubscriptions(tenantId, cartridgeType);
 
-        return cartridgeSubscriptions;
+                } catch (PersistenceManagerException e) {
+                    String errorMsg = "Error in accessing Persistence Manager";
+                    log.error(errorMsg, e);
+                    return null;
+                }
+
+                // add to the LookupDataHolder
+                // Iterator<CartridgeSubscription> iterator = 
cartridgeSubscriptions.iterator();
+                // while (iterator.hasNext()) {
+                //    
LookupDataHolder.getInstance().putSubscription(iterator.next());
+                //}
+            }*/
+
+            return cartridgeSubscriptions;
+
+        } finally {
+            // release read lock
+            LookupDataHolder.getInstance().releaseReadLock();
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
index 9f67b4a..741d306 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
@@ -23,7 +23,6 @@ import org.apache.axis2.AxisFault;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.adc.mgt.client.CloudControllerServiceClient;
-import org.apache.stratos.adc.mgt.custom.domain.RegistryManager;
 import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo;
 import org.apache.stratos.adc.mgt.dto.*;
 import org.apache.stratos.adc.mgt.exception.*;
@@ -37,10 +36,6 @@ import org.apache.stratos.adc.mgt.utils.PersistenceManager;
 import org.apache.stratos.adc.mgt.utils.PolicyHolder;
 import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService;
 import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-import org.apache.stratos.messaging.broker.publish.EventPublisher;
-import org.apache.stratos.messaging.event.tenant.TenantSubscribedEvent;
-import org.apache.stratos.messaging.event.tenant.TenantUnSubscribedEvent;
-import org.apache.stratos.messaging.util.Constants;
 import org.wso2.carbon.context.PrivilegedCarbonContext;
 import org.wso2.carbon.core.AbstractAdmin;
 import org.wso2.carbon.registry.core.exceptions.RegistryException;
@@ -60,7 +55,7 @@ import java.util.regex.Pattern;
 public class ApplicationManagementService extends AbstractAdmin {
 
     private static final Log log = 
LogFactory.getLog(ApplicationManagementService.class);
-    private RegistryManager registryManager = new RegistryManager();
+    //private RegistryManager registryManager = new RegistryManager();
     private CartridgeSubscriptionManager cartridgeSubsciptionManager = new 
CartridgeSubscriptionManager();
 
     /*
@@ -399,7 +394,7 @@ public class ApplicationManagementService extends 
AbstractAdmin {
 
         if(dataCartridgeAlias != null && !dataCartridgeAlias.trim().isEmpty()) 
{
 
-            dataCartridgeAlias = dataCartridgeAlias.trim();
+            /*dataCartridgeAlias = dataCartridgeAlias.trim();
 
             CartridgeSubscription connectingCartridgeSubscription = null;
             try {
@@ -425,7 +420,7 @@ public class ApplicationManagementService extends 
AbstractAdmin {
             } else {
                 log.error("Failed to connect. No cartridge subscription found 
for tenant " +
                         
ApplicationManagementUtil.getTenantId(configurationContext) + " with alias " + 
alias);
-            }
+            } */
         }
 
         return 
cartridgeSubsciptionManager.registerCartridgeSubscription(cartridgeSubscription);
@@ -551,7 +546,9 @@ public class ApplicationManagementService extends 
AbstractAdmin {
 
         try {
                actualHost = getActualHost(cartridgeAlias);
-            registryManager.addDomainMappingToRegistry(mappedDomain, 
actualHost);
+            
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //registryManager.addDomainMappingToRegistry(mappedDomain, 
actualHost);
+            
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
             log.info("Domain mapping is added for " + mappedDomain + " tenant: 
" + getTenantDomain());
             PersistenceManager.updateDomainMapping(
                     ApplicationManagementUtil.getTenantId(getConfigContext()), 
cartridgeAlias, mappedDomain);
@@ -596,7 +593,9 @@ public class ApplicationManagementService extends 
AbstractAdmin {
         
         try {
                actualHost = getActualHost(cartridgeAlias);
-            registryManager.removeDomainMappingFromRegistry(actualHost);
+            
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //registryManager.removeDomainMappingFromRegistry(actualHost);
+            
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
             log.info("Domain mapping is removed for " + actualHost + " tenant: 
" + getTenantDomain());
             
PersistenceManager.updateDomainMapping(ApplicationManagementUtil.getTenantId(getConfigContext()),
                     cartridgeAlias, null);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/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 90858fc..7a0c250 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
@@ -21,21 +21,16 @@ 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.custom.domain.RegistryManager;
 import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo;
 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.PayloadData;
 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.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;
 
@@ -57,7 +52,7 @@ public abstract class CartridgeSubscription implements 
Serializable {
     private CartridgeInfo cartridgeInfo;
     private PayloadData payloadData;
     private Cluster cluster;
-    //private String subscriptionStatus;
+    private String subscriptionStatus;
     //private String serviceStatus;
     private String mappedDomain;
     //private List<String> connectedSubscriptionAliases;
@@ -243,17 +238,20 @@ public abstract class CartridgeSubscription implements 
Serializable {
             log.error(errorMsg);
         }
 
-        try {
+        
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        /*try {
             PersistenceManager.updateSubscriptionState(subscriptionId, 
"UNSUBSCRIBED");
 
         } catch (Exception e) {
             String errorMsg = "Error in unscubscribing from cartridge, alias " 
+ alias + ", tenant " +
                     subscriber.getTenantDomain();
             throw new ADCException(errorMsg, e);
-        }
+        }*/
+        
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
         //TODO: FIXME: do we need this?
-        new DNSManager().removeSubDomain(getCluster().getHostName());
+        
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        /*new DNSManager().removeSubDomain(getCluster().getHostName());
 
         try {
             new 
RegistryManager().removeDomainMappingFromRegistry(getCluster().getHostName());
@@ -262,9 +260,10 @@ public abstract class CartridgeSubscription implements 
Serializable {
             String errorMsg = "Error in removing domain mapping, alias " + 
alias + ", tenant " +
                     subscriber.getTenantDomain();
             log.error(errorMsg, e);
-        }
+        }*/
+        
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-        TopologyManagementService topologyMgtService = 
DataHolder.getTopologyMgtService();
+        /*TopologyManagementService topologyMgtService = 
DataHolder.getTopologyMgtService();
         String[] ips = topologyMgtService.getActiveIPs(type, 
getCluster().getClusterDomain(), getCluster().getClusterSubDomain());
         try {
             PersistenceManager.updateInstanceState("INACTIVE", ips, 
getCluster().getClusterDomain(), getCluster().getClusterSubDomain(), type);
@@ -272,7 +271,7 @@ public abstract class CartridgeSubscription implements 
Serializable {
         } catch (Exception e) {
             String errorMsg = "Error in updating state to INACTIVE";
             log.error(errorMsg, e);
-        }
+        }*/
 
         //this.setSubscriptionStatus(CartridgeConstants.UNSUBSCRIBED);
     }
@@ -399,13 +398,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;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/cache/CartridgeInstanceCache.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/cache/CartridgeInstanceCache.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/cache/CartridgeInstanceCache.java
index 6b0cd82..d4db16f 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/cache/CartridgeInstanceCache.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/cache/CartridgeInstanceCache.java
@@ -57,7 +57,7 @@ public class CartridgeInstanceCache {
 
     public void addCartridgeInstances (int tenantId, 
List<CartridgeSubscription> cartridgeSubscriptions) {
 
-        //tenantIdToCartridgeInstance.put(tenantId, cartridgeSubscriptions);
+        //tenantIdToCartridgeInstance.putSubscription(tenantId, 
cartridgeSubscriptions);
         for(CartridgeSubscription cartridgeSubscription : 
cartridgeSubscriptions) {
             addCartridgeInstance(new CartridgeInstanceCacheKey(tenantId, 
cartridgeSubscription.getAlias()),
                     cartridgeSubscription);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/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 46cfd93..6849189 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,9 +25,9 @@ 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.retriever.DataInsertionAndRetrievalManager;
 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;
 
 
@@ -45,8 +45,12 @@ public class SubscriptionMultiTenantBehaviour extends 
SubscriptionTenancyBehavio
             // If the cartridge is multi-tenant. We should not let users 
createSubscription twice.
             boolean subscribed;
             try {
-                subscribed = 
PersistenceManager.isAlreadySubscribed(cartridgeSubscription.getType(),
-                        cartridgeSubscription.getSubscriber().getTenantId());
+                
/////////////////////////////////////////////////////////////////////////////////////////////////////////
+                //subscribed = 
PersistenceManager.isAlreadySubscribed(cartridgeSubscription.getType(),
+                //        cartridgeSubscription.getSubscriber().getTenantId());
+                
/////////////////////////////////////////////////////////////////////////////////////////////////////////
+                subscribed = 
hasAlreadySubscribed(cartridgeSubscription.getSubscriber().getTenantId(), 
cartridgeSubscription.getType());
+
             } catch (Exception e) {
                 String msg = "Error checking whether the cartridge type " + 
cartridgeSubscription.getType() +
                         " is already subscribed";
@@ -97,4 +101,10 @@ public class SubscriptionMultiTenantBehaviour extends 
SubscriptionTenancyBehavio
                 "unregister services");
     }
 
+    private static boolean hasAlreadySubscribed(int tenantId, String 
cartridgeType) {
+
+        DataInsertionAndRetrievalManager dataInsertionAndRetrievalManager = 
new DataInsertionAndRetrievalManager();
+        return ( 
dataInsertionAndRetrievalManager.getCartridgeSubscriptions(tenantId, 
cartridgeType) == null ||
+                 
dataInsertionAndRetrievalManager.getCartridgeSubscriptions(tenantId, 
cartridgeType).isEmpty() ) ? false : true;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/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
index b3486fb..d9f3477 100644
--- 
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
@@ -23,7 +23,11 @@ import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.adc.mgt.deploy.service.Service;
+import org.apache.stratos.adc.mgt.exception.ADCException;
+import org.apache.stratos.adc.mgt.exception.DuplicateCartridgeAliasException;
+import org.apache.stratos.adc.mgt.exception.InvalidCartridgeAliasException;
 import org.apache.stratos.adc.mgt.payload.BasicPayloadData;
+import org.apache.stratos.adc.mgt.retriever.DataInsertionAndRetrievalManager;
 import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
 import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 import org.apache.stratos.messaging.broker.publish.EventPublisher;
@@ -31,6 +35,8 @@ import 
org.apache.stratos.messaging.event.tenant.TenantSubscribedEvent;
 import org.apache.stratos.messaging.event.tenant.TenantUnSubscribedEvent;
 import org.apache.stratos.messaging.util.Constants;
 
+import java.util.regex.Pattern;
+
 public class CartridgeSubscriptionUtils {
 
     private static Log log = 
LogFactory.getLog(CartridgeSubscriptionUtils.class);
@@ -130,4 +136,37 @@ public class CartridgeSubscriptionUtils {
             }
         }
     }
+
+    public static void validateCartridgeAlias (int tenantId, String 
cartridgeType, String alias) throws InvalidCartridgeAliasException, 
DuplicateCartridgeAliasException, ADCException {
+
+        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, tenantId, 
cartridgeType, alias);
+        }
+
+        boolean isAliasTaken = false;
+        try {
+            isAliasTaken = isAliasTaken(tenantId, alias);
+        } 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 boolean isAliasTaken (int tenantId, String alias) {
+
+        DataInsertionAndRetrievalManager dataInsertionAndRetrievalManager = 
new DataInsertionAndRetrievalManager();
+        return 
(dataInsertionAndRetrievalManager.getCartridgeSubscription(tenantId, alias) == 
null) ? false : true;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
index 6004755..7e4664a 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
@@ -67,14 +67,14 @@ public class TopologyClusterInformationModel {
 
         try {
             //[Tenant Id + Subscription Alias] -> Cluster map
-            tenantIdAndAliasTopologyKeyToClusterMap.put(new 
TenantIdAndAliasTopologyKey(tenantId, subscriptionAlias), cluster);
+            tenantIdAndAliasTopologyKeyToClusterMap.putSubscription(new 
TenantIdAndAliasTopologyKey(tenantId, subscriptionAlias), cluster);
 
             //Tenant Id -> Cluster map
             clusters = tenantIdToClusterMap.get(tenantId);
             if(clusters == null) {
                 clusters = new ArrayList<Cluster>();
                 clusters.add(cluster);
-                tenantIdToClusterMap.put(tenantId, clusters);
+                tenantIdToClusterMap.putSubscription(tenantId, clusters);
             } else {
                 clusters.add(cluster);
             }
@@ -84,7 +84,7 @@ public class TopologyClusterInformationModel {
             if(clusters == null) {
                 clusters = new ArrayList<Cluster>();
                 clusters.add(cluster);
-                tenantIdAndTypeTopologyKeyToClusterMap.put(new 
TenantIdAndTypeTopologyKey(tenantId, cartridgeType), clusters);
+                tenantIdAndTypeTopologyKeyToClusterMap.putSubscription(new 
TenantIdAndTypeTopologyKey(tenantId, cartridgeType), clusters);
             } else {
                 clusters.add(cluster);
             }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
index 11024d6..5a2929c 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
@@ -21,9 +21,9 @@ package org.apache.stratos.adc.mgt.topology.receiver;
 
 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.retriever.DataInsertionAndRetrievalManager;
+import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
 import 
org.apache.stratos.adc.mgt.topology.model.TopologyClusterInformationModel;
-import org.apache.stratos.adc.mgt.utils.PersistenceManager;
 import org.apache.stratos.messaging.domain.topology.Cluster;
 import org.apache.stratos.messaging.domain.topology.Service;
 import org.apache.stratos.messaging.event.Event;
@@ -68,14 +68,12 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                         //iterate through all clusters
                         for (Cluster cluster : service.getClusters()) {
                             //get subscription details
-                            CartridgeSubscriptionInfo 
cartridgeSubscriptionInfo =
-                                    
getCartridgeSubscriptionInfo(cluster.getClusterId());
+                            CartridgeSubscription cartridgeSubscription = 
getCartridgeSubscription(cluster.getClusterId());
 
-                            if(cartridgeSubscriptionInfo != null) {
+                            if(cartridgeSubscription != null) {
                                 //add the information to Topology Cluster 
Info. model
-                                
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscriptionInfo.getTenantId(),
-                                        
cartridgeSubscriptionInfo.getCartridge(),
-                                        cartridgeSubscriptionInfo.getAlias(), 
cluster);
+                                
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                                        cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
                             }
                         }
                     }
@@ -94,26 +92,25 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
 
                 ClusterCreatedEvent clustercreatedEvent = 
(ClusterCreatedEvent) event;
                 //get subscription details
-                CartridgeSubscriptionInfo cartridgeSubscriptionInfo =
-                        
getCartridgeSubscriptionInfo(clustercreatedEvent.getClusterId());
+                CartridgeSubscription cartridgeSubscription =
+                        
getCartridgeSubscription(clustercreatedEvent.getClusterId());
 
-                if(cartridgeSubscriptionInfo != null) {
+                if(cartridgeSubscription != null) {
 
                     Cluster cluster;
                     //acquire read lock
                     TopologyManager.acquireReadLock();
                     try {
                         cluster = TopologyManager.getTopology().
-                                
getService(cartridgeSubscriptionInfo.getCartridge()).getCluster(cartridgeSubscriptionInfo.getClusterDomain());
+                                
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
 
                     //add the information to Topology Cluster Info. model
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscriptionInfo.getTenantId(),
-                            cartridgeSubscriptionInfo.getCartridge(),
-                            cartridgeSubscriptionInfo.getAlias(), cluster);
+                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                            cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
                 }
 
             }
@@ -128,14 +125,13 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
 
                 ClusterRemovedEvent clusterRemovedEvent = 
(ClusterRemovedEvent) event;
 
-                CartridgeSubscriptionInfo cartridgeSubscriptionInfo =
-                        
getCartridgeSubscriptionInfo(clusterRemovedEvent.getClusterId());
+                CartridgeSubscription cartridgeSubscription =
+                        
getCartridgeSubscription(clusterRemovedEvent.getClusterId());
 
-                if (cartridgeSubscriptionInfo != null) {
-                    //remove the information from Topology Cluster Info. model
-                    
TopologyClusterInformationModel.getInstance().removeCluster(cartridgeSubscriptionInfo.getTenantId(),
-                            cartridgeSubscriptionInfo.getCartridge(),
-                            cartridgeSubscriptionInfo.getAlias());
+                if(cartridgeSubscription != null) {
+                    //add the information to Topology Cluster Info. model
+                    
TopologyClusterInformationModel.getInstance().removeCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                            cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias());
                 }
             }
         });
@@ -150,24 +146,23 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                 MemberStartedEvent memberStartedEvent = (MemberStartedEvent) 
event;
 
                 String clusterDomain = memberStartedEvent.getClusterId();
-                CartridgeSubscriptionInfo cartridgeSubscriptionInfo = 
getCartridgeSubscriptionInfo(clusterDomain);
+                CartridgeSubscription cartridgeSubscription = 
getCartridgeSubscription(clusterDomain);
 
-                if(cartridgeSubscriptionInfo != null) {
+                if(cartridgeSubscription != null) {
 
                     Cluster cluster;
                     //acquire read lock
                     TopologyManager.acquireReadLock();
                     try {
                         cluster = TopologyManager.getTopology().
-                                
getService(cartridgeSubscriptionInfo.getCartridge()).getCluster(cartridgeSubscriptionInfo.getClusterDomain());
+                                
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
 
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscriptionInfo.getTenantId(),
-                            cartridgeSubscriptionInfo.getCartridge(),
-                            cartridgeSubscriptionInfo.getAlias(), cluster);
+                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                            cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
                 }
 
             }
@@ -183,24 +178,24 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                 MemberActivatedEvent memberActivatedEvent = 
(MemberActivatedEvent) event;
 
                 String clusterDomain = memberActivatedEvent.getClusterId();
-                CartridgeSubscriptionInfo cartridgeSubscriptionInfo = 
getCartridgeSubscriptionInfo(clusterDomain);
+                CartridgeSubscription cartridgeSubscription = 
getCartridgeSubscription(clusterDomain);
 
-                if(cartridgeSubscriptionInfo != null) {
+                if(cartridgeSubscription != null) {
 
                     Cluster cluster;
                     //acquire read lock
                     TopologyManager.acquireReadLock();
                     try {
                         cluster = TopologyManager.getTopology().
-                                
getService(cartridgeSubscriptionInfo.getCartridge()).getCluster(cartridgeSubscriptionInfo.getClusterDomain());
+                                
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
 
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscriptionInfo.getTenantId(),
-                            cartridgeSubscriptionInfo.getCartridge(),
-                            cartridgeSubscriptionInfo.getAlias(), cluster);
+                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                            cartridgeSubscription.getType(),
+                            cartridgeSubscription.getAlias(), cluster);
                 }
 
             }
@@ -216,24 +211,23 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                 MemberSuspendedEvent memberSuspendedEvent = 
(MemberSuspendedEvent) event;
 
                 String clusterDomain = memberSuspendedEvent.getClusterId();
-                CartridgeSubscriptionInfo cartridgeSubscriptionInfo = 
getCartridgeSubscriptionInfo(clusterDomain);
+                CartridgeSubscription cartridgeSubscription = 
getCartridgeSubscription(clusterDomain);
 
-                if(cartridgeSubscriptionInfo != null) {
+                if(cartridgeSubscription != null) {
 
                     Cluster cluster;
                     //acquire read lock
                     TopologyManager.acquireReadLock();
                     try {
                         cluster = TopologyManager.getTopology().
-                                
getService(cartridgeSubscriptionInfo.getCartridge()).getCluster(cartridgeSubscriptionInfo.getClusterDomain());
+                                
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
 
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscriptionInfo.getTenantId(),
-                            cartridgeSubscriptionInfo.getCartridge(),
-                            cartridgeSubscriptionInfo.getAlias(), cluster);
+                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                            cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
                 }
 
             }
@@ -249,24 +243,23 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                 MemberTerminatedEvent memberTerminatedEvent = 
(MemberTerminatedEvent) event;
 
                 String clusterDomain = memberTerminatedEvent.getClusterId();
-                CartridgeSubscriptionInfo cartridgeSubscriptionInfo = 
getCartridgeSubscriptionInfo(clusterDomain);
+                CartridgeSubscription cartridgeSubscription = 
getCartridgeSubscription(clusterDomain);
 
-                if(cartridgeSubscriptionInfo != null) {
+                if(cartridgeSubscription != null) {
 
                     Cluster cluster;
                     //acquire read lock
                     TopologyManager.acquireReadLock();
                     try {
                         cluster = TopologyManager.getTopology().
-                                
getService(cartridgeSubscriptionInfo.getCartridge()).getCluster(cartridgeSubscriptionInfo.getClusterDomain());
+                                
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
 
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscriptionInfo.getTenantId(),
-                            cartridgeSubscriptionInfo.getCartridge(),
-                            cartridgeSubscriptionInfo.getAlias(), cluster);
+                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                            cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
                 }
 
             }
@@ -275,10 +268,10 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
         return processorChain;
     }
 
-    private CartridgeSubscriptionInfo getCartridgeSubscriptionInfo (String 
clusterDomain) {
+    private CartridgeSubscription getCartridgeSubscription(String 
clusterDomain) {
 
         try {
-            return 
PersistenceManager.getSubscriptionFromClusterId(clusterDomain);
+            return new 
DataInsertionAndRetrievalManager().getCartridgeSubscription(clusterDomain);
 
         } catch (Exception e) {
             log.error("Error getting subscription information for cluster " + 
clusterDomain, e);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/Serializer.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/Serializer.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/Serializer.java
index 6eecd1f..f84990b 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/Serializer.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/Serializer.java
@@ -20,7 +20,7 @@
 package org.apache.stratos.adc.mgt.utils;
 
 import org.apache.stratos.adc.mgt.lookup.ClusterIdToSubscription;
-import org.apache.stratos.adc.mgt.lookup.SubscriptionContext;
+import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -31,18 +31,18 @@ public class Serializer {
 
     /**
      * Serialize a SubscriptionContext instance to a byte array.
-     * @param subscriptionContext
+     * @param cartridgeSubscription
      * @return byte[]
      * @throws java.io.IOException
      */
-    public static byte[] 
serializeSubscriptionSontextToByteArray(SubscriptionContext subscriptionContext)
+    public static byte[] 
serializeSubscriptionSontextToByteArray(CartridgeSubscription 
cartridgeSubscription)
             throws IOException {
 
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         ObjectOutput out = null;
         try {
             out = new ObjectOutputStream(bos);
-            out.writeObject(subscriptionContext);
+            out.writeObject(cartridgeSubscription);
 
             return bos.toByteArray();
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c36bd253/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
index acde631..3b77551 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
@@ -806,7 +806,7 @@ public class ServiceUtils {
 
         if (dataCartridgeAlias != null && 
!dataCartridgeAlias.trim().isEmpty()) {
 
-            dataCartridgeAlias = dataCartridgeAlias.trim();
+            /*dataCartridgeAlias = dataCartridgeAlias.trim();
 
             CartridgeSubscription connectingCartridgeSubscription = null;
             try {
@@ -833,7 +833,7 @@ public class ServiceUtils {
                 log.error("Failed to connect. No cartridge subscription found 
for tenant " +
                           
ApplicationManagementUtil.getTenantId(configurationContext) +
                           " with alias " + alias);
-            }
+            }*/
         }
         
         SubscriptionInfo registerCartridgeSubscription = 
cartridgeSubsciptionManager.registerCartridgeSubscription(cartridgeSubscription);

Reply via email to