summaryrefslogtreecommitdiff
path: root/java/src
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
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')
-rw-r--r--java/src/IceGridGUI/EditorBase.java10
-rw-r--r--java/src/IceGridGUI/LiveDeployment/GraphView.java31
-rw-r--r--java/src/IceGridGUI/LiveDeployment/MetricsView.java43
-rw-r--r--java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java53
-rw-r--r--java/src/IceGridGUI/LiveDeployment/Service.java25
5 files changed, 70 insertions, 92 deletions
diff --git a/java/src/IceGridGUI/EditorBase.java b/java/src/IceGridGUI/EditorBase.java
index beb24efdd29..27c99d2c515 100644
--- a/java/src/IceGridGUI/EditorBase.java
+++ b/java/src/IceGridGUI/EditorBase.java
@@ -62,9 +62,17 @@ public abstract class EditorBase
scrollPane.setBorder(Borders.DIALOG);
- _propertiesPanel = new JPanel(new BorderLayout());
+ if(_propertiesPanel == null)
+ {
+ _propertiesPanel = new JPanel(new BorderLayout());
+ }
+ else
+ {
+ _propertiesPanel.removeAll();
+ }
_propertiesPanel.add(scrollPane, BorderLayout.CENTER);
_propertiesPanel.setBorder(Borders.EMPTY);
+ _propertiesPanel.revalidate();
}
protected JPanel _propertiesPanel;
diff --git a/java/src/IceGridGUI/LiveDeployment/GraphView.java b/java/src/IceGridGUI/LiveDeployment/GraphView.java
index 4014c0656e8..8248ef39771 100644
--- a/java/src/IceGridGUI/LiveDeployment/GraphView.java
+++ b/java/src/IceGridGUI/LiveDeployment/GraphView.java
@@ -121,6 +121,7 @@ import IceGridGUI.*;
import IceGridGUI.LiveDeployment.MetricsViewEditor.MetricsViewInfo;
import IceGridGUI.LiveDeployment.MetricsViewEditor.MetricsCell;
import IceGridGUI.LiveDeployment.MetricsViewEditor.MetricsViewTransferableData;
+import IceGridGUI.LiveDeployment.MetricsViewEditor.FormatedNumberRenderer;
import java.util.prefs.Preferences;
import java.util.prefs.BackingStoreException;
@@ -346,7 +347,11 @@ public class GraphView extends JFrame implements MetricsFieldContext
removeRows(m);
}
}, false);
- handleError(m, e.toString());
+ if(!(e instanceof Ice.ObjectNotExistException) &&
+ !(e instanceof Ice.CommunicatorDestroyedException))
+ {
+ handleError(m, e.toString());
+ }
}
public void exception(final Ice.UserException e)
@@ -377,7 +382,10 @@ public class GraphView extends JFrame implements MetricsFieldContext
removeRows(m);
}
}, false);
- handleError(m, e.toString());
+ if(!(e instanceof Ice.CommunicatorDestroyedException))
+ {
+ handleError(m, e.toString());
+ }
}
}
if(!_done)
@@ -671,6 +679,11 @@ public class GraphView extends JFrame implements MetricsFieldContext
setJMenuBar(menuBar);
//
+ // Set default renderer for numeric values.
+ //
+ _legendTable.setDefaultRenderer(Double.class, new FormatedNumberRenderer("#0.000"));
+
+ //
// Set a combobox to edit the scale factors.
//
JComboBox<Double> scales = new JComboBox<Double>(_scales);
@@ -682,7 +695,6 @@ public class GraphView extends JFrame implements MetricsFieldContext
//
_legendTable.setDefaultRenderer(Color.class, new ColorRenderer(true));
_legendTable.setDefaultEditor(Color.class, new ColorEditor());
-
_legendTable.setAutoCreateRowSorter(true);
@@ -853,7 +865,14 @@ public class GraphView extends JFrame implements MetricsFieldContext
// to be reasign by JavaFX.
//
// _chart.getData().remove(row.series);
- row.series.getData().clear();
+ if(row.series == null || row.series.getData() == null)
+ {
+ continue;
+ }
+ while(row.series.getData().size() > 0)
+ {
+ row.series.getData().remove(0);
+ }
}
}
}, true);
@@ -1664,7 +1683,7 @@ public class GraphView extends JFrame implements MetricsFieldContext
}
private ListCellRenderer _renderer;
- private static final DecimalFormat _format = new DecimalFormat("#,###,###,##0.00#######");
+ private static final DecimalFormat _format = new DecimalFormat("#,###,###,##0.0########");
}
public class ColorEditor extends AbstractCellEditor implements TableCellEditor, ActionListener
@@ -1763,7 +1782,7 @@ public class GraphView extends JFrame implements MetricsFieldContext
// The max number of points for a series, it is calculate dividing the duration,
// by the refresh period.
//
- private final static int _maxPoints = 5000;
+ private final static int _maxPoints = 300;
private final static int _minPoints = 2;
private final static int _minRefreshPeriod = 1; // 1 seconds
diff --git a/java/src/IceGridGUI/LiveDeployment/MetricsView.java b/java/src/IceGridGUI/LiveDeployment/MetricsView.java
index 616abcfc9e5..d3297f612ee 100644
--- a/java/src/IceGridGUI/LiveDeployment/MetricsView.java
+++ b/java/src/IceGridGUI/LiveDeployment/MetricsView.java
@@ -29,7 +29,6 @@ class MetricsView extends TreeNode
{
public Editor getEditor()
{
- _editor.show(this, _data, _timestamp);
return _editor;
}
@@ -56,28 +55,7 @@ class MetricsView extends TreeNode
super(parent, name);
_name = name;
_admin = admin;
-
- if(_editor == null)
- {
- _editor = new MetricsViewEditor(getRoot());
- }
- fetchMetricsView();
- }
-
- public void startRefreshThread()
- {
- if(_editor != null)
- {
- _editor.startRefreshThread();
- }
- }
-
- public void stopRefreshThread()
- {
- if(_editor != null)
- {
- _editor.startRefreshThread();
- }
+ _editor = new MetricsViewEditor(getRoot());
}
public String name()
@@ -121,12 +99,7 @@ class MetricsView extends TreeNode
{
public void run()
{
- _data = data;
- _timestamp = timestamp;
- if(_editor != null && _editor.currentView() == MetricsView.this)
- {
- _editor.show(MetricsView.this, data, timestamp);
- }
+ _editor.show(MetricsView.this, data, timestamp);
}
});
}
@@ -137,7 +110,7 @@ class MetricsView extends TreeNode
{
public void run()
{
- stopRefreshThread();
+ _editor.stopRefreshThread();
if(e instanceof Ice.ObjectNotExistException)
{
// Server is down.
@@ -146,6 +119,9 @@ class MetricsView extends TreeNode
{
// MetricsAdmin facet not present.
}
+ else if(e instanceof Ice.CommunicatorDestroyedException)
+ {
+ }
else
{
e.printStackTrace();
@@ -163,7 +139,7 @@ class MetricsView extends TreeNode
{
public void run()
{
- stopRefreshThread();
+ _editor.stopRefreshThread();
e.printStackTrace();
JOptionPane.showMessageDialog(getCoordinator().getMainFrame(),
"Error: " + e.toString(), "Error",
@@ -176,6 +152,9 @@ class MetricsView extends TreeNode
{
metricsAdmin.begin_getMetricsView(_name, cb);
}
+ catch(Ice.CommunicatorDestroyedException e)
+ {
+ }
catch(Ice.LocalException e)
{
JOptionPane.showMessageDialog(getCoordinator().getMainFrame(), "Error: " + e.toString(), "Error",
@@ -189,7 +168,5 @@ class MetricsView extends TreeNode
private IceMX.MetricsAdminPrx _admin;
private String _toolTip;
private MetricsViewEditor _editor;
- private java.util.Map<java.lang.String, IceMX.Metrics[]> _data;
- private long _timestamp;
static private DefaultTreeCellRenderer _cellRenderer;
}
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");
diff --git a/java/src/IceGridGUI/LiveDeployment/Service.java b/java/src/IceGridGUI/LiveDeployment/Service.java
index a375e8f1422..7d8c0a3ad39 100644
--- a/java/src/IceGridGUI/LiveDeployment/Service.java
+++ b/java/src/IceGridGUI/LiveDeployment/Service.java
@@ -344,10 +344,11 @@ public class Service extends ListArrayTreeNode
{
if(_started)
{
- _metricsRetrieved = false;
- _metrics.clear();
- rebuild(this);
_started = false;
+ if(getRoot().getTree().isExpanded(getPath()))
+ {
+ fetchMetricsViewNames();
+ }
getRoot().getTreeModel().nodeChanged(this);
}
}
@@ -480,9 +481,9 @@ public class Service extends ListArrayTreeNode
public void fetchMetricsViewNames()
{
- if(!_started || _metricsRetrieved)
+ if(_metricsRetrieved)
{
- return; // Already loaded or not started.
+ return; // Already loaded.
}
_metricsRetrieved = true;
@@ -557,20 +558,6 @@ public class Service extends ListArrayTreeNode
}
}
- void rebuild(Service service, boolean fetchMetricsViewNames)
- {
- _metrics.clear();
- rebuild(service);
- if(fetchMetricsViewNames)
- {
- _metricsRetrieved = false;
- if(getRoot().getTree().isExpanded(getPath()))
- {
- fetchMetricsViewNames();
- }
- }
- }
-
void rebuild(Service service)
{
_adapters = service._adapters;