< prev index next >

src/org/netbeans/jemmy/operators/JToolTipOperator.java

Print this page

        

@@ -35,12 +35,15 @@
 import javax.swing.JToolTip;
 import javax.swing.plaf.ToolTipUI;
 
 import org.netbeans.jemmy.ComponentChooser;
 import org.netbeans.jemmy.ComponentSearcher;
+import org.netbeans.jemmy.JemmyException;
 import org.netbeans.jemmy.TimeoutExpiredException;
+import org.netbeans.jemmy.Timeouts;
 import org.netbeans.jemmy.Waitable;
+import org.netbeans.jemmy.Waiter;
 
 /**
  * <BR>
  * <BR>
  * Timeouts used: <BR>

@@ -50,17 +53,22 @@
  *
  * @see org.netbeans.jemmy.Timeouts
  */
 public class JToolTipOperator extends JComponentOperator {
 
+    private static long WAIT_TOOLTIP_TIMEOUT = 60000;
+
     /**
      * Identifier for a "tip text" property.
      *
      * @see #getDump()
      */
     public static final String TIP_TEXT_DPROP = "TipText";
 
+    static {
+        Timeouts.initDefault("JToolTipOperator.WaitToolTipTimeout", WAIT_TOOLTIP_TIMEOUT);
+    }
     /**
      * Constructs a JToolTipOperator object, waiting for a shown
      * JToolTip.
      */
     public JToolTipOperator() {

@@ -284,12 +292,11 @@
      * @return JToolTip instance.
      * @see TimeoutExpiredException
      */
     public static JToolTip waitJToolTip(ComponentOperator comp,
             ComponentChooser chooser) {
-        return Operator.getEnvironmentOperator().
-                waitState(new Waitable<JToolTip, Void>() {
+        Waitable<JToolTip, Void> waitable = new Waitable<JToolTip, Void>() {
             @Override
             public JToolTip actionProduced(Void obj) {
                 return findJToolTip(comp, chooser);
             }
 

@@ -302,11 +309,23 @@
             @Override
             public String toString() {
                 return "JToolTipOperator.waitJToolTip.Waitable{description = "
                         + getDescription() + '}';
             }
-        });
+        };
+        Waiter<JToolTip, Void> stateWaiter = new Waiter<>(waitable);
+        stateWaiter.setTimeoutsToCloneOf(Operator.getEnvironmentOperator().
+                getTimeouts(), "JToolTipOperator.WaitToolTipTimeout");
+        stateWaiter.setOutput(Operator.getEnvironmentOperator().
+                getOutput().createErrorOutput());
+        try {
+            return stateWaiter.waitAction(null);
+        } catch (InterruptedException e) {
+           Thread.currentThread().interrupt();
+           throw (new JemmyException("Waiting of " + waitable.getDescription()
+               + " state has been interrupted!"));
+        }
     }
 
     /**
      * Waits for the JToolTip associated with the given component and having
      * the given tip text compared using given string comparator options.
< prev index next >