X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FDesktop.java;h=e9bf09f1db3bf111382130e1ce2892a147c87092;hb=c2b931a5a0ea81bdc93db1f0cf632b07717c5066;hp=088d83d4a5802cc22a47bde5a4e5a74a458ea8d7;hpb=ce3d27d8c625c0f8a1a0d766fbf7941d92d88c94;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index 088d83d..e9bf09f 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -59,8 +59,11 @@ import java.util.Hashtable; import java.util.List; import java.util.ListIterator; import java.util.Vector; +import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; import java.util.concurrent.Semaphore; import javax.swing.AbstractAction; @@ -120,6 +123,7 @@ import jalview.util.Platform; import jalview.util.ShortcutKeyMaskExWrapper; import jalview.util.UrlConstants; import jalview.viewmodel.AlignmentViewport; +import jalview.ws.WSDiscovererI; import jalview.ws.params.ParamManager; import jalview.ws.utils.UrlDownloadClient; @@ -157,6 +161,7 @@ public class Desktop extends jalview.jbgui.GDesktop public static HashMap savingFiles = new HashMap(); + @SuppressWarnings("deprecation") private JalviewChangeSupport changeSupport = new JalviewChangeSupport(); /** @@ -170,6 +175,7 @@ public class Desktop extends jalview.jbgui.GDesktop * @param listener * @see jalview.gui.JalviewChangeSupport#addJalviewPropertyChangeListener(java.beans.PropertyChangeListener) */ + @Deprecated public void addJalviewPropertyChangeListener( PropertyChangeListener listener) { @@ -182,6 +188,7 @@ public class Desktop extends jalview.jbgui.GDesktop * @see jalview.gui.JalviewChangeSupport#addJalviewPropertyChangeListener(java.lang.String, * java.beans.PropertyChangeListener) */ + @Deprecated public void addJalviewPropertyChangeListener(String propertyName, PropertyChangeListener listener) { @@ -194,6 +201,7 @@ public class Desktop extends jalview.jbgui.GDesktop * @see jalview.gui.JalviewChangeSupport#removeJalviewPropertyChangeListener(java.lang.String, * java.beans.PropertyChangeListener) */ + @Deprecated public void removeJalviewPropertyChangeListener(String propertyName, PropertyChangeListener listener) { @@ -1547,7 +1555,8 @@ public class Desktop extends jalview.jbgui.GDesktop return; } - AlignmentViewport source = null, target = null; + AlignViewportI source = null; + AlignViewportI target = null; if (frames[0] instanceof AlignFrame) { source = ((AlignFrame) frames[0]).getCurrentView(); @@ -1767,7 +1776,7 @@ public class Desktop extends jalview.jbgui.GDesktop { try { - new Jalview2XML().loadJalviewAlign(choice); + new Jalview2XML().loadJalviewAlign(selectedFile); } catch (OutOfMemoryError oom) { new OOMWarning("Whilst loading project from " + choice, oom); @@ -2511,6 +2520,13 @@ public class Desktop extends jalview.jbgui.GDesktop progressBars.put(Long.valueOf(id), addProgressPanel(message)); } } + + @Override + public void removeProgressBar(long id) + { + //TODO + throw new UnsupportedOperationException("not implemented"); + } /* * (non-Javadoc) @@ -2629,10 +2645,9 @@ public class Desktop extends jalview.jbgui.GDesktop public void startServiceDiscovery(boolean blocking) { - boolean alive = true; - Thread t0 = null, t1 = null, t2 = null; + var tasks = new ArrayList>(); // JAL-940 - JALVIEW 1 services are now being EOLed as of JABA 2.1 release - if (true) + { // todo: changesupport handlers need to be transferred if (discoverer == null) @@ -2643,31 +2658,30 @@ public class Desktop extends jalview.jbgui.GDesktop } // JAL-940 - disabled JWS1 service configuration - always start discoverer // until we phase out completely - (t0 = new Thread(discoverer)).start(); + var f = new FutureTask(discoverer, null); + new Thread(f).start(); + tasks.add(f); } if (Cache.getDefault("SHOW_JWS2_SERVICES", true)) { - t2 = jalview.ws.jws2.Jws2Discoverer.getDiscoverer() - .startDiscoverer(changeSupport); + tasks.add(jalview.ws.jws2.Jws2Discoverer.getDiscoverer().startDiscoverer()); } - Thread t3 = null; + if (Cache.getDefault("SHOW_SLIVKA_SERVICES", true)) { - // TODO: do rest service discovery + tasks.add(jalview.ws.slivkaws.SlivkaWSDiscoverer.getInstance().startDiscoverer()); } if (blocking) { - while (alive) - { + for (Future task : tasks) { try { - Thread.sleep(15); + // block until all discovery tasks are done + task.get(); } catch (Exception e) { + e.printStackTrace(); } - alive = (t1 != null && t1.isAlive()) || (t2 != null && t2.isAlive()) - || (t3 != null && t3.isAlive()) - || (t0 != null && t0.isAlive()); } } } @@ -2681,8 +2695,9 @@ public class Desktop extends jalview.jbgui.GDesktop { if (evt.getNewValue() == null || evt.getNewValue() instanceof Vector) { - final String ermsg = jalview.ws.jws2.Jws2Discoverer.getDiscoverer() - .getErrorMessages(); + final WSDiscovererI discoverer = jalview.ws.jws2.Jws2Discoverer + .getDiscoverer(); + final String ermsg = discoverer.getErrorMessages(); if (ermsg != null) { if (Cache.getDefault("SHOW_WSDISCOVERY_ERRORS", true))