Over Christmas, I’ve begun attacking some of the low-hanging fruit for 1.6, which largely involves making most of the main packages, such as java.util, up to date. I started by updating java.lang.management, which was annoyingly nearly at 100% when 1.6 came out, at which point it slumped by about 20%. However, I can now say with some pride that we do have 100% of this at 1.6 level.

I then went on to update some of java.util. Most of this was fairly simple. In tackling the Collections API, the new Arrays methods were notably simple. The main issue was the laborious job of updating TreeMap; the implementation was fairly easy (most of it was just wrapping existing stuff to fit the new APIs) but this did require adding a few more inner classes.

Currently, I’m wrapping up with the new service providers. It’s now finally possible to have external locale information via a service provision mechanism, in the same way that image and audio formats have been supported in the past. I actually started on this to some extent by accident; I was adding a couple of missing methods to Calendar, and ending up calling a DateFormatSymbols method we didn’t actually have. I’m now actually at the point where I should be able to remove the FIXME from the current implementation tomorrow, and replace it with some code to probe for appropriate service providers. However, this does bring in new classes, which as Stuart points out, mean a lot more to JAPI. Hopefully, tomorrow’s results will reflect this…

Once this is over, I’m heading back to the management stuff. This is the main hole in our 1.5 support, AFAICS, so it would be nice to get that plugged.


I was right… our JAPI scores went up by 0.05% against 1.6, which is the most so far from this hacking session.