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();
         }
     }
 

Reply via email to