diff --git a/src/main/org/apache/tools/ant/taskdefs/ConditionTask.java b/src/main/org/apache/tools/ant/taskdefs/ConditionTask.java index 119843c18..18e5cec5c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/ConditionTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/ConditionTask.java @@ -43,6 +43,13 @@ public class ConditionTask extends ConditionBase { private String value = "true"; private String alternative = null; + /** + * Constructor, names this task "condition". + */ + public ConditionTask() { + super("condition"); + } + /** * The name of the property to set. Required. * @param p the name of the property diff --git a/src/main/org/apache/tools/ant/taskdefs/WaitFor.java b/src/main/org/apache/tools/ant/taskdefs/WaitFor.java index ceddea5ea..e520e0fd0 100644 --- a/src/main/org/apache/tools/ant/taskdefs/WaitFor.java +++ b/src/main/org/apache/tools/ant/taskdefs/WaitFor.java @@ -59,6 +59,13 @@ public class WaitFor extends ConditionBase { private long checkEveryMultiplier = 1L; private String timeoutProperty; + /** + * Constructor, names this task "waitfor". + */ + public WaitFor() { + super("waitfor"); + } + /** * Set the maximum length of time to wait. * @param time a long value diff --git a/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java b/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java index 6772a4f91..942c8723d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java +++ b/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java @@ -23,7 +23,7 @@ import java.util.Vector; import org.apache.tools.ant.Project; import org.apache.tools.ant.DynamicElement; import org.apache.tools.ant.ComponentHelper; -import org.apache.tools.ant.Task; +import org.apache.tools.ant.ProjectComponent; import org.apache.tools.ant.taskdefs.Available; import org.apache.tools.ant.taskdefs.Checksum; import org.apache.tools.ant.taskdefs.UpToDate; @@ -35,17 +35,38 @@ import org.apache.tools.ant.taskdefs.UpToDate; * * @since Ant 1.4 */ -public abstract class ConditionBase extends Task +public abstract class ConditionBase extends ProjectComponent implements DynamicElement { private static final String CONDITION_ANTLIB = "antlib:org.apache.tools.ant.types.conditions:"; + /** + * name of the component + */ + private String taskName="condition"; + /** * */ private Vector conditions = new Vector(); + /** + * Simple constructor. + */ + protected ConditionBase() { + taskName = "component"; + } + + /** + * Constructor that takes the name of the task in the task name. + * @param taskName + * @since Ant 1.7 + */ + protected ConditionBase(String taskName) { + this.taskName = taskName; + } + /** * Count the conditions. * @@ -66,6 +87,27 @@ public abstract class ConditionBase extends Task return conditions.elements(); } + /** + * Sets the name to use in logging messages. + * + * @param name The name to use in logging messages. + * Should not be null. + * @since Ant 1.7 + */ + public void setTaskName(String name) { + this.taskName = name; + } + + /** + * Returns the name to use in logging messages. + * + * @return the name to use in logging messages. + * @since Ant 1.7 + */ + public String getTaskName() { + return taskName; + } + /** * Add an <available> condition. * @param a an available condition diff --git a/src/tests/junit/org/apache/tools/ant/LocationTest.java b/src/tests/junit/org/apache/tools/ant/LocationTest.java index a8fdcde98..b8c9af03c 100644 --- a/src/tests/junit/org/apache/tools/ant/LocationTest.java +++ b/src/tests/junit/org/apache/tools/ant/LocationTest.java @@ -46,7 +46,8 @@ public class LocationTest extends BuildFileTest { public void testConditionTask() { executeTarget("testConditionTask"); - ConditionTask c = (ConditionTask) getProject().getReference("cond"); + TaskAdapter ta = (TaskAdapter) getProject().getReference("cond"); + ConditionTask c = (ConditionTask) ta.getProxy(); assertFalse(c.getLocation() == Location.UNKNOWN_LOCATION); assertFalse(c.getLocation().getLineNumber() == 0); }