Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 24306 invoked from network); 29 Jan 2003 11:11:58 -0000 Received: from exchange.sun.com (192.18.33.10) by daedalus.apache.org with SMTP; 29 Jan 2003 11:11:58 -0000 Received: (qmail 5979 invoked by uid 97); 29 Jan 2003 11:13:36 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@nagoya.betaversion.org Received: (qmail 5972 invoked from network); 29 Jan 2003 11:13:36 -0000 Received: from daedalus.apache.org (HELO apache.org) (208.185.179.12) by nagoya.betaversion.org with SMTP; 29 Jan 2003 11:13:36 -0000 Received: (qmail 24071 invoked by uid 500); 29 Jan 2003 11:11:53 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 24060 invoked by uid 500); 29 Jan 2003 11:11:53 -0000 Received: (qmail 24057 invoked from network); 29 Jan 2003 11:11:52 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 29 Jan 2003 11:11:52 -0000 Received: (qmail 1253 invoked by uid 1142); 29 Jan 2003 11:11:51 -0000 Date: 29 Jan 2003 11:11:51 -0000 Message-ID: <20030129111151.1252.qmail@icarus.apache.org> From: conor@apache.org To: jakarta-ant-cvs@apache.org Subject: cvs commit: jakarta-ant/src/main/org/apache/tools/ant XmlLogger.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N conor 2003/01/29 03:11:51 Modified: src/main/org/apache/tools/ant Tag: ANT_15_BRANCH XmlLogger.java Log: Merge fix for 7926 from 1.6 and the import cleanups Revision Changes Path No revision No revision 1.30.2.1 +41 -14 jakarta-ant/src/main/org/apache/tools/ant/XmlLogger.java Index: XmlLogger.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/XmlLogger.java,v retrieving revision 1.30 retrieving revision 1.30.2.1 diff -u -w -u -r1.30 -r1.30.2.1 --- XmlLogger.java 17 Apr 2002 05:50:09 -0000 1.30 +++ XmlLogger.java 29 Jan 2003 11:11:51 -0000 1.30.2.1 @@ -1,7 +1,7 @@ /* * The Apache Software License, Version 1.1 * - * Copyright (c) 2000-2002 The Apache Software Foundation. All rights + * Copyright (c) 2000-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -54,14 +54,6 @@ package org.apache.tools.ant; -import org.apache.tools.ant.util.DOMElementWriter; -import org.apache.tools.ant.util.StringUtils; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Text; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -70,6 +62,14 @@ import java.io.Writer; import java.util.Hashtable; import java.util.Stack; +import java.util.Enumeration; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import org.apache.tools.ant.util.DOMElementWriter; +import org.apache.tools.ant.util.StringUtils; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Text; /** * Generates a file in the current directory with @@ -312,11 +312,11 @@ * Will not be null. */ public void taskStarted(BuildEvent event) { - Task task = event.getTask(); TimedElement taskElement = new TimedElement(); taskElement.startTime = System.currentTimeMillis(); taskElement.element = doc.createElement(TASK_TAG); + Task task = event.getTask(); String name = event.getTask().getTaskName(); taskElement.element.setAttribute(NAME_ATTR, name); taskElement.element.setAttribute(LOCATION_ATTR, @@ -361,6 +361,31 @@ } } + + /** + * Get the TimedElement associated with a task. + * + * Where the task is not found directly, search for unknown elements which + * may be hiding the real task + */ + private TimedElement getTaskElement(Task task) { + TimedElement element = (TimedElement) tasks.get(task); + if (element != null) { + return element; + } + + for (Enumeration e = tasks.keys(); e.hasMoreElements();) { + Task key = (Task) e.nextElement(); + if (key instanceof UnknownElement) { + if (((UnknownElement) key).getTask() == task) { + return (TimedElement) tasks.get(key); + } + } + } + + return null; + } + /** * Fired when a message is logged, this adds a message element to the * most appropriate parent element (task, target or build) and records @@ -402,12 +427,13 @@ Target target = event.getTarget(); if (task != null) { - parentElement = (TimedElement) tasks.get(task); + parentElement = getTaskElement(task); } if (parentElement == null && target != null) { parentElement = (TimedElement) targets.get(target); } + /* if (parentElement == null) { Stack threadStack = (Stack) threadStacks.get(Thread.currentThread()); @@ -417,6 +443,7 @@ } } } + */ if (parentElement != null) { parentElement.element.appendChild(messageElement); --------------------------------------------------------------------- To unsubscribe, e-mail: ant-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: ant-dev-help@jakarta.apache.org