You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by sa...@apache.org on 2013/07/02 10:18:54 UTC

[01/12] Refactoring org.wso2.carbon to org.apache.stratos

Updated Branches:
  refs/heads/master 27ed5a9f2 -> 8a76dbf71


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/builder/TopologySyncher.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/builder/TopologySyncher.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/builder/TopologySyncher.java
deleted file mode 100644
index bcbb808..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/builder/TopologySyncher.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2005-2011, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. 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.wso2.carbon.adc.topology.mgt.builder;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.BlockingQueue;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.lb.common.conf.LoadBalancerConfiguration;
-import org.wso2.carbon.lb.common.conf.LoadBalancerConfiguration.ServiceConfiguration;
-import org.wso2.carbon.lb.common.conf.structure.Node;
-import org.wso2.carbon.lb.common.conf.structure.NodeBuilder;
-import org.wso2.carbon.adc.topology.mgt.group.mgt.GroupMgtAgentBuilder;
-import org.wso2.carbon.adc.topology.mgt.util.ConfigHolder;
-
-
-public class TopologySyncher implements Runnable {
-
-	@SuppressWarnings("rawtypes")
-    private BlockingQueue sharedQueue;
-	private static final Log log = LogFactory.getLog(TopologySyncher.class);
-	
-	public TopologySyncher(@SuppressWarnings("rawtypes") BlockingQueue queue){
-		
-		sharedQueue = queue;
-		
-	}
-	
-	public void run() {
-
-	    LoadBalancerConfiguration lbconfig = LoadBalancerConfiguration.getInstance();
-	    
-	    //FIXME Currently there has to be at least one dummy cluster defined in the loadbalancer conf
-	    // in order to proper initialization of TribesClusteringAgent.
-	    generateGroupMgtAgents(lbconfig);
-	    
-        while (true) {
-            try {
-
-                Object obj;
-                String msg = null;
-
-                obj = sharedQueue.take();
-                msg = (String) obj;
-
-                ConfigHolder data = ConfigHolder.getInstance();
-
-                Node topologyNode = NodeBuilder.buildNode(msg);
-
-                List<ServiceConfiguration> currentServiceConfigs = lbconfig.createServicesConfig(topologyNode);
-
-                data.setServiceConfigs(lbconfig.getServiceNameToServiceConfigurations());
-                generateGroupMgtAgents(lbconfig);
-                resetGroupMgtAgents(lbconfig, currentServiceConfigs);
-
-            } catch (InterruptedException ignore) {
-            }
-        }
-
-	}
-
-    /**
-     * @param lbconfig
-     */
-    private void generateGroupMgtAgents(LoadBalancerConfiguration lbconfig) {
-        for (List<ServiceConfiguration> serviceConfigsList : lbconfig.getServiceNameToServiceConfigurations()
-                                                                     .values()) {
-
-        	for (ServiceConfiguration serviceConfiguration : serviceConfigsList) {
-        		GroupMgtAgentBuilder.createGroupMgtAgent(serviceConfiguration.getDomain(),
-        		                                         serviceConfiguration.getSubDomain());
-        	}
-        }
-    }
-    
-    private void resetGroupMgtAgents(LoadBalancerConfiguration lbConfig,
-        List<ServiceConfiguration> currentServiceConfigs) {
-
-        for (Iterator<?> iterator = lbConfig.getServiceConfigurations().values().iterator(); iterator.hasNext();) {
-            @SuppressWarnings("unchecked")
-            Map<String, ServiceConfiguration> valuesMap = (Map<String, ServiceConfiguration>) iterator.next();
-
-            for (Iterator<ServiceConfiguration> iterator2 = valuesMap.values().iterator(); iterator2.hasNext();) {
-                ServiceConfiguration oldServiceConfig = (ServiceConfiguration) iterator2.next();
-
-                if (!currentServiceConfigs.contains(oldServiceConfig)) {
-                    // if the ServiceConfiguration is not there any more in the latest topology
-                    lbConfig.removeServiceConfiguration(oldServiceConfig.getDomain(), oldServiceConfig.getSubDomain());
-                    GroupMgtAgentBuilder.resetGroupMgtAgent(oldServiceConfig.getDomain(), oldServiceConfig.getSubDomain());
-                }
-            }
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/exception/TopologyMgtException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/exception/TopologyMgtException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/exception/TopologyMgtException.java
deleted file mode 100644
index 1092d0b..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/exception/TopologyMgtException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed 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.wso2.carbon.adc.topology.mgt.exception;
-
-public class TopologyMgtException extends RuntimeException {
-
-    private static final long serialVersionUID = -663839410798538370L;
-
-    public TopologyMgtException(String msg) {
-        super(msg);
-    }
-
-    public TopologyMgtException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-
-    public TopologyMgtException(Throwable cause) {
-        super(cause);
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/group/mgt/GroupMgtAgentBuilder.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/group/mgt/GroupMgtAgentBuilder.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/group/mgt/GroupMgtAgentBuilder.java
deleted file mode 100644
index 83c4043..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/group/mgt/GroupMgtAgentBuilder.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2005-2011, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. 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.wso2.carbon.adc.topology.mgt.group.mgt;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.axis2.clustering.ClusteringAgent;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.SynapseException;
-import org.wso2.carbon.lb.common.conf.LoadBalancerConfiguration;
-import org.wso2.carbon.lb.common.conf.util.HostContext;
-import org.wso2.carbon.lb.common.conf.util.TenantDomainContext;
-import org.wso2.carbon.adc.topology.mgt.util.ConfigHolder;
-
-public class GroupMgtAgentBuilder {
-
-	private static LoadBalancerConfiguration lbConfig;
-	/**
-     * Key - host name 
-     * Value - {@link HostContext}
-     */
-    private static Map<String, HostContext> hostContexts = new HashMap<String, HostContext>();
-    
-    private static final Log log = LogFactory.getLog(GroupMgtAgentBuilder.class);
-	
-	public static void createGroupMgtAgents() {
-		lbConfig = ConfigHolder.getInstance().getLbConfig();
-		hostContexts = lbConfig.getHostContextMap();
-		
-		ClusteringAgent clusteringAgent = ConfigHolder.getInstance().getAxisConfiguration().getClusteringAgent();
-        if (clusteringAgent == null) {
-            throw new SynapseException("Axis2 ClusteringAgent not defined in axis2.xml");
-        }
-
-        // Add the Axis2 GroupManagement agents
-        if (hostContexts != null) {
-            // iterate through each host context
-            for (HostContext hostCtxt : hostContexts.values()) {
-                // each host can has multiple Tenant Contexts, iterate through them
-                for (TenantDomainContext tenantCtxt : hostCtxt.getTenantDomainContexts()) {
-
-                    String domain = tenantCtxt.getDomain();
-                    String subDomain = tenantCtxt.getSubDomain();
-
-                    if (clusteringAgent.getGroupManagementAgent(domain, subDomain) == null) {
-                        clusteringAgent.addGroupManagementAgent(new SubDomainAwareGroupManagementAgent(
-                            subDomain),
-                            domain, subDomain, -1);
-                        log.info("Group management agent added to cluster domain: " +
-                            domain + " and sub domain: " + subDomain);
-                    }
-                }
-            }
-        }
-    }
-	
-	public static void createGroupMgtAgent(String domain, String subDomain) {
-		
-		ClusteringAgent clusteringAgent = ConfigHolder.getInstance().getAxisConfiguration().getClusteringAgent();
-        if (clusteringAgent == null) {
-            throw new SynapseException("Axis2 ClusteringAgent not defined in axis2.xml");
-        }
-		
-        if (clusteringAgent.getGroupManagementAgent(domain, subDomain) == null) {
-            clusteringAgent.addGroupManagementAgent(new SubDomainAwareGroupManagementAgent(
-                subDomain),
-                domain, subDomain, -1);
-            log.info("Group management agent added to cluster domain: " +
-                domain + " and sub domain: " + subDomain);
-        }
-	}
-	
-	public static void resetGroupMgtAgent(String domain, String subDomain) {
-
-        ClusteringAgent clusteringAgent =
-            ConfigHolder.getInstance().getAxisConfiguration().getClusteringAgent();
-        
-        if (clusteringAgent == null) {
-            throw new SynapseException("Axis2 Clustering Agent not defined in axis2.xml");
-        }
-
-        // checks the existence. 
-        if (clusteringAgent.getGroupManagementAgent(domain, subDomain) != null) {
-            
-            clusteringAgent.resetGroupManagementAgent(domain, subDomain);
-            
-            log.info("Group management agent of cluster domain: " +
-                domain + " and sub domain: " + subDomain+" is removed.");
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/group/mgt/SubDomainAwareGroupManagementAgent.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/group/mgt/SubDomainAwareGroupManagementAgent.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/group/mgt/SubDomainAwareGroupManagementAgent.java
deleted file mode 100644
index 2ad4a12..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/group/mgt/SubDomainAwareGroupManagementAgent.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.wso2.carbon.adc.topology.mgt.group.mgt;
-
-import org.apache.axis2.clustering.Member;
-import org.apache.axis2.clustering.management.DefaultGroupManagementAgent;
-
-/**
- * This GroupManagementAgent can handle group membership based on cluster sub-domains
- */
-public class SubDomainAwareGroupManagementAgent extends DefaultGroupManagementAgent {
-
-    private String subDomain;
-
-    public SubDomainAwareGroupManagementAgent(String subDomain) {
-        this.subDomain = subDomain;
-    }
-
-    @Override
-    public void applicationMemberAdded(Member member) {
-        String subDomain = member.getProperties().getProperty("subDomain");
-        if (subDomain == null || subDomain.equals(this.subDomain)) {
-            super.applicationMemberAdded(member);
-        }
-    }
-
-    @Override
-    public void applicationMemberRemoved(Member member) {
-        String subDomain = member.getProperties().getProperty("subDomain");
-        if (subDomain == null || subDomain.equals(this.subDomain)) {
-            super.applicationMemberRemoved(member);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/internal/TopologyMgtDSComponent.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/internal/TopologyMgtDSComponent.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/internal/TopologyMgtDSComponent.java
deleted file mode 100644
index e5445e2..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/internal/TopologyMgtDSComponent.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- *  Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- *  Licensed 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.wso2.carbon.adc.topology.mgt.internal;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.component.ComponentContext;
-import org.wso2.carbon.adc.topology.mgt.builder.TopologySyncher;
-import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
-import org.wso2.carbon.adc.topology.mgt.service.impl.TopologyManagementServiceImpl;
-import org.wso2.carbon.adc.topology.mgt.subscriber.TopologySubscriber;
-import org.wso2.carbon.adc.topology.mgt.util.TopologyConstants;
-import org.wso2.carbon.adc.topology.mgt.util.ConfigHolder;
-import org.wso2.carbon.utils.ConfigurationContextService;
-import org.wso2.carbon.lb.common.service.LoadBalancerConfigurationService;
-import org.wso2.carbon.ntask.core.service.TaskService;
-
-//* @scr.reference name="synapse.config.service"
-//* interface="org.wso2.carbon.mediation.initializer.services.SynapseConfigurationService"
-//* cardinality="1..1" policy="dynamic" bind="setSynapseConfigurationService"
-//* unbind="unsetSynapseConfigurationService"
-//* @scr.reference name="registry.service"
-//* interface="org.wso2.carbon.registry.core.service.RegistryService"
-//* cardinality="1..1" policy="dynamic"
-//* bind="setRegistryService" unbind="unsetRegistryService"
-//* @scr.reference name="dependency.mgt.service"
-//* interface="org.wso2.carbon.mediation.dependency.mgt.services.DependencyManagementService"
-//* cardinality="0..1" policy="dynamic"
-//* bind="setDependencyManager" unbind="unsetDependencyManager"
-//* @scr.reference name="user.realmservice.default"
-//* interface="org.wso2.carbon.user.core.service.RealmService"
-//* cardinality="1..1" policy="dynamic" bind="setRealmService"
-//* unbind="unsetRealmService"
-
-/**
- * @scr.component name="topology.mgt.service" immediate="true"
- * @scr.reference name="configuration.context.service"
- * interface="org.wso2.carbon.utils.ConfigurationContextService" cardinality="1..1"
- * policy="dynamic" bind="setConfigurationContextService" unbind="unsetConfigurationContextService"
- * @scr.reference name="org.wso2.carbon.lb.common"
- * interface="org.wso2.carbon.lb.common.service.LoadBalancerConfigurationService"
- * cardinality="1..1" policy="dynamic" bind="setLoadBalancerConfigurationService"
- * unbind="unsetLoadBalancerConfigurationService"
- * @scr.reference name="ntask.component" interface="org.wso2.carbon.ntask.core.service.TaskService"
- * cardinality="1..1" policy="dynamic" bind="setTaskService" unbind="unsetTaskService"
- */
-@SuppressWarnings({"UnusedDeclaration", "JavaDoc"})
-public class TopologyMgtDSComponent {
-
-    private static final Log log = LogFactory.getLog(TopologyMgtDSComponent.class);
-
-//    private boolean activated = false;
-
-    protected void activate(ComponentContext ctxt) {
-    	try {
-    		// start consumer
-    		// initialize TopologyBuilder Consumer
-            if (System.getProperty("mb.server.ip") != null) {
-                Thread topologyConsumer = new Thread(new TopologySyncher(ConfigHolder.getInstance().getSharedTopologyDiffQueue()));
-                // start consumer
-                topologyConsumer.start();
-
-                TopologySubscriber.subscribe(TopologyConstants.TOPIC_NAME);
-            }
-
-    		
-            BundleContext bundleContext = ctxt.getBundleContext();
-            bundleContext.registerService(TopologyManagementService.class.getName(),
-                                          new TopologyManagementServiceImpl(), null);
-
-            log.debug("******* Topology Mgt Service bundle is activated ******* ");
-        } catch (Throwable e) {
-            log.error("******* Topology Mgt Service Service bundle is failed to activate ****", e);
-        }
-//    	log.info("**************************************");
-//    	for (String str : ConfigHolder.getInstance().getLbConfig().getServiceDomains()) {
-//	        log.info(str);
-//        }
-//    	log.info("**************************************");
-    	
-//    	if(!activated){
-//    		GroupMgtAgentBuilder.createGroupMgtAgents();
-//    		activated = true;
-//    	}
-    	
-    	
-    	// topology synching task activation
-//    	TaskManager tm = null;
-//		try {
-//			// topology sync
-//			ConfigHolder.getInstance().getTaskService()
-//			          .registerTaskType(TopologyConstants.TOPOLOGY_SYNC_TASK_TYPE);
-//
-//			tm =
-//					ConfigHolder.getInstance().getTaskService()
-//			               .getTaskManager(TopologyConstants.TOPOLOGY_SYNC_TASK_TYPE);
-//
-//			TriggerInfo triggerInfo = new TriggerInfo(TopologyConstants.TOPOLOGY_SYNC_CRON);
-//			TaskInfo taskInfo =
-//			                    new TaskInfo(TopologyConstants.TOPOLOGY_SYNC_TASK_NAME,
-//			                                 TopologySubscriberTask.class.getName(),
-//			                                 new HashMap<String, String>(), triggerInfo);
-//			tm.registerTask(taskInfo);
-//
-//			// start consumer
-//			// initialize TopologyBuilder Consumer
-//	        Thread topologyConsumer = new Thread(new TopologyBuilder(ConfigHolder.getInstance().getSharedTopologyDiffQueue()));
-//	        // start consumer
-//	        topologyConsumer.start();
-//			
-//		} catch (Exception e) {
-//			String msg = "Error scheduling task: " + TopologyConstants.TOPOLOGY_SYNC_TASK_NAME;
-//			log.error(msg, e);
-//			if (tm != null) {
-//				try {
-//					tm.deleteTask(TopologyConstants.TOPOLOGY_SYNC_TASK_NAME);
-//				} catch (TaskException e1) {
-//					log.error(e1);
-//				}
-//			}
-//			throw new TopologyMgtException(msg, e);
-//		}
-    }
-
-    protected void deactivate(ComponentContext context) {}
-
-    protected void setConfigurationContextService(ConfigurationContextService cfgCtxService) {
-        ConfigHolder.getInstance().setAxisConfiguration(
-                cfgCtxService.getServerConfigContext().getAxisConfiguration());
-    }
-
-    protected void unsetConfigurationContextService(ConfigurationContextService cfgCtxService) {
-        ConfigHolder.getInstance().setAxisConfiguration(null);
-    }
-
-//    protected void setSynapseConfigurationService(
-//            SynapseConfigurationService synapseConfigurationService) {
-//
-//        ConfigHolder.getInstance().setSynapseConfiguration(
-//                synapseConfigurationService.getSynapseConfiguration());
-//    }
-//
-//    protected void unsetSynapseConfigurationService(
-//            SynapseConfigurationService synapseConfigurationService) {
-//
-//        ConfigHolder.getInstance().setSynapseConfiguration(null);
-//    }
-
-    /**
-     * Here we receive an event about the creation of a SynapseEnvironment. If this is
-     * SuperTenant we have to wait until all the other constraints are met and actual
-     * initialization is done in the activate method. Otherwise we have to do the activation here.
-     *
-     * @param synapseEnvironmentService SynapseEnvironmentService which contains information
-     *                                  about the new Synapse Instance
-     */
-//    protected void setSynapseEnvironmentService(
-//            SynapseEnvironmentService synapseEnvironmentService) {
-//        boolean alreadyCreated = ConfigHolder.getInstance().getSynapseEnvironmentServices().
-//                containsKey(synapseEnvironmentService.getTenantId());
-//
-//        ConfigHolder.getInstance().addSynapseEnvironmentService(
-//                synapseEnvironmentService.getTenantId(),
-//                synapseEnvironmentService);
-//        if (activated) {
-//            if (!alreadyCreated) {
-//                try {
-//                    registerDeployer(synapseEnvironmentService.getConfigurationContext().getAxisConfiguration(),
-//                            synapseEnvironmentService.getSynapseEnvironment());
-//                    if (log.isDebugEnabled()) {
-//                        log.debug("Endpoint Admin bundle is activated ");
-//                    }
-//                } catch (Throwable e) {
-//                    log.error("Failed to activate Endpoint Admin bundle ", e);
-//                }
-//            }
-//        }
-//    }
-
-//    /**
-//     * Here we receive an event about Destroying a SynapseEnvironment. This can be the super tenant
-//     * destruction or a tenant destruction.
-//     *
-//     * @param synapseEnvironmentService synapseEnvironment
-//     */
-//    protected void unsetSynapseEnvironmentService(
-//            SynapseEnvironmentService synapseEnvironmentService) {
-//        ConfigHolder.getInstance().removeSynapseEnvironmentService(
-//                synapseEnvironmentService.getTenantId());
-//    }
-//
-//    protected void setRegistryService(RegistryService regService) {
-//        if (log.isDebugEnabled()) {
-//            log.debug("RegistryService bound to the endpoint component");
-//        }
-//        try {
-//            ConfigHolder.getInstance().setConfigRegistry(regService.getConfigSystemRegistry());
-//            ConfigHolder.getInstance().setGovernanceRegistry(regService.getGovernanceSystemRegistry());
-//        } catch (RegistryException e) {
-//            log.error("Couldn't retrieve the registry from the registry service");
-//        }
-//    }
-//
-//    protected void unsetRegistryService(RegistryService regService) {
-//        if (log.isDebugEnabled()) {
-//            log.debug("RegistryService unbound from the endpoint component");
-//        }
-//        ConfigHolder.getInstance().setConfigRegistry(null);
-//    }
-//
-//    protected void setDependencyManager(DependencyManagementService dependencyMgr) {
-//        if (log.isDebugEnabled()) {
-//            log.debug("Dependency management service bound to the endpoint component");
-//        }
-//        ConfigHolder.getInstance().setDependencyManager(dependencyMgr);
-//    }
-//
-//    protected void unsetDependencyManager(DependencyManagementService dependencyMgr) {
-//        if (log.isDebugEnabled()) {
-//            log.debug("Dependency management service unbound from the endpoint component");
-//        }
-//        ConfigHolder.getInstance().setDependencyManager(null);
-//    }
-//
-//    protected void setSynapseRegistrationsService(
-//            SynapseRegistrationsService synapseRegistrationsService) {
-//
-//    }
-
-//    protected void unsetSynapseRegistrationsService(
-//            SynapseRegistrationsService synapseRegistrationsService) {
-//        int tenantId = synapseRegistrationsService.getTenantId();
-//        if (ConfigHolder.getInstance().getSynapseEnvironmentServices().containsKey(tenantId)) {
-//            SynapseEnvironment env = ConfigHolder.getInstance().
-//                    getSynapseEnvironmentService(tenantId).getSynapseEnvironment();
-//
-//            ConfigHolder.getInstance().removeSynapseEnvironmentService(
-//                    synapseRegistrationsService.getTenantId());
-//
-//            AxisConfiguration axisConfig = synapseRegistrationsService.getConfigurationContext().
-//                    getAxisConfiguration();
-//            if (axisConfig != null) {
-//                try {
-//                    unregisterDeployer(axisConfig, env);
-//                } catch (Exception e) {
-//                    log.warn("Couldn't remove the EndpointDeployer");
-//                }
-//            }
-//        }
-//    }
-
-//    protected void setRealmService(RealmService realmService) {
-//        ConfigHolder.getInstance().setRealmService(realmService);
-//    }
-//
-//    protected void unsetRealmService(RealmService realmService) {
-//        ConfigHolder.getInstance().setRealmService(null);
-//    }
-//    
-    protected void setLoadBalancerConfigurationService(LoadBalancerConfigurationService lbConfigSer){
-        ConfigHolder.getInstance().setLbConfigService(lbConfigSer);
-    }
-    
-    protected void unsetLoadBalancerConfigurationService(LoadBalancerConfigurationService lbConfigSer){
-        ConfigHolder.getInstance().setLbConfigService(null);
-    }
-    
-    protected void setTaskService(TaskService taskService) {
-        ConfigHolder.getInstance().setTaskService(taskService);
-    }
-
-    protected void unsetTaskService(TaskService taskService) {
-        ConfigHolder.getInstance().setTaskService(null);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/service/TopologyManagementService.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/service/TopologyManagementService.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/service/TopologyManagementService.java
deleted file mode 100644
index 400a38a..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/service/TopologyManagementService.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *  Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- *  Licensed 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.wso2.carbon.adc.topology.mgt.service;
-
-import org.wso2.carbon.adc.topology.mgt.serviceobjects.DomainContext;
-
-/**
- * This exposes details regarding up-to-date topology
- *
- */
-public interface TopologyManagementService {
-
-	/**
-	 * Provide service cluster domains corresponds to the given information.
-	 * @param cartridgeType cartridge type
-	 * @param tenantId tenant id
-	 * @return String array of service cluster domains
-	 */
-	String[] getDomains(String cartridgeType, int tenantId);
-
-	/**
-	 * Provide service cluster sub domains corresponds to the given information.
-	 * @param cartridgeType cartridge type
-	 * @param tenantId tenant id
-	 * @return String array of service cluster sub domains
-	 */
-	String[] getSubDomains(String cartridgeType, int tenantId);
-
-//	/**
-//	 * Provide public IPs corresponds to the given information.
-//	 * @param cartridgeType cartridge type
-//	 * @param tenantId tenant id
-//	 * @return String array of public IPs
-//	 */
-//	String[] getActiveIPs(String cartridgeType, int tenantId);
-	
-	/**
-	 * Provide public IPs corresponds to the given information.
-	 * @param cartridgeType cartridge type
-	 * @param domain service cluster domain
-	 * @param subDomain service cluster sub domain
-	 * @return String array of public IPs
-	 */
-	String[] getActiveIPs(String cartridgeType, String domain, String subDomain);
-	
-	/**
-	 * Provide domains and the relevant subdomains corresponding to the given information
-	 * 
-	 * @param cartridgeType cartridge type
-	 * @param tenantId tenant id
-	 * @return DomainContext instances array of domains and sub domains 
-	 */
-	DomainContext[] getDomainsAndSubdomains (String cartridgeType, int tenantId);
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/service/impl/TopologyManagementServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/service/impl/TopologyManagementServiceImpl.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/service/impl/TopologyManagementServiceImpl.java
deleted file mode 100644
index b2374fa..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/service/impl/TopologyManagementServiceImpl.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- *  Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- *  Licensed 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.wso2.carbon.adc.topology.mgt.service.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.wso2.carbon.lb.common.conf.LoadBalancerConfiguration.ServiceConfiguration;
-import org.wso2.carbon.lb.common.conf.util.LoadBalancerConfigUtil;
-import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
-import org.wso2.carbon.adc.topology.mgt.serviceobjects.DomainContext;
-import org.wso2.carbon.adc.topology.mgt.util.ConfigHolder;
-
-public class TopologyManagementServiceImpl implements TopologyManagementService {
-	
-	ConfigHolder data = ConfigHolder.getInstance();
-
-	public String[] getDomains(String cartridgeType, int tenantId) {
-		List<String> domains = new ArrayList<String>();
-		if(data.getServiceConfigs() != null){
-			List<ServiceConfiguration> serviceConfigs = data.getServiceConfigs().get(cartridgeType);
-			if(serviceConfigs != null){
-				
-				for (ServiceConfiguration serviceConfiguration : serviceConfigs) {
-	                
-					List<Integer> tenantIds = LoadBalancerConfigUtil.getTenantIds(serviceConfiguration.getTenantRange());
-					if(!tenantIds.isEmpty() && (tenantIds.contains(tenantId) || tenantIds.contains(0))){
-						if (!domains.contains(serviceConfiguration.getDomain())) {
-							domains.add(serviceConfiguration.getDomain());
-						}
-					}
-                }
-			}
-		}
-		return domains.toArray(new String[domains.size()]);
-	}
-
-	public String[] getSubDomains(String cartridgeType, int tenantId) {
-		List<String> subDomains = new ArrayList<String>();
-		if(data.getServiceConfigs() != null){
-			List<ServiceConfiguration> serviceConfigs = data.getServiceConfigs().get(cartridgeType);
-			if(serviceConfigs != null){
-				
-				for (ServiceConfiguration serviceConfiguration : serviceConfigs) {
-	                
-					List<Integer> tenantIds = LoadBalancerConfigUtil.getTenantIds(serviceConfiguration.getTenantRange());
-					if(!tenantIds.isEmpty() && (tenantIds.contains(tenantId) || tenantIds.contains(0))){
-						if (!subDomains.contains(serviceConfiguration.getSubDomain())) {
-							subDomains.add(serviceConfiguration.getSubDomain());
-						}
-					}
-                }
-			}
-		}
-		return subDomains.toArray(new String[subDomains.size()]);
-	}
-
-    public String[] getActiveIPs(String cartridgeType, String domain, String subDomain) {
-		List<String> publicIps = new ArrayList<String>();
-		
-		if(domain == null || subDomain == null){
-			return new String[0];
-		}
-		
-		if(data.getServiceConfigs() != null){
-			List<ServiceConfiguration> serviceConfigs = data.getServiceConfigs().get(cartridgeType);
-			if(serviceConfigs != null){
-				
-				for (ServiceConfiguration serviceConfiguration : serviceConfigs) {
-	                
-					if(domain.equals(serviceConfiguration.getDomain()) && subDomain.equals(serviceConfiguration.getSubDomain())){
-						
-						String ipStr = serviceConfiguration.getPublicIp();
-						if(ipStr != null && !ipStr.isEmpty()){
-							for (String ip : ipStr.split(",")) {
-								if (!publicIps.contains(ip)) {
-									publicIps.add(ip);
-								}
-							}
-						}
-					}
-                }
-			}
-		}
-		return publicIps.toArray(new String[publicIps.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.wso2.carbon.stratos.topology.mgt.service.TopologyManagementService#getDomainsAndSubdomains(java.lang.String, int)
-	 */
-	public DomainContext[] getDomainsAndSubdomains(String cartridgeType, int tenantId) {
-		List<DomainContext> domainContexts = new ArrayList<DomainContext>();
-		
-		if(data.getServiceConfigs() != null){
-			List<ServiceConfiguration> serviceConfigs = data.getServiceConfigs().get(cartridgeType);
-			if(serviceConfigs != null){
-				
-				for (ServiceConfiguration serviceConfiguration : serviceConfigs) {
-	                
-					List<Integer> tenantIds = LoadBalancerConfigUtil.getTenantIds(serviceConfiguration.getTenantRange());
-					if(!tenantIds.isEmpty() && (tenantIds.contains(tenantId) || tenantIds.contains(0))){
-						DomainContext domainCtx = new DomainContext(serviceConfiguration.getDomain(), serviceConfiguration.getSubDomain());
-						if (!domainContexts.contains(domainCtx)) {
-							domainContexts.add(domainCtx);
-						}
-					}
-                }
-			}
-		}
-		return domainContexts.toArray(new DomainContext[domainContexts.size()]);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/serviceobjects/DomainContext.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/serviceobjects/DomainContext.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/serviceobjects/DomainContext.java
deleted file mode 100644
index 9ffac9f..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/serviceobjects/DomainContext.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- *  Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- *  Licensed 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.wso2.carbon.adc.topology.mgt.serviceobjects;
-
-/**
- * Class to hold domain and subdomain details
- *
- */
-public class DomainContext {
-    
-    private String domain;
-    private String subDomain;
-    
-    /**
-     * Constructor
-     * 
-     * @param domain domain name
-     * @param subDomain subdomain name
-     */
-    public DomainContext (String domain, String subDomain) {
-        this.domain = domain;
-        this.subDomain = subDomain;
-    }
-
-    /**
-     * Returns the domain 
-     * 
-     * @return the domain
-     */
-    public String getDomain() {
-        return domain;
-    }
-
-    /**
-     * Returns the sub domain
-     * 
-     * @return the subDomain
-     */
-    public String getSubDomain() {
-        return subDomain;
-    }
-    
-    /**
-     * Overridden equals method
-     */
-    public boolean equals (Object object) {
-        if (object == null) 
-            return false;
-        if (object == this)  
-            return true;
-        if (!(object instanceof DomainContext))
-            return false;
-        
-        DomainContext domainCtx = (DomainContext)object;
-        if(this.getDomain().equals(domainCtx.getDomain()) &&
-                this.getSubDomain().equals(domainCtx.getSubDomain()))
-            return true;
-        else
-            return false;
-    }
-    
-    /**
-     * Overridden hashCode method
-     */
-    public int hashCode () {
-        int domainHash = 0;
-        int subDomainHash = 0;
-        
-        if(domain != null)
-            domainHash = domain.hashCode();
-        if(subDomain != null)
-            subDomainHash = subDomain.hashCode();
-        
-        return domainHash + subDomainHash;
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopicHealthChecker.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopicHealthChecker.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopicHealthChecker.java
deleted file mode 100644
index 0ca9de2..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopicHealthChecker.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-*  Copyright (c) 2005-2011, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-*  WSO2 Inc. 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.wso2.carbon.adc.topology.mgt.subscriber;
-
-import javax.jms.TopicSubscriber;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This health checker runs forever, and is responsible for re-establishing a connection
- * between SC and CC.
- */
-public class TopicHealthChecker implements Runnable{
-    
-    private static final Log log = LogFactory.getLog(TopicHealthChecker.class);
-    private String topicName;
-    private TopicSubscriber subscriber;
-
-    public TopicHealthChecker(String topicName, TopicSubscriber subscriber) {
-        this.topicName = topicName;
-        this.subscriber = subscriber;
-    }
-    
-    @Override
-    public void run() {
-        log.info("Topic Health Checker is running... ");
-
-        while (true) {
-            try {
-                subscriber.getTopic();
-                
-                // health checker runs in every 30s
-                Thread.sleep(30000);
-
-            } catch (Exception e) {
-                // implies connection is not established
-                // sleep for 5s and retry
-                try {
-                    log.info("Health checker failed and will retry to establish a connection after a 5s.");
-                    Thread.sleep(5000);
-                    break;
-                } catch (InterruptedException ignore) {
-                }
-            }
-
-        }
-
-        TopologySubscriber.subscribe(topicName);
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologyListener.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologyListener.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologyListener.java
deleted file mode 100644
index 685cc22..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologyListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *  Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- *  Licensed 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.wso2.carbon.adc.topology.mgt.subscriber;
-
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import javax.jms.TextMessage;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.topology.mgt.util.ConfigHolder;
-
-public class TopologyListener implements MessageListener {
-
-    private static final Log log = LogFactory.getLog(TopologyListener.class);
-
-    @SuppressWarnings("unchecked")
-    public void onMessage(Message message) {
-        TextMessage receivedMessage = (TextMessage) message;
-        try {
-
-            ConfigHolder.getInstance().getSharedTopologyDiffQueue().add(receivedMessage.getText());
-
-        } catch (JMSException e) {
-            log.error(e.getMessage(), e);
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologySubscriber.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologySubscriber.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologySubscriber.java
deleted file mode 100644
index c5ae407..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologySubscriber.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- *  Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- *  Licensed 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.wso2.carbon.adc.topology.mgt.subscriber;
-
-import java.util.Properties;
-
-import javax.jms.*;
-import javax.naming.InitialContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.topology.mgt.util.TopologyConstants;
-
-public class TopologySubscriber {
-
-	private static final Log log = LogFactory.getLog(TopologySubscriber.class);
-	
-    public static void subscribe(String topicName) {
-        Properties initialContextProperties = new Properties();
-        TopicSubscriber topicSubscriber = null;
-        TopicSession topicSession = null;
-        TopicConnection topicConnection = null;
-        InitialContext initialContext = null;
-
-        initialContextProperties.put("java.naming.factory.initial",
-            "org.wso2.andes.jndi.PropertiesFileInitialContextFactory");
-
-        String mbServerIp =
-            System.getProperty(TopologyConstants.MB_SERVER_IP) == null
-                ? TopologyConstants.DEFAULT_MB_SERVER_IP
-                : System.getProperty(TopologyConstants.MB_SERVER_IP);
-
-        String connectionString =
-            "amqp://admin:admin@clientID/carbon?brokerlist='tcp://" +
-                mbServerIp + "'&reconnect='true'";
-        initialContextProperties.put("connectionfactory.qpidConnectionfactory", connectionString);
-
-        try {
-            initialContext = new InitialContext(initialContextProperties);
-            TopicConnectionFactory topicConnectionFactory =
-                (TopicConnectionFactory) initialContext.lookup("qpidConnectionfactory");
-            topicConnection = topicConnectionFactory.createTopicConnection();
-            topicConnection.start();
-            topicSession =
-                topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            Topic topic = topicSession.createTopic(topicName);
-            topicSubscriber =
-                topicSession.createSubscriber(topic);
-
-            topicSubscriber.setMessageListener(new TopologyListener());
-
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-
-            try {
-                if (topicSubscriber != null) {
-                    topicSubscriber.close();
-                }
-
-                if (topicSession != null) {
-                    topicSession.close();
-                }
-
-                if (topicConnection != null) {
-                    topicConnection.close();
-                }
-            } catch (JMSException e1) {
-                // ignore
-            }
-
-        } finally {
-            // start the health checker
-            Thread healthChecker = new Thread(new TopicHealthChecker(topicName, topicSubscriber));
-            healthChecker.start();
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologySubscriberTask.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologySubscriberTask.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/subscriber/TopologySubscriberTask.java
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/ConfigHolder.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/ConfigHolder.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/ConfigHolder.java
deleted file mode 100644
index 6f680b9..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/ConfigHolder.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/**
- *  Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- *  Licensed 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.wso2.carbon.adc.topology.mgt.util;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.engine.AxisConfiguration;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.config.SynapseConfiguration;
-import org.wso2.carbon.lb.common.conf.LoadBalancerConfiguration;
-import org.wso2.carbon.lb.common.conf.LoadBalancerConfiguration.ServiceConfiguration;
-import org.wso2.carbon.lb.common.service.LoadBalancerConfigurationService;
-import org.wso2.carbon.ntask.core.service.TaskService;
-import org.wso2.carbon.registry.core.session.UserRegistry;
-import org.wso2.carbon.adc.topology.mgt.exception.TopologyMgtException;
-import org.wso2.carbon.user.core.service.RealmService;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-
-/**
- *
- */
-public class ConfigHolder {
-
-    private static ConfigHolder instance;
-    private static final Log log = LogFactory.getLog(ConfigHolder.class);
-
-    private SynapseConfiguration synapseConfiguration;
-    private ConfigurationContext configCtxt;
-    private AxisConfiguration axisConfiguration;
-    private UserRegistry configRegistry;
-    private UserRegistry governanceRegistry;
-    private TaskService taskService;
-    private BlockingQueue sharedTopologyDiffQueue = new LinkedBlockingQueue();
-    private String previousMessage;
-    private Map<String, List<ServiceConfiguration>> serviceNameToServiceConfigurations;
-//    private DependencyManagementService dependencyManager;
-    private LoadBalancerConfigurationService lbConfigService;
-    
-
-//    private Map<Integer, SynapseEnvironmentService> synapseEnvironmentServices =
-//            new HashMap<Integer, SynapseEnvironmentService>();
-
-    public RealmService getRealmService() {
-        return realmService;
-    }
-
-    public void setRealmService(RealmService realmService) {
-        this.realmService = realmService;
-    }
-
-    private RealmService realmService;
-
-    private ConfigHolder() {
-    }
-
-    public static ConfigHolder getInstance() {
-        if (instance == null) {
-            instance = new ConfigHolder();
-        }
-        return instance;
-    }
-
-    public SynapseConfiguration getSynapseConfiguration() throws TopologyMgtException{
-        assertNull("SynapseConfiguration", synapseConfiguration);
-        return synapseConfiguration;
-    }
-
-    public void setSynapseConfiguration(SynapseConfiguration synapseConfiguration) {
-        this.synapseConfiguration = synapseConfiguration;
-    }
-
-    public AxisConfiguration getAxisConfiguration() throws TopologyMgtException {
-        assertNull("AxisConfiguration", axisConfiguration);
-        return axisConfiguration;
-    }
-
-    public void setAxisConfiguration(AxisConfiguration axisConfiguration) {
-        this.axisConfiguration = axisConfiguration;
-    }
-
-    public UserRegistry getConfigRegistry() throws TopologyMgtException {
-        assertNull("Registry", configRegistry);
-        return configRegistry;
-    }
-
-    public void setConfigRegistry(UserRegistry configRegistry) {
-        this.configRegistry = configRegistry;
-    }
-
-////    public DependencyManagementService getDependencyManager() {
-////        return dependencyManager;
-////    }
-//
-//    public void setDependencyManager(DependencyManagementService dependencyManager) {
-//        this.dependencyManager = dependencyManager;
-//    }
-
-    private void assertNull(String name, Object object) throws TopologyMgtException {
-        if (object == null) {
-            String message = name + " reference in the proxy admin config holder is null";
-            log.error(message);
-            throw new TopologyMgtException(message);
-        }
-    }
-
-    public UserRegistry getGovernanceRegistry() {
-        return governanceRegistry;
-    }
-
-    public void setGovernanceRegistry(UserRegistry governanceRegistry) {
-        this.governanceRegistry = governanceRegistry;
-    }
-
-//    public SynapseEnvironmentService getSynapseEnvironmentService(int id) {
-//        return synapseEnvironmentServices.get(id);
-//    }
-//
-//    public void addSynapseEnvironmentService(int id,
-//                                             SynapseEnvironmentService synapseEnvironmentService) {
-//        synapseEnvironmentServices.put(id, synapseEnvironmentService);
-//    }
-//
-//    public void removeSynapseEnvironmentService(int id) {
-//        synapseEnvironmentServices.remove(id);
-//    }
-//
-//    public Map<Integer, SynapseEnvironmentService> getSynapseEnvironmentServices() {
-//        return synapseEnvironmentServices;
-//    }
-
-    public ConfigurationContext getConfigCtxt() {
-        return configCtxt;
-    }
-
-    public void setConfigCtxt(ConfigurationContext configCtxt) {
-        this.configCtxt = configCtxt;
-    }
-    
-    public void setLbConfigService(LoadBalancerConfigurationService lbConfigSer) {
-        this.lbConfigService = lbConfigSer;
-    }
-
-    public LoadBalancerConfiguration getLbConfig() {
-        return (LoadBalancerConfiguration) lbConfigService.getLoadBalancerConfig();
-    }
-    
-    public TaskService getTaskService() {
-        return taskService;
-    }
-
-    public void setTaskService(TaskService taskService) {
-        this.taskService = taskService;
-    }
-
-    public BlockingQueue getSharedTopologyDiffQueue() {
-	    return sharedTopologyDiffQueue;
-    }
-
-	public void setSharedTopologyDiffQueue(BlockingQueue sharedTopologyDiffQueue) {
-	    this.sharedTopologyDiffQueue = sharedTopologyDiffQueue;
-    }
-
-	public void setServiceConfigs(Map<String, List<ServiceConfiguration>> serviceNameToServiceConfigurations) {
-
-		this.serviceNameToServiceConfigurations = serviceNameToServiceConfigurations;
-    }
-	
-	public Map<String, List<ServiceConfiguration>> getServiceConfigs(){
-		return serviceNameToServiceConfigurations;
-	}
-
-	public String getPreviousMessage() {
-	    return previousMessage;
-    }
-
-	public void setPreviousMessage(String previousMessage) {
-	    this.previousMessage = previousMessage;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/TopologyConstants.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/TopologyConstants.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/TopologyConstants.java
deleted file mode 100644
index 784284b..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/TopologyConstants.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.wso2.carbon.adc.topology.mgt.util;
-
-public class TopologyConstants {
-    
-    public static final String TOPIC_NAME = "cloud-controller-topology";
-    public static final String MB_SERVER_IP = "mb.server.ip";
-    public static final String DEFAULT_MB_SERVER_IP = "localhost:5673";
-    
-    public static final String TOPOLOGY_SYNC_CRON = "1 * * * * ? *";
-	public static final String TOPOLOGY_SYNC_TASK_NAME = "TopologySubscriberTaskOfADC";
-	public static final String TOPOLOGY_SYNC_TASK_TYPE = "TOPOLOGY_SUBSCRIBER_TASK";
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/TopologyMgtUtil.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/TopologyMgtUtil.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/TopologyMgtUtil.java
deleted file mode 100644
index c87c328..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/topology/mgt/util/TopologyMgtUtil.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.wso2.carbon.adc.topology.mgt.util;
-
-public class TopologyMgtUtil {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/resources/META-INF/services.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/resources/META-INF/services.xml b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/resources/META-INF/services.xml
index 33d6c1d..ef91287 100644
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/resources/META-INF/services.xml
+++ b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/src/main/resources/META-INF/services.xml
@@ -1,6 +1,6 @@
 <serviceGroup>
     <service name="TopologyMgtService" scope="application">
-        <parameter name="ServiceClass">org.wso2.carbon.adc.topology.mgt.service.impl.TopologyManagementServiceImpl</parameter>
+        <parameter name="ServiceClass">org.apache.stratos.adc.topology.mgt.service.impl.TopologyManagementServiceImpl</parameter>
         <messageReceivers>
         <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
         <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/payment/org.wso2.carbon.payment.ui/2.1.0/src/main/resources/web/payment/upgrade_registration_usage_plan_ajaxprocessor.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/payment/org.wso2.carbon.payment.ui/2.1.0/src/main/resources/web/payment/upgrade_registration_usage_plan_ajaxprocessor.jsp b/components/stratos/payment/org.wso2.carbon.payment.ui/2.1.0/src/main/resources/web/payment/upgrade_registration_usage_plan_ajaxprocessor.jsp
index ff7ead8..b5dbd6c 100644
--- a/components/stratos/payment/org.wso2.carbon.payment.ui/2.1.0/src/main/resources/web/payment/upgrade_registration_usage_plan_ajaxprocessor.jsp
+++ b/components/stratos/payment/org.wso2.carbon.payment.ui/2.1.0/src/main/resources/web/payment/upgrade_registration_usage_plan_ajaxprocessor.jsp
@@ -15,9 +15,9 @@
 ~ specific language governing permissions and limitations
 ~ under the License.
 --%>
-<%@ page import="org.wso2.carbon.account.mgt.ui.clients.UsagePlanClient" %>
+<%@ page import="org.apache.stratos.account.mgt.UsagePlanClient" %>
 <%@ page import="org.wso2.carbon.utils.CarbonUtils" %>
-<%@ page import="org.wso2.carbon.account.mgt.stub.services.BillingDataAccessServiceStub" %>
+<%@ page import="org.apache.stratos.account.mgt.BillingDataAccessServiceStub" %>
 <%@ page import="org.wso2.carbon.utils.ServerConstants" %>
 <%@ page import="org.wso2.carbon.ui.CarbonUIUtil" %>
 <%@ page import="org.apache.axis2.context.ConfigurationContext" %>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/pom.xml
----------------------------------------------------------------------
diff --git a/components/stratos/pom.xml b/components/stratos/pom.xml
index c7e424d..6a967e3 100644
--- a/components/stratos/pom.xml
+++ b/components/stratos/pom.xml
@@ -19,15 +19,17 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
+
     <parent>
-        <groupId>org.wso2.carbon</groupId>
-        <artifactId>carbon-components</artifactId>
-        <version>4.1.0</version>
+        <groupId>org.apache.stratos</groupId>
+        <artifactId>stratos-components-parent</artifactId>
+        <version>2.0.0</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
+    
 
     <modelVersion>4.0.0</modelVersion>
-    <groupId>org.wso2.carbon</groupId>
+    <groupId>org.apache.stratos</groupId>
     <artifactId>stratos-components</artifactId>
     <packaging>pom</packaging>
     <version>2.1.0</version>


[11/12] git commit: Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
Refactoring org.wso2.carbon  to org.apache.stratos


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

Branch: refs/heads/master
Commit: 6724d97331214434d2c1813bde77f463536281d5
Parents: 6ee4434
Author: Sajith Kariyawasam <sa...@wso2.com>
Authored: Tue Jul 2 13:47:35 2013 +0530
Committer: Sajith Kariyawasam <sa...@wso2.com>
Committed: Tue Jul 2 13:47:35 2013 +0530

----------------------------------------------------------------------
 .../2.1.0/pom.xml                               |    3 +-
 .../resources/web/account-mgt/account_mgt.jsp   |    2 +-
 .../org.wso2.carbon.account.mgt/2.1.0/pom.xml   |    5 +-
 .../account/mgt/beans/AccountInfoBean.java      |   40 -
 .../internal/AccountMgtServiceComponent.java    |  139 ---
 .../account/mgt/services/AccountMgtService.java |  416 -------
 .../mgt/services/EmailValidationService.java    |  153 ---
 .../org/wso2/carbon/account/mgt/util/Util.java  |  173 ---
 .../src/main/resources/META-INF/services.xml    |    4 +-
 .../org.apache.stratos.adc.mgt/2.1.3/.classpath |  289 +++++
 .../org.apache.stratos.adc.mgt/2.1.3/.project   |   17 +
 .../2.1.3/.settings/org.eclipse.jdt.core.prefs  |   16 +
 .../org.apache.stratos.adc.mgt/2.1.3/pom.xml    |  134 +++
 .../2.1.3/src/conf/cartridge-config.properties  |   38 +
 .../2.1.3/src/conf/tenant-resource-policy.xml   |    1 +
 .../adc/mgt/client/CartridgeAgentClient.java    |   39 +
 .../client/CloudControllerServiceClient.java    |   94 ++
 .../stratos/adc/mgt/client/RegistryClient.java  |  112 ++
 .../adc/mgt/custom/domain/RegistryManager.java  |  106 ++
 .../adc/mgt/dao/CartridgeSubscription.java      |  186 +++
 .../stratos/adc/mgt/dao/DataCartridge.java      |   49 +
 .../apache/stratos/adc/mgt/dao/PortMapping.java |   56 +
 .../apache/stratos/adc/mgt/dao/Repository.java  |   56 +
 .../adc/mgt/dao/RepositoryCredentials.java      |   27 +
 .../apache/stratos/adc/mgt/dns/DNSManager.java  |   86 ++
 .../org/apache/stratos/adc/mgt/dto/AppRepo.java |   85 ++
 .../apache/stratos/adc/mgt/dto/Cartridge.java   |  198 ++++
 .../stratos/adc/mgt/dto/CartridgeDetail.java    |    1 +
 .../adc/mgt/dto/CartridgeInformation.java       |    1 +
 .../stratos/adc/mgt/dto/CartridgeWrapper.java   |   49 +
 .../org/apache/stratos/adc/mgt/dto/Policy.java  |  145 +++
 .../stratos/adc/mgt/dto/PolicyDefinition.java   |   80 ++
 .../adc/mgt/dto/RepositoryInformation.java      |   43 +
 .../stratos/adc/mgt/dto/SubscriptionInfo.java   |   43 +
 .../stratos/adc/mgt/exception/ADCException.java |   46 +
 .../exception/AlreadySubscribedException.java   |   45 +
 .../exception/DomainMappingExistsException.java |   45 +
 .../DuplicateCartridgeAliasException.java       |   53 +
 .../InvalidCartridgeAliasException.java         |   54 +
 .../exception/InvalidRepositoryException.java   |   32 +
 .../mgt/exception/NotSubscribedException.java   |   46 +
 .../adc/mgt/exception/PolicyException.java      |   38 +
 .../RepositoryCredentialsRequiredException.java |   37 +
 .../exception/RepositoryRequiredException.java  |   37 +
 .../exception/RepositoryTransportException.java |   37 +
 .../UnregisteredCartridgeException.java         |   45 +
 .../internal/ADCManagementServerComponent.java  |  106 ++
 .../stratos/adc/mgt/internal/DataHolder.java    |   77 ++
 .../adc/mgt/internal/HostingConstants.java      |   37 +
 .../internal/HostingManagementActivator.java    |   60 +
 .../service/ApplicationManagementService.java   |  620 ++++++++++
 .../InstanceInformationManagementService.java   |   55 +
 .../mgt/service/RepoNotificationService.java    |  179 +++
 .../adc/mgt/service/RepositoryInfoBean.java     |   78 ++
 .../service/RepositoryInformationService.java   |   66 ++
 .../mgt/utils/ApplicationManagementUtil.java    | 1095 ++++++++++++++++++
 .../stratos/adc/mgt/utils/CartridgeAppType.java |   41 +
 .../mgt/utils/CartridgeConfigFileReader.java    |   59 +
 .../adc/mgt/utils/CartridgeConstants.java       |   74 ++
 .../stratos/adc/mgt/utils/CartridgeDomain.java  |  143 +++
 .../stratos/adc/mgt/utils/DomainInfo.java       |   40 +
 .../adc/mgt/utils/PersistenceManager.java       |  853 ++++++++++++++
 .../stratos/adc/mgt/utils/PolicyHolder.java     |  289 +++++
 .../adc/mgt/utils/RepositoryCreator.java        |  266 +++++
 .../adc/mgt/utils/RepositoryFactory.java        |  129 +++
 .../stratos/adc/mgt/utils/StratosDBUtils.java   |  210 ++++
 .../mgt/utils/SynchronizeRepositoryRequest.java |  143 +++
 .../src/main/resources/META-INF/services.xml    |   86 ++
 .../2.1.3/src/main/resources/policies.xsd       |   36 +
 .../2.1.3/src/scripts/append_zone_file.sh       |   24 +
 .../stratos/adc/mgt/test/PolicyHolderTest.java  |   63 +
 .../2.1.3/src/test/resources/log4j.properties   |    8 +
 .../2.1.3/src/test/resources/policies-1.xml     |   22 +
 .../2.1.3/target/classes/META-INF/MANIFEST.MF   |  121 ++
 .../2.1.3/target/classes/META-INF/services.xml  |   86 ++
 .../adc/mgt/client/CartridgeAgentClient.class   |  Bin 0 -> 1633 bytes
 .../client/CloudControllerServiceClient.class   |  Bin 0 -> 4468 bytes
 .../stratos/adc/mgt/client/RegistryClient.class |  Bin 0 -> 4162 bytes
 .../adc/mgt/custom/domain/RegistryManager.class |  Bin 0 -> 3785 bytes
 .../adc/mgt/dao/CartridgeSubscription.class     |  Bin 0 -> 4728 bytes
 .../stratos/adc/mgt/dao/DataCartridge.class     |  Bin 0 -> 1196 bytes
 .../stratos/adc/mgt/dao/PortMapping.class       |  Bin 0 -> 1163 bytes
 .../apache/stratos/adc/mgt/dao/Repository.class |  Bin 0 -> 1208 bytes
 .../adc/mgt/dao/RepositoryCredentials.class     |  Bin 0 -> 985 bytes
 .../apache/stratos/adc/mgt/dns/DNSManager.class |  Bin 0 -> 1866 bytes
 .../apache/stratos/adc/mgt/dto/AppRepo.class    |  Bin 0 -> 1805 bytes
 .../apache/stratos/adc/mgt/dto/Cartridge.class  |  Bin 0 -> 4630 bytes
 .../stratos/adc/mgt/dto/CartridgeWrapper.class  |  Bin 0 -> 1345 bytes
 .../org/apache/stratos/adc/mgt/dto/Policy.class |  Bin 0 -> 3214 bytes
 .../stratos/adc/mgt/dto/PolicyDefinition.class  |  Bin 0 -> 1561 bytes
 .../adc/mgt/dto/RepositoryInformation.class     |  Bin 0 -> 963 bytes
 .../stratos/adc/mgt/dto/SubscriptionInfo.class  |  Bin 0 -> 898 bytes
 .../adc/mgt/exception/ADCException.class        |  Bin 0 -> 967 bytes
 .../exception/AlreadySubscribedException.class  |  Bin 0 -> 1072 bytes
 .../DomainMappingExistsException.class          |  Bin 0 -> 1064 bytes
 .../DuplicateCartridgeAliasException.class      |  Bin 0 -> 1281 bytes
 .../InvalidCartridgeAliasException.class        |  Bin 0 -> 1275 bytes
 .../exception/InvalidRepositoryException.class  |  Bin 0 -> 696 bytes
 .../mgt/exception/NotSubscribedException.class  |  Bin 0 -> 1062 bytes
 .../adc/mgt/exception/PolicyException.class     |  Bin 0 -> 782 bytes
 ...RepositoryCredentialsRequiredException.class |  Bin 0 -> 851 bytes
 .../exception/RepositoryRequiredException.class |  Bin 0 -> 818 bytes
 .../RepositoryTransportException.class          |  Bin 0 -> 821 bytes
 .../UnregisteredCartridgeException.class        |  Bin 0 -> 1084 bytes
 .../internal/ADCManagementServerComponent.class |  Bin 0 -> 3522 bytes
 .../stratos/adc/mgt/internal/DataHolder.class   |  Bin 0 -> 1999 bytes
 .../internal/HostingConstants$WebappState.class |  Bin 0 -> 591 bytes
 .../adc/mgt/internal/HostingConstants.class     |  Bin 0 -> 633 bytes
 .../internal/HostingManagementActivator$1.class |  Bin 0 -> 1388 bytes
 .../internal/HostingManagementActivator.class   |  Bin 0 -> 1522 bytes
 .../service/ApplicationManagementService.class  |  Bin 0 -> 21031 bytes
 .../InstanceInformationManagementService.class  |  Bin 0 -> 1777 bytes
 .../mgt/service/RepoNotificationService.class   |  Bin 0 -> 6962 bytes
 .../adc/mgt/service/RepositoryInfoBean.class    |  Bin 0 -> 2428 bytes
 .../service/RepositoryInformationService.class  |  Bin 0 -> 2308 bytes
 .../mgt/utils/ApplicationManagementUtil.class   |  Bin 0 -> 39480 bytes
 .../adc/mgt/utils/CartridgeAppType.class        |  Bin 0 -> 838 bytes
 .../mgt/utils/CartridgeConfigFileReader.class   |  Bin 0 -> 2236 bytes
 .../CartridgeConstants$DomainMappingInfo.class  |  Bin 0 -> 615 bytes
 .../adc/mgt/utils/CartridgeConstants.class      |  Bin 0 -> 2974 bytes
 .../stratos/adc/mgt/utils/CartridgeDomain.class |  Bin 0 -> 2986 bytes
 .../stratos/adc/mgt/utils/DomainInfo.class      |  Bin 0 -> 774 bytes
 .../adc/mgt/utils/PersistenceManager.class      |  Bin 0 -> 24386 bytes
 .../stratos/adc/mgt/utils/PolicyHolder$1.class  |  Bin 0 -> 253 bytes
 .../utils/PolicyHolder$SingletonHolder.class    |  Bin 0 -> 1294 bytes
 .../stratos/adc/mgt/utils/PolicyHolder.class    |  Bin 0 -> 9694 bytes
 .../adc/mgt/utils/RepositoryCreator.class       |  Bin 0 -> 9634 bytes
 .../adc/mgt/utils/RepositoryFactory.class       |  Bin 0 -> 2425 bytes
 .../stratos/adc/mgt/utils/StratosDBUtils.class  |  Bin 0 -> 5867 bytes
 .../utils/SynchronizeRepositoryRequest.class    |  Bin 0 -> 3371 bytes
 .../2.1.3/target/classes/policies.xsd           |   36 +
 .../target/org.apache.stratos.adc.mgt-2.1.3.jar |  Bin 0 -> 109380 bytes
 .../OSGI-INF/metatype/metatype.xml              |    7 +
 .../OSGI-INF/scr-plugin/scrinfo.xml             |   11 +
 .../OSGI-INF/serviceComponents.xml              |   11 +
 .../2.1.3/target/test-classes/log4j.properties  |    8 +
 .../2.1.3/target/test-classes/policies-1.xml    |   22 +
 .../2.1.3/target/timestamp                      |  Bin 0 -> 324 bytes
 .../2.1.1/pom.xml                               |    2 +-
 .../service/RepositorySynchronizer.java         |   37 -
 .../src/main/webapp/WEB-INF/cxf-servlet.xml     |    2 +-
 .../org.wso2.carbon.adc.mgt/2.1.3/pom.xml       |  134 ---
 .../2.1.3/src/conf/cartridge-config.properties  |   38 -
 .../2.1.3/src/conf/tenant-resource-policy.xml   |    1 -
 .../adc/mgt/client/CartridgeAgentClient.java    |   39 -
 .../client/CloudControllerServiceClient.java    |   94 --
 .../carbon/adc/mgt/client/RegistryClient.java   |  112 --
 .../adc/mgt/custom/domain/RegistryManager.java  |  106 --
 .../adc/mgt/dao/CartridgeSubscription.java      |  186 ---
 .../wso2/carbon/adc/mgt/dao/DataCartridge.java  |   49 -
 .../wso2/carbon/adc/mgt/dao/PortMapping.java    |   56 -
 .../org/wso2/carbon/adc/mgt/dao/Repository.java |   56 -
 .../adc/mgt/dao/RepositoryCredentials.java      |   27 -
 .../org/wso2/carbon/adc/mgt/dns/DNSManager.java |   86 --
 .../org/wso2/carbon/adc/mgt/dto/AppRepo.java    |   85 --
 .../org/wso2/carbon/adc/mgt/dto/Cartridge.java  |  198 ----
 .../carbon/adc/mgt/dto/CartridgeDetail.java     |    0
 .../adc/mgt/dto/CartridgeInformation.java       |    0
 .../carbon/adc/mgt/dto/CartridgeWrapper.java    |   49 -
 .../org/wso2/carbon/adc/mgt/dto/Policy.java     |  145 ---
 .../carbon/adc/mgt/dto/PolicyDefinition.java    |   80 --
 .../adc/mgt/dto/RepositoryInformation.java      |   43 -
 .../carbon/adc/mgt/dto/SubscriptionInfo.java    |   43 -
 .../carbon/adc/mgt/exception/ADCException.java  |   46 -
 .../exception/AlreadySubscribedException.java   |   45 -
 .../exception/DomainMappingExistsException.java |   45 -
 .../DuplicateCartridgeAliasException.java       |   53 -
 .../InvalidCartridgeAliasException.java         |   54 -
 .../exception/InvalidRepositoryException.java   |   32 -
 .../mgt/exception/NotSubscribedException.java   |   46 -
 .../adc/mgt/exception/PolicyException.java      |   38 -
 .../RepositoryCredentialsRequiredException.java |   37 -
 .../exception/RepositoryRequiredException.java  |   37 -
 .../exception/RepositoryTransportException.java |   37 -
 .../UnregisteredCartridgeException.java         |   45 -
 .../internal/ADCManagementServerComponent.java  |  106 --
 .../carbon/adc/mgt/internal/DataHolder.java     |   77 --
 .../adc/mgt/internal/HostingConstants.java      |   37 -
 .../internal/HostingManagementActivator.java    |   60 -
 .../service/ApplicationManagementService.java   |  620 ----------
 .../InstanceInformationManagementService.java   |   55 -
 .../mgt/service/RepoNotificationService.java    |  179 ---
 .../adc/mgt/service/RepositoryInfoBean.java     |   78 --
 .../service/RepositoryInformationService.java   |   66 --
 .../mgt/utils/ApplicationManagementUtil.java    | 1095 ------------------
 .../carbon/adc/mgt/utils/CartridgeAppType.java  |   41 -
 .../mgt/utils/CartridgeConfigFileReader.java    |   59 -
 .../adc/mgt/utils/CartridgeConstants.java       |   74 --
 .../carbon/adc/mgt/utils/CartridgeDomain.java   |  143 ---
 .../wso2/carbon/adc/mgt/utils/DomainInfo.java   |   40 -
 .../adc/mgt/utils/PersistenceManager.java       |  853 --------------
 .../wso2/carbon/adc/mgt/utils/PolicyHolder.java |  289 -----
 .../carbon/adc/mgt/utils/RepositoryCreator.java |  266 -----
 .../carbon/adc/mgt/utils/RepositoryFactory.java |  129 ---
 .../carbon/adc/mgt/utils/StratosDBUtils.java    |  210 ----
 .../mgt/utils/SynchronizeRepositoryRequest.java |  143 ---
 .../src/main/resources/META-INF/services.xml    |   86 --
 .../2.1.3/src/main/resources/policies.xsd       |   36 -
 .../2.1.3/src/scripts/append_zone_file.sh       |   24 -
 .../carbon/adc/mgt/test/PolicyHolderTest.java   |   63 -
 .../2.1.3/src/test/resources/log4j.properties   |    8 -
 .../2.1.3/src/test/resources/policies-1.xml     |   22 -
 .../2.1.3/pom.xml                               |   10 +-
 .../topology/mgt/builder/TopologySyncher.java   |  114 --
 .../mgt/exception/TopologyMgtException.java     |   35 -
 .../mgt/group/mgt/GroupMgtAgentBuilder.java     |  109 --
 .../mgt/SubDomainAwareGroupManagementAgent.java |   32 -
 .../mgt/internal/TopologyMgtDSComponent.java    |  290 -----
 .../mgt/service/TopologyManagementService.java  |   69 --
 .../impl/TopologyManagementServiceImpl.java     |  126 --
 .../mgt/serviceobjects/DomainContext.java       |   90 --
 .../mgt/subscriber/TopicHealthChecker.java      |   67 --
 .../mgt/subscriber/TopologyListener.java        |   44 -
 .../mgt/subscriber/TopologySubscriber.java      |   92 --
 .../mgt/subscriber/TopologySubscriberTask.java  |    0
 .../adc/topology/mgt/util/ConfigHolder.java     |  197 ----
 .../topology/mgt/util/TopologyConstants.java    |   13 -
 .../adc/topology/mgt/util/TopologyMgtUtil.java  |    5 -
 .../src/main/resources/META-INF/services.xml    |    2 +-
 ...de_registration_usage_plan_ajaxprocessor.jsp |    4 +-
 components/stratos/pom.xml                      |   10 +-
 221 files changed, 7649 insertions(+), 9264 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/pom.xml
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/pom.xml b/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/pom.xml
index b48a810..15619fc 100644
--- a/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/pom.xml
+++ b/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/pom.xml
@@ -24,8 +24,7 @@
 <relativePath>../../pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>org.wso2.carbon.account.mgt.ui</artifactId>
+    <modelVersion>4.0.0</modelorg.apache.stratos.account.mgt.uiwso2.carbon.account.mgt.ui</artifactId>
     <version>2.1.0</version>
     <packaging>bundle</packaging>
     <name>WSO2 Stratos - Account Managment - User Interface</name>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/account_mgt.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/account_mgt.jsp b/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/account_mgt.jsp
index a43e0f2..3c693a6 100644
--- a/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/account_mgt.jsp
+++ b/components/stratos/account-mgt/org.wso2.carbon.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/account_mgt.jsp
@@ -15,7 +15,7 @@
 ~ specific language governing permissions and limitations
 ~ under the License.
 -->
-<%@ page import="org.wso2.carbon.account.mgt.stub.beans.xsd.AccountInfoBean" %>
+<%@ page import="org.apache.stratos.account.mgt.AccountInfoBean" %>
 <%@ page import="org.wso2.carbon.account.mgt.ui.clients.AccountMgtClient" %>
 <%@ page import="org.wso2.carbon.account.mgt.ui.clients.UsagePlanClient" %>
 <%@ page import="org.wso2.carbon.stratos.common.constants.StratosConstants" %>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/pom.xml
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/pom.xml b/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/pom.xml
index 28fe6f9..599833d 100644
--- a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/pom.xml
+++ b/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/pom.xml
@@ -23,8 +23,7 @@
 <relativePath>../../pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>org.wso2.carbon.account.mgt</artifactId>
+    <modelVersion>4.0.0</modelVorg.apache.stratos.account.mgtg.wso2.carbon.account.mgt</artifactId>
     <packaging>bundle</packaging>
     <name>WSO2 Stratos - Account Management</name>
 
@@ -45,7 +44,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Bundle-Name>${project.artifactId}</Bundle-Name>
                         <Private-Package>
-                            org.wso2.carbon.account.mgt.*,
+                            org.apache.stratos.account.mgt.*,
                         </Private-Package>
                         <Import-Package>
                             org.wso2.carbon.registry.core.*;version=1.0.1,

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/beans/AccountInfoBean.java
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/beans/AccountInfoBean.java b/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/beans/AccountInfoBean.java
deleted file mode 100644
index ca03e48..0000000
--- a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/beans/AccountInfoBean.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- *  WSO2 Inc. 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.wso2.carbon.account.mgt.beans;
-
-public class AccountInfoBean {
-    private String firstname;
-    private String lastname;
-
-    public String getFirstname() {
-        return firstname;
-    }
-
-    public void setFirstname(String firstname) {
-        this.firstname = firstname;
-    }
-
-    public String getLastname() {
-        return lastname;
-    }
-
-    public void setLastname(String lastname) {
-        this.lastname = lastname;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/internal/AccountMgtServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/internal/AccountMgtServiceComponent.java b/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/internal/AccountMgtServiceComponent.java
deleted file mode 100644
index 4707b02..0000000
--- a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/internal/AccountMgtServiceComponent.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
-*  Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-*  WSO2 Inc. 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.wso2.carbon.account.mgt.internal;
-
-import org.wso2.carbon.account.mgt.util.Util;
-import org.wso2.carbon.email.verification.util.EmailVerifcationSubscriber;
-import org.wso2.carbon.registry.core.service.RegistryService;
-import org.wso2.carbon.stratos.common.TenantBillingService;
-import org.wso2.carbon.stratos.common.listeners.TenantMgtListener;
-import org.wso2.carbon.user.core.service.RealmService;
-import org.wso2.carbon.utils.ConfigurationContextService;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.osgi.service.component.ComponentContext;
-
-/**
- * @scr.component name="org.wso2.carbon.account.mgt" immediate="true"
- * @scr.reference name="registry.service"
- *                interface="org.wso2.carbon.registry.core.service.RegistryService"
- *                cardinality="1..1" policy="dynamic" bind="setRegistryService"
- *                unbind="unsetRegistryService"
- * @scr.reference name="user.realmservice.default"
- *                interface="org.wso2.carbon.user.core.service.RealmService"
- *                cardinality="1..1" policy="dynamic" bind="setRealmService"
- *                unbind="unsetRealmService"
- * @scr.reference name="config.context.service"
- *                interface="org.wso2.carbon.utils.ConfigurationContextService"
- *                cardinality="1..1" policy="dynamic"
- *                bind="setConfigurationContextService"
- *                unbind="unsetConfigurationContextService"
- * @scr.reference name="emailverification.service" interface=
- *                "org.wso2.carbon.email.verification.util.EmailVerifcationSubscriber"
- *                cardinality="1..1" policy="dynamic"
- *                bind="setEmailVerificationService"
- *                unbind="unsetEmailVerificationService"
- * @scr.reference name="org.wso2.carbon.tenant.mgt.listener.service"
- *                interface="org.wso2.carbon.stratos.common.listeners.TenantMgtListener"
- *                cardinality="0..n" policy="dynamic"
- *                bind="setTenantMgtListenerService"
- *                unbind="unsetTenantMgtListenerService"
- * @scr.reference name="default.tenant.billing.service"
- *                interface="org.wso2.carbon.stratos.common.TenantBillingService"
- *                cardinality="1..1" policy="dynamic"
- *                bind="setTenantBillingService"
- *                unbind="unsetTenantBillingService"
- */
-public class AccountMgtServiceComponent {
-    private static Log log = LogFactory.getLog(AccountMgtServiceComponent.class);
-    private static ConfigurationContextService configContextService = null;
-    private static TenantBillingService billingService = null;
-    
-    protected void activate(ComponentContext context) {
-        try {
-            Util.loadEmailVerificationConfig();
-            log.debug("******* Stratos account management bundle is activated ******* ");
-        } catch (Exception e) {
-            log.error("******* Stratos account management bundle failed activating ****", e);
-        }
-    }
-
-    protected void deactivate(ComponentContext context) {
-        log.debug("******* Stratos account managment bundle is deactivated ******* ");
-    }
-
-    protected void setRegistryService(RegistryService registryService) {
-        Util.setRegistryService(registryService);
-    }
-
-    protected void unsetRegistryService(RegistryService registryService) {
-        Util.setRegistryService(null);
-    }
-
-    protected void setRealmService(RealmService realmService) {
-        Util.setRealmService(realmService);
-    }
-
-    protected void unsetRealmService(RealmService realmService) {
-        Util.setRealmService(null);
-    }
-
-    protected void setConfigurationContextService(ConfigurationContextService contextService) {
-        if (log.isDebugEnabled()) {
-            log.debug("Setting the ConfigurationContext");
-        }
-        configContextService = contextService;
-    }
-
-    protected void unsetConfigurationContextService(ConfigurationContextService contextService) {
-        if (log.isDebugEnabled()) {
-            log.debug("Unsetting the ConfigurationContext");
-        }
-    }
-
-    protected void setEmailVerificationService(EmailVerifcationSubscriber emailService) {
-        Util.setEmailVerificationService(emailService);
-    }
-
-    protected void unsetEmailVerificationService(EmailVerifcationSubscriber emailService) {
-        Util.setEmailVerificationService(null);
-    }
-
-    protected void setTenantMgtListenerService(TenantMgtListener tenantMgtListener) {
-        Util.addTenantMgtListenerService(tenantMgtListener);
-    }
-
-    protected void unsetTenantMgtListenerService(TenantMgtListener tenantMgtListener) {
-        Util.removeTenantMgtListenerService(tenantMgtListener);
-    }
-    
-    protected void setTenantBillingService(TenantBillingService tenantBillingService) {
-        billingService = tenantBillingService;
-    }
-    
-    protected void unsetTenantBillingService(TenantBillingService tenantBilling) {
-        setTenantBillingService(null);
-    }
-    
-    public static TenantBillingService getBillingService() {
-        return billingService;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/services/AccountMgtService.java
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/services/AccountMgtService.java b/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/services/AccountMgtService.java
deleted file mode 100644
index 17b83e4..0000000
--- a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/services/AccountMgtService.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*
- * Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- * 
- * WSO2 Inc. 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.wso2.carbon.account.mgt.services;
-
-import org.wso2.carbon.account.mgt.beans.AccountInfoBean;
-import org.wso2.carbon.account.mgt.util.Util;
-import org.wso2.carbon.core.AbstractAdmin;
-import org.wso2.carbon.email.verification.util.EmailVerifcationSubscriber;
-import org.wso2.carbon.registry.core.RegistryConstants;
-import org.wso2.carbon.registry.core.Resource;
-import org.wso2.carbon.registry.core.session.UserRegistry;
-import org.wso2.carbon.registry.core.utils.UUIDGenerator;
-import org.wso2.carbon.stratos.common.beans.TenantInfoBean;
-import org.wso2.carbon.stratos.common.constants.StratosConstants;
-import org.wso2.carbon.stratos.common.util.ClaimsMgtUtil;
-import org.wso2.carbon.stratos.common.util.CommonUtil;
-import org.wso2.carbon.tenant.mgt.util.TenantMgtUtil;
-import org.wso2.carbon.user.core.UserCoreConstants;
-import org.wso2.carbon.user.core.UserStoreException;
-import org.wso2.carbon.user.core.UserStoreManager;
-import org.wso2.carbon.user.core.service.RealmService;
-import org.wso2.carbon.user.core.tenant.Tenant;
-import org.wso2.carbon.user.core.tenant.TenantManager;
-import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Account Management Service Class
- */
-public class AccountMgtService extends AbstractAdmin {
-    private static final Log log = LogFactory.getLog(AccountMgtService.class);
-
-    /**
-     * Updates the contact email.
-     *
-     * @param contactEmail email
-     * @throws Exception, if update contact failed.
-     */
-    public void updateContact(String contactEmail) throws Exception {
-        EmailVerifcationSubscriber emailverifier = Util.getEmailVerificationService();
-
-        TenantManager tenantManager = Util.getTenantManager();
-        UserRegistry registry = (UserRegistry) getGovernanceRegistry();
-        if (registry == null) {
-            // we can't continue without having a valid registry in the session
-            String msg = "Error in retrieving the registry for the login tenant.";
-            log.error(msg);
-            throw new Exception(msg);
-        }
-        int tenantId = registry.getTenantId();
-
-        Tenant tenant;
-        try {
-            tenant = (Tenant) tenantManager.getTenant(tenantId);
-        } catch (UserStoreException e) {
-            String msg = "Error in retrieving the tenant information for the tenant id: " +
-                    tenantId + ".";
-            log.error(msg, e);
-            throw new Exception(msg, e);
-        }
-
-        // generating the confirmation key
-        String confirmationKey = UUIDGenerator.generateUUID();
-        UserRegistry superTenantSystemRegistry =
-                Util.getGovernanceSystemRegistry(MultitenantConstants.SUPER_TENANT_ID);
-        Resource resource;
-        String emailVerificationPath = StratosConstants.ADMIN_EMAIL_VERIFICATION_FLAG_PATH +
-                RegistryConstants.PATH_SEPARATOR + tenantId;
-        if (superTenantSystemRegistry.resourceExists(emailVerificationPath)) {
-            resource = superTenantSystemRegistry.get(emailVerificationPath);
-        } else {
-            resource = superTenantSystemRegistry.newResource();
-        }
-        resource.setContent(confirmationKey);
-        superTenantSystemRegistry.put(emailVerificationPath, resource);
-
-        try {
-            Map<String, String> datatostore = new HashMap<String, String>();
-            datatostore.put("first-name",
-                    ClaimsMgtUtil.getFirstName(Util.getRealmService(), tenantId));
-            datatostore.put("email", contactEmail);
-            datatostore.put("userName", tenant.getAdminName());
-            datatostore.put("tenantDomain", tenant.getDomain());
-            datatostore.put("confirmationKey", confirmationKey);
-            emailverifier.requestUserVerification(datatostore, Util.getEmailVerifierConfig());
-        } catch (Exception e) {
-            String msg = "Error in adding tenant, tenant domain: " + tenant.getDomain() + ".";
-            log.error(msg);
-            throw new Exception(msg, e);
-        }
-    }
-
-    /**
-     * gets the contact of the tenant admin
-     *
-     * @throws Exception, if getting the contact email address failed.
-     * @return, the contact email address
-     */
-    public String getContact() throws Exception {
-        TenantManager tenantManager = Util.getTenantManager();
-        UserRegistry registry = (UserRegistry) getGovernanceRegistry();
-        if (registry == null) {
-            // we can't continue without having a valid registry in the session
-            String msg = "Error in retrieving the registry for the login tenant.";
-            log.error(msg);
-            throw new Exception(msg);
-        }
-        int tenantId = registry.getTenantId();
-        // get the tenant information from the tenant manager
-        Tenant tenant;
-        try {
-            tenant = (Tenant) tenantManager.getTenant(tenantId);
-        } catch (UserStoreException e) {
-            String msg = "Error in retrieving the tenant information for the tenant id: " +
-                    tenantId + ".";
-            log.error(msg, e);
-            throw new Exception(msg, e);
-        }
-        return tenant.getEmail();
-    }
-
-    /**
-     * Updates the fullname information
-     *
-     * @param accountInfoBean profile information stored in AccountInfoBean
-     * @return true, if updated successfully.
-     * @throws Exception UserStoreException.
-     */
-    public boolean updateFullname(AccountInfoBean accountInfoBean) throws Exception {
-        TenantManager tenantManager = Util.getTenantManager();
-        UserRegistry registry = (UserRegistry) getGovernanceRegistry();
-        if (registry == null) {
-            // we can't continue without having a valid registry in the session
-            String msg = "Error in retrieving the registry for the login tenant.";
-            log.error(msg);
-            throw new Exception(msg);
-        }
-        int tenantId = registry.getTenantId();
-        // get the tenant information from the tenant manager
-        Tenant tenant;
-        try {
-            tenant = (Tenant) tenantManager.getTenant(tenantId);
-        } catch (UserStoreException e) {
-            String msg = "Error in retrieving the tenant information for the tenant id: " +
-                    tenantId + ".";
-            log.info(msg, e);
-            throw new Exception(msg, e);
-        }
-        RealmService realmService = Util.getRealmService();
-        try {
-            Map<String, String> claimsMap = new HashMap<String, String>();
-            claimsMap.put(UserCoreConstants.ClaimTypeURIs.GIVEN_NAME,
-                    accountInfoBean.getFirstname());
-            claimsMap.put(UserCoreConstants.ClaimTypeURIs.SURNAME, accountInfoBean.getLastname());
-            UserStoreManager userStoreManager =
-                    (UserStoreManager) realmService.getTenantUserRealm(tenantId)
-                            .getUserStoreManager();
-            userStoreManager.setUserClaimValues(
-                    ClaimsMgtUtil.getAdminUserNameFromTenantId(realmService, tenantId),
-                    claimsMap, UserCoreConstants.DEFAULT_PROFILE);
-            log.info("FirstName: " + accountInfoBean.getFirstname() +
-                    " has been updated to the tenant admin " +
-                    ClaimsMgtUtil.getAdminUserNameFromTenantId(realmService, tenantId) + " of " +
-                    tenant.getDomain());
-            
-            //Notify tenant update to all listeners
-            TenantInfoBean tenantInfoBean = new TenantInfoBean();
-            tenantInfoBean.setTenantId(tenantId);
-            tenantInfoBean.setFirstname(accountInfoBean.getFirstname());
-            tenantInfoBean.setLastname(accountInfoBean.getLastname());
-            Util.alertTenantUpdate(tenantInfoBean);
-            
-            return true;
-        } catch (Exception e) {
-            // this is expected, as many users haven't given their fullnames
-            // during their registration.
-            String msg =
-                    "Error in updating the firstname: " + accountInfoBean.getFirstname() +
-                            " for the tenant admin: " +
-                            ClaimsMgtUtil.getAdminUserNameFromTenantId(realmService, tenantId);
-            log.info(msg);
-            throw new Exception(msg, e);
-        }
-    }
-
-    /**
-     * gets the profile information - saved as claims -
-     * currently saved claims are first name and last name - hence the profile so far is a fullname.
-     *
-     * @return AccountInfoBean - Currently depicts the fullname as an object.
-     * @throws Exception, UserStoreException
-     */
-    public AccountInfoBean getFullname() throws Exception {
-
-        String firstname = "", lastname = "";
-        TenantManager tenantManager = Util.getTenantManager();
-        UserRegistry registry = (UserRegistry) getGovernanceRegistry();
-        if (registry == null) {
-            // we can't continue without having a valid registry in the session
-            String msg = "Error in retrieving the registry for the login tenant.";
-            log.error(msg);
-            throw new Exception(msg);
-        }
-        int tenantId = registry.getTenantId();
-        // get the tenant information from the tenant manager
-        Tenant tenant;
-        try {
-            tenant = (Tenant) tenantManager.getTenant(tenantId);
-        } catch (UserStoreException e) {
-            String msg = "Error in retrieving the tenant information for the tenant id: " +
-                    tenantId + ".";
-            log.info(msg, e);
-            throw new Exception(msg, e);
-        }
-
-        // getting the other parameters from the claims.
-        try {
-            firstname = ClaimsMgtUtil.getFirstName(Util.getRealmService(), tenantId);
-
-        } catch (Exception e) {
-            String msg = "Error in retrieving the firstname for the admin of the domain " +
-                    tenant.getDomain();
-            log.info(msg);
-        }
-        try {
-            lastname = ClaimsMgtUtil.getLastName(Util.getRealmService(), tenantId);
-        } catch (Exception e) {
-            // this is expected, as many users haven't given their lastnames
-            // during their registration.
-            String msg = "Error in retrieving the Lastname for the admin of the domain " +
-                    tenant.getDomain();
-            log.info(msg);
-        }
-
-        AccountInfoBean accountInfoBean = new AccountInfoBean();
-        accountInfoBean.setFirstname(firstname);
-        accountInfoBean.setLastname(lastname);
-        return accountInfoBean;
-    }
-
-
-    /**
-     * deactivates the tenant
-     *
-     * @throws Exception, if deactivating the tenant failed.
-     */
-    public void deactivate() throws Exception {
-        // The one who have a proper permission will be able to deactivate the tenant.
-        TenantManager tenantManager = Util.getTenantManager();
-        UserRegistry registry = (UserRegistry) getGovernanceRegistry();
-        if (registry == null) {
-            // we can't continue without having a valid registry in the session
-            String msg = "Error in retrieving the registry for the login tenant.";
-            log.error(msg);
-            throw new Exception(msg);
-        }
-        int tenantId = registry.getTenantId();
-        try {
-            tenantManager.deactivateTenant(tenantId);
-        } catch (UserStoreException e) {
-            String msg = "Error in deactivating the tenant id: " + tenantId + ".";
-            log.error(msg, e);
-            throw new Exception(msg, e);
-        }
-
-        //Notify tenant deactivation to Listeners
-        Util.alertTenantDeactivation(tenantId);
-    }
-
-    /**
-     * checks whether the domain is validated.
-     *
-     * @return true, if the domain has been validated.
-     * @throws Exception, if the domain validation failed.
-     */
-    public boolean isDomainValidated() throws Exception {
-        // first we will get the current domain name
-        TenantManager tenantManager = Util.getTenantManager();
-        UserRegistry registry = (UserRegistry) getGovernanceRegistry();
-        if (registry == null) {
-            // we can't continue without having a valid registry in the session
-            String msg = "Error in retrieving the registry for the login tenant.";
-            log.error(msg);
-            throw new Exception(msg);
-        }
-        int tenantId = registry.getTenantId();
-        // get the tenant information from the tenant manager
-        Tenant tenant;
-        try {
-            tenant = (Tenant) tenantManager.getTenant(tenantId);
-        } catch (UserStoreException e) {
-            String msg = "Error in retrieving the tenant information for the tenant id: " +
-                    tenantId + ".";
-            log.error(msg, e);
-            throw new Exception(msg, e);
-        }
-        String domainName = tenant.getDomain();
-        TenantMgtUtil.validateDomain(domainName);
-
-        String domainValidationPath = StratosConstants.TENANT_DOMAIN_VERIFICATION_FLAG_PATH +
-                RegistryConstants.PATH_SEPARATOR + tenantId;
-        UserRegistry superTenantRegistry = Util.getGovernanceSystemRegistry(
-                MultitenantConstants.SUPER_TENANT_ID);
-        if (superTenantRegistry.resourceExists(domainValidationPath)) {
-            Resource validationFlagR = superTenantRegistry.get(domainValidationPath);
-            return "true".equals(validationFlagR.getProperty(domainName));
-        }
-        return false;
-    }
-
-    /**
-     * If the domain validation has been completed.
-     *
-     * @param validatedDomain the domain being validated.
-     * @param successKey      success key
-     * @return true, if the domain has been validated successfully.
-     * @throws Exception, if the domain validation failed.
-     */
-    public boolean finishedDomainValidation(
-            String validatedDomain, String successKey) throws Exception {
-        // create a flag on domain validation, so that we can move the content
-        // of the current domain name to the new validated domain name
-        if (!CommonUtil.validateDomainFromSuccessKey(Util.getGovernanceSystemRegistry(
-                MultitenantConstants.SUPER_TENANT_ID), validatedDomain, successKey)) {
-            String msg = "Domain: " + validatedDomain + " is not validated against successKey: " +
-                    successKey + ".";
-            log.error(msg);
-            throw new Exception(msg);
-        }
-
-        // we keep an entry about domain validation here.
-
-        // first we will get the current domain name
-        UserRegistry registry = (UserRegistry) getGovernanceRegistry();
-        if (registry == null) {
-            // we can't continue without having a valid registry in the session
-            String msg = "Error in retrieving the registry for the login tenant.";
-            log.error(msg);
-            throw new Exception(msg);
-        }
-        int tenantId = registry.getTenantId();
-
-        // keep the domain validation path.
-
-        String domainValidationPath = StratosConstants.TENANT_DOMAIN_VERIFICATION_FLAG_PATH +
-                RegistryConstants.PATH_SEPARATOR + tenantId;
-        UserRegistry superTenantRegistry =
-                Util.getGovernanceSystemRegistry(MultitenantConstants.SUPER_TENANT_ID);
-        Resource validationFlagR = superTenantRegistry.newResource();
-        validationFlagR.setProperty(validatedDomain, "true");
-        superTenantRegistry.put(domainValidationPath, validationFlagR);
-
-        return true;
-    }
-
-    /**
-     * Check whether the domain is available.
-     *
-     * @param domainName domain name
-     * @return true, if the domain is available to register.
-     * @throws Exception, if the domain validation failed.
-     */
-    public boolean checkDomainAvailability(String domainName) throws Exception {
-        TenantManager tenantManager = Util.getTenantManager();
-        int tenantId = tenantManager.getTenantId(domainName);
-        return tenantId < 0;
-    }
-
-    /**
-     * check whether the email has been validated.
-     *
-     * @throws Exception, if the validation failed.
-     * @return, true if already validated.
-     */
-    public boolean isEmailValidated() throws Exception {
-        UserRegistry userRegistry = (UserRegistry) getGovernanceRegistry();
-        if (userRegistry.getTenantId() == MultitenantConstants.SUPER_TENANT_ID) {
-            // no email validation step required for super tenant
-            return true;
-        }
-
-        String email = getContact();
-        UserRegistry superTenantSystemRegistry =
-                Util.getGovernanceSystemRegistry(MultitenantConstants.SUPER_TENANT_ID);
-        String emailVerificationPath = StratosConstants.ADMIN_EMAIL_VERIFICATION_FLAG_PATH +
-                RegistryConstants.PATH_SEPARATOR +
-                userRegistry.getTenantId();
-        if (!superTenantSystemRegistry.resourceExists(emailVerificationPath)) {
-            // the confirmation key should exist,otherwise fail registration
-            return false;
-        }
-        Resource resource = superTenantSystemRegistry.get(emailVerificationPath);
-
-        return "true".equals(resource.getProperty(email));
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/services/EmailValidationService.java
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/services/EmailValidationService.java b/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/services/EmailValidationService.java
deleted file mode 100644
index a8af206..0000000
--- a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/services/EmailValidationService.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (c) 2008, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed 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.wso2.carbon.account.mgt.services;
-
-import org.wso2.carbon.account.mgt.internal.AccountMgtServiceComponent;
-import org.wso2.carbon.account.mgt.util.Util;
-import org.wso2.carbon.registry.core.RegistryConstants;
-import org.wso2.carbon.registry.core.Resource;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.registry.core.session.UserRegistry;
-import org.wso2.carbon.stratos.common.beans.TenantInfoBean;
-import org.wso2.carbon.stratos.common.constants.StratosConstants;
-import org.wso2.carbon.stratos.common.util.CommonUtil;
-import org.wso2.carbon.user.api.Tenant;
-import org.wso2.carbon.user.core.UserStoreException;
-import org.wso2.carbon.user.core.tenant.TenantManager;
-import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Email Validation Service
- */
-public class EmailValidationService {
-    private static final Log log = LogFactory.getLog(EmailValidationService.class);
-
-    /**
-     * Proceed updating the contact email address
-     *
-     * @param domain          tenant domain
-     * @param email           email address
-     * @param confirmationKey confirmation key.
-     * @throws Exception, RegistryException.
-     */
-    public void proceedUpdateContact(String domain, String email, String confirmationKey)
-            throws Exception {
-
-        TenantManager tenantManager = Util.getTenantManager();
-        int tenantId;
-
-        try {
-            tenantId = tenantManager.getTenantId(domain);
-        } catch (UserStoreException e) {
-            String msg = "Error in adding tenant, tenant domain: " + domain + ".";
-            log.error(msg);
-            throw new RegistryException(msg, e);
-        }
-
-        UserRegistry superTenantSystemRegistry = Util.getGovernanceSystemRegistry(
-                MultitenantConstants.SUPER_TENANT_ID);
-        String emailVerificationPath =
-                StratosConstants.ADMIN_EMAIL_VERIFICATION_FLAG_PATH +
-                RegistryConstants.PATH_SEPARATOR + tenantId;
-        if (!superTenantSystemRegistry.resourceExists(emailVerificationPath)) {
-            // the confirmation key should exist,otherwise fail registraion
-            String msg = "The confirmationKey doesn't exist in service.";
-            log.error(msg);
-            throw new RegistryException(msg);
-        }
-        Resource resource = superTenantSystemRegistry.get(emailVerificationPath);
-        String actualConfirmationKey = null;
-        Object content = resource.getContent();
-        if (content instanceof String) {
-            actualConfirmationKey = (String) content;
-        } else if (content instanceof byte[]) {
-            actualConfirmationKey = new String((byte[]) content);
-        }
-
-        if (actualConfirmationKey == null || !actualConfirmationKey.equals(confirmationKey)) {
-            // validation will fail.
-            String msg = "The email confirmation key is not matching";
-            log.error(msg);
-            throw new RegistryException(msg);
-        }
-
-        resource.setProperty(email, "true");
-
-        // now we will really update the tenant email
-        Tenant tenant;
-        try {
-            tenant = tenantManager.getTenant(tenantId);
-        } catch (UserStoreException e) {
-            String msg =
-                    "Error in retrieving the tenant information for the tenant id: " + tenantId +
-                    ".";
-            log.error(msg, e);
-            throw new RegistryException(msg, e);
-        }
-
-        // If TenantActivation is moderated, the mail address associated with the validation link
-        // would not be the tenant email. Otherwise, the validation mail would be the tenant email.
-        if (!CommonUtil.isTenantActivationModerated()) {
-            tenant.setEmail(email);
-        }
-
-        try {
-            tenantManager.updateTenant(tenant);
-        } catch (UserStoreException e) {
-            String msg =
-                    "Error in updating the tenant information for the tenant id: " + tenantId + ".";
-            log.error(msg, e);
-            throw new RegistryException(msg, e);
-        }
-
-        // activate the tenant on successful validation of the email, if it is not already activated.
-        if ("false".equals(resource.getProperty(StratosConstants.IS_EMAIL_VALIDATED))) {
-            tenantManager.activateTenant(tenantId);
-            // set the registry flag
-            resource.editPropertyValue(StratosConstants.IS_EMAIL_VALIDATED, "false", "true");
-
-            if (log.isDebugEnabled()) {
-                log.debug("Tenant : " + tenantId + " is activated after validating the " +
-                          "email of the tenant admin.");
-            }
-            
-            //Notify all the listeners that tenant has been activated for the first time
-            Util.alertTenantInitialActivation(tenantId);
-
-            //Activating the usage plan
-            try{
-                AccountMgtServiceComponent.getBillingService().activateUsagePlan(domain);
-            }catch(Exception e){
-                log.error("Error occurred while activating the usage plan for tenant: " + domain
-                        + " tenant Id: " + tenantId, e);
-            }
-
-        }
-        
-        //This is considered an update. Hence notify the update to all listeners
-        TenantInfoBean tenantInfoBean = new TenantInfoBean();
-        tenantInfoBean.setTenantId(tenantId);
-        tenantInfoBean.setTenantDomain(domain);
-        tenantInfoBean.setEmail(email);
-        Util.alertTenantUpdate(tenantInfoBean);
-
-        // update the registry
-        superTenantSystemRegistry.put(emailVerificationPath, resource);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/util/Util.java
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/util/Util.java b/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/util/Util.java
deleted file mode 100644
index 25f7673..0000000
--- a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/java/org/wso2/carbon/account/mgt/util/Util.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- *  Copyright (c) 2005-2008, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- *  WSO2 Inc. 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.wso2.carbon.account.mgt.util;
-
-import org.wso2.carbon.email.verification.util.EmailVerifcationSubscriber;
-import org.wso2.carbon.email.verification.util.EmailVerifierConfig;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.registry.core.service.RegistryService;
-import org.wso2.carbon.registry.core.session.UserRegistry;
-import org.wso2.carbon.stratos.common.beans.TenantInfoBean;
-import org.wso2.carbon.stratos.common.constants.StratosConstants;
-import org.wso2.carbon.stratos.common.exception.StratosException;
-import org.wso2.carbon.stratos.common.listeners.TenantMgtListener;
-import org.wso2.carbon.user.core.service.RealmService;
-import org.wso2.carbon.user.core.tenant.TenantManager;
-import org.wso2.carbon.utils.CarbonUtils;
-
-import org.apache.axis2.context.MessageContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-/**
- * Util methods for AccountMgt
- */
-public class Util {
-
-    private static final Log log = LogFactory.getLog(Util.class);
-
-    private static RegistryService registryService;
-    private static RealmService realmService;
-    private static EmailVerifcationSubscriber emailVerificationService = null;
-    private static EmailVerifierConfig emailVerfierConfig = null;
-    private static List<TenantMgtListener> tenantMgtListeners = new ArrayList<TenantMgtListener>();
-
-    public static synchronized void setRegistryService(RegistryService service) {
-        if (registryService == null) {
-            registryService = service;
-        }
-    }
-
-    
-    public static RealmService getRealmService() {
-        return realmService;
-    }
-
-
-    public static RegistryService getRegistryService() {
-        return registryService;
-    }
-
-    public static synchronized void setEmailVerificationService(EmailVerifcationSubscriber service) {
-        if (emailVerificationService == null) {
-            emailVerificationService = service;
-        }
-    }
-
-    public static EmailVerifcationSubscriber getEmailVerificationService() {
-        return emailVerificationService;
-    }
-
-
-    public static synchronized void setRealmService(RealmService service) {
-        if (realmService == null) {
-            realmService = service;
-        }
-    }
-
-
-    public static TenantManager getTenantManager() {
-        return realmService.getTenantManager();
-    }
-
-    public static UserRegistry getGovernanceSystemRegistry(int tenantId) throws RegistryException {
-        return registryService.getGovernanceSystemRegistry(tenantId);
-    }
-
-    public static HttpSession getRequestSession() throws RegistryException {
-        MessageContext messageContext = MessageContext.getCurrentMessageContext();
-        if (messageContext == null) {
-            String msg = "Could not get the user's session. Message context not found.";
-            log.error(msg);
-            throw new RegistryException(msg);
-        }
-
-        HttpServletRequest request =
-                (HttpServletRequest) messageContext.getProperty("transport.http.servletRequest");
-
-        return request.getSession();
-    }
-
-    public static void loadEmailVerificationConfig() {
-        String configXml = CarbonUtils.getCarbonConfigDirPath()+ File.separator
-                           + StratosConstants.EMAIL_CONFIG +File.separator +"email-update.xml";
-        emailVerfierConfig = org.wso2.carbon.email.verification.util.Util.loadeMailVerificationConfig(configXml);
-    }
-
-    public static EmailVerifierConfig getEmailVerifierConfig() {
-        return emailVerfierConfig;
-    }
-
-    public static void addTenantMgtListenerService(TenantMgtListener tenantMgtListener) {
-        tenantMgtListeners.add(tenantMgtListener);
-        sortTenantMgtListeners();
-    }
-
-    public static void removeTenantMgtListenerService(TenantMgtListener tenantMgtListener) {
-        tenantMgtListeners.remove(tenantMgtListener);
-        sortTenantMgtListeners();
-    }
-    
-    private static void sortTenantMgtListeners() {
-        Collections.sort(tenantMgtListeners, new Comparator<TenantMgtListener>() {
-            public int compare(TenantMgtListener o1, TenantMgtListener o2) {
-                return o1.getListenerOrder() - o2.getListenerOrder();
-            }
-        });
-    }
-    
-    public static void alertTenantRenames(int tenantId, String oldName, 
-                                          String newName) throws StratosException {
-
-        for (TenantMgtListener tenantMgtLister : tenantMgtListeners) {
-            tenantMgtLister.onTenantRename(tenantId, oldName, newName);
-        }
-    }
-    
-    public static void alertTenantDeactivation(int tenantId) throws StratosException {
-
-        for (TenantMgtListener tenantMgtLister : tenantMgtListeners) {
-            tenantMgtLister.onTenantDeactivation(tenantId);
-        }
-    }
-    
-    public static void alertTenantInitialActivation(int tenantId) throws StratosException {
-
-        for (TenantMgtListener tenantMgtLister : tenantMgtListeners) {
-            tenantMgtLister.onTenantInitialActivation(tenantId);
-        }
-    }
-    
-    public static void alertTenantUpdate(TenantInfoBean tenantInfoBean) throws StratosException {
-
-        for (TenantMgtListener tenantMgtLister : tenantMgtListeners) {
-            tenantMgtLister.onTenantUpdate(tenantInfoBean);
-        }
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/resources/META-INF/services.xml
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/resources/META-INF/services.xml b/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/resources/META-INF/services.xml
index 8b52fd8..a5deded 100644
--- a/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/resources/META-INF/services.xml
+++ b/components/stratos/account-mgt/org.wso2.carbon.account.mgt/2.1.0/src/main/resources/META-INF/services.xml
@@ -22,7 +22,7 @@
             <transport>https</transport>
         </transports>
         <parameter name="ServiceClass" locked="false">
-            org.wso2.carbon.account.mgt.services.AccountMgtService
+            org.apache.stratos.account.mgt.services.AccountMgtService
         </parameter>
 
         <operation name="updateContact">
@@ -68,7 +68,7 @@
             <transport>https</transport>
         </transports>
         <parameter name="ServiceClass" locked="false">
-            org.wso2.carbon.account.mgt.services.EmailValidationService
+            org.apache.stratos.account.mgt.services.EmailValidationService
         </parameter>
 
         <operation name="proceedUpdateContact">


[06/12] Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/META-INF/MANIFEST.MF
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/META-INF/MANIFEST.MF b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7afdb30
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/META-INF/MANIFEST.MF
@@ -0,0 +1,121 @@
+Manifest-Version: 1.0
+Service-Component: OSGI-INF/serviceComponents.xml
+Export-Package: org.apache.stratos.adc.mgt.utils;uses:="org.wso2.carbo
+ n.stratos.cloud.controller.stub,org.apache.commons.logging,org.eclips
+ e.jgit.api,org.apache.axis2.clustering.management,org.apache.axis2.cl
+ ustering,org.eclipse.jgit.api.errors,org.wso2.carbon.adc.topology.mgt
+ .service,org.wso2.carbon.stratos.cloud.controller.util.xsd,org.wso2.c
+ arbon.utils.multitenancy,org.wso2.carbon.adc.topology.mgt.serviceobje
+ cts,org.apache.stratos.adc.mgt.client,org.eclipse.jgit.transport,com.
+ google.gson,org.apache.axis2,org.apache.stratos.adc.mgt.service,org.e
+ clipse.jgit.storage.file,org.apache.axis2.context,org.apache.stratos.
+ adc.mgt.dto,org.eclipse.jgit.lib,javax.activation,org.apache.stratos.
+ adc.mgt.dns,org.apache.axis2.engine,org.apache.stratos.adc.mgt.except
+ ion,org.apache.stratos.adc.mgt.dao,org.wso2.carbon.utils,org.apache.s
+ tratos.adc.mgt.internal,org.wso2.securevault,org.apache.axiom.om.impl
+ .builder,org.apache.commons.codec.binary,javax.crypto,org.apache.axio
+ m.om,javax.xml.namespace,javax.crypto.spec,org.apache.axiom.om.xpath,
+ javax.xml.transform.dom,org.w3c.dom,org.xml.sax,javax.xml.stream,java
+ x.xml.transform,org.apache.axiom.om.impl.dom,org.jaxen,javax.xml.tran
+ sform.stream,javax.xml.validation,org.eclipse.jgit.revwalk,com.gitbli
+ t.models,org.eclipse.jgit.dircache,com.gitblit.utils,com.gitblit,java
+ x.naming,org.apache.tomcat.jdbc.pool,javax.sql,org.wso2.carbon.core,o
+ rg.wso2.carbon.core.multitenancy,org.wso2.carbon.core.multitenancy.ut
+ ils";version="2.1.3",org.apache.stratos.adc.mgt.service;uses:="org.ap
+ ache.axis2,org.apache.commons.logging,org.wso2.carbon.core,org.apache
+ .stratos.adc.mgt.custom.domain,org.apache.axis2.context,org.wso2.carb
+ on.context,org.apache.stratos.adc.mgt.utils,org.apache.stratos.adc.mg
+ t.dto,org.wso2.carbon.adc.topology.mgt.service,org.apache.stratos.adc
+ .mgt.dns,org.wso2.carbon.stratos.cloud.controller.util.xsd,org.wso2.c
+ arbon.registry.core.exceptions,org.apache.stratos.adc.mgt.exception,o
+ rg.apache.stratos.adc.mgt.dao,org.apache.stratos.adc.mgt.client,org.w
+ so2.carbon.utils,org.apache.stratos.adc.mgt.internal,org.apache.axis2
+ .clustering.management,org.apache.axis2.clustering,org.wso2.carbon.co
+ re.deployment,org.apache.axis2.engine";version="2.1.3",org.apache.str
+ atos.adc.mgt.dns;uses:="org.apache.commons.logging";version="2.1.3",o
+ rg.apache.stratos.adc.mgt.dao;version="2.1.3",org.apache.stratos.adc.
+ mgt.exception;version="2.1.3",org.apache.stratos.adc.mgt.client;uses:
+ ="org.apache.axis2,org.apache.commons.logging,org.wso2.carbon.cartrid
+ ge.agent.stub,org.apache.stratos.adc.mgt.internal,org.apache.axis2.co
+ ntext,javax.activation,org.wso2.carbon.stratos.cloud.controller.stub,
+ org.wso2.carbon.stratos.cloud.controller.util.xsd,org.apache.stratos.
+ adc.mgt.exception,org.apache.axis2.client,org.wso2.carbon.registry.ws
+ .client.registry,org.wso2.carbon.registry.core.exceptions,org.wso2.ca
+ rbon.registry.core";version="2.1.3",org.apache.stratos.adc.mgt.custom
+ .domain;uses:="org.apache.commons.logging,org.wso2.carbon.registry.co
+ re.exceptions,org.apache.stratos.adc.mgt.exception,org.wso2.carbon.re
+ gistry.core,org.apache.stratos.adc.mgt.internal";version="2.1.3",org.
+ apache.stratos.adc.mgt.internal;uses:="org.wso2.carbon.adc.topology.m
+ gt.service,org.wso2.carbon.registry.core.service,org.apache.commons.l
+ ogging,org.wso2.carbon.user.core.service,org.wso2.carbon.registry.cor
+ e.session,org.wso2.carbon.registry.core,org.wso2.carbon.utils,org.apa
+ che.axis2.context,org.apache.stratos.adc.mgt.utils,org.osgi.service.c
+ omponent,org.osgi.framework";version="2.1.3",org.apache.stratos.adc.m
+ gt.dto;uses:="org.wso2.carbon.utils";version="2.1.3"
+Built-By: wso2
+Tool: Bnd-1.43.0
+Bundle-Name: org.apache.stratos.adc.mgt
+Created-By: Apache Maven Bundle Plugin
+Bundle-Vendor: WSO2 Inc
+DynamicImport-Package: *
+Build-Jdk: 1.6.0_31
+Bundle-Version: 2.1.3
+Bnd-LastModified: 1372673128636
+Bundle-Activator: org.apache.stratos.adc.mgt.internal.HostingManagemen
+ tActivator
+Bundle-ManifestVersion: 2
+Bundle-License: http://www.apache.org/licenses/LICENSE-2.0
+Bundle-Description: BE functionalities of ADC
+Import-Package: com.gitblit;resolution:=optional;version="[1.2,2)",com
+ .gitblit.models;resolution:=optional;version="[1.2,2)",com.gitblit.ut
+ ils;resolution:=optional;version="[1.2,2)",com.google.gson;resolution
+ :=optional;version="[2.1,3)",javax.activation;resolution:=optional,ja
+ vax.crypto;resolution:=optional,javax.crypto.spec;resolution:=optiona
+ l,javax.naming;resolution:=optional,javax.sql;resolution:=optional,ja
+ vax.xml.namespace;resolution:=optional,javax.xml.stream;version="1.0.
+ 1",javax.xml.transform;resolution:=optional,javax.xml.transform.dom;r
+ esolution:=optional,javax.xml.transform.stream;resolution:=optional,j
+ avax.xml.validation;resolution:=optional,org.apache.axiom.om;version=
+ "1.2.11.wso2v2",org.apache.axiom.om.impl.builder;version="1.2.11.wso2
+ v2",org.apache.axiom.om.impl.dom;version="1.2.11.wso2v2",org.apache.a
+ xiom.om.xpath;version="1.2.11.wso2v2",org.apache.axis2;version="1.6.1
+ .wso2v6",org.apache.axis2.client;version="1.6.1.wso2v6",org.apache.ax
+ is2.clustering;version="1.6.1.wso2v6",org.apache.axis2.clustering.man
+ agement;version="1.6.1.wso2v6",org.apache.axis2.context;version="1.6.
+ 1.wso2v6",org.apache.axis2.engine;version="1.6.1.wso2v6",org.apache.c
+ ommons.codec.binary;resolution:=optional;version="[1.4,2)",org.apache
+ .commons.logging;resolution:=optional;version="[1.1,2)",org.apache.to
+ mcat.jdbc.pool;resolution:=optional;version="[1.7,2)",org.eclipse.jgi
+ t.api;resolution:=optional;version="[2.1,3)",org.eclipse.jgit.api.err
+ ors;resolution:=optional;version="[2.1,3)",org.eclipse.jgit.dircache;
+ resolution:=optional;version="[2.1,3)",org.eclipse.jgit.lib;resolutio
+ n:=optional;version="[2.1,3)",org.eclipse.jgit.revwalk;resolution:=op
+ tional;version="[2.1,3)",org.eclipse.jgit.storage.file;resolution:=op
+ tional;version="[2.1,3)",org.eclipse.jgit.transport;resolution:=optio
+ nal;version="[2.1,3)",org.jaxen;resolution:=optional;version="[1.1,2)
+ ",org.osgi.framework;version="[1.7,2)",org.osgi.service.component;res
+ olution:=optional;version="[1.2,2)",org.w3c.dom;resolution:=optional,
+ org.wso2.carbon.adc.topology.mgt.service;resolution:=optional;version
+ ="[2.1,3)",org.wso2.carbon.adc.topology.mgt.serviceobjects;resolution
+ :=optional;version="[2.1,3)",org.wso2.carbon.cartridge.agent.stub;res
+ olution:=optional;version="[1.0,2)",org.wso2.carbon.context;resolutio
+ n:=optional;version="[4.1,5)",org.wso2.carbon.core;resolution:=option
+ al;version="[4.0,5)",org.wso2.carbon.core.deployment;resolution:=opti
+ onal;version="[4.0,5)",org.wso2.carbon.core.multitenancy;resolution:=
+ optional;version="[4.0,5)",org.wso2.carbon.core.multitenancy.utils;re
+ solution:=optional;version="[4.0,5)",org.wso2.carbon.registry.core;re
+ solution:=optional;version="[1.0,2)",org.wso2.carbon.registry.core.ex
+ ceptions;resolution:=optional;version="[1.0,2)",org.wso2.carbon.regis
+ try.core.service;resolution:=optional;version="[1.0,2)",org.wso2.carb
+ on.registry.core.session;resolution:=optional;version="[1.0,2)",org.w
+ so2.carbon.registry.ws.client.registry;resolution:=optional;version="
+ [1.0,2)",org.wso2.carbon.stratos.cloud.controller.stub;resolution:=op
+ tional;version="[0.0,1)",org.wso2.carbon.stratos.cloud.controller.uti
+ l.xsd;resolution:=optional;version="[0.0,1)",org.wso2.carbon.user.cor
+ e.service;resolution:=optional;version="[4.1,5)",org.wso2.carbon.util
+ s;resolution:=optional;version="[4.1,5)",org.wso2.carbon.utils.multit
+ enancy;resolution:=optional;version="[4.1,5)",org.wso2.securevault;re
+ solution:=optional,org.xml.sax;resolution:=optional
+Bundle-DocURL: http://wso2.com
+Bundle-SymbolicName: org.apache.stratos.adc.mgt
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/META-INF/services.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/META-INF/services.xml b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/META-INF/services.xml
new file mode 100644
index 0000000..a7ddc11
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/META-INF/services.xml
@@ -0,0 +1,86 @@
+<!-- ~ Copyright WSO2 Inc. (http://www.wso2.com) All Rights
+	Reserved. ~ ~ WSO2 Inc. 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. -->
+<serviceGroup>
+	<service name="ApplicationManagementService" scope="transportsession">
+		<transports>
+			<transport>https</transport>
+		</transports>
+		<description>
+			Admin service for ADC activities
+		</description>
+		<parameter name="ServiceClass">org.apache.stratos.adc.mgt.service.ApplicationManagementService
+        </parameter>
+		<parameter name="enableMTOM">true</parameter>
+		<parameter name="adminService" locked="true">true</parameter>
+		<parameter name="hiddenService" locked="true">true</parameter>
+		<parameter name="AuthorizationAction" locked="true">
+			/permission/admin/manage/modify/webapp    </parameter>
+		<parameter name="DoAuthentication" locked="true">true</parameter>
+	</service>
+
+	<service name="RepoNotificationService" scope="transportsession">
+		<schema schemaNamespace="http://org.apache.axis2/xsd"
+			elementFormDefaultQualified="true" />
+		<transports>
+			<transport>https</transport>
+		</transports>
+		<description>
+			Admin service for receiving git repo update notifications
+		</description>
+		<parameter name="ServiceClass">org.apache.stratos.adc.mgt.service.RepoNotificationService
+		</parameter>
+		<parameter name="enableMTOM">true</parameter>
+		<parameter name="adminService" locked="true">false</parameter>
+		<parameter name="hiddenService" locked="true">false</parameter>
+		<parameter name="AuthorizationAction" locked="false">
+			/permission/admin/manage/modify/webapp
+    </parameter>
+	</service>
+
+	<service name="RepositoryInformationService" scope="transportsession">
+		<schema schemaNamespace="http://org.apache.axis2/xsd"
+			elementFormDefaultQualified="true" />
+		<transports>
+			<transport>https</transport>
+		</transports>
+		<description>
+			Exposes information related to internally created
+			repositories
+        </description>
+		<parameter name="ServiceClass">org.apache.stratos.adc.mgt.service.RepositoryInformationService
+		</parameter>
+		<parameter name="enableMTOM">true</parameter>
+		<parameter name="adminService" locked="true">false</parameter>
+		<parameter name="hiddenService" locked="true">false</parameter>
+		<parameter name="AuthorizationAction" locked="false">
+			/permission/admin/manage/modify/webapp
+    	</parameter>
+	</service>
+
+	<service name="InstanceInformationManagementService" scope="transportsession">
+		<schema schemaNamespace="http://org.apache.axis2/xsd"
+			elementFormDefaultQualified="true" />
+		<transports>
+			<transport>https</transport>
+		</transports>
+		<description>
+			Exposes information related to internally created
+			repositories
+        </description>
+		<parameter name="ServiceClass">org.apache.stratos.adc.mgt.service.InstanceInformationManagementService</parameter>
+		<parameter name="enableMTOM">true</parameter>
+		<parameter name="adminService" locked="true">false</parameter>
+		<parameter name="hiddenService" locked="true">false</parameter>
+		<parameter name="AuthorizationAction" locked="false">
+			/permission/admin/manage/modify/webapp
+    	</parameter>
+	</service>
+
+</serviceGroup>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/CartridgeAgentClient.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/CartridgeAgentClient.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/CartridgeAgentClient.class
new file mode 100644
index 0000000..3fbb22d
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/CartridgeAgentClient.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.class
new file mode 100644
index 0000000..9a88c07
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/RegistryClient.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/RegistryClient.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/RegistryClient.class
new file mode 100644
index 0000000..fcfd110
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/client/RegistryClient.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/custom/domain/RegistryManager.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/custom/domain/RegistryManager.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/custom/domain/RegistryManager.class
new file mode 100644
index 0000000..56157ab
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/custom/domain/RegistryManager.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/CartridgeSubscription.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/CartridgeSubscription.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/CartridgeSubscription.class
new file mode 100644
index 0000000..968c5ea
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/CartridgeSubscription.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/DataCartridge.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/DataCartridge.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/DataCartridge.class
new file mode 100644
index 0000000..c603c26
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/DataCartridge.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/PortMapping.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/PortMapping.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/PortMapping.class
new file mode 100644
index 0000000..22d0ca4
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/PortMapping.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/Repository.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/Repository.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/Repository.class
new file mode 100644
index 0000000..7d29617
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/Repository.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/RepositoryCredentials.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/RepositoryCredentials.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/RepositoryCredentials.class
new file mode 100644
index 0000000..32b7e62
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dao/RepositoryCredentials.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dns/DNSManager.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dns/DNSManager.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dns/DNSManager.class
new file mode 100644
index 0000000..afad245
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dns/DNSManager.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/AppRepo.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/AppRepo.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/AppRepo.class
new file mode 100644
index 0000000..efb183a
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/AppRepo.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/Cartridge.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/Cartridge.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/Cartridge.class
new file mode 100644
index 0000000..c558c00
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/Cartridge.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/CartridgeWrapper.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/CartridgeWrapper.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/CartridgeWrapper.class
new file mode 100644
index 0000000..6626ad2
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/CartridgeWrapper.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/Policy.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/Policy.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/Policy.class
new file mode 100644
index 0000000..4258565
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/Policy.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/PolicyDefinition.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/PolicyDefinition.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/PolicyDefinition.class
new file mode 100644
index 0000000..3ac714e
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/PolicyDefinition.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/RepositoryInformation.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/RepositoryInformation.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/RepositoryInformation.class
new file mode 100644
index 0000000..4330440
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/RepositoryInformation.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/SubscriptionInfo.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/SubscriptionInfo.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/SubscriptionInfo.class
new file mode 100644
index 0000000..5562a2b
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/dto/SubscriptionInfo.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/ADCException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/ADCException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/ADCException.class
new file mode 100644
index 0000000..9f3f3ce
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/ADCException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/AlreadySubscribedException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/AlreadySubscribedException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/AlreadySubscribedException.class
new file mode 100644
index 0000000..8e63624
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/AlreadySubscribedException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/DomainMappingExistsException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/DomainMappingExistsException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/DomainMappingExistsException.class
new file mode 100644
index 0000000..5e13e46
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/DomainMappingExistsException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/DuplicateCartridgeAliasException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/DuplicateCartridgeAliasException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/DuplicateCartridgeAliasException.class
new file mode 100644
index 0000000..3008ed8
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/DuplicateCartridgeAliasException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/InvalidCartridgeAliasException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/InvalidCartridgeAliasException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/InvalidCartridgeAliasException.class
new file mode 100644
index 0000000..8a43f2e
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/InvalidCartridgeAliasException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/InvalidRepositoryException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/InvalidRepositoryException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/InvalidRepositoryException.class
new file mode 100644
index 0000000..6411481
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/InvalidRepositoryException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/NotSubscribedException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/NotSubscribedException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/NotSubscribedException.class
new file mode 100644
index 0000000..9ea7e26
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/NotSubscribedException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/PolicyException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/PolicyException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/PolicyException.class
new file mode 100644
index 0000000..c229b22
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/PolicyException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryCredentialsRequiredException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryCredentialsRequiredException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryCredentialsRequiredException.class
new file mode 100644
index 0000000..fb6cef7
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryCredentialsRequiredException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryRequiredException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryRequiredException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryRequiredException.class
new file mode 100644
index 0000000..3051edc
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryRequiredException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryTransportException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryTransportException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryTransportException.class
new file mode 100644
index 0000000..deb4ad7
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/RepositoryTransportException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/UnregisteredCartridgeException.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/UnregisteredCartridgeException.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/UnregisteredCartridgeException.class
new file mode 100644
index 0000000..a99b8b7
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/exception/UnregisteredCartridgeException.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.class
new file mode 100644
index 0000000..18a25ef
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/DataHolder.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/DataHolder.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/DataHolder.class
new file mode 100644
index 0000000..6424c82
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/DataHolder.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingConstants$WebappState.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingConstants$WebappState.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingConstants$WebappState.class
new file mode 100644
index 0000000..bb0875a
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingConstants$WebappState.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingConstants.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingConstants.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingConstants.class
new file mode 100644
index 0000000..e08bcd2
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingConstants.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingManagementActivator$1.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingManagementActivator$1.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingManagementActivator$1.class
new file mode 100644
index 0000000..4186dd6
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingManagementActivator$1.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingManagementActivator.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingManagementActivator.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingManagementActivator.class
new file mode 100644
index 0000000..1986f86
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/internal/HostingManagementActivator.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/ApplicationManagementService.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/ApplicationManagementService.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/ApplicationManagementService.class
new file mode 100644
index 0000000..edbc2c7
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/ApplicationManagementService.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.class
new file mode 100644
index 0000000..1077068
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepoNotificationService.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepoNotificationService.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepoNotificationService.class
new file mode 100644
index 0000000..def22f9
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepoNotificationService.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.class
new file mode 100644
index 0000000..1102429
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepositoryInformationService.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepositoryInformationService.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepositoryInformationService.class
new file mode 100644
index 0000000..fe00422
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/service/RepositoryInformationService.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.class
new file mode 100644
index 0000000..5ee1316
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeAppType.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeAppType.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeAppType.class
new file mode 100644
index 0000000..c2f2264
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeAppType.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConfigFileReader.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConfigFileReader.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConfigFileReader.class
new file mode 100644
index 0000000..645141d
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConfigFileReader.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConstants$DomainMappingInfo.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConstants$DomainMappingInfo.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConstants$DomainMappingInfo.class
new file mode 100644
index 0000000..78f303a
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConstants$DomainMappingInfo.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConstants.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConstants.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConstants.class
new file mode 100644
index 0000000..dda1118
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeConstants.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeDomain.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeDomain.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeDomain.class
new file mode 100644
index 0000000..6e36782
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/CartridgeDomain.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/DomainInfo.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/DomainInfo.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/DomainInfo.class
new file mode 100644
index 0000000..277bc8f
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/DomainInfo.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PersistenceManager.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PersistenceManager.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PersistenceManager.class
new file mode 100644
index 0000000..90e079c
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PersistenceManager.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder$1.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder$1.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder$1.class
new file mode 100644
index 0000000..26676f8
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder$1.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder$SingletonHolder.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder$SingletonHolder.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder$SingletonHolder.class
new file mode 100644
index 0000000..c89390f
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder$SingletonHolder.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder.class
new file mode 100644
index 0000000..f304c0b
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/PolicyHolder.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/RepositoryCreator.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/RepositoryCreator.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/RepositoryCreator.class
new file mode 100644
index 0000000..6ffc04f
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/RepositoryCreator.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/RepositoryFactory.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/RepositoryFactory.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/RepositoryFactory.class
new file mode 100644
index 0000000..d9b4c2a
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/RepositoryFactory.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/StratosDBUtils.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/StratosDBUtils.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/StratosDBUtils.class
new file mode 100644
index 0000000..68367c7
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/StratosDBUtils.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/SynchronizeRepositoryRequest.class
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/SynchronizeRepositoryRequest.class b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/SynchronizeRepositoryRequest.class
new file mode 100644
index 0000000..2c24993
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/org/apache/stratos/adc/mgt/utils/SynchronizeRepositoryRequest.class differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/policies.xsd
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/policies.xsd b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/policies.xsd
new file mode 100644
index 0000000..87f7b58
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/classes/policies.xsd
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema attributeFormDefault="unqualified"
+	elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+	<xs:element name="policies">
+		<xs:annotation>
+			<xs:documentation>Use below section to specify auto-scaling policies
+				for cartridges.
+			</xs:documentation>
+		</xs:annotation>
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="policy" maxOccurs="unbounded"
+					minOccurs="1">
+					<xs:annotation>
+						<xs:documentation>You can have 1..n policy elements.
+						</xs:documentation>
+					</xs:annotation>
+					<xs:complexType>
+						<xs:sequence>
+							<xs:element type="xs:string" name="description" />
+							<xs:element type="xs:integer" name="min_app_instances" />
+							<xs:element type="xs:integer" name="max_app_instances" />
+							<xs:element type="xs:integer" name="max_requests_per_second" />
+							<xs:element type="xs:decimal" name="alarming_upper_rate" />
+							<xs:element type="xs:decimal" name="alarming_lower_rate" />
+							<xs:element type="xs:decimal" name="scale_down_factor" />
+							<xs:element type="xs:integer" name="rounds_to_average" />
+						</xs:sequence>
+						<xs:attribute type="xs:string" name="name" use="required" />
+						<xs:attribute type="xs:boolean" name="isDefault" use="required" />
+					</xs:complexType>
+				</xs:element>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+</xs:schema>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/org.apache.stratos.adc.mgt-2.1.3.jar
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/org.apache.stratos.adc.mgt-2.1.3.jar b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/org.apache.stratos.adc.mgt-2.1.3.jar
new file mode 100644
index 0000000..eeb7f58
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/org.apache.stratos.adc.mgt-2.1.3.jar differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml
new file mode 100644
index 0000000..0042afc
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.0.0" localization="OSGI-INF/metatype/metatype">
+    <OCD id="org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent" name="%org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent.name" description="%org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent.description"/>
+    <Designate pid="org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent">
+        <Object ocdref="org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent"/>
+    </Designate>
+</metatype:MetaData>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml
new file mode 100644
index 0000000..e499490
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+    <scr:component enabled="true" immediate="true" name="org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent">
+        <implementation class="org.apache.stratos.adc.mgt.internal.ADCManagementServerComponent"/>
+        <property name="service.pid" value="org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent" private="false"/>
+        <reference name="config.context.service" interface="org.wso2.carbon.utils.ConfigurationContextService" cardinality="1..1" policy="dynamic" bind="setConfigurationContextService" unbind="unsetConfigurationContextService" checked="true" strategy="event"/>
+        <reference name="user.realmservice.default" interface="org.wso2.carbon.user.core.service.RealmService" cardinality="1..1" policy="dynamic" bind="setRealmService" unbind="unsetRealmService" checked="true" strategy="event"/>
+        <reference name="registry.service" interface="org.wso2.carbon.registry.core.service.RegistryService" cardinality="1..1" policy="dynamic" bind="setRegistryService" unbind="unsetRegistryService" checked="true" strategy="event"/>
+        <reference name="topology.mgt.service" interface="org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService" cardinality="1..1" policy="dynamic" bind="setTopologyManagementService" unbind="unsetTopologyManagementService" checked="true" strategy="event"/>
+    </scr:component>
+</components>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml
new file mode 100644
index 0000000..a6b439a
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+    <scr:component enabled="true" immediate="true" name="org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent">
+        <implementation class="org.apache.stratos.adc.mgt.internal.ADCManagementServerComponent"/>
+        <property name="service.pid" value="org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent"/>
+        <reference name="config.context.service" interface="org.wso2.carbon.utils.ConfigurationContextService" cardinality="1..1" policy="dynamic" bind="setConfigurationContextService" unbind="unsetConfigurationContextService"/>
+        <reference name="user.realmservice.default" interface="org.wso2.carbon.user.core.service.RealmService" cardinality="1..1" policy="dynamic" bind="setRealmService" unbind="unsetRealmService"/>
+        <reference name="registry.service" interface="org.wso2.carbon.registry.core.service.RegistryService" cardinality="1..1" policy="dynamic" bind="setRegistryService" unbind="unsetRegistryService"/>
+        <reference name="topology.mgt.service" interface="org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService" cardinality="1..1" policy="dynamic" bind="setTopologyManagementService" unbind="unsetTopologyManagementService"/>
+    </scr:component>
+</components>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/test-classes/log4j.properties
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/test-classes/log4j.properties b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/test-classes/log4j.properties
new file mode 100644
index 0000000..d30536d
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/test-classes/log4j.properties
@@ -0,0 +1,8 @@
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.Target=System.out
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1} [%t] %n%m%n
+
+#Loggers
+log4j.rootLogger=info, console
+log4j.logger.org.apache.stratos.adc.mgt=trace
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/test-classes/policies-1.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/test-classes/policies-1.xml b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/test-classes/policies-1.xml
new file mode 100644
index 0000000..7dd37d5
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/test-classes/policies-1.xml
@@ -0,0 +1,22 @@
+<policies>
+	<policy name="single" isDefault="true">
+		<description>Single - Instances: Min 1, Max 1</description>
+		<min_app_instances>1</min_app_instances>
+		<max_app_instances>1</max_app_instances>
+		<max_requests_per_second>5</max_requests_per_second>
+		<alarming_upper_rate>0.7</alarming_upper_rate>
+		<alarming_lower_rate>0.2</alarming_lower_rate>
+		<scale_down_factor>0.25</scale_down_factor>
+		<rounds_to_average>2</rounds_to_average>
+	</policy>
+	<policy name="elastic" isDefault="false">
+		<description>Elastic - Instances: Min 1, Max 4</description>
+		<min_app_instances>1</min_app_instances>
+		<max_app_instances>4</max_app_instances>
+		<max_requests_per_second>5</max_requests_per_second>
+		<alarming_upper_rate>0.7</alarming_upper_rate>
+		<alarming_lower_rate>0.2</alarming_lower_rate>
+		<scale_down_factor>0.25</scale_down_factor>
+		<rounds_to_average>2</rounds_to_average>
+	</policy>
+</policies>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/timestamp
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/timestamp b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/timestamp
new file mode 100644
index 0000000..0da122b
Binary files /dev/null and b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/target/timestamp differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/pom.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/pom.xml b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/pom.xml
index 7c22921..6f0f4a6 100644
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/pom.xml
+++ b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/pom.xml
@@ -26,7 +26,7 @@
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>org.wso2.carbon.adc.mgt.repository.synchronizer</artifactId>
+    <artifactId>org.apache.stratos.adc.mgt.repository.synchronizer</artifactId>
     <version>2.1.1</version>
     <name>Repository Synchronizer</name>
     <description>Repository Synchronizer</description>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/src/main/java/org/wso2/carbon/adc/mgt/reposync/service/RepositorySynchronizer.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/src/main/java/org/wso2/carbon/adc/mgt/reposync/service/RepositorySynchronizer.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/src/main/java/org/wso2/carbon/adc/mgt/reposync/service/RepositorySynchronizer.java
deleted file mode 100644
index 7224253..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/src/main/java/org/wso2/carbon/adc/mgt/reposync/service/RepositorySynchronizer.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * 
- */
-package org.wso2.carbon.adc.mgt.reposync.service;
-
-import java.util.Map;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import net.sf.json.JSONObject;
-
-/**
- * @author wso2
- * 
- */
-@Path("/reposyncservice/")
-public class RepositorySynchronizer {
-
-	@POST
-	@Path("/notify/")
-	@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
-	public void execute(@FormParam("payload") String payload) {
-		Map jsonObject = JSONObject.fromObject(payload);
-		System.out.println("Printing......");
-		Map repoMap = (Map) jsonObject.get("repository");
-		System.out.println("-------------");
-		System.out.println("Repo URL : " + repoMap.get("url"));
-		System.out.println("-------------");
-		System.out.println("-------------");
-		System.out.println("-------------");
-		System.out.println("---JSON customer : " + payload);
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/src/main/webapp/WEB-INF/cxf-servlet.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/src/main/webapp/WEB-INF/cxf-servlet.xml b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/src/main/webapp/WEB-INF/cxf-servlet.xml
index 7b0f718..9454028 100644
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/src/main/webapp/WEB-INF/cxf-servlet.xml
+++ b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.repository.synchronizer/2.1.1/src/main/webapp/WEB-INF/cxf-servlet.xml
@@ -29,6 +29,6 @@
         </jaxrs:serviceBeans>
     </jaxrs:server>
 
-    <bean id="serviceBean" class="org.wso2.carbon.adc.mgt.reposync.service.RepositorySynchronizer"/>
+    <bean id="serviceBean" class="org.apache.stratos.adc.mgt.reposync.service.RepositorySynchronizer"/>
 </beans>
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/pom.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/pom.xml b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/pom.xml
deleted file mode 100644
index fe5c33b..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/pom.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- ~ Copyright (c) 2009-2010, WSO2 Inc. (http://www.wso2.org) All Rights 
-	Reserved. ~ ~ Licensed 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. -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-	<parent>
-		<groupId>org.wso2.carbon</groupId>
-		<artifactId>adc-mgt</artifactId>
-		<version>2.1.0</version>
-		<relativePath>../../pom.xml</relativePath>
-	</parent>
-
-	<modelVersion>4.0.0</modelVersion>
-	<artifactId>org.wso2.carbon.adc.mgt</artifactId>
-	<version>2.1.3</version>
-	<packaging>bundle</packaging>
-	<name>WSO2 Carbon - ADC BE</name>
-	<description>BE functionalities of ADC</description>
-	<url>http://wso2.org</url>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.wso2.carbon</groupId>
-			<artifactId>org.wso2.carbon.registry.ws.client</artifactId>
-		</dependency>
-		<!--<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging-api</artifactId> 
-			</dependency> -->
-		<dependency>
-			<groupId>org.wso2.carbon</groupId>
-			<artifactId>org.wso2.carbon.load.balance.cartridge.autoscaler.service.stub</artifactId>
-			<version>4.1.3</version>
-		</dependency>
-
-		<dependency>
-			<groupId>org.wso2.carbon</groupId>
-			<artifactId>org.wso2.carbon.adc.topology.mgt</artifactId>
-			<version>2.1.1</version>
-		</dependency>
-
-		<dependency>
-			<groupId>org.wso2.carbon</groupId>
-			<artifactId>org.wso2.carbon.utils</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.wso2.carbon</groupId>
-			<artifactId>org.wso2.carbon.cartridge.agent.stub</artifactId>
-			<version>4.1.1</version>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.tomcat.wso2</groupId>
-			<artifactId>jdbc-pool</artifactId>
-			<version>${version.tomcat}.wso2v1</version>
-		</dependency>
-
-		<dependency>
-			<groupId>com.gitblit</groupId>
-			<artifactId>gitblit</artifactId>
-			<version>1.2.0.wso2v1</version>
-		</dependency>
-		<dependency>
-			<groupId>com.google.code.gson</groupId>
-			<artifactId>gson</artifactId>
-			<version>2.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jgit</groupId>
-            <artifactId>org.eclipse.jgit</artifactId>
-            <version>2.1.0.wso2v1</version>
-        </dependency>
-        <dependency>
-            <groupId>com.jcraft</groupId>
-            <artifactId>jsch</artifactId>
-            <version>0.1.49.wso2v1</version>
-        </dependency>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<scope>test</scope>
-		</dependency>
-	</dependencies>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-scr-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-						<Bundle-Name>${project.artifactId}</Bundle-Name>
-						<Bundle-Activator>
-							org.wso2.carbon.adc.mgt.internal.HostingManagementActivator
-                                                </Bundle-Activator>
-						<Private-Package>org.wso2.carbon.adc.mgt.internal.*</Private-Package>
-						<Export-Package>
-							org.wso2.carbon.adc.mgt.utils*,
-							org.wso2.carbon.adc.mgt.service.*,
-							org.wso2.carbon.adc.mgt.*
-                        			</Export-Package>
-						<Import-Package>
-							org.apache.axis2.*; version="1.6.1.wso2v6",
-							org.apache.axiom.*;
-							version="1.2.11.wso2v2",
-							org.apache.neethi.*;
-							version="2.0.4.wso2v4",
-							javax.xml.stream.*; version="1.0.1",
-							javax.wsdl.*; version="1.6.2",
-							org.osgi.framework.*,
-							*;resolution:=optional
-                        			</Import-Package>
-						<DynamicImport-Package>*</DynamicImport-Package>
-					</instructions>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/conf/cartridge-config.properties
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/conf/cartridge-config.properties b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/conf/cartridge-config.properties
deleted file mode 100644
index b495014..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/conf/cartridge-config.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-# Configuration properties
-
-sc.ip=s2_ip
-autoscalerService.url=https://cc.wso2.com:9444/services/CloudControllerService/
-autoscaler.time.out=190000
-cartridge.agent.epr=https://s2_ip:9447/services/CartridgeAgentService
-git.host.name=s2_hostname
-git.host.ip=s2_ip
-git.repo.notification.url=https://sc.wso2.com:9445/services/RepoNotificationService/
-identity.server.url=https://sc.wso2.com:9447/services/RepoNotificationService/
-
-adc.jdbc.url=jdbc:h2:repository/database/WSO2S2_DB
-adc.jdbc.username=wso2carbon
-adc.jdbc.password=wso2carbon
-adc.jdbc.driver=org.h2.Driver
-
-mb.server.ip=cc.wso2.com:5673
-
-feature.externalrepo.validation.enabled=true
-feature.internalrepo.enabled=false
-feature.multitenant.multiplesubscription.enabled=false
-
-internal.repo.username=admin
-internal.repo.password=admin
-
-append.script=SCRIPT_PATH/add_entry_zone_file.sh
-remove.script=SCRIPT_PATH/remove_entry_zone_file.sh
-bind.file.path=/etc/bind/db.STRATOS_DOMAIN
-elb.ip=s2_ip
-
-bam.ip=s2_ip
-bam.port=7714
-
-max.attempts=1000
-
-cartridge.key=KEYPATH
-
-repository.info.epr=https://s2_ip:9445/services/RepositoryInformationService

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/conf/tenant-resource-policy.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/conf/tenant-resource-policy.xml b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/conf/tenant-resource-policy.xml
deleted file mode 100644
index 12bbf74..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/conf/tenant-resource-policy.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/CartridgeAgentClient.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/CartridgeAgentClient.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/CartridgeAgentClient.java
deleted file mode 100644
index 4834f29..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/CartridgeAgentClient.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.client;
-
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.cartridge.agent.stub.CartridgeAgentServiceStub;
-import org.wso2.carbon.adc.mgt.internal.DataHolder;
-
-public class CartridgeAgentClient {
-
-	private static final Log log = LogFactory.getLog(CartridgeAgentClient.class);
-	CartridgeAgentServiceStub stub = null;
-	public CartridgeAgentClient(String epr) throws AxisFault {
-	  ConfigurationContext clientConfigContext = DataHolder.getClientConfigContext();
-	  stub = new CartridgeAgentServiceStub(clientConfigContext, epr);
-    }
-	
-	public void unregister(String domain, String subDomain, String hostName) throws Exception {
-		log.info(" ** Unregistering -- ");
-		stub.unregister(domain, subDomain, hostName);
-	}
-}


[12/12] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos

Posted by sa...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos


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

Branch: refs/heads/master
Commit: 8a76dbf71bbad74504221ff27bbc05f97019c745
Parents: 6724d97 27ed5a9
Author: Sajith Kariyawasam <sa...@wso2.com>
Authored: Tue Jul 2 13:48:27 2013 +0530
Committer: Sajith Kariyawasam <sa...@wso2.com>
Committed: Tue Jul 2 13:48:27 2013 +0530

----------------------------------------------------------------------
 .../4.1.0/pom.xml                               |  31 +--
 .../4.1.0/src/main/Main2.iml                    | 205 ------------------
 .../4.1.0/src/main/Main5.iml                    | 205 ------------------
 .../autoscaler/service/IAutoscalerService.java  |  35 ++--
 .../exception/AutoscalerServiceException.java   |  35 ++--
 .../exception/DeserializationException.java     |  35 ++--
 .../MalformedConfigurationFileException.java    |  35 ++--
 .../exception/NoInstanceFoundException.java     |  33 +--
 .../exception/SerializationException.java       |  35 ++--
 .../service/impl/AutoscalerServiceImpl.java     |  33 +--
 .../internal/AutoscalerServiceDSComponent.java  |  19 ++
 .../autoscaler/service/io/Deserializer.java     |  33 +--
 .../autoscaler/service/io/Serializer.java       |  33 +--
 .../service/jcloud/ComputeServiceBuilder.java   |  35 ++--
 .../service/util/AutoscalerConstant.java        |  35 ++--
 .../autoscaler/service/util/IaasContext.java    |  35 ++--
 .../autoscaler/service/util/IaasProvider.java   |  35 ++--
 .../service/util/InstanceContext.java           |  35 ++--
 .../service/util/ServiceTemplate.java           |  35 ++--
 .../xml/ElasticScalerConfigFileReader.java      |  33 +--
 .../4.1.0/src/test/Test2.iml                    | 206 -------------------
 .../4.1.0/src/test/Test4.iml                    | 205 ------------------
 .../service/util/IaasContextComparatorTest.java |  35 ++--
 .../service/util/IaasContextTest.java           |  35 ++--
 .../xml/ElasticScalerConfigFileReaderTest.java  |  35 ++--
 .../test/resources/elastic-scaler-config.xml    |  31 +--
 .../4.1.3/pom.xml                               |  31 +--
 .../callables/AppNodeSanityCheckCallable.java   |  46 +++--
 .../callables/AutoscaleDeciderCallable.java     |  48 ++---
 .../callables/InstanceCountCallable.java        |  45 ++--
 .../callables/PendingInstanceCountCallable.java |  39 ++--
 .../callables/RunningInstanceCountCallable.java |  41 ++--
 .../clients/CloudControllerClient.java          |  35 ++--
 .../clients/CloudControllerOsgiClient.java      |  33 +--
 .../clients/CloudControllerStubClient.java      |  33 +--
 .../lbautoscale/context/AppDomainContext.java   |  35 ++--
 .../context/LoadBalancerContext.java            |  35 ++--
 .../AutoscalerTaskServiceComponent.java         |  55 +++--
 .../lbautoscale/internal/RegistryManager.java   |  31 +--
 .../mediators/AutoscaleInMediator.java          |  33 +--
 .../mediators/AutoscaleOutMediator.java         |  33 +--
 .../check/PendingInstancesStateChecker.java     |  35 ++--
 .../check/TerminatingInstancesStateChecker.java |  35 ++--
 .../task/AutoscalerTaskInitializer.java         |  29 +--
 .../task/AutoscalerTaskMgmtAdminService.java    |  29 +--
 .../lbautoscale/task/AutoscalingJob.java        |  29 +--
 .../lbautoscale/task/TaskSchedulingManager.java |  29 +--
 .../lbautoscale/util/AutoscaleConstants.java    |  31 +--
 .../lbautoscale/util/AutoscaleUtil.java         |  43 ++--
 .../util/AutoscalerTaskDSHolder.java            |  35 ++--
 .../lbautoscale/AppDomainContextsTest.java      |  35 ++--
 .../4.1.3/pom.xml                               |  31 +--
 .../stratos/lb/endpoint/EndpointConstants.java  |  29 +--
 .../stratos/lb/endpoint/EndpointDeployer.java   |  29 +--
 ...TenantAwareLoadBalanceEndpointException.java |  29 +--
 .../TenantLoadBalanceMembershipHandler.java     |  18 ++
 .../lb/endpoint/builder/TopologySyncher.java    |  18 ++
 .../manager/ClusterDomainManagerImpl.java       |  33 +--
 .../TenantAwareLoadBalanceEndpoint.java         |  18 ++
 .../group/mgt/GroupMgtAgentBuilder.java         |  18 ++
 .../LoadBalanceEndpointServiceComponent.java    |  31 +--
 .../lb/endpoint/internal/RegistryManager.java   |  31 +--
 .../endpoint/subscriber/TopicHealthChecker.java |  35 ++--
 .../endpoint/subscriber/TopologyListener.java   |  18 ++
 .../endpoint/subscriber/TopologySubscriber.java |  18 ++
 .../stratos/lb/endpoint/util/ConfigHolder.java  |  29 +--
 .../lb/endpoint/util/TopologyConstants.java     |  18 ++
 .../common/conf/LoadBalancerConfiguration.java  |  35 ++--
 .../LoadBalancerConfigurationDSComponent.java   |  35 ++--
 .../stratos/lb/common/conf/structure/Node.java  |  33 +--
 .../lb/common/conf/structure/NodeBuilder.java   |  33 +--
 .../stratos/lb/common/conf/util/Constants.java  |  35 ++--
 .../lb/common/conf/util/HostContext.java        |  35 ++--
 .../conf/util/LoadBalancerConfigUtil.java       |  31 +--
 .../common/conf/util/TenantDomainContext.java   |  35 ++--
 .../mgt/SubDomainAwareGroupManagementAgent.java |  35 ++--
 .../RequestTokenReplicationCommand.java         |  33 +--
 .../LoadBalancerConfigurationService.java       |  40 ++--
 .../LoadBalancerConfigurationServiceImpl.java   |  43 ++--
 .../stratos/lb/common/util/DomainMapping.java   |  18 ++
 .../test/LoadBalancerConfigurationTest.java     |  33 +--
 .../stratos/lb/common/test/NodeBuilderTest.java |  33 +--
 82 files changed, 1408 insertions(+), 1962 deletions(-)
----------------------------------------------------------------------



[10/12] Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.classpath
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.classpath b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.classpath
new file mode 100644
index 0000000..227081e
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.classpath
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+  <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
+  <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
+  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp/jstl/wso2/jstl/1.2.1.wso2v1/jstl-1.2.1.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA.jar"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.ws.client/4.1.0/org.wso2.carbon.registry.ws.client-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/wso2/axis2/1.6.1.wso2v9/axis2-1.6.1.wso2v9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/rampart/wso2/rampart-core/1.6.1.wso2v9/rampart-core-1.6.1.wso2v9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/rampart/wso2/rampart-policy/1.6.1.wso2v9/rampart-policy-1.6.1.wso2v9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ws/security/wso2/wss4j/1.5.11.wso2v1/wss4j-1.5.11.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/rampart/wso2/rampart-trust/1.6.1.wso2v9/rampart-trust-1.6.1.wso2v9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.authenticator.proxy/4.1.0/org.wso2.carbon.authenticator.proxy-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/wso2/axiom/1.2.11.wso2v4/axiom-1.2.11.wso2v4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.core/4.1.0/org.wso2.carbon.core-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/osgi/org.eclipse.osgi/3.8.1.v20120830-144521/org.eclipse.osgi-3.8.1.v20120830-144521.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/osgi/org.eclipse.osgi.services/3.3.100.v20120522-1822/org.eclipse.osgi.services-3.3.100.v20120522-1822.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.http.helper/1.1.0.wso2v1/org.eclipse.equinox.http.helper-1.1.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar"/>
+  <classpathentry kind="var" path="M2_REPO/bouncycastle/bcprov-jdk15/132/bcprov-jdk15-132.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.core/4.1.0/org.wso2.carbon.registry.core-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-io/wso2/commons-io/2.0.0.wso2v1/commons-io-2.0.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/annotations/1.3.2/annotations-1.3.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/schema/wso2/XmlSchema/1.4.7.wso2v2/XmlSchema-1.4.7.wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/schema/XmlSchema/1.4.3/XmlSchema-1.4.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.api/4.1.0/org.wso2.carbon.registry.api-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.utils/4.1.0/org.wso2.carbon.utils-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sf/jsr107cache/jsr107cache/1.1.0-wso2v2/jsr107cache-1.1.0-wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.logging/4.1.0/org.wso2.carbon.logging-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.apache.log4j/1.2.13.v200706111418/org.apache.log4j-1.2.13.v200706111418.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
+  <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.queuing/4.1.0/org.wso2.carbon.queuing-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.base/4.1.0/org.wso2.carbon.base-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/securevault/org.wso2.securevault/1.0.0-wso2v2/org.wso2.securevault-1.0.0-wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/axiom-api/1.2.11-wso2v2/axiom-api-1.2.11-wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jaxen/jaxen/1.1.1/jaxen-1.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/axiom-impl/1.2.11-wso2v2/axiom-impl-1.2.11-wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/wstx-asl/3.2.9/wstx-asl-3.2.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jline/jline/0.9.94/jline-0.9.94.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.2/junit-3.8.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.0/commons-cli-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.3/commons-lang-2.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/2.0/commons-io-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.2/commons-codec-1.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.securevault/4.1.0/org.wso2.carbon.securevault-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.caching.core/4.1.0/org.wso2.carbon.caching.core-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/infinispan/wso2/infinispan-core/5.1.2.wso2v1/infinispan-core-5.1.2.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/woodstox-core-asl/4.1.1/woodstox-core-asl-4.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/marshalling/wso2/marshalling/1.3.6.wso2v1/marshalling-1.3.6.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/marshalling/jboss-marshalling/1.3.6.GA/jboss-marshalling-1.3.6.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/marshalling/jboss-marshalling-river/1.3.6.GA/jboss-marshalling-river-1.3.6.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/wso2/jboss-logging/3.1.0.wso2v1/jboss-logging-3.1.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging/3.1.0.CR2/jboss-logging-3.1.0.CR2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jgroups/wso2/jgroups/3.0.6.wso2v1/jgroups-3.0.6.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jgroups/jgroups/3.0.6.Final/jgroups-3.0.6.Final.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.user.api/4.1.0/org.wso2.carbon.user.api-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/wso2/ehcache/1.5.0.wso2v1/ehcache-1.5.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.5.0/ehcache-1.5.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/igniterealtime/smack/wso2/smack/3.0.4.wso2v1/smack-3.0.4.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/igniterealtime/smack/wso2/smackx/3.0.4.wso2v1/smackx-3.0.4.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jdom/jdom/1.0/jdom-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xom/xom/1.0/xom-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/ibm/icu/icu4j/2.6.1/icu4j-2.6.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-fileupload/wso2/commons-fileupload/1.2.0.wso2v1/commons-fileupload-1.2.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ant/wso2/ant/1.7.0.wso2v1/ant-1.7.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant/1.7.0/ant-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-httpclient/wso2/commons-httpclient/3.1.0.wso2v2/commons-httpclient-3.1.0.wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/commons/ssl/not-yet-commons-ssl/0.3.9/not-yet-commons-ssl-0.3.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.xboot/4.1.0/org.wso2.carbon.registry.xboot-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.user.core/4.1.0/org.wso2.carbon.user.core-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-dbcp/wso2/commons-dbcp/1.4.0.wso2v1/commons-dbcp-1.4.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.ndatasource.rdbms/4.1.0/org.wso2.carbon.ndatasource.rdbms-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.ndatasource.common/4.1.0/org.wso2.carbon.ndatasource.common-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/wso2/jdbc-pool/7.0.34.wso2v1/jdbc-pool-7.0.34.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-jdbc/7.0.34/tomcat-jdbc-7.0.34.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-juli/7.0.34/tomcat-juli-7.0.34.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-collections/wso2/commons-collections/3.2.0.wso2v1/commons-collections-3.2.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/compass-project/wso2/compass/2.0.1.wso2v2/compass-2.0.1.wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/abdera/wso2/abdera/1.0.0.wso2v2/abdera-1.0.0.wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/poi/wso2/poi-scratchpad/3.5.0.wso2v1/poi-scratchpad-3.5.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/poi/poi-scratchpad/3.5-FINAL/poi-scratchpad-3.5-FINAL.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/poi/poi/3.5-FINAL/poi-3.5-FINAL.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-pool/wso2/commons-pool/1.5.6.wso2v1/commons-pool-1.5.6.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.3/commons-pool-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/neethi/wso2/neethi/2.0.4.wso2v4/neethi-2.0.4.wso2v4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/wso2/httpcore/4.1.0-wso2v1/httpcore-4.1.0-wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/ha/wso2/tomcat-ha/7.0.34.wso2v1/tomcat-ha-7.0.34.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-catalina-ha/7.0.34/tomcat-catalina-ha-7.0.34.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-tribes/7.0.8/tomcat-tribes-7.0.8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-catalina/7.0.34/tomcat-catalina-7.0.34.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-annotations-api/7.0.34/tomcat-annotations-api-7.0.34.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-api/7.0.34/tomcat-api-7.0.34.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-util/7.0.34/tomcat-util-7.0.34.jar"/>
+  <classpathentry kind="var" path="M2_REPO/wsdl4j/wso2/wsdl4j/1.6.2.wso2v2/wsdl4j-1.6.2.wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.core.common/4.1.0/org.wso2.carbon.core.common-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.authenticator.stub/4.1.0/org.wso2.carbon.authenticator.stub-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.common.ui/4.1.0/org.wso2.carbon.registry.common.ui-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/javax.servlet.jsp/2.2.0.v201112011158/javax.servlet.jsp-2.2.0.v201112011158.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.common/4.1.0/org.wso2.carbon.registry.common-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.admin.api/4.1.0/org.wso2.carbon.registry.admin.api-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.ntask.core/4.1.0/org.wso2.carbon.ntask.core-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.ntask.common/4.1.0/org.wso2.carbon.ntask.common-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.coordination.core/4.1.0/org.wso2.carbon.coordination.core-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.coordination.common/4.1.0/org.wso2.carbon.coordination.common-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/zookeeper/wso2/apache-zookeeper/3.4.4.wso2v1/apache-zookeeper-3.4.4.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/zookeeper/zookeeper/3.4.4/zookeeper-3.4.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/netty/netty/3.2.2.Final/netty-3.2.2.Final.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.remote-tasks.stub/4.1.0/org.wso2.carbon.remote-tasks.stub-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/wso2/axis2-client/1.6.1.wso2v9/axis2-client-1.6.1.wso2v9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/wso2/geronimo-stax-api_1.0_spec/1.0.1.wso2v1/geronimo-stax-api_1.0_spec-1.0.1.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/wso2/axis2-json/1.6.1.wso2v9/axis2-json-1.6.1.wso2v9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/woden/wso2/woden/1.0.0.M8-wso2v1/woden-1.0.0.M8-wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-codec/wso2/commons-codec/1.4.0.wso2v1/commons-codec-1.4.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/quartz-scheduler/wso2/quartz/2.1.1.wso2v1/quartz-2.1.1.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/quartz-scheduler/quartz/2.1.1/quartz-2.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1.1/c3p0-0.9.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-beanutils/wso2/commons-beanutils/1.8.0.wso2v1/commons-beanutils-1.8.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-digester/commons-digester/1.8/commons-digester-1.8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.feature.mgt.services/4.1.0/org.wso2.carbon.feature.mgt.services-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.feature.mgt.core/4.1.0/org.wso2.carbon.feature.mgt.core-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.p2.artifact.repository/1.1.100.v20110519/org.eclipse.equinox.p2.artifact.repository-1.1.100.v20110519.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.common/3.6.100.v20120522-1841/org.eclipse.equinox.common-3.6.100.v20120522-1841.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.p2.core/2.1.0.v20110502-1955/org.eclipse.equinox.p2.core-2.1.0.v20110502-1955.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.p2.director/2.1.0.v20110504-1715/org.eclipse.equinox.p2.director-2.1.0.v20110504-1715.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.p2.engine/2.1.0.v20110511/org.eclipse.equinox.p2.engine-2.1.0.v20110511.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.p2.metadata/2.1.0.v20110510/org.eclipse.equinox.p2.metadata-2.1.0.v20110510.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.p2.metadata.repository/1.2.0.v20110511-1359/org.eclipse.equinox.p2.metadata.repository-1.2.0.v20110511-1359.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.p2.repository/2.1.0.v20110601/org.eclipse.equinox.p2.repository-2.1.0.v20110601.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.simpleconfigurator/1.0.301.v20120828-033635/org.eclipse.equinox.simpleconfigurator-1.0.301.v20120828-033635.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-stax-api_1.0_spec/1.0.1/geronimo-stax-api_1.0_spec-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.ui/4.1.0/org.wso2.carbon.ui-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tiles/wso2/tiles-jsp/2.0.5.wso2v2/tiles-jsp-2.0.5.wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.eclipse.equinox.http.servlet/1.1.300.v20120522-1841/org.eclipse.equinox.http.servlet-1.1.300.v20120522-1841.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/org.apache.jasper.glassfish/2.2.2.v201205150955/org.apache.jasper.glassfish-2.2.2.v201205150955.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.core.commons.stub/4.1.0/org.wso2.carbon.core.commons.stub-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.server.admin.common/4.1.0/org.wso2.carbon.server.admin.common-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.server.admin.ui/4.1.0/org.wso2.carbon.server.admin.ui-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.server.admin.stub/4.1.0/org.wso2.carbon.server.admin.stub-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.extensions/4.1.0/org.wso2.carbon.registry.extensions-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.user.mgt/4.1.0/org.wso2.carbon.user.mgt-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.user.mgt.common/4.1.0/org.wso2.carbon.user.mgt.common-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/au/com/bytecode/opencsv/wso2/opencsv/1.8.wso2v1/opencsv-1.8.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/poi/wso2/poi-ooxml/3.5.0.wso2v1/poi-ooxml-3.5.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/poi/poi-ooxml/3.5-FINAL/poi-ooxml-3.5-FINAL.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/poi/ooxml-schemas/1.0/ooxml-schemas-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.servlet/4.1.0/org.wso2.carbon.registry.servlet-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.uddi/4.1.0/org.wso2.carbon.registry.uddi-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/juddi/wso2/juddi/3.0.3.wso2v2/juddi-3.0.3.wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-lang/wso2/commons-lang/2.6.0.wso2v1/commons-lang-2.6.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jpa_2.0_spec/1.0/geronimo-jpa_2.0_spec-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/openjpa/openjpa/2.2.0-wso2v1/openjpa-2.2.0-wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1/geronimo-jta_1.1_spec-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/asm/asm/3.2/asm-3.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-dbcp/commons-dbcp/1.2.2/commons-dbcp-1.2.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.4.2.0/derby-10.4.2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/eclipse/validateutility/0.95/validateutility-0.95.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/wsdl/validator/wso2/wsdl-validator/1.2.0.wso2v1/wsdl-validator-1.2.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/wadl/core/wso2/wadl-core/1.1.3.wso2v1/wadl-core-1.1.3.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jvnet/ws/wadl/wadl-core/1.1.3/wadl-core-1.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/sun/localizer/localizer/1.0/localizer-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/sun/localizer/comresrcgen/1.0/comresrcgen-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/sun/xml/bind/jaxb-xjc/2.2/jaxb-xjc-2.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/sun/xml/bind/jaxb-impl/2.2/jaxb-impl-2.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/googlecode/jsonschema2pojo/jsonschema2pojo-core/0.3.4/jsonschema2pojo-core-0.3.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-databind/2.0.0/jackson-databind-2.0.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-annotations/2.0.0/jackson-annotations-2.0.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-core/2.0.0/jackson-core-2.0.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/codehaus/jackson/jackson-mapper-asl/1.9.9/jackson-mapper-asl-1.9.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/codehaus/jackson/jackson-core-asl/1.9.9/jackson-core-asl-1.9.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/sun/codemodel/codemodel/2.4.1/codemodel-2.4.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/google/code/findbugs/annotations/1.3.9/annotations-1.3.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/uddi/uddi4j/1.0.1/uddi4j-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/org.eclipse.core.runtime/3.5.0.v20090429-1800/org.eclipse.core.runtime-3.5.0.v20090429-1800.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.server/4.1.0/org.wso2.carbon.registry.server-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/wso2/maven-scm/1.7.0.wso2v1/maven-scm-1.7.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-svnexe/1.7.0-wso2v1/maven-scm-provider-svnexe-1.7.0-wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-api/1.7/maven-scm-api-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-manager-plexus/1.7/maven-scm-manager-plexus-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-svn-commons/1.7/maven-scm-provider-svn-commons-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/regexp/regexp/1.3/regexp-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-client/1.7/maven-scm-client-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-accurev/1.7/maven-scm-provider-accurev-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-bazaar/1.7/maven-scm-provider-bazaar-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-clearcase/1.7/maven-scm-provider-clearcase-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-cvsexe/1.7/maven-scm-provider-cvsexe-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.7/maven-scm-provider-cvs-commons-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-cvsjava/1.7/maven-scm-provider-cvsjava-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/netbeans/lib/cvsclient/20060125/cvsclient-20060125.jar"/>
+  <classpathentry kind="var" path="M2_REPO/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-gitexe/1.7/maven-scm-provider-gitexe-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-git-commons/1.7/maven-scm-provider-git-commons-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-hg/1.7/maven-scm-provider-hg-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-jazz/1.7/maven-scm-provider-jazz-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-local/1.7/maven-scm-provider-local-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-perforce/1.7/maven-scm-provider-perforce-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-starteam/1.7/maven-scm-provider-starteam-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-synergy/1.7/maven-scm-provider-synergy-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-vss/1.7/maven-scm-provider-vss-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/scm/maven-scm-provider-tfs/1.7/maven-scm-provider-tfs-1.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.registry.ws.stub/4.1.0/org.wso2.carbon.registry.ws.stub-4.1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.load.balance.cartridge.autoscaler.service.stub/4.1.3/org.wso2.carbon.load.balance.cartridge.autoscaler.service.stub-4.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.adc.topology.mgt/2.1.1/org.wso2.carbon.adc.topology.mgt-2.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/synapse/synapse-core/2.1.1-wso2v3/synapse-core-2.1.1-wso2v3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/synapse/synapse-commons/2.1.1-wso2v3/synapse-commons-2.1.1-wso2v3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/axis2-transport-base/1.1.0-wso2v6/axis2-transport-base-1.1.0-wso2v6.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/axis2-kernel/1.6.1-wso2v8/axis2-kernel-1.6.1-wso2v8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-ws-metadata_2.0_spec/1.1.2/geronimo-ws-metadata_2.0_spec-1.1.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/neethi/neethi/2.0.4-wso2v2/neethi-2.0.4-wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/woden/woden-api/1.0M9/woden-api-1.0M9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/woden/woden-impl-dom/1.0M9/woden-impl-dom-1.0M9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/woden/woden-impl-commons/1.0M9/woden-impl-commons-1.0M9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/snmp4j/snmp4j-agent/2.0.5/snmp4j-agent-2.0.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/snmp4j/snmp4j/2.0.3/snmp4j-2.0.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/axis2-adb/1.6.1-wso2v8/axis2-adb-1.6.1-wso2v8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/axis2-clustering/1.6.1-wso2v8/axis2-clustering-1.6.1-wso2v8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/embed/tomcat-embed-logging-juli/7.0.8/tomcat-embed-logging-juli-7.0.8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/axis2-mtompolicy/1.6.1-wso2v8/axis2-mtompolicy-1.6.1-wso2v8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/sandesha2/sandesha2-core/1.6.1-wso2v1/sandesha2-core-1.6.1-wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/axis2-codegen/1.6.1-wso2v1/axis2-codegen-1.6.1-wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/axiom-dom/1.2.11-wso2v2/axiom-dom-1.2.11-wso2v2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xalan/serializer/2.7.1/serializer-2.7.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/rhino/js/1.6R5/js-1.6R5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/bcel/bcel/5.2/bcel-5.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jakarta-regexp/jakarta-regexp/1.4/jakarta-regexp-1.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/java-cup/java-cup/0.0/java-cup-0.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/JLex/JLex/0.0/JLex-0.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sf/saxon/saxon/8.9/saxon-8.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sf/saxon/saxon-dom/8.9/saxon-dom-8.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sf/saxon/saxon-xqj/8.9/saxon-xqj-8.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/uri/template/wso2-uri-templates/1.6.2/wso2-uri-templates-1.6.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/caching/wso2caching-core/4.0.2/wso2caching-core-4.0.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/axis2-saaj/1.6.1-wso2v8/axis2-saaj-1.6.1-wso2v8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-saaj_1.3_spec/1.0.1/geronimo-saaj_1.3_spec-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xmlunit/xmlunit/1.1/xmlunit-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/eventing/wso2eventing-api/2.1/wso2eventing-api-2.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/synapse/synapse-tasks/2.1.1-wso2v3/synapse-tasks-2.1.1-wso2v3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/synapse/synapse-nhttp-transport/2.1.1-wso2v3/synapse-nhttp-transport-2.1.1-wso2v3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.1.3-wso2v3/httpcore-4.1.3-wso2v3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore-nio/4.1.3-wso2v3/httpcore-nio-4.1.3-wso2v3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/axis2/axis2-transport-http/1.6.1-wso2v8/axis2-transport-http-1.6.1-wso2v8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.4/antlr-runtime-3.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.2.1/stringtemplate-3.2.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.lb.common/4.1.1/org.wso2.carbon.lb.common-4.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/google/guava/wso2/guava/12.0.0.wso2v1/guava-12.0.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/google/guava/guava/12.0/guava-12.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/andes/wso2/andes-client/0.13.wso2v3/andes-client-0.13.wso2v3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/wso2/geronimo-jms_1.1_spec/1.1.0.wso2v1/geronimo-jms_1.1_spec-1.1.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/wso2/carbon/org.wso2.carbon.cartridge.agent.stub/4.1.1/org.wso2.carbon.cartridge.agent.stub-4.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/gitblit/gitblit/1.2.0.wso2v1/gitblit-1.2.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/google/code/gson/gson/2.1/gson-2.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jgit/org.eclipse.jgit/2.1.0.wso2v1/org.eclipse.jgit-2.1.0.wso2v1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/jcraft/jsch/0.1.49.wso2v1/jsch-0.1.49.wso2v1.jar"/>
+</classpath>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.project
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.project b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.project
new file mode 100644
index 0000000..369f14f
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.apache.stratos.adc.mgt</name>
+	<comment>BE functionalities of ADC. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.settings/org.eclipse.jdt.core.prefs
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.settings/org.eclipse.jdt.core.prefs b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..909d985
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,16 @@
+#Mon Jul 01 12:44:50 IST 2013
+eclipse.preferences.version=1
+encoding/src/main/java=UTF-8
+encoding/src/main/resources=UTF-8
+encoding/src/test/java=UTF-8
+encoding/src/test/resources=UTF-8
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/pom.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/pom.xml b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/pom.xml
new file mode 100644
index 0000000..f0e1594
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/pom.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- ~ Copyright (c) 2009-2010, WSO2 Inc. (http://www.wso2.org) All Rights 
+	Reserved. ~ ~ Licensed 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. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<parent>
+		<groupId>org.apache.stratos</groupId>
+		<artifactId>stratos-components</artifactId>
+		<version>2.1.0</version>
+        <relativePath>../../../pom.xml</relativePath>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.apache.stratos.adc.mgt</artifactId>
+	<version>2.1.3</version>
+	<packaging>bundle</packaging>
+	<name>WSO2 Carbon - ADC BE</name>
+	<description>BE functionalities of ADC</description>
+	<url>http://wso2.org</url>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.wso2.carbon</groupId>
+			<artifactId>org.wso2.carbon.registry.ws.client</artifactId>
+		</dependency>
+		<!--<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging-api</artifactId> 
+			</dependency> -->
+		<dependency>
+			<groupId>org.wso2.carbon</groupId>
+			<artifactId>org.wso2.carbon.load.balance.cartridge.autoscaler.service.stub</artifactId>
+			<version>4.1.3</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.wso2.carbon</groupId>
+			<artifactId>org.wso2.carbon.adc.topology.mgt</artifactId>
+			<version>2.1.1</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.wso2.carbon</groupId>
+			<artifactId>org.wso2.carbon.utils</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.wso2.carbon</groupId>
+			<artifactId>org.wso2.carbon.cartridge.agent.stub</artifactId>
+			<version>4.1.1</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.tomcat.wso2</groupId>
+			<artifactId>jdbc-pool</artifactId>
+			<version>${version.tomcat}.wso2v1</version>
+		</dependency>
+
+		<dependency>
+			<groupId>com.gitblit</groupId>
+			<artifactId>gitblit</artifactId>
+			<version>1.2.0.wso2v1</version>
+		</dependency>
+		<dependency>
+			<groupId>com.google.code.gson</groupId>
+			<artifactId>gson</artifactId>
+			<version>2.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jgit</groupId>
+            <artifactId>org.eclipse.jgit</artifactId>
+            <version>2.1.0.wso2v1</version>
+        </dependency>
+        <dependency>
+            <groupId>com.jcraft</groupId>
+            <artifactId>jsch</artifactId>
+            <version>0.1.49.wso2v1</version>
+        </dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.felix</groupId>
+				<artifactId>maven-scr-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.felix</groupId>
+				<artifactId>maven-bundle-plugin</artifactId>
+
+				<extensions>true</extensions>
+				<configuration>
+					<instructions>
+						<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+						<Bundle-Name>${project.artifactId}</Bundle-Name>
+						<Bundle-Activator>
+							org.apache.stratos.adc.mgt.internal.HostingManagementActivator
+                                                </Bundle-Activator>
+						<Private-Package>org.apache.stratos.adc.mgt.internal.*</Private-Package>
+						<Export-Package>
+							org.apache.stratos.adc.mgt.utils*,
+							org.apache.stratos.adc.mgt.service.*,
+							org.apache.stratos.adc.mgt.*
+                        			</Export-Package>
+						<Import-Package>
+							org.apache.axis2.*; version="1.6.1.wso2v6",
+							org.apache.axiom.*;
+							version="1.2.11.wso2v2",
+							org.apache.neethi.*;
+							version="2.0.4.wso2v4",
+							javax.xml.stream.*; version="1.0.1",
+							javax.wsdl.*; version="1.6.2",
+							org.osgi.framework.*,
+							*;resolution:=optional
+                        			</Import-Package>
+						<DynamicImport-Package>*</DynamicImport-Package>
+					</instructions>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/conf/cartridge-config.properties
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/conf/cartridge-config.properties b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/conf/cartridge-config.properties
new file mode 100644
index 0000000..b495014
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/conf/cartridge-config.properties
@@ -0,0 +1,38 @@
+# Configuration properties
+
+sc.ip=s2_ip
+autoscalerService.url=https://cc.wso2.com:9444/services/CloudControllerService/
+autoscaler.time.out=190000
+cartridge.agent.epr=https://s2_ip:9447/services/CartridgeAgentService
+git.host.name=s2_hostname
+git.host.ip=s2_ip
+git.repo.notification.url=https://sc.wso2.com:9445/services/RepoNotificationService/
+identity.server.url=https://sc.wso2.com:9447/services/RepoNotificationService/
+
+adc.jdbc.url=jdbc:h2:repository/database/WSO2S2_DB
+adc.jdbc.username=wso2carbon
+adc.jdbc.password=wso2carbon
+adc.jdbc.driver=org.h2.Driver
+
+mb.server.ip=cc.wso2.com:5673
+
+feature.externalrepo.validation.enabled=true
+feature.internalrepo.enabled=false
+feature.multitenant.multiplesubscription.enabled=false
+
+internal.repo.username=admin
+internal.repo.password=admin
+
+append.script=SCRIPT_PATH/add_entry_zone_file.sh
+remove.script=SCRIPT_PATH/remove_entry_zone_file.sh
+bind.file.path=/etc/bind/db.STRATOS_DOMAIN
+elb.ip=s2_ip
+
+bam.ip=s2_ip
+bam.port=7714
+
+max.attempts=1000
+
+cartridge.key=KEYPATH
+
+repository.info.epr=https://s2_ip:9445/services/RepositoryInformationService

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/conf/tenant-resource-policy.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/conf/tenant-resource-policy.xml b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/conf/tenant-resource-policy.xml
new file mode 100644
index 0000000..12bbf74
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/conf/tenant-resource-policy.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/CartridgeAgentClient.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/CartridgeAgentClient.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/CartridgeAgentClient.java
new file mode 100644
index 0000000..3731107
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/CartridgeAgentClient.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.client;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.adc.mgt.internal.DataHolder;
+import org.wso2.carbon.cartridge.agent.stub.CartridgeAgentServiceStub;
+
+public class CartridgeAgentClient {
+
+	private static final Log log = LogFactory.getLog(CartridgeAgentClient.class);
+	CartridgeAgentServiceStub stub = null;
+	public CartridgeAgentClient(String epr) throws AxisFault {
+	  ConfigurationContext clientConfigContext = DataHolder.getClientConfigContext();
+	  stub = new CartridgeAgentServiceStub(clientConfigContext, epr);
+    }
+	
+	public void unregister(String domain, String subDomain, String hostName) throws Exception {
+		log.info(" ** Unregistering -- ");
+		stub.unregister(domain, subDomain, hostName);
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.java
new file mode 100644
index 0000000..1f2bb28
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.client;
+
+import java.rmi.RemoteException;
+
+import javax.activation.DataHandler;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
+import org.apache.stratos.adc.mgt.internal.DataHolder;
+import org.wso2.carbon.stratos.cloud.controller.stub.CloudControllerServiceStub;
+import org.wso2.carbon.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException;
+import org.wso2.carbon.stratos.cloud.controller.util.xsd.CartridgeInfo;
+import org.wso2.carbon.stratos.cloud.controller.util.xsd.Properties;
+
+public class CloudControllerServiceClient {
+
+	private CloudControllerServiceStub stub;
+
+	private static final Log log = LogFactory.getLog(CloudControllerServiceClient.class);
+
+	public CloudControllerServiceClient(String epr) throws AxisFault {
+
+		ConfigurationContext clientConfigContext = DataHolder.getClientConfigContext();
+		try {
+			stub = new CloudControllerServiceStub(clientConfigContext, epr);
+			stub._getServiceClient().getOptions().setTimeOutInMilliSeconds(300000);
+
+		} catch (AxisFault axisFault) {
+			String msg = "Failed to initiate AutoscalerService client. " + axisFault.getMessage();
+			log.error(msg, axisFault);
+			throw new AxisFault(msg, axisFault);
+		}
+
+	}
+
+	public boolean register(String domainName, String subDomain, String cartridgeType,
+	                        DataHandler payload, String tenantRange, String hostName, Properties properties) throws RemoteException, CloudControllerServiceUnregisteredCartridgeExceptionException
+	                                                                                  {		
+		return stub.registerService(domainName, subDomain, tenantRange, cartridgeType, hostName,
+		                            properties, payload);
+
+	}
+
+	public String startInstance(String domain, String subDomain) throws Exception {
+		return stub.startInstance(domain, subDomain);
+	}
+
+	public boolean terminateAllInstances(String domain, String subDomain) throws Exception {
+		return stub.terminateAllInstances(domain, subDomain);
+	}
+
+	public String[] getRegisteredCartridges() throws Exception {
+		return stub.getRegisteredCartridges();
+	}
+
+	public boolean createKeyPair(String cartridge, String keyPairName, String publicKey)
+	                                                                                    throws Exception {
+		return stub.createKeyPairFromPublicKey(cartridge, keyPairName, publicKey);
+	}
+
+	public CartridgeInfo getCartridgeInfo(String cartridgeType) throws UnregisteredCartridgeException, Exception {
+		try {
+			return stub.getCartridgeInfo(cartridgeType);
+		} catch (RemoteException e) {
+			throw e;
+		} catch (CloudControllerServiceUnregisteredCartridgeExceptionException e) {
+			throw new UnregisteredCartridgeException("Not a registered cartridge " + cartridgeType, cartridgeType, e);
+		}
+	}
+	
+	public boolean unregisterService(String domain, String subDomain) throws Exception {
+	    return stub.unregisterService(domain, subDomain);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/RegistryClient.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/RegistryClient.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/RegistryClient.java
new file mode 100644
index 0000000..c1d6cd3
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/client/RegistryClient.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.client;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+import java.util.UUID;
+
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.commons.io.IOUtils;
+import org.wso2.carbon.registry.core.Association;
+import org.wso2.carbon.registry.core.Collection;
+import org.wso2.carbon.registry.core.Registry;
+import org.wso2.carbon.registry.core.Resource;
+import org.wso2.carbon.registry.core.exceptions.RegistryException;
+import org.wso2.carbon.registry.ws.client.registry.WSRegistryServiceClient;
+
+public class RegistryClient {
+
+	// url where the repository is running its services interface
+	private static String backendURL = "http://localhost:9763/services/";
+	private static ConfigurationContext configContext = null;
+
+	// configuration locations used to bootstrap axis2
+	private static String axis2Repo =
+	                                  "/home/wso2/Desktop/HP-demo-packs-with-video/cartridge/wso2stratos-cartridge-1.0.0-SNAPSHOT/repository/conf/axis2";
+	private static String axis2Conf =
+	                                  "/home/wso2/Desktop/HP-demo-packs-with-video/cartridge/wso2stratos-cartridge-1.0.0-SNAPSHOT/repository/conf/axis2/axis2_client.xml";
+	private static String serverURL = "https://localhost:9443/services/";
+
+	public RegistryClient() {
+		// TODO Auto-generated constructor stub
+	}
+
+	private static WSRegistryServiceClient initialize() throws Exception {
+		// set these properties, this is used for authentication over https to
+		// the registry
+		// if you have a newer version, you can update the keystore by copying
+		// it from
+		// the security directory of the repository
+		System.setProperty("javax.net.ssl.trustStore", "wso2carbon.jks");
+		System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon");
+		System.setProperty("javax.net.ssl.trustStoreType", "JKS");
+
+		configContext =
+		                ConfigurationContextFactory.createConfigurationContextFromFileSystem(axis2Repo,
+		                                                                                     axis2Conf);
+		return new WSRegistryServiceClient(serverURL, "admin", "admin", backendURL, configContext);
+	}
+
+	public static void addKey(String keyName, String content) throws Exception {
+		Registry registry = initialize();
+
+		// get the governance folder
+		Resource governanceFolder = registry.get("/_system/governance");
+		System.out.println("Folder description: " + governanceFolder.getDescription());
+		Resource r1 = registry.newResource();
+		String path = "/_system/governance/" + keyName;
+		r1.setContent(content);
+		registry.put(path, r1);
+
+		/*
+		 * List<Resource> paths = getServicePath(registry,
+		 * "/_system/governance/trunk/services");
+		 * 
+		 * for (Resource service : paths) { // we've got all the services here
+		 * 
+		 * Properties props = service.getProperties(); for (Object prop :
+		 * props.keySet()) { System.out.println(prop + " - " + props.get(prop));
+		 * }
+		 * 
+		 * Association[] associations =
+		 * registry.getAssociations(service.getPath(), "Documentation"); for
+		 * (Association association : associations) {
+		 * System.out.println(association.getAssociationType()); } }
+		 */
+	}
+
+	private static List<Resource> getServicePath(Registry registry, String servicesResource)
+	                                                                                        throws RegistryException {
+		List<Resource> result = new ArrayList<Resource>();
+		Resource resource = registry.get(servicesResource);
+
+		if (resource instanceof Collection) {
+			Object content = resource.getContent();
+			for (Object path : (Object[]) content) {
+				result.addAll(getServicePath(registry, (String) path));
+			}
+		} else if (resource instanceof Resource) {
+			result.add(resource);
+		}
+		return result;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/custom/domain/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/custom/domain/RegistryManager.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/custom/domain/RegistryManager.java
new file mode 100644
index 0000000..d53fcc0
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/custom/domain/RegistryManager.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.custom.domain;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.adc.mgt.exception.ADCException;
+import org.apache.stratos.adc.mgt.exception.DomainMappingExistsException;
+import org.apache.stratos.adc.mgt.internal.DataHolder;
+import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
+import org.wso2.carbon.registry.core.Collection;
+import org.wso2.carbon.registry.core.Registry;
+import org.wso2.carbon.registry.core.Resource;
+import org.wso2.carbon.registry.core.exceptions.RegistryException;
+
+public class RegistryManager {
+	private static Log log = LogFactory.getLog(RegistryManager.class);
+	private static Registry registry = DataHolder.getRegistry();
+
+	public RegistryManager() {
+		try {
+			if (!registry.resourceExists(CartridgeConstants.DomainMappingInfo.HOSTINFO)) {
+				registry.put(CartridgeConstants.DomainMappingInfo.HOSTINFO,
+				                    registry.newCollection());
+			}
+		} catch (RegistryException e) {
+			String msg =
+			             "Error while accessing registry or initializing domain mapping registry path\n";
+			log.error(msg + e.getMessage());
+		}
+	}
+
+	/**
+    *
+    */
+    public void addDomainMappingToRegistry(String hostName, String actualHost)
+            throws ADCException, RegistryException, DomainMappingExistsException {
+        try {
+            registry.beginTransaction();
+            Resource hostResource = registry.newResource();
+            hostResource.addProperty(CartridgeConstants.DomainMappingInfo.ACTUAL_HOST, actualHost);
+            if (!registry.resourceExists(CartridgeConstants.DomainMappingInfo.HOSTINFO +
+                                                hostName)) {
+                registry.put(CartridgeConstants.DomainMappingInfo.HOSTINFO + hostName,
+                                    hostResource);
+            } else {
+                registry.rollbackTransaction();
+                String msg = "Requested domain is already taken!";
+                log.error(msg);
+                throw new DomainMappingExistsException(msg, hostName);
+            }
+            registry.commitTransaction();
+        } catch (RegistryException e) {
+            registry.rollbackTransaction();
+            throw e; 
+        }
+    }
+
+
+    /**
+        *
+        */
+   	public void removeDomainMappingFromRegistry(String actualHost) throws Exception {
+   		try {
+               registry.beginTransaction();
+                String hostResourcePath = CartridgeConstants.DomainMappingInfo.HOSTINFO;
+                if (registry.resourceExists(hostResourcePath)) {
+                    Resource hostResource = registry.get(hostResourcePath);
+                    Collection hostInfoCollection;
+                    if(hostResource instanceof Collection){
+                        hostInfoCollection = (Collection) hostResource;
+                    } else {
+                        throw new Exception("Resource is not a collection " + hostResourcePath );
+                    }
+                    String[] paths = hostInfoCollection.getChildren();
+                    for (String path: paths){
+                        Resource domainMapping = registry.get(path);
+                        String actualHostInRegistry = domainMapping.getProperty(CartridgeConstants.DomainMappingInfo.ACTUAL_HOST);
+                        if(actualHostInRegistry != null && actualHost.equalsIgnoreCase(actualHostInRegistry)){
+                            registry.delete(path);
+                        }
+                    }
+                }
+                registry.commitTransaction();
+   		} catch (RegistryException e) {
+   			registry.rollbackTransaction();
+   			log.error("Unable to remove the mapping", e);
+   			throw e;
+   		}
+   	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/CartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/CartridgeSubscription.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/CartridgeSubscription.java
new file mode 100644
index 0000000..9d48b0f
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/CartridgeSubscription.java
@@ -0,0 +1,186 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.dao;
+
+import java.util.List;
+
+public class CartridgeSubscription {
+
+	private int subscriptionId;
+	private int tenantId;
+	private String cartridge;
+	private String provider;
+	private String hostName;
+	private String policy;
+	private List<PortMapping> portMappings;
+	private String clusterDomain;
+	private String clusterSubdomain;
+	private Repository repository;
+	private String state;
+	private String alias;
+	private String tenantDomain;
+	private DataCartridge dataCartridge;
+	private String baseDirectory;
+	private String mappedDomain;
+	private String mgtClusterDomain;
+	private String mgtClusterSubDomain;
+
+	public int getSubscriptionId() {
+		return subscriptionId;
+	}
+
+	public void setSubscriptionId(int subscriptionId) {
+		this.subscriptionId = subscriptionId;
+	}
+
+	public int getTenantId() {
+		return tenantId;
+	}
+
+	public void setTenantId(int tenantId) {
+		this.tenantId = tenantId;
+	}
+
+	public String getCartridge() {
+		return cartridge;
+	}
+
+	public void setCartridge(String cartridge) {
+		this.cartridge = cartridge;
+	}
+
+	public String getProvider() {
+		return provider;
+	}
+
+	public void setProvider(String provider) {
+		this.provider = provider;
+	}
+
+	public String getHostName() {
+		return hostName;
+	}
+
+	public void setHostName(String hostName) {
+		this.hostName = hostName;
+	}
+
+	public String getPolicy() {
+		return policy;
+	}
+
+	public void setPolicy(String policy) {
+		this.policy = policy;
+	}
+
+	public List<PortMapping> getPortMappings() {
+		return portMappings;
+	}
+
+	public void setPortMappings(List<PortMapping> portMappings) {
+		this.portMappings = portMappings;
+	}
+
+	public String getClusterDomain() {
+		return clusterDomain;
+	}
+
+	public void setClusterDomain(String clusterDomain) {
+		this.clusterDomain = clusterDomain;
+	}
+
+	public String getClusterSubdomain() {
+		return clusterSubdomain;
+	}
+
+	public void setClusterSubdomain(String clusterSubdomain) {
+		this.clusterSubdomain = clusterSubdomain;
+	}
+
+	public Repository getRepository() {
+		return repository;
+	}
+
+	public void setRepository(Repository repository) {
+		this.repository = repository;
+	}
+
+	public String getState() {
+		return state;
+	}
+
+	public void setState(String state) {
+		this.state = state;
+	}
+
+	public String getAlias() {
+		return alias;
+	}
+
+	public void setAlias(String alias) {
+		this.alias = alias;
+	}
+
+	public String getTenantDomain() {
+		return tenantDomain;
+	}
+
+	public void setTenantDomain(String tenantDomain) {
+		this.tenantDomain = tenantDomain;
+	}
+
+	public DataCartridge getDataCartridge() {
+		return dataCartridge;
+	}
+
+	public void setDataCartridge(DataCartridge dataCartridge) {
+		this.dataCartridge = dataCartridge;
+	}
+
+	public String getBaseDirectory() {
+		return baseDirectory;
+	}
+
+	public void setBaseDirectory(String baseDirectory) {
+		this.baseDirectory = baseDirectory;
+	}
+
+	public String getMappedDomain() {
+		return mappedDomain;
+	}
+
+	public void setMappedDomain(String mappedDomain) {
+		this.mappedDomain = mappedDomain;
+	}
+
+	public String getMgtClusterDomain() {
+		return mgtClusterDomain;
+	}
+
+	public void setMgtClusterDomain(String mgtClusterDomain) {
+		this.mgtClusterDomain = mgtClusterDomain;
+	}
+
+	public String getMgtClusterSubDomain() {
+		return mgtClusterSubDomain;
+	}
+
+	public void setMgtClusterSubDomain(String mgtClusterSubDomain) {
+		this.mgtClusterSubDomain = mgtClusterSubDomain;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/DataCartridge.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/DataCartridge.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/DataCartridge.java
new file mode 100644
index 0000000..8e43079
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/DataCartridge.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.dao;
+
+public class DataCartridge {
+
+	private int id;
+	private String dataCartridgeType;
+	private String userName;
+	private String password;
+	public int getId() {
+    	return id;
+    }
+	public void setId(int id) {
+    	this.id = id;
+    }
+	public String getDataCartridgeType() {
+    	return dataCartridgeType;
+    }
+	public void setDataCartridgeType(String dataCartridgeType) {
+    	this.dataCartridgeType = dataCartridgeType;
+    }
+	public String getUserName() {
+    	return userName;
+    }
+	public void setUserName(String userName) {
+    	this.userName = userName;
+    }
+	public String getPassword() {
+    	return password;
+    }
+	public void setPassword(String password) {
+    	this.password = password;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/PortMapping.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/PortMapping.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/PortMapping.java
new file mode 100644
index 0000000..5916847
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/PortMapping.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.dao;
+
+public class PortMapping {
+	private int id;
+	private String type;
+	private String primaryPort;
+	private String proxyPort;
+
+	public int getId() {
+		return id;
+	}
+
+	public void setId(int id) {
+		this.id = id;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getPrimaryPort() {
+		return primaryPort;
+	}
+
+	public void setPrimaryPort(String primaryPort) {
+		this.primaryPort = primaryPort;
+	}
+
+	public String getProxyPort() {
+		return proxyPort;
+	}
+
+	public void setProxyPort(String proxyPort) {
+		this.proxyPort = proxyPort;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/Repository.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/Repository.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/Repository.java
new file mode 100644
index 0000000..a951e78
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/Repository.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.dao;
+
+public class Repository {
+	private int repoId;
+	private String repoName;
+    private String repoUserName;
+    private String repoUserPassword;
+
+	public int getRepoId() {
+		return repoId;
+	}
+
+	public void setRepoId(int repoId) {
+		this.repoId = repoId;
+	}
+
+	public String getRepoName() {
+		return repoName;
+	}
+
+	public void setRepoName(String repoName) {
+		this.repoName = repoName;
+	}
+
+    public String getRepoUserName() {
+        return repoUserName;
+    }
+
+    public void setRepoUserName(String repoUserName) {
+        this.repoUserName=repoUserName;
+    }
+
+    public String getRepoUserPassword() {
+        return repoUserPassword;
+    }
+
+    public void setRepoUserPassword(String repoUserPassword) {
+        this.repoUserPassword=repoUserPassword;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/RepositoryCredentials.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/RepositoryCredentials.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/RepositoryCredentials.java
new file mode 100644
index 0000000..90670e7
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dao/RepositoryCredentials.java
@@ -0,0 +1,27 @@
+package org.apache.stratos.adc.mgt.dao;
+
+public class RepositoryCredentials {
+
+	private String url;
+	private String userName;
+	private String password;
+	public String getUrl() {
+    	return url;
+    }
+	public void setUrl(String url) {
+    	this.url = url;
+    }
+	public String getUserName() {
+    	return userName;
+    }
+	public void setUserName(String userName) {
+    	this.userName = userName;
+    }
+	public String getPassword() {
+    	return password;
+    }
+	public void setPassword(String password) {
+    	this.password = password;
+    }
+	
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dns/DNSManager.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dns/DNSManager.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dns/DNSManager.java
new file mode 100644
index 0000000..ceb77fb
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dns/DNSManager.java
@@ -0,0 +1,86 @@
+ /*
+  * Copyright WSO2, Inc. (http://wso2.com)
+  *
+  * Licensed 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.dns;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
+
+/**
+ * This class is for handling dns entries.
+ */
+public class DNSManager {
+	private static final Log log = LogFactory.getLog(DNSManager.class);
+
+    /**
+   	 * This is get called when there is a need of adding new sub domain to
+   	 * exciting domain.
+   	 * It will append required text to bind9 zone file and reload bind9 server.
+   	 * Note: make sure the user who run ADC has got rights to run sudo scripts
+   	 * without password
+   	 *
+   	 * @param subDomain
+   	 *            will be added in front of domain
+   	 */
+   	public void addNewSubDomain(String subDomain, String ip) {
+   		try {
+   			Runtime.getRuntime()
+   			       .exec(CartridgeConstants.SUDO_SH + " " +
+             // script script file that will be used to edit
+             // required files
+             System.getProperty(CartridgeConstants.APPEND_SCRIPT) + " " +
+             subDomain + " " +
+             // machineIp ip of the machine DNS bind service
+             // is running
+             ip + " " +
+             // bindFile the file which we edit to append
+             // the DNS entry
+             System.getProperty(CartridgeConstants.BIND_FILE_PATH));
+   			log.info("New sub domain is added to zone file");
+   		} catch (Exception e) {
+   			log.error(e.getMessage());
+   			throw new RuntimeException(e);
+   		}
+   	}
+    /**
+   	 * This is get called when there is a need of remove a sub domain.
+   	 * It will remove required text from bind9 zone file and reload bind9 server.
+   	 * Note: make sure the user who run ADC has got rights to run sudo scripts
+   	 * without password
+   	 *
+   	 * @param subDomain
+   	 *            will be used to delete the entry related to this
+   	 */
+   	public void removeSubDomain(String subDomain) {
+   		try {
+   			Runtime.getRuntime()
+   			       .exec(CartridgeConstants.SUDO_SH + " " +
+             // script script file that will be used to edit
+             // required files
+             System.getProperty(CartridgeConstants.REMOVE_SCRIPT) + " " +
+             subDomain + " " +
+             // bindFile the file which we edit to remove
+             // the DNS entry
+             System.getProperty(CartridgeConstants.BIND_FILE_PATH));
+   			log.info("Sub domain is removed from zone file");
+   		} catch (Exception e) {
+   			log.error(e.getMessage());
+   			throw new RuntimeException(e);
+   		}
+   	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/AppRepo.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/AppRepo.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/AppRepo.java
new file mode 100644
index 0000000..facfbe3
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/AppRepo.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.dto;
+
+public class AppRepo {
+
+	private int tenantId;
+	private String repoName;
+	private String cartridge;
+	private String appName;
+	private boolean isWebRoot;
+	private String tenantPubKey;
+	private String tenantCartridgePubKey;
+
+	public int getTenantId() {
+		return tenantId;
+	}
+
+	public void setTenantId(int tenantId) {
+		this.tenantId = tenantId;
+	}
+
+	public String getRepoName() {
+		return repoName;
+	}
+
+	public void setRepoName(String repoName) {
+		this.repoName = repoName;
+	}
+
+	public String getCartridge() {
+		return cartridge;
+	}
+
+	public void setCartridge(String cartridge) {
+		this.cartridge = cartridge;
+	}
+
+	public String getAppName() {
+		return appName;
+	}
+
+	public void setAppName(String appName) {
+		this.appName = appName;
+	}
+
+	public boolean isWebRoot() {
+		return isWebRoot;
+	}
+
+	public void setWebRoot(boolean isWebRoot) {
+		this.isWebRoot = isWebRoot;
+	}
+
+	public String getTenantPubKey() {
+		return tenantPubKey;
+	}
+
+	public void setTenantPubKey(String tenantPubKey) {
+		this.tenantPubKey = tenantPubKey;
+	}
+
+	public String getTenantCartridgePubKey() {
+		return tenantCartridgePubKey;
+	}
+
+	public void setTenantCartridgePubKey(String tenantCartridgePubKey) {
+		this.tenantCartridgePubKey = tenantCartridgePubKey;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/Cartridge.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/Cartridge.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/Cartridge.java
new file mode 100644
index 0000000..4d990ce
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/Cartridge.java
@@ -0,0 +1,198 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.dto;
+
+public class Cartridge implements Comparable<Cartridge> {
+
+    private String displayName;
+    private String description;
+	private String cartridgeAlias;
+	private String cartridgeType;
+	private int activeInstances;
+	private String status;
+	private String ip;
+	private String password;
+	private String provider;
+	private String version;
+	private boolean multiTenant;
+	private String hostName;
+	private String policy;
+	private String policyDescription;
+	private String repoURL;
+	private String dbUserName;
+	private String mappedDomain;
+
+	private String[] accessURLs;
+
+	public String getDisplayName() {
+		return displayName;
+	}
+
+	public void setDisplayName(String displayName) {
+		this.displayName = displayName;
+	}
+
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public String getCartridgeAlias() {
+		return cartridgeAlias;
+	}
+
+	public void setCartridgeAlias(String cartridgeAlias) {
+		this.cartridgeAlias = cartridgeAlias;
+	}
+
+	public String getCartridgeType() {
+		return cartridgeType;
+	}
+
+	public void setCartridgeType(String cartridgeType) {
+		this.cartridgeType = cartridgeType;
+	}
+
+	public int getActiveInstances() {
+		return activeInstances;
+	}
+
+	public void setActiveInstances(int activeInstances) {
+		this.activeInstances = activeInstances;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getIp() {
+		return ip;
+	}
+
+	public void setIp(String ip) {
+		this.ip = ip;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+	public String getProvider() {
+    	return provider;
+    }
+
+	public void setProvider(String provider) {
+    	this.provider = provider;
+    }
+
+	public String getVersion() {
+    	return version;
+    }
+
+	public void setVersion(String version) {
+    	this.version = version;
+    }
+
+	public boolean isMultiTenant() {
+		return multiTenant;
+	}
+
+	public void setMultiTenant(boolean multiTenant) {
+		this.multiTenant = multiTenant;
+	}
+
+	public String getHostName() {
+    	return hostName;
+    }
+
+	public void setHostName(String hostName) {
+    	this.hostName = hostName;
+    }
+
+	public String getPolicy() {
+		return policy;
+	}
+
+	public void setPolicy(String policy) {
+		this.policy = policy;
+	}
+
+	public String getPolicyDescription() {
+		return policyDescription;
+	}
+
+	public void setPolicyDescription(String policyDescription) {
+		this.policyDescription = policyDescription;
+	}
+
+	public String getRepoURL() {
+    	return repoURL;
+    }
+
+	public void setRepoURL(String repoURL) {
+    	this.repoURL = repoURL;
+    }
+
+	public String getDbUserName() {
+    	return dbUserName;
+    }
+
+	public String[] getAccessURLs() {
+		return accessURLs;
+	}
+
+	public void setAccessURLs(String[] accessURLs) {
+		this.accessURLs = accessURLs;
+	}
+
+	public void setDbUserName(String dbUserName) {
+    	this.dbUserName = dbUserName;
+    }
+
+	public String getMappedDomain() {
+		return mappedDomain;
+	}
+
+	public void setMappedDomain(String mappedDomain) {
+		this.mappedDomain = mappedDomain;
+	}
+
+	@Override
+	public int compareTo(Cartridge o) {
+		int compare = 0;
+		if (cartridgeAlias != null && o.cartridgeAlias != null) {
+			compare = cartridgeAlias.compareTo(o.cartridgeAlias);
+		}
+		if (compare == 0 && cartridgeType != null && o.cartridgeType != null) {
+			compare = cartridgeType.compareTo(o.cartridgeType);
+		}
+		return compare;
+	}
+	
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeDetail.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeDetail.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeDetail.java
new file mode 100644
index 0000000..48a0086
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeDetail.java
@@ -0,0 +1 @@
+package org.apache.stratos.adc.mgt.dto;


[08/12] Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepoNotificationService.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepoNotificationService.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepoNotificationService.java
new file mode 100644
index 0000000..85a9111
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepoNotificationService.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.io.File;
+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.CartridgeSubscription;
+import org.apache.stratos.adc.mgt.internal.DataHolder;
+import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
+import org.apache.stratos.adc.mgt.utils.PersistenceManager;
+import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
+import org.wso2.carbon.core.deployment.SynchronizeGitRepositoryRequest;
+import org.wso2.carbon.utils.CarbonUtils;
+
+
+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);
+
+		CartridgeSubscription 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<CartridgeSubscription> subscription = PersistenceManager.getSubscription(repositoryURL);
+		for (CartridgeSubscription cartridgeSubscription : subscription) {			
+			handleRepoSynch(cartridgeSubscription);   
+        }
+	}
+
+	private void handleRepoSynch(CartridgeSubscription subscription) throws Exception {
+		if (subscription == null) {
+			throw new Exception("Cannot synchronize repository. subscription is null");
+		}
+
+		if (CartridgeConstants.PROVIDER_NAME_WSO2.equals(subscription.getProvider())) {
+			log.info(" wso2 cartridge.. ");
+			createAndSendClusterMessage(subscription.getTenantId(), subscription.getTenantDomain(),
+			                            UUID.randomUUID(), subscription.getClusterDomain(),
+			                            subscription.getClusterSubdomain());
+			//for manager node
+			           /* if (subscription.getMgtClusterSubDomain() != null && !subscription.getMgtClusterSubDomain().isEmpty()) {
+			                createAndSendClusterMessage(subscription.getTenantId(), subscription.getTenantDomain(),
+			                        UUID.randomUUID(), subscription.getMgtClusterDomain(),
+			                        subscription.getMgtClusterSubDomain());
+			            }
+			            else {
+			                if(log.isDebugEnabled())
+			                    log.debug("Manager node cluster information not found, not sending the SynchronizeGitRepositoryRequest");
+			            }*/
+
+		} else {
+
+			// Query DB and get all the IP s for this tenant 
+			// Invoke update-instance script
+			
+			String appPath = subscription.getBaseDirectory();
+			String cartridgePrivateKey = System.getProperty(CartridgeConstants.CARTRIDGE_KEY);
+			
+			File keyFile = new File(cartridgePrivateKey);
+			if (!keyFile.exists()) {
+				log.error("The key file does not exist! " + cartridgePrivateKey);
+			}
+
+			if (subscription != null) {
+				TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
+
+				
+				if (topologyMgtService == null) {
+					String msg = " Topology Management Service is null ";
+					log.error(msg);
+					throw new Exception(msg);
+				}
+
+				String[] activeIpArray =
+				                         topologyMgtService.getActiveIPs(subscription.getCartridge(),
+				                                                         subscription.getClusterDomain(),
+				                                                         subscription.getClusterSubdomain());
+				try {
+
+					for (String instanceIp : activeIpArray) {
+						String command =
+						                 CarbonUtils.getCarbonHome() + File.separator + "bin" +
+						                         File.separator + "update-instance.sh " +
+						                         instanceIp + " " + appPath + " " +
+						                         cartridgePrivateKey + " /";
+						log.info("Update instance command.... " + command);
+						Process proc = Runtime.getRuntime().exec(command);
+						proc.waitFor();
+					}
+
+				} catch (Exception e) {
+					log.error("Exception is occurred in notify update operation. Reason : " +
+					          e.getMessage());
+					throw e;
+				}
+			}
+		}
+	}
+
+	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/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.java
new file mode 100644
index 0000000..1842040
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInfoBean.java
@@ -0,0 +1,78 @@
+/**
+ * 
+ */
+package org.apache.stratos.adc.mgt.service;
+
+import org.wso2.carbon.stratos.cloud.controller.util.xsd.CartridgeInfo;
+
+/**
+ * @author wso2
+ *
+ */
+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/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInformationService.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInformationService.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInformationService.java
new file mode 100644
index 0000000..ad7db58
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInformationService.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.dao.RepositoryCredentials;
+import org.apache.stratos.adc.mgt.utils.PersistenceManager;
+
+/**
+ * 
+ * Exposes information related to internally created repositories  
+ * 
+ */
+public class RepositoryInformationService {
+
+	private static final Log log = LogFactory.getLog(RepositoryInformationService.class);
+
+	public String getRepositoryUrl(int tenantId, String cartridgeType) throws Exception {
+
+		String repoUrl = null;
+		try {
+			repoUrl = PersistenceManager.getRepoURL(tenantId, cartridgeType);
+		} catch (Exception e) {
+			String msg = "System Exception is occurred when retriving repo URL";
+			log.error(msg + ". Reason :" + e.getMessage());
+			throw new Exception(msg);
+		}
+		if (repoUrl == null) {
+			log.error("Repository URL is not successfully retrieved " + "for tenant [" + tenantId +
+			          "] and cartridge [" + cartridgeType + "] ");
+		}
+		return repoUrl;
+	}
+
+    public RepositoryCredentials getRepositoryCredentials(int tenantId, String cartridgeType, String alias) throws Exception {
+
+    	RepositoryCredentials repoCredentials = null;
+        try {
+        	repoCredentials = PersistenceManager.getRepoCredentials(tenantId,cartridgeType, alias);
+        } catch (Exception e) {
+            String msg = "System Exception is occurred when retrieving user credentials";
+            log.error(msg + ". Reason :" + e.getMessage());
+            throw new Exception(msg);
+        }
+        if (repoCredentials == null) {
+            log.error("Repository credentials are not successfully retrieved " + "for tenant [" + tenantId +
+                    "] and cartridge [" + cartridgeType + "] ");
+        }
+        return repoCredentials;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java
new file mode 100644
index 0000000..d911b57
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java
@@ -0,0 +1,1095 @@
+package org.apache.stratos.adc.mgt.utils;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.rmi.RemoteException;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.regex.Pattern;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+import javax.activation.DataHandler;
+import javax.activation.FileDataSource;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.clustering.ClusteringAgent;
+import org.apache.axis2.clustering.Member;
+import org.apache.axis2.clustering.management.GroupManagementAgent;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.engine.AxisConfiguration;
+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.CartridgeSubscription;
+import org.apache.stratos.adc.mgt.dao.DataCartridge;
+import org.apache.stratos.adc.mgt.dao.PortMapping;
+import org.apache.stratos.adc.mgt.dao.Repository;
+import org.apache.stratos.adc.mgt.dns.DNSManager;
+import org.apache.stratos.adc.mgt.dto.Cartridge;
+import org.apache.stratos.adc.mgt.dto.Policy;
+import org.apache.stratos.adc.mgt.dto.RepositoryInformation;
+import org.apache.stratos.adc.mgt.dto.SubscriptionInfo;
+import org.apache.stratos.adc.mgt.exception.ADCException;
+import org.apache.stratos.adc.mgt.exception.AlreadySubscribedException;
+import org.apache.stratos.adc.mgt.exception.DuplicateCartridgeAliasException;
+import org.apache.stratos.adc.mgt.exception.InvalidCartridgeAliasException;
+import org.apache.stratos.adc.mgt.exception.InvalidRepositoryException;
+import org.apache.stratos.adc.mgt.exception.NotSubscribedException;
+import org.apache.stratos.adc.mgt.exception.PolicyException;
+import org.apache.stratos.adc.mgt.exception.RepositoryCredentialsRequiredException;
+import org.apache.stratos.adc.mgt.exception.RepositoryRequiredException;
+import org.apache.stratos.adc.mgt.exception.RepositoryTransportException;
+import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
+import org.apache.stratos.adc.mgt.internal.DataHolder;
+import org.apache.stratos.adc.mgt.service.RepositoryInfoBean;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.LsRemoteCommand;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.api.errors.InvalidRemoteException;
+import org.eclipse.jgit.api.errors.TransportException;
+import org.eclipse.jgit.lib.Ref;
+import org.eclipse.jgit.storage.file.FileRepository;
+import org.eclipse.jgit.transport.CredentialsProvider;
+import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
+import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
+import org.wso2.carbon.adc.topology.mgt.serviceobjects.DomainContext;
+import org.wso2.carbon.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException;
+import org.wso2.carbon.stratos.cloud.controller.util.xsd.CartridgeInfo;
+import org.wso2.carbon.stratos.cloud.controller.util.xsd.Properties;
+import org.wso2.carbon.stratos.cloud.controller.util.xsd.Property;
+import org.wso2.carbon.utils.CarbonUtils;
+import org.wso2.carbon.utils.multitenancy.MultitenantUtils;
+
+import com.google.gson.Gson;
+
+/**
+ * This class contains utility methods used by ApplicationManagementService.
+ */
+public class ApplicationManagementUtil {
+
+    private static Log log = LogFactory.getLog(ApplicationManagementUtil.class);
+    private static volatile CloudControllerServiceClient serviceClient;
+
+    /**
+     * Method used to subscribe to cartridges.
+     */
+	public static SubscriptionInfo doSubscribe(String cartridgeType, String alias, String policy, String repoURL,
+			boolean privateRepo, String repoUsername, String repoPassword, String dataCartridgeType,
+			String dataCartridgeAlias, String username, int tenantId, String tenantDomain) throws ADCException,
+            PolicyException, UnregisteredCartridgeException, InvalidCartridgeAliasException,
+            DuplicateCartridgeAliasException, RepositoryRequiredException, AlreadySubscribedException,
+            RepositoryCredentialsRequiredException, InvalidRepositoryException, RepositoryTransportException {
+
+		String clusterDomain = "";
+        String clusterSubDomain = CartridgeConstants.DEFAULT_SUBDOMAIN;
+        String mgtClusterDomain = "";
+        String mgtClusterSubDomain = CartridgeConstants.DEFAULT_MGT_SUBDOMAIN;
+        CartridgeSubscription subscription = null;
+        String mysqlPassword = null;
+        Repository repository = null;
+        DataCartridge dataCartridge = null;
+        String cartName = (alias != null && alias.trim().length() > 0) ? alias : cartridgeType;
+        String payloadZipFileName = "/tmp/" + UUID.randomUUID().toString() + ".zip";
+
+		log.info("Subscribing tenant [" + tenantId + "] with username [" + username + "] Cartridge Alias " + alias
+				+ ", Cartridge Type: " + cartridgeType + ", Repo URL: " + repoURL + ", Policy: " + policy);
+		
+		// Assign auto scaling only when necessary.
+		// Muti-tenant cartridge may not need a policy.
+		Policy autoScalingPolicy = null;
+		
+		CartridgeInfo cartridgeInfo;
+		try {
+			cartridgeInfo = getServiceClient().getCartridgeInfo(cartridgeType);
+		} catch (UnregisteredCartridgeException e) {
+			String message = cartridgeType
+					+ " is not a valid cartridge type. Please try again with a valid cartridge type.";
+			log.error(message);
+			throw e;
+		} catch (Exception e) {
+			String message = "Error getting info for " + cartridgeType;
+			log.error(message, e);
+			throw new ADCException(message, e);
+		}
+
+		validateCartridgeAlias(cartName, cartridgeType);
+		
+
+        if (cartridgeType.equals(CartridgeConstants.MYSQL_CARTRIDGE_NAME)) {
+        	
+        	autoScalingPolicy = PolicyHolder.getInstance().getDefaultPolicy();
+        	
+        	if (autoScalingPolicy == null) {
+        		throw new PolicyException("Could not load default auto-scaling policy.");
+        	}
+        	if (log.isDebugEnabled()) {
+    			log.debug("Selected Policy: " + new Gson().toJson(autoScalingPolicy));
+    		}
+        	
+            dataCartridge = new DataCartridge();
+            mysqlPassword = generatePassword();
+            dataCartridge.setPassword(mysqlPassword);
+            dataCartridge.setDataCartridgeType(cartridgeType);
+            dataCartridge.setUserName(CartridgeConstants.MYSQL_DEFAULT_USER);
+            clusterDomain = getDynamicClusterDomain(cartridgeType, cartName, cartridgeInfo);
+
+            registerService(cartridgeType,
+                    clusterDomain,
+                    clusterSubDomain,
+                    createPayload(cartridgeInfo, cartName, autoScalingPolicy, repoURL, mysqlPassword, "localhost", payloadZipFileName, tenantId, tenantDomain),
+                    "*",
+                    cartName + "." + cartridgeInfo.getHostName(),
+                    setRegisterServiceProperties(autoScalingPolicy, tenantId,cartName));
+            deletePayloadFile(payloadZipFileName);
+        } else {
+        	
+			if (!new Boolean(System.getProperty(CartridgeConstants.FEATURE_INTERNAL_REPO_ENABLED))) {
+				if (log.isDebugEnabled()) {
+					log.debug("Internal repo feature is not enabled.");
+				}
+
+				if (repoURL == null || repoURL.trim().length() == 0) {
+					throw new RepositoryRequiredException("External repository required for subscription");
+				}
+			}
+
+			if (repoURL != null && repoURL.trim().length() > 0) {
+				if (log.isDebugEnabled()) {
+					log.debug("Repo URL entered: " + repoURL);
+				}
+				// Validate Remote Repository.
+				validateRepository(repoURL, repoUsername, repoPassword, privateRepo,
+						new Boolean(System.getProperty(CartridgeConstants.FEATURE_EXTERNAL_REPO_VAIDATION_ENABLED)));
+			}
+
+            try {
+                repository = manageRepository(repoURL, repoUsername, repoPassword, cartName, cartridgeInfo, username,
+                        tenantDomain);
+            } catch (Exception e) {
+                log.error(e.getMessage());
+                throw new ADCException(e);
+            }
+        	
+            // TODO: Check logic here
+            if (!cartridgeInfo.getMultiTenant()) {
+            	
+        		if (policy != null && policy.trim().length() > 0) {
+        			autoScalingPolicy = PolicyHolder.getInstance().getPolicy(policy);
+        		} else {
+        			autoScalingPolicy = PolicyHolder.getInstance().getDefaultPolicy();
+        		}
+        		if (autoScalingPolicy == null) {
+        			throw new PolicyException("Could not load auto-scaling policy.");
+        		}
+        		if (log.isDebugEnabled()) {
+        			log.debug("Selected Policy: " + new Gson().toJson(autoScalingPolicy));
+        		}
+
+                if (cartridgeInfo.getProvider().equalsIgnoreCase(CartridgeConstants.PROVIDER_NAME_WSO2)) { //carbon cartridge private jet mode
+
+                    clusterDomain = getDynamicClusterDomain(cartridgeType, cartName, cartridgeInfo);
+                    registerService(cartridgeType,
+                            clusterDomain,
+                            clusterSubDomain,
+                            createCarbonPayload(cartridgeInfo, cartName, alias, payloadZipFileName, tenantDomain, false),
+                            Integer.toString(tenantId),
+                            cartName + "." + cartridgeInfo.getHostName(),
+                            setRegisterServiceProperties(autoScalingPolicy,tenantId,cartName));
+                    deletePayloadFile(payloadZipFileName);
+
+                } else {
+                    clusterDomain = getDynamicClusterDomain(cartridgeType, cartName, cartridgeInfo);
+
+                    String mySQLPassword = null;
+                    String mySQLHostName = null;
+
+                    if (dataCartridgeType != null && dataCartridgeType.trim().length() > 0 && dataCartridgeAlias != null
+                            && dataCartridgeAlias.trim().length() > 0) {
+                        if (log.isInfoEnabled()) {
+                            log.info("Retrieving Data Cartridge info for connect ... Alias : " + dataCartridgeAlias
+                                    + ", Type: " + dataCartridgeType);
+                        }
+
+                        //TODO: Optimize following logic. Same logic is used in MySQLPasswordConfigurer
+                        int maxAttempts = Integer.parseInt(System.getProperty(CartridgeConstants.MAX_ATTEMPTS, "50"));
+                        int i = 0;
+
+                        while (i < maxAttempts) {
+                            i++;
+                            Cartridge c = null;
+                            try {
+                                c = getCartridgeInfo(dataCartridgeAlias, tenantDomain);
+                            } catch (NotSubscribedException e) {
+                                // This cannot happen here.
+                            }
+                            if (c != null) {
+                                if (!c.getStatus().equals("ACTIVE")) {
+                                    try {
+                                        Thread.sleep(3000);
+                                    } catch (InterruptedException ignore) {
+                                    }
+                                } else {
+                                    mySQLPassword = c.getPassword();
+                                    mySQLHostName = c.getIp();
+                                    break;
+                                }
+                            }
+                        }
+                        log.info(" MYSQL Cartridge info retrieved ");
+                    }
+
+                    registerService(cartridgeType,
+                            clusterDomain,
+                            clusterSubDomain,
+                            createPayload(cartridgeInfo, cartName, autoScalingPolicy, repoURL, mySQLPassword,
+                                    mySQLHostName, payloadZipFileName, tenantId, tenantDomain), "*",
+                            cartName + "." + cartridgeInfo.getHostName(),
+                            setRegisterServiceProperties(autoScalingPolicy,tenantId,cartName));
+                    deletePayloadFile(payloadZipFileName);
+                }
+
+            } else {
+            	
+            	boolean allowMultipleSubscription = new Boolean(
+						System.getProperty(CartridgeConstants.FEATURE_MULTI_TENANT_MULTIPLE_SUBSCRIPTION_ENABLED));
+
+				if (!allowMultipleSubscription) {
+					// If the cartridge is multi-tenant. We should not let users
+					// subscribe twice.
+					boolean subscribed;
+					try {
+						subscribed = PersistenceManager.isAlreadySubscribed(cartridgeType, tenantId);
+					} catch (Exception e) {
+						String msg = "Error checking whether the cartridge type " + cartridgeType
+								+ " is already subscribed";
+						log.error(msg, e);
+						throw new ADCException(msg, e);
+					}
+					
+					if (subscribed) {
+						String msg = "Already subscribed to " + cartridgeType
+								+ ". This multi-tenant cartridge will not be available to subscribe";
+						if (log.isDebugEnabled()) {
+							log.debug(msg);
+						}
+						throw new AlreadySubscribedException(msg, cartridgeType);
+					}
+				}
+
+                TopologyManagementService topologyService = DataHolder.getTopologyMgtService();
+                DomainContext[] domainContexts = topologyService.getDomainsAndSubdomains(cartridgeType, tenantId);
+                log.info("Retrieved " + domainContexts.length + " domain and corresponding subdomain pairs");
+
+                if (domainContexts.length > 0) {
+                	                        if(domainContexts.length > 2) {
+                	                            if(log.isDebugEnabled())
+                	                                log.debug("Too many domain sub domain pairs");
+                	                       }
+                	
+                	                        for (int i = 0 ; i < domainContexts.length ; i++) {
+                	                            if(domainContexts[i].getSubDomain().equalsIgnoreCase("mgt")) {
+                	                                mgtClusterDomain = domainContexts[i].getDomain();
+                	                                mgtClusterSubDomain = domainContexts[i].getSubDomain();
+                	                            }
+                	                          else
+                	                          {
+                	                              clusterDomain = domainContexts[i].getDomain();
+                	                              clusterSubDomain = domainContexts[i].getSubDomain();
+                	                          }
+                	                      }
+                } else {
+                	String msg = "Domain contexts not found for " + cartridgeType + " and tenant id " + tenantId;
+                    log.warn(msg);
+                    throw new ADCException(msg);
+                }
+            }
+        }
+
+        subscription =
+                createCartridgeSubscription(cartridgeInfo, autoScalingPolicy,
+                        cartridgeType, cartName, tenantId, tenantDomain,
+                        repository, clusterDomain, clusterSubDomain,
+                        mgtClusterDomain, mgtClusterSubDomain, dataCartridge);
+
+        try {
+			PersistenceManager.persistSubscription(subscription);
+		} catch (Exception e) {
+			throw new ADCException("Error Saving Subscription", e);
+		}
+        addDNSEntry(alias, cartridgeType);
+        return createSubscriptionResponse(subscription, repository);
+
+    }
+    
+    private static File getPayload(CartridgeInfo cartridgeInfo, String cartridgeName, Policy policy, String repoURL,
+                                   String mySQLPassword, String mySQLHost, String payloadZipFileName,
+                                   int tenantId, String tenantDomain) throws Exception {
+        String payloadString = "";
+
+        payloadString += "TENANT_RANGE=" + "*";
+        payloadString += ",TENANT_ID=" + tenantId;
+        payloadString +=
+            ",REPO_INFO_EPR=" +
+                    System.getProperty(CartridgeConstants.REPO_INFO_EPR);
+        payloadString +=
+                ",CARTRIDGE_AGENT_EPR=" +
+                        System.getProperty(CartridgeConstants.CARTRIDGE_AGENT_EPR);
+        payloadString += createPortMappingPayloadString(cartridgeInfo);
+        payloadString += ",HOST_NAME=" + cartridgeName + "." + cartridgeInfo.getHostName();
+        payloadString += ",MIN=" + policy.getMinAppInstances();
+        payloadString += ",MAX=" + policy.getMaxAppInstances();
+        payloadString += ",SERVICE=" + cartridgeInfo.getType();
+        payloadString += ",TENANT_CONTEXT=" + tenantDomain;
+        payloadString += ",CARTRIDGE_ALIAS=" + cartridgeName;
+
+        String gitRepoURL = null;
+        if (repoURL != null) {
+            gitRepoURL = repoURL;
+        } else {
+            gitRepoURL = "git@" + System.getProperty(CartridgeConstants.GIT_HOST_IP) + ":" + tenantDomain
+                    + System.getProperty("file.separator") + cartridgeName + ".git";
+        }
+        payloadString += ",GIT_REPO=" + gitRepoURL;
+        payloadString += ",APP_PATH=" + cartridgeInfo.getBaseDir();
+        payloadString += ",BAM_IP=" + System.getProperty(CartridgeConstants.BAM_IP);
+        payloadString += ",BAM_PORT=" + System.getProperty(CartridgeConstants.BAM_PORT);
+
+        // MYSQL params
+        payloadString += ",MYSQL_HOST=" + mySQLHost;
+        payloadString += ",MYSQL_USER=" + "root";
+        payloadString += ",MYSQL_PASSWORD=" + mySQLPassword;
+        
+        DecimalFormat df = new DecimalFormat("##.##");
+        df.setParseBigDecimal(true);
+
+        // Autoscaling params
+        payloadString += ",ALARMING_LOWER_RATE=" + df.format(policy.getAlarmingLowerRate());
+        payloadString += ",ALARMING_UPPER_RATE=" + df.format(policy.getAlarmingUpperRate());
+        payloadString += ",MAX_REQUESTS_PER_SEC=" + policy.getMaxRequestsPerSecond();
+        payloadString += ",ROUNDS_TO_AVERAGE=" + policy.getRoundsToAverage();
+        payloadString += ",SCALE_DOWN_FACTOR=" + df.format(policy.getScaleDownFactor());
+
+        log.info("** Payload ** " + payloadString);
+        
+        String payloadStringTempFile = "launch-params";
+
+        FileWriter fstream = new FileWriter(payloadStringTempFile);
+        BufferedWriter out = new BufferedWriter(fstream);
+        out.write(payloadString);
+        out.close();
+
+        FileOutputStream fos = new FileOutputStream(payloadZipFileName);
+        ZipOutputStream zos = new ZipOutputStream(fos);
+
+		addToZipFile(System.getProperty("user.dir"), payloadStringTempFile, zos);
+
+		File folder = new File(CarbonUtils.getCarbonHome()+
+				File.separator + "repository"
+				+ File.separator + "resources" + File.separator + "user-data");
+		for (File fileEntry : folder.listFiles()) {
+			if (!fileEntry.isDirectory()) {
+				addToZipFile(folder.getPath(), fileEntry.getName(), zos);
+			}
+		}
+
+        zos.close();
+        fos.close();
+
+        return new File(payloadZipFileName);
+    }
+
+    private static File getCarbonPayload (CartridgeInfo cartridgeInfo, String cartridgeName, String cartridgeAlias,
+                                          String payloadZipFileName, String tenantDomain, boolean isMultitenant) throws Exception {
+
+        String payloadString = "";
+        payloadString += "DEPLOYMENT=" + "default";  //TODO: Currently hard coded but can be either manager, worker or default.
+        //payloadString += ",DOMAIN=" + "s2.wso2.com";
+        payloadString += ",SERVICE=" + cartridgeInfo.getType();
+        //payloadString += ",TENANT_ID=" + tenantId;
+        payloadString += ",SC_IP=" + System.getProperty(CartridgeConstants.SC_IP);
+        payloadString += ",CARTRIDGE_ALIAS=" + cartridgeAlias;
+        payloadString += ",MULTITENANT=" + "false";
+
+        if(isMultitenant) { //not used at the moment
+            payloadString += ",DOMAIN=" + "wso2." + cartridgeInfo.getType() + ".domain";
+            payloadString += ",HOSTNAME=" + cartridgeInfo.getType() + ".s2.wso2.com";
+
+        } else {
+            payloadString += ",DOMAIN=" + cartridgeName + "." + cartridgeInfo.getHostName() + "." + cartridgeInfo.getType() +
+                    ".domain";
+            payloadString += ",HOSTNAME=" + cartridgeName + "." + cartridgeInfo.getHostName();
+        }
+
+        log.info("** Payload ** " + payloadString);
+
+        String payloadStringTempFile = "launch-params";
+
+        FileWriter fstream = new FileWriter(payloadStringTempFile);
+        BufferedWriter out = new BufferedWriter(fstream);
+        out.write(payloadString);
+        out.close();
+
+        FileOutputStream fos = new FileOutputStream(payloadZipFileName);
+        ZipOutputStream zos = new ZipOutputStream(fos);
+
+        addToZipFile(System.getProperty("user.dir"), payloadStringTempFile, zos);
+
+        zos.close();
+        fos.close();
+
+        return new File(payloadZipFileName);
+    }
+
+    private static String createPortMappingPayloadString(CartridgeInfo cartridgeInfo) {
+        // port mappings
+        StringBuilder portMapBuilder = new StringBuilder();
+        org.wso2.carbon.stratos.cloud.controller.util.xsd.PortMapping[] portMappings = cartridgeInfo.getPortMappings();
+        for (org.wso2.carbon.stratos.cloud.controller.util.xsd.PortMapping portMapping : portMappings) {
+            String port = portMapping.getPort();
+            String protocol = portMapping.getProtocol();
+            String proxyPort = portMapping.getProxyPort();
+            portMapBuilder.append(protocol).append(":").append(port).append(":").append(proxyPort).append("|");
+        }
+
+        // remove last "|" character
+        String portMappingString = portMapBuilder.toString();
+        String portMappingPayloadString = null;
+        if (portMappingString.charAt(portMappingString.length() - 1) == '|') {
+            portMappingPayloadString = portMappingString.substring(0, portMappingString.length() - 1);
+        } else {
+            portMappingPayloadString = portMappingString;
+        }
+
+        return ",PORTS=" + portMappingPayloadString;
+    }
+
+    private static void addToZipFile(String dir, String fileName, ZipOutputStream zos) throws FileNotFoundException,
+            IOException {
+
+        log.info("Writing '" + fileName + "' to zip file");
+
+        File file = new File(dir+File.separator+fileName);
+        FileInputStream fis = new FileInputStream(file);
+        ZipEntry zipEntry = new ZipEntry(fileName);
+        zos.putNextEntry(zipEntry);
+
+        byte[] bytes = new byte[1024];
+        int length;
+        while ((length = fis.read(bytes)) >= 0) {
+            zos.write(bytes, 0, length);
+        }
+
+        zos.closeEntry();
+        fis.close();
+    }
+
+    private static DataHandler createPayload(CartridgeInfo cartridgeInfo, String cartridgeName, Policy policy, String repoURL, String mySQLPwd, String mySQLHost,
+                                             String payloadZipFileName, int tenantId,
+                                             String tenantDomain)
+            throws ADCException {
+
+        FileDataSource dataSource = null;
+        File payloadFile = null;
+        try {
+            payloadFile = getPayload(cartridgeInfo, cartridgeName,
+            		policy, repoURL,
+                    mySQLPwd, mySQLHost, payloadZipFileName, tenantId, tenantDomain);
+            dataSource = new FileDataSource(payloadFile);
+        } catch (Exception e) {
+            String msg = "Exception : " + e.getMessage();
+            log.error(msg, e);
+            throw new ADCException("Subscribe failed ", e);
+        }
+        return new DataHandler(dataSource);
+    }
+
+    private static DataHandler createCarbonPayload (CartridgeInfo cartridgeInfo, String cartridgeName, String cartridgeAlias, String payloadZipFileName,
+                                                    String tenantDomain, boolean isMultitenant) throws ADCException {
+
+        FileDataSource dataSource = null;
+        File payloadFile = null;
+        try {
+            payloadFile = getCarbonPayload(cartridgeInfo, cartridgeName, cartridgeAlias, payloadZipFileName,
+                    tenantDomain, isMultitenant);
+            dataSource = new FileDataSource(payloadFile);
+
+        } catch (Exception e) {
+            String msg = "Exception : " + e.getMessage();
+            log.error(msg, e);
+            throw new ADCException("Subscribe failed ", e);
+        }
+
+        return new DataHandler(dataSource);
+    }
+
+    protected static String getAppDeploymentDirPath(String cartridge, AxisConfiguration axisConfig) {
+        return axisConfig.getRepository().getPath() + File.separator + cartridge;
+    }
+
+    private static CartridgeSubscription createCartridgeSubscription(CartridgeInfo cartridgeInfo,
+                                                                     Policy policy,
+                                                                     String cartridgeType,
+                                                                     String cartridgeName,
+                                                                     int tenantId,
+                                                                     String tenantDomain,
+                                                                     Repository repository,
+                                                                     String clusterDomain,
+                                                                     String clusterSubDomain,
+                                                                     String mgtClusterDomain,
+                                                                     String mgtClusterSubDomain,
+                                                                     DataCartridge dataCartridge) {
+
+        CartridgeSubscription cartridgeSubscription = new CartridgeSubscription();
+        cartridgeSubscription.setCartridge(cartridgeType);
+        cartridgeSubscription.setAlias(cartridgeName);
+        cartridgeSubscription.setClusterDomain(clusterDomain);
+        cartridgeSubscription.setClusterSubdomain(clusterSubDomain);
+               cartridgeSubscription.setMgtClusterDomain(mgtClusterDomain);
+                cartridgeSubscription.setMgtClusterSubDomain(mgtClusterSubDomain);
+        String hostName = null;
+        if (cartridgeInfo.getMultiTenant()) {
+            hostName = cartridgeInfo.getHostName();
+        } else {
+            hostName = cartridgeName + "." + cartridgeInfo.getHostName();
+        }
+        cartridgeSubscription.setHostName(hostName);
+        if (policy != null) {
+        	// Policy can be null for multi-tenant cartridge
+        	cartridgeSubscription.setPolicy(policy.getName());
+        }
+        cartridgeSubscription.setRepository(repository);
+        cartridgeSubscription.setPortMappings(createPortMappings(cartridgeInfo));
+        cartridgeSubscription.setProvider(cartridgeInfo.getProvider());
+        cartridgeSubscription.setDataCartridge(dataCartridge);
+        cartridgeSubscription.setTenantId(tenantId);
+        cartridgeSubscription.setTenantDomain(tenantDomain);
+        cartridgeSubscription.setBaseDirectory(cartridgeInfo.getBaseDir());
+        cartridgeSubscription.setState("PENDING");
+        return cartridgeSubscription;
+    }
+
+
+    private static List<PortMapping> createPortMappings(CartridgeInfo cartridgeInfo) {
+        List<PortMapping> portMappings = new ArrayList<PortMapping>();
+
+        if (cartridgeInfo.getPortMappings() != null) {
+            for (org.wso2.carbon.stratos.cloud.controller.util.xsd.PortMapping portMapping : cartridgeInfo.getPortMappings()) {
+                PortMapping portMap = new PortMapping();
+                portMap.setPrimaryPort(portMapping.getPort());
+                portMap.setProxyPort(portMapping.getProxyPort());
+                portMap.setType(portMapping.getProtocol());
+                portMappings.add(portMap);
+            }
+        }
+        return portMappings;
+    }
+
+    public static CloudControllerServiceClient getServiceClient() throws AxisFault {
+        if (serviceClient == null) {
+            synchronized (CloudControllerServiceClient.class) {
+                if (serviceClient == null) {
+                    serviceClient = new CloudControllerServiceClient(
+                            System.getProperty(CartridgeConstants.AUTOSCALER_SERVICE_URL));
+                }
+            }
+        }
+        return serviceClient;
+    }
+
+    public static int getTenantId(ConfigurationContext configurationContext) {
+        int tenantId = MultitenantUtils.getTenantId(configurationContext);
+        if(log.isDebugEnabled()) {
+            log.debug("Returning tenant ID : " + tenantId);
+        }
+        return tenantId;
+    }
+
+	private static void validateCartridgeAlias(String alias, String cartridgeType) throws InvalidCartridgeAliasException, DuplicateCartridgeAliasException, ADCException {
+		// Do not use quotes in messages, current UI JavaScript does not work if there are quotes
+		// TODO: Fix message display in UI
+		String patternString = "([a-z0-9]+([-][a-z0-9])*)+";
+        Pattern pattern = Pattern.compile(patternString);
+        
+        if (!pattern.matcher(alias).matches()) {
+        	String msg = "The alias " + alias + " can contain only alpha-numeric lowercase characters. Please enter a valid alias.";
+			log.error(msg);
+			throw new InvalidCartridgeAliasException(msg, cartridgeType, alias);
+        }
+		
+		boolean isAliasTaken = false;
+		try {			
+			isAliasTaken = PersistenceManager.isAliasAlreadyTaken(alias, cartridgeType);			
+		} catch (Exception e) {
+			String msg = "Exception : " + e.getMessage();
+			log.error(msg, e);
+			throw new ADCException("Error when checking alias is already taken", e);
+		}
+		
+		if (isAliasTaken) {
+			String msg = "The alias " + alias + " is already taken. Please try again with a different alias.";
+			log.error(msg);
+			throw new DuplicateCartridgeAliasException(msg, cartridgeType, alias);
+		}
+	}
+	
+	public static RepositoryInformation validateRepository(String repoURL, String repoUsername, String repoPassword,
+			boolean privateRepo, boolean testConnection) throws RepositoryRequiredException, ADCException,
+			RepositoryCredentialsRequiredException, InvalidRepositoryException, RepositoryTransportException {
+		RepositoryInformation repositoryInformation = new RepositoryInformation();
+		repositoryInformation.setRepoURL(repoURL);
+		if (log.isDebugEnabled()) {
+			log.debug("Validating Git Repository");
+		}
+
+		if (repoURL != null && repoURL.trim().length() > 0 && privateRepo) {
+			if (log.isDebugEnabled()) {
+				log.debug("External repo validation is a private repo: " + repoURL);
+			}
+			if (repoUsername == null || repoUsername.trim().length() == 0 || repoPassword == null
+					|| repoPassword.trim().length() == 0) {
+				throw new RepositoryCredentialsRequiredException(
+						"Username and Password are required for private repository");
+			}
+		}
+
+		if (!testConnection) {
+			if (log.isDebugEnabled()) {
+				log.debug("External repo validation is not enabled");
+			}
+			return repositoryInformation;
+		}
+
+		if (repoURL == null || repoURL.trim().length() == 0) {
+			// This means, no repo to validate.
+			return repositoryInformation;
+		}
+		
+		if (log.isDebugEnabled()) {
+			log.debug("External repo validation enabled");
+		}
+
+		// This assumes running on Linux.
+		String parentDirName = "/tmp/" + UUID.randomUUID().toString();
+		CredentialsProvider credentialsProvider = null;
+		if (repoUsername != null && repoUsername.trim().length() > 0 && repoPassword != null
+				&& repoPassword.trim().length() > 0) {
+			if (log.isDebugEnabled()) {
+				log.debug("External repo credentails are passed: " + repoUsername);
+			}
+			credentialsProvider = new UsernamePasswordCredentialsProvider(repoUsername, repoPassword.toCharArray());
+		}
+
+		// Initialize temp local file repo
+		FileRepository localRepo = null;
+		try {
+			File f = new File(parentDirName + "/.git");
+			localRepo = new FileRepository(f);
+			if (log.isDebugEnabled()) {
+				log.debug("Local File Repo: " + f.getAbsoluteFile());
+			}
+		} catch (IOException e) {
+			throw new ADCException("Error creating local file repo", e);
+		}
+
+		Git git = new Git(localRepo);
+		LsRemoteCommand cmd = git.lsRemote().setRemote(repoURL);
+		if (credentialsProvider != null) {
+			cmd.setCredentialsProvider(credentialsProvider);
+		}
+		try {
+			Collection<Ref> collection = cmd.call();
+			List<String> refNames = new ArrayList<String>();
+			if (collection != null) {
+				for (Ref ref : collection) {
+					if (log.isDebugEnabled()) {
+						log.debug(repoURL + ": " + ref.getName());
+					}
+					refNames.add(ref.getName());
+				}
+			}
+			repositoryInformation.setRefName(refNames.toArray(new String[refNames.size()]));
+		} catch (InvalidRemoteException e) {
+			throw new InvalidRepositoryException("Provided repository url is not valid", e);
+		} catch (TransportException e) {
+			throw new RepositoryTransportException("Transport error when checking remote repository", e);
+		} catch (GitAPIException e) {
+			throw new ADCException("Git API error when checking remote repository", e);
+		}
+		return repositoryInformation;
+	}
+
+    private static String generatePassword() {
+
+        final int PASSWORD_LENGTH = 8;
+        StringBuffer sb = new StringBuffer();
+        for (int x = 0; x < PASSWORD_LENGTH; x++) {
+            sb.append((char) ((int) (Math.random() * 26) + 97));
+        }
+        return sb.toString();
+
+    }
+
+    private static void deletePayloadFile(String payloadZipFileName) {
+        File payloadFile = new File(payloadZipFileName);
+        payloadFile.delete();
+        log.info(" Payload file is deleted. ");
+    }
+
+    private static Properties setRegisterServiceProperties(Policy policy, int tenantId, String alias) {
+    	
+    	DecimalFormat df = new DecimalFormat("##.##");
+        df.setParseBigDecimal(true);
+
+        Properties properties = new Properties();
+        List<Property> allProperties = new ArrayList<Property>();
+        // min_app_instances
+        Property property = new Property();
+        property.setName("min_app_instances");
+        property.setValue(df.format(policy.getMinAppInstances()));
+        allProperties.add(property);
+        
+        
+     // max_app_instances
+        property = new Property();
+        property.setName("max_app_instances");
+        property.setValue(df.format(policy.getMaxAppInstances()));
+        allProperties.add(property);
+        
+        // max_requests_per_second
+        property = new Property();
+        property.setName("max_requests_per_second");
+        property.setValue(df.format(policy.getMaxRequestsPerSecond()));
+        allProperties.add(property);
+        
+        // alarming_upper_rate
+        property = new Property();
+        property.setName("alarming_upper_rate");
+        property.setValue(df.format(policy.getAlarmingUpperRate()));
+        allProperties.add(property);
+        
+     // alarming_lower_rate
+        property = new Property();
+        property.setName("alarming_lower_rate");
+        property.setValue(df.format(policy.getAlarmingLowerRate()));
+        allProperties.add(property);
+        
+        // scale_down_factor
+        property = new Property();
+        property.setName("scale_down_factor");
+        property.setValue(df.format(policy.getScaleDownFactor()));
+        allProperties.add(property);
+        
+     // rounds_to_average
+        property = new Property();
+        property.setName("rounds_to_average");
+        property.setValue(df.format(policy.getRoundsToAverage()));
+        allProperties.add(property);
+        
+       // tenant id
+        property = new Property();
+        property.setName("tenant_id");
+        property.setValue(String.valueOf(tenantId));
+        allProperties.add(property);
+        
+        // alias
+        property = new Property();
+        property.setName("alias");
+        property.setValue(String.valueOf(alias));
+        allProperties.add(property);
+        
+        properties.setProperties(allProperties.toArray(new Property[allProperties.size()]));
+        return properties;
+    }
+
+    private static String convertRepoURL(String gitURL) {
+        String convertedHttpURL = null;
+        if (gitURL != null && gitURL.startsWith("git@")) {
+            StringBuilder httpRepoUrl = new StringBuilder();
+            httpRepoUrl.append("http://");
+            String[] urls = gitURL.split(":");
+            String[] hostNameArray = urls[0].split("@");
+            String hostName = hostNameArray[1];
+            httpRepoUrl.append(hostName).append("/").append(urls[1]);
+            convertedHttpURL = httpRepoUrl.toString();
+        } else if (gitURL != null && gitURL.startsWith("http")) {
+            convertedHttpURL = gitURL;
+        }
+        return convertedHttpURL;
+    }
+
+    private static void addDNSEntry(String alias, String cartridgeType) {
+        new DNSManager().addNewSubDomain(alias + "." + cartridgeType, System.getProperty(CartridgeConstants.ELB_IP));
+    }
+
+    private static SubscriptionInfo createSubscriptionResponse(CartridgeSubscription cartridgeSubscription, Repository repository) {
+    	SubscriptionInfo subscriptionInfo = new SubscriptionInfo();
+    	
+        if (repository != null && repository.getRepoName() != null) {
+        	subscriptionInfo.setRepositoryURL(convertRepoURL(repository.getRepoName()));
+        }
+        
+        subscriptionInfo.setHostname(cartridgeSubscription.getHostName());
+        
+        return subscriptionInfo;
+    }
+
+    private static String getDynamicClusterDomain(String cartridgeType, String cartName,
+                                                  CartridgeInfo cartridgeInfo) {
+        return cartName + "." + cartridgeInfo.getHostName() + "." + cartridgeType +
+                ".domain";
+    }
+
+    private static Repository manageRepository(String repoURL, String repoUserName, String repoUserPassword,
+                                               String cartName, CartridgeInfo cartridgeInfo, String username,
+                                               String tenantDomain)
+            throws Exception {
+
+        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.setRepoName(repoURL);
+            repository.setRepoUserName(repoUserName);
+            repository.setRepoUserPassword(repoUserPassword);
+        } else {
+
+            //log.info("External REPO URL is not provided. Therefore creating a new repo. Adding to Executor");
+            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.setRepoUserName(System.getProperty(CartridgeConstants.INTERNAL_GIT_USERNAME));
+            repository.setRepoUserPassword(System.getProperty(CartridgeConstants.INTERNAL_GIT_PASSWORD));
+            /*repoCreationExecutor.execute(new RepositoryCreator(new RepositoryInfoBean(repoURL,
+                    cartName,
+                    tenantDomain,
+                    repository.getRepoUserName(),
+                    repository.getRepoUserPassword(),
+                    cartridgeInfo.getDeploymentDirs(),
+                    cartridgeInfo)));*/
+            new RepositoryCreator(new RepositoryInfoBean(repoURL,
+                    cartName,
+                    tenantDomain,
+                    repository.getRepoUserName(),
+                    repository.getRepoUserPassword(),
+                    cartridgeInfo.getDeploymentDirs(),
+                    cartridgeInfo)).createInternalRepository();
+            String repoName = tenantDomain + "/" + cartName;
+            repository.setRepoName("https://" + System.getProperty(CartridgeConstants.GIT_HOST_NAME) + ":8443/git/" + repoName);
+
+        }
+        return repository;
+    }
+
+    public static Cartridge getCartridgeInfo(String alias, String tenantDomain) throws ADCException, NotSubscribedException {
+        log.info("Alias: " + alias);
+        if (alias == null) {
+            String msg = "Provided alias is empty";
+            log.error(msg);
+            throw new ADCException("Alias you provided is empty.");
+        }
+
+        CartridgeSubscription sub;
+        try {
+            sub = PersistenceManager.getSubscription(tenantDomain, alias);
+        } catch (Exception e) {
+            String message = "Cannot get subscription info for " + tenantDomain + " and alias " + alias;
+            log.error(message, e);
+            throw new ADCException(message, e);
+        }
+        if (sub == null) {
+            String msg = "Info request for not subscribed cartridge";
+            log.error(msg);
+            throw new NotSubscribedException("You have not subscribed for " + alias, alias);
+        }
+
+        log.info("Cluster domain : " + sub.getClusterDomain() + " cartridge: " + sub.getCartridge());
+        
+        CartridgeInfo cartridgeInfo = null;
+        try {
+            cartridgeInfo = getServiceClient().getCartridgeInfo(sub.getCartridge());
+        } catch (Exception e) {
+            throw new ADCException("Cannot get cartridge info: " + sub.getCartridge(), e);
+        }
+
+        TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
+
+        String[] ips =
+                topologyMgtService.getActiveIPs(sub.getCartridge(),
+                        sub.getClusterDomain(),
+                        sub.getClusterSubdomain());
+        return populateCartridgeInfo(cartridgeInfo, sub, ips, tenantDomain);
+    }
+
+    private static void registerService(String cartridgeType, String domain, String subDomain,
+                                        DataHandler payload, String tenantRange, String hostName, Properties properties)
+            throws ADCException, UnregisteredCartridgeException {
+        log.info("Register service..");
+        try {
+            getServiceClient().register(domain, subDomain, cartridgeType, payload, tenantRange,
+                    hostName, properties);
+        } catch (CloudControllerServiceUnregisteredCartridgeExceptionException e) {
+            String msg = "Exception is occurred in register service operation. Reason :" + e.getMessage();
+            log.error(msg, e);
+            throw new UnregisteredCartridgeException("Not a registered cartridge " + cartridgeType, cartridgeType, e);
+        } catch (RemoteException e) {
+        	log.error("Remote Error", e);
+        	throw new ADCException("An error occurred in subscribing process");
+        }
+    }
+
+    public static Cartridge populateCartridgeInfo(CartridgeInfo cartridgeInfo, CartridgeSubscription sub, String[] ips, String tenantDomain) throws ADCException {
+    	Cartridge cartridge = new Cartridge();
+        if (ips != null && ips.length > 0) {
+			if (log.isDebugEnabled()) {
+				log.debug("Found IPs: " + Arrays.toString(ips) + " for " + cartridgeInfo.getType() + ", "
+						+ sub.getAlias());
+			}
+			if (CartridgeConstants.DATA_CARTRIDGE_PROVIDER.equals(sub.getProvider())) {
+				// FIXME Temporary fix for SPI-301
+				cartridge.setIp(ips[ips.length - 1]);
+				if (sub.getDataCartridge() != null) {
+					if (log.isDebugEnabled()) {
+						log.debug("Data Cartridge Info: " + sub.getDataCartridge().getUserName());
+					}
+					cartridge.setPassword(sub.getDataCartridge().getPassword());
+					cartridge.setDbUserName(sub.getDataCartridge().getUserName());
+				}
+			}
+			if (cartridgeInfo.getMultiTenant()) { // TODO refactor logic for carbon cartridges.
+				cartridge.setStatus(CartridgeConstants.ACTIVE);
+				cartridge.setActiveInstances(ips.length);
+			} else {
+				Map<String, String> instanceIpMap;
+				try {
+					instanceIpMap = PersistenceManager.getCartridgeInstanceInfo(ips, sub.getClusterDomain(),
+							sub.getClusterSubdomain());
+					cartridge.setActiveInstances(Collections.frequency(instanceIpMap.values(),
+							CartridgeConstants.ACTIVE));
+					cartridge.setStatus(checkCartridgeStatus(instanceIpMap));
+				} catch (Exception e) {
+					throw new ADCException("Error checking cartridge status");
+				}
+
+                if(cartridgeInfo.getProvider().equalsIgnoreCase(CartridgeConstants.PROVIDER_NAME_WSO2)) {
+
+                    List<Member> members = getMemberInstances(sub.getClusterDomain(), sub.getClusterSubdomain());
+                    if(members != null) {
+                        int activeInstancesCount = 0;
+                        for (Member member : members) {
+                            if (member != null && member.isActive() && member.getDomain().equals(sub.getClusterDomain())) {
+                                cartridge.setStatus(CartridgeConstants.ACTIVE);
+                                activeInstancesCount ++;
+                            }
+                        }
+                        cartridge.setActiveInstances(activeInstancesCount);
+                    }
+                }
+			}
+        } else {
+            log.warn("IPs have not returned through Topology Management for " + sub.getAlias());
+            cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
+        }
+        cartridge.setDisplayName(cartridgeInfo.getDisplayName());
+        cartridge.setDescription(cartridgeInfo.getDescription());
+        cartridge.setVersion(cartridgeInfo.getVersion());
+        cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
+
+        List<String> accessURLs = new ArrayList<String>();
+
+        if (cartridgeInfo.getPortMappings() != null) {
+            for (org.wso2.carbon.stratos.cloud.controller.util.xsd.PortMapping portMapping : cartridgeInfo
+                    .getPortMappings()) {
+                if (portMapping != null) {
+					try {
+						int port = Integer.parseInt(portMapping.getProxyPort());
+	                	String protocol = portMapping.getProtocol();
+
+	                	if ("http".equals(protocol) && port == 80) {
+	                	    port = -1;
+	                	} else if ("https".equals(protocol) && port == 443) {
+	                	    port = -1;
+	                	}
+	                	
+	                	String file = "";
+	                	if (CartridgeConstants.PROVIDER_NAME_WSO2.equals(cartridgeInfo.getProvider()) && !cartridgeInfo.getMultiTenant()) {
+	                		// Carbon Private Jet Cartridges
+	                		file = "/t/" + tenantDomain;
+	                	}
+	                	
+	                	URL serverURL = new URL(protocol, sub.getHostName(), port, file);
+						accessURLs.add(serverURL.toExternalForm());
+					} catch (MalformedURLException e) {
+						if (log.isErrorEnabled()) {
+							log.error("Error getting access URL for " + cartridgeInfo.getType(), e);
+						}
+					} catch (NumberFormatException e) {
+						if (log.isErrorEnabled()) {
+							log.error("Error getting port of access URL for " + cartridgeInfo.getType(), e);
+						}
+					}
+                }
+            }
+        }
+
+        cartridge.setAccessURLs(accessURLs.toArray(new String[accessURLs.size()]));
+
+        cartridge.setCartridgeAlias(sub.getAlias());
+        cartridge.setCartridgeType(sub.getCartridge());
+        cartridge.setHostName(sub.getHostName());
+        cartridge.setPolicy(sub.getPolicy());
+        Policy policy = PolicyHolder.getInstance().getPolicy(sub.getPolicy());
+        if (policy != null) {
+        	cartridge.setPolicyDescription(policy.getDescription());
+        }
+        cartridge.setProvider(sub.getProvider());
+        cartridge.setMappedDomain(sub.getMappedDomain());
+
+        if (sub.getRepository() != null) {
+            cartridge.setRepoURL(convertRepoURL(sub.getRepository().getRepoName()));
+        }
+        return cartridge;
+    }
+
+    private static List<Member> getMemberInstances(String domain, String subDomain) {
+
+        ClusteringAgent clusteringAgent = DataHolder.getServerConfigContext()
+                .getAxisConfiguration().getClusteringAgent();
+        GroupManagementAgent groupMgtAgent = clusteringAgent.getGroupManagementAgent(domain, subDomain);
+
+        if (groupMgtAgent == null) {
+            log.warn("Group Management Agent not found for domain : " + domain +
+                    ", sub domain : " + subDomain);
+            return null;
+        }
+
+        List<Member> members = groupMgtAgent.getMembers();
+        if (members == null || members.isEmpty()) {
+            return null;
+        }
+
+        return members;
+    }
+
+    private static String checkCartridgeStatus(Map<String, String> instanceIpMap) {
+        if (instanceIpMap.values().contains(CartridgeConstants.ACTIVE)) {
+            return CartridgeConstants.ACTIVE;
+        } else
+            return CartridgeConstants.NOT_READY;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeAppType.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeAppType.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeAppType.java
new file mode 100644
index 0000000..1c23c08
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeAppType.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.utils;
+
+/**
+ *
+ */
+public class CartridgeAppType {
+	private String appType;
+	private boolean appSpecificMapping;
+
+	public String getAppType() {
+		return appType;
+	}
+
+	public void setAppType(String appType) {
+		this.appType = appType;
+	}
+
+	public boolean isAppSpecificMapping() {
+		return appSpecificMapping;
+	}
+
+	public void setAppSpecificMapping(boolean appSpecificMapping) {
+		this.appSpecificMapping = appSpecificMapping;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeConfigFileReader.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeConfigFileReader.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeConfigFileReader.java
new file mode 100644
index 0000000..9d28d4a
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeConfigFileReader.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.utils;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.util.Properties;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.wso2.carbon.utils.CarbonUtils;
+
+public class CartridgeConfigFileReader {
+
+	private static String carbonHome = CarbonUtils.getCarbonHome();
+
+	private static final Log log = LogFactory.getLog(CartridgeConfigFileReader.class);
+
+	/**
+	 * 
+	 * Reads cartridge-config.properties file and assign properties to system
+	 * properties
+	 * 
+	 */
+	public static void readProperties() {
+
+		Properties properties = new Properties();
+		try {
+			properties.load(new FileInputStream(carbonHome + File.separator + "repository" +
+			                                    File.separator + "conf" + File.separator +
+			                                    "cartridge-config.properties"));
+		} catch (Exception e) {
+			log.error("Exception is occurred in reading properties file. Reason:" + e.getMessage());
+		}
+		if (log.isInfoEnabled()) {
+			log.info("Setting config properties into System properties");
+		}
+
+		for (String name : properties.stringPropertyNames()) {
+			String value = properties.getProperty(name);
+			System.setProperty(name, value);
+		}
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeConstants.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeConstants.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeConstants.java
new file mode 100644
index 0000000..0340e61
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeConstants.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.utils;
+
+public class CartridgeConstants {
+    public static final String SC_IP = "sc.ip";
+	public static final String AUTOSCALER_SERVICE_URL = "autoscalerService.url";
+    public static final String ALIAS_NAMESPACE ="http://org.wso2.securevault/configuration";
+    public static final String ALIAS_LOCALPART ="secretAlias";
+    public static final String ALIAS_PREFIX ="svns";
+	public static final String CARTRIDGE_AGENT_EPR = "cartridge.agent.epr";
+	public static final String GIT_HOST_NAME = "git.host.name";
+	public static final String GIT_HOST_IP = "git.host.ip";
+	public static final String SUBSCRIPTION_ACTIVE = "SUBSCRIPTION_ACTIVE";
+	public static final String SUBSCRIPTION_INACTIVE = "SUBSCRIPTION_INACTIVE";
+	public static final String REPO_NOTIFICATION_URL = "git.repo.notification.url";
+	public static final String ACTIVE = "ACTIVE";
+	public static final String NOT_READY = "NOT-READY";
+	public static final String SUBSCRIBED = "SUBSCRIBED";
+
+	public static final String DB_DATASOURCE = "adc.datasource";
+	public static final String DB_URL = "adc.jdbc.url";
+	public static final String DB_DRIVER = "adc.jdbc.driver";
+	public static final String DB_USERNAME = "adc.jdbc.username";
+	public static final String DB_PASSWORD = "adc.jdbc.password";
+	public static final String BAM_IP = "bam.ip";
+	public static final String BAM_PORT = "bam.port";
+	public static final String SUDO_SH = "sudo sh";
+	public static final String APPEND_SCRIPT = "append.script";
+	public static final String REMOVE_SCRIPT = "remove.script";
+	public static final String BIND_FILE_PATH = "bind.file.path";
+	public static final String ELB_IP = "elb.ip";
+	public static final String REPO_KEY_PATH = "repo.key.path";
+	public static final String REPO_KEY = "repo.key";
+	public static final String MAX_ATTEMPTS = "max.attempts";
+	public static final String CARTRIDGE_KEY = "cartridge.key";
+	
+	public static final String FEATURE_EXTERNAL_REPO_VAIDATION_ENABLED = "feature.externalrepo.validation.enabled";
+	public static final String FEATURE_INTERNAL_REPO_ENABLED = "feature.internalrepo.enabled";
+	public static final String FEATURE_MULTI_TENANT_MULTIPLE_SUBSCRIPTION_ENABLED = "feature.multitenant.multiplesubscription.enabled";
+	
+	public static final String MYSQL_CARTRIDGE_NAME = "mysql";
+	public static final String DEFAULT_SUBDOMAIN = "__$default";
+	public static final String DEFAULT_MGT_SUBDOMAIN = "mgt";
+	public static final String MYSQL_DEFAULT_USER = "root";
+	public static final String PROVIDER_NAME_WSO2 = "wso2";
+	public static final String NOT_SUBSCRIBED = "NOT-SUBSCRIBED";
+    public static final String SECURITY_KEY_FILE = "gitRepoKey.xml";
+    public static final String SECURITY_KEY = "securityKey";
+    public static final String DEFAULT_SECURITY_KEY = "tvnw63ufg9gh5111";
+    public static final String DATA_CARTRIDGE_PROVIDER = "data";
+	public static final String REPO_INFO_EPR = "repository.info.epr";
+	public static final String INTERNAL_GIT_USERNAME = "internal.repo.username";
+	public static final String INTERNAL_GIT_PASSWORD = "internal.repo.password";
+
+    public static final class DomainMappingInfo {
+		public static final String ACTUAL_HOST = "actual.host";
+		public static final String HOSTINFO = "hostinfo/";
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeDomain.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeDomain.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeDomain.java
new file mode 100644
index 0000000..2207b43
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/CartridgeDomain.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.utils;
+
+/**
+ *
+ */
+public class CartridgeDomain {
+
+	private String primaryPort;
+	private String proxyPort;
+	private String type;
+	private String tenantId;
+	private int min;
+	private int max;
+	private String cartridgeType;
+	private boolean volume;
+	private String tenantDomain;
+	private String clusterDomain;
+	private String clusterSubDomain;
+
+	private String hostName;
+	private boolean started;
+
+	public String getPrimaryPort() {
+		return primaryPort;
+	}
+
+	public String getProxyPort() {
+		return proxyPort;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public String getTenantId() {
+		return tenantId;
+	}
+
+	public int getMin() {
+		return min;
+	}
+
+	public int getMax() {
+		return max;
+	}
+
+	public String getCartridgeType() {
+		return cartridgeType;
+	}
+
+	public boolean getVolume() {
+		return volume;
+	}
+
+	public String getTenantDomain() {
+		return tenantDomain;
+	}
+
+	public void setPrimaryPort(String primaryPort) {
+		this.primaryPort = primaryPort;
+	}
+
+	public void setProxyPort(String proxyPort) {
+		this.proxyPort = proxyPort;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public void setTenantId(String tenantId) {
+		this.tenantId = tenantId;
+	}
+
+	public void setMin(int min) {
+		this.min = min;
+	}
+
+	public void setMax(int max) {
+		this.max = max;
+	}
+
+	public void setCartridgeType(String cartridgeType) {
+		this.cartridgeType = cartridgeType;
+	}
+
+	public void setVolume(boolean volume) {
+		this.volume = volume;
+	}
+
+	public void setTenantDomain(String tenantDomain) {
+		this.tenantDomain = tenantDomain;
+	}
+
+	public void setStarted(boolean started) {
+		this.started = started;
+	}
+
+	public boolean isStarted() {
+		return started;
+	}
+
+	public String getHostName() {
+		return hostName;
+	}
+
+	public void setHostName(String hostName) {
+		this.hostName = hostName;
+	}
+
+	public String getClusterDomain() {
+		return clusterDomain;
+	}
+
+	public void setClusterDomain(String clusterDomain) {
+		this.clusterDomain = clusterDomain;
+	}
+
+	public String getClusterSubDomain() {
+		return clusterSubDomain;
+	}
+
+	public void setClusterSubDomain(String clusterSubDomain) {
+		this.clusterSubDomain = clusterSubDomain;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/DomainInfo.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/DomainInfo.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/DomainInfo.java
new file mode 100644
index 0000000..53fed09
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/DomainInfo.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.utils;
+
+public class DomainInfo {
+
+	String domain;
+	String subDomain;
+
+	public String getDomain() {
+		return domain;
+	}
+
+	public void setDomain(String domain) {
+		this.domain = domain;
+	}
+
+	public String getSubDomain() {
+		return subDomain;
+	}
+
+	public void setSubDomain(String subDomain) {
+		this.subDomain = subDomain;
+	}
+
+}


[03/12] Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/ApplicationManagementUtil.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/ApplicationManagementUtil.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/ApplicationManagementUtil.java
deleted file mode 100644
index 504ca52..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/ApplicationManagementUtil.java
+++ /dev/null
@@ -1,1095 +0,0 @@
-package org.wso2.carbon.adc.mgt.utils;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.rmi.RemoteException;
-import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.regex.Pattern;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import javax.activation.DataHandler;
-import javax.activation.FileDataSource;
-
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.clustering.ClusteringAgent;
-import org.apache.axis2.clustering.Member;
-import org.apache.axis2.clustering.management.GroupManagementAgent;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.engine.AxisConfiguration;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.eclipse.jgit.api.Git;
-import org.eclipse.jgit.api.LsRemoteCommand;
-import org.eclipse.jgit.api.errors.GitAPIException;
-import org.eclipse.jgit.api.errors.InvalidRemoteException;
-import org.eclipse.jgit.api.errors.TransportException;
-import org.eclipse.jgit.lib.Ref;
-import org.eclipse.jgit.storage.file.FileRepository;
-import org.eclipse.jgit.transport.CredentialsProvider;
-import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
-import org.wso2.carbon.adc.mgt.client.CloudControllerServiceClient;
-import org.wso2.carbon.adc.mgt.dao.CartridgeSubscription;
-import org.wso2.carbon.adc.mgt.dao.DataCartridge;
-import org.wso2.carbon.adc.mgt.dao.PortMapping;
-import org.wso2.carbon.adc.mgt.dao.Repository;
-import org.wso2.carbon.adc.mgt.dns.DNSManager;
-import org.wso2.carbon.adc.mgt.dto.Cartridge;
-import org.wso2.carbon.adc.mgt.dto.Policy;
-import org.wso2.carbon.adc.mgt.dto.RepositoryInformation;
-import org.wso2.carbon.adc.mgt.dto.SubscriptionInfo;
-import org.wso2.carbon.adc.mgt.exception.ADCException;
-import org.wso2.carbon.adc.mgt.exception.AlreadySubscribedException;
-import org.wso2.carbon.adc.mgt.exception.DuplicateCartridgeAliasException;
-import org.wso2.carbon.adc.mgt.exception.InvalidCartridgeAliasException;
-import org.wso2.carbon.adc.mgt.exception.InvalidRepositoryException;
-import org.wso2.carbon.adc.mgt.exception.NotSubscribedException;
-import org.wso2.carbon.adc.mgt.exception.PolicyException;
-import org.wso2.carbon.adc.mgt.exception.RepositoryCredentialsRequiredException;
-import org.wso2.carbon.adc.mgt.exception.RepositoryRequiredException;
-import org.wso2.carbon.adc.mgt.exception.RepositoryTransportException;
-import org.wso2.carbon.adc.mgt.exception.UnregisteredCartridgeException;
-import org.wso2.carbon.adc.mgt.internal.DataHolder;
-import org.wso2.carbon.adc.mgt.service.RepositoryInfoBean;
-import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
-import org.wso2.carbon.adc.topology.mgt.serviceobjects.DomainContext;
-import org.wso2.carbon.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException;
-import org.wso2.carbon.stratos.cloud.controller.util.xsd.CartridgeInfo;
-import org.wso2.carbon.stratos.cloud.controller.util.xsd.Properties;
-import org.wso2.carbon.stratos.cloud.controller.util.xsd.Property;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.wso2.carbon.utils.multitenancy.MultitenantUtils;
-
-import com.google.gson.Gson;
-
-/**
- * This class contains utility methods used by ApplicationManagementService.
- */
-public class ApplicationManagementUtil {
-
-    private static Log log = LogFactory.getLog(ApplicationManagementUtil.class);
-    private static volatile CloudControllerServiceClient serviceClient;
-
-    /**
-     * Method used to subscribe to cartridges.
-     */
-	public static SubscriptionInfo doSubscribe(String cartridgeType, String alias, String policy, String repoURL,
-			boolean privateRepo, String repoUsername, String repoPassword, String dataCartridgeType,
-			String dataCartridgeAlias, String username, int tenantId, String tenantDomain) throws ADCException,
-            PolicyException, UnregisteredCartridgeException, InvalidCartridgeAliasException,
-            DuplicateCartridgeAliasException, RepositoryRequiredException, AlreadySubscribedException,
-            RepositoryCredentialsRequiredException, InvalidRepositoryException, RepositoryTransportException {
-
-		String clusterDomain = "";
-        String clusterSubDomain = CartridgeConstants.DEFAULT_SUBDOMAIN;
-        String mgtClusterDomain = "";
-        String mgtClusterSubDomain = CartridgeConstants.DEFAULT_MGT_SUBDOMAIN;
-        CartridgeSubscription subscription = null;
-        String mysqlPassword = null;
-        Repository repository = null;
-        DataCartridge dataCartridge = null;
-        String cartName = (alias != null && alias.trim().length() > 0) ? alias : cartridgeType;
-        String payloadZipFileName = "/tmp/" + UUID.randomUUID().toString() + ".zip";
-
-		log.info("Subscribing tenant [" + tenantId + "] with username [" + username + "] Cartridge Alias " + alias
-				+ ", Cartridge Type: " + cartridgeType + ", Repo URL: " + repoURL + ", Policy: " + policy);
-		
-		// Assign auto scaling only when necessary.
-		// Muti-tenant cartridge may not need a policy.
-		Policy autoScalingPolicy = null;
-		
-		CartridgeInfo cartridgeInfo;
-		try {
-			cartridgeInfo = getServiceClient().getCartridgeInfo(cartridgeType);
-		} catch (UnregisteredCartridgeException e) {
-			String message = cartridgeType
-					+ " is not a valid cartridge type. Please try again with a valid cartridge type.";
-			log.error(message);
-			throw e;
-		} catch (Exception e) {
-			String message = "Error getting info for " + cartridgeType;
-			log.error(message, e);
-			throw new ADCException(message, e);
-		}
-
-		validateCartridgeAlias(cartName, cartridgeType);
-		
-
-        if (cartridgeType.equals(CartridgeConstants.MYSQL_CARTRIDGE_NAME)) {
-        	
-        	autoScalingPolicy = PolicyHolder.getInstance().getDefaultPolicy();
-        	
-        	if (autoScalingPolicy == null) {
-        		throw new PolicyException("Could not load default auto-scaling policy.");
-        	}
-        	if (log.isDebugEnabled()) {
-    			log.debug("Selected Policy: " + new Gson().toJson(autoScalingPolicy));
-    		}
-        	
-            dataCartridge = new DataCartridge();
-            mysqlPassword = generatePassword();
-            dataCartridge.setPassword(mysqlPassword);
-            dataCartridge.setDataCartridgeType(cartridgeType);
-            dataCartridge.setUserName(CartridgeConstants.MYSQL_DEFAULT_USER);
-            clusterDomain = getDynamicClusterDomain(cartridgeType, cartName, cartridgeInfo);
-
-            registerService(cartridgeType,
-                    clusterDomain,
-                    clusterSubDomain,
-                    createPayload(cartridgeInfo, cartName, autoScalingPolicy, repoURL, mysqlPassword, "localhost", payloadZipFileName, tenantId, tenantDomain),
-                    "*",
-                    cartName + "." + cartridgeInfo.getHostName(),
-                    setRegisterServiceProperties(autoScalingPolicy, tenantId,cartName));
-            deletePayloadFile(payloadZipFileName);
-        } else {
-        	
-			if (!new Boolean(System.getProperty(CartridgeConstants.FEATURE_INTERNAL_REPO_ENABLED))) {
-				if (log.isDebugEnabled()) {
-					log.debug("Internal repo feature is not enabled.");
-				}
-
-				if (repoURL == null || repoURL.trim().length() == 0) {
-					throw new RepositoryRequiredException("External repository required for subscription");
-				}
-			}
-
-			if (repoURL != null && repoURL.trim().length() > 0) {
-				if (log.isDebugEnabled()) {
-					log.debug("Repo URL entered: " + repoURL);
-				}
-				// Validate Remote Repository.
-				validateRepository(repoURL, repoUsername, repoPassword, privateRepo,
-						new Boolean(System.getProperty(CartridgeConstants.FEATURE_EXTERNAL_REPO_VAIDATION_ENABLED)));
-			}
-
-            try {
-                repository = manageRepository(repoURL, repoUsername, repoPassword, cartName, cartridgeInfo, username,
-                        tenantDomain);
-            } catch (Exception e) {
-                log.error(e.getMessage());
-                throw new ADCException(e);
-            }
-        	
-            // TODO: Check logic here
-            if (!cartridgeInfo.getMultiTenant()) {
-            	
-        		if (policy != null && policy.trim().length() > 0) {
-        			autoScalingPolicy = PolicyHolder.getInstance().getPolicy(policy);
-        		} else {
-        			autoScalingPolicy = PolicyHolder.getInstance().getDefaultPolicy();
-        		}
-        		if (autoScalingPolicy == null) {
-        			throw new PolicyException("Could not load auto-scaling policy.");
-        		}
-        		if (log.isDebugEnabled()) {
-        			log.debug("Selected Policy: " + new Gson().toJson(autoScalingPolicy));
-        		}
-
-                if (cartridgeInfo.getProvider().equalsIgnoreCase(CartridgeConstants.PROVIDER_NAME_WSO2)) { //carbon cartridge private jet mode
-
-                    clusterDomain = getDynamicClusterDomain(cartridgeType, cartName, cartridgeInfo);
-                    registerService(cartridgeType,
-                            clusterDomain,
-                            clusterSubDomain,
-                            createCarbonPayload(cartridgeInfo, cartName, alias, payloadZipFileName, tenantDomain, false),
-                            Integer.toString(tenantId),
-                            cartName + "." + cartridgeInfo.getHostName(),
-                            setRegisterServiceProperties(autoScalingPolicy,tenantId,cartName));
-                    deletePayloadFile(payloadZipFileName);
-
-                } else {
-                    clusterDomain = getDynamicClusterDomain(cartridgeType, cartName, cartridgeInfo);
-
-                    String mySQLPassword = null;
-                    String mySQLHostName = null;
-
-                    if (dataCartridgeType != null && dataCartridgeType.trim().length() > 0 && dataCartridgeAlias != null
-                            && dataCartridgeAlias.trim().length() > 0) {
-                        if (log.isInfoEnabled()) {
-                            log.info("Retrieving Data Cartridge info for connect ... Alias : " + dataCartridgeAlias
-                                    + ", Type: " + dataCartridgeType);
-                        }
-
-                        //TODO: Optimize following logic. Same logic is used in MySQLPasswordConfigurer
-                        int maxAttempts = Integer.parseInt(System.getProperty(CartridgeConstants.MAX_ATTEMPTS, "50"));
-                        int i = 0;
-
-                        while (i < maxAttempts) {
-                            i++;
-                            Cartridge c = null;
-                            try {
-                                c = getCartridgeInfo(dataCartridgeAlias, tenantDomain);
-                            } catch (NotSubscribedException e) {
-                                // This cannot happen here.
-                            }
-                            if (c != null) {
-                                if (!c.getStatus().equals("ACTIVE")) {
-                                    try {
-                                        Thread.sleep(3000);
-                                    } catch (InterruptedException ignore) {
-                                    }
-                                } else {
-                                    mySQLPassword = c.getPassword();
-                                    mySQLHostName = c.getIp();
-                                    break;
-                                }
-                            }
-                        }
-                        log.info(" MYSQL Cartridge info retrieved ");
-                    }
-
-                    registerService(cartridgeType,
-                            clusterDomain,
-                            clusterSubDomain,
-                            createPayload(cartridgeInfo, cartName, autoScalingPolicy, repoURL, mySQLPassword,
-                                    mySQLHostName, payloadZipFileName, tenantId, tenantDomain), "*",
-                            cartName + "." + cartridgeInfo.getHostName(),
-                            setRegisterServiceProperties(autoScalingPolicy,tenantId,cartName));
-                    deletePayloadFile(payloadZipFileName);
-                }
-
-            } else {
-            	
-            	boolean allowMultipleSubscription = new Boolean(
-						System.getProperty(CartridgeConstants.FEATURE_MULTI_TENANT_MULTIPLE_SUBSCRIPTION_ENABLED));
-
-				if (!allowMultipleSubscription) {
-					// If the cartridge is multi-tenant. We should not let users
-					// subscribe twice.
-					boolean subscribed;
-					try {
-						subscribed = PersistenceManager.isAlreadySubscribed(cartridgeType, tenantId);
-					} catch (Exception e) {
-						String msg = "Error checking whether the cartridge type " + cartridgeType
-								+ " is already subscribed";
-						log.error(msg, e);
-						throw new ADCException(msg, e);
-					}
-					
-					if (subscribed) {
-						String msg = "Already subscribed to " + cartridgeType
-								+ ". This multi-tenant cartridge will not be available to subscribe";
-						if (log.isDebugEnabled()) {
-							log.debug(msg);
-						}
-						throw new AlreadySubscribedException(msg, cartridgeType);
-					}
-				}
-
-                TopologyManagementService topologyService = DataHolder.getTopologyMgtService();
-                DomainContext[] domainContexts = topologyService.getDomainsAndSubdomains(cartridgeType, tenantId);
-                log.info("Retrieved " + domainContexts.length + " domain and corresponding subdomain pairs");
-
-                if (domainContexts.length > 0) {
-                	                        if(domainContexts.length > 2) {
-                	                            if(log.isDebugEnabled())
-                	                                log.debug("Too many domain sub domain pairs");
-                	                       }
-                	
-                	                        for (int i = 0 ; i < domainContexts.length ; i++) {
-                	                            if(domainContexts[i].getSubDomain().equalsIgnoreCase("mgt")) {
-                	                                mgtClusterDomain = domainContexts[i].getDomain();
-                	                                mgtClusterSubDomain = domainContexts[i].getSubDomain();
-                	                            }
-                	                          else
-                	                          {
-                	                              clusterDomain = domainContexts[i].getDomain();
-                	                              clusterSubDomain = domainContexts[i].getSubDomain();
-                	                          }
-                	                      }
-                } else {
-                	String msg = "Domain contexts not found for " + cartridgeType + " and tenant id " + tenantId;
-                    log.warn(msg);
-                    throw new ADCException(msg);
-                }
-            }
-        }
-
-        subscription =
-                createCartridgeSubscription(cartridgeInfo, autoScalingPolicy,
-                        cartridgeType, cartName, tenantId, tenantDomain,
-                        repository, clusterDomain, clusterSubDomain,
-                        mgtClusterDomain, mgtClusterSubDomain, dataCartridge);
-
-        try {
-			PersistenceManager.persistSubscription(subscription);
-		} catch (Exception e) {
-			throw new ADCException("Error Saving Subscription", e);
-		}
-        addDNSEntry(alias, cartridgeType);
-        return createSubscriptionResponse(subscription, repository);
-
-    }
-    
-    private static File getPayload(CartridgeInfo cartridgeInfo, String cartridgeName, Policy policy, String repoURL,
-                                   String mySQLPassword, String mySQLHost, String payloadZipFileName,
-                                   int tenantId, String tenantDomain) throws Exception {
-        String payloadString = "";
-
-        payloadString += "TENANT_RANGE=" + "*";
-        payloadString += ",TENANT_ID=" + tenantId;
-        payloadString +=
-            ",REPO_INFO_EPR=" +
-                    System.getProperty(CartridgeConstants.REPO_INFO_EPR);
-        payloadString +=
-                ",CARTRIDGE_AGENT_EPR=" +
-                        System.getProperty(CartridgeConstants.CARTRIDGE_AGENT_EPR);
-        payloadString += createPortMappingPayloadString(cartridgeInfo);
-        payloadString += ",HOST_NAME=" + cartridgeName + "." + cartridgeInfo.getHostName();
-        payloadString += ",MIN=" + policy.getMinAppInstances();
-        payloadString += ",MAX=" + policy.getMaxAppInstances();
-        payloadString += ",SERVICE=" + cartridgeInfo.getType();
-        payloadString += ",TENANT_CONTEXT=" + tenantDomain;
-        payloadString += ",CARTRIDGE_ALIAS=" + cartridgeName;
-
-        String gitRepoURL = null;
-        if (repoURL != null) {
-            gitRepoURL = repoURL;
-        } else {
-            gitRepoURL = "git@" + System.getProperty(CartridgeConstants.GIT_HOST_IP) + ":" + tenantDomain
-                    + System.getProperty("file.separator") + cartridgeName + ".git";
-        }
-        payloadString += ",GIT_REPO=" + gitRepoURL;
-        payloadString += ",APP_PATH=" + cartridgeInfo.getBaseDir();
-        payloadString += ",BAM_IP=" + System.getProperty(CartridgeConstants.BAM_IP);
-        payloadString += ",BAM_PORT=" + System.getProperty(CartridgeConstants.BAM_PORT);
-
-        // MYSQL params
-        payloadString += ",MYSQL_HOST=" + mySQLHost;
-        payloadString += ",MYSQL_USER=" + "root";
-        payloadString += ",MYSQL_PASSWORD=" + mySQLPassword;
-        
-        DecimalFormat df = new DecimalFormat("##.##");
-        df.setParseBigDecimal(true);
-
-        // Autoscaling params
-        payloadString += ",ALARMING_LOWER_RATE=" + df.format(policy.getAlarmingLowerRate());
-        payloadString += ",ALARMING_UPPER_RATE=" + df.format(policy.getAlarmingUpperRate());
-        payloadString += ",MAX_REQUESTS_PER_SEC=" + policy.getMaxRequestsPerSecond();
-        payloadString += ",ROUNDS_TO_AVERAGE=" + policy.getRoundsToAverage();
-        payloadString += ",SCALE_DOWN_FACTOR=" + df.format(policy.getScaleDownFactor());
-
-        log.info("** Payload ** " + payloadString);
-        
-        String payloadStringTempFile = "launch-params";
-
-        FileWriter fstream = new FileWriter(payloadStringTempFile);
-        BufferedWriter out = new BufferedWriter(fstream);
-        out.write(payloadString);
-        out.close();
-
-        FileOutputStream fos = new FileOutputStream(payloadZipFileName);
-        ZipOutputStream zos = new ZipOutputStream(fos);
-
-		addToZipFile(System.getProperty("user.dir"), payloadStringTempFile, zos);
-
-		File folder = new File(CarbonUtils.getCarbonHome()+
-				File.separator + "repository"
-				+ File.separator + "resources" + File.separator + "user-data");
-		for (File fileEntry : folder.listFiles()) {
-			if (!fileEntry.isDirectory()) {
-				addToZipFile(folder.getPath(), fileEntry.getName(), zos);
-			}
-		}
-
-        zos.close();
-        fos.close();
-
-        return new File(payloadZipFileName);
-    }
-
-    private static File getCarbonPayload (CartridgeInfo cartridgeInfo, String cartridgeName, String cartridgeAlias,
-                                          String payloadZipFileName, String tenantDomain, boolean isMultitenant) throws Exception {
-
-        String payloadString = "";
-        payloadString += "DEPLOYMENT=" + "default";  //TODO: Currently hard coded but can be either manager, worker or default.
-        //payloadString += ",DOMAIN=" + "s2.wso2.com";
-        payloadString += ",SERVICE=" + cartridgeInfo.getType();
-        //payloadString += ",TENANT_ID=" + tenantId;
-        payloadString += ",SC_IP=" + System.getProperty(CartridgeConstants.SC_IP);
-        payloadString += ",CARTRIDGE_ALIAS=" + cartridgeAlias;
-        payloadString += ",MULTITENANT=" + "false";
-
-        if(isMultitenant) { //not used at the moment
-            payloadString += ",DOMAIN=" + "wso2." + cartridgeInfo.getType() + ".domain";
-            payloadString += ",HOSTNAME=" + cartridgeInfo.getType() + ".s2.wso2.com";
-
-        } else {
-            payloadString += ",DOMAIN=" + cartridgeName + "." + cartridgeInfo.getHostName() + "." + cartridgeInfo.getType() +
-                    ".domain";
-            payloadString += ",HOSTNAME=" + cartridgeName + "." + cartridgeInfo.getHostName();
-        }
-
-        log.info("** Payload ** " + payloadString);
-
-        String payloadStringTempFile = "launch-params";
-
-        FileWriter fstream = new FileWriter(payloadStringTempFile);
-        BufferedWriter out = new BufferedWriter(fstream);
-        out.write(payloadString);
-        out.close();
-
-        FileOutputStream fos = new FileOutputStream(payloadZipFileName);
-        ZipOutputStream zos = new ZipOutputStream(fos);
-
-        addToZipFile(System.getProperty("user.dir"), payloadStringTempFile, zos);
-
-        zos.close();
-        fos.close();
-
-        return new File(payloadZipFileName);
-    }
-
-    private static String createPortMappingPayloadString(CartridgeInfo cartridgeInfo) {
-        // port mappings
-        StringBuilder portMapBuilder = new StringBuilder();
-        org.wso2.carbon.stratos.cloud.controller.util.xsd.PortMapping[] portMappings = cartridgeInfo.getPortMappings();
-        for (org.wso2.carbon.stratos.cloud.controller.util.xsd.PortMapping portMapping : portMappings) {
-            String port = portMapping.getPort();
-            String protocol = portMapping.getProtocol();
-            String proxyPort = portMapping.getProxyPort();
-            portMapBuilder.append(protocol).append(":").append(port).append(":").append(proxyPort).append("|");
-        }
-
-        // remove last "|" character
-        String portMappingString = portMapBuilder.toString();
-        String portMappingPayloadString = null;
-        if (portMappingString.charAt(portMappingString.length() - 1) == '|') {
-            portMappingPayloadString = portMappingString.substring(0, portMappingString.length() - 1);
-        } else {
-            portMappingPayloadString = portMappingString;
-        }
-
-        return ",PORTS=" + portMappingPayloadString;
-    }
-
-    private static void addToZipFile(String dir, String fileName, ZipOutputStream zos) throws FileNotFoundException,
-            IOException {
-
-        log.info("Writing '" + fileName + "' to zip file");
-
-        File file = new File(dir+File.separator+fileName);
-        FileInputStream fis = new FileInputStream(file);
-        ZipEntry zipEntry = new ZipEntry(fileName);
-        zos.putNextEntry(zipEntry);
-
-        byte[] bytes = new byte[1024];
-        int length;
-        while ((length = fis.read(bytes)) >= 0) {
-            zos.write(bytes, 0, length);
-        }
-
-        zos.closeEntry();
-        fis.close();
-    }
-
-    private static DataHandler createPayload(CartridgeInfo cartridgeInfo, String cartridgeName, Policy policy, String repoURL, String mySQLPwd, String mySQLHost,
-                                             String payloadZipFileName, int tenantId,
-                                             String tenantDomain)
-            throws ADCException {
-
-        FileDataSource dataSource = null;
-        File payloadFile = null;
-        try {
-            payloadFile = getPayload(cartridgeInfo, cartridgeName,
-            		policy, repoURL,
-                    mySQLPwd, mySQLHost, payloadZipFileName, tenantId, tenantDomain);
-            dataSource = new FileDataSource(payloadFile);
-        } catch (Exception e) {
-            String msg = "Exception : " + e.getMessage();
-            log.error(msg, e);
-            throw new ADCException("Subscribe failed ", e);
-        }
-        return new DataHandler(dataSource);
-    }
-
-    private static DataHandler createCarbonPayload (CartridgeInfo cartridgeInfo, String cartridgeName, String cartridgeAlias, String payloadZipFileName,
-                                                    String tenantDomain, boolean isMultitenant) throws ADCException {
-
-        FileDataSource dataSource = null;
-        File payloadFile = null;
-        try {
-            payloadFile = getCarbonPayload(cartridgeInfo, cartridgeName, cartridgeAlias, payloadZipFileName,
-                    tenantDomain, isMultitenant);
-            dataSource = new FileDataSource(payloadFile);
-
-        } catch (Exception e) {
-            String msg = "Exception : " + e.getMessage();
-            log.error(msg, e);
-            throw new ADCException("Subscribe failed ", e);
-        }
-
-        return new DataHandler(dataSource);
-    }
-
-    protected static String getAppDeploymentDirPath(String cartridge, AxisConfiguration axisConfig) {
-        return axisConfig.getRepository().getPath() + File.separator + cartridge;
-    }
-
-    private static CartridgeSubscription createCartridgeSubscription(CartridgeInfo cartridgeInfo,
-                                                                     Policy policy,
-                                                                     String cartridgeType,
-                                                                     String cartridgeName,
-                                                                     int tenantId,
-                                                                     String tenantDomain,
-                                                                     Repository repository,
-                                                                     String clusterDomain,
-                                                                     String clusterSubDomain,
-                                                                     String mgtClusterDomain,
-                                                                     String mgtClusterSubDomain,
-                                                                     DataCartridge dataCartridge) {
-
-        CartridgeSubscription cartridgeSubscription = new CartridgeSubscription();
-        cartridgeSubscription.setCartridge(cartridgeType);
-        cartridgeSubscription.setAlias(cartridgeName);
-        cartridgeSubscription.setClusterDomain(clusterDomain);
-        cartridgeSubscription.setClusterSubdomain(clusterSubDomain);
-               cartridgeSubscription.setMgtClusterDomain(mgtClusterDomain);
-                cartridgeSubscription.setMgtClusterSubDomain(mgtClusterSubDomain);
-        String hostName = null;
-        if (cartridgeInfo.getMultiTenant()) {
-            hostName = cartridgeInfo.getHostName();
-        } else {
-            hostName = cartridgeName + "." + cartridgeInfo.getHostName();
-        }
-        cartridgeSubscription.setHostName(hostName);
-        if (policy != null) {
-        	// Policy can be null for multi-tenant cartridge
-        	cartridgeSubscription.setPolicy(policy.getName());
-        }
-        cartridgeSubscription.setRepository(repository);
-        cartridgeSubscription.setPortMappings(createPortMappings(cartridgeInfo));
-        cartridgeSubscription.setProvider(cartridgeInfo.getProvider());
-        cartridgeSubscription.setDataCartridge(dataCartridge);
-        cartridgeSubscription.setTenantId(tenantId);
-        cartridgeSubscription.setTenantDomain(tenantDomain);
-        cartridgeSubscription.setBaseDirectory(cartridgeInfo.getBaseDir());
-        cartridgeSubscription.setState("PENDING");
-        return cartridgeSubscription;
-    }
-
-
-    private static List<PortMapping> createPortMappings(CartridgeInfo cartridgeInfo) {
-        List<PortMapping> portMappings = new ArrayList<PortMapping>();
-
-        if (cartridgeInfo.getPortMappings() != null) {
-            for (org.wso2.carbon.stratos.cloud.controller.util.xsd.PortMapping portMapping : cartridgeInfo.getPortMappings()) {
-                PortMapping portMap = new PortMapping();
-                portMap.setPrimaryPort(portMapping.getPort());
-                portMap.setProxyPort(portMapping.getProxyPort());
-                portMap.setType(portMapping.getProtocol());
-                portMappings.add(portMap);
-            }
-        }
-        return portMappings;
-    }
-
-    public static CloudControllerServiceClient getServiceClient() throws AxisFault {
-        if (serviceClient == null) {
-            synchronized (CloudControllerServiceClient.class) {
-                if (serviceClient == null) {
-                    serviceClient = new CloudControllerServiceClient(
-                            System.getProperty(CartridgeConstants.AUTOSCALER_SERVICE_URL));
-                }
-            }
-        }
-        return serviceClient;
-    }
-
-    public static int getTenantId(ConfigurationContext configurationContext) {
-        int tenantId = MultitenantUtils.getTenantId(configurationContext);
-        if(log.isDebugEnabled()) {
-            log.debug("Returning tenant ID : " + tenantId);
-        }
-        return tenantId;
-    }
-
-	private static void validateCartridgeAlias(String alias, String cartridgeType) throws InvalidCartridgeAliasException, DuplicateCartridgeAliasException, ADCException {
-		// Do not use quotes in messages, current UI JavaScript does not work if there are quotes
-		// TODO: Fix message display in UI
-		String patternString = "([a-z0-9]+([-][a-z0-9])*)+";
-        Pattern pattern = Pattern.compile(patternString);
-        
-        if (!pattern.matcher(alias).matches()) {
-        	String msg = "The alias " + alias + " can contain only alpha-numeric lowercase characters. Please enter a valid alias.";
-			log.error(msg);
-			throw new InvalidCartridgeAliasException(msg, cartridgeType, alias);
-        }
-		
-		boolean isAliasTaken = false;
-		try {			
-			isAliasTaken = PersistenceManager.isAliasAlreadyTaken(alias, cartridgeType);			
-		} catch (Exception e) {
-			String msg = "Exception : " + e.getMessage();
-			log.error(msg, e);
-			throw new ADCException("Error when checking alias is already taken", e);
-		}
-		
-		if (isAliasTaken) {
-			String msg = "The alias " + alias + " is already taken. Please try again with a different alias.";
-			log.error(msg);
-			throw new DuplicateCartridgeAliasException(msg, cartridgeType, alias);
-		}
-	}
-	
-	public static RepositoryInformation validateRepository(String repoURL, String repoUsername, String repoPassword,
-			boolean privateRepo, boolean testConnection) throws RepositoryRequiredException, ADCException,
-			RepositoryCredentialsRequiredException, InvalidRepositoryException, RepositoryTransportException {
-		RepositoryInformation repositoryInformation = new RepositoryInformation();
-		repositoryInformation.setRepoURL(repoURL);
-		if (log.isDebugEnabled()) {
-			log.debug("Validating Git Repository");
-		}
-
-		if (repoURL != null && repoURL.trim().length() > 0 && privateRepo) {
-			if (log.isDebugEnabled()) {
-				log.debug("External repo validation is a private repo: " + repoURL);
-			}
-			if (repoUsername == null || repoUsername.trim().length() == 0 || repoPassword == null
-					|| repoPassword.trim().length() == 0) {
-				throw new RepositoryCredentialsRequiredException(
-						"Username and Password are required for private repository");
-			}
-		}
-
-		if (!testConnection) {
-			if (log.isDebugEnabled()) {
-				log.debug("External repo validation is not enabled");
-			}
-			return repositoryInformation;
-		}
-
-		if (repoURL == null || repoURL.trim().length() == 0) {
-			// This means, no repo to validate.
-			return repositoryInformation;
-		}
-		
-		if (log.isDebugEnabled()) {
-			log.debug("External repo validation enabled");
-		}
-
-		// This assumes running on Linux.
-		String parentDirName = "/tmp/" + UUID.randomUUID().toString();
-		CredentialsProvider credentialsProvider = null;
-		if (repoUsername != null && repoUsername.trim().length() > 0 && repoPassword != null
-				&& repoPassword.trim().length() > 0) {
-			if (log.isDebugEnabled()) {
-				log.debug("External repo credentails are passed: " + repoUsername);
-			}
-			credentialsProvider = new UsernamePasswordCredentialsProvider(repoUsername, repoPassword.toCharArray());
-		}
-
-		// Initialize temp local file repo
-		FileRepository localRepo = null;
-		try {
-			File f = new File(parentDirName + "/.git");
-			localRepo = new FileRepository(f);
-			if (log.isDebugEnabled()) {
-				log.debug("Local File Repo: " + f.getAbsoluteFile());
-			}
-		} catch (IOException e) {
-			throw new ADCException("Error creating local file repo", e);
-		}
-
-		Git git = new Git(localRepo);
-		LsRemoteCommand cmd = git.lsRemote().setRemote(repoURL);
-		if (credentialsProvider != null) {
-			cmd.setCredentialsProvider(credentialsProvider);
-		}
-		try {
-			Collection<Ref> collection = cmd.call();
-			List<String> refNames = new ArrayList<String>();
-			if (collection != null) {
-				for (Ref ref : collection) {
-					if (log.isDebugEnabled()) {
-						log.debug(repoURL + ": " + ref.getName());
-					}
-					refNames.add(ref.getName());
-				}
-			}
-			repositoryInformation.setRefName(refNames.toArray(new String[refNames.size()]));
-		} catch (InvalidRemoteException e) {
-			throw new InvalidRepositoryException("Provided repository url is not valid", e);
-		} catch (TransportException e) {
-			throw new RepositoryTransportException("Transport error when checking remote repository", e);
-		} catch (GitAPIException e) {
-			throw new ADCException("Git API error when checking remote repository", e);
-		}
-		return repositoryInformation;
-	}
-
-    private static String generatePassword() {
-
-        final int PASSWORD_LENGTH = 8;
-        StringBuffer sb = new StringBuffer();
-        for (int x = 0; x < PASSWORD_LENGTH; x++) {
-            sb.append((char) ((int) (Math.random() * 26) + 97));
-        }
-        return sb.toString();
-
-    }
-
-    private static void deletePayloadFile(String payloadZipFileName) {
-        File payloadFile = new File(payloadZipFileName);
-        payloadFile.delete();
-        log.info(" Payload file is deleted. ");
-    }
-
-    private static Properties setRegisterServiceProperties(Policy policy, int tenantId, String alias) {
-    	
-    	DecimalFormat df = new DecimalFormat("##.##");
-        df.setParseBigDecimal(true);
-
-        Properties properties = new Properties();
-        List<Property> allProperties = new ArrayList<Property>();
-        // min_app_instances
-        Property property = new Property();
-        property.setName("min_app_instances");
-        property.setValue(df.format(policy.getMinAppInstances()));
-        allProperties.add(property);
-        
-        
-     // max_app_instances
-        property = new Property();
-        property.setName("max_app_instances");
-        property.setValue(df.format(policy.getMaxAppInstances()));
-        allProperties.add(property);
-        
-        // max_requests_per_second
-        property = new Property();
-        property.setName("max_requests_per_second");
-        property.setValue(df.format(policy.getMaxRequestsPerSecond()));
-        allProperties.add(property);
-        
-        // alarming_upper_rate
-        property = new Property();
-        property.setName("alarming_upper_rate");
-        property.setValue(df.format(policy.getAlarmingUpperRate()));
-        allProperties.add(property);
-        
-     // alarming_lower_rate
-        property = new Property();
-        property.setName("alarming_lower_rate");
-        property.setValue(df.format(policy.getAlarmingLowerRate()));
-        allProperties.add(property);
-        
-        // scale_down_factor
-        property = new Property();
-        property.setName("scale_down_factor");
-        property.setValue(df.format(policy.getScaleDownFactor()));
-        allProperties.add(property);
-        
-     // rounds_to_average
-        property = new Property();
-        property.setName("rounds_to_average");
-        property.setValue(df.format(policy.getRoundsToAverage()));
-        allProperties.add(property);
-        
-       // tenant id
-        property = new Property();
-        property.setName("tenant_id");
-        property.setValue(String.valueOf(tenantId));
-        allProperties.add(property);
-        
-        // alias
-        property = new Property();
-        property.setName("alias");
-        property.setValue(String.valueOf(alias));
-        allProperties.add(property);
-        
-        properties.setProperties(allProperties.toArray(new Property[allProperties.size()]));
-        return properties;
-    }
-
-    private static String convertRepoURL(String gitURL) {
-        String convertedHttpURL = null;
-        if (gitURL != null && gitURL.startsWith("git@")) {
-            StringBuilder httpRepoUrl = new StringBuilder();
-            httpRepoUrl.append("http://");
-            String[] urls = gitURL.split(":");
-            String[] hostNameArray = urls[0].split("@");
-            String hostName = hostNameArray[1];
-            httpRepoUrl.append(hostName).append("/").append(urls[1]);
-            convertedHttpURL = httpRepoUrl.toString();
-        } else if (gitURL != null && gitURL.startsWith("http")) {
-            convertedHttpURL = gitURL;
-        }
-        return convertedHttpURL;
-    }
-
-    private static void addDNSEntry(String alias, String cartridgeType) {
-        new DNSManager().addNewSubDomain(alias + "." + cartridgeType, System.getProperty(CartridgeConstants.ELB_IP));
-    }
-
-    private static SubscriptionInfo createSubscriptionResponse(CartridgeSubscription cartridgeSubscription, Repository repository) {
-    	SubscriptionInfo subscriptionInfo = new SubscriptionInfo();
-    	
-        if (repository != null && repository.getRepoName() != null) {
-        	subscriptionInfo.setRepositoryURL(convertRepoURL(repository.getRepoName()));
-        }
-        
-        subscriptionInfo.setHostname(cartridgeSubscription.getHostName());
-        
-        return subscriptionInfo;
-    }
-
-    private static String getDynamicClusterDomain(String cartridgeType, String cartName,
-                                                  CartridgeInfo cartridgeInfo) {
-        return cartName + "." + cartridgeInfo.getHostName() + "." + cartridgeType +
-                ".domain";
-    }
-
-    private static Repository manageRepository(String repoURL, String repoUserName, String repoUserPassword,
-                                               String cartName, CartridgeInfo cartridgeInfo, String username,
-                                               String tenantDomain)
-            throws Exception {
-
-        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.setRepoName(repoURL);
-            repository.setRepoUserName(repoUserName);
-            repository.setRepoUserPassword(repoUserPassword);
-        } else {
-
-            //log.info("External REPO URL is not provided. Therefore creating a new repo. Adding to Executor");
-            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.setRepoUserName(System.getProperty(CartridgeConstants.INTERNAL_GIT_USERNAME));
-            repository.setRepoUserPassword(System.getProperty(CartridgeConstants.INTERNAL_GIT_PASSWORD));
-            /*repoCreationExecutor.execute(new RepositoryCreator(new RepositoryInfoBean(repoURL,
-                    cartName,
-                    tenantDomain,
-                    repository.getRepoUserName(),
-                    repository.getRepoUserPassword(),
-                    cartridgeInfo.getDeploymentDirs(),
-                    cartridgeInfo)));*/
-            new RepositoryCreator(new RepositoryInfoBean(repoURL,
-                    cartName,
-                    tenantDomain,
-                    repository.getRepoUserName(),
-                    repository.getRepoUserPassword(),
-                    cartridgeInfo.getDeploymentDirs(),
-                    cartridgeInfo)).createInternalRepository();
-            String repoName = tenantDomain + "/" + cartName;
-            repository.setRepoName("https://" + System.getProperty(CartridgeConstants.GIT_HOST_NAME) + ":8443/git/" + repoName);
-
-        }
-        return repository;
-    }
-
-    public static Cartridge getCartridgeInfo(String alias, String tenantDomain) throws ADCException, NotSubscribedException {
-        log.info("Alias: " + alias);
-        if (alias == null) {
-            String msg = "Provided alias is empty";
-            log.error(msg);
-            throw new ADCException("Alias you provided is empty.");
-        }
-
-        CartridgeSubscription sub;
-        try {
-            sub = PersistenceManager.getSubscription(tenantDomain, alias);
-        } catch (Exception e) {
-            String message = "Cannot get subscription info for " + tenantDomain + " and alias " + alias;
-            log.error(message, e);
-            throw new ADCException(message, e);
-        }
-        if (sub == null) {
-            String msg = "Info request for not subscribed cartridge";
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + alias, alias);
-        }
-
-        log.info("Cluster domain : " + sub.getClusterDomain() + " cartridge: " + sub.getCartridge());
-        
-        CartridgeInfo cartridgeInfo = null;
-        try {
-            cartridgeInfo = getServiceClient().getCartridgeInfo(sub.getCartridge());
-        } catch (Exception e) {
-            throw new ADCException("Cannot get cartridge info: " + sub.getCartridge(), e);
-        }
-
-        TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
-
-        String[] ips =
-                topologyMgtService.getActiveIPs(sub.getCartridge(),
-                        sub.getClusterDomain(),
-                        sub.getClusterSubdomain());
-        return populateCartridgeInfo(cartridgeInfo, sub, ips, tenantDomain);
-    }
-
-    private static void registerService(String cartridgeType, String domain, String subDomain,
-                                        DataHandler payload, String tenantRange, String hostName, Properties properties)
-            throws ADCException, UnregisteredCartridgeException {
-        log.info("Register service..");
-        try {
-            getServiceClient().register(domain, subDomain, cartridgeType, payload, tenantRange,
-                    hostName, properties);
-        } catch (CloudControllerServiceUnregisteredCartridgeExceptionException e) {
-            String msg = "Exception is occurred in register service operation. Reason :" + e.getMessage();
-            log.error(msg, e);
-            throw new UnregisteredCartridgeException("Not a registered cartridge " + cartridgeType, cartridgeType, e);
-        } catch (RemoteException e) {
-        	log.error("Remote Error", e);
-        	throw new ADCException("An error occurred in subscribing process");
-        }
-    }
-
-    public static Cartridge populateCartridgeInfo(CartridgeInfo cartridgeInfo, CartridgeSubscription sub, String[] ips, String tenantDomain) throws ADCException {
-    	Cartridge cartridge = new Cartridge();
-        if (ips != null && ips.length > 0) {
-			if (log.isDebugEnabled()) {
-				log.debug("Found IPs: " + Arrays.toString(ips) + " for " + cartridgeInfo.getType() + ", "
-						+ sub.getAlias());
-			}
-			if (CartridgeConstants.DATA_CARTRIDGE_PROVIDER.equals(sub.getProvider())) {
-				// FIXME Temporary fix for SPI-301
-				cartridge.setIp(ips[ips.length - 1]);
-				if (sub.getDataCartridge() != null) {
-					if (log.isDebugEnabled()) {
-						log.debug("Data Cartridge Info: " + sub.getDataCartridge().getUserName());
-					}
-					cartridge.setPassword(sub.getDataCartridge().getPassword());
-					cartridge.setDbUserName(sub.getDataCartridge().getUserName());
-				}
-			}
-			if (cartridgeInfo.getMultiTenant()) { // TODO refactor logic for carbon cartridges.
-				cartridge.setStatus(CartridgeConstants.ACTIVE);
-				cartridge.setActiveInstances(ips.length);
-			} else {
-				Map<String, String> instanceIpMap;
-				try {
-					instanceIpMap = PersistenceManager.getCartridgeInstanceInfo(ips, sub.getClusterDomain(),
-							sub.getClusterSubdomain());
-					cartridge.setActiveInstances(Collections.frequency(instanceIpMap.values(),
-							CartridgeConstants.ACTIVE));
-					cartridge.setStatus(checkCartridgeStatus(instanceIpMap));
-				} catch (Exception e) {
-					throw new ADCException("Error checking cartridge status");
-				}
-
-                if(cartridgeInfo.getProvider().equalsIgnoreCase(CartridgeConstants.PROVIDER_NAME_WSO2)) {
-
-                    List<Member> members = getMemberInstances(sub.getClusterDomain(), sub.getClusterSubdomain());
-                    if(members != null) {
-                        int activeInstancesCount = 0;
-                        for (Member member : members) {
-                            if (member != null && member.isActive() && member.getDomain().equals(sub.getClusterDomain())) {
-                                cartridge.setStatus(CartridgeConstants.ACTIVE);
-                                activeInstancesCount ++;
-                            }
-                        }
-                        cartridge.setActiveInstances(activeInstancesCount);
-                    }
-                }
-			}
-        } else {
-            log.warn("IPs have not returned through Topology Management for " + sub.getAlias());
-            cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
-        }
-        cartridge.setDisplayName(cartridgeInfo.getDisplayName());
-        cartridge.setDescription(cartridgeInfo.getDescription());
-        cartridge.setVersion(cartridgeInfo.getVersion());
-        cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
-
-        List<String> accessURLs = new ArrayList<String>();
-
-        if (cartridgeInfo.getPortMappings() != null) {
-            for (org.wso2.carbon.stratos.cloud.controller.util.xsd.PortMapping portMapping : cartridgeInfo
-                    .getPortMappings()) {
-                if (portMapping != null) {
-					try {
-						int port = Integer.parseInt(portMapping.getProxyPort());
-	                	String protocol = portMapping.getProtocol();
-
-	                	if ("http".equals(protocol) && port == 80) {
-	                	    port = -1;
-	                	} else if ("https".equals(protocol) && port == 443) {
-	                	    port = -1;
-	                	}
-	                	
-	                	String file = "";
-	                	if (CartridgeConstants.PROVIDER_NAME_WSO2.equals(cartridgeInfo.getProvider()) && !cartridgeInfo.getMultiTenant()) {
-	                		// Carbon Private Jet Cartridges
-	                		file = "/t/" + tenantDomain;
-	                	}
-	                	
-	                	URL serverURL = new URL(protocol, sub.getHostName(), port, file);
-						accessURLs.add(serverURL.toExternalForm());
-					} catch (MalformedURLException e) {
-						if (log.isErrorEnabled()) {
-							log.error("Error getting access URL for " + cartridgeInfo.getType(), e);
-						}
-					} catch (NumberFormatException e) {
-						if (log.isErrorEnabled()) {
-							log.error("Error getting port of access URL for " + cartridgeInfo.getType(), e);
-						}
-					}
-                }
-            }
-        }
-
-        cartridge.setAccessURLs(accessURLs.toArray(new String[accessURLs.size()]));
-
-        cartridge.setCartridgeAlias(sub.getAlias());
-        cartridge.setCartridgeType(sub.getCartridge());
-        cartridge.setHostName(sub.getHostName());
-        cartridge.setPolicy(sub.getPolicy());
-        Policy policy = PolicyHolder.getInstance().getPolicy(sub.getPolicy());
-        if (policy != null) {
-        	cartridge.setPolicyDescription(policy.getDescription());
-        }
-        cartridge.setProvider(sub.getProvider());
-        cartridge.setMappedDomain(sub.getMappedDomain());
-
-        if (sub.getRepository() != null) {
-            cartridge.setRepoURL(convertRepoURL(sub.getRepository().getRepoName()));
-        }
-        return cartridge;
-    }
-
-    private static List<Member> getMemberInstances(String domain, String subDomain) {
-
-        ClusteringAgent clusteringAgent = DataHolder.getServerConfigContext()
-                .getAxisConfiguration().getClusteringAgent();
-        GroupManagementAgent groupMgtAgent = clusteringAgent.getGroupManagementAgent(domain, subDomain);
-
-        if (groupMgtAgent == null) {
-            log.warn("Group Management Agent not found for domain : " + domain +
-                    ", sub domain : " + subDomain);
-            return null;
-        }
-
-        List<Member> members = groupMgtAgent.getMembers();
-        if (members == null || members.isEmpty()) {
-            return null;
-        }
-
-        return members;
-    }
-
-    private static String checkCartridgeStatus(Map<String, String> instanceIpMap) {
-        if (instanceIpMap.values().contains(CartridgeConstants.ACTIVE)) {
-            return CartridgeConstants.ACTIVE;
-        } else
-            return CartridgeConstants.NOT_READY;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeAppType.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeAppType.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeAppType.java
deleted file mode 100644
index 0406cb2..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeAppType.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-/**
- *
- */
-public class CartridgeAppType {
-	private String appType;
-	private boolean appSpecificMapping;
-
-	public String getAppType() {
-		return appType;
-	}
-
-	public void setAppType(String appType) {
-		this.appType = appType;
-	}
-
-	public boolean isAppSpecificMapping() {
-		return appSpecificMapping;
-	}
-
-	public void setAppSpecificMapping(boolean appSpecificMapping) {
-		this.appSpecificMapping = appSpecificMapping;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeConfigFileReader.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeConfigFileReader.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeConfigFileReader.java
deleted file mode 100644
index 55d6810..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeConfigFileReader.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.Properties;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.utils.CarbonUtils;
-
-public class CartridgeConfigFileReader {
-
-	private static String carbonHome = CarbonUtils.getCarbonHome();
-
-	private static final Log log = LogFactory.getLog(CartridgeConfigFileReader.class);
-
-	/**
-	 * 
-	 * Reads cartridge-config.properties file and assign properties to system
-	 * properties
-	 * 
-	 */
-	public static void readProperties() {
-
-		Properties properties = new Properties();
-		try {
-			properties.load(new FileInputStream(carbonHome + File.separator + "repository" +
-			                                    File.separator + "conf" + File.separator +
-			                                    "cartridge-config.properties"));
-		} catch (Exception e) {
-			log.error("Exception is occurred in reading properties file. Reason:" + e.getMessage());
-		}
-		if (log.isInfoEnabled()) {
-			log.info("Setting config properties into System properties");
-		}
-
-		for (String name : properties.stringPropertyNames()) {
-			String value = properties.getProperty(name);
-			System.setProperty(name, value);
-		}
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeConstants.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeConstants.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeConstants.java
deleted file mode 100644
index 90fad61..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeConstants.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-public class CartridgeConstants {
-    public static final String SC_IP = "sc.ip";
-	public static final String AUTOSCALER_SERVICE_URL = "autoscalerService.url";
-    public static final String ALIAS_NAMESPACE ="http://org.wso2.securevault/configuration";
-    public static final String ALIAS_LOCALPART ="secretAlias";
-    public static final String ALIAS_PREFIX ="svns";
-	public static final String CARTRIDGE_AGENT_EPR = "cartridge.agent.epr";
-	public static final String GIT_HOST_NAME = "git.host.name";
-	public static final String GIT_HOST_IP = "git.host.ip";
-	public static final String SUBSCRIPTION_ACTIVE = "SUBSCRIPTION_ACTIVE";
-	public static final String SUBSCRIPTION_INACTIVE = "SUBSCRIPTION_INACTIVE";
-	public static final String REPO_NOTIFICATION_URL = "git.repo.notification.url";
-	public static final String ACTIVE = "ACTIVE";
-	public static final String NOT_READY = "NOT-READY";
-	public static final String SUBSCRIBED = "SUBSCRIBED";
-
-	public static final String DB_DATASOURCE = "adc.datasource";
-	public static final String DB_URL = "adc.jdbc.url";
-	public static final String DB_DRIVER = "adc.jdbc.driver";
-	public static final String DB_USERNAME = "adc.jdbc.username";
-	public static final String DB_PASSWORD = "adc.jdbc.password";
-	public static final String BAM_IP = "bam.ip";
-	public static final String BAM_PORT = "bam.port";
-	public static final String SUDO_SH = "sudo sh";
-	public static final String APPEND_SCRIPT = "append.script";
-	public static final String REMOVE_SCRIPT = "remove.script";
-	public static final String BIND_FILE_PATH = "bind.file.path";
-	public static final String ELB_IP = "elb.ip";
-	public static final String REPO_KEY_PATH = "repo.key.path";
-	public static final String REPO_KEY = "repo.key";
-	public static final String MAX_ATTEMPTS = "max.attempts";
-	public static final String CARTRIDGE_KEY = "cartridge.key";
-	
-	public static final String FEATURE_EXTERNAL_REPO_VAIDATION_ENABLED = "feature.externalrepo.validation.enabled";
-	public static final String FEATURE_INTERNAL_REPO_ENABLED = "feature.internalrepo.enabled";
-	public static final String FEATURE_MULTI_TENANT_MULTIPLE_SUBSCRIPTION_ENABLED = "feature.multitenant.multiplesubscription.enabled";
-	
-	public static final String MYSQL_CARTRIDGE_NAME = "mysql";
-	public static final String DEFAULT_SUBDOMAIN = "__$default";
-	public static final String DEFAULT_MGT_SUBDOMAIN = "mgt";
-	public static final String MYSQL_DEFAULT_USER = "root";
-	public static final String PROVIDER_NAME_WSO2 = "wso2";
-	public static final String NOT_SUBSCRIBED = "NOT-SUBSCRIBED";
-    public static final String SECURITY_KEY_FILE = "gitRepoKey.xml";
-    public static final String SECURITY_KEY = "securityKey";
-    public static final String DEFAULT_SECURITY_KEY = "tvnw63ufg9gh5111";
-    public static final String DATA_CARTRIDGE_PROVIDER = "data";
-	public static final String REPO_INFO_EPR = "repository.info.epr";
-	public static final String INTERNAL_GIT_USERNAME = "internal.repo.username";
-	public static final String INTERNAL_GIT_PASSWORD = "internal.repo.password";
-
-    public static final class DomainMappingInfo {
-		public static final String ACTUAL_HOST = "actual.host";
-		public static final String HOSTINFO = "hostinfo/";
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeDomain.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeDomain.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeDomain.java
deleted file mode 100644
index b3ac6e0..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/CartridgeDomain.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-/**
- *
- */
-public class CartridgeDomain {
-
-	private String primaryPort;
-	private String proxyPort;
-	private String type;
-	private String tenantId;
-	private int min;
-	private int max;
-	private String cartridgeType;
-	private boolean volume;
-	private String tenantDomain;
-	private String clusterDomain;
-	private String clusterSubDomain;
-
-	private String hostName;
-	private boolean started;
-
-	public String getPrimaryPort() {
-		return primaryPort;
-	}
-
-	public String getProxyPort() {
-		return proxyPort;
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	public String getTenantId() {
-		return tenantId;
-	}
-
-	public int getMin() {
-		return min;
-	}
-
-	public int getMax() {
-		return max;
-	}
-
-	public String getCartridgeType() {
-		return cartridgeType;
-	}
-
-	public boolean getVolume() {
-		return volume;
-	}
-
-	public String getTenantDomain() {
-		return tenantDomain;
-	}
-
-	public void setPrimaryPort(String primaryPort) {
-		this.primaryPort = primaryPort;
-	}
-
-	public void setProxyPort(String proxyPort) {
-		this.proxyPort = proxyPort;
-	}
-
-	public void setType(String type) {
-		this.type = type;
-	}
-
-	public void setTenantId(String tenantId) {
-		this.tenantId = tenantId;
-	}
-
-	public void setMin(int min) {
-		this.min = min;
-	}
-
-	public void setMax(int max) {
-		this.max = max;
-	}
-
-	public void setCartridgeType(String cartridgeType) {
-		this.cartridgeType = cartridgeType;
-	}
-
-	public void setVolume(boolean volume) {
-		this.volume = volume;
-	}
-
-	public void setTenantDomain(String tenantDomain) {
-		this.tenantDomain = tenantDomain;
-	}
-
-	public void setStarted(boolean started) {
-		this.started = started;
-	}
-
-	public boolean isStarted() {
-		return started;
-	}
-
-	public String getHostName() {
-		return hostName;
-	}
-
-	public void setHostName(String hostName) {
-		this.hostName = hostName;
-	}
-
-	public String getClusterDomain() {
-		return clusterDomain;
-	}
-
-	public void setClusterDomain(String clusterDomain) {
-		this.clusterDomain = clusterDomain;
-	}
-
-	public String getClusterSubDomain() {
-		return clusterSubDomain;
-	}
-
-	public void setClusterSubDomain(String clusterSubDomain) {
-		this.clusterSubDomain = clusterSubDomain;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/DomainInfo.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/DomainInfo.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/DomainInfo.java
deleted file mode 100644
index 82eba2d..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/DomainInfo.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-public class DomainInfo {
-
-	String domain;
-	String subDomain;
-
-	public String getDomain() {
-		return domain;
-	}
-
-	public void setDomain(String domain) {
-		this.domain = domain;
-	}
-
-	public String getSubDomain() {
-		return subDomain;
-	}
-
-	public void setSubDomain(String subDomain) {
-		this.subDomain = subDomain;
-	}
-
-}


[07/12] Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/PersistenceManager.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/PersistenceManager.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/PersistenceManager.java
new file mode 100644
index 0000000..307ffe3
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/PersistenceManager.java
@@ -0,0 +1,853 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.utils;
+
+import java.io.File;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.crypto.Cipher;
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.adc.mgt.dao.CartridgeSubscription;
+import org.apache.stratos.adc.mgt.dao.DataCartridge;
+import org.apache.stratos.adc.mgt.dao.PortMapping;
+import org.apache.stratos.adc.mgt.dao.Repository;
+import org.apache.stratos.adc.mgt.dao.RepositoryCredentials;
+import org.wso2.carbon.utils.CarbonUtils;
+import org.wso2.securevault.SecretResolver;
+import org.wso2.securevault.SecretResolverFactory;
+
+/**
+ * This class is responsible for handling persistence
+ * 
+ */
+public class PersistenceManager {
+
+	private static final Log log = LogFactory.getLog(PersistenceManager.class);
+
+	public static void persistCartridgeInstanceInfo(String instanceIp, String clusterDomain, String clusterSubDomain,
+			String cartridgeType, String state) throws Exception {
+
+		Connection con = null;
+		PreparedStatement statement = null;
+		PreparedStatement updateStatement = null;
+		ResultSet resultSet = null;
+
+		boolean isUpdate = false;
+		int instanceId = 0;
+		try {
+			con = StratosDBUtils.getConnection();
+
+			// First check whether Ip exists..
+			String sql = "SELECT ID FROM CARTRIDGE_INSTANCE where INSTANCE_IP=? AND CARTRIDGE_TYPE=? "
+					+ " AND CLUSTER_DOMAIN=? AND CLUSTER_SUBDOMAIN=?";
+			statement = con.prepareStatement(sql);
+			statement.setString(1, instanceIp);
+			statement.setString(2, cartridgeType);
+			statement.setString(3, clusterDomain);
+			statement.setString(4, clusterSubDomain);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			if (resultSet.next()) {
+				isUpdate = true;
+				instanceId = resultSet.getInt("ID");
+			}
+
+			String persistQuery = null;
+			if (isUpdate) {
+				persistQuery = "UPDATE CARTRIDGE_INSTANCE SET STATE=?" + " WHERE ID=?";
+				updateStatement = con.prepareStatement(persistQuery);
+				updateStatement.setString(1, state);
+				updateStatement.setInt(2, instanceId);
+			} else {
+				persistQuery = "INSERT INTO CARTRIDGE_INSTANCE (INSTANCE_IP, CARTRIDGE_TYPE, STATE, CLUSTER_DOMAIN, CLUSTER_SUBDOMAIN)"
+						+ " VALUES (?, ?, ?, ?, ?)";
+				updateStatement = con.prepareStatement(persistQuery);
+				updateStatement.setString(1, instanceIp);
+				updateStatement.setString(2, cartridgeType);
+				updateStatement.setString(3, state);
+				updateStatement.setString(4, clusterDomain);
+				updateStatement.setString(5, clusterSubDomain);
+			}
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + persistQuery);
+			}
+			updateStatement.executeUpdate();
+			con.commit();
+		} catch (Exception e) {
+			if (con != null) {
+				try {
+					con.rollback();
+				} catch (SQLException e1) {
+					log.error("Failed to rollback", e);
+				}
+			}
+			;
+			log.error("Error", e);
+			throw e;
+		} finally {
+			StratosDBUtils.closeResultSet(resultSet);
+			StratosDBUtils.closeAllConnections(con, statement, updateStatement);
+		}
+	}
+
+	public static boolean isAlreadySubscribed(String cartridgeType, int tenantId) throws Exception {
+
+		Connection con = null;
+		PreparedStatement preparedStatement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "SELECT C.ALIAS FROM CARTRIDGE_SUBSCRIPTION C WHERE TENANT_ID = ? AND C.CARTRIDGE = ? AND C.STATE != 'UNSUBSCRIBED'";
+			preparedStatement = con.prepareStatement(sql);
+			preparedStatement.setInt(1, tenantId);
+			preparedStatement.setString(2, cartridgeType);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = preparedStatement.executeQuery();
+			if (resultSet.next()) {
+				String alias = resultSet.getString("ALIAS");
+				if (log.isDebugEnabled()) {
+					log.debug("Already subscribed to " + cartridgeType + " with alias " + alias);
+				}
+				return true;
+			} else {
+				return false;
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, preparedStatement, resultSet);
+		}
+	}
+
+	public static List<CartridgeSubscription> retrieveSubscribedCartridges(int tenantId) throws Exception {
+
+		List<CartridgeSubscription> subscribedCartridgeList = new ArrayList<CartridgeSubscription>();
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "SELECT C.CARTRIDGE, C.ALIAS, C.CLUSTER_DOMAIN, C.CLUSTER_SUBDOMAIN, C.POLICY, C.STATE, "
+					+ "C.TENANT_ID, C.SUBSCRIPTION_ID, C.DATA_CARTRIDGE_ID, D.TYPE, D.USER_NAME, D.PASSWORD, "
+					+ "C.PROVIDER, C.HOSTNAME, C.MAPPED_DOMAIN, R.REPO_NAME FROM CARTRIDGE_SUBSCRIPTION C "
+					+ "LEFT JOIN DATA_CARTRIDGE D on D.DATA_CART_ID=C.DATA_CARTRIDGE_ID  "
+					+ "LEFT JOIN REPOSITORY R ON C.REPO_ID=R.REPO_ID WHERE TENANT_ID=? AND C.STATE != 'UNSUBSCRIBED' "
+					+ "ORDER BY C.SUBSCRIPTION_ID";
+			statement = con.prepareStatement(sql);
+			statement.setInt(1, tenantId);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			while (resultSet.next()) {
+				CartridgeSubscription cartridge = new CartridgeSubscription();
+				cartridge.setAlias(resultSet.getString("ALIAS"));
+				cartridge.setCartridge(resultSet.getString("CARTRIDGE"));
+				cartridge.setState(resultSet.getString("STATE"));
+				cartridge.setClusterDomain(resultSet.getString("CLUSTER_DOMAIN"));
+				cartridge.setClusterSubdomain(resultSet.getString("CLUSTER_SUBDOMAIN"));
+				cartridge.setProvider(resultSet.getString("PROVIDER"));
+				cartridge.setPolicy(resultSet.getString("POLICY"));
+				cartridge.setMappedDomain(resultSet.getString("MAPPED_DOMAIN"));
+				Repository repo = new Repository();
+				repo.setRepoName(resultSet.getString("REPO_NAME"));
+				cartridge.setRepository(repo);
+				cartridge.setHostName(resultSet.getString("HOSTNAME"));
+				int dataCartridgeId = resultSet.getInt("DATA_CARTRIDGE_ID");
+				if (dataCartridgeId != 0) {
+					DataCartridge dataCartridge = new DataCartridge();
+					dataCartridge.setDataCartridgeType(resultSet.getString("TYPE"));
+					dataCartridge.setPassword(resultSet.getString("PASSWORD"));
+					dataCartridge.setUserName(resultSet.getString("USER_NAME"));
+					cartridge.setDataCartridge(dataCartridge);
+				}
+				subscribedCartridgeList.add(cartridge);
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+		return subscribedCartridgeList;
+	}
+
+	public static String getRepoURL(int tenantId, String cartridge) throws Exception {
+
+		String repoUrl = null;
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "SELECT REPO_NAME FROM REPOSITORY R, CARTRIDGE_SUBSCRIPTION C "
+					+ "WHERE C.REPO_ID=R.REPO_ID AND C.TENANT_ID=? AND C.CARTRIDGE=? "
+					+ "AND C.STATE != 'UNSUBSCRIBED' ";
+			statement = con.prepareStatement(sql);
+			statement.setInt(1, tenantId);
+			statement.setString(2, cartridge);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			if (resultSet.next()) {
+				repoUrl = resultSet.getString("REPO_NAME");
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+		return repoUrl;
+	}
+
+	public static RepositoryCredentials getRepoCredentials(int tenantId, String cartridge, String alias)
+			throws Exception {
+
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+		RepositoryCredentials repoCredentials = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "SELECT REPO_NAME,REPO_USER_NAME,REPO_USER_PASSWORD FROM REPOSITORY R, CARTRIDGE_SUBSCRIPTION C "
+					+ "WHERE C.REPO_ID=R.REPO_ID AND C.TENANT_ID=? AND C.CARTRIDGE=? AND C.STATE != 'UNSUBSCRIBED' ";
+			if (alias != null) {
+				sql = sql + " AND C.ALIAS=?";
+			}
+			statement = con.prepareStatement(sql);
+			statement.setInt(1, tenantId);
+			statement.setString(2, cartridge);
+			if (alias != null) {
+				statement.setString(3, alias);
+			}
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			while (resultSet.next()) {
+				repoCredentials = new RepositoryCredentials();
+				repoCredentials.setUrl(resultSet.getString("REPO_NAME"));
+				repoCredentials.setUserName(resultSet.getString("REPO_USER_NAME"));
+				repoCredentials.setPassword(decryptPassword(resultSet.getString("REPO_USER_PASSWORD")));
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+		return repoCredentials;
+	}
+
+	public static boolean isAliasAlreadyTaken(String alias, String cartridgeType) throws Exception {
+		boolean aliasAlreadyTaken = false;
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "SELECT SUBSCRIPTION_ID FROM CARTRIDGE_SUBSCRIPTION where ALIAS=? AND CARTRIDGE=? AND STATE != 'UNSUBSCRIBED'";
+			statement = con.prepareStatement(sql);
+			statement.setString(1, alias);
+			statement.setString(2, cartridgeType);
+			statement.setMaxRows(1);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			if (resultSet.next()) {
+				log.info("Already taken..");
+				aliasAlreadyTaken = true;
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+		return aliasAlreadyTaken;
+	}
+
+	public static int persistSubscription(CartridgeSubscription cartridgeSubscription) throws Exception {
+
+		int cartridgeSubscriptionId = 0;
+		int repoId = 0;
+		int dataCartridgeId = 0;
+		ResultSet res = null;
+		PreparedStatement insertSubscriptionStmt = null;
+		PreparedStatement insertRepoStmt = null;
+		PreparedStatement insertDataCartStmt = null;
+
+		Connection con = null;
+
+		// persist cartridge_subscription
+		try {
+			con = StratosDBUtils.getConnection();
+			// persist repo
+			if (cartridgeSubscription.getRepository() != null) {
+				String encryptedRepoUserPassword = encryptPassword(cartridgeSubscription.getRepository()
+						.getRepoUserPassword());
+				String insertRepo = "INSERT INTO REPOSITORY (REPO_NAME,STATE,REPO_USER_NAME,REPO_USER_PASSWORD)"
+						+ " VALUES (?,?,?,?)";
+
+				insertRepoStmt = con.prepareStatement(insertRepo, Statement.RETURN_GENERATED_KEYS);
+				insertRepoStmt.setString(1, cartridgeSubscription.getRepository().getRepoName());
+				insertRepoStmt.setString(2, "ACTIVE");
+				insertRepoStmt.setString(3, cartridgeSubscription.getRepository().getRepoUserName());
+				insertRepoStmt.setString(4, encryptedRepoUserPassword);
+				if (log.isDebugEnabled()) {
+					log.debug("Executing insert: " + insertRepo);
+				}
+				insertRepoStmt.executeUpdate();
+				res = insertRepoStmt.getGeneratedKeys();
+				if (res.next()) {
+					repoId = res.getInt(1);
+				}
+				StratosDBUtils.closeResultSet(res);
+			}
+
+			// persist data cartridge
+			if (cartridgeSubscription.getDataCartridge() != null) {
+				String insertDataCartridge = "INSERT INTO DATA_CARTRIDGE (TYPE,USER_NAME,PASSWORD,STATE)"
+						+ " VALUES (?,?,?,?)";
+				insertDataCartStmt = con.prepareStatement(insertDataCartridge, Statement.RETURN_GENERATED_KEYS);
+				insertDataCartStmt.setString(1, cartridgeSubscription.getDataCartridge().getDataCartridgeType());
+				insertDataCartStmt.setString(2, cartridgeSubscription.getDataCartridge().getUserName());
+				insertDataCartStmt.setString(3, cartridgeSubscription.getDataCartridge().getPassword());
+				insertDataCartStmt.setString(4, "ACTIVE");
+				if (log.isDebugEnabled()) {
+					log.debug("Executing insert: " + insertDataCartridge);
+				}
+				insertDataCartStmt.executeUpdate();
+				res = insertDataCartStmt.getGeneratedKeys();
+				if (res.next()) {
+					dataCartridgeId = res.getInt(1);
+				}
+				StratosDBUtils.closeResultSet(res);
+			}
+
+			String insertSubscription = "INSERT INTO CARTRIDGE_SUBSCRIPTION (TENANT_ID, CARTRIDGE, PROVIDER,"
+					+ "HOSTNAME, POLICY, CLUSTER_DOMAIN, " + "CLUSTER_SUBDOMAIN, MGT_DOMAIN, MGT_SUBDOMAIN, STATE, "
+					+ "ALIAS, TENANT_DOMAIN, BASE_DIR, REPO_ID, DATA_CARTRIDGE_ID)"
+					+ " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+
+			insertSubscriptionStmt = con.prepareStatement(insertSubscription, Statement.RETURN_GENERATED_KEYS);
+			insertSubscriptionStmt.setInt(1, cartridgeSubscription.getTenantId());
+			insertSubscriptionStmt.setString(2, cartridgeSubscription.getCartridge());
+			insertSubscriptionStmt.setString(3, cartridgeSubscription.getProvider());
+			insertSubscriptionStmt.setString(4, cartridgeSubscription.getHostName());
+			insertSubscriptionStmt.setString(5, cartridgeSubscription.getPolicy());
+			insertSubscriptionStmt.setString(6, cartridgeSubscription.getClusterDomain());
+			insertSubscriptionStmt.setString(7, cartridgeSubscription.getClusterSubdomain());
+			insertSubscriptionStmt.setString(8, cartridgeSubscription.getMgtClusterDomain());
+			insertSubscriptionStmt.setString(9, cartridgeSubscription.getMgtClusterSubDomain());
+			insertSubscriptionStmt.setString(10, cartridgeSubscription.getState());
+			insertSubscriptionStmt.setString(11, cartridgeSubscription.getAlias());
+			insertSubscriptionStmt.setString(12, cartridgeSubscription.getTenantDomain());
+			insertSubscriptionStmt.setString(13, cartridgeSubscription.getBaseDirectory());
+			insertSubscriptionStmt.setInt(14, repoId);
+			insertSubscriptionStmt.setInt(15, dataCartridgeId);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing insert: " + insertSubscription);
+			}
+			insertSubscriptionStmt.executeUpdate();
+			res = insertSubscriptionStmt.getGeneratedKeys();
+			if (res.next()) {
+				cartridgeSubscriptionId = res.getInt(1);
+			}
+
+			List<PortMapping> portMapping = cartridgeSubscription.getPortMappings();
+			// persist port map
+			if (portMapping != null && !portMapping.isEmpty()) {
+				for (PortMapping portMap : portMapping) {
+					String insertPortMapping = "INSERT INTO PORT_MAPPING (SUBSCRIPTION_ID, TYPE, PRIMARY_PORT, PROXY_PORT, STATE)"
+							+ " VALUES (?,?,?,?,?)";
+
+					PreparedStatement insertPortsStmt = con.prepareStatement(insertPortMapping);
+					insertPortsStmt.setInt(1, cartridgeSubscriptionId);
+					insertPortsStmt.setString(2, portMap.getType());
+					insertPortsStmt.setString(3, portMap.getPrimaryPort());
+					insertPortsStmt.setString(4, portMap.getProxyPort());
+					insertPortsStmt.setString(5, "ACTIVE");
+					if (log.isDebugEnabled()) {
+						log.debug("Executing insert: " + insertPortMapping);
+					}
+					insertPortsStmt.executeUpdate();
+					StratosDBUtils.closeStatement(insertPortsStmt);
+				}
+			}
+			con.commit(); // Commit manually
+		} catch (Exception e) {
+			if (con != null) {
+				try {
+					con.rollback();
+				} catch (SQLException e1) {
+					log.error("Failed to rollback", e);
+				}
+			}
+			;
+			log.error(e.getMessage());
+			String msg = "Exception : " + e.getMessage();
+			log.error(msg, e);
+			throw new Exception("Subscription failed!", e);
+		} finally {
+			StratosDBUtils.closeResultSet(res);
+			StratosDBUtils.closeAllConnections(con, insertRepoStmt, insertDataCartStmt, insertSubscriptionStmt);
+		}
+		return cartridgeSubscriptionId;
+	}
+
+	public static String getHostNameForCartridgeName(int tenantId, String alias) throws Exception {
+
+		String hostName = null;
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "SELECT HOSTNAME FROM CARTRIDGE_SUBSCRIPTION where TENANT_ID=?"
+					+ " AND ALIAS=? AND STATE != 'UNSUBSCRIBED'";
+			statement = con.prepareStatement(sql);
+			statement.setInt(1, tenantId);
+			statement.setString(2, alias);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			if (resultSet.next()) {
+				hostName = resultSet.getString("HOSTNAME");
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+		return hostName;
+	}
+
+	public static CartridgeSubscription getSubscription(String tenantDomain, String alias) throws Exception {
+
+		CartridgeSubscription cartridgeSubscription = null;
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "SELECT * FROM CARTRIDGE_SUBSCRIPTION C left join REPOSITORY R on "
+					+ "C.REPO_ID=R.REPO_ID left join DATA_CARTRIDGE D on "
+					+ "D.DATA_CART_ID=C.DATA_CARTRIDGE_ID WHERE ALIAS=? AND TENANT_DOMAIN=? AND C.STATE != 'UNSUBSCRIBED'";
+			statement = con.prepareStatement(sql);
+			statement.setString(1, alias);
+			statement.setString(2, tenantDomain);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			if (resultSet.next()) {
+				cartridgeSubscription = new CartridgeSubscription();
+				populateSubscription(cartridgeSubscription, resultSet);
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+
+		return cartridgeSubscription;
+	}
+
+	private static void populateSubscription(CartridgeSubscription cartridgeSubscription, ResultSet resultSet)
+			throws Exception {
+		String repoName = resultSet.getString("REPO_NAME");
+		if (repoName != null) {
+			Repository repo = new Repository();
+			repo.setRepoName(repoName);
+			cartridgeSubscription.setRepository(repo);
+		}
+
+		int dataCartridgeId = resultSet.getInt("DATA_CARTRIDGE_ID");
+		if (dataCartridgeId != 0) {
+			DataCartridge dataCartridge = new DataCartridge();
+			dataCartridge.setDataCartridgeType(resultSet.getString("TYPE"));
+			dataCartridge.setPassword(resultSet.getString("PASSWORD"));
+			dataCartridge.setUserName(resultSet.getString("USER_NAME"));
+			cartridgeSubscription.setDataCartridge(dataCartridge);
+		}
+		cartridgeSubscription.setPortMappings(getPortMappings(resultSet.getInt("SUBSCRIPTION_ID")));
+		cartridgeSubscription.setTenantId(resultSet.getInt("TENANT_ID"));
+		cartridgeSubscription.setState(resultSet.getString("STATE"));
+		cartridgeSubscription.setPolicy(resultSet.getString("POLICY"));
+		cartridgeSubscription.setCartridge(resultSet.getString("CARTRIDGE"));
+		cartridgeSubscription.setAlias(resultSet.getString("ALIAS"));
+		cartridgeSubscription.setClusterDomain(resultSet.getString("CLUSTER_DOMAIN"));
+		cartridgeSubscription.setClusterSubdomain(resultSet.getString("CLUSTER_SUBDOMAIN"));
+		cartridgeSubscription.setMgtClusterDomain(resultSet.getString("MGT_DOMAIN"));
+		cartridgeSubscription.setMgtClusterSubDomain(resultSet.getString("MGT_SUBDOMAIN"));
+		cartridgeSubscription.setProvider(resultSet.getString("PROVIDER"));
+		cartridgeSubscription.setHostName(resultSet.getString("HOSTNAME"));
+		cartridgeSubscription.setTenantDomain(resultSet.getString("TENANT_DOMAIN"));
+		cartridgeSubscription.setBaseDirectory(resultSet.getString("BASE_DIR"));
+		cartridgeSubscription.setSubscriptionId(resultSet.getInt("SUBSCRIPTION_ID"));
+		cartridgeSubscription.setMappedDomain(resultSet.getString("MAPPED_DOMAIN"));
+	}
+
+	private static List<PortMapping> getPortMappings(int subscriptionId) throws Exception {
+
+		List<PortMapping> portMappingList = new ArrayList<PortMapping>();
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "SELECT * FROM PORT_MAPPING WHERE SUBSCRIPTION_ID = ?";
+			statement = con.prepareStatement(sql);
+			statement.setInt(1, subscriptionId);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			while (resultSet.next()) {
+				PortMapping portMapping = new PortMapping();
+				portMapping.setPrimaryPort(resultSet.getString("PRIMARY_PORT"));
+				portMapping.setProxyPort(resultSet.getString("PROXY_PORT"));
+				portMapping.setType(resultSet.getString("TYPE"));
+				portMappingList.add(portMapping);
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+		return portMappingList;
+	}
+
+	public static void updateDomainMapping(int tenantId, String cartridgeAlias, String domain) throws Exception {
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "UPDATE CARTRIDGE_SUBSCRIPTION SET MAPPED_DOMAIN = ? WHERE TENANT_ID = ? AND ALIAS = ?";
+			statement = con.prepareStatement(sql);
+			statement.setString(1, domain);
+			statement.setInt(2, tenantId);
+			statement.setString(3, cartridgeAlias);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing update: " + sql);
+			}
+			statement.executeUpdate();
+			con.commit();
+		} catch (Exception s) {
+			if (con != null) {
+				try {
+					con.rollback();
+				} catch (SQLException e) {
+					log.error("Failed to rollback", e);
+				}
+			}
+			String msg = "Error: " + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+	}
+
+	public static List<CartridgeSubscription> getSubscription(String repositoryURL) throws Exception {
+
+		List<CartridgeSubscription> subscriptionList = new ArrayList<CartridgeSubscription>();
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "SELECT * from CARTRIDGE_SUBSCRIPTION C, REPOSITORY R "
+					+ "where R.REPO_NAME LIKE ? AND C.REPO_ID = R.REPO_ID AND C.STATE != 'UNSUBSCRIBED'";
+			statement = con.prepareStatement(sql);
+			statement.setString(1, repositoryURL + "%");
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			while (resultSet.next()) {
+				CartridgeSubscription cartridgeSubscription = new CartridgeSubscription();
+				populateSubscription(cartridgeSubscription, resultSet);
+				subscriptionList.add(cartridgeSubscription);
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+		return subscriptionList;
+	}
+
+	public static void updateSubscriptionState(int subscriptionId, String state) throws Exception {
+
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+
+		try {
+			con = StratosDBUtils.getConnection();
+			String sql = "UPDATE CARTRIDGE_SUBSCRIPTION SET STATE=? WHERE SUBSCRIPTION_ID=?";
+			statement = con.prepareStatement(sql);
+			statement.setString(1, state);
+			statement.setInt(2, subscriptionId);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing update: " + sql);
+			}
+			statement.executeUpdate();
+			con.commit();
+		} catch (Exception s) {
+			if (con != null) {
+				try {
+					con.rollback();
+				} catch (SQLException e) {
+					log.error("Failed to rollback", e);
+				}
+			}
+			;
+			String msg = "Error: " + s.getMessage();
+			log.error(msg, s);
+			throw s;
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+	}
+
+	public static Map<String, String> getCartridgeInstanceInfo(String[] ips, String clusterDomain, String clusterSubdomain)
+            throws Exception {
+		Map<String, String> instanceIpToStateMap = new HashMap<String, String>();
+		
+		Connection con = null;
+		PreparedStatement statement = null;
+		ResultSet resultSet = null;
+		
+		try {
+			con = StratosDBUtils.getConnection();
+			StringBuilder sqlBuilder = new StringBuilder(
+					"SELECT INSTANCE_IP, STATE FROM CARTRIDGE_INSTANCE WHERE INSTANCE_IP IN (");
+			for (int i = 0; i < ips.length; i++) {
+				if (i > 0) {
+					sqlBuilder.append(", ");
+				}
+				sqlBuilder.append("?");
+			}
+			sqlBuilder.append(") AND CLUSTER_DOMAIN=? AND CLUSTER_SUBDOMAIN=?");
+			String sql = sqlBuilder.toString();
+			
+			statement = con.prepareStatement(sql);
+			int i = 1;
+			for (int j = 0; j < ips.length; j++, i++) {
+				String ip = ips[j];
+				statement.setString(i, ip);
+			}
+			statement.setString(i++, clusterDomain);
+			statement.setString(i, clusterSubdomain);
+			if (log.isDebugEnabled()) {
+				log.debug("Executing query: " + sql);
+			}
+			resultSet = statement.executeQuery();
+			while (resultSet.next()) {
+				instanceIpToStateMap.put(resultSet.getString("INSTANCE_IP"), resultSet.getString("STATE"));
+			}
+		} catch (Exception s) {
+			String msg = "Error while sql connection :" + s.getMessage();
+			log.error(msg, s);
+			throw new Exception("Ann error occurred while listing cartridge information.");
+		} finally {
+			StratosDBUtils.closeAllConnections(con, statement, resultSet);
+		}
+		return instanceIpToStateMap;
+	}
+
+	public static String getSecurityKey() {
+		String securityKey = CartridgeConstants.DEFAULT_SECURITY_KEY;
+		OMElement documentElement = null;
+		File xmlFile = new File(CarbonUtils.getCarbonHome() + File.separator + "repository" + File.separator + "conf"
+				+ File.separator + CartridgeConstants.SECURITY_KEY_FILE);
+
+		if (xmlFile.exists()) {
+			try {
+				documentElement = new StAXOMBuilder(xmlFile.getPath()).getDocumentElement();
+			} catch (Exception ex) {
+				String msg = "Error occurred when parsing the " + xmlFile.getPath() + ".";
+				log.error(msg, ex);
+				ex.printStackTrace();
+			}
+			if (documentElement != null) {
+				Iterator<?> it = documentElement.getChildrenWithName(new QName(CartridgeConstants.SECURITY_KEY));
+				if (it.hasNext()) {
+					OMElement securityKeyElement = (OMElement) it.next();
+					SecretResolver secretResolver = SecretResolverFactory.create(documentElement, false);
+					String alias = securityKeyElement.getAttributeValue(new QName(CartridgeConstants.ALIAS_NAMESPACE,
+							CartridgeConstants.ALIAS_LOCALPART, CartridgeConstants.ALIAS_PREFIX));
+
+					if (secretResolver != null && secretResolver.isInitialized()
+							&& secretResolver.isTokenProtected(alias)) {
+						securityKey = "";
+						securityKey = secretResolver.resolve(alias);
+						// TODO : a proper testing on the secure vault protected
+						// user defined encryption key
+					}
+				}
+			}
+		} else {
+			System.out.println("No such file ezoxists");
+		}
+		return securityKey;
+	}
+
+	public static void updateInstanceState(String state, String[] ips, String clusterDomain, String clusterSubDomain, String cartridgeType)
+			throws Exception {
+
+		Connection con = null;
+		PreparedStatement statement = null;
+
+		if (ips != null && ips.length > 0) {
+			try {
+				con = StratosDBUtils.getConnection();
+				StringBuilder sqlBuilder = new StringBuilder(
+						"UPDATE CARTRIDGE_INSTANCE SET STATE=? WHERE INSTANCE_IP IN (");
+				for (int i = 0; i < ips.length; i++) {
+					if (i > 0) {
+						sqlBuilder.append(", ");
+					}
+					sqlBuilder.append("?");
+				}
+				sqlBuilder.append(") AND CLUSTER_DOMAIN=? AND CLUSTER_SUBDOMAIN=? AND CARTRIDGE_TYPE=?");
+				String sql = sqlBuilder.toString();
+				statement = con.prepareStatement(sql);
+				statement.setString(1, state);
+				int i = 2;
+				for (int j = 0; j < ips.length; j++, i++) {
+					String ip = ips[j];
+					statement.setString(i, ip);
+				}
+				statement.setString(i++, clusterDomain);
+				statement.setString(i++, clusterSubDomain);
+				statement.setString(i, cartridgeType);
+				if (log.isDebugEnabled()) {
+					log.debug("Executing query: " + sql);
+				}
+				statement.executeUpdate();
+				con.commit();
+			} catch (Exception s) {
+				if (con != null) {
+					try {
+						con.rollback();
+					} catch (SQLException e) {
+						log.error("Failed to rollback", e);
+					}
+				}
+				String msg = "Error: " + s.getMessage();
+				log.error(msg, s);
+				throw s;
+			} finally {
+				StratosDBUtils.closeAllConnections(con, statement);
+			}
+		}
+
+	}
+
+	private static String encryptPassword(String repoUserPassword) {
+		String encryptPassword = "";
+		String secret = getSecurityKey(); // secret key length must be 16
+		SecretKey key;
+		Cipher cipher;
+		Base64 coder;
+		key = new SecretKeySpec(secret.getBytes(), "AES");
+		try {
+			cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", "SunJCE");
+			coder = new Base64();
+			cipher.init(Cipher.ENCRYPT_MODE, key);
+			byte[] cipherText = cipher.doFinal(repoUserPassword.getBytes());
+			encryptPassword = new String(coder.encode(cipherText));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return encryptPassword;
+	}
+
+	private static String decryptPassword(String repoUserPassword) {
+		String decryptPassword = "";
+		String secret = getSecurityKey(); // secret key length must be 16
+		SecretKey key;
+		Cipher cipher;
+		Base64 coder;
+		key = new SecretKeySpec(secret.getBytes(), "AES");
+		try {
+			cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", "SunJCE");
+			coder = new Base64();
+			byte[] encrypted = coder.decode(repoUserPassword.getBytes());
+			cipher.init(Cipher.DECRYPT_MODE, key);
+			byte[] decrypted = cipher.doFinal(encrypted);
+			decryptPassword = new String(decrypted);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return decryptPassword;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/PolicyHolder.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/PolicyHolder.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/PolicyHolder.java
new file mode 100644
index 0000000..3a83a54
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/PolicyHolder.java
@@ -0,0 +1,289 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.utils;
+
+import java.io.File;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.XMLConstants;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.Source;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+import javax.xml.validation.Validator;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.impl.dom.DOOMAbstractFactory;
+import org.apache.axiom.om.impl.dom.ElementImpl;
+import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.adc.mgt.dto.Policy;
+import org.apache.stratos.adc.mgt.dto.PolicyDefinition;
+import org.jaxen.JaxenException;
+import org.w3c.dom.Element;
+import org.wso2.carbon.utils.CarbonUtils;
+import org.xml.sax.SAXException;
+
+import com.google.gson.Gson;
+
+public class PolicyHolder {
+
+	private static Log log = LogFactory.getLog(PolicyHolder.class);
+
+	private static final String POLICIES_ELEMENT = "policies";
+	private static final String POLICY_ELEMENT = "policy";
+
+	private static final String POLICIES_ELEMENT_XPATH = "/" + POLICIES_ELEMENT + "/" + POLICY_ELEMENT;
+
+	private static final String NAME_ATTR = "name";
+	private static final String IS_DEFAULT_ATTR = "isDefault";
+	private static final String DESCRIPTION_ELEMENT = "description";
+	private static final String MIN_APP_INSTANCES_ELEMENT = "min_app_instances";
+	private static final String MAX_APP_INSTANCES_ELEMENT = "max_app_instances";
+	private static final String MAX_REQUESTS_PER_SECOND_ELEMENT = "max_requests_per_second";
+	private static final String ALARMING_UPPER_RATE_ELEMENT = "alarming_upper_rate";
+	private static final String ALARMING_LOWER_RATE_ELEMENT = "alarming_lower_rate";
+	private static final String SCALE_DOWN_FACTOR_ELEMENT = "scale_down_factor";
+	private static final String ROUNDS_TO_AVERAGE_ELEMENT = "rounds_to_average";
+
+	private Map<String, Policy> policyMap = new HashMap<String, Policy>();
+
+	private Policy defaultPolicy;
+
+	private List<PolicyDefinition> policyDefinitions = new ArrayList<PolicyDefinition>();
+
+	private PolicyHolder(File policiesSchema, File policiesXML) {
+		try {
+			readPolicies(policiesSchema, policiesXML);
+		} catch (Exception e) {
+			log.error("Error reading policies", e);
+		}
+	}
+
+	private static class SingletonHolder {
+		private final static PolicyHolder INSTANCE = new PolicyHolder(new File(CarbonUtils.getCarbonConfigDirPath()
+				+ File.separator + "etc" + File.separator, "policies.xsd"), new File(
+				CarbonUtils.getCarbonConfigDirPath(), "policies.xml"));
+	}
+
+	public static PolicyHolder getInstance() {
+		return SingletonHolder.INSTANCE;
+	}
+
+	public Policy getPolicy(String policyName) {
+		return policyMap.get(policyName);
+	}
+
+	public Policy getDefaultPolicy() {
+		return defaultPolicy;
+	}
+
+	public List<PolicyDefinition> getPolicyDefinitions() {
+		return policyDefinitions;
+	}
+
+	private void readPolicies(File policiesSchema, File policiesXML) throws XMLStreamException, JaxenException,
+			SAXException, IOException {
+		if (log.isDebugEnabled()) {
+			log.debug("Policies schema: " + policiesSchema.getPath());
+			log.debug("Loading policies from file: " + policiesXML.getPath());
+		}
+		OMElement documentElement;
+		if (policiesXML.exists()) {
+			documentElement = new StAXOMBuilder(policiesXML.getPath()).getDocumentElement();
+		} else {
+			throw new IllegalStateException("Policies file cannot be found : " + policiesXML.getPath());
+		}
+
+		// Validate XML
+		validate(documentElement, policiesSchema);
+		
+		String xpath = POLICIES_ELEMENT_XPATH;
+
+		AXIOMXPath axiomXpath;
+		axiomXpath = new AXIOMXPath(xpath);
+		@SuppressWarnings("unchecked")
+		List<OMNode> policyNodes = axiomXpath.selectNodes(documentElement);
+
+		if (policyNodes == null || policyNodes.isEmpty()) {
+			log.warn("No policies found in the file : " + policiesXML.getPath());
+			return;
+		}
+
+		for (OMNode policyNode : policyNodes) {
+
+			if (policyNode.getType() == OMNode.ELEMENT_NODE) {
+
+				OMElement policyElement = (OMElement) policyNode;
+
+				try {
+					readPolicy(policyElement);
+				} catch (Exception e) {
+					log.error("Error reading policy", e);
+				}
+			}
+		}
+	}
+
+	private void readPolicy(OMElement policyElement) {
+		// retrieve attributes
+		String name = policyElement.getAttributeValue(new QName(NAME_ATTR));
+		boolean isDefault = Boolean.valueOf(policyElement.getAttributeValue(new QName(IS_DEFAULT_ATTR)));
+
+		Policy policy = new Policy();
+		policy.setName(name);
+		policy.setDefaultPolicy(isDefault);
+
+		// read description
+		Iterator<?> it = policyElement.getChildrenWithName(new QName(DESCRIPTION_ELEMENT));
+
+		if (it.hasNext()) {
+			OMElement element = (OMElement) it.next();
+			policy.setDescription(element.getText());
+		}
+
+		// read min_app_instances
+		it = policyElement.getChildrenWithName(new QName(MIN_APP_INSTANCES_ELEMENT));
+
+		if (it.hasNext()) {
+			OMElement element = (OMElement) it.next();
+			policy.setMinAppInstances(Integer.parseInt(element.getText()));
+		}
+
+		// read max_app_instances
+		it = policyElement.getChildrenWithName(new QName(MAX_APP_INSTANCES_ELEMENT));
+
+		if (it.hasNext()) {
+			OMElement element = (OMElement) it.next();
+			policy.setMaxAppInstances(Integer.parseInt(element.getText()));
+		}
+
+		// read max_requests_per_second
+		it = policyElement.getChildrenWithName(new QName(MAX_REQUESTS_PER_SECOND_ELEMENT));
+
+		if (it.hasNext()) {
+			OMElement element = (OMElement) it.next();
+			policy.setMaxRequestsPerSecond(Integer.parseInt(element.getText()));
+		}
+
+		// read rounds_to_average
+		it = policyElement.getChildrenWithName(new QName(ROUNDS_TO_AVERAGE_ELEMENT));
+
+		if (it.hasNext()) {
+			OMElement element = (OMElement) it.next();
+			policy.setRoundsToAverage(Integer.parseInt(element.getText()));
+		}
+
+		// read alarming_upper_rate
+		it = policyElement.getChildrenWithName(new QName(ALARMING_UPPER_RATE_ELEMENT));
+
+		if (it.hasNext()) {
+			OMElement element = (OMElement) it.next();
+			policy.setAlarmingUpperRate(new BigDecimal(element.getText()));
+		}
+
+		// read alarming_lower_rate
+		it = policyElement.getChildrenWithName(new QName(ALARMING_LOWER_RATE_ELEMENT));
+
+		if (it.hasNext()) {
+			OMElement element = (OMElement) it.next();
+			policy.setAlarmingLowerRate(new BigDecimal(element.getText()));
+		}
+
+		// read scale_down_factor
+		it = policyElement.getChildrenWithName(new QName(SCALE_DOWN_FACTOR_ELEMENT));
+
+		if (it.hasNext()) {
+			OMElement element = (OMElement) it.next();
+			policy.setScaleDownFactor(new BigDecimal(element.getText()));
+		}
+		if (log.isDebugEnabled()) {
+			log.debug("Policy: " + new Gson().toJson(policy));
+		}
+
+		policyMap.put(policy.getName(), policy);
+		PolicyDefinition policyDefinition = new PolicyDefinition();
+		policyDefinition.setName(policy.getName());
+		policyDefinition.setDescription(policy.getDescription());
+		policyDefinition.setDefaultPolicy(policy.isDefaultPolicy());
+		policyDefinitions.add(policyDefinition);
+		
+		// Set first default policy
+		if (defaultPolicy == null && policy.isDefaultPolicy()) {
+			defaultPolicy = policy;
+		}
+	}
+	
+	// TODO Following code is copied from
+	// org.wso2.carbon.stratos.cloud.controller.axiom.AxiomXpathParser
+	// There should be a common util to validate XML using a schema.
+	public void validate(final OMElement omElement, final File schemaFile) throws SAXException, IOException {
+
+		Element sourceElement;
+
+		// if the OMElement is created using DOM implementation use it
+		if (omElement instanceof ElementImpl) {
+			sourceElement = (Element) omElement;
+		} else { // else convert from llom to dom
+			sourceElement = getDOMElement(omElement);
+		}
+
+		// Create a SchemaFactory capable of understanding WXS schemas.
+
+		// Load a WXS schema, represented by a Schema instance.
+		SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+		Source source = new StreamSource(schemaFile);
+
+		// Create a Validator object, which can be used to validate
+		// an instance document.
+		Schema schema = factory.newSchema(source);
+		Validator validator = schema.newValidator();
+
+		// Validate the DOM tree.
+		validator.validate(new DOMSource(sourceElement));
+	}
+
+	private Element getDOMElement(final OMElement omElement) {
+
+		// Get the StAX reader from the created element
+		XMLStreamReader llomReader = omElement.getXMLStreamReader();
+
+		// Create the DOOM OMFactory
+		OMFactory doomFactory = DOOMAbstractFactory.getOMFactory();
+
+		// Create the new builder
+		StAXOMBuilder doomBuilder = new StAXOMBuilder(doomFactory, llomReader);
+
+		// Get the document element
+		OMElement newElem = doomBuilder.getDocumentElement();
+
+		return newElem instanceof Element ? (Element) newElem : null;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/RepositoryCreator.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/RepositoryCreator.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/RepositoryCreator.java
new file mode 100644
index 0000000..30f8149
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/RepositoryCreator.java
@@ -0,0 +1,266 @@
+package org.apache.stratos.adc.mgt.utils;
+
+import com.gitblit.Constants;
+import com.gitblit.models.RepositoryModel;
+import com.gitblit.utils.RpcUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.adc.mgt.dao.Repository;
+import org.apache.stratos.adc.mgt.exception.ADCException;
+import org.apache.stratos.adc.mgt.service.RepositoryInfoBean;
+import org.eclipse.jgit.api.*;
+import org.eclipse.jgit.storage.file.FileRepository;
+import org.eclipse.jgit.transport.CredentialsProvider;
+import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.UUID;
+
+public class RepositoryCreator implements Runnable {
+
+	private static final Log log = LogFactory.getLog(RepositoryCreator.class);
+	private RepositoryInfoBean repoInfoBean;
+
+	public RepositoryCreator(RepositoryInfoBean repoInfoBean) {
+		this.repoInfoBean = repoInfoBean;
+	}
+
+	@Override
+	public void run() {
+
+		if (repoInfoBean != null) {
+			try {
+				createRepository(repoInfoBean.getCartridgeAlias(), repoInfoBean.getTenantDomain(),
+				                 repoInfoBean.getUserName(), repoInfoBean.getPassword());
+				createGitFolderStructure(repoInfoBean.getTenantDomain(),
+				                         repoInfoBean.getCartridgeAlias(),
+				                         repoInfoBean.getDirArray());
+
+			} catch (Exception e) {
+				log.error(e);
+			}
+		}
+	}
+
+    //Creating the internal repo in the same thread as subscribe()
+    public void createInternalRepository () throws Exception {
+
+        if (repoInfoBean != null) {
+            try {
+                createRepository(repoInfoBean.getCartridgeAlias(), repoInfoBean.getTenantDomain(),
+                        repoInfoBean.getUserName(), repoInfoBean.getPassword());
+                
+				if (repoInfoBean.getDirArray() != null && repoInfoBean.getDirArray().length > 0) {
+					createGitFolderStructure(repoInfoBean.getTenantDomain(),
+					                         repoInfoBean.getCartridgeAlias(),
+					                         repoInfoBean.getDirArray());
+				}
+
+            } catch (Exception e) {
+                String errorMsg = "Creating an internal repository failed for tenant " + repoInfoBean.getTenantDomain();
+                log.error(errorMsg, e);
+                throw new Exception(errorMsg, e);
+            }
+        }
+    }
+
+	private Repository createRepository(String cartridgeName, String tenantDomain, String userName, String password)
+	                                                                                               throws Exception {
+
+		Repository repository = new Repository();
+		String repoName = tenantDomain + "/" + cartridgeName;
+
+		try {
+			
+			log.info("Creating internal repo ["+repoName+"] ");
+
+			RepositoryModel model = new RepositoryModel();
+			model.name = repoName;
+			model.accessRestriction = Constants.AccessRestrictionType.VIEW;
+
+			char[] passwordArr = password.toCharArray();
+
+			boolean isSuccess =
+			                    RpcUtils.createRepository(model,
+			                                              "https://localhost:8443/",
+			                                              userName, passwordArr);
+			if (!isSuccess) {
+				throw new Exception("Exception is occurred when creating an internal git repo. ");
+			}
+		} catch (Exception e) {
+			log.error(" Exception is occurred when creating an internal git repo. Reason :" +
+			          e.getMessage());
+			handleException(e.getMessage(), e);
+		}
+
+		return repository;
+
+	}
+
+	private void createGitFolderStructure(String tenantDomain, String cartridgeName,
+	                                      String[] dirArray) throws Exception {
+		
+		if (log.isDebugEnabled()) {
+			log.debug("Creating git repo folder structure  ");
+		}		
+		
+		String parentDirName = "/tmp/" + UUID.randomUUID().toString();
+		CredentialsProvider credentialsProvider =
+		                                          new UsernamePasswordCredentialsProvider(
+		                                                                                  System.getProperty(CartridgeConstants.INTERNAL_GIT_USERNAME),
+		                                                                                  System.getProperty(CartridgeConstants.INTERNAL_GIT_PASSWORD).toCharArray());
+		// Clone
+		// --------------------------
+		FileRepository localRepo = null;
+		try {
+			localRepo = new FileRepository(new File(parentDirName + "/.git"));
+		} catch (IOException e) {
+			log.error("Exception occurred in creating a new file repository. Reason: " + e.getMessage());
+			throw e;
+		}
+
+		Git git = new Git(localRepo);
+
+		CloneCommand cloneCmd =
+		                        git.cloneRepository()
+		                           .setURI("https://localhost:8443/git/" + tenantDomain + "/" +
+		                                           cartridgeName + ".git")
+		                           .setDirectory(new File(parentDirName));
+
+		cloneCmd.setCredentialsProvider(credentialsProvider);
+		try {
+			log.debug("Clonning git repo");
+			cloneCmd.call();
+		} catch (Exception e1) {
+			log.error("Exception occurred in cloning Repo. Reason: " + e1.getMessage());
+			throw e1;
+		}
+		// ------------------------------------
+
+		// --- Adding directory structure --------
+
+		File parentDir = new File(parentDirName);
+		parentDir.mkdir();
+
+		for (String string : dirArray) {
+			String[] arr = string.split("=");
+			if (log.isDebugEnabled()) {
+				log.debug("Creating dir: " + arr[0]);
+			}
+			File parentFile = new File(parentDirName + "/" + arr[0]);
+			parentFile.mkdirs();
+
+			File filess = new File(parentFile, "README");
+			String content = "Content goes here";
+
+			filess.createNewFile();
+			FileWriter fw = new FileWriter(filess.getAbsoluteFile());
+			BufferedWriter bw = new BufferedWriter(fw);
+			bw.write(content);
+			bw.close();
+		}
+		// ----------------------------------------------------------
+
+		// ---- Git status ---------------
+		StatusCommand s = git.status();
+		Status status = null;
+		try {
+			log.debug("Getting git repo status");
+			status = s.call();
+		} catch (Exception e) {
+			log.error("Exception occurred in git status check. Reason: " + e.getMessage());
+			throw e;
+		}
+		// --------------------------------
+
+		// ---------- Git add ---------------
+		AddCommand addCmd = git.add();
+		Iterator<String> it = status.getUntracked().iterator();
+
+		while (it.hasNext()) {
+			addCmd.addFilepattern(it.next());
+		}
+
+		try {
+			log.debug("Adding files to git repo");
+			addCmd.call();
+		} catch (Exception e) {
+			log.error("Exception occurred in adding files. Reason: " + e.getMessage());
+			throw e;
+		}
+		// -----------------------------------------
+
+		// ------- Git commit -----------------------
+
+		CommitCommand commitCmd = git.commit();
+		commitCmd.setMessage("Adding directories");
+
+		try {
+			log.debug("Committing git repo");
+			commitCmd.call();
+		} catch (Exception e) {
+			log.error("Exception occurred in committing . Reason: " + e.getMessage());
+			throw e;
+		}
+		// --------------------------------------------
+
+		// --------- Git push -----------------------
+		PushCommand pushCmd = git.push();
+		pushCmd.setCredentialsProvider(credentialsProvider);
+		try {
+			log.debug("Git repo push");
+			pushCmd.call();
+		} catch (Exception e) {
+			log.error("Exception occurred in Git push . Reason: " + e.getMessage());
+			throw e;
+		}
+
+		try {
+			deleteDirectory(new File(parentDirName));
+		} catch (Exception e) {
+			log.error("Exception occurred in deleting temp files. Reason: " + e.getMessage());
+			throw e;
+		}
+
+		log.info(" Folder structure  is created ..... ");
+
+	}
+
+	private void handleException(String msg, Exception e) throws Exception {
+		log.error(msg, e);
+		throw new Exception(msg, e);
+	}
+
+	private void deleteDirectory(File file) throws IOException {
+
+		if (file.isDirectory()) {
+			// directory is empty, then delete it
+			if (file.list().length == 0) {
+				file.delete();
+
+			} else {
+				// list all the directory contents
+				String files[] = file.list();
+
+				for (String temp : files) {
+					// construct the file structure
+					File fileDelete = new File(file, temp);
+					// recursive delete
+					deleteDirectory(fileDelete);
+				}
+				// check the directory again, if empty then delete it
+				if (file.list().length == 0) {
+					file.delete();
+				}
+			}
+
+		} else {
+			// if file, then delete it
+			file.delete();
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/RepositoryFactory.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/RepositoryFactory.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/RepositoryFactory.java
new file mode 100644
index 0000000..d0dd919
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/RepositoryFactory.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.utils;
+
+import java.io.File;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.adc.mgt.dao.Repository;
+import org.apache.stratos.adc.mgt.service.ApplicationManagementService;
+import org.wso2.carbon.utils.CarbonUtils;
+
+/**
+ * @author wso2
+ * 
+ */
+public class RepositoryFactory {
+
+	private static final Log log = LogFactory.getLog(ApplicationManagementService.class);
+
+	/*public synchronized Repository createRepository(String cartridgeName, String tenantDomain,
+	                                          String userName) throws Exception {
+
+		Repository repository = new Repository();
+		String repoName = tenantDomain + "/" + cartridgeName; // removed .git part
+		String repoUserName = userName + "@" + tenantDomain;
+
+		Process proc;
+		try {
+
+			String command =
+			                 CarbonUtils.getCarbonHome() + File.separator + "bin" + File.separator +
+			                         "manage-git-repo.sh " + "create " + repoUserName + " " +
+			                         tenantDomain + " " + cartridgeName + " " +
+			                         System.getProperty(CartridgeConstants.REPO_NOTIFICATION_URL) + " " +
+			                         System.getProperty(CartridgeConstants.GIT_HOST_NAME) +
+			                         " /";
+			proc = Runtime.getRuntime().exec(command);
+			log.info("executing manage-git-repo script..... command :" + command);
+			proc.waitFor();
+			log.info(" Repo is created ..... for user: " + userName + ", tenantName: " +
+			         tenantDomain + " ");
+			repository.setRepoName("git@" + System.getProperty(CartridgeConstants.GIT_HOST_NAME) + ":" +repoName);
+		} catch (Exception e) {
+			log.error(" Exception is occurred when executing manage-git-repo script. Reason :" +
+			          e.getMessage());
+			handleException(e.getMessage(), e);
+		}
+
+		return repository;
+
+	}*/
+
+	/*public synchronized void createGitFolderStructure(String tenantDomain, String cartridgeName,
+	                                            String[] dirArray) throws Exception {
+
+		log.info("In create Git folder structure...!");
+
+		StringBuffer dirBuffer = new StringBuffer();
+		for (String dir : dirArray) {
+			dirBuffer.append(dir).append(" ");
+		}
+
+		Process proc;
+		try {
+			String command =
+			                 CarbonUtils.getCarbonHome() + File.separator + "bin" + File.separator +
+			                         "git-folder-structure.sh " + tenantDomain + " " +
+			                         cartridgeName + " " + dirBuffer.toString() + " /";
+			proc = Runtime.getRuntime().exec(command);
+			log.info("executing manage-git-repo script..... command : " + command);
+			proc.waitFor();
+
+		} catch (Exception e) {
+			log.error(" Exception is occurred when executing manage-git-repo script. Reason :" +
+			          e.getMessage());
+			handleException(e.getMessage(), e);
+		}
+
+		log.info(" Folder structure  is created ..... ");
+
+	}*/
+	
+	public synchronized void destroyRepository(String cartridgeName, String tenantDomain,
+	                                          String userName) throws Exception {
+
+		String repoUserName = userName + "@" + tenantDomain;
+
+		Process proc;
+		try {
+
+			String command =
+			                 CarbonUtils.getCarbonHome() + File.separator + "bin" + File.separator +
+			                         "manage-git-repo.sh " + "destroy " + repoUserName + " " +
+			                         tenantDomain + " " + cartridgeName + 
+			                         " /";
+			proc = Runtime.getRuntime().exec(command);
+			log.info("executing manage-git-repo script (destroy)..... command :" + command);
+			proc.waitFor();
+			log.info(" Repo is destroyed ..... for user: " + userName + ", tenantName: " +
+			         tenantDomain + " ");
+		} catch (Exception e) {
+			log.error(" Exception is occurred when destroying git repo. Reason :" +
+			          e.getMessage());
+			handleException(e.getMessage(), e);
+		}
+
+	}
+
+	private void handleException(String msg, Exception e) throws Exception {
+		log.error(msg, e);
+		throw new Exception(msg, e);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/StratosDBUtils.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/StratosDBUtils.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/StratosDBUtils.java
new file mode 100644
index 0000000..7a4736d
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/StratosDBUtils.java
@@ -0,0 +1,210 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.utils;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.tomcat.jdbc.pool.DataSource;
+import org.apache.tomcat.jdbc.pool.PoolProperties;
+
+public final class StratosDBUtils {
+
+	private static final Log log = LogFactory.getLog(StratosDBUtils.class);
+
+	private static volatile javax.sql.DataSource dataSource = null;
+
+	/**
+	 * Initializes the data source
+	 * 
+	 * @throws RuntimeException
+	 *             if an error occurs while loading DB configuration
+	 */
+	public static void initialize() throws Exception {
+		if (dataSource != null) {
+			return;
+		}
+
+		synchronized (StratosDBUtils.class) {
+			if (dataSource == null) {
+
+				String datasourceName = System.getProperty(CartridgeConstants.DB_DATASOURCE);
+
+				if (datasourceName != null && datasourceName.trim().length() > 0) {
+					if (log.isInfoEnabled()) {
+						log.info("Initializing data source: " + datasourceName);
+					}
+					try {
+						Context ctx = new InitialContext();
+						dataSource = (DataSource) ctx.lookup(datasourceName);
+						if (dataSource != null && log.isInfoEnabled()) {
+							log.info("Found data source: " + datasourceName + ", " + dataSource.getClass().getName());
+						}
+					} catch (NamingException e) {
+						throw new RuntimeException("Error while looking up the data source: " + datasourceName, e);
+					}
+				} else {
+					// FIXME Should we use system properties to get database
+					// details?
+					String dbUrl = System.getProperty(CartridgeConstants.DB_URL);
+					String driver = System.getProperty(CartridgeConstants.DB_DRIVER);
+					String username = System.getProperty(CartridgeConstants.DB_USERNAME);
+					String password = System.getProperty(CartridgeConstants.DB_PASSWORD);
+
+					if (dbUrl == null || driver == null || username == null || password == null) {
+						String msg = "Required DB configuration parameters are not specified.";
+						log.warn(msg);
+						throw new RuntimeException(msg);
+					}
+					
+					if (log.isInfoEnabled()) {
+						log.info("Initializing data source for JDBC URL: " + dbUrl);
+					}
+
+					PoolProperties p = new PoolProperties();
+					p.setUrl(dbUrl);
+					p.setDriverClassName(driver);
+					p.setUsername(username);
+					p.setPassword(password);
+					p.setJmxEnabled(true);
+					p.setTestWhileIdle(false);
+					p.setTestOnBorrow(true);
+					p.setValidationQuery("SELECT 1");
+					p.setTestOnReturn(false);
+					p.setValidationInterval(30000);
+					p.setTimeBetweenEvictionRunsMillis(30000);
+					p.setMaxActive(100);
+					p.setInitialSize(10);
+					p.setMaxWait(10000);
+					p.setRemoveAbandonedTimeout(60);
+					p.setMinEvictableIdleTimeMillis(30000);
+					p.setMinIdle(10);
+					p.setLogAbandoned(true);
+					p.setRemoveAbandoned(true);
+					p.setDefaultAutoCommit(false);
+					p.setJdbcInterceptors("org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;"
+							+ "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer");
+					DataSource tomcatDatasource = new DataSource();
+					tomcatDatasource.setPoolProperties(p);
+
+					dataSource = tomcatDatasource;
+				}
+
+			}
+		}
+	}
+
+	/**
+	 * Utility method to get a new database connection
+	 * 
+	 * @return Connection
+	 * @throws java.sql.SQLException
+	 *             if failed to get Connection
+	 */
+	public static Connection getConnection() throws SQLException {
+		if (dataSource != null) {
+			return dataSource.getConnection();
+		}
+		throw new SQLException("Datasource is not configured properly.");
+	}
+
+	/**
+	 * Utility method to close the connection streams.
+	 * 
+	 * @param connection
+	 *            Connection
+	 * @param preparedStatement
+	 *            PreparedStatement
+	 * @param resultSet
+	 *            ResultSet
+	 */
+	public static void closeAllConnections(Connection connection, PreparedStatement preparedStatement,
+			ResultSet resultSet) {
+		closeResultSet(resultSet);
+		closeStatement(preparedStatement);
+		closeConnection(connection);
+	}
+
+	public static void closeAllConnections(Connection connection, PreparedStatement... preparedStatements) {
+		for (PreparedStatement preparedStatement : preparedStatements) {
+			closeStatement(preparedStatement);
+		}
+		closeConnection(connection);
+	}
+
+	/**
+	 * Close Connection
+	 * 
+	 * @param dbConnection
+	 *            Connection
+	 */
+	public static void closeConnection(Connection dbConnection) {
+		if (dbConnection != null) {
+			try {
+				dbConnection.close();
+			} catch (SQLException e) {
+				log.warn(
+						"Database error. Could not close database connection. Continuing with " + "others. - "
+								+ e.getMessage(), e);
+			}
+		}
+	}
+
+	/**
+	 * Close ResultSet
+	 * 
+	 * @param resultSet
+	 *            ResultSet
+	 */
+	public static void closeResultSet(ResultSet resultSet) {
+		if (resultSet != null) {
+			try {
+				resultSet.close();
+			} catch (SQLException e) {
+				log.warn("Database error. Could not close ResultSet  - " + e.getMessage(), e);
+			}
+		}
+
+	}
+
+	/**
+	 * Close PreparedStatement
+	 * 
+	 * @param preparedStatement
+	 *            PreparedStatement
+	 */
+	public static void closeStatement(PreparedStatement preparedStatement) {
+		if (preparedStatement != null) {
+			try {
+				preparedStatement.close();
+			} catch (SQLException e) {
+				log.warn(
+						"Database error. Could not close PreparedStatement. Continuing with" + " others. - "
+								+ e.getMessage(), e);
+			}
+		}
+
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/SynchronizeRepositoryRequest.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/SynchronizeRepositoryRequest.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/SynchronizeRepositoryRequest.java
new file mode 100644
index 0000000..6905a51
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/utils/SynchronizeRepositoryRequest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.utils;
+
+import org.apache.axis2.clustering.ClusteringCommand;
+import org.apache.axis2.clustering.ClusteringFault;
+import org.apache.axis2.clustering.ClusteringMessage;
+import org.apache.axis2.clustering.management.GroupManagementCommand;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.engine.AxisConfigurator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.util.tracker.ServiceTracker;
+import org.wso2.carbon.core.CarbonAxisConfigurator;
+import org.wso2.carbon.core.internal.CarbonCoreDataHolder;
+import org.wso2.carbon.core.multitenancy.TenantAxisConfigurator;
+import org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils;
+import org.wso2.carbon.utils.CarbonUtils;
+import org.wso2.carbon.utils.deployment.GhostDeployerUtils;
+import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
+import org.wso2.carbon.utils.multitenancy.MultitenantUtils;
+
+import java.util.UUID;
+
+/**
+ * ClusterMessage for sending a deployment repository synchronization request
+ */
+public class SynchronizeRepositoryRequest extends GroupManagementCommand {
+
+	/**
+     * 
+     */
+	private static final long serialVersionUID = 8717694086109561127L;
+
+	private transient static final Log log = LogFactory.getLog(SynchronizeRepositoryRequest.class);
+	private int tenantId;
+	private String tenantDomain;
+	private UUID messageId;
+
+	public SynchronizeRepositoryRequest() {
+	}
+
+	public SynchronizeRepositoryRequest(int tenantId, String tenantDomain, UUID messageId) {
+		this.tenantId = tenantId;
+		this.tenantDomain = tenantDomain;
+		this.messageId = messageId;
+	}
+
+	public void setTenantId(int tenantId) {
+		this.tenantId = tenantId;
+	}
+
+	public void execute(ConfigurationContext configContext) throws ClusteringFault {
+		log.info("Received  [" + this + "] ");
+		// Run only if the tenant is loaded
+		if (tenantId == MultitenantConstants.SUPER_TENANT_ID ||
+		    TenantAxisUtils.getTenantConfigurationContexts(configContext).get(tenantDomain) != null) {
+			updateDeploymentRepository(configContext);
+			doDeployment(configContext);
+		}
+	}
+
+	private void doDeployment(ConfigurationContext configContext) {
+		AxisConfigurator axisConfigurator = configContext.getAxisConfiguration().getConfigurator();
+		if (axisConfigurator instanceof CarbonAxisConfigurator) {
+			((CarbonAxisConfigurator) axisConfigurator).runDeployment();
+		} else if (axisConfigurator instanceof TenantAxisConfigurator) {
+			((TenantAxisConfigurator) axisConfigurator).runDeployment();
+		}
+	}
+
+	private void updateDeploymentRepository(ConfigurationContext configContext) {
+
+		log.info(" Update Deployment Repo...");
+		/*
+		 * BundleContext bundleContext =
+		 * CarbonCoreDataHolder.getInstance().getBundleContext();
+		 * ServiceReference reference =
+		 * bundleContext.getServiceReference(DeploymentSynchronizer.class.getName
+		 * ());
+		 * if (reference != null) {
+		 * ServiceTracker serviceTracker =
+		 * new ServiceTracker(bundleContext,
+		 * DeploymentSynchronizer.class.getName(), null);
+		 * try {
+		 * serviceTracker.open();
+		 * for (Object obj : serviceTracker.getServices()) {
+		 * // if the update is for worker node with ghost ON, then we will
+		 * update the
+		 * // whole repo for now. See CARBON-13899
+		 * if (GhostDeployerUtils.isGhostOn() && CarbonUtils.isWorkerNode() &&
+		 * tenantId > 0) {
+		 * String repoPath = MultitenantUtils.getAxis2RepositoryPath(tenantId);
+		 * ((DeploymentSynchronizer) obj).update(repoPath, repoPath, 3);
+		 * } else {
+		 * ((DeploymentSynchronizer) obj).update(tenantId);
+		 * }
+		 * }
+		 * } catch (Exception e) {
+		 * log.error("Repository update failed for tenant " + tenantId, e);
+		 * setRepoUpdateFailed(configContext);
+		 * } finally {
+		 * serviceTracker.close();
+		 * }
+		 * }
+		 */
+	}
+
+	private void setRepoUpdateFailed(ConfigurationContext configContext) {
+		AxisConfigurator axisConfigurator = configContext.getAxisConfiguration().getConfigurator();
+		if (axisConfigurator instanceof CarbonAxisConfigurator) {
+			((CarbonAxisConfigurator) axisConfigurator).setRepoUpdateFailed();
+		} else if (axisConfigurator instanceof TenantAxisConfigurator) {
+			((TenantAxisConfigurator) axisConfigurator).setRepoUpdateFailed();
+		}
+	}
+
+	public ClusteringCommand getResponse() {
+		return null;
+	}
+
+	@Override
+	public String toString() {
+		return "SynchronizeRepositoryRequest{" + "tenantId=" + tenantId + ", tenantDomain='" +
+		       tenantDomain + '\'' + ", messageId=" + messageId + '}';
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/resources/META-INF/services.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/resources/META-INF/services.xml b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/resources/META-INF/services.xml
new file mode 100644
index 0000000..a7ddc11
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/resources/META-INF/services.xml
@@ -0,0 +1,86 @@
+<!-- ~ Copyright WSO2 Inc. (http://www.wso2.com) All Rights
+	Reserved. ~ ~ WSO2 Inc. 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. -->
+<serviceGroup>
+	<service name="ApplicationManagementService" scope="transportsession">
+		<transports>
+			<transport>https</transport>
+		</transports>
+		<description>
+			Admin service for ADC activities
+		</description>
+		<parameter name="ServiceClass">org.apache.stratos.adc.mgt.service.ApplicationManagementService
+        </parameter>
+		<parameter name="enableMTOM">true</parameter>
+		<parameter name="adminService" locked="true">true</parameter>
+		<parameter name="hiddenService" locked="true">true</parameter>
+		<parameter name="AuthorizationAction" locked="true">
+			/permission/admin/manage/modify/webapp    </parameter>
+		<parameter name="DoAuthentication" locked="true">true</parameter>
+	</service>
+
+	<service name="RepoNotificationService" scope="transportsession">
+		<schema schemaNamespace="http://org.apache.axis2/xsd"
+			elementFormDefaultQualified="true" />
+		<transports>
+			<transport>https</transport>
+		</transports>
+		<description>
+			Admin service for receiving git repo update notifications
+		</description>
+		<parameter name="ServiceClass">org.apache.stratos.adc.mgt.service.RepoNotificationService
+		</parameter>
+		<parameter name="enableMTOM">true</parameter>
+		<parameter name="adminService" locked="true">false</parameter>
+		<parameter name="hiddenService" locked="true">false</parameter>
+		<parameter name="AuthorizationAction" locked="false">
+			/permission/admin/manage/modify/webapp
+    </parameter>
+	</service>
+
+	<service name="RepositoryInformationService" scope="transportsession">
+		<schema schemaNamespace="http://org.apache.axis2/xsd"
+			elementFormDefaultQualified="true" />
+		<transports>
+			<transport>https</transport>
+		</transports>
+		<description>
+			Exposes information related to internally created
+			repositories
+        </description>
+		<parameter name="ServiceClass">org.apache.stratos.adc.mgt.service.RepositoryInformationService
+		</parameter>
+		<parameter name="enableMTOM">true</parameter>
+		<parameter name="adminService" locked="true">false</parameter>
+		<parameter name="hiddenService" locked="true">false</parameter>
+		<parameter name="AuthorizationAction" locked="false">
+			/permission/admin/manage/modify/webapp
+    	</parameter>
+	</service>
+
+	<service name="InstanceInformationManagementService" scope="transportsession">
+		<schema schemaNamespace="http://org.apache.axis2/xsd"
+			elementFormDefaultQualified="true" />
+		<transports>
+			<transport>https</transport>
+		</transports>
+		<description>
+			Exposes information related to internally created
+			repositories
+        </description>
+		<parameter name="ServiceClass">org.apache.stratos.adc.mgt.service.InstanceInformationManagementService</parameter>
+		<parameter name="enableMTOM">true</parameter>
+		<parameter name="adminService" locked="true">false</parameter>
+		<parameter name="hiddenService" locked="true">false</parameter>
+		<parameter name="AuthorizationAction" locked="false">
+			/permission/admin/manage/modify/webapp
+    	</parameter>
+	</service>
+
+</serviceGroup>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/resources/policies.xsd
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/resources/policies.xsd b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/resources/policies.xsd
new file mode 100644
index 0000000..87f7b58
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/resources/policies.xsd
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema attributeFormDefault="unqualified"
+	elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+	<xs:element name="policies">
+		<xs:annotation>
+			<xs:documentation>Use below section to specify auto-scaling policies
+				for cartridges.
+			</xs:documentation>
+		</xs:annotation>
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="policy" maxOccurs="unbounded"
+					minOccurs="1">
+					<xs:annotation>
+						<xs:documentation>You can have 1..n policy elements.
+						</xs:documentation>
+					</xs:annotation>
+					<xs:complexType>
+						<xs:sequence>
+							<xs:element type="xs:string" name="description" />
+							<xs:element type="xs:integer" name="min_app_instances" />
+							<xs:element type="xs:integer" name="max_app_instances" />
+							<xs:element type="xs:integer" name="max_requests_per_second" />
+							<xs:element type="xs:decimal" name="alarming_upper_rate" />
+							<xs:element type="xs:decimal" name="alarming_lower_rate" />
+							<xs:element type="xs:decimal" name="scale_down_factor" />
+							<xs:element type="xs:integer" name="rounds_to_average" />
+						</xs:sequence>
+						<xs:attribute type="xs:string" name="name" use="required" />
+						<xs:attribute type="xs:boolean" name="isDefault" use="required" />
+					</xs:complexType>
+				</xs:element>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+</xs:schema>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/scripts/append_zone_file.sh
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/scripts/append_zone_file.sh b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/scripts/append_zone_file.sh
new file mode 100755
index 0000000..45491df
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/scripts/append_zone_file.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+echo "subdomain $1 and ip $2 added to $3"
+appending_file=$3
+subdomain=$1
+ip=$2
+
+#appending the zone file
+echo $subdomain'\t'IN'\t'A'\t'$ip>> $appending_file
+
+#increasing the count
+for file in $appending_file;
+do
+  if [ -f $file ];
+  then
+    OLD=`egrep -ho "2010-9[0-9]*" $file`
+    NEW=$(($OLD + 1))
+    sed -i "s/$OLD/$NEW/g" $file
+    echo "fixed $file" 
+  fi
+done
+
+
+#reloading bind server
+/etc/init.d/bind9 reload

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/java/org/apache/stratos/adc/mgt/test/PolicyHolderTest.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/java/org/apache/stratos/adc/mgt/test/PolicyHolderTest.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/java/org/apache/stratos/adc/mgt/test/PolicyHolderTest.java
new file mode 100644
index 0000000..ba350aa
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/java/org/apache/stratos/adc/mgt/test/PolicyHolderTest.java
@@ -0,0 +1,63 @@
+package org.apache.stratos.adc.mgt.test;
+
+import java.io.File;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import junit.framework.TestCase;
+
+import org.apache.stratos.adc.mgt.utils.PolicyHolder;
+
+public class PolicyHolderTest extends TestCase {
+
+	private PolicyHolder getPolicyHolder(String policiesXMLFile) {
+		File policiesXmlSchema = new File("src/main/resources/policies.xsd");
+		String dir = "src/test/resources/";
+
+		Class<PolicyHolder> clazz = PolicyHolder.class;
+
+		Constructor<PolicyHolder> c;
+		try {
+			c = clazz.getDeclaredConstructor(File.class, File.class);
+			c.setAccessible(true);
+		} catch (NoSuchMethodException e) {
+			throw new RuntimeException(e);
+		} catch (SecurityException e) {
+			throw new RuntimeException(e);
+		}
+		PolicyHolder policyHolder;
+		try {
+			policyHolder = c.newInstance(policiesXmlSchema, new File(dir, policiesXMLFile));
+		} catch (InstantiationException e) {
+			throw new RuntimeException(e);
+		} catch (IllegalAccessException e) {
+			throw new RuntimeException(e);
+		} catch (IllegalArgumentException e) {
+			throw new RuntimeException(e);
+		} catch (InvocationTargetException e) {
+			throw new RuntimeException(e);
+		}
+		return policyHolder;
+	}
+
+	public void testDefaultPolicy() {
+		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
+		assertNotNull(policyHolder);
+		assertNotNull(policyHolder.getDefaultPolicy());
+	}
+	
+	
+	public void testSinglePolicy() {
+		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
+		assertNotNull(policyHolder);
+		assertNotNull(policyHolder.getPolicy("single"));
+		assertEquals("single", policyHolder.getPolicy("single").getName());
+	}
+	
+	public void testElasticPolicy() {
+		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
+		assertNotNull(policyHolder);
+		assertNotNull(policyHolder.getPolicy("elastic"));
+		assertEquals("elastic", policyHolder.getPolicy("elastic").getName());
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/resources/log4j.properties b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/resources/log4j.properties
new file mode 100644
index 0000000..d30536d
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/resources/log4j.properties
@@ -0,0 +1,8 @@
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.Target=System.out
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1} [%t] %n%m%n
+
+#Loggers
+log4j.rootLogger=info, console
+log4j.logger.org.apache.stratos.adc.mgt=trace
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/resources/policies-1.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/resources/policies-1.xml b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/resources/policies-1.xml
new file mode 100644
index 0000000..7dd37d5
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/test/resources/policies-1.xml
@@ -0,0 +1,22 @@
+<policies>
+	<policy name="single" isDefault="true">
+		<description>Single - Instances: Min 1, Max 1</description>
+		<min_app_instances>1</min_app_instances>
+		<max_app_instances>1</max_app_instances>
+		<max_requests_per_second>5</max_requests_per_second>
+		<alarming_upper_rate>0.7</alarming_upper_rate>
+		<alarming_lower_rate>0.2</alarming_lower_rate>
+		<scale_down_factor>0.25</scale_down_factor>
+		<rounds_to_average>2</rounds_to_average>
+	</policy>
+	<policy name="elastic" isDefault="false">
+		<description>Elastic - Instances: Min 1, Max 4</description>
+		<min_app_instances>1</min_app_instances>
+		<max_app_instances>4</max_app_instances>
+		<max_requests_per_second>5</max_requests_per_second>
+		<alarming_upper_rate>0.7</alarming_upper_rate>
+		<alarming_lower_rate>0.2</alarming_lower_rate>
+		<scale_down_factor>0.25</scale_down_factor>
+		<rounds_to_average>2</rounds_to_average>
+	</policy>
+</policies>
\ No newline at end of file


[09/12] Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeInformation.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeInformation.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeInformation.java
new file mode 100644
index 0000000..48a0086
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeInformation.java
@@ -0,0 +1 @@
+package org.apache.stratos.adc.mgt.dto;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeWrapper.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeWrapper.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeWrapper.java
new file mode 100644
index 0000000..1339a16
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/CartridgeWrapper.java
@@ -0,0 +1,49 @@
+/*                                                                             
+ * Copyright 2004,2005 The Apache Software Foundation.                         
+ *                                                                             
+ * Licensed 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.dto;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.wso2.carbon.utils.Pageable;
+
+/**
+ * This class holds paginated information about cartridges
+ */
+public final class CartridgeWrapper implements Pageable {
+
+	private Cartridge[] cartridges;
+	private int numberOfPages;
+
+	public CartridgeWrapper() {
+	}
+
+	public int getNumberOfPages() {
+		return numberOfPages;
+	}
+
+	public void setNumberOfPages(int numberOfPages) {
+		this.numberOfPages = numberOfPages;
+	}
+
+	public <T> void set(List<T> items) {
+		this.cartridges = items.toArray(new Cartridge[items.size()]);
+	}
+
+	public Cartridge[] getCartridges() {
+		return cartridges != null ? Arrays.copyOf(cartridges, cartridges.length) : null;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/Policy.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/Policy.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/Policy.java
new file mode 100644
index 0000000..451618d
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/Policy.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.dto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+public class Policy implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	private String name;
+	private String description;
+	private boolean defaultPolicy;
+
+	private Integer minAppInstances;
+	private Integer maxAppInstances;
+	private Integer maxRequestsPerSecond;
+	private BigDecimal alarmingUpperRate;
+	private BigDecimal alarmingLowerRate;
+	private BigDecimal scaleDownFactor;
+	private Integer roundsToAverage;
+
+	public Policy() {
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public boolean isDefaultPolicy() {
+		return defaultPolicy;
+	}
+
+	public void setDefaultPolicy(boolean defaultPolicy) {
+		this.defaultPolicy = defaultPolicy;
+	}
+
+	public Integer getMinAppInstances() {
+		return minAppInstances;
+	}
+
+	public void setMinAppInstances(Integer minAppInstances) {
+		this.minAppInstances = minAppInstances;
+	}
+
+	public Integer getMaxAppInstances() {
+		return maxAppInstances;
+	}
+
+	public void setMaxAppInstances(Integer maxAppInstances) {
+		this.maxAppInstances = maxAppInstances;
+	}
+
+	public Integer getMaxRequestsPerSecond() {
+		return maxRequestsPerSecond;
+	}
+
+	public void setMaxRequestsPerSecond(Integer maxRequestsPerSecond) {
+		this.maxRequestsPerSecond = maxRequestsPerSecond;
+	}
+
+	public BigDecimal getAlarmingUpperRate() {
+		return alarmingUpperRate;
+	}
+
+	public void setAlarmingUpperRate(BigDecimal alarmingUpperRate) {
+		this.alarmingUpperRate = alarmingUpperRate;
+	}
+
+	public BigDecimal getAlarmingLowerRate() {
+		return alarmingLowerRate;
+	}
+
+	public void setAlarmingLowerRate(BigDecimal alarmingLowerRate) {
+		this.alarmingLowerRate = alarmingLowerRate;
+	}
+
+	public BigDecimal getScaleDownFactor() {
+		return scaleDownFactor;
+	}
+
+	public void setScaleDownFactor(BigDecimal scaleDownFactor) {
+		this.scaleDownFactor = scaleDownFactor;
+	}
+
+	public Integer getRoundsToAverage() {
+		return roundsToAverage;
+	}
+
+	public void setRoundsToAverage(Integer roundsToAverage) {
+		this.roundsToAverage = roundsToAverage;
+	}
+
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((name == null) ? 0 : name.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (!(obj instanceof Policy))
+			return false;
+		Policy other = (Policy) obj;
+		if (name == null) {
+			if (other.name != null)
+				return false;
+		} else if (!name.equals(other.name))
+			return false;
+		return true;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/PolicyDefinition.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/PolicyDefinition.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/PolicyDefinition.java
new file mode 100644
index 0000000..b21df4f
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/PolicyDefinition.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.dto;
+
+import java.io.Serializable;
+
+public class PolicyDefinition implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	private String name;
+	private String description;
+	private boolean defaultPolicy;
+
+	public PolicyDefinition() {
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public boolean isDefaultPolicy() {
+		return defaultPolicy;
+	}
+
+	public void setDefaultPolicy(boolean defaultPolicy) {
+		this.defaultPolicy = defaultPolicy;
+	}
+
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((name == null) ? 0 : name.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (!(obj instanceof PolicyDefinition))
+			return false;
+		PolicyDefinition other = (PolicyDefinition) obj;
+		if (name == null) {
+			if (other.name != null)
+				return false;
+		} else if (!name.equals(other.name))
+			return false;
+		return true;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/RepositoryInformation.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/RepositoryInformation.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/RepositoryInformation.java
new file mode 100644
index 0000000..3a88700
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/RepositoryInformation.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.dto;
+
+import java.io.Serializable;
+
+public class RepositoryInformation implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	private String repoURL;
+	private String[] refName;
+
+	public String getRepoURL() {
+		return repoURL;
+	}
+
+	public void setRepoURL(String repoURL) {
+		this.repoURL = repoURL;
+	}
+
+	public String[] getRefName() {
+		return refName;
+	}
+
+	public void setRefName(String[] refName) {
+		this.refName = refName;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/SubscriptionInfo.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/SubscriptionInfo.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/SubscriptionInfo.java
new file mode 100644
index 0000000..39e3ae2
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/dto/SubscriptionInfo.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.dto;
+
+import java.io.Serializable;
+
+public class SubscriptionInfo implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	private String hostname;
+	private String repositoryURL;
+
+	public String getHostname() {
+		return hostname;
+	}
+
+	public void setHostname(String hostname) {
+		this.hostname = hostname;
+	}
+
+	public String getRepositoryURL() {
+		return repositoryURL;
+	}
+
+	public void setRepositoryURL(String repositoryURL) {
+		this.repositoryURL = repositoryURL;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/ADCException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/ADCException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/ADCException.java
new file mode 100644
index 0000000..d9dbfdf
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/ADCException.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class ADCException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private String message;
+
+	public ADCException() {
+		super();
+	}
+
+	public ADCException(String message, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+	}
+
+	public ADCException(String message) {
+		super(message);
+		this.message = message;
+	}
+
+	public ADCException(Throwable cause) {
+		super(cause);
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/AlreadySubscribedException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/AlreadySubscribedException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/AlreadySubscribedException.java
new file mode 100644
index 0000000..954a71b
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/AlreadySubscribedException.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class AlreadySubscribedException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private final String message;
+
+	private final String cartridgeType;
+
+	public AlreadySubscribedException(String message, String cartridgeType, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+		this.cartridgeType = cartridgeType;
+	}
+
+	public AlreadySubscribedException(String message, String cartridgeType) {
+		super(message);
+		this.message = message;
+		this.cartridgeType = cartridgeType;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public String getCartridgeType() {
+		return cartridgeType;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/DomainMappingExistsException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/DomainMappingExistsException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/DomainMappingExistsException.java
new file mode 100644
index 0000000..9287a86
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/DomainMappingExistsException.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class DomainMappingExistsException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private final String message;
+
+	private final String domain;
+
+	public DomainMappingExistsException(String message, String domain, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+		this.domain = domain;
+	}
+
+	public DomainMappingExistsException(String message, String domain) {
+		super(message);
+		this.message = message;
+		this.domain = domain;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public String getDomain() {
+		return domain;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/DuplicateCartridgeAliasException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/DuplicateCartridgeAliasException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/DuplicateCartridgeAliasException.java
new file mode 100644
index 0000000..94aa14c
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/DuplicateCartridgeAliasException.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class DuplicateCartridgeAliasException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private final String message;
+
+	private final String cartridgeType;
+
+	private final String cartridgeAlias;
+
+	public DuplicateCartridgeAliasException(String message, String cartridgeType, String cartridgeAlias, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+		this.cartridgeType = cartridgeType;
+		this.cartridgeAlias = cartridgeAlias;
+	}
+
+	public DuplicateCartridgeAliasException(String message, String cartridgeType, String cartridgeAlias) {
+		super(message);
+		this.message = message;
+		this.cartridgeType = cartridgeType;
+		this.cartridgeAlias = cartridgeAlias;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public String getCartridgeType() {
+		return cartridgeType;
+	}
+
+	public String getCartridgeAlias() {
+		return cartridgeAlias;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/InvalidCartridgeAliasException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/InvalidCartridgeAliasException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/InvalidCartridgeAliasException.java
new file mode 100644
index 0000000..0fed41b
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/InvalidCartridgeAliasException.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class InvalidCartridgeAliasException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private final String message;
+
+	private final String cartridgeType;
+
+	private final String cartridgeAlias;
+
+	public InvalidCartridgeAliasException(String message, String cartridgeType, String cartridgeAlias, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+		this.cartridgeType = cartridgeType;
+		this.cartridgeAlias = cartridgeAlias;
+	}
+
+	public InvalidCartridgeAliasException(String message, String cartridgeType, String cartridgeAlias) {
+		super(message);
+		this.message = message;
+		this.cartridgeType = cartridgeType;
+		this.cartridgeAlias = cartridgeAlias;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public String getCartridgeType() {
+		return cartridgeType;
+	}
+
+	public String getCartridgeAlias() {
+		return cartridgeAlias;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/InvalidRepositoryException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/InvalidRepositoryException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/InvalidRepositoryException.java
new file mode 100644
index 0000000..c545b9e
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/InvalidRepositoryException.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class InvalidRepositoryException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private String message;
+
+	public InvalidRepositoryException(String message, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/NotSubscribedException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/NotSubscribedException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/NotSubscribedException.java
new file mode 100644
index 0000000..74aef20
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/NotSubscribedException.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class NotSubscribedException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private final String message;
+
+	private final String cartridgeAlias;
+
+	public NotSubscribedException(String message, String cartridgeAlias, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+		this.cartridgeAlias = cartridgeAlias;
+	}
+
+	public NotSubscribedException(String message, String cartridgeAlias) {
+		super(message);
+		this.message = message;
+		this.cartridgeAlias = cartridgeAlias;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public String getCartridgeAlias() {
+		return cartridgeAlias;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/PolicyException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/PolicyException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/PolicyException.java
new file mode 100644
index 0000000..2ad3117
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/PolicyException.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class PolicyException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private final String message;
+
+	public PolicyException(String message, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+	}
+
+	public PolicyException(String message) {
+		super(message);
+		this.message = message;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryCredentialsRequiredException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryCredentialsRequiredException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryCredentialsRequiredException.java
new file mode 100644
index 0000000..2de1899
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryCredentialsRequiredException.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class RepositoryCredentialsRequiredException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private String message;
+
+	public RepositoryCredentialsRequiredException(String message, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+	}
+
+	public RepositoryCredentialsRequiredException(String message) {
+		super(message);
+		this.message = message;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryRequiredException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryRequiredException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryRequiredException.java
new file mode 100644
index 0000000..553dfc2
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryRequiredException.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class RepositoryRequiredException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private String message;
+
+	public RepositoryRequiredException(String message, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+	}
+
+	public RepositoryRequiredException(String message) {
+		super(message);
+		this.message = message;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryTransportException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryTransportException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryTransportException.java
new file mode 100644
index 0000000..5b5036a
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/RepositoryTransportException.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class RepositoryTransportException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private final String message;
+
+	public RepositoryTransportException(String message, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+	}
+
+	public RepositoryTransportException(String message) {
+		super(message);
+		this.message = message;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/UnregisteredCartridgeException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/UnregisteredCartridgeException.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/UnregisteredCartridgeException.java
new file mode 100644
index 0000000..fb1f656
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/exception/UnregisteredCartridgeException.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2013, WSO2, Inc. http://wso2.org
+ * 
+ * Licensed 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.exception;
+
+public class UnregisteredCartridgeException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	private final String message;
+
+	private final String cartridgeType;
+
+	public UnregisteredCartridgeException(String message, String cartridgeType, Throwable cause) {
+		super(message, cause);
+		this.message = message;
+		this.cartridgeType = cartridgeType;
+	}
+
+	public UnregisteredCartridgeException(String message, String cartridgeType) {
+		super(message);
+		this.message = message;
+		this.cartridgeType = cartridgeType;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public String getCartridgeType() {
+		return cartridgeType;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java
new file mode 100644
index 0000000..e70f9d4
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java
@@ -0,0 +1,106 @@
+/*
+        * Copyright WSO2, Inc. (http://wso2.com)
+        *
+        * Licensed 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.internal;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.adc.mgt.utils.CartridgeConfigFileReader;
+import org.apache.stratos.adc.mgt.utils.StratosDBUtils;
+import org.osgi.service.component.ComponentContext;
+import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
+import org.wso2.carbon.registry.core.service.RegistryService;
+import org.wso2.carbon.user.core.service.RealmService;
+import org.wso2.carbon.utils.ConfigurationContextService;
+
+/**
+ * @scr.component name=
+ *                "org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent"
+ *                immediate="true"
+ * @scr.reference name="config.context.service"
+ *                interface="org.wso2.carbon.utils.ConfigurationContextService"
+ *                cardinality="1..1" policy="dynamic"
+ *                bind="setConfigurationContextService"
+ *                unbind="unsetConfigurationContextService"
+ * @scr.reference name="user.realmservice.default"
+ *                interface="org.wso2.carbon.user.core.service.RealmService"
+ *                cardinality="1..1" policy="dynamic" bind="setRealmService"
+ *                unbind="unsetRealmService"
+ * @scr.reference name="registry.service"
+ *                interface=
+ *                "org.wso2.carbon.registry.core.service.RegistryService"
+ *                cardinality="1..1" policy="dynamic" bind="setRegistryService"
+ *                unbind="unsetRegistryService"
+ * @scr.reference name="topology.mgt.service"
+ *                interface=
+ *                "org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService"
+ *                cardinality="1..1" policy="dynamic"
+ *                bind="setTopologyManagementService"
+ *                unbind="unsetTopologyManagementService"
+ */
+
+public class ADCManagementServerComponent {
+    private static final Log log = LogFactory.getLog(ADCManagementServerComponent.class);
+
+	protected void activate(ComponentContext componentContext) throws Exception {
+		if (log.isInfoEnabled()) {
+			log.info("ADC Management Server Component activated");
+		}
+
+		try {
+			CartridgeConfigFileReader.readProperties();
+			StratosDBUtils.initialize();
+		} catch (Exception e) {
+			log.fatal("Error while initializing the ADC Management Server Component", e);
+		}
+	}
+
+    protected void setConfigurationContextService(ConfigurationContextService contextService) {
+        DataHolder.setClientConfigContext(contextService.getClientConfigContext());
+        DataHolder.setServerConfigContext(contextService.getServerConfigContext());
+
+    }
+
+    protected void unsetConfigurationContextService(ConfigurationContextService contextService) {
+        DataHolder.setClientConfigContext(null);
+        DataHolder.setServerConfigContext(null);
+    }
+
+    protected void setRealmService(RealmService realmService) {
+        // keeping the realm service in the DataHolder class
+        DataHolder.setRealmService(realmService);
+    }
+
+    protected void unsetRealmService(RealmService realmService) {
+    }
+
+    protected void setRegistryService(RegistryService registryService) {
+        try {
+            DataHolder.setRegistry(registryService.getGovernanceSystemRegistry());
+        } catch (Exception e) {
+            log.error("Cannot  retrieve governance Registry", e);
+        }
+    }
+
+    protected void unsetRegistryService(RegistryService registryService) {
+    }
+
+    protected void setTopologyManagementService(TopologyManagementService topologyMgtService) {
+        DataHolder.setTopologyMgtService(topologyMgtService);
+    }
+
+    protected void unsetTopologyManagementService(TopologyManagementService topologyMgtService) {
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/DataHolder.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/DataHolder.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/DataHolder.java
new file mode 100644
index 0000000..2d810cf
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/DataHolder.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.internal;
+
+import org.apache.axis2.context.ConfigurationContext;
+import org.wso2.carbon.registry.core.Registry;
+import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
+import org.wso2.carbon.user.core.service.RealmService;
+import org.wso2.carbon.utils.CarbonUtils;
+
+/**
+ * Holds the some of the data required by the webapps component
+ */
+public class DataHolder {
+	private static ConfigurationContext clientConfigContext;
+	private static ConfigurationContext serverConfigContext;
+
+	private static RealmService realmService;
+	private static Registry registry;
+	private static TopologyManagementService topologyMgtService;
+
+	public static RealmService getRealmService() {
+		return realmService;
+	}
+
+	public static void setRealmService(RealmService realmService) {
+		DataHolder.realmService = realmService;
+	}
+
+	public static Registry getRegistry() {
+		return registry;
+	}
+
+	public static ConfigurationContext getClientConfigContext() {
+		CarbonUtils.checkSecurity();
+		return clientConfigContext;
+	}
+
+	public static void setClientConfigContext(ConfigurationContext clientConfigContext) {
+		DataHolder.clientConfigContext = clientConfigContext;
+	}
+
+	public static ConfigurationContext getServerConfigContext() {
+		CarbonUtils.checkSecurity();
+		return serverConfigContext;
+	}
+
+	public static void setServerConfigContext(ConfigurationContext serverConfigContext) {
+		DataHolder.serverConfigContext = serverConfigContext;
+	}
+
+	public static void setRegistry(Registry registry) {
+		DataHolder.registry = registry;
+	}
+
+	public static TopologyManagementService getTopologyMgtService() {
+		return topologyMgtService;
+	}
+
+	public static void setTopologyMgtService(TopologyManagementService topologyMgtService) {
+		DataHolder.topologyMgtService = topologyMgtService;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/HostingConstants.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/HostingConstants.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/HostingConstants.java
new file mode 100644
index 0000000..9259ea6
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/HostingConstants.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.internal;
+
+/**
+ * Web Application Constants
+ */
+public final class HostingConstants {
+	public static final String WEBAPP_PREFIX = "webapps";
+	public static final String WEBAPP_DEPLOYMENT_FOLDER = "webapps";
+	public static final String WEBAPP_EXTENSION = "war";
+
+	public static final class WebappState {
+		public static final String STARTED = "started";
+		public static final String STOPPED = "stopped";
+
+		private WebappState() {
+		}
+	}
+
+	private HostingConstants() {
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/HostingManagementActivator.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/HostingManagementActivator.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/HostingManagementActivator.java
new file mode 100644
index 0000000..2e61894
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/internal/HostingManagementActivator.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.internal;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.wso2.carbon.utils.CarbonUtils;
+
+/**
+ * Activator for the Webapp Management Bundle
+ */
+public class HostingManagementActivator implements BundleActivator {
+	private static final Log log = LogFactory.getLog(HostingManagementActivator.class);
+
+	@Override
+	public void start(final BundleContext bundleContext) {
+
+		// If Carbon is running as a webapp within some other servlet container,
+		// then we should
+		// uninstall this component
+		if (!CarbonUtils.isRunningInStandaloneMode()) {
+			Thread th = new Thread() {
+				@Override
+				public void run() {
+					try {
+						bundleContext.getBundle().uninstall();
+					} catch (Throwable e) {
+						log.warn("Error occurred while uninstalling hosting.mgt UI bundle", e);
+					}
+				}
+			};
+			try {
+				th.join();
+			} catch (InterruptedException ignored) {
+			}
+			th.start();
+		}
+	}
+
+	@Override
+	public void stop(BundleContext bundleContext) {
+		// No implementation required for this method
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
new file mode 100644
index 0000000..1ae1a87
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
@@ -0,0 +1,620 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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.custom.domain.RegistryManager;
+import org.apache.stratos.adc.mgt.dao.CartridgeSubscription;
+import org.apache.stratos.adc.mgt.dns.DNSManager;
+import org.apache.stratos.adc.mgt.dto.Cartridge;
+import org.apache.stratos.adc.mgt.dto.CartridgeWrapper;
+import org.apache.stratos.adc.mgt.dto.PolicyDefinition;
+import org.apache.stratos.adc.mgt.dto.RepositoryInformation;
+import org.apache.stratos.adc.mgt.dto.SubscriptionInfo;
+import org.apache.stratos.adc.mgt.exception.*;
+import org.apache.stratos.adc.mgt.internal.DataHolder;
+import org.apache.stratos.adc.mgt.utils.*;
+import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
+import org.wso2.carbon.context.PrivilegedCarbonContext;
+import org.wso2.carbon.core.AbstractAdmin;
+import org.wso2.carbon.registry.core.exceptions.RegistryException;
+import org.wso2.carbon.stratos.cloud.controller.util.xsd.CartridgeInfo;
+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);
+    RegistryManager registryManager = new RegistryManager();
+
+    PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+    String tenantDomain = carbonContext.getTenantDomain();
+    
+    /*
+     * 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 = ApplicationManagementUtil.getServiceClient().getRegisteredCartridges();
+
+			if (availableCartridges != null) {
+				for (String cartridgeType : availableCartridges) {
+					CartridgeInfo cartridgeInfo = null;
+					try {
+						cartridgeInfo = ApplicationManagementUtil.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
+						// subscribe 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 subscribe");
+							}
+							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<CartridgeSubscription> subscriptionList = PersistenceManager
+					.retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(getConfigContext()));
+
+			if (subscriptionList != null && !subscriptionList.isEmpty()) {
+				for (CartridgeSubscription subscription : subscriptionList) {
+					CartridgeInfo cartridgeInfo = null;
+					try {
+						cartridgeInfo = ApplicationManagementUtil.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, tenantDomain);
+					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, CartridgeSubscription cartridgeSubscription, 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 && cartridgeSubscription.getCartridge() != null) {
+                matches = pattern.matcher(cartridgeSubscription.getCartridge().toLowerCase()).find();
+            }
+            if (!matches && cartridgeSubscription.getAlias() != null) {
+                matches = pattern.matcher(cartridgeSubscription.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<CartridgeSubscription> subscriptionList = PersistenceManager
+                    .retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(getConfigContext()));
+            List<String> subscribedAliases = new ArrayList<String>();
+            for (CartridgeSubscription cartridgeSubscription : subscriptionList) {
+
+                if(cartridgeSubscription.getProvider().equalsIgnoreCase(CartridgeConstants.PROVIDER_NAME_WSO2) &&
+                        getCartridgeInfo(cartridgeSubscription.getAlias()).isMultiTenant()) {
+
+                    subscribedAliases.add(cartridgeSubscription.getCartridge());
+                } else {
+                    subscribedAliases.add(cartridgeSubscription.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());
+
+	}
+
+
+    /**
+     * Unsubscribing the cartridge
+     *
+     * @param alias name of the cartridge to be unsubscribed
+     */
+    public void unsubscribe(String alias) throws ADCException, NotSubscribedException {
+    	checkSuperTenant();
+        CartridgeSubscription subscription = null;
+        
+        try {
+			subscription = PersistenceManager.getSubscription(tenantDomain, alias);
+		} catch (Exception e) {
+			String msg = "Failed to get subscription for " + tenantDomain + " and alias " + alias;
+            log.error(msg, e);
+			throw new ADCException(msg, e);
+		}
+
+        if (subscription == null) {
+            String msg = "Tenant " + tenantDomain + " 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 = ApplicationManagementUtil.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);
+                ApplicationManagementUtil.getServiceClient().terminateAllInstances(clusterDomain, clusterSubDomain);
+                log.info("All instances terminated.");
+                log.info("Unregistering services...");
+                ApplicationManagementUtil.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, tenantDomain, 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 '.' ");
+		//		}
+
+        CartridgeSubscription subscription = null;
+        String actualHost = null;
+        
+        try {
+			subscription = PersistenceManager.getSubscription(tenantDomain, cartridgeAlias);
+		} catch (Exception e) {
+			String msg = "Failed to get subscription for " + tenantDomain + " and alias " + cartridgeAlias;
+            log.error(msg, e);
+			throw new ADCException(msg, e);
+		}
+        if (subscription == null) {
+        	String msg = "Tenant " + tenantDomain + " 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: " + tenantDomain);
+            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();
+        CartridgeSubscription subscription = null;
+        String actualHost = null;
+        
+        try {
+			subscription = PersistenceManager.getSubscription(tenantDomain, cartridgeAlias);
+		} catch (Exception e) {
+			String msg = "Failed to get subscription for " + tenantDomain + " and alias " + cartridgeAlias;
+            log.error(msg, e);
+			throw new ADCException(msg, e);
+		}
+        if (subscription == null) {
+        	String msg = "Tenant " + tenantDomain + " 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: " + tenantDomain);
+            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();
+        CartridgeSubscription subscription = null;
+        
+        // Validating subscription
+        try {
+			subscription = PersistenceManager.getSubscription(tenantDomain, cartridgeAlias);
+		} catch (Exception e) {
+			String msg = "Failed to get subscription for " + tenantDomain + " and alias " + cartridgeAlias;
+            log.error(msg, e);
+			throw new ADCException(msg, e);
+		}
+        if (subscription == null) {
+        	String msg = "Tenant " + tenantDomain + " is not subscribed for " + cartridgeAlias;
+            log.error(msg);
+            throw new NotSubscribedException("You have not subscribed for " + cartridgeAlias, cartridgeAlias);
+        }
+		
+		try {
+			repoNotificationService.notifyRepoUpdate(tenantDomain, cartridgeAlias);
+		} catch (Exception e) {
+			throw new ADCException(e.getMessage() != null ? e.getMessage() : "Failed to synchronize repository", e);
+		}
+	}
+
+    /**
+     * Validate authentication.
+     * First call of cli tool in the prompt mode after log in.
+     *
+     * @return The tenant domain
+     */
+	public String getTenantDomain() {
+		if (tenantDomain != null) {
+			// This means, authentication is successful
+			log.info("Tenant " + tenantDomain + " is authorized to access Application Management Service!");
+		}
+		return tenantDomain;
+	}
+    
+	/**
+	 * 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: " + carbonContext.getTenantDomain());
+		}
+		if (MultitenantConstants.SUPER_TENANT_ID == ApplicationManagementUtil.getTenantId(getConfigContext())) {
+			throw new ADCException("Super Tenant is not allowed to complete requested operation");
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.java b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.java
new file mode 100644
index 0000000..692dafa
--- /dev/null
+++ b/components/stratos/artifact-deployment-coordinator/org.apache.stratos.adc.mgt/2.1.3/src/main/java/org/apache/stratos/adc/mgt/service/InstanceInformationManagementService.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright WSO2, Inc. (http://wso2.com)
+ *
+ * Licensed 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 instance 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 instance state. Reason, " + e.getMessage());
+    }
+    }
+}


[02/12] Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/PersistenceManager.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/PersistenceManager.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/PersistenceManager.java
deleted file mode 100644
index 8bc9a53..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/PersistenceManager.java
+++ /dev/null
@@ -1,853 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-import java.io.File;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.crypto.Cipher;
-import javax.crypto.SecretKey;
-import javax.crypto.spec.SecretKeySpec;
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.mgt.dao.CartridgeSubscription;
-import org.wso2.carbon.adc.mgt.dao.DataCartridge;
-import org.wso2.carbon.adc.mgt.dao.PortMapping;
-import org.wso2.carbon.adc.mgt.dao.Repository;
-import org.wso2.carbon.adc.mgt.dao.RepositoryCredentials;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.wso2.securevault.SecretResolver;
-import org.wso2.securevault.SecretResolverFactory;
-
-/**
- * This class is responsible for handling persistence
- * 
- */
-public class PersistenceManager {
-
-	private static final Log log = LogFactory.getLog(PersistenceManager.class);
-
-	public static void persistCartridgeInstanceInfo(String instanceIp, String clusterDomain, String clusterSubDomain,
-			String cartridgeType, String state) throws Exception {
-
-		Connection con = null;
-		PreparedStatement statement = null;
-		PreparedStatement updateStatement = null;
-		ResultSet resultSet = null;
-
-		boolean isUpdate = false;
-		int instanceId = 0;
-		try {
-			con = StratosDBUtils.getConnection();
-
-			// First check whether Ip exists..
-			String sql = "SELECT ID FROM CARTRIDGE_INSTANCE where INSTANCE_IP=? AND CARTRIDGE_TYPE=? "
-					+ " AND CLUSTER_DOMAIN=? AND CLUSTER_SUBDOMAIN=?";
-			statement = con.prepareStatement(sql);
-			statement.setString(1, instanceIp);
-			statement.setString(2, cartridgeType);
-			statement.setString(3, clusterDomain);
-			statement.setString(4, clusterSubDomain);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			if (resultSet.next()) {
-				isUpdate = true;
-				instanceId = resultSet.getInt("ID");
-			}
-
-			String persistQuery = null;
-			if (isUpdate) {
-				persistQuery = "UPDATE CARTRIDGE_INSTANCE SET STATE=?" + " WHERE ID=?";
-				updateStatement = con.prepareStatement(persistQuery);
-				updateStatement.setString(1, state);
-				updateStatement.setInt(2, instanceId);
-			} else {
-				persistQuery = "INSERT INTO CARTRIDGE_INSTANCE (INSTANCE_IP, CARTRIDGE_TYPE, STATE, CLUSTER_DOMAIN, CLUSTER_SUBDOMAIN)"
-						+ " VALUES (?, ?, ?, ?, ?)";
-				updateStatement = con.prepareStatement(persistQuery);
-				updateStatement.setString(1, instanceIp);
-				updateStatement.setString(2, cartridgeType);
-				updateStatement.setString(3, state);
-				updateStatement.setString(4, clusterDomain);
-				updateStatement.setString(5, clusterSubDomain);
-			}
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + persistQuery);
-			}
-			updateStatement.executeUpdate();
-			con.commit();
-		} catch (Exception e) {
-			if (con != null) {
-				try {
-					con.rollback();
-				} catch (SQLException e1) {
-					log.error("Failed to rollback", e);
-				}
-			}
-			;
-			log.error("Error", e);
-			throw e;
-		} finally {
-			StratosDBUtils.closeResultSet(resultSet);
-			StratosDBUtils.closeAllConnections(con, statement, updateStatement);
-		}
-	}
-
-	public static boolean isAlreadySubscribed(String cartridgeType, int tenantId) throws Exception {
-
-		Connection con = null;
-		PreparedStatement preparedStatement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "SELECT C.ALIAS FROM CARTRIDGE_SUBSCRIPTION C WHERE TENANT_ID = ? AND C.CARTRIDGE = ? AND C.STATE != 'UNSUBSCRIBED'";
-			preparedStatement = con.prepareStatement(sql);
-			preparedStatement.setInt(1, tenantId);
-			preparedStatement.setString(2, cartridgeType);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = preparedStatement.executeQuery();
-			if (resultSet.next()) {
-				String alias = resultSet.getString("ALIAS");
-				if (log.isDebugEnabled()) {
-					log.debug("Already subscribed to " + cartridgeType + " with alias " + alias);
-				}
-				return true;
-			} else {
-				return false;
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, preparedStatement, resultSet);
-		}
-	}
-
-	public static List<CartridgeSubscription> retrieveSubscribedCartridges(int tenantId) throws Exception {
-
-		List<CartridgeSubscription> subscribedCartridgeList = new ArrayList<CartridgeSubscription>();
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "SELECT C.CARTRIDGE, C.ALIAS, C.CLUSTER_DOMAIN, C.CLUSTER_SUBDOMAIN, C.POLICY, C.STATE, "
-					+ "C.TENANT_ID, C.SUBSCRIPTION_ID, C.DATA_CARTRIDGE_ID, D.TYPE, D.USER_NAME, D.PASSWORD, "
-					+ "C.PROVIDER, C.HOSTNAME, C.MAPPED_DOMAIN, R.REPO_NAME FROM CARTRIDGE_SUBSCRIPTION C "
-					+ "LEFT JOIN DATA_CARTRIDGE D on D.DATA_CART_ID=C.DATA_CARTRIDGE_ID  "
-					+ "LEFT JOIN REPOSITORY R ON C.REPO_ID=R.REPO_ID WHERE TENANT_ID=? AND C.STATE != 'UNSUBSCRIBED' "
-					+ "ORDER BY C.SUBSCRIPTION_ID";
-			statement = con.prepareStatement(sql);
-			statement.setInt(1, tenantId);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			while (resultSet.next()) {
-				CartridgeSubscription cartridge = new CartridgeSubscription();
-				cartridge.setAlias(resultSet.getString("ALIAS"));
-				cartridge.setCartridge(resultSet.getString("CARTRIDGE"));
-				cartridge.setState(resultSet.getString("STATE"));
-				cartridge.setClusterDomain(resultSet.getString("CLUSTER_DOMAIN"));
-				cartridge.setClusterSubdomain(resultSet.getString("CLUSTER_SUBDOMAIN"));
-				cartridge.setProvider(resultSet.getString("PROVIDER"));
-				cartridge.setPolicy(resultSet.getString("POLICY"));
-				cartridge.setMappedDomain(resultSet.getString("MAPPED_DOMAIN"));
-				Repository repo = new Repository();
-				repo.setRepoName(resultSet.getString("REPO_NAME"));
-				cartridge.setRepository(repo);
-				cartridge.setHostName(resultSet.getString("HOSTNAME"));
-				int dataCartridgeId = resultSet.getInt("DATA_CARTRIDGE_ID");
-				if (dataCartridgeId != 0) {
-					DataCartridge dataCartridge = new DataCartridge();
-					dataCartridge.setDataCartridgeType(resultSet.getString("TYPE"));
-					dataCartridge.setPassword(resultSet.getString("PASSWORD"));
-					dataCartridge.setUserName(resultSet.getString("USER_NAME"));
-					cartridge.setDataCartridge(dataCartridge);
-				}
-				subscribedCartridgeList.add(cartridge);
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-		return subscribedCartridgeList;
-	}
-
-	public static String getRepoURL(int tenantId, String cartridge) throws Exception {
-
-		String repoUrl = null;
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "SELECT REPO_NAME FROM REPOSITORY R, CARTRIDGE_SUBSCRIPTION C "
-					+ "WHERE C.REPO_ID=R.REPO_ID AND C.TENANT_ID=? AND C.CARTRIDGE=? "
-					+ "AND C.STATE != 'UNSUBSCRIBED' ";
-			statement = con.prepareStatement(sql);
-			statement.setInt(1, tenantId);
-			statement.setString(2, cartridge);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			if (resultSet.next()) {
-				repoUrl = resultSet.getString("REPO_NAME");
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-		return repoUrl;
-	}
-
-	public static RepositoryCredentials getRepoCredentials(int tenantId, String cartridge, String alias)
-			throws Exception {
-
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-		RepositoryCredentials repoCredentials = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "SELECT REPO_NAME,REPO_USER_NAME,REPO_USER_PASSWORD FROM REPOSITORY R, CARTRIDGE_SUBSCRIPTION C "
-					+ "WHERE C.REPO_ID=R.REPO_ID AND C.TENANT_ID=? AND C.CARTRIDGE=? AND C.STATE != 'UNSUBSCRIBED' ";
-			if (alias != null) {
-				sql = sql + " AND C.ALIAS=?";
-			}
-			statement = con.prepareStatement(sql);
-			statement.setInt(1, tenantId);
-			statement.setString(2, cartridge);
-			if (alias != null) {
-				statement.setString(3, alias);
-			}
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			while (resultSet.next()) {
-				repoCredentials = new RepositoryCredentials();
-				repoCredentials.setUrl(resultSet.getString("REPO_NAME"));
-				repoCredentials.setUserName(resultSet.getString("REPO_USER_NAME"));
-				repoCredentials.setPassword(decryptPassword(resultSet.getString("REPO_USER_PASSWORD")));
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-		return repoCredentials;
-	}
-
-	public static boolean isAliasAlreadyTaken(String alias, String cartridgeType) throws Exception {
-		boolean aliasAlreadyTaken = false;
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "SELECT SUBSCRIPTION_ID FROM CARTRIDGE_SUBSCRIPTION where ALIAS=? AND CARTRIDGE=? AND STATE != 'UNSUBSCRIBED'";
-			statement = con.prepareStatement(sql);
-			statement.setString(1, alias);
-			statement.setString(2, cartridgeType);
-			statement.setMaxRows(1);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			if (resultSet.next()) {
-				log.info("Already taken..");
-				aliasAlreadyTaken = true;
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-		return aliasAlreadyTaken;
-	}
-
-	public static int persistSubscription(CartridgeSubscription cartridgeSubscription) throws Exception {
-
-		int cartridgeSubscriptionId = 0;
-		int repoId = 0;
-		int dataCartridgeId = 0;
-		ResultSet res = null;
-		PreparedStatement insertSubscriptionStmt = null;
-		PreparedStatement insertRepoStmt = null;
-		PreparedStatement insertDataCartStmt = null;
-
-		Connection con = null;
-
-		// persist cartridge_subscription
-		try {
-			con = StratosDBUtils.getConnection();
-			// persist repo
-			if (cartridgeSubscription.getRepository() != null) {
-				String encryptedRepoUserPassword = encryptPassword(cartridgeSubscription.getRepository()
-						.getRepoUserPassword());
-				String insertRepo = "INSERT INTO REPOSITORY (REPO_NAME,STATE,REPO_USER_NAME,REPO_USER_PASSWORD)"
-						+ " VALUES (?,?,?,?)";
-
-				insertRepoStmt = con.prepareStatement(insertRepo, Statement.RETURN_GENERATED_KEYS);
-				insertRepoStmt.setString(1, cartridgeSubscription.getRepository().getRepoName());
-				insertRepoStmt.setString(2, "ACTIVE");
-				insertRepoStmt.setString(3, cartridgeSubscription.getRepository().getRepoUserName());
-				insertRepoStmt.setString(4, encryptedRepoUserPassword);
-				if (log.isDebugEnabled()) {
-					log.debug("Executing insert: " + insertRepo);
-				}
-				insertRepoStmt.executeUpdate();
-				res = insertRepoStmt.getGeneratedKeys();
-				if (res.next()) {
-					repoId = res.getInt(1);
-				}
-				StratosDBUtils.closeResultSet(res);
-			}
-
-			// persist data cartridge
-			if (cartridgeSubscription.getDataCartridge() != null) {
-				String insertDataCartridge = "INSERT INTO DATA_CARTRIDGE (TYPE,USER_NAME,PASSWORD,STATE)"
-						+ " VALUES (?,?,?,?)";
-				insertDataCartStmt = con.prepareStatement(insertDataCartridge, Statement.RETURN_GENERATED_KEYS);
-				insertDataCartStmt.setString(1, cartridgeSubscription.getDataCartridge().getDataCartridgeType());
-				insertDataCartStmt.setString(2, cartridgeSubscription.getDataCartridge().getUserName());
-				insertDataCartStmt.setString(3, cartridgeSubscription.getDataCartridge().getPassword());
-				insertDataCartStmt.setString(4, "ACTIVE");
-				if (log.isDebugEnabled()) {
-					log.debug("Executing insert: " + insertDataCartridge);
-				}
-				insertDataCartStmt.executeUpdate();
-				res = insertDataCartStmt.getGeneratedKeys();
-				if (res.next()) {
-					dataCartridgeId = res.getInt(1);
-				}
-				StratosDBUtils.closeResultSet(res);
-			}
-
-			String insertSubscription = "INSERT INTO CARTRIDGE_SUBSCRIPTION (TENANT_ID, CARTRIDGE, PROVIDER,"
-					+ "HOSTNAME, POLICY, CLUSTER_DOMAIN, " + "CLUSTER_SUBDOMAIN, MGT_DOMAIN, MGT_SUBDOMAIN, STATE, "
-					+ "ALIAS, TENANT_DOMAIN, BASE_DIR, REPO_ID, DATA_CARTRIDGE_ID)"
-					+ " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
-
-			insertSubscriptionStmt = con.prepareStatement(insertSubscription, Statement.RETURN_GENERATED_KEYS);
-			insertSubscriptionStmt.setInt(1, cartridgeSubscription.getTenantId());
-			insertSubscriptionStmt.setString(2, cartridgeSubscription.getCartridge());
-			insertSubscriptionStmt.setString(3, cartridgeSubscription.getProvider());
-			insertSubscriptionStmt.setString(4, cartridgeSubscription.getHostName());
-			insertSubscriptionStmt.setString(5, cartridgeSubscription.getPolicy());
-			insertSubscriptionStmt.setString(6, cartridgeSubscription.getClusterDomain());
-			insertSubscriptionStmt.setString(7, cartridgeSubscription.getClusterSubdomain());
-			insertSubscriptionStmt.setString(8, cartridgeSubscription.getMgtClusterDomain());
-			insertSubscriptionStmt.setString(9, cartridgeSubscription.getMgtClusterSubDomain());
-			insertSubscriptionStmt.setString(10, cartridgeSubscription.getState());
-			insertSubscriptionStmt.setString(11, cartridgeSubscription.getAlias());
-			insertSubscriptionStmt.setString(12, cartridgeSubscription.getTenantDomain());
-			insertSubscriptionStmt.setString(13, cartridgeSubscription.getBaseDirectory());
-			insertSubscriptionStmt.setInt(14, repoId);
-			insertSubscriptionStmt.setInt(15, dataCartridgeId);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing insert: " + insertSubscription);
-			}
-			insertSubscriptionStmt.executeUpdate();
-			res = insertSubscriptionStmt.getGeneratedKeys();
-			if (res.next()) {
-				cartridgeSubscriptionId = res.getInt(1);
-			}
-
-			List<PortMapping> portMapping = cartridgeSubscription.getPortMappings();
-			// persist port map
-			if (portMapping != null && !portMapping.isEmpty()) {
-				for (PortMapping portMap : portMapping) {
-					String insertPortMapping = "INSERT INTO PORT_MAPPING (SUBSCRIPTION_ID, TYPE, PRIMARY_PORT, PROXY_PORT, STATE)"
-							+ " VALUES (?,?,?,?,?)";
-
-					PreparedStatement insertPortsStmt = con.prepareStatement(insertPortMapping);
-					insertPortsStmt.setInt(1, cartridgeSubscriptionId);
-					insertPortsStmt.setString(2, portMap.getType());
-					insertPortsStmt.setString(3, portMap.getPrimaryPort());
-					insertPortsStmt.setString(4, portMap.getProxyPort());
-					insertPortsStmt.setString(5, "ACTIVE");
-					if (log.isDebugEnabled()) {
-						log.debug("Executing insert: " + insertPortMapping);
-					}
-					insertPortsStmt.executeUpdate();
-					StratosDBUtils.closeStatement(insertPortsStmt);
-				}
-			}
-			con.commit(); // Commit manually
-		} catch (Exception e) {
-			if (con != null) {
-				try {
-					con.rollback();
-				} catch (SQLException e1) {
-					log.error("Failed to rollback", e);
-				}
-			}
-			;
-			log.error(e.getMessage());
-			String msg = "Exception : " + e.getMessage();
-			log.error(msg, e);
-			throw new Exception("Subscription failed!", e);
-		} finally {
-			StratosDBUtils.closeResultSet(res);
-			StratosDBUtils.closeAllConnections(con, insertRepoStmt, insertDataCartStmt, insertSubscriptionStmt);
-		}
-		return cartridgeSubscriptionId;
-	}
-
-	public static String getHostNameForCartridgeName(int tenantId, String alias) throws Exception {
-
-		String hostName = null;
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "SELECT HOSTNAME FROM CARTRIDGE_SUBSCRIPTION where TENANT_ID=?"
-					+ " AND ALIAS=? AND STATE != 'UNSUBSCRIBED'";
-			statement = con.prepareStatement(sql);
-			statement.setInt(1, tenantId);
-			statement.setString(2, alias);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			if (resultSet.next()) {
-				hostName = resultSet.getString("HOSTNAME");
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-		return hostName;
-	}
-
-	public static CartridgeSubscription getSubscription(String tenantDomain, String alias) throws Exception {
-
-		CartridgeSubscription cartridgeSubscription = null;
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "SELECT * FROM CARTRIDGE_SUBSCRIPTION C left join REPOSITORY R on "
-					+ "C.REPO_ID=R.REPO_ID left join DATA_CARTRIDGE D on "
-					+ "D.DATA_CART_ID=C.DATA_CARTRIDGE_ID WHERE ALIAS=? AND TENANT_DOMAIN=? AND C.STATE != 'UNSUBSCRIBED'";
-			statement = con.prepareStatement(sql);
-			statement.setString(1, alias);
-			statement.setString(2, tenantDomain);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			if (resultSet.next()) {
-				cartridgeSubscription = new CartridgeSubscription();
-				populateSubscription(cartridgeSubscription, resultSet);
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-
-		return cartridgeSubscription;
-	}
-
-	private static void populateSubscription(CartridgeSubscription cartridgeSubscription, ResultSet resultSet)
-			throws Exception {
-		String repoName = resultSet.getString("REPO_NAME");
-		if (repoName != null) {
-			Repository repo = new Repository();
-			repo.setRepoName(repoName);
-			cartridgeSubscription.setRepository(repo);
-		}
-
-		int dataCartridgeId = resultSet.getInt("DATA_CARTRIDGE_ID");
-		if (dataCartridgeId != 0) {
-			DataCartridge dataCartridge = new DataCartridge();
-			dataCartridge.setDataCartridgeType(resultSet.getString("TYPE"));
-			dataCartridge.setPassword(resultSet.getString("PASSWORD"));
-			dataCartridge.setUserName(resultSet.getString("USER_NAME"));
-			cartridgeSubscription.setDataCartridge(dataCartridge);
-		}
-		cartridgeSubscription.setPortMappings(getPortMappings(resultSet.getInt("SUBSCRIPTION_ID")));
-		cartridgeSubscription.setTenantId(resultSet.getInt("TENANT_ID"));
-		cartridgeSubscription.setState(resultSet.getString("STATE"));
-		cartridgeSubscription.setPolicy(resultSet.getString("POLICY"));
-		cartridgeSubscription.setCartridge(resultSet.getString("CARTRIDGE"));
-		cartridgeSubscription.setAlias(resultSet.getString("ALIAS"));
-		cartridgeSubscription.setClusterDomain(resultSet.getString("CLUSTER_DOMAIN"));
-		cartridgeSubscription.setClusterSubdomain(resultSet.getString("CLUSTER_SUBDOMAIN"));
-		cartridgeSubscription.setMgtClusterDomain(resultSet.getString("MGT_DOMAIN"));
-		cartridgeSubscription.setMgtClusterSubDomain(resultSet.getString("MGT_SUBDOMAIN"));
-		cartridgeSubscription.setProvider(resultSet.getString("PROVIDER"));
-		cartridgeSubscription.setHostName(resultSet.getString("HOSTNAME"));
-		cartridgeSubscription.setTenantDomain(resultSet.getString("TENANT_DOMAIN"));
-		cartridgeSubscription.setBaseDirectory(resultSet.getString("BASE_DIR"));
-		cartridgeSubscription.setSubscriptionId(resultSet.getInt("SUBSCRIPTION_ID"));
-		cartridgeSubscription.setMappedDomain(resultSet.getString("MAPPED_DOMAIN"));
-	}
-
-	private static List<PortMapping> getPortMappings(int subscriptionId) throws Exception {
-
-		List<PortMapping> portMappingList = new ArrayList<PortMapping>();
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "SELECT * FROM PORT_MAPPING WHERE SUBSCRIPTION_ID = ?";
-			statement = con.prepareStatement(sql);
-			statement.setInt(1, subscriptionId);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			while (resultSet.next()) {
-				PortMapping portMapping = new PortMapping();
-				portMapping.setPrimaryPort(resultSet.getString("PRIMARY_PORT"));
-				portMapping.setProxyPort(resultSet.getString("PROXY_PORT"));
-				portMapping.setType(resultSet.getString("TYPE"));
-				portMappingList.add(portMapping);
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-		return portMappingList;
-	}
-
-	public static void updateDomainMapping(int tenantId, String cartridgeAlias, String domain) throws Exception {
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "UPDATE CARTRIDGE_SUBSCRIPTION SET MAPPED_DOMAIN = ? WHERE TENANT_ID = ? AND ALIAS = ?";
-			statement = con.prepareStatement(sql);
-			statement.setString(1, domain);
-			statement.setInt(2, tenantId);
-			statement.setString(3, cartridgeAlias);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing update: " + sql);
-			}
-			statement.executeUpdate();
-			con.commit();
-		} catch (Exception s) {
-			if (con != null) {
-				try {
-					con.rollback();
-				} catch (SQLException e) {
-					log.error("Failed to rollback", e);
-				}
-			}
-			String msg = "Error: " + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-	}
-
-	public static List<CartridgeSubscription> getSubscription(String repositoryURL) throws Exception {
-
-		List<CartridgeSubscription> subscriptionList = new ArrayList<CartridgeSubscription>();
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "SELECT * from CARTRIDGE_SUBSCRIPTION C, REPOSITORY R "
-					+ "where R.REPO_NAME LIKE ? AND C.REPO_ID = R.REPO_ID AND C.STATE != 'UNSUBSCRIBED'";
-			statement = con.prepareStatement(sql);
-			statement.setString(1, repositoryURL + "%");
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			while (resultSet.next()) {
-				CartridgeSubscription cartridgeSubscription = new CartridgeSubscription();
-				populateSubscription(cartridgeSubscription, resultSet);
-				subscriptionList.add(cartridgeSubscription);
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-		return subscriptionList;
-	}
-
-	public static void updateSubscriptionState(int subscriptionId, String state) throws Exception {
-
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-
-		try {
-			con = StratosDBUtils.getConnection();
-			String sql = "UPDATE CARTRIDGE_SUBSCRIPTION SET STATE=? WHERE SUBSCRIPTION_ID=?";
-			statement = con.prepareStatement(sql);
-			statement.setString(1, state);
-			statement.setInt(2, subscriptionId);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing update: " + sql);
-			}
-			statement.executeUpdate();
-			con.commit();
-		} catch (Exception s) {
-			if (con != null) {
-				try {
-					con.rollback();
-				} catch (SQLException e) {
-					log.error("Failed to rollback", e);
-				}
-			}
-			;
-			String msg = "Error: " + s.getMessage();
-			log.error(msg, s);
-			throw s;
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-	}
-
-	public static Map<String, String> getCartridgeInstanceInfo(String[] ips, String clusterDomain, String clusterSubdomain)
-            throws Exception {
-		Map<String, String> instanceIpToStateMap = new HashMap<String, String>();
-		
-		Connection con = null;
-		PreparedStatement statement = null;
-		ResultSet resultSet = null;
-		
-		try {
-			con = StratosDBUtils.getConnection();
-			StringBuilder sqlBuilder = new StringBuilder(
-					"SELECT INSTANCE_IP, STATE FROM CARTRIDGE_INSTANCE WHERE INSTANCE_IP IN (");
-			for (int i = 0; i < ips.length; i++) {
-				if (i > 0) {
-					sqlBuilder.append(", ");
-				}
-				sqlBuilder.append("?");
-			}
-			sqlBuilder.append(") AND CLUSTER_DOMAIN=? AND CLUSTER_SUBDOMAIN=?");
-			String sql = sqlBuilder.toString();
-			
-			statement = con.prepareStatement(sql);
-			int i = 1;
-			for (int j = 0; j < ips.length; j++, i++) {
-				String ip = ips[j];
-				statement.setString(i, ip);
-			}
-			statement.setString(i++, clusterDomain);
-			statement.setString(i, clusterSubdomain);
-			if (log.isDebugEnabled()) {
-				log.debug("Executing query: " + sql);
-			}
-			resultSet = statement.executeQuery();
-			while (resultSet.next()) {
-				instanceIpToStateMap.put(resultSet.getString("INSTANCE_IP"), resultSet.getString("STATE"));
-			}
-		} catch (Exception s) {
-			String msg = "Error while sql connection :" + s.getMessage();
-			log.error(msg, s);
-			throw new Exception("Ann error occurred while listing cartridge information.");
-		} finally {
-			StratosDBUtils.closeAllConnections(con, statement, resultSet);
-		}
-		return instanceIpToStateMap;
-	}
-
-	public static String getSecurityKey() {
-		String securityKey = CartridgeConstants.DEFAULT_SECURITY_KEY;
-		OMElement documentElement = null;
-		File xmlFile = new File(CarbonUtils.getCarbonHome() + File.separator + "repository" + File.separator + "conf"
-				+ File.separator + CartridgeConstants.SECURITY_KEY_FILE);
-
-		if (xmlFile.exists()) {
-			try {
-				documentElement = new StAXOMBuilder(xmlFile.getPath()).getDocumentElement();
-			} catch (Exception ex) {
-				String msg = "Error occurred when parsing the " + xmlFile.getPath() + ".";
-				log.error(msg, ex);
-				ex.printStackTrace();
-			}
-			if (documentElement != null) {
-				Iterator<?> it = documentElement.getChildrenWithName(new QName(CartridgeConstants.SECURITY_KEY));
-				if (it.hasNext()) {
-					OMElement securityKeyElement = (OMElement) it.next();
-					SecretResolver secretResolver = SecretResolverFactory.create(documentElement, false);
-					String alias = securityKeyElement.getAttributeValue(new QName(CartridgeConstants.ALIAS_NAMESPACE,
-							CartridgeConstants.ALIAS_LOCALPART, CartridgeConstants.ALIAS_PREFIX));
-
-					if (secretResolver != null && secretResolver.isInitialized()
-							&& secretResolver.isTokenProtected(alias)) {
-						securityKey = "";
-						securityKey = secretResolver.resolve(alias);
-						// TODO : a proper testing on the secure vault protected
-						// user defined encryption key
-					}
-				}
-			}
-		} else {
-			System.out.println("No such file ezoxists");
-		}
-		return securityKey;
-	}
-
-	public static void updateInstanceState(String state, String[] ips, String clusterDomain, String clusterSubDomain, String cartridgeType)
-			throws Exception {
-
-		Connection con = null;
-		PreparedStatement statement = null;
-
-		if (ips != null && ips.length > 0) {
-			try {
-				con = StratosDBUtils.getConnection();
-				StringBuilder sqlBuilder = new StringBuilder(
-						"UPDATE CARTRIDGE_INSTANCE SET STATE=? WHERE INSTANCE_IP IN (");
-				for (int i = 0; i < ips.length; i++) {
-					if (i > 0) {
-						sqlBuilder.append(", ");
-					}
-					sqlBuilder.append("?");
-				}
-				sqlBuilder.append(") AND CLUSTER_DOMAIN=? AND CLUSTER_SUBDOMAIN=? AND CARTRIDGE_TYPE=?");
-				String sql = sqlBuilder.toString();
-				statement = con.prepareStatement(sql);
-				statement.setString(1, state);
-				int i = 2;
-				for (int j = 0; j < ips.length; j++, i++) {
-					String ip = ips[j];
-					statement.setString(i, ip);
-				}
-				statement.setString(i++, clusterDomain);
-				statement.setString(i++, clusterSubDomain);
-				statement.setString(i, cartridgeType);
-				if (log.isDebugEnabled()) {
-					log.debug("Executing query: " + sql);
-				}
-				statement.executeUpdate();
-				con.commit();
-			} catch (Exception s) {
-				if (con != null) {
-					try {
-						con.rollback();
-					} catch (SQLException e) {
-						log.error("Failed to rollback", e);
-					}
-				}
-				String msg = "Error: " + s.getMessage();
-				log.error(msg, s);
-				throw s;
-			} finally {
-				StratosDBUtils.closeAllConnections(con, statement);
-			}
-		}
-
-	}
-
-	private static String encryptPassword(String repoUserPassword) {
-		String encryptPassword = "";
-		String secret = getSecurityKey(); // secret key length must be 16
-		SecretKey key;
-		Cipher cipher;
-		Base64 coder;
-		key = new SecretKeySpec(secret.getBytes(), "AES");
-		try {
-			cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", "SunJCE");
-			coder = new Base64();
-			cipher.init(Cipher.ENCRYPT_MODE, key);
-			byte[] cipherText = cipher.doFinal(repoUserPassword.getBytes());
-			encryptPassword = new String(coder.encode(cipherText));
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return encryptPassword;
-	}
-
-	private static String decryptPassword(String repoUserPassword) {
-		String decryptPassword = "";
-		String secret = getSecurityKey(); // secret key length must be 16
-		SecretKey key;
-		Cipher cipher;
-		Base64 coder;
-		key = new SecretKeySpec(secret.getBytes(), "AES");
-		try {
-			cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", "SunJCE");
-			coder = new Base64();
-			byte[] encrypted = coder.decode(repoUserPassword.getBytes());
-			cipher.init(Cipher.DECRYPT_MODE, key);
-			byte[] decrypted = cipher.doFinal(encrypted);
-			decryptPassword = new String(decrypted);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return decryptPassword;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/PolicyHolder.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/PolicyHolder.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/PolicyHolder.java
deleted file mode 100644
index 2cfa0ba..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/PolicyHolder.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-import java.io.File;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.XMLConstants;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.validation.Validator;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.impl.dom.DOOMAbstractFactory;
-import org.apache.axiom.om.impl.dom.ElementImpl;
-import org.apache.axiom.om.xpath.AXIOMXPath;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jaxen.JaxenException;
-import org.w3c.dom.Element;
-import org.wso2.carbon.adc.mgt.dto.Policy;
-import org.wso2.carbon.adc.mgt.dto.PolicyDefinition;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.xml.sax.SAXException;
-
-import com.google.gson.Gson;
-
-public class PolicyHolder {
-
-	private static Log log = LogFactory.getLog(PolicyHolder.class);
-
-	private static final String POLICIES_ELEMENT = "policies";
-	private static final String POLICY_ELEMENT = "policy";
-
-	private static final String POLICIES_ELEMENT_XPATH = "/" + POLICIES_ELEMENT + "/" + POLICY_ELEMENT;
-
-	private static final String NAME_ATTR = "name";
-	private static final String IS_DEFAULT_ATTR = "isDefault";
-	private static final String DESCRIPTION_ELEMENT = "description";
-	private static final String MIN_APP_INSTANCES_ELEMENT = "min_app_instances";
-	private static final String MAX_APP_INSTANCES_ELEMENT = "max_app_instances";
-	private static final String MAX_REQUESTS_PER_SECOND_ELEMENT = "max_requests_per_second";
-	private static final String ALARMING_UPPER_RATE_ELEMENT = "alarming_upper_rate";
-	private static final String ALARMING_LOWER_RATE_ELEMENT = "alarming_lower_rate";
-	private static final String SCALE_DOWN_FACTOR_ELEMENT = "scale_down_factor";
-	private static final String ROUNDS_TO_AVERAGE_ELEMENT = "rounds_to_average";
-
-	private Map<String, Policy> policyMap = new HashMap<String, Policy>();
-
-	private Policy defaultPolicy;
-
-	private List<PolicyDefinition> policyDefinitions = new ArrayList<PolicyDefinition>();
-
-	private PolicyHolder(File policiesSchema, File policiesXML) {
-		try {
-			readPolicies(policiesSchema, policiesXML);
-		} catch (Exception e) {
-			log.error("Error reading policies", e);
-		}
-	}
-
-	private static class SingletonHolder {
-		private final static PolicyHolder INSTANCE = new PolicyHolder(new File(CarbonUtils.getCarbonConfigDirPath()
-				+ File.separator + "etc" + File.separator, "policies.xsd"), new File(
-				CarbonUtils.getCarbonConfigDirPath(), "policies.xml"));
-	}
-
-	public static PolicyHolder getInstance() {
-		return SingletonHolder.INSTANCE;
-	}
-
-	public Policy getPolicy(String policyName) {
-		return policyMap.get(policyName);
-	}
-
-	public Policy getDefaultPolicy() {
-		return defaultPolicy;
-	}
-
-	public List<PolicyDefinition> getPolicyDefinitions() {
-		return policyDefinitions;
-	}
-
-	private void readPolicies(File policiesSchema, File policiesXML) throws XMLStreamException, JaxenException,
-			SAXException, IOException {
-		if (log.isDebugEnabled()) {
-			log.debug("Policies schema: " + policiesSchema.getPath());
-			log.debug("Loading policies from file: " + policiesXML.getPath());
-		}
-		OMElement documentElement;
-		if (policiesXML.exists()) {
-			documentElement = new StAXOMBuilder(policiesXML.getPath()).getDocumentElement();
-		} else {
-			throw new IllegalStateException("Policies file cannot be found : " + policiesXML.getPath());
-		}
-
-		// Validate XML
-		validate(documentElement, policiesSchema);
-		
-		String xpath = POLICIES_ELEMENT_XPATH;
-
-		AXIOMXPath axiomXpath;
-		axiomXpath = new AXIOMXPath(xpath);
-		@SuppressWarnings("unchecked")
-		List<OMNode> policyNodes = axiomXpath.selectNodes(documentElement);
-
-		if (policyNodes == null || policyNodes.isEmpty()) {
-			log.warn("No policies found in the file : " + policiesXML.getPath());
-			return;
-		}
-
-		for (OMNode policyNode : policyNodes) {
-
-			if (policyNode.getType() == OMNode.ELEMENT_NODE) {
-
-				OMElement policyElement = (OMElement) policyNode;
-
-				try {
-					readPolicy(policyElement);
-				} catch (Exception e) {
-					log.error("Error reading policy", e);
-				}
-			}
-		}
-	}
-
-	private void readPolicy(OMElement policyElement) {
-		// retrieve attributes
-		String name = policyElement.getAttributeValue(new QName(NAME_ATTR));
-		boolean isDefault = Boolean.valueOf(policyElement.getAttributeValue(new QName(IS_DEFAULT_ATTR)));
-
-		Policy policy = new Policy();
-		policy.setName(name);
-		policy.setDefaultPolicy(isDefault);
-
-		// read description
-		Iterator<?> it = policyElement.getChildrenWithName(new QName(DESCRIPTION_ELEMENT));
-
-		if (it.hasNext()) {
-			OMElement element = (OMElement) it.next();
-			policy.setDescription(element.getText());
-		}
-
-		// read min_app_instances
-		it = policyElement.getChildrenWithName(new QName(MIN_APP_INSTANCES_ELEMENT));
-
-		if (it.hasNext()) {
-			OMElement element = (OMElement) it.next();
-			policy.setMinAppInstances(Integer.parseInt(element.getText()));
-		}
-
-		// read max_app_instances
-		it = policyElement.getChildrenWithName(new QName(MAX_APP_INSTANCES_ELEMENT));
-
-		if (it.hasNext()) {
-			OMElement element = (OMElement) it.next();
-			policy.setMaxAppInstances(Integer.parseInt(element.getText()));
-		}
-
-		// read max_requests_per_second
-		it = policyElement.getChildrenWithName(new QName(MAX_REQUESTS_PER_SECOND_ELEMENT));
-
-		if (it.hasNext()) {
-			OMElement element = (OMElement) it.next();
-			policy.setMaxRequestsPerSecond(Integer.parseInt(element.getText()));
-		}
-
-		// read rounds_to_average
-		it = policyElement.getChildrenWithName(new QName(ROUNDS_TO_AVERAGE_ELEMENT));
-
-		if (it.hasNext()) {
-			OMElement element = (OMElement) it.next();
-			policy.setRoundsToAverage(Integer.parseInt(element.getText()));
-		}
-
-		// read alarming_upper_rate
-		it = policyElement.getChildrenWithName(new QName(ALARMING_UPPER_RATE_ELEMENT));
-
-		if (it.hasNext()) {
-			OMElement element = (OMElement) it.next();
-			policy.setAlarmingUpperRate(new BigDecimal(element.getText()));
-		}
-
-		// read alarming_lower_rate
-		it = policyElement.getChildrenWithName(new QName(ALARMING_LOWER_RATE_ELEMENT));
-
-		if (it.hasNext()) {
-			OMElement element = (OMElement) it.next();
-			policy.setAlarmingLowerRate(new BigDecimal(element.getText()));
-		}
-
-		// read scale_down_factor
-		it = policyElement.getChildrenWithName(new QName(SCALE_DOWN_FACTOR_ELEMENT));
-
-		if (it.hasNext()) {
-			OMElement element = (OMElement) it.next();
-			policy.setScaleDownFactor(new BigDecimal(element.getText()));
-		}
-		if (log.isDebugEnabled()) {
-			log.debug("Policy: " + new Gson().toJson(policy));
-		}
-
-		policyMap.put(policy.getName(), policy);
-		PolicyDefinition policyDefinition = new PolicyDefinition();
-		policyDefinition.setName(policy.getName());
-		policyDefinition.setDescription(policy.getDescription());
-		policyDefinition.setDefaultPolicy(policy.isDefaultPolicy());
-		policyDefinitions.add(policyDefinition);
-		
-		// Set first default policy
-		if (defaultPolicy == null && policy.isDefaultPolicy()) {
-			defaultPolicy = policy;
-		}
-	}
-	
-	// TODO Following code is copied from
-	// org.wso2.carbon.stratos.cloud.controller.axiom.AxiomXpathParser
-	// There should be a common util to validate XML using a schema.
-	public void validate(final OMElement omElement, final File schemaFile) throws SAXException, IOException {
-
-		Element sourceElement;
-
-		// if the OMElement is created using DOM implementation use it
-		if (omElement instanceof ElementImpl) {
-			sourceElement = (Element) omElement;
-		} else { // else convert from llom to dom
-			sourceElement = getDOMElement(omElement);
-		}
-
-		// Create a SchemaFactory capable of understanding WXS schemas.
-
-		// Load a WXS schema, represented by a Schema instance.
-		SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
-		Source source = new StreamSource(schemaFile);
-
-		// Create a Validator object, which can be used to validate
-		// an instance document.
-		Schema schema = factory.newSchema(source);
-		Validator validator = schema.newValidator();
-
-		// Validate the DOM tree.
-		validator.validate(new DOMSource(sourceElement));
-	}
-
-	private Element getDOMElement(final OMElement omElement) {
-
-		// Get the StAX reader from the created element
-		XMLStreamReader llomReader = omElement.getXMLStreamReader();
-
-		// Create the DOOM OMFactory
-		OMFactory doomFactory = DOOMAbstractFactory.getOMFactory();
-
-		// Create the new builder
-		StAXOMBuilder doomBuilder = new StAXOMBuilder(doomFactory, llomReader);
-
-		// Get the document element
-		OMElement newElem = doomBuilder.getDocumentElement();
-
-		return newElem instanceof Element ? (Element) newElem : null;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/RepositoryCreator.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/RepositoryCreator.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/RepositoryCreator.java
deleted file mode 100644
index 4a6bb29..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/RepositoryCreator.java
+++ /dev/null
@@ -1,266 +0,0 @@
-package org.wso2.carbon.adc.mgt.utils;
-
-import com.gitblit.Constants;
-import com.gitblit.models.RepositoryModel;
-import com.gitblit.utils.RpcUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.eclipse.jgit.api.*;
-import org.eclipse.jgit.storage.file.FileRepository;
-import org.eclipse.jgit.transport.CredentialsProvider;
-import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
-import org.wso2.carbon.adc.mgt.dao.Repository;
-import org.wso2.carbon.adc.mgt.exception.ADCException;
-import org.wso2.carbon.adc.mgt.service.RepositoryInfoBean;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.UUID;
-
-public class RepositoryCreator implements Runnable {
-
-	private static final Log log = LogFactory.getLog(RepositoryCreator.class);
-	private RepositoryInfoBean repoInfoBean;
-
-	public RepositoryCreator(RepositoryInfoBean repoInfoBean) {
-		this.repoInfoBean = repoInfoBean;
-	}
-
-	@Override
-	public void run() {
-
-		if (repoInfoBean != null) {
-			try {
-				createRepository(repoInfoBean.getCartridgeAlias(), repoInfoBean.getTenantDomain(),
-				                 repoInfoBean.getUserName(), repoInfoBean.getPassword());
-				createGitFolderStructure(repoInfoBean.getTenantDomain(),
-				                         repoInfoBean.getCartridgeAlias(),
-				                         repoInfoBean.getDirArray());
-
-			} catch (Exception e) {
-				log.error(e);
-			}
-		}
-	}
-
-    //Creating the internal repo in the same thread as subscribe()
-    public void createInternalRepository () throws Exception {
-
-        if (repoInfoBean != null) {
-            try {
-                createRepository(repoInfoBean.getCartridgeAlias(), repoInfoBean.getTenantDomain(),
-                        repoInfoBean.getUserName(), repoInfoBean.getPassword());
-                
-				if (repoInfoBean.getDirArray() != null && repoInfoBean.getDirArray().length > 0) {
-					createGitFolderStructure(repoInfoBean.getTenantDomain(),
-					                         repoInfoBean.getCartridgeAlias(),
-					                         repoInfoBean.getDirArray());
-				}
-
-            } catch (Exception e) {
-                String errorMsg = "Creating an internal repository failed for tenant " + repoInfoBean.getTenantDomain();
-                log.error(errorMsg, e);
-                throw new Exception(errorMsg, e);
-            }
-        }
-    }
-
-	private Repository createRepository(String cartridgeName, String tenantDomain, String userName, String password)
-	                                                                                               throws Exception {
-
-		Repository repository = new Repository();
-		String repoName = tenantDomain + "/" + cartridgeName;
-
-		try {
-			
-			log.info("Creating internal repo ["+repoName+"] ");
-
-			RepositoryModel model = new RepositoryModel();
-			model.name = repoName;
-			model.accessRestriction = Constants.AccessRestrictionType.VIEW;
-
-			char[] passwordArr = password.toCharArray();
-
-			boolean isSuccess =
-			                    RpcUtils.createRepository(model,
-			                                              "https://localhost:8443/",
-			                                              userName, passwordArr);
-			if (!isSuccess) {
-				throw new Exception("Exception is occurred when creating an internal git repo. ");
-			}
-		} catch (Exception e) {
-			log.error(" Exception is occurred when creating an internal git repo. Reason :" +
-			          e.getMessage());
-			handleException(e.getMessage(), e);
-		}
-
-		return repository;
-
-	}
-
-	private void createGitFolderStructure(String tenantDomain, String cartridgeName,
-	                                      String[] dirArray) throws Exception {
-		
-		if (log.isDebugEnabled()) {
-			log.debug("Creating git repo folder structure  ");
-		}		
-		
-		String parentDirName = "/tmp/" + UUID.randomUUID().toString();
-		CredentialsProvider credentialsProvider =
-		                                          new UsernamePasswordCredentialsProvider(
-		                                                                                  System.getProperty(CartridgeConstants.INTERNAL_GIT_USERNAME),
-		                                                                                  System.getProperty(CartridgeConstants.INTERNAL_GIT_PASSWORD).toCharArray());
-		// Clone
-		// --------------------------
-		FileRepository localRepo = null;
-		try {
-			localRepo = new FileRepository(new File(parentDirName + "/.git"));
-		} catch (IOException e) {
-			log.error("Exception occurred in creating a new file repository. Reason: " + e.getMessage());
-			throw e;
-		}
-
-		Git git = new Git(localRepo);
-
-		CloneCommand cloneCmd =
-		                        git.cloneRepository()
-		                           .setURI("https://localhost:8443/git/" + tenantDomain + "/" +
-		                                           cartridgeName + ".git")
-		                           .setDirectory(new File(parentDirName));
-
-		cloneCmd.setCredentialsProvider(credentialsProvider);
-		try {
-			log.debug("Clonning git repo");
-			cloneCmd.call();
-		} catch (Exception e1) {
-			log.error("Exception occurred in cloning Repo. Reason: " + e1.getMessage());
-			throw e1;
-		}
-		// ------------------------------------
-
-		// --- Adding directory structure --------
-
-		File parentDir = new File(parentDirName);
-		parentDir.mkdir();
-
-		for (String string : dirArray) {
-			String[] arr = string.split("=");
-			if (log.isDebugEnabled()) {
-				log.debug("Creating dir: " + arr[0]);
-			}
-			File parentFile = new File(parentDirName + "/" + arr[0]);
-			parentFile.mkdirs();
-
-			File filess = new File(parentFile, "README");
-			String content = "Content goes here";
-
-			filess.createNewFile();
-			FileWriter fw = new FileWriter(filess.getAbsoluteFile());
-			BufferedWriter bw = new BufferedWriter(fw);
-			bw.write(content);
-			bw.close();
-		}
-		// ----------------------------------------------------------
-
-		// ---- Git status ---------------
-		StatusCommand s = git.status();
-		Status status = null;
-		try {
-			log.debug("Getting git repo status");
-			status = s.call();
-		} catch (Exception e) {
-			log.error("Exception occurred in git status check. Reason: " + e.getMessage());
-			throw e;
-		}
-		// --------------------------------
-
-		// ---------- Git add ---------------
-		AddCommand addCmd = git.add();
-		Iterator<String> it = status.getUntracked().iterator();
-
-		while (it.hasNext()) {
-			addCmd.addFilepattern(it.next());
-		}
-
-		try {
-			log.debug("Adding files to git repo");
-			addCmd.call();
-		} catch (Exception e) {
-			log.error("Exception occurred in adding files. Reason: " + e.getMessage());
-			throw e;
-		}
-		// -----------------------------------------
-
-		// ------- Git commit -----------------------
-
-		CommitCommand commitCmd = git.commit();
-		commitCmd.setMessage("Adding directories");
-
-		try {
-			log.debug("Committing git repo");
-			commitCmd.call();
-		} catch (Exception e) {
-			log.error("Exception occurred in committing . Reason: " + e.getMessage());
-			throw e;
-		}
-		// --------------------------------------------
-
-		// --------- Git push -----------------------
-		PushCommand pushCmd = git.push();
-		pushCmd.setCredentialsProvider(credentialsProvider);
-		try {
-			log.debug("Git repo push");
-			pushCmd.call();
-		} catch (Exception e) {
-			log.error("Exception occurred in Git push . Reason: " + e.getMessage());
-			throw e;
-		}
-
-		try {
-			deleteDirectory(new File(parentDirName));
-		} catch (Exception e) {
-			log.error("Exception occurred in deleting temp files. Reason: " + e.getMessage());
-			throw e;
-		}
-
-		log.info(" Folder structure  is created ..... ");
-
-	}
-
-	private void handleException(String msg, Exception e) throws Exception {
-		log.error(msg, e);
-		throw new Exception(msg, e);
-	}
-
-	private void deleteDirectory(File file) throws IOException {
-
-		if (file.isDirectory()) {
-			// directory is empty, then delete it
-			if (file.list().length == 0) {
-				file.delete();
-
-			} else {
-				// list all the directory contents
-				String files[] = file.list();
-
-				for (String temp : files) {
-					// construct the file structure
-					File fileDelete = new File(file, temp);
-					// recursive delete
-					deleteDirectory(fileDelete);
-				}
-				// check the directory again, if empty then delete it
-				if (file.list().length == 0) {
-					file.delete();
-				}
-			}
-
-		} else {
-			// if file, then delete it
-			file.delete();
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/RepositoryFactory.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/RepositoryFactory.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/RepositoryFactory.java
deleted file mode 100644
index 5f15a1a..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/RepositoryFactory.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-import java.io.File;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.mgt.dao.Repository;
-import org.wso2.carbon.adc.mgt.service.ApplicationManagementService;
-import org.wso2.carbon.utils.CarbonUtils;
-
-/**
- * @author wso2
- * 
- */
-public class RepositoryFactory {
-
-	private static final Log log = LogFactory.getLog(ApplicationManagementService.class);
-
-	/*public synchronized Repository createRepository(String cartridgeName, String tenantDomain,
-	                                          String userName) throws Exception {
-
-		Repository repository = new Repository();
-		String repoName = tenantDomain + "/" + cartridgeName; // removed .git part
-		String repoUserName = userName + "@" + tenantDomain;
-
-		Process proc;
-		try {
-
-			String command =
-			                 CarbonUtils.getCarbonHome() + File.separator + "bin" + File.separator +
-			                         "manage-git-repo.sh " + "create " + repoUserName + " " +
-			                         tenantDomain + " " + cartridgeName + " " +
-			                         System.getProperty(CartridgeConstants.REPO_NOTIFICATION_URL) + " " +
-			                         System.getProperty(CartridgeConstants.GIT_HOST_NAME) +
-			                         " /";
-			proc = Runtime.getRuntime().exec(command);
-			log.info("executing manage-git-repo script..... command :" + command);
-			proc.waitFor();
-			log.info(" Repo is created ..... for user: " + userName + ", tenantName: " +
-			         tenantDomain + " ");
-			repository.setRepoName("git@" + System.getProperty(CartridgeConstants.GIT_HOST_NAME) + ":" +repoName);
-		} catch (Exception e) {
-			log.error(" Exception is occurred when executing manage-git-repo script. Reason :" +
-			          e.getMessage());
-			handleException(e.getMessage(), e);
-		}
-
-		return repository;
-
-	}*/
-
-	/*public synchronized void createGitFolderStructure(String tenantDomain, String cartridgeName,
-	                                            String[] dirArray) throws Exception {
-
-		log.info("In create Git folder structure...!");
-
-		StringBuffer dirBuffer = new StringBuffer();
-		for (String dir : dirArray) {
-			dirBuffer.append(dir).append(" ");
-		}
-
-		Process proc;
-		try {
-			String command =
-			                 CarbonUtils.getCarbonHome() + File.separator + "bin" + File.separator +
-			                         "git-folder-structure.sh " + tenantDomain + " " +
-			                         cartridgeName + " " + dirBuffer.toString() + " /";
-			proc = Runtime.getRuntime().exec(command);
-			log.info("executing manage-git-repo script..... command : " + command);
-			proc.waitFor();
-
-		} catch (Exception e) {
-			log.error(" Exception is occurred when executing manage-git-repo script. Reason :" +
-			          e.getMessage());
-			handleException(e.getMessage(), e);
-		}
-
-		log.info(" Folder structure  is created ..... ");
-
-	}*/
-	
-	public synchronized void destroyRepository(String cartridgeName, String tenantDomain,
-	                                          String userName) throws Exception {
-
-		String repoUserName = userName + "@" + tenantDomain;
-
-		Process proc;
-		try {
-
-			String command =
-			                 CarbonUtils.getCarbonHome() + File.separator + "bin" + File.separator +
-			                         "manage-git-repo.sh " + "destroy " + repoUserName + " " +
-			                         tenantDomain + " " + cartridgeName + 
-			                         " /";
-			proc = Runtime.getRuntime().exec(command);
-			log.info("executing manage-git-repo script (destroy)..... command :" + command);
-			proc.waitFor();
-			log.info(" Repo is destroyed ..... for user: " + userName + ", tenantName: " +
-			         tenantDomain + " ");
-		} catch (Exception e) {
-			log.error(" Exception is occurred when destroying git repo. Reason :" +
-			          e.getMessage());
-			handleException(e.getMessage(), e);
-		}
-
-	}
-
-	private void handleException(String msg, Exception e) throws Exception {
-		log.error(msg, e);
-		throw new Exception(msg, e);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/StratosDBUtils.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/StratosDBUtils.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/StratosDBUtils.java
deleted file mode 100644
index 34656c9..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/StratosDBUtils.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.tomcat.jdbc.pool.DataSource;
-import org.apache.tomcat.jdbc.pool.PoolProperties;
-
-public final class StratosDBUtils {
-
-	private static final Log log = LogFactory.getLog(StratosDBUtils.class);
-
-	private static volatile javax.sql.DataSource dataSource = null;
-
-	/**
-	 * Initializes the data source
-	 * 
-	 * @throws RuntimeException
-	 *             if an error occurs while loading DB configuration
-	 */
-	public static void initialize() throws Exception {
-		if (dataSource != null) {
-			return;
-		}
-
-		synchronized (StratosDBUtils.class) {
-			if (dataSource == null) {
-
-				String datasourceName = System.getProperty(CartridgeConstants.DB_DATASOURCE);
-
-				if (datasourceName != null && datasourceName.trim().length() > 0) {
-					if (log.isInfoEnabled()) {
-						log.info("Initializing data source: " + datasourceName);
-					}
-					try {
-						Context ctx = new InitialContext();
-						dataSource = (DataSource) ctx.lookup(datasourceName);
-						if (dataSource != null && log.isInfoEnabled()) {
-							log.info("Found data source: " + datasourceName + ", " + dataSource.getClass().getName());
-						}
-					} catch (NamingException e) {
-						throw new RuntimeException("Error while looking up the data source: " + datasourceName, e);
-					}
-				} else {
-					// FIXME Should we use system properties to get database
-					// details?
-					String dbUrl = System.getProperty(CartridgeConstants.DB_URL);
-					String driver = System.getProperty(CartridgeConstants.DB_DRIVER);
-					String username = System.getProperty(CartridgeConstants.DB_USERNAME);
-					String password = System.getProperty(CartridgeConstants.DB_PASSWORD);
-
-					if (dbUrl == null || driver == null || username == null || password == null) {
-						String msg = "Required DB configuration parameters are not specified.";
-						log.warn(msg);
-						throw new RuntimeException(msg);
-					}
-					
-					if (log.isInfoEnabled()) {
-						log.info("Initializing data source for JDBC URL: " + dbUrl);
-					}
-
-					PoolProperties p = new PoolProperties();
-					p.setUrl(dbUrl);
-					p.setDriverClassName(driver);
-					p.setUsername(username);
-					p.setPassword(password);
-					p.setJmxEnabled(true);
-					p.setTestWhileIdle(false);
-					p.setTestOnBorrow(true);
-					p.setValidationQuery("SELECT 1");
-					p.setTestOnReturn(false);
-					p.setValidationInterval(30000);
-					p.setTimeBetweenEvictionRunsMillis(30000);
-					p.setMaxActive(100);
-					p.setInitialSize(10);
-					p.setMaxWait(10000);
-					p.setRemoveAbandonedTimeout(60);
-					p.setMinEvictableIdleTimeMillis(30000);
-					p.setMinIdle(10);
-					p.setLogAbandoned(true);
-					p.setRemoveAbandoned(true);
-					p.setDefaultAutoCommit(false);
-					p.setJdbcInterceptors("org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;"
-							+ "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer");
-					DataSource tomcatDatasource = new DataSource();
-					tomcatDatasource.setPoolProperties(p);
-
-					dataSource = tomcatDatasource;
-				}
-
-			}
-		}
-	}
-
-	/**
-	 * Utility method to get a new database connection
-	 * 
-	 * @return Connection
-	 * @throws java.sql.SQLException
-	 *             if failed to get Connection
-	 */
-	public static Connection getConnection() throws SQLException {
-		if (dataSource != null) {
-			return dataSource.getConnection();
-		}
-		throw new SQLException("Datasource is not configured properly.");
-	}
-
-	/**
-	 * Utility method to close the connection streams.
-	 * 
-	 * @param connection
-	 *            Connection
-	 * @param preparedStatement
-	 *            PreparedStatement
-	 * @param resultSet
-	 *            ResultSet
-	 */
-	public static void closeAllConnections(Connection connection, PreparedStatement preparedStatement,
-			ResultSet resultSet) {
-		closeResultSet(resultSet);
-		closeStatement(preparedStatement);
-		closeConnection(connection);
-	}
-
-	public static void closeAllConnections(Connection connection, PreparedStatement... preparedStatements) {
-		for (PreparedStatement preparedStatement : preparedStatements) {
-			closeStatement(preparedStatement);
-		}
-		closeConnection(connection);
-	}
-
-	/**
-	 * Close Connection
-	 * 
-	 * @param dbConnection
-	 *            Connection
-	 */
-	public static void closeConnection(Connection dbConnection) {
-		if (dbConnection != null) {
-			try {
-				dbConnection.close();
-			} catch (SQLException e) {
-				log.warn(
-						"Database error. Could not close database connection. Continuing with " + "others. - "
-								+ e.getMessage(), e);
-			}
-		}
-	}
-
-	/**
-	 * Close ResultSet
-	 * 
-	 * @param resultSet
-	 *            ResultSet
-	 */
-	public static void closeResultSet(ResultSet resultSet) {
-		if (resultSet != null) {
-			try {
-				resultSet.close();
-			} catch (SQLException e) {
-				log.warn("Database error. Could not close ResultSet  - " + e.getMessage(), e);
-			}
-		}
-
-	}
-
-	/**
-	 * Close PreparedStatement
-	 * 
-	 * @param preparedStatement
-	 *            PreparedStatement
-	 */
-	public static void closeStatement(PreparedStatement preparedStatement) {
-		if (preparedStatement != null) {
-			try {
-				preparedStatement.close();
-			} catch (SQLException e) {
-				log.warn(
-						"Database error. Could not close PreparedStatement. Continuing with" + " others. - "
-								+ e.getMessage(), e);
-			}
-		}
-
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/SynchronizeRepositoryRequest.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/SynchronizeRepositoryRequest.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/SynchronizeRepositoryRequest.java
deleted file mode 100644
index c83c77d..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/utils/SynchronizeRepositoryRequest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.utils;
-
-import org.apache.axis2.clustering.ClusteringCommand;
-import org.apache.axis2.clustering.ClusteringFault;
-import org.apache.axis2.clustering.ClusteringMessage;
-import org.apache.axis2.clustering.management.GroupManagementCommand;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.engine.AxisConfigurator;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.util.tracker.ServiceTracker;
-import org.wso2.carbon.core.CarbonAxisConfigurator;
-import org.wso2.carbon.core.internal.CarbonCoreDataHolder;
-import org.wso2.carbon.core.multitenancy.TenantAxisConfigurator;
-import org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.wso2.carbon.utils.deployment.GhostDeployerUtils;
-import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
-import org.wso2.carbon.utils.multitenancy.MultitenantUtils;
-
-import java.util.UUID;
-
-/**
- * ClusterMessage for sending a deployment repository synchronization request
- */
-public class SynchronizeRepositoryRequest extends GroupManagementCommand {
-
-	/**
-     * 
-     */
-	private static final long serialVersionUID = 8717694086109561127L;
-
-	private transient static final Log log = LogFactory.getLog(SynchronizeRepositoryRequest.class);
-	private int tenantId;
-	private String tenantDomain;
-	private UUID messageId;
-
-	public SynchronizeRepositoryRequest() {
-	}
-
-	public SynchronizeRepositoryRequest(int tenantId, String tenantDomain, UUID messageId) {
-		this.tenantId = tenantId;
-		this.tenantDomain = tenantDomain;
-		this.messageId = messageId;
-	}
-
-	public void setTenantId(int tenantId) {
-		this.tenantId = tenantId;
-	}
-
-	public void execute(ConfigurationContext configContext) throws ClusteringFault {
-		log.info("Received  [" + this + "] ");
-		// Run only if the tenant is loaded
-		if (tenantId == MultitenantConstants.SUPER_TENANT_ID ||
-		    TenantAxisUtils.getTenantConfigurationContexts(configContext).get(tenantDomain) != null) {
-			updateDeploymentRepository(configContext);
-			doDeployment(configContext);
-		}
-	}
-
-	private void doDeployment(ConfigurationContext configContext) {
-		AxisConfigurator axisConfigurator = configContext.getAxisConfiguration().getConfigurator();
-		if (axisConfigurator instanceof CarbonAxisConfigurator) {
-			((CarbonAxisConfigurator) axisConfigurator).runDeployment();
-		} else if (axisConfigurator instanceof TenantAxisConfigurator) {
-			((TenantAxisConfigurator) axisConfigurator).runDeployment();
-		}
-	}
-
-	private void updateDeploymentRepository(ConfigurationContext configContext) {
-
-		log.info(" Update Deployment Repo...");
-		/*
-		 * BundleContext bundleContext =
-		 * CarbonCoreDataHolder.getInstance().getBundleContext();
-		 * ServiceReference reference =
-		 * bundleContext.getServiceReference(DeploymentSynchronizer.class.getName
-		 * ());
-		 * if (reference != null) {
-		 * ServiceTracker serviceTracker =
-		 * new ServiceTracker(bundleContext,
-		 * DeploymentSynchronizer.class.getName(), null);
-		 * try {
-		 * serviceTracker.open();
-		 * for (Object obj : serviceTracker.getServices()) {
-		 * // if the update is for worker node with ghost ON, then we will
-		 * update the
-		 * // whole repo for now. See CARBON-13899
-		 * if (GhostDeployerUtils.isGhostOn() && CarbonUtils.isWorkerNode() &&
-		 * tenantId > 0) {
-		 * String repoPath = MultitenantUtils.getAxis2RepositoryPath(tenantId);
-		 * ((DeploymentSynchronizer) obj).update(repoPath, repoPath, 3);
-		 * } else {
-		 * ((DeploymentSynchronizer) obj).update(tenantId);
-		 * }
-		 * }
-		 * } catch (Exception e) {
-		 * log.error("Repository update failed for tenant " + tenantId, e);
-		 * setRepoUpdateFailed(configContext);
-		 * } finally {
-		 * serviceTracker.close();
-		 * }
-		 * }
-		 */
-	}
-
-	private void setRepoUpdateFailed(ConfigurationContext configContext) {
-		AxisConfigurator axisConfigurator = configContext.getAxisConfiguration().getConfigurator();
-		if (axisConfigurator instanceof CarbonAxisConfigurator) {
-			((CarbonAxisConfigurator) axisConfigurator).setRepoUpdateFailed();
-		} else if (axisConfigurator instanceof TenantAxisConfigurator) {
-			((TenantAxisConfigurator) axisConfigurator).setRepoUpdateFailed();
-		}
-	}
-
-	public ClusteringCommand getResponse() {
-		return null;
-	}
-
-	@Override
-	public String toString() {
-		return "SynchronizeRepositoryRequest{" + "tenantId=" + tenantId + ", tenantDomain='" +
-		       tenantDomain + '\'' + ", messageId=" + messageId + '}';
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/resources/META-INF/services.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/resources/META-INF/services.xml b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/resources/META-INF/services.xml
deleted file mode 100644
index 923a2a0..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/resources/META-INF/services.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<!-- ~ Copyright WSO2 Inc. (http://www.wso2.com) All Rights
-	Reserved. ~ ~ WSO2 Inc. 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. -->
-<serviceGroup>
-	<service name="ApplicationManagementService" scope="transportsession">
-		<transports>
-			<transport>https</transport>
-		</transports>
-		<description>
-			Admin service for ADC activities
-		</description>
-		<parameter name="ServiceClass">org.wso2.carbon.adc.mgt.service.ApplicationManagementService
-        </parameter>
-		<parameter name="enableMTOM">true</parameter>
-		<parameter name="adminService" locked="true">true</parameter>
-		<parameter name="hiddenService" locked="true">true</parameter>
-		<parameter name="AuthorizationAction" locked="true">
-			/permission/admin/manage/modify/webapp    </parameter>
-		<parameter name="DoAuthentication" locked="true">true</parameter>
-	</service>
-
-	<service name="RepoNotificationService" scope="transportsession">
-		<schema schemaNamespace="http://org.apache.axis2/xsd"
-			elementFormDefaultQualified="true" />
-		<transports>
-			<transport>https</transport>
-		</transports>
-		<description>
-			Admin service for receiving git repo update notifications
-		</description>
-		<parameter name="ServiceClass">org.wso2.carbon.adc.mgt.service.RepoNotificationService
-		</parameter>
-		<parameter name="enableMTOM">true</parameter>
-		<parameter name="adminService" locked="true">false</parameter>
-		<parameter name="hiddenService" locked="true">false</parameter>
-		<parameter name="AuthorizationAction" locked="false">
-			/permission/admin/manage/modify/webapp
-    </parameter>
-	</service>
-
-	<service name="RepositoryInformationService" scope="transportsession">
-		<schema schemaNamespace="http://org.apache.axis2/xsd"
-			elementFormDefaultQualified="true" />
-		<transports>
-			<transport>https</transport>
-		</transports>
-		<description>
-			Exposes information related to internally created
-			repositories
-        </description>
-		<parameter name="ServiceClass">org.wso2.carbon.adc.mgt.service.RepositoryInformationService
-		</parameter>
-		<parameter name="enableMTOM">true</parameter>
-		<parameter name="adminService" locked="true">false</parameter>
-		<parameter name="hiddenService" locked="true">false</parameter>
-		<parameter name="AuthorizationAction" locked="false">
-			/permission/admin/manage/modify/webapp
-    	</parameter>
-	</service>
-
-	<service name="InstanceInformationManagementService" scope="transportsession">
-		<schema schemaNamespace="http://org.apache.axis2/xsd"
-			elementFormDefaultQualified="true" />
-		<transports>
-			<transport>https</transport>
-		</transports>
-		<description>
-			Exposes information related to internally created
-			repositories
-        </description>
-		<parameter name="ServiceClass">org.wso2.carbon.adc.mgt.service.InstanceInformationManagementService</parameter>
-		<parameter name="enableMTOM">true</parameter>
-		<parameter name="adminService" locked="true">false</parameter>
-		<parameter name="hiddenService" locked="true">false</parameter>
-		<parameter name="AuthorizationAction" locked="false">
-			/permission/admin/manage/modify/webapp
-    	</parameter>
-	</service>
-
-</serviceGroup>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/resources/policies.xsd
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/resources/policies.xsd b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/resources/policies.xsd
deleted file mode 100644
index 87f7b58..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/resources/policies.xsd
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<xs:schema attributeFormDefault="unqualified"
-	elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-	<xs:element name="policies">
-		<xs:annotation>
-			<xs:documentation>Use below section to specify auto-scaling policies
-				for cartridges.
-			</xs:documentation>
-		</xs:annotation>
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="policy" maxOccurs="unbounded"
-					minOccurs="1">
-					<xs:annotation>
-						<xs:documentation>You can have 1..n policy elements.
-						</xs:documentation>
-					</xs:annotation>
-					<xs:complexType>
-						<xs:sequence>
-							<xs:element type="xs:string" name="description" />
-							<xs:element type="xs:integer" name="min_app_instances" />
-							<xs:element type="xs:integer" name="max_app_instances" />
-							<xs:element type="xs:integer" name="max_requests_per_second" />
-							<xs:element type="xs:decimal" name="alarming_upper_rate" />
-							<xs:element type="xs:decimal" name="alarming_lower_rate" />
-							<xs:element type="xs:decimal" name="scale_down_factor" />
-							<xs:element type="xs:integer" name="rounds_to_average" />
-						</xs:sequence>
-						<xs:attribute type="xs:string" name="name" use="required" />
-						<xs:attribute type="xs:boolean" name="isDefault" use="required" />
-					</xs:complexType>
-				</xs:element>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-</xs:schema>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/scripts/append_zone_file.sh
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/scripts/append_zone_file.sh b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/scripts/append_zone_file.sh
deleted file mode 100755
index 45491df..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/scripts/append_zone_file.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-echo "subdomain $1 and ip $2 added to $3"
-appending_file=$3
-subdomain=$1
-ip=$2
-
-#appending the zone file
-echo $subdomain'\t'IN'\t'A'\t'$ip>> $appending_file
-
-#increasing the count
-for file in $appending_file;
-do
-  if [ -f $file ];
-  then
-    OLD=`egrep -ho "2010-9[0-9]*" $file`
-    NEW=$(($OLD + 1))
-    sed -i "s/$OLD/$NEW/g" $file
-    echo "fixed $file" 
-  fi
-done
-
-
-#reloading bind server
-/etc/init.d/bind9 reload

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/java/org/wso2/carbon/adc/mgt/test/PolicyHolderTest.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/java/org/wso2/carbon/adc/mgt/test/PolicyHolderTest.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/java/org/wso2/carbon/adc/mgt/test/PolicyHolderTest.java
deleted file mode 100644
index c81fc80..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/java/org/wso2/carbon/adc/mgt/test/PolicyHolderTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.wso2.carbon.adc.mgt.test;
-
-import java.io.File;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.TestCase;
-
-import org.wso2.carbon.adc.mgt.utils.PolicyHolder;
-
-public class PolicyHolderTest extends TestCase {
-
-	private PolicyHolder getPolicyHolder(String policiesXMLFile) {
-		File policiesXmlSchema = new File("src/main/resources/policies.xsd");
-		String dir = "src/test/resources/";
-
-		Class<PolicyHolder> clazz = PolicyHolder.class;
-
-		Constructor<PolicyHolder> c;
-		try {
-			c = clazz.getDeclaredConstructor(File.class, File.class);
-			c.setAccessible(true);
-		} catch (NoSuchMethodException e) {
-			throw new RuntimeException(e);
-		} catch (SecurityException e) {
-			throw new RuntimeException(e);
-		}
-		PolicyHolder policyHolder;
-		try {
-			policyHolder = c.newInstance(policiesXmlSchema, new File(dir, policiesXMLFile));
-		} catch (InstantiationException e) {
-			throw new RuntimeException(e);
-		} catch (IllegalAccessException e) {
-			throw new RuntimeException(e);
-		} catch (IllegalArgumentException e) {
-			throw new RuntimeException(e);
-		} catch (InvocationTargetException e) {
-			throw new RuntimeException(e);
-		}
-		return policyHolder;
-	}
-
-	public void testDefaultPolicy() {
-		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
-		assertNotNull(policyHolder);
-		assertNotNull(policyHolder.getDefaultPolicy());
-	}
-	
-	
-	public void testSinglePolicy() {
-		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
-		assertNotNull(policyHolder);
-		assertNotNull(policyHolder.getPolicy("single"));
-		assertEquals("single", policyHolder.getPolicy("single").getName());
-	}
-	
-	public void testElasticPolicy() {
-		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
-		assertNotNull(policyHolder);
-		assertNotNull(policyHolder.getPolicy("elastic"));
-		assertEquals("elastic", policyHolder.getPolicy("elastic").getName());
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/resources/log4j.properties b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/resources/log4j.properties
deleted file mode 100644
index a131630..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.Target=System.out
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1} [%t] %n%m%n
-
-#Loggers
-log4j.rootLogger=info, console
-log4j.logger.org.wso2.carbon.adc.mgt=trace
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/resources/policies-1.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/resources/policies-1.xml b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/resources/policies-1.xml
deleted file mode 100644
index 7dd37d5..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/test/resources/policies-1.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<policies>
-	<policy name="single" isDefault="true">
-		<description>Single - Instances: Min 1, Max 1</description>
-		<min_app_instances>1</min_app_instances>
-		<max_app_instances>1</max_app_instances>
-		<max_requests_per_second>5</max_requests_per_second>
-		<alarming_upper_rate>0.7</alarming_upper_rate>
-		<alarming_lower_rate>0.2</alarming_lower_rate>
-		<scale_down_factor>0.25</scale_down_factor>
-		<rounds_to_average>2</rounds_to_average>
-	</policy>
-	<policy name="elastic" isDefault="false">
-		<description>Elastic - Instances: Min 1, Max 4</description>
-		<min_app_instances>1</min_app_instances>
-		<max_app_instances>4</max_app_instances>
-		<max_requests_per_second>5</max_requests_per_second>
-		<alarming_upper_rate>0.7</alarming_upper_rate>
-		<alarming_lower_rate>0.2</alarming_lower_rate>
-		<scale_down_factor>0.25</scale_down_factor>
-		<rounds_to_average>2</rounds_to_average>
-	</policy>
-</policies>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/pom.xml
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/pom.xml b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/pom.xml
index 03111eb..0b6aa8f 100644
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/pom.xml
+++ b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.topology.mgt/2.1.3/pom.xml
@@ -26,7 +26,7 @@
 
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.wso2.carbon</groupId>
-    <artifactId>org.wso2.carbon.adc.topology.mgt</artifactId>
+    <artifactId>org.apache.stratos.adc.topology.mgt</artifactId>
     <packaging>bundle</packaging>
     <version>2.1.3</version>
     <name>WSO2 Carbon - Topology Management</name>
@@ -112,10 +112,10 @@
                         	org.wso2.carbon.stratos.topology.mgt.service.impl.*
                         </Private-Package> -->
                         <Export-Package>
-                            org.wso2.carbon.adc.topology.mgt.subscriber.*,
-                            org.wso2.carbon.adc.topology.mgt.service.*,
-                            org.wso2.carbon.adc.topology.mgt.group.mgt.*,
-							org.wso2.carbon.adc.topology.mgt.serviceobjects.*
+                            org.apache.stratos.adc.topology.mgt.subscriber.*,
+                            org.apache.stratos.adc.topology.mgt.service.*,
+                            org.apache.stratos.adc.topology.mgt.group.mgt.*,
+							org.apache.stratos.adc.topology.mgt.serviceobjects.*
                         </Export-Package>
                         <Import-Package>
                             org.wso2.carbon.lb.common.*; version=4.1.1,


[04/12] Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/DataHolder.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/DataHolder.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/DataHolder.java
deleted file mode 100644
index ed65306..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/DataHolder.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.internal;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.wso2.carbon.registry.core.Registry;
-import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
-import org.wso2.carbon.user.core.service.RealmService;
-import org.wso2.carbon.utils.CarbonUtils;
-
-/**
- * Holds the some of the data required by the webapps component
- */
-public class DataHolder {
-	private static ConfigurationContext clientConfigContext;
-	private static ConfigurationContext serverConfigContext;
-
-	private static RealmService realmService;
-	private static Registry registry;
-	private static TopologyManagementService topologyMgtService;
-
-	public static RealmService getRealmService() {
-		return realmService;
-	}
-
-	public static void setRealmService(RealmService realmService) {
-		DataHolder.realmService = realmService;
-	}
-
-	public static Registry getRegistry() {
-		return registry;
-	}
-
-	public static ConfigurationContext getClientConfigContext() {
-		CarbonUtils.checkSecurity();
-		return clientConfigContext;
-	}
-
-	public static void setClientConfigContext(ConfigurationContext clientConfigContext) {
-		DataHolder.clientConfigContext = clientConfigContext;
-	}
-
-	public static ConfigurationContext getServerConfigContext() {
-		CarbonUtils.checkSecurity();
-		return serverConfigContext;
-	}
-
-	public static void setServerConfigContext(ConfigurationContext serverConfigContext) {
-		DataHolder.serverConfigContext = serverConfigContext;
-	}
-
-	public static void setRegistry(Registry registry) {
-		DataHolder.registry = registry;
-	}
-
-	public static TopologyManagementService getTopologyMgtService() {
-		return topologyMgtService;
-	}
-
-	public static void setTopologyMgtService(TopologyManagementService topologyMgtService) {
-		DataHolder.topologyMgtService = topologyMgtService;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/HostingConstants.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/HostingConstants.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/HostingConstants.java
deleted file mode 100644
index 247946e..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/HostingConstants.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.internal;
-
-/**
- * Web Application Constants
- */
-public final class HostingConstants {
-	public static final String WEBAPP_PREFIX = "webapps";
-	public static final String WEBAPP_DEPLOYMENT_FOLDER = "webapps";
-	public static final String WEBAPP_EXTENSION = "war";
-
-	public static final class WebappState {
-		public static final String STARTED = "started";
-		public static final String STOPPED = "stopped";
-
-		private WebappState() {
-		}
-	}
-
-	private HostingConstants() {
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/HostingManagementActivator.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/HostingManagementActivator.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/HostingManagementActivator.java
deleted file mode 100644
index 3485cdb..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/HostingManagementActivator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.internal;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.wso2.carbon.utils.CarbonUtils;
-
-/**
- * Activator for the Webapp Management Bundle
- */
-public class HostingManagementActivator implements BundleActivator {
-	private static final Log log = LogFactory.getLog(HostingManagementActivator.class);
-
-	@Override
-	public void start(final BundleContext bundleContext) {
-
-		// If Carbon is running as a webapp within some other servlet container,
-		// then we should
-		// uninstall this component
-		if (!CarbonUtils.isRunningInStandaloneMode()) {
-			Thread th = new Thread() {
-				@Override
-				public void run() {
-					try {
-						bundleContext.getBundle().uninstall();
-					} catch (Throwable e) {
-						log.warn("Error occurred while uninstalling hosting.mgt UI bundle", e);
-					}
-				}
-			};
-			try {
-				th.join();
-			} catch (InterruptedException ignored) {
-			}
-			th.start();
-		}
-	}
-
-	@Override
-	public void stop(BundleContext bundleContext) {
-		// No implementation required for this method
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/ApplicationManagementService.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/ApplicationManagementService.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/ApplicationManagementService.java
deleted file mode 100644
index 731e83c..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/ApplicationManagementService.java
+++ /dev/null
@@ -1,620 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.service;
-
-import org.apache.axis2.AxisFault;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.mgt.custom.domain.RegistryManager;
-import org.wso2.carbon.adc.mgt.dao.CartridgeSubscription;
-import org.wso2.carbon.adc.mgt.dns.DNSManager;
-import org.wso2.carbon.adc.mgt.dto.Cartridge;
-import org.wso2.carbon.adc.mgt.dto.CartridgeWrapper;
-import org.wso2.carbon.adc.mgt.dto.PolicyDefinition;
-import org.wso2.carbon.adc.mgt.dto.RepositoryInformation;
-import org.wso2.carbon.adc.mgt.dto.SubscriptionInfo;
-import org.wso2.carbon.adc.mgt.exception.*;
-import org.wso2.carbon.adc.mgt.internal.DataHolder;
-import org.wso2.carbon.adc.mgt.utils.*;
-import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
-import org.wso2.carbon.context.PrivilegedCarbonContext;
-import org.wso2.carbon.core.AbstractAdmin;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.stratos.cloud.controller.util.xsd.CartridgeInfo;
-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);
-    RegistryManager registryManager = new RegistryManager();
-
-    PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
-    String tenantDomain = carbonContext.getTenantDomain();
-    
-    /*
-     * Instantiate RepoNotificationService. Since this service is in the same 
-     * component (org.wso2.carbon.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 = ApplicationManagementUtil.getServiceClient().getRegisteredCartridges();
-
-			if (availableCartridges != null) {
-				for (String cartridgeType : availableCartridges) {
-					CartridgeInfo cartridgeInfo = null;
-					try {
-						cartridgeInfo = ApplicationManagementUtil.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
-						// subscribe 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 subscribe");
-							}
-							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<CartridgeSubscription> subscriptionList = PersistenceManager
-					.retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(getConfigContext()));
-
-			if (subscriptionList != null && !subscriptionList.isEmpty()) {
-				for (CartridgeSubscription subscription : subscriptionList) {
-					CartridgeInfo cartridgeInfo = null;
-					try {
-						cartridgeInfo = ApplicationManagementUtil.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, tenantDomain);
-					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, CartridgeSubscription cartridgeSubscription, 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 && cartridgeSubscription.getCartridge() != null) {
-                matches = pattern.matcher(cartridgeSubscription.getCartridge().toLowerCase()).find();
-            }
-            if (!matches && cartridgeSubscription.getAlias() != null) {
-                matches = pattern.matcher(cartridgeSubscription.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<CartridgeSubscription> subscriptionList = PersistenceManager
-                    .retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(getConfigContext()));
-            List<String> subscribedAliases = new ArrayList<String>();
-            for (CartridgeSubscription cartridgeSubscription : subscriptionList) {
-
-                if(cartridgeSubscription.getProvider().equalsIgnoreCase(CartridgeConstants.PROVIDER_NAME_WSO2) &&
-                        getCartridgeInfo(cartridgeSubscription.getAlias()).isMultiTenant()) {
-
-                    subscribedAliases.add(cartridgeSubscription.getCartridge());
-                } else {
-                    subscribedAliases.add(cartridgeSubscription.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());
-
-	}
-
-
-    /**
-     * Unsubscribing the cartridge
-     *
-     * @param alias name of the cartridge to be unsubscribed
-     */
-    public void unsubscribe(String alias) throws ADCException, NotSubscribedException {
-    	checkSuperTenant();
-        CartridgeSubscription subscription = null;
-        
-        try {
-			subscription = PersistenceManager.getSubscription(tenantDomain, alias);
-		} catch (Exception e) {
-			String msg = "Failed to get subscription for " + tenantDomain + " and alias " + alias;
-            log.error(msg, e);
-			throw new ADCException(msg, e);
-		}
-
-        if (subscription == null) {
-            String msg = "Tenant " + tenantDomain + " 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 = ApplicationManagementUtil.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);
-                ApplicationManagementUtil.getServiceClient().terminateAllInstances(clusterDomain, clusterSubDomain);
-                log.info("All instances terminated.");
-                log.info("Unregistering services...");
-                ApplicationManagementUtil.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, tenantDomain, 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 '.' ");
-		//		}
-
-        CartridgeSubscription subscription = null;
-        String actualHost = null;
-        
-        try {
-			subscription = PersistenceManager.getSubscription(tenantDomain, cartridgeAlias);
-		} catch (Exception e) {
-			String msg = "Failed to get subscription for " + tenantDomain + " and alias " + cartridgeAlias;
-            log.error(msg, e);
-			throw new ADCException(msg, e);
-		}
-        if (subscription == null) {
-        	String msg = "Tenant " + tenantDomain + " 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: " + tenantDomain);
-            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();
-        CartridgeSubscription subscription = null;
-        String actualHost = null;
-        
-        try {
-			subscription = PersistenceManager.getSubscription(tenantDomain, cartridgeAlias);
-		} catch (Exception e) {
-			String msg = "Failed to get subscription for " + tenantDomain + " and alias " + cartridgeAlias;
-            log.error(msg, e);
-			throw new ADCException(msg, e);
-		}
-        if (subscription == null) {
-        	String msg = "Tenant " + tenantDomain + " 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: " + tenantDomain);
-            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();
-        CartridgeSubscription subscription = null;
-        
-        // Validating subscription
-        try {
-			subscription = PersistenceManager.getSubscription(tenantDomain, cartridgeAlias);
-		} catch (Exception e) {
-			String msg = "Failed to get subscription for " + tenantDomain + " and alias " + cartridgeAlias;
-            log.error(msg, e);
-			throw new ADCException(msg, e);
-		}
-        if (subscription == null) {
-        	String msg = "Tenant " + tenantDomain + " is not subscribed for " + cartridgeAlias;
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + cartridgeAlias, cartridgeAlias);
-        }
-		
-		try {
-			repoNotificationService.notifyRepoUpdate(tenantDomain, cartridgeAlias);
-		} catch (Exception e) {
-			throw new ADCException(e.getMessage() != null ? e.getMessage() : "Failed to synchronize repository", e);
-		}
-	}
-
-    /**
-     * Validate authentication.
-     * First call of cli tool in the prompt mode after log in.
-     *
-     * @return The tenant domain
-     */
-	public String getTenantDomain() {
-		if (tenantDomain != null) {
-			// This means, authentication is successful
-			log.info("Tenant " + tenantDomain + " is authorized to access Application Management Service!");
-		}
-		return tenantDomain;
-	}
-    
-	/**
-	 * 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: " + carbonContext.getTenantDomain());
-		}
-		if (MultitenantConstants.SUPER_TENANT_ID == ApplicationManagementUtil.getTenantId(getConfigContext())) {
-			throw new ADCException("Super Tenant is not allowed to complete requested operation");
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/InstanceInformationManagementService.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/InstanceInformationManagementService.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/InstanceInformationManagementService.java
deleted file mode 100644
index 0ae3b4f..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/InstanceInformationManagementService.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.service;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.mgt.utils.PersistenceManager;
-
-public class InstanceInformationManagementService {
-
-	
-    private static final Log log = LogFactory.getLog(InstanceInformationManagementService.class);
-
-    /**
-    * Everytime an instance 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 instance state. Reason, " + e.getMessage());
-    }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepoNotificationService.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepoNotificationService.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepoNotificationService.java
deleted file mode 100644
index 2d3f640..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepoNotificationService.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.service;
-
-import java.io.File;
-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.wso2.carbon.adc.mgt.dao.CartridgeSubscription;
-import org.wso2.carbon.adc.mgt.internal.DataHolder;
-import org.wso2.carbon.adc.mgt.utils.CartridgeConstants;
-import org.wso2.carbon.adc.mgt.utils.PersistenceManager;
-import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
-import org.wso2.carbon.core.deployment.SynchronizeGitRepositoryRequest;
-import org.wso2.carbon.utils.CarbonUtils;
-
-
-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);
-
-		CartridgeSubscription 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<CartridgeSubscription> subscription = PersistenceManager.getSubscription(repositoryURL);
-		for (CartridgeSubscription cartridgeSubscription : subscription) {			
-			handleRepoSynch(cartridgeSubscription);   
-        }
-	}
-
-	private void handleRepoSynch(CartridgeSubscription subscription) throws Exception {
-		if (subscription == null) {
-			throw new Exception("Cannot synchronize repository. subscription is null");
-		}
-
-		if (CartridgeConstants.PROVIDER_NAME_WSO2.equals(subscription.getProvider())) {
-			log.info(" wso2 cartridge.. ");
-			createAndSendClusterMessage(subscription.getTenantId(), subscription.getTenantDomain(),
-			                            UUID.randomUUID(), subscription.getClusterDomain(),
-			                            subscription.getClusterSubdomain());
-			//for manager node
-			           /* if (subscription.getMgtClusterSubDomain() != null && !subscription.getMgtClusterSubDomain().isEmpty()) {
-			                createAndSendClusterMessage(subscription.getTenantId(), subscription.getTenantDomain(),
-			                        UUID.randomUUID(), subscription.getMgtClusterDomain(),
-			                        subscription.getMgtClusterSubDomain());
-			            }
-			            else {
-			                if(log.isDebugEnabled())
-			                    log.debug("Manager node cluster information not found, not sending the SynchronizeGitRepositoryRequest");
-			            }*/
-
-		} else {
-
-			// Query DB and get all the IP s for this tenant 
-			// Invoke update-instance script
-			
-			String appPath = subscription.getBaseDirectory();
-			String cartridgePrivateKey = System.getProperty(CartridgeConstants.CARTRIDGE_KEY);
-			
-			File keyFile = new File(cartridgePrivateKey);
-			if (!keyFile.exists()) {
-				log.error("The key file does not exist! " + cartridgePrivateKey);
-			}
-
-			if (subscription != null) {
-				TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
-
-				
-				if (topologyMgtService == null) {
-					String msg = " Topology Management Service is null ";
-					log.error(msg);
-					throw new Exception(msg);
-				}
-
-				String[] activeIpArray =
-				                         topologyMgtService.getActiveIPs(subscription.getCartridge(),
-				                                                         subscription.getClusterDomain(),
-				                                                         subscription.getClusterSubdomain());
-				try {
-
-					for (String instanceIp : activeIpArray) {
-						String command =
-						                 CarbonUtils.getCarbonHome() + File.separator + "bin" +
-						                         File.separator + "update-instance.sh " +
-						                         instanceIp + " " + appPath + " " +
-						                         cartridgePrivateKey + " /";
-						log.info("Update instance command.... " + command);
-						Process proc = Runtime.getRuntime().exec(command);
-						proc.waitFor();
-					}
-
-				} catch (Exception e) {
-					log.error("Exception is occurred in notify update operation. Reason : " +
-					          e.getMessage());
-					throw e;
-				}
-			}
-		}
-	}
-
-	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/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepositoryInfoBean.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepositoryInfoBean.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepositoryInfoBean.java
deleted file mode 100644
index 859dcc6..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepositoryInfoBean.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * 
- */
-package org.wso2.carbon.adc.mgt.service;
-
-import org.wso2.carbon.stratos.cloud.controller.util.xsd.CartridgeInfo;
-
-/**
- * @author wso2
- *
- */
-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/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepositoryInformationService.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepositoryInformationService.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepositoryInformationService.java
deleted file mode 100644
index ded0e64..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/service/RepositoryInformationService.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.service;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.mgt.dao.RepositoryCredentials;
-import org.wso2.carbon.adc.mgt.utils.PersistenceManager;
-
-/**
- * 
- * Exposes information related to internally created repositories  
- * 
- */
-public class RepositoryInformationService {
-
-	private static final Log log = LogFactory.getLog(RepositoryInformationService.class);
-
-	public String getRepositoryUrl(int tenantId, String cartridgeType) throws Exception {
-
-		String repoUrl = null;
-		try {
-			repoUrl = PersistenceManager.getRepoURL(tenantId, cartridgeType);
-		} catch (Exception e) {
-			String msg = "System Exception is occurred when retriving repo URL";
-			log.error(msg + ". Reason :" + e.getMessage());
-			throw new Exception(msg);
-		}
-		if (repoUrl == null) {
-			log.error("Repository URL is not successfully retrieved " + "for tenant [" + tenantId +
-			          "] and cartridge [" + cartridgeType + "] ");
-		}
-		return repoUrl;
-	}
-
-    public RepositoryCredentials getRepositoryCredentials(int tenantId, String cartridgeType, String alias) throws Exception {
-
-    	RepositoryCredentials repoCredentials = null;
-        try {
-        	repoCredentials = PersistenceManager.getRepoCredentials(tenantId,cartridgeType, alias);
-        } catch (Exception e) {
-            String msg = "System Exception is occurred when retrieving user credentials";
-            log.error(msg + ". Reason :" + e.getMessage());
-            throw new Exception(msg);
-        }
-        if (repoCredentials == null) {
-            log.error("Repository credentials are not successfully retrieved " + "for tenant [" + tenantId +
-                    "] and cartridge [" + cartridgeType + "] ");
-        }
-        return repoCredentials;
-    }
-}


[05/12] Refactoring org.wso2.carbon to org.apache.stratos

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/CloudControllerServiceClient.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/CloudControllerServiceClient.java
deleted file mode 100644
index e6dfb4a..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/CloudControllerServiceClient.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.client;
-
-import java.rmi.RemoteException;
-
-import javax.activation.DataHandler;
-
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.mgt.exception.UnregisteredCartridgeException;
-import org.wso2.carbon.adc.mgt.internal.DataHolder;
-import org.wso2.carbon.stratos.cloud.controller.stub.CloudControllerServiceStub;
-import org.wso2.carbon.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException;
-import org.wso2.carbon.stratos.cloud.controller.util.xsd.CartridgeInfo;
-import org.wso2.carbon.stratos.cloud.controller.util.xsd.Properties;
-
-public class CloudControllerServiceClient {
-
-	private CloudControllerServiceStub stub;
-
-	private static final Log log = LogFactory.getLog(CloudControllerServiceClient.class);
-
-	public CloudControllerServiceClient(String epr) throws AxisFault {
-
-		ConfigurationContext clientConfigContext = DataHolder.getClientConfigContext();
-		try {
-			stub = new CloudControllerServiceStub(clientConfigContext, epr);
-			stub._getServiceClient().getOptions().setTimeOutInMilliSeconds(300000);
-
-		} catch (AxisFault axisFault) {
-			String msg = "Failed to initiate AutoscalerService client. " + axisFault.getMessage();
-			log.error(msg, axisFault);
-			throw new AxisFault(msg, axisFault);
-		}
-
-	}
-
-	public boolean register(String domainName, String subDomain, String cartridgeType,
-	                        DataHandler payload, String tenantRange, String hostName, Properties properties) throws RemoteException, CloudControllerServiceUnregisteredCartridgeExceptionException
-	                                                                                  {		
-		return stub.registerService(domainName, subDomain, tenantRange, cartridgeType, hostName,
-		                            properties, payload);
-
-	}
-
-	public String startInstance(String domain, String subDomain) throws Exception {
-		return stub.startInstance(domain, subDomain);
-	}
-
-	public boolean terminateAllInstances(String domain, String subDomain) throws Exception {
-		return stub.terminateAllInstances(domain, subDomain);
-	}
-
-	public String[] getRegisteredCartridges() throws Exception {
-		return stub.getRegisteredCartridges();
-	}
-
-	public boolean createKeyPair(String cartridge, String keyPairName, String publicKey)
-	                                                                                    throws Exception {
-		return stub.createKeyPairFromPublicKey(cartridge, keyPairName, publicKey);
-	}
-
-	public CartridgeInfo getCartridgeInfo(String cartridgeType) throws UnregisteredCartridgeException, Exception {
-		try {
-			return stub.getCartridgeInfo(cartridgeType);
-		} catch (RemoteException e) {
-			throw e;
-		} catch (CloudControllerServiceUnregisteredCartridgeExceptionException e) {
-			throw new UnregisteredCartridgeException("Not a registered cartridge " + cartridgeType, cartridgeType, e);
-		}
-	}
-	
-	public boolean unregisterService(String domain, String subDomain) throws Exception {
-	    return stub.unregisterService(domain, subDomain);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/RegistryClient.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/RegistryClient.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/RegistryClient.java
deleted file mode 100644
index 899e3ff..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/client/RegistryClient.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.client;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-import java.util.UUID;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.commons.io.IOUtils;
-import org.wso2.carbon.registry.core.Association;
-import org.wso2.carbon.registry.core.Collection;
-import org.wso2.carbon.registry.core.Registry;
-import org.wso2.carbon.registry.core.Resource;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.registry.ws.client.registry.WSRegistryServiceClient;
-
-public class RegistryClient {
-
-	// url where the repository is running its services interface
-	private static String backendURL = "http://localhost:9763/services/";
-	private static ConfigurationContext configContext = null;
-
-	// configuration locations used to bootstrap axis2
-	private static String axis2Repo =
-	                                  "/home/wso2/Desktop/HP-demo-packs-with-video/cartridge/wso2stratos-cartridge-1.0.0-SNAPSHOT/repository/conf/axis2";
-	private static String axis2Conf =
-	                                  "/home/wso2/Desktop/HP-demo-packs-with-video/cartridge/wso2stratos-cartridge-1.0.0-SNAPSHOT/repository/conf/axis2/axis2_client.xml";
-	private static String serverURL = "https://localhost:9443/services/";
-
-	public RegistryClient() {
-		// TODO Auto-generated constructor stub
-	}
-
-	private static WSRegistryServiceClient initialize() throws Exception {
-		// set these properties, this is used for authentication over https to
-		// the registry
-		// if you have a newer version, you can update the keystore by copying
-		// it from
-		// the security directory of the repository
-		System.setProperty("javax.net.ssl.trustStore", "wso2carbon.jks");
-		System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon");
-		System.setProperty("javax.net.ssl.trustStoreType", "JKS");
-
-		configContext =
-		                ConfigurationContextFactory.createConfigurationContextFromFileSystem(axis2Repo,
-		                                                                                     axis2Conf);
-		return new WSRegistryServiceClient(serverURL, "admin", "admin", backendURL, configContext);
-	}
-
-	public static void addKey(String keyName, String content) throws Exception {
-		Registry registry = initialize();
-
-		// get the governance folder
-		Resource governanceFolder = registry.get("/_system/governance");
-		System.out.println("Folder description: " + governanceFolder.getDescription());
-		Resource r1 = registry.newResource();
-		String path = "/_system/governance/" + keyName;
-		r1.setContent(content);
-		registry.put(path, r1);
-
-		/*
-		 * List<Resource> paths = getServicePath(registry,
-		 * "/_system/governance/trunk/services");
-		 * 
-		 * for (Resource service : paths) { // we've got all the services here
-		 * 
-		 * Properties props = service.getProperties(); for (Object prop :
-		 * props.keySet()) { System.out.println(prop + " - " + props.get(prop));
-		 * }
-		 * 
-		 * Association[] associations =
-		 * registry.getAssociations(service.getPath(), "Documentation"); for
-		 * (Association association : associations) {
-		 * System.out.println(association.getAssociationType()); } }
-		 */
-	}
-
-	private static List<Resource> getServicePath(Registry registry, String servicesResource)
-	                                                                                        throws RegistryException {
-		List<Resource> result = new ArrayList<Resource>();
-		Resource resource = registry.get(servicesResource);
-
-		if (resource instanceof Collection) {
-			Object content = resource.getContent();
-			for (Object path : (Object[]) content) {
-				result.addAll(getServicePath(registry, (String) path));
-			}
-		} else if (resource instanceof Resource) {
-			result.add(resource);
-		}
-		return result;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/custom/domain/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/custom/domain/RegistryManager.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/custom/domain/RegistryManager.java
deleted file mode 100644
index 0caad62..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/custom/domain/RegistryManager.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.custom.domain;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.mgt.exception.ADCException;
-import org.wso2.carbon.adc.mgt.exception.DomainMappingExistsException;
-import org.wso2.carbon.adc.mgt.internal.DataHolder;
-import org.wso2.carbon.adc.mgt.utils.CartridgeConstants;
-import org.wso2.carbon.registry.core.Collection;
-import org.wso2.carbon.registry.core.Registry;
-import org.wso2.carbon.registry.core.Resource;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-
-public class RegistryManager {
-	private static Log log = LogFactory.getLog(RegistryManager.class);
-	private static Registry registry = DataHolder.getRegistry();
-
-	public RegistryManager() {
-		try {
-			if (!registry.resourceExists(CartridgeConstants.DomainMappingInfo.HOSTINFO)) {
-				registry.put(CartridgeConstants.DomainMappingInfo.HOSTINFO,
-				                    registry.newCollection());
-			}
-		} catch (RegistryException e) {
-			String msg =
-			             "Error while accessing registry or initializing domain mapping registry path\n";
-			log.error(msg + e.getMessage());
-		}
-	}
-
-	/**
-    *
-    */
-    public void addDomainMappingToRegistry(String hostName, String actualHost)
-            throws ADCException, RegistryException, DomainMappingExistsException {
-        try {
-            registry.beginTransaction();
-            Resource hostResource = registry.newResource();
-            hostResource.addProperty(CartridgeConstants.DomainMappingInfo.ACTUAL_HOST, actualHost);
-            if (!registry.resourceExists(CartridgeConstants.DomainMappingInfo.HOSTINFO +
-                                                hostName)) {
-                registry.put(CartridgeConstants.DomainMappingInfo.HOSTINFO + hostName,
-                                    hostResource);
-            } else {
-                registry.rollbackTransaction();
-                String msg = "Requested domain is already taken!";
-                log.error(msg);
-                throw new DomainMappingExistsException(msg, hostName);
-            }
-            registry.commitTransaction();
-        } catch (RegistryException e) {
-            registry.rollbackTransaction();
-            throw e; 
-        }
-    }
-
-
-    /**
-        *
-        */
-   	public void removeDomainMappingFromRegistry(String actualHost) throws Exception {
-   		try {
-               registry.beginTransaction();
-                String hostResourcePath = CartridgeConstants.DomainMappingInfo.HOSTINFO;
-                if (registry.resourceExists(hostResourcePath)) {
-                    Resource hostResource = registry.get(hostResourcePath);
-                    Collection hostInfoCollection;
-                    if(hostResource instanceof Collection){
-                        hostInfoCollection = (Collection) hostResource;
-                    } else {
-                        throw new Exception("Resource is not a collection " + hostResourcePath );
-                    }
-                    String[] paths = hostInfoCollection.getChildren();
-                    for (String path: paths){
-                        Resource domainMapping = registry.get(path);
-                        String actualHostInRegistry = domainMapping.getProperty(CartridgeConstants.DomainMappingInfo.ACTUAL_HOST);
-                        if(actualHostInRegistry != null && actualHost.equalsIgnoreCase(actualHostInRegistry)){
-                            registry.delete(path);
-                        }
-                    }
-                }
-                registry.commitTransaction();
-   		} catch (RegistryException e) {
-   			registry.rollbackTransaction();
-   			log.error("Unable to remove the mapping", e);
-   			throw e;
-   		}
-   	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/CartridgeSubscription.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/CartridgeSubscription.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/CartridgeSubscription.java
deleted file mode 100644
index 5eaed90..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/CartridgeSubscription.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.dao;
-
-import java.util.List;
-
-public class CartridgeSubscription {
-
-	private int subscriptionId;
-	private int tenantId;
-	private String cartridge;
-	private String provider;
-	private String hostName;
-	private String policy;
-	private List<PortMapping> portMappings;
-	private String clusterDomain;
-	private String clusterSubdomain;
-	private Repository repository;
-	private String state;
-	private String alias;
-	private String tenantDomain;
-	private DataCartridge dataCartridge;
-	private String baseDirectory;
-	private String mappedDomain;
-	private String mgtClusterDomain;
-	private String mgtClusterSubDomain;
-
-	public int getSubscriptionId() {
-		return subscriptionId;
-	}
-
-	public void setSubscriptionId(int subscriptionId) {
-		this.subscriptionId = subscriptionId;
-	}
-
-	public int getTenantId() {
-		return tenantId;
-	}
-
-	public void setTenantId(int tenantId) {
-		this.tenantId = tenantId;
-	}
-
-	public String getCartridge() {
-		return cartridge;
-	}
-
-	public void setCartridge(String cartridge) {
-		this.cartridge = cartridge;
-	}
-
-	public String getProvider() {
-		return provider;
-	}
-
-	public void setProvider(String provider) {
-		this.provider = provider;
-	}
-
-	public String getHostName() {
-		return hostName;
-	}
-
-	public void setHostName(String hostName) {
-		this.hostName = hostName;
-	}
-
-	public String getPolicy() {
-		return policy;
-	}
-
-	public void setPolicy(String policy) {
-		this.policy = policy;
-	}
-
-	public List<PortMapping> getPortMappings() {
-		return portMappings;
-	}
-
-	public void setPortMappings(List<PortMapping> portMappings) {
-		this.portMappings = portMappings;
-	}
-
-	public String getClusterDomain() {
-		return clusterDomain;
-	}
-
-	public void setClusterDomain(String clusterDomain) {
-		this.clusterDomain = clusterDomain;
-	}
-
-	public String getClusterSubdomain() {
-		return clusterSubdomain;
-	}
-
-	public void setClusterSubdomain(String clusterSubdomain) {
-		this.clusterSubdomain = clusterSubdomain;
-	}
-
-	public Repository getRepository() {
-		return repository;
-	}
-
-	public void setRepository(Repository repository) {
-		this.repository = repository;
-	}
-
-	public String getState() {
-		return state;
-	}
-
-	public void setState(String state) {
-		this.state = state;
-	}
-
-	public String getAlias() {
-		return alias;
-	}
-
-	public void setAlias(String alias) {
-		this.alias = alias;
-	}
-
-	public String getTenantDomain() {
-		return tenantDomain;
-	}
-
-	public void setTenantDomain(String tenantDomain) {
-		this.tenantDomain = tenantDomain;
-	}
-
-	public DataCartridge getDataCartridge() {
-		return dataCartridge;
-	}
-
-	public void setDataCartridge(DataCartridge dataCartridge) {
-		this.dataCartridge = dataCartridge;
-	}
-
-	public String getBaseDirectory() {
-		return baseDirectory;
-	}
-
-	public void setBaseDirectory(String baseDirectory) {
-		this.baseDirectory = baseDirectory;
-	}
-
-	public String getMappedDomain() {
-		return mappedDomain;
-	}
-
-	public void setMappedDomain(String mappedDomain) {
-		this.mappedDomain = mappedDomain;
-	}
-
-	public String getMgtClusterDomain() {
-		return mgtClusterDomain;
-	}
-
-	public void setMgtClusterDomain(String mgtClusterDomain) {
-		this.mgtClusterDomain = mgtClusterDomain;
-	}
-
-	public String getMgtClusterSubDomain() {
-		return mgtClusterSubDomain;
-	}
-
-	public void setMgtClusterSubDomain(String mgtClusterSubDomain) {
-		this.mgtClusterSubDomain = mgtClusterSubDomain;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/DataCartridge.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/DataCartridge.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/DataCartridge.java
deleted file mode 100644
index 3bc22b6..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/DataCartridge.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.dao;
-
-public class DataCartridge {
-
-	private int id;
-	private String dataCartridgeType;
-	private String userName;
-	private String password;
-	public int getId() {
-    	return id;
-    }
-	public void setId(int id) {
-    	this.id = id;
-    }
-	public String getDataCartridgeType() {
-    	return dataCartridgeType;
-    }
-	public void setDataCartridgeType(String dataCartridgeType) {
-    	this.dataCartridgeType = dataCartridgeType;
-    }
-	public String getUserName() {
-    	return userName;
-    }
-	public void setUserName(String userName) {
-    	this.userName = userName;
-    }
-	public String getPassword() {
-    	return password;
-    }
-	public void setPassword(String password) {
-    	this.password = password;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/PortMapping.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/PortMapping.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/PortMapping.java
deleted file mode 100644
index 70c9222..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/PortMapping.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.dao;
-
-public class PortMapping {
-	private int id;
-	private String type;
-	private String primaryPort;
-	private String proxyPort;
-
-	public int getId() {
-		return id;
-	}
-
-	public void setId(int id) {
-		this.id = id;
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	public void setType(String type) {
-		this.type = type;
-	}
-
-	public String getPrimaryPort() {
-		return primaryPort;
-	}
-
-	public void setPrimaryPort(String primaryPort) {
-		this.primaryPort = primaryPort;
-	}
-
-	public String getProxyPort() {
-		return proxyPort;
-	}
-
-	public void setProxyPort(String proxyPort) {
-		this.proxyPort = proxyPort;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/Repository.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/Repository.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/Repository.java
deleted file mode 100644
index a5bf31d..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/Repository.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.dao;
-
-public class Repository {
-	private int repoId;
-	private String repoName;
-    private String repoUserName;
-    private String repoUserPassword;
-
-	public int getRepoId() {
-		return repoId;
-	}
-
-	public void setRepoId(int repoId) {
-		this.repoId = repoId;
-	}
-
-	public String getRepoName() {
-		return repoName;
-	}
-
-	public void setRepoName(String repoName) {
-		this.repoName = repoName;
-	}
-
-    public String getRepoUserName() {
-        return repoUserName;
-    }
-
-    public void setRepoUserName(String repoUserName) {
-        this.repoUserName=repoUserName;
-    }
-
-    public String getRepoUserPassword() {
-        return repoUserPassword;
-    }
-
-    public void setRepoUserPassword(String repoUserPassword) {
-        this.repoUserPassword=repoUserPassword;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/RepositoryCredentials.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/RepositoryCredentials.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/RepositoryCredentials.java
deleted file mode 100644
index ca1af6b..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dao/RepositoryCredentials.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.wso2.carbon.adc.mgt.dao;
-
-public class RepositoryCredentials {
-
-	private String url;
-	private String userName;
-	private String password;
-	public String getUrl() {
-    	return url;
-    }
-	public void setUrl(String url) {
-    	this.url = url;
-    }
-	public String getUserName() {
-    	return userName;
-    }
-	public void setUserName(String userName) {
-    	this.userName = userName;
-    }
-	public String getPassword() {
-    	return password;
-    }
-	public void setPassword(String password) {
-    	this.password = password;
-    }
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dns/DNSManager.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dns/DNSManager.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dns/DNSManager.java
deleted file mode 100644
index 56b340b..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dns/DNSManager.java
+++ /dev/null
@@ -1,86 +0,0 @@
- /*
-  * Copyright WSO2, Inc. (http://wso2.com)
-  *
-  * Licensed 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.wso2.carbon.adc.mgt.dns;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.adc.mgt.utils.CartridgeConstants;
-
-/**
- * This class is for handling dns entries.
- */
-public class DNSManager {
-	private static final Log log = LogFactory.getLog(DNSManager.class);
-
-    /**
-   	 * This is get called when there is a need of adding new sub domain to
-   	 * exciting domain.
-   	 * It will append required text to bind9 zone file and reload bind9 server.
-   	 * Note: make sure the user who run ADC has got rights to run sudo scripts
-   	 * without password
-   	 *
-   	 * @param subDomain
-   	 *            will be added in front of domain
-   	 */
-   	public void addNewSubDomain(String subDomain, String ip) {
-   		try {
-   			Runtime.getRuntime()
-   			       .exec(CartridgeConstants.SUDO_SH + " " +
-             // script script file that will be used to edit
-             // required files
-             System.getProperty(CartridgeConstants.APPEND_SCRIPT) + " " +
-             subDomain + " " +
-             // machineIp ip of the machine DNS bind service
-             // is running
-             ip + " " +
-             // bindFile the file which we edit to append
-             // the DNS entry
-             System.getProperty(CartridgeConstants.BIND_FILE_PATH));
-   			log.info("New sub domain is added to zone file");
-   		} catch (Exception e) {
-   			log.error(e.getMessage());
-   			throw new RuntimeException(e);
-   		}
-   	}
-    /**
-   	 * This is get called when there is a need of remove a sub domain.
-   	 * It will remove required text from bind9 zone file and reload bind9 server.
-   	 * Note: make sure the user who run ADC has got rights to run sudo scripts
-   	 * without password
-   	 *
-   	 * @param subDomain
-   	 *            will be used to delete the entry related to this
-   	 */
-   	public void removeSubDomain(String subDomain) {
-   		try {
-   			Runtime.getRuntime()
-   			       .exec(CartridgeConstants.SUDO_SH + " " +
-             // script script file that will be used to edit
-             // required files
-             System.getProperty(CartridgeConstants.REMOVE_SCRIPT) + " " +
-             subDomain + " " +
-             // bindFile the file which we edit to remove
-             // the DNS entry
-             System.getProperty(CartridgeConstants.BIND_FILE_PATH));
-   			log.info("Sub domain is removed from zone file");
-   		} catch (Exception e) {
-   			log.error(e.getMessage());
-   			throw new RuntimeException(e);
-   		}
-   	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/AppRepo.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/AppRepo.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/AppRepo.java
deleted file mode 100644
index 2013969..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/AppRepo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.dto;
-
-public class AppRepo {
-
-	private int tenantId;
-	private String repoName;
-	private String cartridge;
-	private String appName;
-	private boolean isWebRoot;
-	private String tenantPubKey;
-	private String tenantCartridgePubKey;
-
-	public int getTenantId() {
-		return tenantId;
-	}
-
-	public void setTenantId(int tenantId) {
-		this.tenantId = tenantId;
-	}
-
-	public String getRepoName() {
-		return repoName;
-	}
-
-	public void setRepoName(String repoName) {
-		this.repoName = repoName;
-	}
-
-	public String getCartridge() {
-		return cartridge;
-	}
-
-	public void setCartridge(String cartridge) {
-		this.cartridge = cartridge;
-	}
-
-	public String getAppName() {
-		return appName;
-	}
-
-	public void setAppName(String appName) {
-		this.appName = appName;
-	}
-
-	public boolean isWebRoot() {
-		return isWebRoot;
-	}
-
-	public void setWebRoot(boolean isWebRoot) {
-		this.isWebRoot = isWebRoot;
-	}
-
-	public String getTenantPubKey() {
-		return tenantPubKey;
-	}
-
-	public void setTenantPubKey(String tenantPubKey) {
-		this.tenantPubKey = tenantPubKey;
-	}
-
-	public String getTenantCartridgePubKey() {
-		return tenantCartridgePubKey;
-	}
-
-	public void setTenantCartridgePubKey(String tenantCartridgePubKey) {
-		this.tenantCartridgePubKey = tenantCartridgePubKey;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/Cartridge.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/Cartridge.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/Cartridge.java
deleted file mode 100644
index c014cbb..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/Cartridge.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright WSO2, Inc. (http://wso2.com)
- *
- * Licensed 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.wso2.carbon.adc.mgt.dto;
-
-public class Cartridge implements Comparable<Cartridge> {
-
-    private String displayName;
-    private String description;
-	private String cartridgeAlias;
-	private String cartridgeType;
-	private int activeInstances;
-	private String status;
-	private String ip;
-	private String password;
-	private String provider;
-	private String version;
-	private boolean multiTenant;
-	private String hostName;
-	private String policy;
-	private String policyDescription;
-	private String repoURL;
-	private String dbUserName;
-	private String mappedDomain;
-
-	private String[] accessURLs;
-
-	public String getDisplayName() {
-		return displayName;
-	}
-
-	public void setDisplayName(String displayName) {
-		this.displayName = displayName;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public String getCartridgeAlias() {
-		return cartridgeAlias;
-	}
-
-	public void setCartridgeAlias(String cartridgeAlias) {
-		this.cartridgeAlias = cartridgeAlias;
-	}
-
-	public String getCartridgeType() {
-		return cartridgeType;
-	}
-
-	public void setCartridgeType(String cartridgeType) {
-		this.cartridgeType = cartridgeType;
-	}
-
-	public int getActiveInstances() {
-		return activeInstances;
-	}
-
-	public void setActiveInstances(int activeInstances) {
-		this.activeInstances = activeInstances;
-	}
-
-	public String getStatus() {
-		return status;
-	}
-
-	public void setStatus(String status) {
-		this.status = status;
-	}
-
-	public String getIp() {
-		return ip;
-	}
-
-	public void setIp(String ip) {
-		this.ip = ip;
-	}
-
-	public String getPassword() {
-		return password;
-	}
-
-	public void setPassword(String password) {
-		this.password = password;
-	}
-
-	public String getProvider() {
-    	return provider;
-    }
-
-	public void setProvider(String provider) {
-    	this.provider = provider;
-    }
-
-	public String getVersion() {
-    	return version;
-    }
-
-	public void setVersion(String version) {
-    	this.version = version;
-    }
-
-	public boolean isMultiTenant() {
-		return multiTenant;
-	}
-
-	public void setMultiTenant(boolean multiTenant) {
-		this.multiTenant = multiTenant;
-	}
-
-	public String getHostName() {
-    	return hostName;
-    }
-
-	public void setHostName(String hostName) {
-    	this.hostName = hostName;
-    }
-
-	public String getPolicy() {
-		return policy;
-	}
-
-	public void setPolicy(String policy) {
-		this.policy = policy;
-	}
-
-	public String getPolicyDescription() {
-		return policyDescription;
-	}
-
-	public void setPolicyDescription(String policyDescription) {
-		this.policyDescription = policyDescription;
-	}
-
-	public String getRepoURL() {
-    	return repoURL;
-    }
-
-	public void setRepoURL(String repoURL) {
-    	this.repoURL = repoURL;
-    }
-
-	public String getDbUserName() {
-    	return dbUserName;
-    }
-
-	public String[] getAccessURLs() {
-		return accessURLs;
-	}
-
-	public void setAccessURLs(String[] accessURLs) {
-		this.accessURLs = accessURLs;
-	}
-
-	public void setDbUserName(String dbUserName) {
-    	this.dbUserName = dbUserName;
-    }
-
-	public String getMappedDomain() {
-		return mappedDomain;
-	}
-
-	public void setMappedDomain(String mappedDomain) {
-		this.mappedDomain = mappedDomain;
-	}
-
-	@Override
-	public int compareTo(Cartridge o) {
-		int compare = 0;
-		if (cartridgeAlias != null && o.cartridgeAlias != null) {
-			compare = cartridgeAlias.compareTo(o.cartridgeAlias);
-		}
-		if (compare == 0 && cartridgeType != null && o.cartridgeType != null) {
-			compare = cartridgeType.compareTo(o.cartridgeType);
-		}
-		return compare;
-	}
-	
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeDetail.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeDetail.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeDetail.java
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeInformation.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeInformation.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeInformation.java
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeWrapper.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeWrapper.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeWrapper.java
deleted file mode 100644
index d1d640b..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/CartridgeWrapper.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*                                                                             
- * Copyright 2004,2005 The Apache Software Foundation.                         
- *                                                                             
- * Licensed 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.wso2.carbon.adc.mgt.dto;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.wso2.carbon.utils.Pageable;
-
-/**
- * This class holds paginated information about cartridges
- */
-public final class CartridgeWrapper implements Pageable {
-
-	private Cartridge[] cartridges;
-	private int numberOfPages;
-
-	public CartridgeWrapper() {
-	}
-
-	public int getNumberOfPages() {
-		return numberOfPages;
-	}
-
-	public void setNumberOfPages(int numberOfPages) {
-		this.numberOfPages = numberOfPages;
-	}
-
-	public <T> void set(List<T> items) {
-		this.cartridges = items.toArray(new Cartridge[items.size()]);
-	}
-
-	public Cartridge[] getCartridges() {
-		return cartridges != null ? Arrays.copyOf(cartridges, cartridges.length) : null;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/Policy.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/Policy.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/Policy.java
deleted file mode 100644
index 4464787..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/Policy.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.dto;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-public class Policy implements Serializable {
-
-	private static final long serialVersionUID = 1L;
-
-	private String name;
-	private String description;
-	private boolean defaultPolicy;
-
-	private Integer minAppInstances;
-	private Integer maxAppInstances;
-	private Integer maxRequestsPerSecond;
-	private BigDecimal alarmingUpperRate;
-	private BigDecimal alarmingLowerRate;
-	private BigDecimal scaleDownFactor;
-	private Integer roundsToAverage;
-
-	public Policy() {
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public boolean isDefaultPolicy() {
-		return defaultPolicy;
-	}
-
-	public void setDefaultPolicy(boolean defaultPolicy) {
-		this.defaultPolicy = defaultPolicy;
-	}
-
-	public Integer getMinAppInstances() {
-		return minAppInstances;
-	}
-
-	public void setMinAppInstances(Integer minAppInstances) {
-		this.minAppInstances = minAppInstances;
-	}
-
-	public Integer getMaxAppInstances() {
-		return maxAppInstances;
-	}
-
-	public void setMaxAppInstances(Integer maxAppInstances) {
-		this.maxAppInstances = maxAppInstances;
-	}
-
-	public Integer getMaxRequestsPerSecond() {
-		return maxRequestsPerSecond;
-	}
-
-	public void setMaxRequestsPerSecond(Integer maxRequestsPerSecond) {
-		this.maxRequestsPerSecond = maxRequestsPerSecond;
-	}
-
-	public BigDecimal getAlarmingUpperRate() {
-		return alarmingUpperRate;
-	}
-
-	public void setAlarmingUpperRate(BigDecimal alarmingUpperRate) {
-		this.alarmingUpperRate = alarmingUpperRate;
-	}
-
-	public BigDecimal getAlarmingLowerRate() {
-		return alarmingLowerRate;
-	}
-
-	public void setAlarmingLowerRate(BigDecimal alarmingLowerRate) {
-		this.alarmingLowerRate = alarmingLowerRate;
-	}
-
-	public BigDecimal getScaleDownFactor() {
-		return scaleDownFactor;
-	}
-
-	public void setScaleDownFactor(BigDecimal scaleDownFactor) {
-		this.scaleDownFactor = scaleDownFactor;
-	}
-
-	public Integer getRoundsToAverage() {
-		return roundsToAverage;
-	}
-
-	public void setRoundsToAverage(Integer roundsToAverage) {
-		this.roundsToAverage = roundsToAverage;
-	}
-
-	@Override
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((name == null) ? 0 : name.hashCode());
-		return result;
-	}
-
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (!(obj instanceof Policy))
-			return false;
-		Policy other = (Policy) obj;
-		if (name == null) {
-			if (other.name != null)
-				return false;
-		} else if (!name.equals(other.name))
-			return false;
-		return true;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/PolicyDefinition.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/PolicyDefinition.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/PolicyDefinition.java
deleted file mode 100644
index f4f0936..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/PolicyDefinition.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.dto;
-
-import java.io.Serializable;
-
-public class PolicyDefinition implements Serializable {
-
-	private static final long serialVersionUID = 1L;
-
-	private String name;
-	private String description;
-	private boolean defaultPolicy;
-
-	public PolicyDefinition() {
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public boolean isDefaultPolicy() {
-		return defaultPolicy;
-	}
-
-	public void setDefaultPolicy(boolean defaultPolicy) {
-		this.defaultPolicy = defaultPolicy;
-	}
-
-	@Override
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((name == null) ? 0 : name.hashCode());
-		return result;
-	}
-
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (!(obj instanceof PolicyDefinition))
-			return false;
-		PolicyDefinition other = (PolicyDefinition) obj;
-		if (name == null) {
-			if (other.name != null)
-				return false;
-		} else if (!name.equals(other.name))
-			return false;
-		return true;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/RepositoryInformation.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/RepositoryInformation.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/RepositoryInformation.java
deleted file mode 100644
index ee3ad88..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/RepositoryInformation.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.dto;
-
-import java.io.Serializable;
-
-public class RepositoryInformation implements Serializable {
-
-	private static final long serialVersionUID = 1L;
-
-	private String repoURL;
-	private String[] refName;
-
-	public String getRepoURL() {
-		return repoURL;
-	}
-
-	public void setRepoURL(String repoURL) {
-		this.repoURL = repoURL;
-	}
-
-	public String[] getRefName() {
-		return refName;
-	}
-
-	public void setRefName(String[] refName) {
-		this.refName = refName;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/SubscriptionInfo.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/SubscriptionInfo.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/SubscriptionInfo.java
deleted file mode 100644
index f823b28..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/dto/SubscriptionInfo.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.dto;
-
-import java.io.Serializable;
-
-public class SubscriptionInfo implements Serializable {
-
-	private static final long serialVersionUID = 1L;
-
-	private String hostname;
-	private String repositoryURL;
-
-	public String getHostname() {
-		return hostname;
-	}
-
-	public void setHostname(String hostname) {
-		this.hostname = hostname;
-	}
-
-	public String getRepositoryURL() {
-		return repositoryURL;
-	}
-
-	public void setRepositoryURL(String repositoryURL) {
-		this.repositoryURL = repositoryURL;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/ADCException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/ADCException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/ADCException.java
deleted file mode 100644
index 17f95fe..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/ADCException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class ADCException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private String message;
-
-	public ADCException() {
-		super();
-	}
-
-	public ADCException(String message, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-	}
-
-	public ADCException(String message) {
-		super(message);
-		this.message = message;
-	}
-
-	public ADCException(Throwable cause) {
-		super(cause);
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/AlreadySubscribedException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/AlreadySubscribedException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/AlreadySubscribedException.java
deleted file mode 100644
index 97f91ef..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/AlreadySubscribedException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class AlreadySubscribedException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private final String message;
-
-	private final String cartridgeType;
-
-	public AlreadySubscribedException(String message, String cartridgeType, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-		this.cartridgeType = cartridgeType;
-	}
-
-	public AlreadySubscribedException(String message, String cartridgeType) {
-		super(message);
-		this.message = message;
-		this.cartridgeType = cartridgeType;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-	public String getCartridgeType() {
-		return cartridgeType;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/DomainMappingExistsException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/DomainMappingExistsException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/DomainMappingExistsException.java
deleted file mode 100644
index 406fdce..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/DomainMappingExistsException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class DomainMappingExistsException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private final String message;
-
-	private final String domain;
-
-	public DomainMappingExistsException(String message, String domain, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-		this.domain = domain;
-	}
-
-	public DomainMappingExistsException(String message, String domain) {
-		super(message);
-		this.message = message;
-		this.domain = domain;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-	public String getDomain() {
-		return domain;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/DuplicateCartridgeAliasException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/DuplicateCartridgeAliasException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/DuplicateCartridgeAliasException.java
deleted file mode 100644
index 9b5ce0d..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/DuplicateCartridgeAliasException.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class DuplicateCartridgeAliasException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private final String message;
-
-	private final String cartridgeType;
-
-	private final String cartridgeAlias;
-
-	public DuplicateCartridgeAliasException(String message, String cartridgeType, String cartridgeAlias, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-		this.cartridgeType = cartridgeType;
-		this.cartridgeAlias = cartridgeAlias;
-	}
-
-	public DuplicateCartridgeAliasException(String message, String cartridgeType, String cartridgeAlias) {
-		super(message);
-		this.message = message;
-		this.cartridgeType = cartridgeType;
-		this.cartridgeAlias = cartridgeAlias;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-	public String getCartridgeType() {
-		return cartridgeType;
-	}
-
-	public String getCartridgeAlias() {
-		return cartridgeAlias;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/InvalidCartridgeAliasException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/InvalidCartridgeAliasException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/InvalidCartridgeAliasException.java
deleted file mode 100644
index 3e4e538..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/InvalidCartridgeAliasException.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class InvalidCartridgeAliasException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private final String message;
-
-	private final String cartridgeType;
-
-	private final String cartridgeAlias;
-
-	public InvalidCartridgeAliasException(String message, String cartridgeType, String cartridgeAlias, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-		this.cartridgeType = cartridgeType;
-		this.cartridgeAlias = cartridgeAlias;
-	}
-
-	public InvalidCartridgeAliasException(String message, String cartridgeType, String cartridgeAlias) {
-		super(message);
-		this.message = message;
-		this.cartridgeType = cartridgeType;
-		this.cartridgeAlias = cartridgeAlias;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-	public String getCartridgeType() {
-		return cartridgeType;
-	}
-
-	public String getCartridgeAlias() {
-		return cartridgeAlias;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/InvalidRepositoryException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/InvalidRepositoryException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/InvalidRepositoryException.java
deleted file mode 100644
index b8ea044..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/InvalidRepositoryException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class InvalidRepositoryException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private String message;
-
-	public InvalidRepositoryException(String message, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/NotSubscribedException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/NotSubscribedException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/NotSubscribedException.java
deleted file mode 100644
index 4e7a9bd..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/NotSubscribedException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class NotSubscribedException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private final String message;
-
-	private final String cartridgeAlias;
-
-	public NotSubscribedException(String message, String cartridgeAlias, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-		this.cartridgeAlias = cartridgeAlias;
-	}
-
-	public NotSubscribedException(String message, String cartridgeAlias) {
-		super(message);
-		this.message = message;
-		this.cartridgeAlias = cartridgeAlias;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-	public String getCartridgeAlias() {
-		return cartridgeAlias;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/PolicyException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/PolicyException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/PolicyException.java
deleted file mode 100644
index fcf278e..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/PolicyException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class PolicyException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private final String message;
-
-	public PolicyException(String message, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-	}
-
-	public PolicyException(String message) {
-		super(message);
-		this.message = message;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryCredentialsRequiredException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryCredentialsRequiredException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryCredentialsRequiredException.java
deleted file mode 100644
index 9f990d1..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryCredentialsRequiredException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class RepositoryCredentialsRequiredException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private String message;
-
-	public RepositoryCredentialsRequiredException(String message, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-	}
-
-	public RepositoryCredentialsRequiredException(String message) {
-		super(message);
-		this.message = message;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryRequiredException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryRequiredException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryRequiredException.java
deleted file mode 100644
index 2e5067b..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryRequiredException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class RepositoryRequiredException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private String message;
-
-	public RepositoryRequiredException(String message, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-	}
-
-	public RepositoryRequiredException(String message) {
-		super(message);
-		this.message = message;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryTransportException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryTransportException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryTransportException.java
deleted file mode 100644
index db37fc8..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/RepositoryTransportException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class RepositoryTransportException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private final String message;
-
-	public RepositoryTransportException(String message, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-	}
-
-	public RepositoryTransportException(String message) {
-		super(message);
-		this.message = message;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/UnregisteredCartridgeException.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/UnregisteredCartridgeException.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/UnregisteredCartridgeException.java
deleted file mode 100644
index 3362ca6..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/exception/UnregisteredCartridgeException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2013, WSO2, Inc. http://wso2.org
- * 
- * Licensed 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.wso2.carbon.adc.mgt.exception;
-
-public class UnregisteredCartridgeException extends Exception {
-
-	private static final long serialVersionUID = 1L;
-
-	private final String message;
-
-	private final String cartridgeType;
-
-	public UnregisteredCartridgeException(String message, String cartridgeType, Throwable cause) {
-		super(message, cause);
-		this.message = message;
-		this.cartridgeType = cartridgeType;
-	}
-
-	public UnregisteredCartridgeException(String message, String cartridgeType) {
-		super(message);
-		this.message = message;
-		this.cartridgeType = cartridgeType;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-	public String getCartridgeType() {
-		return cartridgeType;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6724d973/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/ADCManagementServerComponent.java
----------------------------------------------------------------------
diff --git a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/ADCManagementServerComponent.java b/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/ADCManagementServerComponent.java
deleted file mode 100644
index f081167..0000000
--- a/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt/2.1.3/src/main/java/org/wso2/carbon/adc/mgt/internal/ADCManagementServerComponent.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
-        * Copyright WSO2, Inc. (http://wso2.com)
-        *
-        * Licensed 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.wso2.carbon.adc.mgt.internal;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.osgi.service.component.ComponentContext;
-import org.wso2.carbon.adc.mgt.utils.CartridgeConfigFileReader;
-import org.wso2.carbon.adc.mgt.utils.StratosDBUtils;
-import org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService;
-import org.wso2.carbon.registry.core.service.RegistryService;
-import org.wso2.carbon.user.core.service.RealmService;
-import org.wso2.carbon.utils.ConfigurationContextService;
-
-/**
- * @scr.component name=
- *                "org.wso2.carbon.hosting.mgt.internal.ADCManagementServerComponent"
- *                immediate="true"
- * @scr.reference name="config.context.service"
- *                interface="org.wso2.carbon.utils.ConfigurationContextService"
- *                cardinality="1..1" policy="dynamic"
- *                bind="setConfigurationContextService"
- *                unbind="unsetConfigurationContextService"
- * @scr.reference name="user.realmservice.default"
- *                interface="org.wso2.carbon.user.core.service.RealmService"
- *                cardinality="1..1" policy="dynamic" bind="setRealmService"
- *                unbind="unsetRealmService"
- * @scr.reference name="registry.service"
- *                interface=
- *                "org.wso2.carbon.registry.core.service.RegistryService"
- *                cardinality="1..1" policy="dynamic" bind="setRegistryService"
- *                unbind="unsetRegistryService"
- * @scr.reference name="topology.mgt.service"
- *                interface=
- *                "org.wso2.carbon.adc.topology.mgt.service.TopologyManagementService"
- *                cardinality="1..1" policy="dynamic"
- *                bind="setTopologyManagementService"
- *                unbind="unsetTopologyManagementService"
- */
-
-public class ADCManagementServerComponent {
-    private static final Log log = LogFactory.getLog(ADCManagementServerComponent.class);
-
-	protected void activate(ComponentContext componentContext) throws Exception {
-		if (log.isInfoEnabled()) {
-			log.info("ADC Management Server Component activated");
-		}
-
-		try {
-			CartridgeConfigFileReader.readProperties();
-			StratosDBUtils.initialize();
-		} catch (Exception e) {
-			log.fatal("Error while initializing the ADC Management Server Component", e);
-		}
-	}
-
-    protected void setConfigurationContextService(ConfigurationContextService contextService) {
-        DataHolder.setClientConfigContext(contextService.getClientConfigContext());
-        DataHolder.setServerConfigContext(contextService.getServerConfigContext());
-
-    }
-
-    protected void unsetConfigurationContextService(ConfigurationContextService contextService) {
-        DataHolder.setClientConfigContext(null);
-        DataHolder.setServerConfigContext(null);
-    }
-
-    protected void setRealmService(RealmService realmService) {
-        // keeping the realm service in the DataHolder class
-        DataHolder.setRealmService(realmService);
-    }
-
-    protected void unsetRealmService(RealmService realmService) {
-    }
-
-    protected void setRegistryService(RegistryService registryService) {
-        try {
-            DataHolder.setRegistry(registryService.getGovernanceSystemRegistry());
-        } catch (Exception e) {
-            log.error("Cannot  retrieve governance Registry", e);
-        }
-    }
-
-    protected void unsetRegistryService(RegistryService registryService) {
-    }
-
-    protected void setTopologyManagementService(TopologyManagementService topologyMgtService) {
-        DataHolder.setTopologyMgtService(topologyMgtService);
-    }
-
-    protected void unsetTopologyManagementService(TopologyManagementService topologyMgtService) {
-    }
-}