Mercurial > hg > release > thermostat-0.6
changeset 977:92588dada473
Exception on client when selecting a stale agent's backend
Reviewed-by: neugens
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-February/005715.html
author | Omair Majid <omajid@redhat.com> |
---|---|
date | Fri, 15 Feb 2013 17:24:29 -0500 |
parents | a5125d1ef8b1 |
children | 387f76b0c755 930ef1c74e99 |
files | client/swing/src/main/java/com/redhat/thermostat/client/swing/internal/views/AgentInformationDisplayFrame.java |
diffstat | 1 files changed, 10 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/client/swing/src/main/java/com/redhat/thermostat/client/swing/internal/views/AgentInformationDisplayFrame.java Thu Feb 14 22:31:00 2013 +0100 +++ b/client/swing/src/main/java/com/redhat/thermostat/client/swing/internal/views/AgentInformationDisplayFrame.java Fri Feb 15 17:24:29 2013 -0500 @@ -346,18 +346,14 @@ SwingUtilities.invokeLater(new Runnable() { @Override public void run() { + backendsTableModel.setRowCount(0); + int i = 0; for (Entry<String, String> entry : backendStatus.entrySet()) { String backendName = entry.getKey(); String status = entry.getValue(); - int rowCount = backendsTableModel.getRowCount(); - if (i >= rowCount) { - Object[] rowData = new String[] { backendName, status }; - backendsTableModel.insertRow(i, rowData); - } else { - backendsTableModel.setValueAt(backendName, i, 0); - backendsTableModel.setValueAt(status, i, 1); - } + Object[] rowData = new String[] { backendName, status }; + backendsTableModel.insertRow(i, rowData); i++; } @@ -454,11 +450,17 @@ ListSelectionModel model = (ListSelectionModel) e.getSource(); int rowIndex = model.getMinSelectionIndex(); + if (rowIndex == -1) { + backendDescription.setText(""); + return; + } + String backendName = (String) backendsTableModel.getValueAt(rowIndex, 0); ActionEvent<ConfigurationAction> event = new ActionEvent<>(AgentInformationDisplayFrame.this, ConfigurationAction.SHOW_BACKEND_DESCRIPTION); event.setPayload(backendName); fireAction(event); + } }