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];
