package gueei.binding.gen;
import java.util.Hashtable;
import java.util.Vector;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.input.InputHandler;
import org.apache.tools.ant.input.MultipleChoiceInputRequest;
import org.apache.tools.ant.taskdefs.Ant;
import org.apache.tools.ant.taskdefs.CallTarget;
import org.apache.tools.ant.taskdefs.Echo;
public class WizardTask extends Task {
Vector<Choice> Choices = new Vector<Choice>();
protected Hashtable<String, String> templateData = new Hashtable<String, String>();
public Choice createChoice(){
Choice entry = new Choice();
Choices.add(entry);
return entry;
}
private String message;
public void setMessage(String message) {
this.message = message;
}
private String mDefault;
public void setDefault(String default1) {
mDefault = default1;
}
public void execute() {
Vector<String> answers = new Vector<String>();
for(Choice c: Choices){
answers.add(c.name);
}
MultipleChoiceInputRequest request = new
MultipleChoiceInputRequest(message, answers);
request.setDefaultValue(mDefault);
InputHandler handler = getProject().getInputHandler();
handler.handleInput(request);
String value = request.getInput();
String task = "";
for(Choice c: Choices){
if (c.name.equals(value)){
task = c.task;
break;
}
}
if (task.isEmpty()){
System.err.println("Invalid choice, aborting");
return;
}
System.out.println(task);
Ant callee = new Ant(this);
callee.init();
callee.setAntfile(getProject().getProperty("ant.file"));
callee.setTarget(task);
callee.execute();
}
public class Choice{
public Choice(){}
String name, task;
public void setName(String name){this.name = name;}
public void setTask(String task){this.task = task;}
}
}