package org.jboss.tools.cdi.reddeer.cdi.ui.wizard;
import java.util.ArrayList;
import java.util.List;
import org.jboss.reddeer.common.wait.WaitWhile;
import org.jboss.reddeer.core.condition.ShellWithTextIsActive;
import org.jboss.reddeer.swt.api.TreeItem;
import org.jboss.reddeer.swt.impl.button.PushButton;
import org.jboss.reddeer.swt.impl.shell.DefaultShell;
import org.jboss.reddeer.swt.impl.text.LabeledText;
import org.jboss.reddeer.swt.impl.tree.DefaultTreeItem;
public class CDIRefactorWizard {
private List<String> affectedFiles;
private static final String NAMED_TEXT_LABEL = "@Named Bean Name";
private static final String RENAME_TEXT_LABEL = "Rename @Named Bean";
public void setName(String name) {
new LabeledText(NAMED_TEXT_LABEL).setText(name);
}
public void next() {
new PushButton("Next >").click();
}
public void finish() {
String shellText = new DefaultShell().getText();
new PushButton("Finish").click();
new WaitWhile(new ShellWithTextIsActive(shellText));
}
/**
* Method gets all files which will be affected by CDI refactoring
* @return
*/
public List<String> getAffectedFiles() {
affectedFiles = new ArrayList<String>();
for (TreeItem ti : new DefaultTreeItem(RENAME_TEXT_LABEL).getItems()) {
affectedFiles.add(ti.getText().split(" - ")[0]); // remove package offset
}
return affectedFiles;
}
}