From 963798591ea02810f89a0ba4e8966e65a8a3cf43 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Fri, 1 Dec 2000 07:40:44 +0000 Subject: [PATCH] Finally make s with nested classpath elements work wherever they are. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@268283 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/tools/ant/ProjectHelper.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/org/apache/tools/ant/ProjectHelper.java b/src/main/org/apache/tools/ant/ProjectHelper.java index b06d78700..55fbfc1c1 100644 --- a/src/main/org/apache/tools/ant/ProjectHelper.java +++ b/src/main/org/apache/tools/ant/ProjectHelper.java @@ -170,8 +170,15 @@ public class ProjectHelper { } } + /** + * Called when this element and all elements nested into it have been + * handeled. + */ + protected void finished() {} + public void endElement(String name) throws SAXException { + finished(); // Let parent resume handling SAX events parser.setDocumentHandler(parentHandler); } @@ -291,15 +298,11 @@ public class ProjectHelper { } private void handleTaskdef(String name, AttributeList attrs) throws SAXParseException { - TaskHandler childHandler = new TaskHandler(this, null); - childHandler.init(name, attrs); - childHandler.finished(); + (new TaskHandler(this, null)).init(name, attrs); } private void handleProperty(String name, AttributeList attrs) throws SAXParseException { - TaskHandler childHandler = new TaskHandler(this, null); - childHandler.init(name, attrs); - childHandler.finished(); + (new TaskHandler(this, null)).init(name, attrs); } private void handleTarget(String tag, AttributeList attrs) throws SAXParseException { @@ -424,7 +427,7 @@ public class ProjectHelper { } } - public void finished() { + protected void finished() { if (task != null && target == null) { task.execute(); }