Updated Branches: refs/heads/master ba3b50c32 -> 85abff74d
retreieving data cluster from topology manager - initial stuff Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/2d201668 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/2d201668 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/2d201668 Branch: refs/heads/master Commit: 2d201668e4c91788992e58ea72a1bb10fb6ecf65 Parents: 2dbf559 Author: Isuru <[email protected]> Authored: Sun Dec 8 10:15:44 2013 +0530 Committer: Isuru <[email protected]> Committed: Sun Dec 8 10:15:44 2013 +0530 ---------------------------------------------------------------------- .../internal/ADCManagementServerComponent.java | 6 +++++ .../SubscriptionMultiTenantBehaviour.java | 25 ++++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2d201668/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java index 13d75fe..a77cd48 100644 --- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java +++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java @@ -28,6 +28,7 @@ import org.apache.stratos.adc.mgt.utils.StratosDBUtils; import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService; import org.apache.stratos.messaging.broker.publish.EventPublisher; import org.apache.stratos.messaging.broker.subscribe.TopicSubscriber; +import org.apache.stratos.messaging.message.receiver.topology.TopologyReceiver; import org.apache.stratos.messaging.util.Constants; import org.osgi.service.component.ComponentContext; import org.wso2.carbon.ntask.core.service.TaskService; @@ -96,6 +97,11 @@ public class ADCManagementServerComponent { Thread tsubscriber = new Thread(subscriber); tsubscriber.start(); + //Starting Topology Receiver + TopologyReceiver topologyReceiver = new TopologyReceiver(); + Thread topologyReceiverThread = new Thread(topologyReceiver); + topologyReceiverThread.start(); + if (log.isInfoEnabled()) { log.info("ADC management server component is activated"); } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2d201668/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java index 7d7122c..a250912 100644 --- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java +++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java @@ -25,13 +25,12 @@ import org.apache.stratos.adc.mgt.exception.ADCException; import org.apache.stratos.adc.mgt.exception.AlreadySubscribedException; import org.apache.stratos.adc.mgt.exception.NotSubscribedException; import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException; -import org.apache.stratos.adc.mgt.internal.DataHolder; import org.apache.stratos.adc.mgt.payload.PayloadArg; import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription; import org.apache.stratos.adc.mgt.utils.CartridgeConstants; import org.apache.stratos.adc.mgt.utils.PersistenceManager; -import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService; -import org.apache.stratos.adc.topology.mgt.serviceobjects.DomainContext; +import org.apache.stratos.messaging.domain.topology.Service; +import org.apache.stratos.messaging.message.receiver.topology.TopologyManager; import java.util.Properties; @@ -71,7 +70,7 @@ public class SubscriptionMultiTenantBehaviour extends SubscriptionTenancyBehavio } } - TopologyManagementService topologyService = DataHolder.getTopologyMgtService(); + /*TopologyManagementService topologyService = DataHolder.getTopologyMgtService(); DomainContext[] domainContexts = topologyService.getDomainsAndSubdomains(cartridgeSubscription.getType(), cartridgeSubscription.getSubscriber().getTenantId()); log.info("Retrieved " + domainContexts.length + " domain and corresponding subdomain pairs"); @@ -96,6 +95,24 @@ public class SubscriptionMultiTenantBehaviour extends SubscriptionTenancyBehavio cartridgeSubscription.getSubscriber().getTenantId(); log.warn(msg); throw new ADCException(msg); + }*/ + TopologyManager.acquireReadLock(); + + try { + Service service = TopologyManager.getTopology().getService(cartridgeSubscription.getType()); + if(service == null) { + TopologyManager.releaseReadLock(); + String errorMsg = "Error in subscribing, no service found with the name " + cartridgeSubscription.getType(); + log.error(errorMsg); + throw new ADCException(errorMsg); + } + + //TODO: fix properly + //cartridgeSubscription.getCluster().setClusterDomain(service.getCluster().); + //cartridgeSubscription.getCluster().setClusterSubDomain(domainContext.getSubDomain()); + + } finally { + TopologyManager.releaseReadLock(); } }
