All done.
In detail, I have:
- Transfered most of AnakiaTask.java content into AnakiaBaseTask.java and
made it abstract with an abstract method named populateContext(). Also,
moved the logic for determining output encoding into a protected method
accessible to subclasses.
- Rewritten AnakiaTask.java to subclass from AnakiaBaseTask and implement
populateContext() in a fashion compatible with previous AnakiaTask.
- Added Anakia2Task.java that subclasses AnakiaBaseTask and implements
populateContext() so that it places single-element NodeLists of Documents as
$root and $project in the context.
- Added NodeList.java as a support class for Anakia2Task
- Modified xdocs/anakia.xml to mention there are two "flavors" of Anakia now
and provide a separate section for describing the context objects of Anakia2
and differences to original Anakia. I didn't made a separate xdocs page as
there is much in common in the two versions (all parameters of the task,
introducing of the taskdef into the ant buildfile, etc.)
- For convenience, rebuilt docs/anakia.html
However, I don't want to burden the mailing list with a 28 kbytes
attachment. Should I send the files to you, Jon?
Cheers,
Attila.
> -----Original Message-----
> From: Jon Stevens [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 01, 2001 3:47 AM
> To: velocity-user
> Subject: Re: Creative criticism on Anakia design
[...]
> If you are really interested in seeing this class applied to
> CVS, you are
> going to have to do the rest of the work to make it happen (I
> really don't
> have time right now).
>
> My suggestions:
>
> #1. Factor the core of Anakia.java into a base class which
> people can extend
> to add their own functionality on top of. Keep the
> Anakia.java functionality
> the same and have it extend the base class.
>
> #2. Create an AnakiaNodeList.java which extends the base
> class and which
> people can refer to directly in their Ant build.xml files and
> implements
> your new functionality without breaking the existing functionality.
>
> #3. Create another xdoc which documents this new functionality.
>
> Anakia hasn't had much innovation added to it since it was
> released. I look
> forward to your further patches and contributions.
>
> Thanks!
>
> -jon
>
>