Huuuuge commit: restructured into project hierarchy, no other code changes. Everything compiles, tests run, but deployment is broken and will be remodeled.
HandlingEventService.registerHandlingEvent() signature takes value objects instead of HandlingEventRegistrationAttempt, decoupling it from message queues.
Creating sample data using domain objects and storing with Hibernate, for simplicity.
Estimated time of arrival is now a property of the Cargo aggregate.
Tracking web interface has new look for 1.1.
Admin interface shows more time related information.
Serverside now handles change of destination (no UI yet though)
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.