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 resetSpoof() {
26 spoof = new StringBuffer();
27 }
28
29 static void spoof(String message){
30 spoof.append(message);
31 spoof.append("\n");
32 }
33
34 public void addTask(Task task) {
35
36 spoof("in addTask");
37 if (task instanceof UnknownElement) {
38 spoof("configuring UnknownElement");
39 task.maybeConfigure();
40 task = ((UnknownElement) task).getTask();
41 }
42 tasks.add(task);
43 }
44
45 public void execute() throws BuildException {
46 spoof("begin SpoofTaskContainer execute");
47 for (Iterator iter = tasks.iterator(); iter.hasNext();) {
48 Task task = (Task) iter.next();
49 task.perform();
50 }
51 spoof("end SpoofTaskContainer execute");
52 }
53
54 }