org.netbeans.jemmy
Class DialogWaiter

java.lang.Object
  extended by org.netbeans.jemmy.Waiter
      extended by org.netbeans.jemmy.WindowWaiter
          extended by org.netbeans.jemmy.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:
Timeouts

Constructor Summary
DialogWaiter()
          Constructor.
 
Method Summary
protected  String getActionProducedMessage(long spendedTime, Object result)
          Overrides WindowWaiter.getActionProducedMessage.
static Dialog getDialog(ComponentChooser cc)
          Searches for a dialog.
static Dialog getDialog(ComponentChooser cc, int index)
          Searches for a dialog.
static Dialog getDialog(String title, boolean ce, boolean cc)
          Searches for a dialog by title.
static Dialog getDialog(String title, boolean ce, boolean cc, int index)
          Searches for a dialog by title.
static Dialog getDialog(Window owner, ComponentChooser cc)
          Searches for a dialog.
static Dialog getDialog(Window owner, ComponentChooser cc, int index)
          Searches for a dialog.
static Dialog getDialog(Window owner, String title, boolean ce, boolean cc)
          Searches for a dialog by title.
static Dialog getDialog(Window owner, String title, boolean ce, boolean cc, int index)
          Searches for a dialog by title.
protected  String getGoldenActionProducedMessage()
          Returns message to be printed int golden output when waiting has been successfully finished.
protected  String getGoldenTimeoutExpiredMessage()
          Returns message to be printed int golden output when waiting timeout has been expired.
protected  String getGoldenWaitingStartedMessage()
          Returns message to be printed int golden output before waiting start.
 TestOut getOutput()
          Returns print output streams or writers.
protected  String getTimeoutExpiredMessage(long spendedTime)
          Overrides WindowWaiter.getTimeoutExpiredMessage.
 Timeouts getTimeouts()
          Return current timeouts.
protected  String getWaitingStartedMessage()
          Returns message to be printed before waiting start.
 void setOutput(TestOut output)
          Defines print output streams or writers.
 void setTimeouts(Timeouts timeouts)
          Defines current timeouts.
 Dialog waitDialog(ComponentChooser ch)
          Waits for a dialog to show.
 Dialog waitDialog(ComponentChooser ch, int index)
          Waits for a dialog to show.
 Dialog waitDialog(String title, boolean compareExactly, boolean compareCaseSensitive)
          Waits for a dialog to show.
 Dialog waitDialog(String title, boolean compareExactly, boolean compareCaseSensitive, int index)
          Waits for a dialog to show.
 Dialog waitDialog(Window owner, ComponentChooser ch)
          Waits for a dialog to show.
 Dialog waitDialog(Window owner, ComponentChooser ch, int index)
          Waits for a dialog to show.
 Dialog waitDialog(Window owner, String title, boolean compareExactly, boolean compareCaseSensitive)
          Waits for a dialog to show.
 Dialog waitDialog(Window owner, String title, boolean compareExactly, boolean compareCaseSensitive, int index)
          Waits for a dialog to show.
 
Methods inherited from class org.netbeans.jemmy.WindowWaiter
actionProduced, getComponentChooser, getDescription, getOwner, getWindow, getWindow, getWindow, getWindow, setComponentChooser, setOwner, waitWindow, waitWindow, waitWindow, waitWindow
 
Methods inherited from class org.netbeans.jemmy.Waiter
setTimeoutsToCloneOf, setWaitingTimeOrigin, timeFromStart, waitAction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DialogWaiter

public DialogWaiter()
Constructor.

Method Detail

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:
Timeouts, Timeoutable, getTimeouts()

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:
Timeouts, Timeoutable, setTimeouts(org.netbeans.jemmy.Timeouts)

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:
TestOut, Outputable, getOutput()

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:
TestOut, Outputable, setOutput(org.netbeans.jemmy.TestOut)

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:
WindowWaiter.actionProduced(Object)

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:
WindowWaiter.actionProduced(Object)

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:
WindowWaiter.actionProduced(Object)

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:
WindowWaiter.actionProduced(Object)

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:
WindowWaiter.actionProduced(Object)

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:
WindowWaiter.actionProduced(Object)

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:
WindowWaiter.actionProduced(Object)

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:
WindowWaiter.actionProduced(Object)

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:
Waiter.getWaitingStartedMessage()

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:
Waiter.getTimeoutExpiredMessage(long)

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:
Waiter.getActionProducedMessage(long, Object)

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:
Waiter.getGoldenWaitingStartedMessage()

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:
Waiter.getGoldenTimeoutExpiredMessage()

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:
Waiter.getGoldenActionProducedMessage()