M4 Milestone is available for download
. While I was busy working on some of the future features offline and billing overtime consulting hours, we received a number of cool contributions. This release includes most of them (see below) and also a bunch of bug fixes.
Modeler Changes (courtesy of Garry Watkins).
CayenneModeler has a number of visual improvements and new functionality. First thing that you'll notice is new and updated icons (mostly "borrowed" from Eclipse). Second addition is Entity Toolbars. All entity-specific operations are pulled from various places (such as main toolbar) and put right at user's fingertips under the entity tabs. This greatly reduces confusion (what button means what) and minimizes mouse movements. Additional operations are added - "Create ObjEntity" from DbEntity, "Sync Dependent ObjEntities with DbEntity". Third new feature is history navigation. Try the right and left arrows on the main toolbar.
 | Mapping Relationships
Notice that the buttons in the lower right corner that were used to open relationship mapping dialogs for DB and Object relationships are gone. They are replaced with the info button ("i") on the entity toolbar. This maybe confusing if you are used to old buttons. |
Antlib File (courtesy of Erik Hatcher)
Now all Cayenne Ant tasks can be imported at once using Antlib facility
(requires Ant 1.6):
<typedef resource="org/objectstyle/cayenne/tools/antlib.xml">
<classpath refid="classpath"/>
</typedef>
Derby/Cloudscape Adapter (courtesy of Tore Halset)
Derby (aka Cloudscape) database
is a recent addition to the family of open source database engines. M4 includes a DbAdapter for Derby. New adapter passes all our unit tests, however we only tested it in embedded mode. If anyone could try it in a client-server mode and share the experience (and set up details) with us, it would fantastic.
Full list of changes:
New Features:
- CAY-301, CAY-211 New Modeler features.
- CAY-183 Adapter for Clouscape/Derby DB (Experimental. Only tested in embedded mode).
- CAY-312 Antlib descriptor addition.
Bugs Fixed:
- CAY-306/CAY-313 Fixing API and build process to be more friendly when running under JDK 1.5
- CAY-297 deadlock between commit and external event
- CAY-308 ObjectStore.processUpdatedSnapshots race condition with ObjectStore.resolveHollow
- CAY-299 PostgreSQL selecting procedure results are processed incorrectly
- CAY-305 hsqldb needs to ignore "db schema" namespace element on CREATE/DROP TABLE syntax
- CAY-310 Calling <DataObject>.addTo<DataObject>List() with a null parameter crashes later in commitChanges()
- CAY-277 ExpressionFactory.noMatchDbExp does not exist