exist icon indicating copy to clipboard operation
exist copied to clipboard

[BUG] Java Admin Client uses non-Swing concurrency to interact with GUI

Open adamretter opened this issue 3 years ago • 1 comments

The Java Admin Client is a Swing application, and as such should follow the Swing guidelines when using multiple threads to update UI components. See - https://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html

Therefore we should modify the existing background tasks that use Runnable's and calls to InteractiveClient#newClientThread(String, Runnable) with instances of SwingWorker.

This also has the benefit of giving us the facility to incrementally update the UI as chunks of results become available.

For an example of how to do this, see - https://github.com/eXist-db/exist/pull/4356/commits/e3c834e0c965a7f97af106e00529ef18089984cd

adamretter avatar Apr 24 '22 20:04 adamretter

@adamretter I could do this after my #4220 PR as I changed a lot there in order to increase the test coverage....

reinhapa avatar Apr 28 '22 10:04 reinhapa