package org.jboss.tools.batch.reddeer.wizard; import java.util.Arrays; import java.util.List; import org.jboss.reddeer.common.wait.WaitUntil; import org.jboss.reddeer.common.wait.WaitWhile; import org.jboss.reddeer.core.condition.ShellWithTextIsAvailable; import org.jboss.reddeer.jface.wizard.WizardPage; import org.jboss.reddeer.swt.impl.button.OkButton; import org.jboss.reddeer.swt.impl.button.PushButton; import org.jboss.reddeer.swt.impl.button.RadioButton; import org.jboss.reddeer.swt.impl.combo.LabeledCombo; import org.jboss.reddeer.swt.impl.list.DefaultList; import org.jboss.reddeer.swt.impl.shell.DefaultShell; import org.jboss.reddeer.swt.impl.text.LabeledText; /** * Wizard page for creating batch artifacts * * @author Lucia Jelinkova * */ public class NewBatchArtifactWizardPage extends WizardPage { public String getSourceFolder(){ return new LabeledText("Source folder:").getText(); } public void setSourceFolder(String sourceFolder){ new LabeledText("Source folder:").setText(sourceFolder); } public String getPackage(){ return new LabeledText("Package:").getText(); } public void setPackage(String packageName) { new LabeledText("Package:").setText(packageName); } public String getName(){ return new LabeledText("Name:").getText(); } public void setName(String name){ new LabeledText("Name:").setText(name); } public BatchArtifacts getArtifact(){ throw new UnsupportedOperationException(); } public void setArtifact(BatchArtifacts artifact){ new LabeledCombo("Artifact:").setSelection(artifact.getName()); } public void selectImplementInterface(){ new RadioButton("Implement interface").click(); } public void selectExtendAbstractClass(){ new RadioButton("Extend abstract class").click(); } public void setNamed(){ new RadioButton("@Named").click(); } public void setBatchXML(){ new RadioButton("batch.xml").click(); } public void setClassloader(){ new RadioButton("Class loader").click(); } public void setArtifactName(String name){ new LabeledText("Artifact name:").setText(name); } public void addProperty(String name){ new PushButton("Add").click(); new WaitUntil(new ShellWithTextIsAvailable("Add Property")); new DefaultShell("Add Property").setFocus(); new LabeledText("Field name:").setText(name); new OkButton().click(); new WaitWhile(new ShellWithTextIsAvailable("Add Property")); } public void removeProperty(String name){ new DefaultList().select(name); new PushButton("Remove").click(); } public List<String> getProperties(){ return Arrays.asList(new DefaultList().getListItems()); } }