Mercurial > hg > release > thermostat-1.6
changeset 1995:116f7c9007cc
Fix profiler with no profiling data available
Backport of 864719b0d1a0 from HEAD. PR3064
Reviewed-by: jerboaa
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2016-June/019971.html
author | Alex Macdonald <almacdon@redhat.com> |
---|---|
date | Wed, 29 Jun 2016 10:37:20 -0400 |
parents | 121607fc9843 |
children | df9c589c6e0c |
files | vm-profiler/client-swing/src/main/java/com/redhat/thermostat/vm/profiler/client/swing/internal/SwingVmProfileView.java |
diffstat | 1 files changed, 24 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/vm-profiler/client-swing/src/main/java/com/redhat/thermostat/vm/profiler/client/swing/internal/SwingVmProfileView.java Tue Mar 15 11:36:35 2016 -0400 +++ b/vm-profiler/client-swing/src/main/java/com/redhat/thermostat/vm/profiler/client/swing/internal/SwingVmProfileView.java Wed Jun 29 10:37:20 2016 -0400 @@ -239,13 +239,17 @@ } }; + final SimpleTextRenderer simpleRenderer = new SimpleTextRenderer(); final PlainTextMethodDeclarationRenderer plainRenderer = new PlainTextMethodDeclarationRenderer(); final SyntaxHighlightedMethodDeclarationRenderer colorRenderer = new SyntaxHighlightedMethodDeclarationRenderer(); profileTable = new ThermostatTable(tableModel) { public javax.swing.table.TableCellRenderer getCellRenderer(int row, int column) { if (column == COLUMN_METHOD_NAME) { - if (profileTable.isCellSelected(row, column)) { + if(tableModel.getRowCount() == 1 && tableModel.getValueAt(0,0).equals( + translator.localize(LocaleResources.PROFILER_NO_RESULTS).getContents())) { + return simpleRenderer; + } else if (profileTable.isCellSelected(row, column)) { return plainRenderer; } else { return colorRenderer; @@ -416,6 +420,21 @@ return mainContainer; } + static class SimpleTextRenderer extends ThermostatTableRenderer { + + @Override + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, + boolean hasFocus, int row, int column) { + + if (!(value instanceof String)) { + throw new AssertionError("Unexpected value"); + } + + return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, + column); + } + } + static class PlainTextMethodDeclarationRenderer extends ThermostatTableRenderer { @Override @@ -497,8 +516,10 @@ window.setVisible(true); List<MethodInfo> data = new ArrayList<>(); - data.add(new MethodInfo(new MethodDeclaration("foo", list("int"), "int"), 1000, 1.0)); - data.add(new MethodInfo(new MethodDeclaration("bar", list("foo.bar.Baz", "int"), "Bar"), 100000, 100)); + data.add(new MethodInfo(new MethodDeclaration( + "foo", list("int"), "int"), 1000, 1.0)); + data.add(new MethodInfo(new MethodDeclaration( + "bar", list("foo.bar.Baz", "int"), "Bar"), 100000, 100)); ProfilingResult results = new ProfilingResult(data); view.setProfilingDetailData(results); }