JAL-3690 refactoring web-services discovery
[jalview.git] / src / jalview / gui / SlivkaPreferences.java
index f4f6a9a..0743d58 100644 (file)
@@ -29,6 +29,7 @@ import javax.swing.JPanel;
 import javax.swing.JProgressBar;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
+import javax.swing.SwingUtilities;
 import javax.swing.UIManager;
 import javax.swing.table.AbstractTableModel;
 import javax.swing.table.DefaultTableCellRenderer;
@@ -306,12 +307,18 @@ public class SlivkaPreferences extends JPanel
 
   // Discoverer buttons action listeners
   private ActionListener refreshServicesAction = (ActionEvent e) -> {
+    progressBar.setVisible(true);
     new Thread(() -> {
-      progressBar.setVisible(true);
       Cache.log.info("Requesting service reload");
-      Desktop.instance.startServiceDiscovery(discoverer, true);
-      Cache.log.info("Reloading done");
-      progressBar.setVisible(false);
+      var task = discoverer.startDiscoverer();
+      try {
+        task.get();
+        Cache.log.info("Reloading done");
+      } catch (Exception exc) {
+        Cache.log.error("Reloading failed", exc);
+      } finally {
+        SwingUtilities.invokeLater(() -> progressBar.setVisible(false));
+      }
     }).start();
   };