Class DialogWaiter

All Implemented Interfaces:
Outputable, Timeoutable, Waitable

public class DialogWaiter extends WindowWaiter implements Timeoutable, Outputable
A DialogWaiter is a utility class used to look or wait for Dialogs. It contains methods to search for a Dialog among the currently showing Dialogs as well as methods that wait for a Diaog to show within an allotted time period. Searches and waits can either involve search criteria applied by a ComponentChooser instance or a search criteria based on the Dialog title. Searches and waits can both be restricted to dialogs owned by a given window.

Timeouts used:
DialogWaiter.WaitDialogTimeout - time to wait dialog displayed
DialogWaiter.AfterDialogTimeout - time to sleep after dialog has been dispayed
Author:
Alexandre Iline (alexandre.iline@sun.com)
See Also:
  • Constructor Details

    • DialogWaiter

      public DialogWaiter()
      Constructor.
  • Method Details

    • getDialog

      public static Dialog getDialog(ComponentChooser cc)
      Searches for a dialog. Search among the currently showing dialogs for one that meets the search criteria applied by the ComponentChooser parameter.
      Parameters:
      cc - A component chooser used to define and apply the search criteria.
      Returns:
      a reference to the first dialog that is showing and that meets the search criteria. If no such dialog can be found, a null reference is returned.
    • getDialog

      public static Dialog getDialog(ComponentChooser cc, int index)
      Searches for a dialog. The search proceeds among the currently showing dialogs for the index+1'th dialog that meets the criteria defined and applied by the ComonentChooser parameter.
      Parameters:
      cc - A component chooser used to define and apply the search criteria.
      index - The ordinal index of the dialog in the set of currently displayed dialogs. The first index is 0.
      Returns:
      a reference to the index+1'th dialog that is showing and that meets the search criteria. If there are fewer than index+1 dialogs, a null reference is returned.
    • getDialog

      public static Dialog getDialog(String title, boolean ce, boolean cc)
      Searches for a dialog by title. The search proceeds among the currently showing dialogs for the first with a suitable title.
      Parameters:
      title - Dialog title or subtitle.
      ce - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
      cc - If true the search is case sensitive; otherwise, the search is case insensitive.
      Returns:
      a reference to the first dialog that is showing and that has a suitable title. If no such dialog can be found, a null reference is returned.
    • getDialog

      public static Dialog getDialog(String title, boolean ce, boolean cc, int index)
      Searches for a dialog by title. The search is for the index+1'th dialog among the currently showing dialogs that possess a suitable title.
      Parameters:
      title - Dialog title or subtitle.
      ce - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
      cc - If true the search is case sensitive; otherwise, the search is case insensitive.
      index - Ordinal index between appropriate dialogs
      Returns:
      a reference to the index+1'th dialog that is showing and that has a suitable title. If there are fewer than index+1 dialogs, a null reference is returned.
    • getDialog

      public static Dialog getDialog(Window owner, ComponentChooser cc)
      Searches for a dialog. Search among the currently showing dialogs for the first that is both owned by the java.awt.Window owner and that meets the search criteria applied by the ComponentChooser parameter.
      Parameters:
      owner - The owner window of the dialogs to be searched.
      cc - A component chooser used to define and apply the search criteria.
      Returns:
      a reference to the first dialog that is showing, has a proper owner window, and that meets the search criteria. If no such dialog can be found, a null reference is returned.
    • getDialog

      public static Dialog getDialog(Window owner, ComponentChooser cc, int index)
      Searches for a dialog. The search proceeds among the currently showing dialogs for the index+1'th dialog that is both owned by the java.awt.Window owner and that meets the criteria defined and applied by the ComponentChooser parameter.
      Parameters:
      owner - The owner window of all the dialogs to be searched.
      cc - A component chooser used to define and apply the search criteria.
      index - Ordinal index between appropriate dialogs
      Returns:
      a reference to the index+1'th dialog that is showing, has the proper window ownership, and that meets the search criteria. If there are fewer than index+1 dialogs, a null reference is returned.
    • getDialog

      public static Dialog getDialog(Window owner, String title, boolean ce, boolean cc)
      Searches for a dialog by title. The search proceeds among the currently showing dialogs that are owned by the java.awt.Window owner for the first with a suitable title.
      Parameters:
      owner - A window - owner of a dialods to be checked.
      title - Dialog title or subtitle.
      ce - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
      cc - If true the search is case sensitive; otherwise, the search is case insensitive.
      Returns:
      a reference to the first dialog that is showing, has the proper window ownership, and a suitable title. If no such dialog can be found, a null reference is returned.
    • getDialog

      public static Dialog getDialog(Window owner, String title, boolean ce, boolean cc, int index)
      Searches for a dialog by title. The search is for the index+1'th dialog among the currently showing dialogs that are owned by the java.awt.Window owner and that have a suitable title.
      Parameters:
      owner - ?title? Dialog title or subtitle.
      title - ?ce? If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
      ce - ?cc? If true the search is case sensitive; otherwise, the search is case insensitive.
      cc - ?index? The ordinal index of the dialog in the set of currently displayed dialogs with the proper window ownership and a suitable title. The first index is 0.
      index - Ordinal index between appropriate dialogs
      Returns:
      a reference to the index+1'th dialog that is showing, has the proper window ownership, and a suitable title. If there are fewer than index+1 dialogs, a null reference is returned.
    • setTimeouts

      public void setTimeouts(Timeouts timeouts)
      Defines current timeouts.
      Specified by:
      setTimeouts in interface Timeoutable
      Overrides:
      setTimeouts in class WindowWaiter
      Parameters:
      timeouts - ?t? A collection of timeout assignments.
      See Also:
    • getTimeouts

      public Timeouts getTimeouts()
      Return current timeouts.
      Specified by:
      getTimeouts in interface Timeoutable
      Overrides:
      getTimeouts in class WindowWaiter
      Returns:
      the collection of current timeout assignments.
      See Also:
    • setOutput

      public void setOutput(TestOut output)
      Defines print output streams or writers.
      Specified by:
      setOutput in interface Outputable
      Overrides:
      setOutput in class Waiter
      Parameters:
      output - ?out? Identify the streams or writers used for print output.
      See Also:
    • getOutput

      public TestOut getOutput()
      Returns print output streams or writers.
      Specified by:
      getOutput in interface Outputable
      Overrides:
      getOutput in class Waiter
      Returns:
      an object that contains references to objects for printing to output and err streams.
      See Also:
    • waitDialog

      public Dialog waitDialog(ComponentChooser ch, int index) throws InterruptedException
      Waits for a dialog to show. Wait for the index+1'th dialog that meets the criteria defined and applied by the ComonentChooser parameter to show up.
      Parameters:
      ch - A component chooser used to define and apply the search criteria.
      index - The ordinal index of the dialog in the set of currently displayed dialogs. The first index is 0.
      Returns:
      a reference to the index+1'th dialog that shows and that meets the search criteria. If fewer than index+1 dialogs show up in the allotted time period then a null reference is returned.
      Throws:
      TimeoutExpiredException
      InterruptedException
      See Also:
    • waitDialog

      public Dialog waitDialog(ComponentChooser ch) throws InterruptedException
      Waits for a dialog to show. Wait for a dialog that meets the search criteria applied by the ComponentChooser parameter to show up.
      Parameters:
      ch - A component chooser used to define and apply the search criteria.
      Returns:
      a reference to the first dialog that shows and that meets the search criteria. If no such dialog can be found within the time period allotted, a null reference is returned.
      Throws:
      TimeoutExpiredException
      InterruptedException
      See Also:
    • waitDialog

      public Dialog waitDialog(String title, boolean compareExactly, boolean compareCaseSensitive, int index) throws InterruptedException
      Waits for a dialog to show. Wait for the index+1'th dialog to show with a suitable title.
      Parameters:
      title - Dialog title or subtitle.
      compareExactly - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
      compareCaseSensitive - If true the search is case sensitive; otherwise, the search is case insensitive.
      index - The ordinal index of the dialog in the set of currently displayed dialogs with the proper window ownership and a suitable title. The first index is 0.
      Returns:
      a reference to the index+1'th dialog to show and that has a suitable title. If no such dialog can be found within the time period allotted, a null reference is returned.
      Throws:
      TimeoutExpiredException
      InterruptedException
      See Also:
    • waitDialog

      public Dialog waitDialog(String title, boolean compareExactly, boolean compareCaseSensitive) throws InterruptedException
      Waits for a dialog to show. Wait for the first dialog to show with a suitable title.
      Parameters:
      title - Dialog title or subtitle.
      compareExactly - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
      compareCaseSensitive - If true the search is case sensitive; otherwise, the search is case insensitive.
      Returns:
      a reference to the first dialog to show and that has a suitable title. If no such dialog can be found within the time period allotted, a null reference is returned.
      Throws:
      TimeoutExpiredException
      InterruptedException
      See Also:
    • waitDialog

      public Dialog waitDialog(Window owner, ComponentChooser ch, int index) throws InterruptedException
      Waits for a dialog to show. Wait for the index+1'th dialog to show that is both owned by the java.awt.Window owner and that meets the criteria defined and applied by the ComponentChooser parameter.
      Parameters:
      owner - The owner window of all the dialogs to be searched.
      ch - A component chooser used to define and apply the search criteria.
      index - The ordinal index of the dialog in the set of currently displayed dialogs with the proper window ownership and a suitable title. The first index is 0.
      Returns:
      a reference to the index+1'th dialog to show that has the proper window ownership, and that meets the search criteria. If there are fewer than index+1 dialogs, a null reference is returned.
      Throws:
      TimeoutExpiredException
      InterruptedException
      See Also:
    • waitDialog

      public Dialog waitDialog(Window owner, ComponentChooser ch) throws InterruptedException
      Waits for a dialog to show. Wait for the first dialog to show that is both owned by the java.awt.Window owner and that meets the criteria defined and applied by the ComponentChooser parameter.
      Parameters:
      owner - The owner window of all the dialogs to be searched.
      ch - A component chooser used to define and apply the search criteria.
      Returns:
      a reference to the first dialog to show that has the proper window ownership, and that meets the search criteria. If there is no such dialog, a null reference is returned.
      Throws:
      TimeoutExpiredException
      InterruptedException
      See Also:
    • waitDialog

      public Dialog waitDialog(Window owner, String title, boolean compareExactly, boolean compareCaseSensitive, int index) throws InterruptedException
      Waits for a dialog to show. Wait for the index+1'th dialog to show with the proper owner and a suitable title.
      Parameters:
      owner - The owner window of all the dialogs to be searched.
      title - Dialog title or subtitle.
      compareExactly - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
      compareCaseSensitive - If true the search is case sensitive; otherwise, the search is case insensitive.
      index - Ordinal index between appropriate dialogs
      Returns:
      a reference to the index+1'th dialog to show that has both the proper owner window and a suitable title. If no such dialog can be found within the time period allotted, a null reference is returned.
      Throws:
      TimeoutExpiredException
      InterruptedException
      See Also:
    • waitDialog

      public Dialog waitDialog(Window owner, String title, boolean compareExactly, boolean compareCaseSensitive) throws InterruptedException
      Waits for a dialog to show. Wait for the first dialog to show with the proper owner and a suitable title.
      Parameters:
      owner - The owner window of all the dialogs to be searched.
      title - Dialog title or subtitle.
      compareExactly - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
      compareCaseSensitive - If true the search is case sensitive; otherwise, the search is case insensitive.
      Returns:
      a reference to the first dialog to show and that has both the proper owner and a suitable title. If no such dialog can be found within the time period allotted, a null reference is returned.
      Throws:
      TimeoutExpiredException
      InterruptedException
      See Also:
    • getWaitingStartedMessage

      protected String getWaitingStartedMessage()
      Description copied from class: Waiter
      Returns message to be printed before waiting start.
      Overrides:
      getWaitingStartedMessage in class WindowWaiter
      Returns:
      a message.
      See Also:
    • getTimeoutExpiredMessage

      protected String getTimeoutExpiredMessage(long spendedTime)
      Overrides WindowWaiter.getTimeoutExpiredMessage. Returns the timeout expired message value.
      Overrides:
      getTimeoutExpiredMessage in class WindowWaiter
      Parameters:
      spendedTime - Time spent for waiting
      Returns:
      A message string.
      See Also:
    • getActionProducedMessage

      protected String getActionProducedMessage(long spendedTime, Object result)
      Overrides WindowWaiter.getActionProducedMessage. Returns the action produced message value.
      Overrides:
      getActionProducedMessage in class WindowWaiter
      Parameters:
      spendedTime - Time spent for waiting
      result - A result of the action
      Returns:
      A message string.
      See Also:
    • getGoldenWaitingStartedMessage

      protected String getGoldenWaitingStartedMessage()
      Description copied from class: Waiter
      Returns message to be printed int golden output before waiting start.
      Overrides:
      getGoldenWaitingStartedMessage in class WindowWaiter
      Returns:
      a message.
      See Also:
    • getGoldenTimeoutExpiredMessage

      protected String getGoldenTimeoutExpiredMessage()
      Description copied from class: Waiter
      Returns message to be printed int golden output when waiting timeout has been expired.
      Overrides:
      getGoldenTimeoutExpiredMessage in class WindowWaiter
      Returns:
      a message.
      See Also:
    • getGoldenActionProducedMessage

      protected String getGoldenActionProducedMessage()
      Description copied from class: Waiter
      Returns message to be printed int golden output when waiting has been successfully finished.
      Overrides:
      getGoldenActionProducedMessage in class WindowWaiter
      Returns:
      a message.
      See Also: