package org.jboss.tools.bpmn2.reddeer.dialog; import static org.junit.Assert.assertTrue; import org.jboss.reddeer.eclipse.jdt.ui.packageexplorer.PackageExplorer; import org.jboss.reddeer.swt.impl.text.LabeledText; import org.jboss.reddeer.swt.impl.tree.DefaultTreeItem; import org.jboss.reddeer.swt.impl.button.CheckBox; import org.jboss.reddeer.swt.impl.button.PushButton; import org.jboss.reddeer.swt.impl.button.RadioButton; import org.jboss.reddeer.swt.impl.combo.DefaultCombo; import org.jboss.reddeer.jface.wizard.NewWizardDialog; /** * */ public class JBPMProjectWizard extends NewWizardDialog { public enum ProjectType { EMPTY(0), HELLO_WORLD(1); private int buttonIndex; ProjectType(int buttonIndex) { this.buttonIndex = buttonIndex; } public int getButtonIndex() { return buttonIndex; } } /** * */ public JBPMProjectWizard() { super("jBPM", "jBPM project"); } /** * * @param projectName * @param projectType */ public void execute(String projectName, ProjectType projectType, boolean withRuntime) { open(); new PushButton(projectType.getButtonIndex()).click(); next(); new LabeledText("Project name:").setText(projectName); if (!withRuntime) { new RadioButton("Maven").click(); new LabeledText("Artifact ID:").setText("artifact-" + projectName); } else { new RadioButton("Java and jBPM Runtime classes").click(); } finish(); new PackageExplorer().open(); assertTrue("Project '" + projectName + "' was not created", new PackageExplorer().containsProject(projectName)); } public void executeForHumanResourcesExample() { open(); new PushButton(2).click(); next(); new DefaultCombo().setSelection("jBPM Playground at github (droolsjbpm-6.3)"); new DefaultTreeItem("Human Resources").setChecked(true); finish(); } public void execute(String projectName, boolean includeTests) { open(); new PushButton(ProjectType.HELLO_WORLD.getButtonIndex()).click(); next(); new LabeledText("Project name:").setText(projectName); if(includeTests) { new CheckBox("Also include a sample JUnit test for the process").click(); } new RadioButton("Maven").click(); new LabeledText("Artifact ID:").setText(projectName); finish(); new PackageExplorer().open(); assertTrue("Project '" + projectName + "' was not created", new PackageExplorer().containsProject(projectName)); } }