Tightened the CargoTrackingController a bit, treating "no cargo found" same way as a binding error
Introduced a Spring context for the web layer, where all web support components go.
Introduced the RequestContext attribute as "rc" in views.
Removed unneeded "unknown cargo" JSP.
c:out not needed anymore.
Modified InMem repository to cast exception if tryng to find cargo with track id DAE
Added new workflow for unknown cargo (new view and modified controller) instead of if statement i jsp page
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.
Fixed Cargo.currentLocation when still at origin location.
Moved CargoRepository to repository package, for consistency and to postpone further discussion.
HibernateTemplate replaced by pure Hibernate in repository layer.
Introduced Spring-injected and transaction-managed test classes.
Introduced transaction annotation in service layer.
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