1 package groovy.util;
2
3 import org.apache.tools.ant.Task;
4 import org.apache.tools.ant.TaskContainer;
5 import org.apache.tools.ant.UnknownElement;
6 import org.apache.tools.ant.BuildException;
7
8 import java.util.List;
9 import java.util.ArrayList;
10 import java.util.Iterator;
11
12 public class SpoofTaskContainer extends Task implements TaskContainer {
13 private List tasks = new ArrayList();
14 static StringBuffer spoof = new StringBuffer();
15
16 public SpoofTaskContainer() {
17 super();
18 spoof("SpoofTaskContainer ctor");
19 }
20
21 static StringBuffer getSpoof(){
22 return spoof;
23 }
24
25 static void spoof(String message){
26 spoof.append(message);
27 spoof.append("\n");
28 }
29
30 public void addTask(Task task) {
31
32 spoof("in addTask");
33 if (task instanceof UnknownElement) {
34 task.maybeConfigure();
35 task = ((UnknownElement) task).getTask();
36 }
37 tasks.add(task);
38 }
39
40 public void execute() throws BuildException {
41 spoof("begin SpoofTaskContainer execute");
42 for (Iterator iter = tasks.iterator(); iter.hasNext();) {
43 Task task = (Task) iter.next();
44 task.perform();
45 }
46 spoof("end SpoofTaskContainer execute");
47 }
48
49 }