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)
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)
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)
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)
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)
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)
Moved "assignToRoute" into Cargo and removed the service method.
Made Cargo.isMisdirected() persistent and asynchronously updated.
Moved nullSafe method to DomainObjectUtils.
Implemented copy() for value objects.
Methods returning Date on value objects now clone the value to maintain immutability.
Constructor-based injection for domain layer.
@Override annotation on interface implementations, which effectively makes the application Java 6 only.
Introduced CargoHandlingScenarioTest to support refactoring cargo handling, state updating and rerouting.
Load app.properties from current dir first, then from root of classpath if not found, which makes it possible to both run in development mode inside the IDE and to edit the file to point at any WSDL URL in distributed mode.
Assembly of a nice zip file which can be unpacked and run with java -jar IncidentLoggingAplication.jar
Removed loadForRouting() from domain service layer, since it only delegated to repository. Remote facade in application layer now calls repository directly.
Also, there's no "load for routing" in the ubiquitous language as it's a technical aspect.