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) {
- }
-}