summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2012-10-01 23:31:53 +0200
committerJose <jose@zeroc.com>2012-10-01 23:31:53 +0200
commita65969855f34adfa9b7475d89a20889dec1a69ef (patch)
tree7f5e49bad2c36df014be3e6613a7a7a09d9cb2cf /java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java
parentAdded support to display IceBox metrics (diff)
downloadice-a65969855f34adfa9b7475d89a20889dec1a69ef.tar.bz2
ice-a65969855f34adfa9b7475d89a20889dec1a69ef.tar.xz
ice-a65969855f34adfa9b7475d89a20889dec1a69ef.zip
Graph and Metrics views bug fixes
Diffstat (limited to 'java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java')
-rw-r--r--java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java53
1 files changed, 20 insertions, 33 deletions
diff --git a/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java b/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java
index 884bf7d6dcc..4ef16e954dd 100644
--- a/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java
@@ -75,9 +75,10 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
{
private class RefreshThread extends Thread
{
- RefreshThread(long period)
+ RefreshThread(long period, MetricsView node)
{
_period = period;
+ _node = node;
_done = false;
}
@@ -86,10 +87,7 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
{
while(true)
{
- if(_node != null && _propertiesPanel != null && _propertiesPanel.isVisible())
- {
- _node.fetchMetricsView();
- }
+ _node.fetchMetricsView();
if(!_done)
{
try
@@ -119,10 +117,10 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
}
private final long _period;
+ private final MetricsView _node;
private boolean _done = false;
}
-
//
// This class allow to render a button in JTable cell.
//
@@ -225,20 +223,19 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
{
public void valueChanged(TreeSelectionEvent e)
{
- TreePath path = e.getPath();
- if(_node != null)
- {
- _node.stopRefreshThread();
- _node = null;
- }
- if(e != null)
+
+ //
+ // Stop the refresh thread.
+ //
+ stopRefreshThread();
+
+ //
+ // If selected node is a MetricsView start the refresh thread.
+ //
+ if(e.isAddedPath() && e.getPath().getLastPathComponent() instanceof MetricsView)
{
- TreeNode node = (TreeNode)path.getLastPathComponent();
- if(node instanceof MetricsView)
- {
- _node = ((MetricsView)node);
- ((MetricsView)node).startRefreshThread();
- }
+ _node = (MetricsView)e.getPath().getLastPathComponent();
+ startRefreshThread(_node);
}
}
@@ -271,13 +268,11 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
return _refreshPeriod;
}
- void startRefreshThread()
+ void startRefreshThread(MetricsView node)
{
- if(_refreshThread == null)
- {
- _refreshThread = new RefreshThread(_refreshPeriod);
- _refreshThread.start();
- }
+ _node = node;
+ _refreshThread = new RefreshThread(_refreshPeriod, _node);
+ _refreshThread.start();
}
void stopRefreshThread()
@@ -289,11 +284,6 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
}
}
- public MetricsView currentView()
- {
- return _node;
- }
-
public static class MetricsViewInfo
{
public MetricsViewInfo(MetricsView view)
@@ -613,8 +603,6 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
public void show(MetricsView node, final Map<java.lang.String, IceMX.Metrics[]> data, final long timestamp)
{
- startRefreshThread();
- _node = node;
if(data == null)
{
return;
@@ -634,7 +622,6 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
{
continue;
}
-
TableModel model = new TableModel(entry.getKey());
String prefix = "IceGridGUI.Metrics." + entry.getKey();
String[] names = _properties.getPropertyAsList(prefix + ".fields");