On Tue, 31 Jan 2023 15:34:44 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> wrote:
>> SwingWorker done() method [spec >> ](https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/javax/swing/SwingWorker.java#L452) >> says "Executed on the Event Dispatch Thread after the doInBackground method >> is finished" >> but there's no mechanism in place to honor that claim. >> The >> [spec](https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/javax/swing/SwingWorker.java#L289) >> also says the state should be DONE after doInBackground() returns which is >> also not done. >> >> Modified the code to honour the specification. > > Prasanta Sadhukhan has updated the pull request incrementally with one > additional commit since the last revision: > > Test update Changes requested by aivanov (Reviewer). test/jdk/javax/swing/SwingWorker/TestDoneBeforeDoInBackground.java line 36: > 34: public class TestDoneBeforeDoInBackground { > 35: > 36: static boolean doInBackground = false; Suggestion: private static boolean doInBackground = false; Let's make it private too. test/jdk/javax/swing/SwingWorker/TestDoneBeforeDoInBackground.java line 38: > 36: static boolean doInBackground = false; > 37: private static final int WAIT_TIME = 200; > 38: private static final long CLEANUP_TIME = 3000; Suggestion: private static final long CLEANUP_TIME = 1000; 1 second is enough for automatic test. test/jdk/javax/swing/SwingWorker/TestDoneBeforeDoInBackground.java line 89: > 87: throw new RuntimeException("done didn't complete in time"); > 88: } > 89: System.out.println("doInBackground " + doInBackground); Suggestion: System.out.println("doInBackground = " + doInBackground); Maybe add getState() too? ------------- PR: https://git.openjdk.org/jdk/pull/11940