commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael A. Smith" <...@apache.org>
Subject [collections] Avalon excalibur collections migration status
Date Wed, 10 Jul 2002 04:21:18 GMT
On Wed, 10 Jul 2002, Nicola Ken Barozzi wrote:
> Michael A. Smith wrote:
> > On Tue, 9 Jul 2002, Nicola Ken Barozzi wrote:
> >>BTW, anyone knows the status of the collections move?
> >>What's left?
> >>With all these name changes I have a hard time figuring it out ;-)
> > 
> > I believe everything has been moved.  I have been planning on
> > summarizing the changes between the Avalon version and the collections
> > version and sending that out to all you avalon guys, but haven't found
> > the time yet.  I'd also like to start pushing to another collections
> > release so you guys can start using the collections version in your
> > releases, although I know there's still a bunch to be done before we can
> > release anything.
> 
> What is there still to do?
>
> Please do a quick briefing ASAP, because some developers already asked 
> me if they can start switching to the new classes :-)

After taking a closer look....



MIGRATION FROM AVALON EXCALIBUR'S COLLECTIONS

CircularBuffer has not yet been migrated.

BinaryHeap, PriorityQueue, and BucketMap have changed in Avalon since
they were copied to commons.  There have been changes in the commons
version as well, so merging may not be easy (it isn't helped by the fact
that avalon's code was restylized).



CHANGES FOR EXCALIBUR USERS TO BECOME COMMONS USERS FOR COLLECTIONS

change imports/fully qualified class names 
  from  org.apache.avalon.excalibur.collections
    to  org.apache.commons.collections

change use of BucketMap to StaticBucketMap (or DynamicBucketMap if
implemented before the commons release)

change use of FixedSizeBuffer to BoundedFifoBuffer.  In most cases, this
only requires a rename of the class used.  If a class depends on a void
return from the add method (not likely), the code would need to be
changed to accept the new boolean return type.

change use of VariableSizeBuffer to UnboundedFifoBuffer.  In most cases,
this only requires a rename of the class used.  If a class depends on a 
void return from the add method (not likely), the code would need to be 
changed to accept the new boolean return type.

There may be additional changes depending on the completion of the 
migration (e.g. CircularBuffer users may need to change their class 
names or something).  


TODO LIST BEFORE COLLECTIONS CAN RELEASE A NEW VERSION

A release of commons collections should be completed before avalon 
excalibur users can fully depend on the collections code base.  Before 
we can have a collections release, we will need to minimally:

 - Ensure compliance with the naming conventions found in the developers
   guide

 - Document new classes/interfaces in package.html

 - Add of @since tags for all the new classes (with appropriate version 
   number, probably 2.1)

 - Fix all known bugs (or at least document them in the release notes)

Ideally, a collections release should also:

 - Add a DynamicBucketMap to accompany StaticBucketMap (I'm working on 
   this now and should be done by the end of the weekend).  

 - Add lots of new decorators (e.g. synchronizedBag) and appropriate
   tests (I believe Paul Jack has been working on some of these).

 - Use a *single* coding convention for all the collections classes,
   rather than the hodgepodge of styles currently used (at least most
   classes are self-consistent). 




regards,
michael






--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message