Switched to Apache CXF for JAX-WS implementation (Metro is truly horrible).
Upgraded Spring, Hibernate, ActiveMQ etc to latest releases, cleaned up the pom a bit. Lived through the farce that is Java logging frameworks, once again...
Some restructuring of web service related classes.
Moved web interfaces, web service and RMI remoting facade to iface package (temporarily renamed due to refactoring problems in IntelliJ when a package is named as a reserved word)
Big slew of changes (too big) leading up to draft presentation:
Removed unneeded constructors in Cargo and UnLocode.
Fixed spelling error in StatusCode - "e before i except after c", or whatever that was :-)
Cascade Itinerary/Leg on Cargo persist.
Cargo registration and routing web administration interface.
Better randomization in RoutingServiceImpl.
Replaced more test locations with the SampleLocations instances.
Added asynchronous event emission whenever a handling event is registered, so that interested parties can be notified if a cargo is misdirected (is unloaded, is late, has arrived, or whatever).
Two different implementations a available: JMS and a simple thread-based one.
Also, the cargo service track method now uses TrackingId in the signature, for consistency.
HandlingEventService now has a single, strongly typed method for registering events.
A JAX-WS-based remote interface for registering events has been introduced, which works as an anti-corruption layer as well.
CarrierMovementRepository uses Hibernate implementation, test class created.
Reverted to Spring 2.0.8 in order to get JAX-WS integration going, but that's only until the next release gets out.
Made Cargo-HandlingEvent relation bidirectional again, with DeliveryHistory in the middle.
Restored Cargo.lastKnownLocation() and Cargo.hasArrived().
All entities have sequential identifiers with no domain meaning. Equals and hashcode rely on business logic unrelated to persistence state.
Removed findDeliveryHistory from HaEvRepo since it's now OR-mapped.
Improved javadoc.
Sitemesh introduced, slight rearranging of JSP structure.
Focus input search field.
Use XHTML 1.0 TR.
Distribution mgmt in POM allows deployment of Maven-generated site.
Brought back the xmlns attribute in the POM file (again), please don't remove!
Hibernate annotations dependencies introduced.
Removed auto deploy (the scanIntervalSeconds confguration property) since this seems to cause problems with file locking in the hsql database when auto deploy tries to reload the database schema
Set command class in controller constructor, since it's tightly coupled to code, not configurable.
Use assertEquals in repository test, making it pass.
Added spring-test jar to pom.
No logfile appender in test-logging.
Place classpath-root files under resources/ directory, which is the prefered location.
Split context files per layer, allowing easy testing of a subset of the layers.
Split Jdbc and Hibernate configuration in separate test and production files, where that makes sense, and keep common properties in a single location (context file). Properties files are pulled into the context by Spring.
Split out a javax.sql.DataSource bean, which is handy for a number of reasons.
Hibernate configuration prepared, but no classes are mapped. Test config is in-memory and verbose, production is file-based and quieter.
Transaction is annotation-driven in the service layer.
Jetty Maven plugin added, and added context loading listener to web.xml. It's now possible to run "mvn jetty:run" and find the tracking page on localhost:8080/dddsample.
Added dev.java.net maven repository with JTA artifact available.
Created new repository package. Added two new repository implementations, one for InMem (static, compile time setup) and a code skeleton for a Hibernate version