Updated Branches:
  refs/heads/master 64b4666f3 -> 41687d86d

improving SM's Topology Inoformation model


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

Branch: refs/heads/master
Commit: 41687d86da1eb97ae06eac767689bd1e1113f362
Parents: 64b4666
Author: Isuru <[email protected]>
Authored: Sat Jan 4 20:06:26 2014 +0530
Committer: Isuru <[email protected]>
Committed: Sat Jan 4 20:06:26 2014 +0530

----------------------------------------------------------------------
 .../model/TopologyClusterInformationModel.java  | 42 +++++++++++++-----
 .../StratosManagerTopologyReceiver.java         | 45 ++++++++++++--------
 .../rest/endpoint/services/ServiceUtils.java    |  2 +-
 3 files changed, 60 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/41687d86/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
index 7e4664a..8fe10e7 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/model/TopologyClusterInformationModel.java
@@ -237,14 +237,36 @@ public class TopologyClusterInformationModel {
                 while (typeCtxIterator.hasNext()) {
                     //iterate and get each of SubscriptionAliasContext sets
                     CartridgeTypeContext cartridgeTypeContext = 
typeCtxIterator.next();
-                    subscriptionAliasContextSet = 
cartridgeTypeContext.getSubscriptionAliasContextSet();
-
-                    if (subscriptionAliasContextSet != null) {
-                        //iterate and convert to Cluster set
-                        Iterator<SubscriptionAliasContext> aliasCtxIterator = 
subscriptionAliasContextSet.iterator();
-                        clusterSet = new HashSet<Cluster>();
-                        while (aliasCtxIterator.hasNext()) {
-                            
clusterSet.add(aliasCtxIterator.next().getCluster());
+
+                    if (cartridgeType != null) {
+                        // check if CartridgeTypeContext instance matches the 
cartridgeType
+                        if (cartridgeTypeContext.equals(new 
CartridgeTypeContext(cartridgeType))) {
+
+                            subscriptionAliasContextSet = 
cartridgeTypeContext.getSubscriptionAliasContextSet();
+
+                            if (subscriptionAliasContextSet != null) {
+                                //iterate and convert to Cluster set
+                                Iterator<SubscriptionAliasContext> 
aliasCtxIterator = subscriptionAliasContextSet.iterator();
+
+                                clusterSet = new HashSet<Cluster>();
+                                while (aliasCtxIterator.hasNext()) {
+                                    
clusterSet.add(aliasCtxIterator.next().getCluster());
+                                }
+                            }
+                        }
+
+                    } else {
+                        // no cartridgeType specified
+                        subscriptionAliasContextSet = 
cartridgeTypeContext.getSubscriptionAliasContextSet();
+
+                        if (subscriptionAliasContextSet != null) {
+                            //iterate and convert to Cluster set
+                            Iterator<SubscriptionAliasContext> 
aliasCtxIterator = subscriptionAliasContextSet.iterator();
+
+                            clusterSet = new HashSet<Cluster>();
+                            while (aliasCtxIterator.hasNext()) {
+                                
clusterSet.add(aliasCtxIterator.next().getCluster());
+                            }
                         }
                     }
                 }
@@ -257,7 +279,7 @@ public class TopologyClusterInformationModel {
         return clusterSet;
     }
 
-    public Set<Cluster> getClusters (int tenantId) {
+    /*public Set<Cluster> getClusters (int tenantId) {
 
         Set<CartridgeTypeContext> cartridgeTypeContextSet = null;
         Set<SubscriptionAliasContext> subscriptionAliasContextSet = null;
@@ -289,7 +311,7 @@ public class TopologyClusterInformationModel {
         }
 
         return clusterSet;
-    }
+    }*/
 
     public void removeCluster (int tenantId, String cartridgeType, String 
subscriptionAlias) {
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/41687d86/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
index 5a2929c..74180eb 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/topology/receiver/StratosManagerTopologyReceiver.java
@@ -64,6 +64,7 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
 
                 try {
                     TopologyManager.acquireReadLock();
+
                     for (Service service : 
TopologyManager.getTopology().getServices()) {
                         //iterate through all clusters
                         for (Cluster cluster : service.getClusters()) {
@@ -103,16 +104,16 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                     try {
                         cluster = TopologyManager.getTopology().
                                 
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
+
+                        //add the information to Topology Cluster Info. model
+                        
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                                cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
+
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
-
-                    //add the information to Topology Cluster Info. model
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
-                            cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
                 }
-
             }
         });
 
@@ -153,16 +154,18 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                     Cluster cluster;
                     //acquire read lock
                     TopologyManager.acquireReadLock();
+
                     try {
                         cluster = TopologyManager.getTopology().
                                 
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
+
+                        
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                                cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
+
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
-
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
-                            cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
                 }
 
             }
@@ -185,17 +188,19 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                     Cluster cluster;
                     //acquire read lock
                     TopologyManager.acquireReadLock();
+
                     try {
                         cluster = TopologyManager.getTopology().
                                 
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
+
+                        
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                                cartridgeSubscription.getType(),
+                                cartridgeSubscription.getAlias(), cluster);
+
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
-
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
-                            cartridgeSubscription.getType(),
-                            cartridgeSubscription.getAlias(), cluster);
                 }
 
             }
@@ -218,16 +223,18 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                     Cluster cluster;
                     //acquire read lock
                     TopologyManager.acquireReadLock();
+
                     try {
                         cluster = TopologyManager.getTopology().
                                 
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
+
+                        
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                                cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
+
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
-
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
-                            cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
                 }
 
             }
@@ -250,16 +257,18 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                     Cluster cluster;
                     //acquire read lock
                     TopologyManager.acquireReadLock();
+
                     try {
                         cluster = TopologyManager.getTopology().
                                 
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
+
+                        
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                                cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
+
                     } finally {
                         //release read lock
                         TopologyManager.releaseReadLock();
                     }
-
-                    
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
-                            cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
                 }
 
             }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/41687d86/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
index 0c4c265..2d897ad 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
@@ -861,7 +861,7 @@ public class ServiceUtils {
     public static Cluster[] getClustersForTenant (ConfigurationContext 
configurationContext) {
 
         Set<Cluster> clusterSet = 
TopologyClusterInformationModel.getInstance().getClusters(ApplicationManagementUtil.
-                getTenantId(configurationContext));
+                getTenantId(configurationContext), null);
 
         return (clusterSet != null && clusterSet.size() > 0 ) ?
                 clusterSet.toArray(new Cluster[clusterSet.size()]) : new 
Cluster[0];

Reply via email to