You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2014/01/08 06:51:26 UTC

[15/46] renamed adc.mgt to manager

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/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
deleted file mode 100644
index abf19a3..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
+++ /dev/null
@@ -1,679 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.adc.mgt.service;
-
-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.dao.CartridgeSubscriptionInfo;
-import org.apache.stratos.adc.mgt.dto.*;
-import org.apache.stratos.adc.mgt.exception.*;
-import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
-import org.apache.stratos.adc.mgt.internal.DataHolder;
-import org.apache.stratos.adc.mgt.manager.CartridgeSubscriptionManager;
-import org.apache.stratos.adc.mgt.subscription.utils.CartridgeSubscriptionUtils;
-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.PolicyHolder;
-import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService;
-import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-import org.wso2.carbon.context.PrivilegedCarbonContext;
-import org.wso2.carbon.core.AbstractAdmin;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.utils.DataPaginator;
-import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-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 CartridgeSubscriptionManager cartridgeSubsciptionManager = new CartridgeSubscriptionManager();
-
-    /*
-     * Instantiate RepoNotificationService. Since this service is in the same 
-     * component (org.apache.stratos.adc.mgt), a new object is created.
-     * TODO: Is there a better way to get this service?
-     */
-    private RepoNotificationService repoNotificationService = new RepoNotificationService();
-
-	/**
-	 * Get Available Cartridges
-	 * 
-	 * @return Available Cartridges
-	 */
-	public Cartridge[] getAvailableCartridges(boolean multiTenant) throws ADCException {
-		List<Cartridge> cartridges = getAvailableCartridges(null, multiTenant);
-		// Following is very important when working with axis2
-		return cartridges.isEmpty() ? new Cartridge[0] : cartridges.toArray(new Cartridge[cartridges.size()]);
-	}
-
-	/**
-	 * Get Subscribed Cartridges
-	 * 
-	 * @return Subscribed Cartridges
-	 */
-	public Cartridge[] getSubscribedCartridges() throws ADCException {
-		checkSuperTenant();
-		List<Cartridge> cartridgeList = getSubscribedCartridges(null);
-		// Following is very important when working with axis2
-		return cartridgeList.isEmpty() ? new Cartridge[0] : cartridgeList.toArray(new Cartridge[cartridgeList.size()]);
-	}
-
-	/**
-	 * Get available cartridges
-	 */
-	public CartridgeWrapper getPagedAvailableCartridges(String cartridgeSearchString, int pageNumber, boolean multiTenant)
-			throws ADCException {
-		checkSuperTenant();
-		CartridgeWrapper cartridgeWrapper = new CartridgeWrapper();
-		List<Cartridge> cartridges = getAvailableCartridges(cartridgeSearchString, multiTenant);
-    	
-		// TODO Improve pagination
-		if (!cartridges.isEmpty()) {
-			// Paginate only if cartridges are there.
-			DataPaginator.doPaging(pageNumber, cartridges, cartridgeWrapper);
-		} else {
-			// Must set this value as axis2 stub client will return an array
-			// with length = 1 and null element if cartridges[] is null
-			cartridgeWrapper.set(cartridges);
-		}
-		return cartridgeWrapper;
-	}
-
-	private List<Cartridge> getAvailableCartridges(String cartridgeSearchString, Boolean multiTenant) throws ADCException {
-		List<Cartridge> cartridges = new ArrayList<Cartridge>();
-		
-		if (log.isDebugEnabled()) {
-			log.debug("Getting available cartridges. Search String: " + cartridgeSearchString + ", Multi-Tenant: " + multiTenant);
-		}
-		
-		boolean allowMultipleSubscription = new Boolean(
-				System.getProperty(CartridgeConstants.FEATURE_MULTI_TENANT_MULTIPLE_SUBSCRIPTION_ENABLED));
-
-		try {
-			Pattern searchPattern = getSearchStringPattern(cartridgeSearchString);
-
-			String[] availableCartridges = CloudControllerServiceClient.getServiceClient().getRegisteredCartridges();
-
-			if (availableCartridges != null) {
-				for (String cartridgeType : availableCartridges) {
-					CartridgeInfo cartridgeInfo = null;
-					try {
-						cartridgeInfo = CloudControllerServiceClient.getServiceClient().getCartridgeInfo(cartridgeType);
-					} catch (Exception e) {
-						if (log.isWarnEnabled()) {
-							log.warn("Error when calling getCartridgeInfo for " + cartridgeType + ", Error: "
-									+ e.getMessage());
-						}
-					}
-					if (cartridgeInfo == null) {
-						// This cannot happen. But continue
-						if (log.isDebugEnabled()) {
-							log.debug("Cartridge Info not found: " + cartridgeType);
-						}
-						continue;
-					}
-					
-					if (multiTenant != null && !multiTenant && cartridgeInfo.getMultiTenant()) {
-						// Need only Single-Tenant cartridges
-						continue;
-					} else if (multiTenant != null && multiTenant && !cartridgeInfo.getMultiTenant()) {
-						// Need only Multi-Tenant cartridges
-						continue;
-					}
-					
-					if (!cartridgeMatches(cartridgeInfo, searchPattern)) {
-						continue;
-					}
-					
-					Cartridge cartridge = new Cartridge();
-					cartridge.setCartridgeType(cartridgeType);
-					cartridge.setProvider(cartridgeInfo.getProvider());
-					cartridge.setDisplayName(cartridgeInfo.getDisplayName());
-					cartridge.setDescription(cartridgeInfo.getDescription());
-					cartridge.setVersion(cartridgeInfo.getVersion());
-					cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
-					//cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED);
-					cartridge.setCartridgeAlias("-");
-					//cartridge.setActiveInstances(0);
-					cartridges.add(cartridge);
-					
-					if (cartridgeInfo.getMultiTenant() && !allowMultipleSubscription) {
-						// If the cartridge is multi-tenant. We should not let users
-						// createSubscription twice.
-						if (PersistenceManager.isAlreadySubscribed(cartridgeType,
-								ApplicationManagementUtil.getTenantId(getConfigContext()))) {
-							if (log.isDebugEnabled()) {
-								log.debug("Already subscribed to " + cartridgeType
-										+ ". This multi-tenant cartridge will not be available to createSubscription");
-							}
-							//cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
-						}
-					}
-				}
-			} else {
-				if (log.isDebugEnabled()) {
-					log.debug("There are no available cartridges");
-				}
-			}
-		} catch (Exception e) {
-			String msg = "Error when getting available cartridges. " + e.getMessage();
-			log.error(msg, e);
-			throw new ADCException("An error occurred getting available cartridges ", e);
-		}
-
-		Collections.sort(cartridges);
-
-		if (log.isDebugEnabled()) {
-			log.debug("Returning available cartridges " + cartridges.size());
-		}
-
-		return cartridges;
-	}
-
-	/**
-	 * Get subscribed cartridges
-	 */
-	public CartridgeWrapper getPagedSubscribedCartridges(String cartridgeSearchString, int pageNumber)
-			throws ADCException {
-		checkSuperTenant();
-		CartridgeWrapper cartridgeWrapper = new CartridgeWrapper();
-		List<Cartridge> cartridges = getSubscribedCartridges(cartridgeSearchString);
-
-		// TODO Improve pagination
-		if (!cartridges.isEmpty()) {
-			// Paginate only if cartridges are there.
-			DataPaginator.doPaging(pageNumber, cartridges, cartridgeWrapper);
-		} else {
-			cartridgeWrapper.set(cartridges);
-		}
-		return cartridgeWrapper;
-	}
-
-	private List<Cartridge> getSubscribedCartridges(String cartridgeSearchString) throws ADCException {
-		List<Cartridge> cartridges = new ArrayList<Cartridge>();
-		
-		if (log.isDebugEnabled()) {
-			log.debug("Getting subscribed cartridges. Search String: " + cartridgeSearchString);
-		}
-
-		try {
-			Pattern searchPattern = getSearchStringPattern(cartridgeSearchString);
-
-			List<CartridgeSubscriptionInfo> subscriptionList = PersistenceManager
-					.retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(getConfigContext()));
-
-			if (subscriptionList != null && !subscriptionList.isEmpty()) {
-				for (CartridgeSubscriptionInfo subscription : subscriptionList) {
-					CartridgeInfo cartridgeInfo = null;
-					try {
-						cartridgeInfo = CloudControllerServiceClient.getServiceClient().getCartridgeInfo(
-								subscription.getCartridge());
-					} catch (Exception e) {
-						if (log.isWarnEnabled()) {
-							log.warn("Error when calling getCartridgeInfo for " + subscription.getCartridge()
-									+ ", Error: " + e.getMessage());
-						}
-					}
-					if (cartridgeInfo == null) {
-						// This cannot happen. But continue
-						if (log.isDebugEnabled()) {
-							log.debug("Cartridge Info not found: " + subscription.getCartridge());
-						}
-						continue;
-					}
-					if (!cartridgeMatches(cartridgeInfo, subscription, searchPattern)) {
-						continue;
-					}
-					TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
-					String[] ips = topologyMgtService.getActiveIPs(subscription.getCartridge(),
-							subscription.getClusterDomain(), subscription.getClusterSubdomain());
-					Cartridge cartridge = ApplicationManagementUtil.populateCartridgeInfo(cartridgeInfo, subscription, ips, getTenantDomain());
-					cartridges.add(cartridge);
-				}
-			} else {
-				if (log.isDebugEnabled()) {
-					log.debug("There are no subscribed cartridges");
-				}
-			}
-		} catch (Exception e) {
-			String msg = "Error when getting subscribed cartridges. " + e.getMessage();
-			log.error(msg, e);
-			throw new ADCException("An Error occurred when getting subscribed cartridges.", e);
-		}
-
-		Collections.sort(cartridges);
-
-		if (log.isDebugEnabled()) {
-			log.debug("Returning subscribed cartridges " + cartridges.size());
-		}
-
-		return cartridges;
-	}
-
-    private Pattern getSearchStringPattern(String searchString) {
-        if (log.isDebugEnabled()) {
-            log.debug("Creating search pattern for " + searchString);
-        }
-        if (searchString != null) {
-            // Copied from org.wso2.carbon.webapp.mgt.WebappAdmin.doesWebappSatisfySearchString(WebApplication, String)
-            String regex = searchString.toLowerCase().replace("..?", ".?").replace("..*", ".*").replaceAll("\\?", ".?")
-                    .replaceAll("\\*", ".*?");
-            if (log.isDebugEnabled()) {
-                log.debug("Created regex: " + regex + " for search string " + searchString);
-            }
-
-            Pattern pattern = Pattern.compile(regex);
-            return pattern;
-        }
-        return null;
-    }
-
-    // TODO: Improve search method
-    private boolean cartridgeMatches(CartridgeInfo cartridgeInfo, Pattern pattern) {
-        if (pattern != null) {
-            boolean matches = false;
-            if (cartridgeInfo.getDisplayName() != null) {
-                matches = pattern.matcher(cartridgeInfo.getDisplayName().toLowerCase()).find();
-            }
-            if (!matches && cartridgeInfo.getDescription() != null) {
-                matches = pattern.matcher(cartridgeInfo.getDescription().toLowerCase()).find();
-            }
-            return matches;
-        }
-        return true;
-    }
-
-    private boolean cartridgeMatches(CartridgeInfo cartridgeInfo, CartridgeSubscriptionInfo cartridgeSubscriptionInfo, Pattern pattern) {
-        if (pattern != null) {
-            boolean matches = false;
-            if (cartridgeInfo.getDisplayName() != null) {
-                matches = pattern.matcher(cartridgeInfo.getDisplayName().toLowerCase()).find();
-            }
-            if (!matches && cartridgeInfo.getDescription() != null) {
-                matches = pattern.matcher(cartridgeInfo.getDescription().toLowerCase()).find();
-            }
-            if (!matches && cartridgeSubscriptionInfo.getCartridge() != null) {
-                matches = pattern.matcher(cartridgeSubscriptionInfo.getCartridge().toLowerCase()).find();
-            }
-            if (!matches && cartridgeSubscriptionInfo.getAlias() != null) {
-                matches = pattern.matcher(cartridgeSubscriptionInfo.getAlias().toLowerCase()).find();
-            }
-            return matches;
-        }
-        return true;
-    }
-    
-    public Cartridge getCartridgeInfo(String alias) throws ADCException, NotSubscribedException {
-    	checkSuperTenant();
-    	return ApplicationManagementUtil.getCartridgeInfo(alias, getTenantDomain());
-    }
-
-    public String[] getSubscribedCartridgeAliases() throws AxisFault {
-        try {
-            List<CartridgeSubscriptionInfo> subscriptionList = PersistenceManager
-                    .retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(getConfigContext()));
-            List<String> subscribedAliases = new ArrayList<String>();
-            for (CartridgeSubscriptionInfo cartridgeSubscriptionInfo : subscriptionList) {
-
-                if(cartridgeSubscriptionInfo.getProvider().equalsIgnoreCase(CartridgeConstants.PROVIDER_NAME_WSO2) &&
-                        getCartridgeInfo(cartridgeSubscriptionInfo.getAlias()).isMultiTenant()) {
-
-                    subscribedAliases.add(cartridgeSubscriptionInfo.getCartridge());
-                } else {
-                    subscribedAliases.add(cartridgeSubscriptionInfo.getAlias());
-                }
-            }
-            if(subscribedAliases.size() == 0) {
-                return new String[]{""};
-            } else {
-                return subscribedAliases.toArray(new String[subscribedAliases.size()]);
-            }
-
-        } catch (Exception e) {
-            String msg = "Exception in getting subscribed cartridge aliases :" + e.getMessage();
-            log.error(msg, e);
-            throw new AxisFault("An error occurred while getting subscribed cartridge aliases", e);
-        }
-    }
-    
-	public PolicyDefinition[] getPolicyDefinitions() {
-		List<PolicyDefinition> policyDefinitions = PolicyHolder.getInstance().getPolicyDefinitions();
-		return policyDefinitions == null || policyDefinitions.isEmpty() ? new PolicyDefinition[0] : policyDefinitions
-				.toArray(new PolicyDefinition[policyDefinitions.size()]);
-	}
-
-	/**
-	 * Subscribe to a cartridge
-	 */
-	public SubscriptionInfo subscribe(String cartridgeType, String alias, String policy, String repoURL,
-			boolean privateRepo, String repoUsername, String repoPassword, String dataCartridgeType,
-			String dataCartridgeAlias) throws ADCException, PolicyException, UnregisteredCartridgeException,
-            InvalidCartridgeAliasException, DuplicateCartridgeAliasException, RepositoryRequiredException,
-            AlreadySubscribedException, RepositoryCredentialsRequiredException, InvalidRepositoryException,
-            RepositoryTransportException {
-
-		checkSuperTenant();
-
-		//return ApplicationManagementUtil.doSubscribe(cartridgeType, alias, policy, repoURL, privateRepo, repoUsername,
-		//		repoPassword, dataCartridgeType, dataCartridgeAlias, getUsername(),
-		//		ApplicationManagementUtil.getTenantId(getConfigContext()), getTenantDomain());
-
-        CartridgeSubscription cartridgeSubscription = cartridgeSubsciptionManager.subscribeToCartridge(cartridgeType,
-                alias.trim(), "economyPolicy", "economy-deployment", getTenantDomain(), ApplicationManagementUtil.getTenantId(configurationContext),
-                getUsername(), "git", repoURL, privateRepo, repoUsername, repoPassword);
-
-        if(dataCartridgeAlias != null && !dataCartridgeAlias.trim().isEmpty()) {
-
-            /*dataCartridgeAlias = dataCartridgeAlias.trim();
-
-            CartridgeSubscription connectingCartridgeSubscription = null;
-            try {
-                connectingCartridgeSubscription = cartridgeSubsciptionManager.getCartridgeSubscription(getTenantDomain(),
-                        dataCartridgeAlias);
-            } catch (NotSubscribedException e) {
-                log.error(e.getMessage(), e);
-            }
-            if (connectingCartridgeSubscription != null) {
-                // Publish tenant subscribed event
-                CartridgeSubscriptionUtils.publishTenantSubscribedEvent(getTenantId(), connectingCartridgeSubscription.getCartridgeInfo().getType());
-
-                try {
-                    cartridgeSubsciptionManager.connectCartridges(getTenantDomain(), cartridgeSubscription,
-                            connectingCartridgeSubscription.getAlias());
-
-                } catch (NotSubscribedException e) {
-                    log.error(e.getMessage(), e);
-
-                } catch (AxisFault axisFault) {
-                    log.error(axisFault.getMessage(), axisFault);
-                }
-            } else {
-                log.error("Failed to connect. No cartridge subscription found for tenant " +
-                        ApplicationManagementUtil.getTenantId(configurationContext) + " with alias " + alias);
-            } */
-        }
-
-        return cartridgeSubsciptionManager.registerCartridgeSubscription(cartridgeSubscription);
-
-	}
-
-    /**
-     * Unsubscribing the cartridge
-     *
-     * @param alias name of the cartridge to be unsubscribed
-     */
-    public void unsubscribe(String alias) throws ADCException, NotSubscribedException {
-
-        checkSuperTenant();
-
-        // Find subscription of alias
-        CartridgeSubscriptionInfo subscription;
-        String errorMessage = String.format("Tenant %s is not subscribed for %s", getTenantDomain(), alias);
-        try {
-            subscription = PersistenceManager.getSubscription(getTenantDomain(), alias);
-            if(subscription == null) {
-                throw new ADCException(errorMessage);
-            }
-        } catch (Exception e) {
-            throw new ADCException(errorMessage);
-        }
-
-        // Un-subscribe from cartridge
-        cartridgeSubsciptionManager.unsubscribeFromCartridge(getTenantDomain(), alias);
-
-        // Publish tenant un-subscribed event
-        String serviceName = subscription.getCartridge();
-        CartridgeSubscriptionUtils.publishTenantUnSubscribedEvent(getTenantId(), serviceName);
-
-
-        /*CartridgeSubscriptionInfo subscription = null;
-        
-        try {
-			subscription = PersistenceManager.getSubscription(getTenantDomain(), alias);
-		} catch (Exception e) {
-			String msg = "Failed to get subscription for " + getTenantDomain() + " and alias " + alias;
-            log.error(msg, e);
-			throw new ADCException(msg, e);
-		}
-
-        if (subscription == null) {
-            String msg = "Tenant " + getTenantDomain() + " is not subscribed for " + alias;
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + alias, alias);
-        }
-        
-        try {
-            String clusterDomain = subscription.getClusterDomain();
-            String clusterSubDomain = subscription.getClusterSubdomain();
-
-            if (log.isDebugEnabled()) {
-                log.debug("Finding cartridge information for " + subscription.getCartridge());
-            }
-            CartridgeInfo cartridgeInfo = CloudControllerServiceClient.getServiceClient().getCartridgeInfo(subscription.getCartridge());
-            if (log.isDebugEnabled()) {
-                log.debug("Found " + cartridgeInfo.getDisplayName() + " for " + subscription.getCartridge());
-            }
-            if (!cartridgeInfo.getMultiTenant()) {
-                log.info("Terminating all instances of " + clusterDomain + " " + clusterSubDomain);
-                CloudControllerServiceClient.getServiceClient().terminateAllInstances(clusterDomain, clusterSubDomain);
-                log.info("All instances terminated.");
-                log.info("Unregistering services...");
-                CloudControllerServiceClient.getServiceClient().unregisterService(clusterDomain, clusterSubDomain);
-                log.info("Successfully terminated instances ..");
-            } else {
-                if (log.isInfoEnabled()) {
-                    log.info("Cartridge "
-                            + subscription.getCartridge()
-                            + " is a multi-tenant cartridge and therefore will not terminate all instances and unregister services");
-                }
-            }
-
-            new RepositoryFactory().destroyRepository(alias, getTenantDomain(), getUsername());
-            log.info("Repo is destroyed successfully.. ");
-
-            PersistenceManager.updateSubscriptionState(subscription.getSubscriptionId(), "UNSUBSCRIBED");
-            new DNSManager().removeSubDomain(subscription.getHostName());
-            registryManager.removeDomainMappingFromRegistry(subscription.getHostName());
-            TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
-			
-            String[] ips = topologyMgtService.getActiveIPs(subscription.getCartridge(),
-					subscription.getClusterDomain(), subscription.getClusterSubdomain());
-            PersistenceManager.updateInstanceState("INACTIVE", ips, subscription.getClusterDomain(), subscription.getClusterSubdomain(), subscription.getCartridge());
-
-        } catch (ADCException e) {
-        	log.error(e.getMessage(), e);
-        	throw e;
-        } catch (Exception e1) {
-            String msg1 = "Exception occurred :" + e1.getMessage();
-            log.error(msg1);
-            throw new ADCException("Unsubscribe failed for cartridge " + alias, e1);
-        }*/
-    }
-
-
-    public String addDomainMapping(String mappedDomain, String cartridgeAlias) throws ADCException, DomainMappingExistsException, NotSubscribedException {
-    	checkSuperTenant();
-    	// TODO Following was in CLI. Fix this
-		//		if (domain.indexOf('.') == -1) {
-		//			System.out.println("\nOwn domain should include a '.' ");
-		//		}
-
-        CartridgeSubscriptionInfo subscription = null;
-        String actualHost = null;
-        
-        try {
-			subscription = PersistenceManager.getSubscription(getTenantDomain(), cartridgeAlias);
-		} catch (Exception e) {
-			String msg = "Failed to get subscription for " + getTenantDomain() + " and alias " + cartridgeAlias;
-            log.error(msg, e);
-			throw new ADCException(msg, e);
-		}
-        if (subscription == null) {
-        	String msg = "Tenant " + getTenantDomain() + " is not subscribed for " + cartridgeAlias;
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + cartridgeAlias, cartridgeAlias);
-        }
-
-        try {
-        	actualHost = getActualHost(cartridgeAlias);
-            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            //registryManager.addDomainMappingToRegistry(mappedDomain, actualHost);
-            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            log.info("Domain mapping is added for " + mappedDomain + " tenant: " + getTenantDomain());
-            PersistenceManager.updateDomainMapping(
-                    ApplicationManagementUtil.getTenantId(getConfigContext()), cartridgeAlias, mappedDomain);
-        } catch (RegistryException e) {
-            String msg = "Unable to add the mapping due to registry transaction error";
-            log.error(msg, e);
-            throw new ADCException("Unable to add the mapping due to internal error!", e);
-        } catch (DomainMappingExistsException e) {
-            String msg = "Domain mapping already exists.";
-            log.error(msg, e);
-            throw e;
-        } catch (Exception e) {
-            String msg = "Error occurred. Reason : " + e.getMessage();
-            log.error(msg, e);
-            throw new ADCException(msg, e);
-        }
-        return actualHost;
-    }
-
-	private String getActualHost(String cartridgeName) throws Exception {
-		return PersistenceManager.getHostNameForCartridgeName(
-				ApplicationManagementUtil.getTenantId(getConfigContext()), cartridgeName);
-	}
-
-    public void removeDomainMapping(String cartridgeAlias) throws ADCException, NotSubscribedException {
-    	checkSuperTenant();
-        CartridgeSubscriptionInfo subscription = null;
-        String actualHost = null;
-        
-        try {
-			subscription = PersistenceManager.getSubscription(getTenantDomain(), cartridgeAlias);
-		} catch (Exception e) {
-			String msg = "Failed to get subscription for " + getTenantDomain() + " and alias " + cartridgeAlias;
-            log.error(msg, e);
-			throw new ADCException(msg, e);
-		}
-        if (subscription == null) {
-        	String msg = "Tenant " + getTenantDomain() + " is not subscribed for " + cartridgeAlias;
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + cartridgeAlias, cartridgeAlias);
-        }
-        
-        try {
-        	actualHost = getActualHost(cartridgeAlias);
-            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            //registryManager.removeDomainMappingFromRegistry(actualHost);
-            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            log.info("Domain mapping is removed for " + actualHost + " tenant: " + getTenantDomain());
-            PersistenceManager.updateDomainMapping(ApplicationManagementUtil.getTenantId(getConfigContext()),
-                    cartridgeAlias, null);
-        } catch (RegistryException e) {
-            String msg = "Unable to remove the mapping due to registry transaction error";
-            log.error(msg, e);
-            throw new ADCException("Unable to remove the mapping due to internal error!", e);
-        } catch (Exception e) {
-            String msg = "Error occurred. Reason : " + e.getMessage();
-            log.error(msg, e);
-            throw new ADCException(msg, e);
-        }
-    }
-
-	public void synchronizeRepository(String cartridgeAlias) throws ADCException, NotSubscribedException {
-		checkSuperTenant();
-        CartridgeSubscriptionInfo subscription = null;
-        
-        // Validating subscription
-        try {
-			subscription = PersistenceManager.getSubscription(getTenantDomain(), cartridgeAlias);
-		} catch (Exception e) {
-			String msg = "Failed to get subscription for " + getTenantDomain() + " and alias " + cartridgeAlias;
-            log.error(msg, e);
-			throw new ADCException(msg, e);
-		}
-        if (subscription == null) {
-        	String msg = "Tenant " + getTenantDomain() + " is not subscribed for " + cartridgeAlias;
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + cartridgeAlias, cartridgeAlias);
-        }
-		
-		try {
-			repoNotificationService.notifyRepoUpdate(getTenantDomain(), cartridgeAlias);
-		} catch (Exception e) {
-			throw new ADCException(e.getMessage() != null ? e.getMessage() : "Failed to synchronize repository", e);
-		}
-	}
-
-	public String getTenantDomain() {
-        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
-        return carbonContext.getTenantDomain();
-	}
-
-    public int getTenantId() {
-        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
-        return carbonContext.getTenantId();
-    }
-    
-	/**
-	 * Allow to check whether features are enabled in the back-end
-	 * 
-	 * @param key
-	 *            The propery key
-	 * @return {@code true} if feature is enabled
-	 */
-	public boolean isFeatureEnabled(String key) {
-		if (key != null && key.startsWith("feature.")) {
-			return new Boolean(System.getProperty(key));
-		}
-		return false;
-	}
-
-	
-	public RepositoryInformation testRepositoryConnection(String repoURL, String repoUsername, String repoPassword, boolean privateRepo)
-			throws RepositoryRequiredException, ADCException, RepositoryCredentialsRequiredException,
-			InvalidRepositoryException, RepositoryTransportException {
-		return ApplicationManagementUtil.validateRepository(repoURL, repoUsername, repoPassword, privateRepo, true);
-	}
-	
-	// TODO Remove following when we support cartridge subscription for Super-tenant
-	private void checkSuperTenant() throws ADCException {
-		if (log.isDebugEnabled()) {
-			log.debug("Checking whether super tenant accesses the service methods. Tenant ID: "
-					+ ApplicationManagementUtil.getTenantId(getConfigContext()) + ", Tenant Domain: " + getTenantDomain());
-		}
-		if (MultitenantConstants.SUPER_TENANT_ID == ApplicationManagementUtil.getTenantId(getConfigContext())) {
-			throw new ADCException("Super Tenant is not allowed to complete requested operation");
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.java
deleted file mode 100644
index 3425c42..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.adc.mgt.service;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.adc.mgt.utils.PersistenceManager;
-
-public class InstanceInformationManagementService {
-
-	
-    private static final Log log = LogFactory.getLog(InstanceInformationManagementService.class);
-
-    /**
-    * Everytime an subscription is started up, this operation is invoked
-    *            (by the AgentService)
-    * @param instanceIp
-    * @param tenantId
-    * @param clusterDomain
-    * @param clusterSubDomain
-    * @param cartridge
-    * @param state
-    *
-    */
-    public void updateInstanceState(String instanceIp,
-                                  int tenantId,
-                                  String clusterDomain,
-                                  String clusterSubDomain,
-                                  String cartridge,
-                                  String state) {
-
-      log.info("Message receieved in Instance Info Service.." + instanceIp + tenantId + clusterDomain + clusterSubDomain
-               + cartridge + state);
-
-      try {
-        PersistenceManager.persistCartridgeInstanceInfo(instanceIp, clusterDomain, clusterSubDomain, cartridge, state);
-    } catch (Exception e) {
-       log.error("Exception is occurred in updating subscription state. Reason, " + e.getMessage());
-    }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepoNotificationService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepoNotificationService.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepoNotificationService.java
deleted file mode 100644
index dfcbc56..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepoNotificationService.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.adc.mgt.service;
-
-import java.util.List;
-import java.util.UUID;
-
-import org.apache.axis2.clustering.ClusteringAgent;
-import org.apache.axis2.clustering.ClusteringFault;
-import org.apache.axis2.clustering.management.GroupManagementAgent;
-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.internal.DataHolder;
-import org.apache.stratos.adc.mgt.publisher.ArtifactUpdatePublisher;
-import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
-import org.apache.stratos.adc.mgt.utils.PersistenceManager;
-import org.wso2.carbon.core.deployment.SynchronizeGitRepositoryRequest;
-
-
-public class RepoNotificationService {
-
-	private static final Log log = LogFactory.getLog(RepoNotificationService.class);
-	
-
-	public void notifyRepoUpdate(String tenantDomain, String cartridgeAlias) throws Exception {
-		// FIXME Throwing generic Exception is wrong
-		log.info("Updating repository of tenant : " + tenantDomain + " , cartridge: " +
-				cartridgeAlias);
-
-		CartridgeSubscriptionInfo subscription = null;
-		try {
-			subscription = PersistenceManager.getSubscription(tenantDomain, cartridgeAlias);
-		} catch (Exception e) {
-			String msg = "Failed to find subscription for " + cartridgeAlias + ". "
-					+ (e.getMessage() != null ? e.getMessage() : "");
-			log.error(msg, e);
-			throw new Exception(msg, e);
-		}
-		
-		if (subscription == null) {
-			String msg = "Tenant " + tenantDomain + " is not subscribed for " + cartridgeAlias;
-			log.error(msg);
-			throw new Exception("You have not subscribed for " + cartridgeAlias);
-		}
-		
-		try {
-			handleRepoSynch(subscription);
-		} catch (Exception e) {
-			String msg = "Failed to synchronize the repository for " + cartridgeAlias + ". "
-					+ (e.getMessage() != null ? e.getMessage() : "");
-			log.error(msg, e);
-			throw new Exception(msg, e);
-		}
-		
-	}
-
-	public void synchronize(String repositoryURL) throws Exception {
-
-		log.info(" repository URL received : " + repositoryURL);
-		List<CartridgeSubscriptionInfo> subscription = PersistenceManager.getSubscription(repositoryURL);
-		for (CartridgeSubscriptionInfo cartridgeSubscriptionInfo : subscription) {
-			handleRepoSynch(cartridgeSubscriptionInfo);
-        }
-	}
-
-	private void handleRepoSynch(CartridgeSubscriptionInfo subscription) throws Exception {
-		if (subscription == null) {
-			throw new Exception("Cannot synchronize repository. subscription is null");
-		}
-
-		if (CartridgeConstants.PROVIDER_NAME_WSO2.equals(subscription.getProvider())) {
-			createAndSendClusterMessage(subscription.getTenantId(), subscription.getTenantDomain(),
-			                            UUID.randomUUID(), subscription.getClusterDomain(),
-			                            subscription.getClusterSubdomain());
-			
-		} else {						
-			new ArtifactUpdatePublisher(subscription.getRepository(),
-					subscription.getClusterDomain(),
-					String.valueOf(subscription.getTenantId())).publish();;
-		}
-	}
-
-	private void createAndSendClusterMessage(int tenantId, String tenantDomain, UUID uuid,
-	                                         String clusterDomain, String clusterSubdomain) {
-
-		SynchronizeGitRepositoryRequest request =
-		                                          new SynchronizeGitRepositoryRequest(tenantId,
-		                                                                              tenantDomain,
-		                                                                              uuid);
-
-		ClusteringAgent clusteringAgent =
-		                                  DataHolder.getServerConfigContext()
-		                                            .getAxisConfiguration().getClusteringAgent();
-		GroupManagementAgent groupMgtAgent =
-		                                     clusteringAgent.getGroupManagementAgent(clusterDomain,
-		                                                                             clusterSubdomain);
-
-		try {
-			log.info("Sending Request to.. " + clusterDomain + " : " + clusterSubdomain);
-			groupMgtAgent.send(request);
-			
-		} catch (ClusteringFault e) {
-			e.printStackTrace();
-		}
-		 
-
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.java
deleted file mode 100644
index 53a6f6b..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * 
- */
-package org.apache.stratos.adc.mgt.service;
-/*
- *
- * 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.
- *
-*/
-
-
-import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-
-/**
- *
- */
-public class RepositoryInfoBean {
-
-	private String repoURL;
-	private String cartridgeAlias;
-	private String tenantDomain;
-	private String userName;
-	private String password;
-	private String[] dirArray;
-	private CartridgeInfo cartridgeInfo;	
-	
-	
-	public RepositoryInfoBean(String repoURL, String cartridgeAlias, String tenantDomain,
-                              String userName, String password, String[] dirArray, CartridgeInfo cartridgeInfo) {
-	    this.repoURL = repoURL;
-	    this.cartridgeAlias = cartridgeAlias;
-	    this.tenantDomain = tenantDomain;
-	    this.userName = userName;
-	    this.setPassword(password);
-	    this.dirArray = dirArray;
-	    this.cartridgeInfo = cartridgeInfo;
-    }
-	public String getRepoURL() {
-    	return repoURL;
-    }
-	public void setRepoURL(String repoURL) {
-    	this.repoURL = repoURL;
-    }
-	public String getCartridgeAlias() {
-    	return cartridgeAlias;
-    }
-	public void setCartridgeAlias(String cartridgeAlias) {
-    	this.cartridgeAlias = cartridgeAlias;
-    }
-	public String getTenantDomain() {
-    	return tenantDomain;
-    }
-	public void setTenantDomain(String tenantDomain) {
-    	this.tenantDomain = tenantDomain;
-    }
-	public String getUserName() {
-    	return userName;
-    }
-	public void setUserName(String userName) {
-    	this.userName = userName;
-    }
-	public String[] getDirArray() {
-    	return dirArray;
-    }
-	public void setDirArray(String[] dirArray) {
-    	this.dirArray = dirArray;
-    }
-	public CartridgeInfo getCartridgeInfo() {
-    	return cartridgeInfo;
-    }
-	public void setCartridgeInfo(CartridgeInfo cartridgeInfo) {
-    	this.cartridgeInfo = cartridgeInfo;
-    }
-    public String getPassword() {
-        return password;
-    }
-    public void setPassword(String password) {
-        this.password = password;
-    }
-	
-	
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscriber/Subscriber.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscriber/Subscriber.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscriber/Subscriber.java
deleted file mode 100644
index 09e4cad..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscriber/Subscriber.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.adc.mgt.subscriber;
-
-import java.io.Serializable;
-
-public class Subscriber implements Serializable {
-
-    private static final long serialVersionUID = 6429685206817913437L;
-    private String adminUserName;
-    private int tenantId;
-    private String tenantDomain;
-
-    public Subscriber (String adminUserName, int tenantId, String tenantDomain) {
-
-        this.adminUserName = adminUserName;
-        this.tenantId = tenantId;
-        this.tenantDomain = tenantDomain;
-    }
-
-    public String getAdminUserName() {
-        return adminUserName;
-    }
-
-    public void setAdminUserName(String adminUserName) {
-        this.adminUserName = adminUserName;
-    }
-
-    public int getTenantId() {
-        return tenantId;
-    }
-
-    public void setTenantId(int tenantId) {
-        this.tenantId = tenantId;
-    }
-
-    public String getTenantDomain() {
-        return tenantDomain;
-    }
-
-    public void setTenantDomain(String tenantDomain) {
-        this.tenantDomain = tenantDomain;
-    }
-
-    @Override
-    public String toString() {
-        return "Subscriber [adminUserName=" + adminUserName + ", tenantId=" + tenantId +
-               ", tenantDomain=" + tenantDomain + "]";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
deleted file mode 100644
index 8e7d245..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.adc.mgt.subscription;
-
-import org.apache.stratos.adc.mgt.repository.Repository;
-import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionTenancyBehaviour;
-import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-
-public class ApplicationCartridgeSubscription extends CartridgeSubscription {
-
-
-    private static final long serialVersionUID = 3969055979835359336L;
-
-    /**
-     * Constructor
-     *
-     * @param cartridgeInfo CartridgeInfo instance
-     * @param subscriptionTenancyBehaviour SubscriptionTenancyBehaviour instance
-     */
-    public ApplicationCartridgeSubscription(CartridgeInfo cartridgeInfo, SubscriptionTenancyBehaviour
-            subscriptionTenancyBehaviour) {
-        super(cartridgeInfo, subscriptionTenancyBehaviour);
-    }
-
-
-    public Repository manageRepository (String repoURL, String repoUserName, String repoUserPassword,
-                                        boolean privateRepo, String cartridgeAlias, CartridgeInfo cartridgeInfo,
-                                        String tenantDomain) {
-
-        //no repository for application cartridge instances
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/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
deleted file mode 100644
index 7a0c250..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
+++ /dev/null
@@ -1,467 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.adc.mgt.subscription;
-
-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.dao.Cluster;
-import org.apache.stratos.adc.mgt.exception.*;
-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.RepositoryFactory;
-import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-import org.apache.stratos.cloud.controller.pojo.Properties;
-
-import java.io.Serializable;
-import java.util.Map;
-
-public abstract class CartridgeSubscription implements Serializable {
-
-
-    private static final long serialVersionUID = -5197430500059231924L;
-    private static Log log = LogFactory.getLog(CartridgeSubscription.class);
-    private int subscriptionId;
-    private String type;
-    private String alias;
-    private String autoscalingPolicyName;
-    private String deploymentPolicyName;
-    private Subscriber subscriber;
-    private Repository repository;
-    private CartridgeInfo cartridgeInfo;
-    private PayloadData payloadData;
-    private Cluster cluster;
-    private String subscriptionStatus;
-    //private String serviceStatus;
-    private String mappedDomain;
-    //private List<String> connectedSubscriptionAliases;
-    private String subscriptionKey;
-    private SubscriptionTenancyBehaviour subscriptionTenancyBehaviour;
-
-    
-    /**
-     * Constructor
-     *
-     * @param cartridgeInfo CartridgeInfo instance
-     * @param subscriptionTenancyBehaviour SubscriptionTenancyBehaviour instance
-     */
-    public CartridgeSubscription(CartridgeInfo cartridgeInfo, SubscriptionTenancyBehaviour subscriptionTenancyBehaviour) {
-
-        this.setCartridgeInfo(cartridgeInfo);
-        this.setType(cartridgeInfo.getType());
-        this.setCluster(new Cluster());
-        getCluster().setClusterDomain("");
-        getCluster().setClusterSubDomain(CartridgeConstants.DEFAULT_SUBDOMAIN);
-        getCluster().setMgtClusterDomain("");
-        getCluster().setMgtClusterSubDomain(CartridgeConstants.DEFAULT_MGT_SUBDOMAIN);
-        getCluster().setHostName(cartridgeInfo.getHostName());
-        //this.setSubscriptionStatus(CartridgeConstants.SUBSCRIBED);
-        //this.connectedSubscriptionAliases = new ArrayList<String>();
-        this.setSubscriptionTenancyBehaviour(subscriptionTenancyBehaviour);
-    }
-
-    /**
-     * Subscribes to this cartridge subscription
-     *
-     * @param subscriber Subscriber subscription
-     * @param alias Alias of the cartridge subscription
-     * @param autoscalingPolicy Auto scaling policy
-     * @param deploymentPolicyName Deployment policy
-     * @param repository Relevenat Repository subscription
-     *
-     * @throws org.apache.stratos.adc.mgt.exception.ADCException
-     * @throws org.apache.stratos.adc.mgt.exception.PolicyException
-     * @throws org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException
-     * @throws org.apache.stratos.adc.mgt.exception.InvalidCartridgeAliasException
-     * @throws org.apache.stratos.adc.mgt.exception.DuplicateCartridgeAliasException
-     * @throws org.apache.stratos.adc.mgt.exception.RepositoryRequiredException
-     * @throws org.apache.stratos.adc.mgt.exception.AlreadySubscribedException
-     * @throws org.apache.stratos.adc.mgt.exception.RepositoryCredentialsRequiredException
-     * @throws org.apache.stratos.adc.mgt.exception.InvalidRepositoryException
-     * @throws org.apache.stratos.adc.mgt.exception.RepositoryTransportException
-     */
-    public void createSubscription (Subscriber subscriber, String alias, String autoscalingPolicy,
-                                    String deploymentPolicyName, Repository repository)
-            throws ADCException, PolicyException, UnregisteredCartridgeException, InvalidCartridgeAliasException,
-            DuplicateCartridgeAliasException, RepositoryRequiredException, AlreadySubscribedException,
-            RepositoryCredentialsRequiredException, InvalidRepositoryException, RepositoryTransportException {
-
-        setSubscriber(subscriber);
-        setAlias(alias);
-        setAutoscalingPolicyName(autoscalingPolicy);
-        setDeploymentPolicyName(deploymentPolicyName);
-        setRepository(repository);
-        getSubscriptionTenancyBehaviour().createSubscription(this);
-    }
-
-    /**
-     * Unsubscribe from this cartridge subscription
-     *
-     * @throws ADCException
-     * @throws NotSubscribedException
-     */
-    public void removeSubscription() throws ADCException, NotSubscribedException {
-
-        getSubscriptionTenancyBehaviour().removeSubscription(this);
-        cleanupSubscription();
-    }
-
-    /**
-     * Registers the subscription
-     *
-     * @param properties Any additional properties needed
-     *
-     * @return CartridgeSubscriptionInfo subscription populated with relevant data
-     * @throws ADCException
-     * @throws UnregisteredCartridgeException
-     */
-    public CartridgeSubscriptionInfo registerSubscription(Properties properties)
-            throws ADCException, UnregisteredCartridgeException {
-
-        Properties props = new Properties();
-        props.setProperties(getCartridgeInfo().getProperties());
-
-        getSubscriptionTenancyBehaviour().registerSubscription(this, props);
-
-        return ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), getAutoscalingPolicyName(),
-                getType(), getAlias(), getSubscriber().getTenantId(), getSubscriber().getTenantDomain(),
-                getRepository(), getCluster().getHostName(), getCluster().getClusterDomain(), getCluster().getClusterSubDomain(),
-                getCluster().getMgtClusterDomain(), getCluster().getMgtClusterSubDomain(), null, "PENDING", getSubscriptionKey());
-    }
-
-    /**
-     * Connect cartridges
-     *
-     * @param connectingCartridgeAlias Alias of connecting cartridge
-     */
-    public void connect (String connectingCartridgeAlias) {
-        //connectedSubscriptionAliases.add(connectingCartridgeAlias);
-    }
-
-    /**
-     * Disconnect from the cartridge subscription given by disconnectingCartridgeAlias
-     *
-     * @param disconnectingCartridgeAlias Alias of the cartridge subscription to disconnect
-     */
-    public void disconnect (String disconnectingCartridgeAlias) {
-        //connectedSubscriptionAliases.remove(disconnectingCartridgeAlias);
-    }
-
-    /**
-     * Manages the repository for the cartridge subscription
-     *
-     * @param repoURL Repository URL
-     * @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
-     * @throws ADCException
-     * @throws RepositoryRequiredException
-     * @throws RepositoryCredentialsRequiredException
-     * @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.");
-            }
-        }
-
-        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;
-    }
-
-    /**
-     * Cleans up the subscription information after unsubscribing
-     *
-     * @throws ADCException
-     */
-    protected void cleanupSubscription () throws ADCException {
-
-        try {
-            new RepositoryFactory().destroyRepository(alias, subscriber.getTenantDomain(),
-                    subscriber.getAdminUserName());
-            log.info("Repo is destroyed successfully.. ");
-
-        } catch (Exception e) {
-            String errorMsg = "Error in destroying repository for tenant " + subscriber.getTenantDomain() +
-                    "cartridge type " + type;
-            log.error(errorMsg);
-        }
-
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-        /*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());
-
-        try {
-            new RegistryManager().removeDomainMappingFromRegistry(getCluster().getHostName());
-
-        } catch (Exception e) {
-            String errorMsg = "Error in removing domain mapping, alias " + alias + ", tenant " +
-                    subscriber.getTenantDomain();
-            log.error(errorMsg, e);
-        }*/
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-        /*TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
-        String[] ips = topologyMgtService.getActiveIPs(type, getCluster().getClusterDomain(), getCluster().getClusterSubDomain());
-        try {
-            PersistenceManager.updateInstanceState("INACTIVE", ips, getCluster().getClusterDomain(), getCluster().getClusterSubDomain(), type);
-
-        } catch (Exception e) {
-            String errorMsg = "Error in updating state to INACTIVE";
-            log.error(errorMsg, e);
-        }*/
-
-        //this.setSubscriptionStatus(CartridgeConstants.UNSUBSCRIBED);
-    }
-
-    public Map<String, String> getCustomPayloadEntries () {
-
-        //no custom payload entries by default
-        return null;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public String getAlias() {
-        return alias;
-    }
-
-    public Subscriber getSubscriber() {
-        return subscriber;
-    }
-
-    public Repository getRepository() {
-        return repository;
-    }
-
-    /*public List<String> getConnectedSubscriptionAliases() {
-        return connectedSubscriptionAliases;
-    }*/
-
-    public CartridgeInfo getCartridgeInfo() {
-        return cartridgeInfo;
-    }
-
-    public String getHostName() {
-        return getCluster().getHostName();
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public void setAlias(String alias) {
-        this.alias = alias;
-    }
-
-    public String getClusterDomain() {
-        return getCluster().getClusterDomain();
-    }
-
-    public void setClusterDomain(String clusterDomain) {
-        getCluster().setClusterDomain(clusterDomain);
-    }
-
-    public String getClusterSubDomain() {
-        return getCluster().getClusterSubDomain();
-    }
-
-    public void setClusterSubDomain(String clusterSubDomain) {
-        getCluster().setClusterSubDomain(clusterSubDomain);
-    }
-
-    public String getMgtClusterDomain() {
-        return getCluster().getMgtClusterDomain();
-    }
-
-    public void setMgtClusterDomain(String mgtClusterDomain) {
-        getCluster().setMgtClusterDomain(mgtClusterDomain);
-    }
-
-    public String getMgtClusterSubDomain() {
-        return getCluster().getMgtClusterSubDomain();
-    }
-
-    public void setMgtClusterSubDomain(String mgtClusterSubDomain) {
-        getCluster().setMgtClusterSubDomain(mgtClusterSubDomain);
-    }
-
-    public void setHostName(String hostName) {
-        getCluster().setHostName(hostName);
-    }
-
-    public String getAutoscalingPolicyName() {
-        return autoscalingPolicyName;
-    }
-
-    public void setAutoscalingPolicyName(String autoscalingPolicyName) {
-        this.autoscalingPolicyName = autoscalingPolicyName;
-    }
-
-    public void setSubscriber(Subscriber subscriber) {
-        this.subscriber = subscriber;
-    }
-
-    public void setRepository(Repository repository) {
-        this.repository = repository;
-    }
-
-    public void setCartridgeInfo(CartridgeInfo cartridgeInfo) {
-        this.cartridgeInfo = cartridgeInfo;
-    }
-
-    public PayloadData getPayloadData() {
-        return payloadData;
-    }
-
-    public void setPayloadData(PayloadData payloadData) {
-        this.payloadData = payloadData;
-    }
-
-    public int getSubscriptionId() {
-        return subscriptionId;
-    }
-
-    public void setSubscriptionId(int subscriptionId) {
-        this.subscriptionId = subscriptionId;
-    }
-
-    public String getMappedDomain() {
-        return mappedDomain;
-    }
-
-    public void setMappedDomain(String mappedDomain) {
-        this.mappedDomain = mappedDomain;
-    }
-
-    public String getSubscriptionStatus() {
-        return subscriptionStatus;
-    }
-
-    public void setSubscriptionStatus(String subscriptionStatus) {
-        this.subscriptionStatus = subscriptionStatus;
-    }
-
-    public String getSubscriptionKey() {
-        return subscriptionKey;
-    }
-
-    public void setSubscriptionKey(String subscriptionKey) {
-        this.subscriptionKey = subscriptionKey;
-    }
-
-    public Cluster getCluster() {
-        return cluster;
-    }
-
-    public void setCluster(Cluster cluster) {
-        this.cluster = cluster;
-    }
-
-    public String getDeploymentPolicyName() {
-        return deploymentPolicyName;
-    }
-
-    public void setDeploymentPolicyName(String deploymentPolicyName) {
-        this.deploymentPolicyName = deploymentPolicyName;
-    }
-
-    public SubscriptionTenancyBehaviour getSubscriptionTenancyBehaviour() {
-        return subscriptionTenancyBehaviour;
-    }
-
-    public void setSubscriptionTenancyBehaviour(SubscriptionTenancyBehaviour subscriptionTenancyBehaviour) {
-        this.subscriptionTenancyBehaviour = subscriptionTenancyBehaviour;
-    }
-
-    public boolean equals(Object other) {
-
-        if(this == other) {
-            return true;
-        }
-        if(!(other instanceof CartridgeSubscription)) {
-            return false;
-        }
-
-        CartridgeSubscription that = (CartridgeSubscription)other;
-        return ((this.type.equals(that.type)) && (this.alias.equals(that.alias)));
-    }
-
-    public int hashCode () {
-
-        return type.hashCode() + alias.hashCode();
-    }
-
-    @Override
-    public String toString() {
-        return "CartridgeSubscription [subscriptionId=" + subscriptionId + ", type=" + type +
-               ", alias=" + alias + ", autoscalingPolicyName=" + autoscalingPolicyName +
-               ", deploymentPolicyName=" + deploymentPolicyName + ", subscriber=" + subscriber +
-               ", repository=" + repository + ", cartridgeInfo=" + cartridgeInfo + ", payload=" +
-               payloadData + ", cluster=" + cluster + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription_old.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription_old.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription_old.java
deleted file mode 100644
index 47c2388..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription_old.java
+++ /dev/null
@@ -1,431 +0,0 @@
-///*
-// * Licensed to the Apache Software Foundation (ASF) under one
-// * or more contributor license agreements.  See the NOTICE file
-// * distributed with this work for additional information
-// * regarding copyright ownership.  The ASF licenses this file
-// * to you under the Apache License, Version 2.0 (the
-// * "License"); you may not use this file except in compliance
-// * with the License.  You may obtain a copy of the License at
-// *
-// *  http://www.apache.org/licenses/LICENSE-2.0
-// *
-// * Unless required by applicable law or agreed to in writing,
-// * software distributed under the License is distributed on an
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// * KIND, either express or implied.  See the License for the
-// * specific language governing permissions and limitations
-// * under the License.
-// */
-//
-//package org.apache.stratos.adc.mgt.subscription;
-//
-//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.dto.Policy;
-//import org.apache.stratos.adc.mgt.exception.*;
-//import org.apache.stratos.adc.mgt.internal.DataHolder;
-//import org.apache.stratos.adc.mgt.payload.Payload;
-//import org.apache.stratos.adc.mgt.payload.PayloadArg;
-//import org.apache.stratos.adc.mgt.repository.Repository;
-//import org.apache.stratos.adc.mgt.service.RepositoryInfoBean;
-//import org.apache.stratos.adc.mgt.subscriber.Subscriber;
-//import org.apache.stratos.adc.mgt.utils.*;
-//import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService;
-//import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-//
-//import java.util.ArrayList;
-//import java.util.List;
-//import java.util.Properties;
-//
-//public abstract class CartridgeSubscription {
-//
-//    private static Log log = LogFactory.getLog(CartridgeSubscription.class);
-//    private int subscriptionId;
-//    private String type;
-//    private String alias;
-//    private Policy autoscalingPolicy;
-//    private Subscriber subscriber;
-//    private Repository repository;
-//    private CartridgeInfo cartridgeInfo;
-//    private Payload payload;
-//    private Cluster cluster;
-//    private String subscriptionStatus;
-//    private String mappedDomain;
-//    private List<String> connectedSubscriptionAliases;
-//    private String subscriptionKey;
-//
-//    /**
-//     * Constructor
-//     *
-//     * @param cartridgeInfo CartridgeInfo subscription
-//     */
-//    public CartridgeSubscription(CartridgeInfo cartridgeInfo) {
-//
-//        this.setCartridgeInfo(cartridgeInfo);
-//        this.setType(cartridgeInfo.getType());
-//        this.setCluster(new Cluster());
-//        getCluster().setClusterDomain("");
-//        getCluster().setClusterSubDomain(CartridgeConstants.DEFAULT_SUBDOMAIN);
-//        getCluster().setMgtClusterDomain("");
-//        getCluster().setMgtClusterSubDomain(CartridgeConstants.DEFAULT_MGT_SUBDOMAIN);
-//        getCluster().setHostName(cartridgeInfo.getHostName());
-//        this.setSubscriptionStatus(CartridgeConstants.SUBSCRIBED);
-//        this.connectedSubscriptionAliases = new ArrayList<String>();
-//    }
-//
-//    /**
-//     * Subscribes to this cartridge subscription
-//     *
-//     * @param subscriber Subscriber subscription
-//     * @param alias Alias of the cartridge subscription
-//     * @param autoscalingPolicy Auto scaling policy
-//     * @param repository Relevenat Repository subscription
-//     *
-//     * @throws ADCException
-//     * @throws PolicyException
-//     * @throws UnregisteredCartridgeException
-//     * @throws InvalidCartridgeAliasException
-//     * @throws DuplicateCartridgeAliasException
-//     * @throws RepositoryRequiredException
-//     * @throws AlreadySubscribedException
-//     * @throws RepositoryCredentialsRequiredException
-//     * @throws InvalidRepositoryException
-//     * @throws RepositoryTransportException
-//     */
-//    public void createSubscription (Subscriber subscriber, String alias, Policy autoscalingPolicy,
-//                                   Repository repository)
-//            throws ADCException, PolicyException, UnregisteredCartridgeException, InvalidCartridgeAliasException,
-//            DuplicateCartridgeAliasException, RepositoryRequiredException, AlreadySubscribedException,
-//            RepositoryCredentialsRequiredException, InvalidRepositoryException, RepositoryTransportException {
-//
-//        setSubscriber(subscriber);
-//        setAlias(alias);
-//        setAutoscalingPolicyName(autoscalingPolicy);
-//        setRepository(repository);
-//    }
-//
-//    /**
-//     * Unsubscribe from this cartridge subscription
-//     *
-//     * @throws ADCException
-//     * @throws NotSubscribedException
-//     */
-//    public abstract void removeSubscription() throws ADCException, NotSubscribedException;
-//
-//    /**
-//     * Registers the subscription
-//     *
-//     * @param properties Any additional properties needed
-//     *
-//     * @return CartridgeSubscriptionInfo subscription populated with relevant data
-//     * @throws ADCException
-//     * @throws UnregisteredCartridgeException
-//     */
-//    public abstract CartridgeSubscriptionInfo registerSubscription(Properties properties)
-//            throws ADCException, UnregisteredCartridgeException;
-//
-//    /**
-//     * Connect cartridges
-//     *
-//     * @param connectingCartridgeAlias Alias of connecting cartridge
-//     */
-//    public void connect (String connectingCartridgeAlias) {
-//        connectedSubscriptionAliases.add(connectingCartridgeAlias);
-//    }
-//
-//    /**
-//     * Disconnect from the cartridge subscription given by disconnectingCartridgeAlias
-//     *
-//     * @param disconnectingCartridgeAlias Alias of the cartridge subscription to disconnect
-//     */
-//    public void disconnect (String disconnectingCartridgeAlias) {
-//        connectedSubscriptionAliases.remove(disconnectingCartridgeAlias);
-//    }
-//
-//    /**
-//     * Creates the relevant payload parameters for this cartridge subscription
-//     *
-//     * @return PayloadArg subscription
-//     * @throws ADCException in an errpr
-//     */
-//    public PayloadArg createPayloadParameters() throws ADCException {
-//
-//        PayloadArg payloadArg = new PayloadArg();
-//        payloadArg.setCartridgeInfo(getCartridgeInfo());
-//        payloadArg.setPolicy(getAutoscalingPolicyName());
-//        payloadArg.setMultitenant(getCartridgeInfo().getMultiTenant());
-//        payloadArg.setTenantId(getSubscriber().getTenantId());
-//        payloadArg.setTenantDomain(getSubscriber().getTenantDomain());
-//        payloadArg.setCartridgeAlias(getAlias());
-//        payloadArg.setServiceName(getCartridgeInfo().getType());
-//        payloadArg.setSubscriptionKey(subscriptionKey);
-//        return payloadArg;
-//    }
-//
-//    /**
-//     * Manages the repository for the cartridge subscription
-//     *
-//     * @param repoURL Repository URL
-//     * @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
-//     * @throws ADCException
-//     * @throws RepositoryRequiredException
-//     * @throws RepositoryCredentialsRequiredException
-//     * @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.");
-//            }
-//        }
-//
-//        Repository repository = new Repository();
-//        if (repoURL != null && repoURL.trim().length() > 0) {
-//            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);
-//
-//        } else {
-//
-//            log.info("External git repo url not provided for tenant "
-//                    + tenantDomain + ", creating an git internal repository");
-//
-//            // for internal repos  internal git server username and password is used.
-//            repository.setUserName(System.getProperty(CartridgeConstants.INTERNAL_GIT_USERNAME));
-//            repository.setPassword(System.getProperty(CartridgeConstants.INTERNAL_GIT_PASSWORD));
-//            try {
-//                new RepositoryCreator(new RepositoryInfoBean(repoURL, cartridgeAlias, tenantDomain,
-//                        repository.getUserName(), repository.getPassword(), cartridgeInfo.getDeploymentDirs(),
-//                        cartridgeInfo)).createInternalRepository();
-//
-//            } catch (Exception e) {
-//                throw new ADCException(e.getMessage(), e);
-//            }
-//            String repoName = tenantDomain + "/" + cartridgeAlias;
-//            repository.setUrl("https://" + System.getProperty(CartridgeConstants.GIT_HOST_NAME) + ":8443/git/" +
-//                    repoName);
-//        }
-//
-//        // Validate Remote Repository.
-//        ApplicationManagementUtil.validateRepository(repoURL, repoUserName, repoUserPassword, privateRepo,
-//                new Boolean(System.getProperty(CartridgeConstants.FEATURE_EXTERNAL_REPO_VAIDATION_ENABLED)));
-//
-//        return repository;
-//    }
-//
-//    /**
-//     * Cleans up the subscription information after unsubscribing
-//     *
-//     * @throws ADCException
-//     */
-//    protected void cleanupSubscription () throws ADCException {
-//
-//        try {
-//            new RepositoryFactory().destroyRepository(alias, subscriber.getTenantDomain(),
-//                    subscriber.getAdminUserName());
-//            log.info("Repo is destroyed successfully.. ");
-//
-//        } catch (Exception e) {
-//            String errorMsg = "Error in destroying repository for tenant " + subscriber.getTenantDomain() +
-//                    "cartridge type " + type;
-//            log.error(errorMsg);
-//        }
-//
-//        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());
-//
-//        try {
-//            new RegistryManager().removeDomainMappingFromRegistry(getCluster().getHostName());
-//
-//        } catch (Exception e) {
-//            String errorMsg = "Error in removing domain mapping, alias " + alias + ", tenant " +
-//                    subscriber.getTenantDomain();
-//            log.error(errorMsg, e);
-//        }
-//
-//        TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
-//        String[] ips = topologyMgtService.getActiveIPs(type, getCluster().getClusterDomain(), getCluster().getClusterSubDomain());
-//        try {
-//            PersistenceManager.updateInstanceState("INACTIVE", ips, getCluster().getClusterDomain(), getCluster().getClusterSubDomain(), type);
-//
-//        } catch (Exception e) {
-//            String errorMsg = "Error in updating state to INACTIVE";
-//            log.error(errorMsg, e);
-//        }
-//
-//        this.setSubscriptionStatus(CartridgeConstants.UNSUBSCRIBED);
-//    }
-//
-//    public String getType() {
-//        return type;
-//    }
-//
-//    public String getAlias() {
-//        return alias;
-//    }
-//
-//    public Subscriber getSubscriber() {
-//        return subscriber;
-//    }
-//
-//    public Repository getRepository() {
-//        return repository;
-//    }
-//
-//    public List<String> getConnectedSubscriptionAliases() {
-//        return connectedSubscriptionAliases;
-//    }
-//
-//    public CartridgeInfo getCartridgeInfo() {
-//        return cartridgeInfo;
-//    }
-//
-//    public String getHostName() {
-//        return getCluster().getHostName();
-//    }
-//
-//    public void setType(String type) {
-//        this.type = type;
-//    }
-//
-//    public void setAlias(String alias) {
-//        this.alias = alias;
-//    }
-//
-//    public String getClusterDomain() {
-//        return getCluster().getClusterDomain();
-//    }
-//
-//    public void setClusterDomain(String clusterDomain) {
-//        getCluster().setClusterDomain(clusterDomain);
-//    }
-//
-//    public String getClusterSubDomain() {
-//        return getCluster().getClusterSubDomain();
-//    }
-//
-//    public void setClusterSubDomain(String clusterSubDomain) {
-//        getCluster().setClusterSubDomain(clusterSubDomain);
-//    }
-//
-//    public String getMgtClusterDomain() {
-//        return getCluster().getMgtClusterDomain();
-//    }
-//
-//    public void setMgtClusterDomain(String mgtClusterDomain) {
-//        getCluster().setMgtClusterDomain(mgtClusterDomain);
-//    }
-//
-//    public String getMgtClusterSubDomain() {
-//        return getCluster().getMgtClusterSubDomain();
-//    }
-//
-//    public void setMgtClusterSubDomain(String mgtClusterSubDomain) {
-//        getCluster().setMgtClusterSubDomain(mgtClusterSubDomain);
-//    }
-//
-//    public void setHostName(String hostName) {
-//        getCluster().setHostName(hostName);
-//    }
-//
-//    public Policy getAutoscalingPolicyName() {
-//        return autoscalingPolicy;
-//    }
-//
-//    public void setAutoscalingPolicyName(Policy autoscalingPolicy) {
-//        this.autoscalingPolicy = autoscalingPolicy;
-//    }
-//
-//    public void setSubscriber(Subscriber subscriber) {
-//        this.subscriber = subscriber;
-//    }
-//
-//    public void setRepository(Repository repository) {
-//        this.repository = repository;
-//    }
-//
-//    public void setCartridgeInfo(CartridgeInfo cartridgeInfo) {
-//        this.cartridgeInfo = cartridgeInfo;
-//    }
-//
-//    public Payload getPayloadData() {
-//        return payload;
-//    }
-//
-//    public void setPayloadData(Payload payload) {
-//        this.payload = payload;
-//    }
-//
-//    public int getSubscriptionId() {
-//        return subscriptionId;
-//    }
-//
-//    public void setSubscriptionId(int subscriptionId) {
-//        this.subscriptionId = subscriptionId;
-//    }
-//
-//    public String getMappedDomain() {
-//        return mappedDomain;
-//    }
-//
-//    public void setMappedDomain(String mappedDomain) {
-//        this.mappedDomain = mappedDomain;
-//    }
-//
-//    public String getSubscriptionStatus() {
-//        return subscriptionStatus;
-//    }
-//
-//    public void setSubscriptionStatus(String subscriptionStatus) {
-//        this.subscriptionStatus = subscriptionStatus;
-//    }
-//
-//	public String getSubscriptionKey() {
-//		return subscriptionKey;
-//	}
-//
-//	public void setSubscriptionKey(String subscriptionKey) {
-//		this.subscriptionKey = subscriptionKey;
-//	}
-//
-//    public Cluster getCluster() {
-//        return cluster;
-//    }
-//
-//    public void setCluster(Cluster cluster) {
-//        this.cluster = cluster;
-//    }
-//
-//}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f74f29c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
deleted file mode 100644
index a38e609..0000000
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.adc.mgt.subscription;
-
-import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo;
-import org.apache.stratos.adc.mgt.dao.DataCartridge;
-import org.apache.stratos.adc.mgt.exception.ADCException;
-import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
-import org.apache.stratos.adc.mgt.repository.Repository;
-import org.apache.stratos.adc.mgt.subscription.tenancy.SubscriptionTenancyBehaviour;
-import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
-import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-import org.apache.stratos.cloud.controller.pojo.Properties;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class DataCartridgeSubscription extends CartridgeSubscription {
-
-    private String host;
-    private String username;
-    private String password;
-
-    /**
-     * Constructor
-     *
-     * @param cartridgeInfo CartridgeInfo instance
-     * @param subscriptionTenancyBehaviour SubscriptionTenancyBehaviour instance
-     */
-    public DataCartridgeSubscription(CartridgeInfo cartridgeInfo, SubscriptionTenancyBehaviour
-            subscriptionTenancyBehaviour) {
-
-        super(cartridgeInfo, subscriptionTenancyBehaviour);
-        setHost("localhost");
-        setUsername("root");
-        setPassword(ApplicationManagementUtil.generatePassword());
-    }
-
-    @Override
-    public CartridgeSubscriptionInfo registerSubscription(Properties properties) throws ADCException,
-            UnregisteredCartridgeException {
-
-        Properties props = new Properties();
-        props.setProperties(getCartridgeInfo().getProperties());
-        getSubscriptionTenancyBehaviour().registerSubscription(this, props);
-
-        DataCartridge dataCartridge = new DataCartridge();
-        dataCartridge.setUserName(getUsername());
-        dataCartridge.setPassword(getPassword());
-        dataCartridge.setDataCartridgeType(getType());
-
-        return ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), getAutoscalingPolicyName(),
-                getType(), getAlias(), getSubscriber().getTenantId(), getSubscriber().getTenantDomain(),
-                getRepository(), getCluster().getHostName(), getCluster().getClusterDomain(), getCluster().getClusterSubDomain(),
-                getCluster().getMgtClusterDomain(), getCluster().getMgtClusterSubDomain(), dataCartridge, "PENDING",getSubscriptionKey());
-    }
-
-    public Repository manageRepository (String repoURL, String repoUserName, String repoUserPassword,
-                                        boolean privateRepo, String cartridgeAlias, CartridgeInfo cartridgeInfo,
-                                        String tenantDomain) {
-
-        //no repository for data cartridge instances
-        return null;
-    }
-
-    @Override
-    public Map<String, String> getCustomPayloadEntries() {
-
-        Map<String, String> payloadEntriesMap = new HashMap<String, String>();
-        payloadEntriesMap.put("MYSQL_HOST", host);
-        payloadEntriesMap.put("MYSQL_USER", username);
-        payloadEntriesMap.put("MYSQL_PASSWORD", password);
-
-        return payloadEntriesMap;
-    }
-
-    public String getHost() {
-        return host;
-    }
-
-    public void setHost(String host) {
-        this.host = host;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-}