On Thu, 29 Nov 2001, Richard Emberson <[EMAIL PROTECTED]> wrote: > ONE - Fix org/apache/tools/ant/taskdefs/Get.java:
Steve Loughran is working on a replacement for that task using the httpclient package of jakarta-commons (which has its own implementation of a base64 codec). One of the problems is that Httpclient requires JDK 1.2+, so we cannot use that to replace <get> completely, but there is hope for you 8-) > The current implementation is incorrect True. > if sun.misc.BASE64Encoder is not in the classpath, then this code > fails during class loading, not during execution. Thanks for the heads up, I'll look into it and apply the modification you suggest today. > TWO - Task wrapping application which uses xml to specify its > behavior: > > The simplest way to do this is to allow such task to use its own > DocumentHandler (maybe the wrapper task can have a DocumentHandler > derived from the ProjectHelper.AbstractHandler if it were public) > and install it when the task's element tag is recognized, > elementStart and removed at endElement. Oh yea, the application has > its own introspector. Sounds like a lot of work inside Ant to avoid specifying and maintaining separate configuration files 8-) How would you identify tasks that want to attach their own DocumentHandlers? The corresponding class implements a marker interface? > THREE - Dynamically set the tag-2-class in Introspector. This is something we really need (and want) to experiment with. Allow different implementations of a given interface to be used as nested elements. A start has been proposed by Conor about a week ago, search for "[IDEA] Polymorphic types" in the archives. How would you go about it? Allow for a magic attribute on the tags that can have varying implementations that would be used by the parser to chose the "correct" implementation? Defer it to the task (or more general the parent of the element in question)? This could be done by using the createXXX methods, couldn't it? The task would probably need access to the attributes of the child to decide which implementation to choose, though. Stefan -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
