Repository: stratos Updated Branches: refs/heads/4.0.0-grouping 76a91ea21 -> d5d98d4ef
implementing findClustersOfApplication in ApplicationMonitor Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/d5d98d4e Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/d5d98d4e Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/d5d98d4e Branch: refs/heads/4.0.0-grouping Commit: d5d98d4efff9d5f36f1c2d6d45ff2a671da2a012 Parents: 76a91ea Author: Isuru Haththotuwa <[email protected]> Authored: Wed Oct 22 16:54:48 2014 +0530 Committer: Isuru Haththotuwa <[email protected]> Committed: Wed Oct 22 16:54:59 2014 +0530 ---------------------------------------------------------------------- .../monitor/application/ApplicationMonitor.java | 32 ++++++++++++-------- .../lifecycle/LifeCycleStateManager.java | 4 +-- 2 files changed, 21 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/d5d98d4e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java index b7db30b..deb0950 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java @@ -30,15 +30,11 @@ import org.apache.stratos.autoscaler.monitor.events.MonitorScalingEvent; import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent; import org.apache.stratos.autoscaler.monitor.events.MonitorTerminateAllEvent; import org.apache.stratos.autoscaler.status.checker.StatusChecker; -import org.apache.stratos.messaging.domain.topology.Application; -import org.apache.stratos.messaging.domain.topology.ApplicationStatus; -import org.apache.stratos.messaging.domain.topology.ClusterStatus; -import org.apache.stratos.messaging.domain.topology.GroupStatus; +import org.apache.stratos.messaging.domain.topology.*; import org.apache.stratos.messaging.domain.topology.lifecycle.LifeCycleState; +import org.apache.stratos.messaging.message.receiver.topology.TopologyManager; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; +import java.util.*; /** * ApplicationMonitor is to control the child monitors @@ -67,13 +63,23 @@ public class ApplicationMonitor extends ParentComponentMonitor { */ public List<String> findClustersOfApplication(String appId) { List<String> clusters = new ArrayList<String>(); - //considering only one level - /*for (AbstractClusterMonitor monitor : this.clusterIdToClusterMonitorsMap.values()) { - clusters.add(monitor.getClusterId()); - }*/ - //TODO restart and read from Topology - return clusters; + Set<ClusterDataHolder> clusterData; + + TopologyManager.acquireReadLockForApplication(appId); + try { + clusterData = TopologyManager.getTopology().getApplication(appId).getClusterDataRecursively(); + + } finally { + TopologyManager.releaseReadLockForApplication(appId); + } + if (clusterData != null) { + for (ClusterDataHolder clusterDataHolder : clusterData) { + clusters.add(clusterDataHolder.getClusterId()); + } + } + + return clusters; } /** http://git-wip-us.apache.org/repos/asf/stratos/blob/d5d98d4e/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java index b1b0190..9151bb1 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java @@ -73,9 +73,9 @@ public class LifeCycleStateManager<T extends LifeCycleState> implements Serializ stateStack.push(nextState); if (log.isDebugEnabled()) { printStateTransitions(stateStack); +// log.debug("Life Cycle State changed from [ " + getPreviousState() + " ] to [ " + +// getCurrentState() + " ]"); } - log.info("Life Cycle State changed from [ " + getPreviousState() + " ] to [ " + - getCurrentState() + " ]"); } /**
