Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ private JPanel createTypePanel() {
private JPanel createStringPanel() {
tableModel = new PowerTableModel(new String[] { COL_RESOURCE_NAME }, new Class[] { String.class });
stringTable = new JTable(tableModel);
stringTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
HeaderAsPropertyRenderer.install(stringTable);
stringTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
JMeterUtils.applyHiDPI(stringTable);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,21 +161,24 @@ public void clearGui() {

initTableModel();
paramTable.setModel(tableModel);
HeaderAsPropertyRenderer defaultRenderer = new HeaderAsPropertyRenderer(){
private static final long serialVersionUID = 240L;

@Override
protected String getText(Object value, int row, int column) {
if (column >= 1){ // Don't process the NAME column
String val = value.toString();
if (val.startsWith(USER_COL_RESOURCE+UNDERSCORE)){
return JMeterUtils.getResString(USER_COL_RESOURCE)+val.substring(val.indexOf(UNDERSCORE));
TableCellRenderer defaultHeaderRenderer = paramTable.getTableHeader().getDefaultRenderer();
if (!(defaultHeaderRenderer instanceof HeaderAsPropertyRenderer)) {
HeaderAsPropertyRenderer defaultRenderer = new HeaderAsPropertyRenderer(defaultHeaderRenderer) {
private static final long serialVersionUID = 240L;

@Override
protected String getText(Object value, int row, int column) {
if (column >= 1){ // Don't process the NAME column
String val = value.toString();
if (val.startsWith(USER_COL_RESOURCE+UNDERSCORE)){
return JMeterUtils.getResString(USER_COL_RESOURCE)+val.substring(val.indexOf(UNDERSCORE));
}
}
return super.getText(value, row, column);
}
return super.getText(value, row, column);
}
};
paramTable.getTableHeader().setDefaultRenderer(defaultRenderer);
};
paramTable.getTableHeader().setDefaultRenderer(defaultRenderer);
}
perIterationCheck.setSelected(false);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ public void modifyTestElement(TestElement element) {
private Component makeMainPanel() {
initializeTableModel();
table = new JTable(tableModel);
table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
HeaderAsPropertyRenderer.install(table);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
JMeterUtils.applyHiDPI(table);
return makeScrollPane(table);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -420,8 +420,7 @@ private Component createResponseMetadataPanel() {
tableResHeaders.setToolTipText(JMeterUtils.getResString("textbox_tooltip_cell")); // $NON-NLS-1$
tableResHeaders.addMouseListener(new TextBoxDoubleClick(tableResHeaders));
setFirstColumnPreferredSize(tableResHeaders);
tableResHeaders.getTableHeader().setDefaultRenderer(
new HeaderAsPropertyRenderer());
HeaderAsPropertyRenderer.install(tableResHeaders);
RendererUtils.applyRenderers(tableResHeaders, RENDERERS_HEADERS);

// Set up the 3rd table
Expand All @@ -430,8 +429,7 @@ private Component createResponseMetadataPanel() {
tableResFields.setToolTipText(JMeterUtils.getResString("textbox_tooltip_cell")); // $NON-NLS-1$
tableResFields.addMouseListener(new TextBoxDoubleClick(tableResFields));
setFirstColumnPreferredSize(tableResFields);
tableResFields.getTableHeader().setDefaultRenderer(
new HeaderAsPropertyRenderer());
HeaderAsPropertyRenderer.install(tableResFields);
RendererUtils.applyRenderers(tableResFields, RENDERERS_FIELDS);

// Prepare the Results tabbed pane
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -319,8 +319,8 @@ static ObjectTableModel createObjectTableModel() {
new Functor("getSentKBPerSecond") }, //$NON-NLS-1$
new Functor[] { null, null, null, null, null, null, null, null, null, null, null, null, null },
new Class[] { String.class, Long.class, Long.class, Long.class, Long.class,
Long.class, Long.class, Long.class, Long.class, String.class,
String.class, String.class, String.class});
Long.class, Long.class, Long.class, Long.class, Double.class,
Double.class, Double.class, Double.class});
}

// Column formats
Expand Down Expand Up @@ -469,7 +469,7 @@ private void init() { // WARNING: called from ctor so must not be overridden (i.
myJTable = new JTable(model);
JMeterUtils.applyHiDPI(myJTable);
// Fix centering of titles
myJTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer(getColumnsMsgParameters()));
HeaderAsPropertyRenderer.install(myJTable, getColumnsMsgParameters());
myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70));
RendererUtils.applyRenderers(myJTable, getRenderers());
myScrollPane = new JScrollPane(myJTable);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
import org.apache.jorphan.gui.ObjectTableModel;
import org.apache.jorphan.gui.ObjectTableSorter;
import org.apache.jorphan.gui.RendererUtils;

/**
Expand Down Expand Up @@ -172,8 +173,9 @@ private void init() { // WARNING: called from ctor so must not be overridden (i.
mainPanel.add(makeTitlePanel());

myJTable = new JTable(model);
myJTable.setRowSorter(new ObjectTableSorter(model).fixLastRow());
JMeterUtils.applyHiDPI(myJTable);
myJTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer(StatGraphVisualizer.getColumnsMsgParameters()));
HeaderAsPropertyRenderer.install(myJTable, StatGraphVisualizer.getColumnsMsgParameters());
myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70));
RendererUtils.applyRenderers(myJTable, StatGraphVisualizer.getRenderers());
myScrollPane = new JScrollPane(myJTable);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
import org.apache.jorphan.gui.NumberRenderer;
import org.apache.jorphan.gui.ObjectTableModel;
import org.apache.jorphan.gui.ObjectTableSorter;
import org.apache.jorphan.gui.RateRenderer;
import org.apache.jorphan.gui.RendererUtils;
import org.apache.jorphan.reflect.Functor;
Expand Down Expand Up @@ -158,8 +159,8 @@ public SummaryReport() {
new Functor("getAvgPageBytes"), //$NON-NLS-1$
},
new Functor[] { null, null, null, null, null, null, null, null , null, null, null },
new Class[] { String.class, Long.class, Long.class, Long.class, Long.class,
String.class, String.class, String.class, String.class, String.class, String.class });
new Class[] { String.class, Integer.class, Long.class, Long.class, Long.class,
Double.class, Double.class, Double.class, Double.class, Double.class, Double.class });
clearData();
init();
}
Expand Down Expand Up @@ -239,8 +240,9 @@ private void init() { // WARNING: called from ctor so must not be overridden (i.
mainPanel.add(makeTitlePanel());

myJTable = new JTable(model);
myJTable.setRowSorter(new ObjectTableSorter(model).fixLastRow());
JMeterUtils.applyHiDPI(myJTable);
myJTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
HeaderAsPropertyRenderer.install(myJTable);
myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70));
RendererUtils.applyRenderers(myJTable, RENDERERS);
myScrollPane = new JScrollPane(myJTable);
Expand Down
31 changes: 26 additions & 5 deletions src/components/org/apache/jmeter/visualizers/TableVisualizer.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import java.awt.FlowLayout;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Comparator;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
Expand All @@ -45,6 +46,7 @@
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
import org.apache.jorphan.gui.ObjectTableModel;
import org.apache.jorphan.gui.ObjectTableSorter;
import org.apache.jorphan.gui.RendererUtils;
import org.apache.jorphan.gui.RightAlignRenderer;
import org.apache.jorphan.gui.layout.VerticalLayout;
Expand Down Expand Up @@ -185,10 +187,10 @@ public void run() {
calc.addSample(res);
int count = calc.getCount();
TableSample newS = new TableSample(
count,
res.getSampleCount(),
res.getStartTime(),
res.getThreadName(),
count,
res.getSampleCount(),
res.getStartTime(),
res.getThreadName(),
res.getSampleLabel(),
res.getTime(),
res.isSuccessful(),
Expand Down Expand Up @@ -238,8 +240,9 @@ private void init() { // WARNING: called from ctor so must not be overridden (i.

// Set up the table itself
table = new JTable(model);
table.setRowSorter(new ObjectTableSorter(model).setValueComparator(5, Comparator.nullsFirst(SampleSucessComparator.INSTANCE)));
JMeterUtils.applyHiDPI(table);
table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
HeaderAsPropertyRenderer.install(table);
RendererUtils.applyRenderers(table, RENDERERS);

tableScrollPanel = new JScrollPane(table);
Expand Down Expand Up @@ -323,6 +326,24 @@ private void init() { // WARNING: called from ctor so must not be overridden (i.
this.add(tablePanel, BorderLayout.CENTER);
}

public static enum SampleSucessComparator implements Comparator<ImageIcon> {
INSTANCE;

@Override
public int compare(ImageIcon o1, ImageIcon o2) {
if (o1 == o2) {
return 0;
}
if (o1 == imageSuccess) {
return -1;
}
if (o1 == imageFailure) {
return 1;
}
throw new IllegalArgumentException("Only success and failure images can be compared");
}
}

public static class SampleSuccessFunctor extends Functor {
public SampleSuccessFunctor(String methodName) {
super(methodName);
Expand Down
2 changes: 1 addition & 1 deletion src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -616,7 +616,7 @@ protected void sizeColumns(JTable _table) {
private Component makeMainPanel() {
initializeTableModel();
table = new JTable(tableModel);
table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
HeaderAsPropertyRenderer.install(table);
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
if (this.background != null) {
table.setBackground(this.background);
Expand Down
2 changes: 1 addition & 1 deletion src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ private Component createTablePanel() {

table = new JTable(tableModel);
JMeterUtils.applyHiDPI(table);
table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
HeaderAsPropertyRenderer.install(table);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
return makeScrollPane(table);
}
Expand Down
Loading