Author: peterreilly
Date: Wed Sep 20 15:38:11 2006
New Revision: 448382
URL: http://svn.apache.org/viewvc?view=rev&rev=448382
Log:
Performance:
if a task does not have an id, do not bother
to replace the unknownelement in the tasks list of the target
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/RuntimeConfigurable.java
ant/core/trunk/src/main/org/apache/tools/ant/UnknownElement.java
Modified: ant/core/trunk/src/main/org/apache/tools/ant/RuntimeConfigurable.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/RuntimeConfigurable.java?view=diff&rev=448382&r1=448381&r2=448382
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/RuntimeConfigurable.java
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/RuntimeConfigurable.java Wed
Sep 20 15:38:11 2006
@@ -85,6 +85,9 @@
/** the polymorphic type */
private String polyType = null;
+ /** the "id" of this Element if it has one */
+ private String id = null;
+
/**
* Sole constructor creating a wrapper for the specified object.
*
@@ -131,6 +134,14 @@
}
/**
+ * Returns the id for this element.
+ * @return the id.
+ */
+ public synchronized String getId() {
+ return id;
+ }
+
+ /**
* Get the polymorphic type for this element.
* @return the ant component type name, null if not set.
*/
@@ -176,6 +187,9 @@
}
attributeNames.add(name);
attributeMap.put(name, value);
+ if (name.equals("id")) {
+ this.id = value;
+ }
}
}
@@ -346,11 +360,11 @@
*/
public synchronized void maybeConfigure(Project p, boolean
configureChildren)
throws BuildException {
- String id = null;
if (proxyConfigured) {
return;
}
+
// Configure the object
Object target = (wrappedObject instanceof TypeAdapter)
? ((TypeAdapter) wrappedObject).getProxy() : wrappedObject;
@@ -388,7 +402,6 @@
}
}
}
- id = (String) attributeMap.get("id");
}
if (characters != null) {
Modified: ant/core/trunk/src/main/org/apache/tools/ant/UnknownElement.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/UnknownElement.java?view=diff&rev=448382&r1=448381&r2=448382
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/UnknownElement.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/UnknownElement.java Wed Sep 20
15:38:11 2006
@@ -175,10 +175,13 @@
task.setRuntimeConfigurableWrapper(getWrapper());
- // For Script to work. Ugly
+ // For Script example that modifies id'ed tasks in other
+ // targets to work. *very* Ugly
// The reference is replaced by RuntimeConfigurable
- this.getOwningTarget().replaceChild(this, (Task) realThing);
- }
+ if (getWrapper().getId() != null) {
+ this.getOwningTarget().replaceChild(this, (Task) realThing);
+ }
+ }
handleChildren(realThing, getWrapper());
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]