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.
Added CSV file upload directory scanning and parsing for registering handling events, and introduced the HandlingReport concept for the web service to receive. It's all a bit sketchy atm.
Moved ExternalRoutingService into impl subpackage and renamed it RoutingServiceImpl, for consistency. We probably should try to find use-case based package names below application though.
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)
Web service now uses SystemEvents interface to place incoming registration attempts on queue. JMS is now isolated to the infrastructure.messagning.jms package.
Introduced asynchronous processing of incoming handling event registration attempts.
Removed the plain-delegation track() method from TrackingService (using repository directly in CargoTrackingController instead).
Fixed a few carrier movement -> voyage references in setters and JSP expressions.
Added cargoIsMisdirected() and cargoHasArrived() to DomainEventNotifier (but no consumers yet).
Routing a cargo is still broken due to database changes incompatible with the random route generation algorithm.
Added RoutingStatus.
Renamed StatusCode to TransportStatus.
Voyage is persisted.
Implemented equals, hashCode for VoyageNumber.
Itinerary is now embedded into Cargo table, simplified relation Between Cargo and Itinerary.
Persistent classes are not final anymore (unnecessary obstruction for Hibernate)
Introduced Voyage, Schedule and VoyageNumber. CarrierMovement is now a value object, CarrierMovementId is dropped.
Leg now has load/unload location and time, and a reference to a Voyage.
HandlingEvent references a Voyage instead of a CarrierMovement.
DeliveryHistory is renamed to Delivery.
(Yes, it's very broken right now, but it compiles)