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

>

>


Reply via email to