package org.jboss.tools.bpel.reddeer.wizard;
import org.jboss.reddeer.jface.wizard.NewWizardDialog;
import org.jboss.reddeer.swt.impl.button.CheckBox;
import org.jboss.reddeer.swt.impl.combo.LabeledCombo;
import org.jboss.reddeer.swt.impl.text.LabeledText;
import org.jboss.reddeer.swt.impl.tree.DefaultTreeItem;
/**
*
* @author apodhrad
*
*/
public class NewProcessWizard extends NewWizardDialog {
public static final String TEMPLATE_SYNC = "Synchronous BPEL Process";
public static final String TEMPLATE_ASYNC = "Asynchronous BPEL Process";
public static final String TEMPLATE_EMPTY = "Empty BPEL Process";
public static final String BINDING_SOAP = "SOAP";
public static final String BINDING_HTTP = "HTTP";
private String projectName;
private String processName;
private String serviceName;
private String serviceAddress;
private String portName;
private String creationMode;
private String bindingProtocol;
private String namespace;
private String template;
private boolean isAbstract;
public NewProcessWizard(String projectName, String processName) {
super("BPEL 2.0", "BPEL Process File");
this.projectName = projectName;
this.processName = processName;
this.namespace = "http://eclipse.org/bpel/sample";
this.template = TEMPLATE_ASYNC;
this.bindingProtocol = BINDING_SOAP;
this.isAbstract = false;
}
public void setServiceName(String serviceName) {
this.serviceName = serviceName;
}
public void setServiceAddress(String serviceAddress) {
this.serviceAddress = serviceAddress;
}
public void setPortName(String portName) {
this.portName = portName;
}
public void setCreationMode(String creationMode) {
this.creationMode = creationMode;
}
public void setBindingProtocol(String bindingProtocol) {
this.bindingProtocol = bindingProtocol;
}
public void setNamespace(String namespace) {
this.namespace = namespace;
}
public NewProcessWizard setTemplate(String template) {
this.template = template;
return this;
}
public void setAbstract(boolean isAbstract) {
this.isAbstract = isAbstract;
}
public NewProcessWizard setSyncTemplate() {
return setTemplate(TEMPLATE_SYNC);
}
public NewProcessWizard setAsyncTemplate() {
return setTemplate(TEMPLATE_ASYNC);
}
public NewProcessWizard setEmptyTemplate() {
return setTemplate(TEMPLATE_EMPTY);
}
public void execute() {
open();
new LabeledText("Process Name:").setText(processName);
new LabeledCombo("Namespace:").setText(namespace);
new CheckBox("Abstract Process").toggle(isAbstract);
next();
new LabeledCombo("Template:").setSelection(template);
if (!template.equals(TEMPLATE_EMPTY)) {
new LabeledCombo("Binding Protocol:").setSelection(bindingProtocol);
}
next();
new DefaultTreeItem(projectName, "bpelContent").select();
finish();
}
}