JAL-3446 from JAL-3253-applet SequenceFetcher as AsyncSwingWorker
authorBobHanson <hansonr@stolaf.edu>
Tue, 2 Jun 2020 19:11:10 +0000 (14:11 -0500)
committerBobHanson <hansonr@stolaf.edu>
Tue, 2 Jun 2020 19:11:10 +0000 (14:11 -0500)
commit0d27ff1200cf5bcc9e1d79a37c5932ba0f8931d4
treea32954951c263ba6ec10c11b2243cc6175246889
parent24ba9e8c9afcd5d29d2e95d5cecb133fe8672285
JAL-3446 from JAL-3253-applet SequenceFetcher as AsyncSwingWorker

- uses a javajs.async.SwingJSUtils.StateMachine

- implements a subclass of javajs.async.AsyncSwingWorker, which itself
subclasses SwingWorker

- also required some temporary adjustments for not yet having yet
handled ApplicationSingleton
 on this branch

- added one Preferences final static

- integrates several older methods that together were able to cycle
through a list of items to fetch from a list of possible source
"proxies"

- allows either synchronous (testng) or asynchronous operation simply by
setting the StateMachine's mainLoop timer (0 == synchronous).

- allows JavaScript to display a progress monitor

- allows Java to use a simple Java built in ProgressMonitor for a
SwingWorker-like operation. (easily tested, but not implemented here).

- for more details, see javajs.async.AsyncSwingWorker JavaDoc.
src/jalview/fts/core/GFTSPanel.java
src/jalview/fts/service/pdb/PDBFTSPanel.java
src/jalview/fts/service/uniprot/UniprotFTSPanel.java
src/jalview/gui/AlignFrame.java
src/jalview/gui/Desktop.java
src/jalview/gui/Preferences.java
src/jalview/gui/SequenceFetcher.java
src/jalview/ws/DBRefFetcher.java
src/jalview/ws/SequenceFetcher.java
test/jalview/io/CrossRef2xmlTests.java