git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'JAL-3878_ws-overhaul-3' into mmw/Release_2_12_ws_merge
[jalview.git]
/
src
/
jalview
/
gui
/
SlivkaPreferences.java
diff --git
a/src/jalview/gui/SlivkaPreferences.java
b/src/jalview/gui/SlivkaPreferences.java
index
6fc14b0
..
5f2e106
100644
(file)
--- a/
src/jalview/gui/SlivkaPreferences.java
+++ b/
src/jalview/gui/SlivkaPreferences.java
@@
-1,11
+1,5
@@
package jalview.gui;
package jalview.gui;
-import jalview.bin.Cache;
-import jalview.bin.Console;
-import jalview.util.MessageManager;
-import jalview.ws.WSDiscovererI;
-import jalview.ws.slivkaws.SlivkaWSDiscoverer;
-
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
@@
-22,6
+16,7
@@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.HashMap;
import java.util.Map;
import java.util.NoSuchElementException;
+import java.util.concurrent.CancellationException;
import java.util.concurrent.CompletableFuture;
import javax.swing.BorderFactory;
import java.util.concurrent.CompletableFuture;
import javax.swing.BorderFactory;
@@
-38,6
+33,11
@@
import javax.swing.UIManager;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
+import jalview.bin.Console;
+import jalview.util.MessageManager;
+import jalview.ws2.client.api.WebServiceDiscovererI;
+import jalview.ws2.client.slivka.SlivkaWSDiscoverer;
+
@SuppressWarnings("serial")
public class SlivkaPreferences extends JPanel
{
@SuppressWarnings("serial")
public class SlivkaPreferences extends JPanel
{
@@
-46,11
+46,11
@@
public class SlivkaPreferences extends JPanel
setPreferredSize(new Dimension(500, 450));
}
setPreferredSize(new Dimension(500, 450));
}
- WSDiscovererI discoverer;
+ WebServiceDiscovererI discoverer;
- private final ArrayList<String> urls = new ArrayList<>();
+ private final ArrayList<URL> urls = new ArrayList<>();
- private final Map<String, Integer> statuses = new HashMap<>();
+ private final Map<URL, Integer> statuses = new HashMap<>();
private final AbstractTableModel urlTableModel = new AbstractTableModel()
{
private final AbstractTableModel urlTableModel = new AbstractTableModel()
{
@@
-68,9
+68,9
@@
public class SlivkaPreferences extends JPanel
switch (columnIndex)
{
case 0:
switch (columnIndex)
{
case 0:
- return urls.get(rowIndex);
+ return urls.get(rowIndex).toString();
case 1:
case 1:
- return statuses.getOrDefault(urls.get(rowIndex), WSDiscovererI.STATUS_UNKNOWN);
+ return statuses.getOrDefault(urls.get(rowIndex), WebServiceDiscovererI.STATUS_UNKNOWN);
default:
throw new NoSuchElementException();
}
default:
throw new NoSuchElementException();
}
@@
-101,16
+101,16
@@
public class SlivkaPreferences extends JPanel
hasFocus, row, column);
switch ((Integer) value)
{
hasFocus, row, column);
switch ((Integer) value)
{
- case WSDiscovererI.STATUS_NO_SERVICES:
+ case WebServiceDiscovererI.STATUS_NO_SERVICES:
setForeground(Color.ORANGE);
break;
setForeground(Color.ORANGE);
break;
- case WSDiscovererI.STATUS_OK:
+ case WebServiceDiscovererI.STATUS_OK:
setForeground(Color.GREEN);
break;
setForeground(Color.GREEN);
break;
- case WSDiscovererI.STATUS_INVALID:
+ case WebServiceDiscovererI.STATUS_INVALID:
setForeground(Color.RED);
break;
setForeground(Color.RED);
break;
- case WSDiscovererI.STATUS_UNKNOWN:
+ case WebServiceDiscovererI.STATUS_UNKNOWN:
default:
setForeground(Color.LIGHT_GRAY);
}
default:
setForeground(Color.LIGHT_GRAY);
}
@@
-141,7
+141,7
@@
public class SlivkaPreferences extends JPanel
JButton moveUrlDown = new JButton(
MessageManager.getString("action.move_down"));
JButton moveUrlDown = new JButton(
MessageManager.getString("action.move_down"));
- private String showEditUrlDialog(String oldUrl)
+ private URL showEditUrlDialog(String oldUrl)
{
String input = (String) JvOptionPane
.showInternalInputDialog(
{
String input = (String) JvOptionPane
.showInternalInputDialog(
@@
-158,7
+158,7
@@
public class SlivkaPreferences extends JPanel
}
try
{
}
try
{
- new URL(input);
+ return new URL(input);
} catch (MalformedURLException ex)
{
JvOptionPane.showInternalMessageDialog(this,
} catch (MalformedURLException ex)
{
JvOptionPane.showInternalMessageDialog(this,
@@
-168,18
+168,17
@@
public class SlivkaPreferences extends JPanel
JOptionPane.WARNING_MESSAGE);
return null;
}
JOptionPane.WARNING_MESSAGE);
return null;
}
- return input;
}
// Button Action Listeners
private ActionListener newUrlAction = (ActionEvent e) -> {
}
// Button Action Listeners
private ActionListener newUrlAction = (ActionEvent e) -> {
- final String input = showEditUrlDialog("");
+ final URL input = showEditUrlDialog("");
if (input != null)
{
urls.add(input);
reloadStatusForUrl(input);
urlTableModel.fireTableRowsInserted(urls.size(), urls.size());
if (input != null)
{
urls.add(input);
reloadStatusForUrl(input);
urlTableModel.fireTableRowsInserted(urls.size(), urls.size());
- discoverer.setServiceUrls(urls);
+ discoverer.setUrls(urls);
}
};
}
};
@@
-187,14
+186,14
@@
public class SlivkaPreferences extends JPanel
final int i = urlListTable.getSelectedRow();
if (i >= 0)
{
final int i = urlListTable.getSelectedRow();
if (i >= 0)
{
- final String input = showEditUrlDialog(urls.get(i));
+ final URL input = showEditUrlDialog(urls.get(i).toString());
if (input != null)
{
urls.set(i, input);
statuses.remove(input);
reloadStatusForUrl(input);
urlTableModel.fireTableRowsUpdated(i, i);
if (input != null)
{
urls.set(i, input);
statuses.remove(input);
reloadStatusForUrl(input);
urlTableModel.fireTableRowsUpdated(i, i);
- discoverer.setServiceUrls(urls);
+ discoverer.setUrls(urls);
}
}
};
}
}
};
@@
-206,7
+205,7
@@
public class SlivkaPreferences extends JPanel
urls.remove(i);
statuses.remove(i);
urlTableModel.fireTableRowsDeleted(i, i);
urls.remove(i);
statuses.remove(i);
urlTableModel.fireTableRowsDeleted(i, i);
- discoverer.setServiceUrls(urls);
+ discoverer.setUrls(urls);
}
};
}
};
@@
-215,7
+214,7
@@
public class SlivkaPreferences extends JPanel
if (i > 0)
{
moveTableRow(i, i - 1);
if (i > 0)
{
moveTableRow(i, i - 1);
- discoverer.setServiceUrls(urls);
+ discoverer.setUrls(urls);
}
};
}
};
@@
-224,7
+223,7
@@
public class SlivkaPreferences extends JPanel
if (i >= 0 && i < urls.size() - 1)
{
moveTableRow(i, i + 1);
if (i >= 0 && i < urls.size() - 1)
{
moveTableRow(i, i + 1);
- discoverer.setServiceUrls(urls);
+ discoverer.setUrls(urls);
}
};
}
};
@@
-286,7
+285,7
@@
public class SlivkaPreferences extends JPanel
private void moveTableRow(int fromIndex, int toIndex)
{
private void moveTableRow(int fromIndex, int toIndex)
{
- String url = urls.get(fromIndex);
+ URL url = urls.get(fromIndex);
int status = statuses.get(fromIndex);
urls.set(fromIndex, urls.get(toIndex));
urls.set(toIndex, url);
int status = statuses.get(fromIndex);
urls.set(fromIndex, urls.get(toIndex));
urls.set(toIndex, url);
@@
-312,13
+311,16
@@
public class SlivkaPreferences extends JPanel
private ActionListener refreshServicesAction = (ActionEvent e) -> {
progressBar.setVisible(true);
Console.info("Requesting service reload");
private ActionListener refreshServicesAction = (ActionEvent e) -> {
progressBar.setVisible(true);
Console.info("Requesting service reload");
- discoverer.startDiscoverer().handle((_discoverer, exception) -> {
+ discoverer.startDiscoverer().handle((services, exception) -> {
if (exception == null)
{
Console.info("Reloading done");
}
if (exception == null)
{
Console.info("Reloading done");
}
- else
+ else if (exception instanceof CancellationException)
{
{
+ Console.info("Reloading cancelled");
+ }
+ else {
Console.error("Reloading failed", exception);
}
SwingUtilities.invokeLater(() -> progressBar.setVisible(false));
Console.error("Reloading failed", exception);
}
SwingUtilities.invokeLater(() -> progressBar.setVisible(false));
@@
-327,11
+329,11
@@
public class SlivkaPreferences extends JPanel
};
private ActionListener resetServicesAction = (ActionEvent e) -> {
};
private ActionListener resetServicesAction = (ActionEvent e) -> {
- discoverer.setServiceUrls(null);
+ discoverer.setUrls(null);
urls.clear();
statuses.clear();
urls.clear();
statuses.clear();
- urls.addAll(discoverer.getServiceUrls());
- for (String url : urls)
+ urls.addAll(discoverer.getUrls());
+ for (URL url : urls)
{
reloadStatusForUrl(url);
}
{
reloadStatusForUrl(url);
}
@@
-362,16
+364,16
@@
public class SlivkaPreferences extends JPanel
{
// Initial URLs loading
discoverer = SlivkaWSDiscoverer.getInstance();
{
// Initial URLs loading
discoverer = SlivkaWSDiscoverer.getInstance();
- urls.addAll(discoverer.getServiceUrls());
- for (String url : urls)
+ urls.addAll(discoverer.getUrls());
+ for (URL url : urls)
{
reloadStatusForUrl(url);
}
}
{
reloadStatusForUrl(url);
}
}
- private void reloadStatusForUrl(String url)
+ private void reloadStatusForUrl(URL url)
{
{
- CompletableFuture.supplyAsync(() -> discoverer.getServerStatusFor(url))
+ CompletableFuture.supplyAsync(() -> discoverer.getStatusForUrl(url))
.thenAccept((status) -> {
statuses.put(url, status);
int row = urls.indexOf(url);
.thenAccept((status) -> {
statuses.put(url, status);
int row = urls.indexOf(url);