Author: penyaskito
Date: 2008-10-08 03:35:55-0700
New Revision: 15905

Added:
   
branches/BRANCH_0_26_x/src/argouml-app/tests/org/argouml/util/ThreadHelper.java 
  (contents, props changed)

Log:
Applying patch from trunk r15886, fixes the tests that could fail because of a 
race condition after the fixes in Issue 5416. Forgot to add the new 
ThreadHelper class.

Added: 
branches/BRANCH_0_26_x/src/argouml-app/tests/org/argouml/util/ThreadHelper.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_26_x/src/argouml-app/tests/org/argouml/util/ThreadHelper.java?view=auto&rev=15905
==============================================================================
--- (empty file)
+++ 
branches/BRANCH_0_26_x/src/argouml-app/tests/org/argouml/util/ThreadHelper.java 
    2008-10-08 03:35:55-0700
@@ -0,0 +1,63 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.util;
+
+import java.lang.reflect.InvocationTargetException;
+
+import javax.swing.SwingUtilities;
+
+import org.argouml.model.Model;
+
+/**
+ * Helper methods for tests which need to deal with threads.  Not intended for
+ * use in applications.
+ * 
+ * @author Tom Morris <[EMAIL PROTECTED]>
+ */
+public class ThreadHelper {
+
+    /**
+     * Wait for all events to be delivered on the MDR event thread and on the
+     * AWT/Swing event thread.
+     * 
+     * @throws InterruptedException if we were interrupted while waiting for 
the
+     *             AWT thread to sync
+     * @throws InvocationTargetException should never happen. Indicates an
+     *             internal error.
+     */
+    public static void synchronize() throws InterruptedException, 
+    InvocationTargetException {
+        
+        // Wait for all Model subsystem events to be delivered
+        Model.getPump().flushModelEvents();
+
+        // Wait for all AWT events to be dispatched and processed
+        Runnable doWorkRunnable = new Runnable() {
+            public void run() {
+            }  
+        };
+        SwingUtilities.invokeAndWait(doWorkRunnable);
+    }
+}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to