Now that we finished the second bug-fix release for the current stable version of the Pentaho-Reporting Classic-Engine, we are now starting with the work on the Classic-Engine 1.0.
For the next six month you will see a lot of changes to this good old engine.
The first (and maybe deepest) change is already complete. Since last week the engine and all libraries are free of any dependencies to JCommon. David Gilbert and I came to the conclusion that JCommon is becoming now a trouble-maker instead of a nice and lovely helper. The two main projects using JCommon are JFreeChart and Pentaho-Reporting. However, the amount of JCommon-code used by both projects at the same time is minimal. Therefore it is safe and sane to let JCommon rest in peace.
The upcoming JFreeChart 2.0 will no longer use JCommon, all classes used by JFreeChart have been moved under the org.jfree.chart package space.
In the Pentaho Reporting libraries we make heavy use of this library – so just copying the code would not work for us. Therefore we spawned a new library called “libbase”, which contains all the code for the base-services formerly provided by JCommon. The Configuration, Booting and Modularization code along with a small set of utility-classes now belongs to this library. While working on this we also fixed a couple of well-known bugs which were not easily fixable in JCommon itself.
While replacing JCommon, we also switched logging away from our own Wrapper-implementation to the Apache-Commons-Logging library. This library seems to be a good compromise between flexibility, space (it’s jar is only 26kb) and interoperability (Commons-Logging happily runs with JDK 1.2.2 and also works with Log4J, which seems to be a common logging framework in server applications)
The next step on our roadmap is the Zip-Based document container, which then prepares our engine for the new “unified-fileformat” system.
Oh, if only everything would be so easy as coming up with big names for long awaited improvements 🙂