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);
+
         }
 
     }