package org.jboss.tools.ws.ui.bot.test.uiutils; import org.jboss.reddeer.swt.api.Shell; import org.jboss.reddeer.swt.api.TreeItem; import org.jboss.reddeer.core.condition.JobIsRunning; import org.jboss.reddeer.swt.impl.button.PushButton; import org.jboss.reddeer.swt.impl.ctab.DefaultCTabItem; import org.jboss.reddeer.swt.impl.group.DefaultGroup; import org.jboss.reddeer.swt.impl.menu.ShellMenu; import org.jboss.reddeer.swt.impl.shell.DefaultShell; import org.jboss.reddeer.swt.impl.text.DefaultText; import org.jboss.reddeer.swt.impl.tree.DefaultTree; import org.jboss.reddeer.common.wait.TimePeriod; import org.jboss.reddeer.common.wait.WaitWhile; import org.jboss.tools.common.reddeer.label.IDELabel; public class RunConfigurationsDialog { private Shell shell; public void open() { new ShellMenu(IDELabel.Menu.RUN, "Run Configurations...").select(); shell = new DefaultShell("Run Configurations"); } public void run() { new PushButton(IDELabel.Button.RUN).click(); new WaitWhile(new JobIsRunning(), TimePeriod.NORMAL); } public void createNewConfiguration(String typeText) { for(TreeItem ti : new DefaultTree().getItems()) { if(ti.getText().equals(typeText)) { ti.doubleClick(); return; } } throw new IllegalArgumentException("Specified type text '" + typeText + "' was not found"); } public void setProjectName(String projectName) { selectMainTab(); new DefaultText(new DefaultGroup("Project:")).setText(projectName); } public void setClassName(String className) { selectMainTab(); new DefaultText(new DefaultGroup("Main class:")).setText(className); } private void selectMainTab() { shell.setFocus(); new DefaultCTabItem("Main").activate(); } }