// Copyright � 2006-2007 ASERT. Released under the Canoo Webtest license.
package com.canoo.webtest.extension.dialogs;
import com.canoo.webtest.engine.Context;
import java.util.List;
import java.util.ArrayList;
/**
* Used by Dialog steps
*
* @author Paul King
*/
public class DialogHelper
{
private static final String EXPECTED_DIALOGS_KEY = "ExpectedDialogs";
static int getExpectedDialogsCount(final Context context) {
return getExpectedDialogs(context).size();
}
static void clearExpectedDialogs(final Context context) {
getExpectedDialogs(context).clear();
}
static void addExpectedDialog(final Context context, final AbstractDialogStep abstractDialogStep) {
getExpectedDialogs(context).add(abstractDialogStep);
}
static AbstractDialogStep getNextExpectedDialog(final Context context) {
final List expectedDialogs = getExpectedDialogs(context);
if (expectedDialogs.isEmpty()) {
return null;
}
final AbstractDialogStep thisDialog = (AbstractDialogStep) expectedDialogs.get(0);
expectedDialogs.remove(0);
return thisDialog;
}
private static List getExpectedDialogs(final Context context) {
initIfNeeded(context);
return (List) context.get(EXPECTED_DIALOGS_KEY);
}
private static void initIfNeeded(final Context context) {
if (!context.containsKey(EXPECTED_DIALOGS_KEY)) {
context.put(EXPECTED_DIALOGS_KEY, new ArrayList());
}
}
}