Remove the war-plugin version so the Maven Eclipse plugin is happy.
Update so we can compile with Java 7.
Refactor dependencies so we no longer have profile activated support.

This means we don't work with really old Kernels.
Refactored hierarchy so we have redirect nodes.

Here we have added support for different node types in the hierarchy (Sites and Redirect).
Sites are nodes that contain a site and when visiting that node you are shown the site.
Redirect nodes just redirect you to another URL.

This is to allow sites to be moved in the hierarchy and then redirect put in to keep old links working.
There is no support for creating redirect nodes yet.
Added serial IDs to fix warnings.
Fix for the URL of a redirect node being wrong.

This resulted in redirect nodes not working.
First attempt at UI for redirect nodes.

It's missing validation, error messages, but it's functional.
Fix the formatting to be more consistent.
Update the layout of the new node form.
If we don't find the node in the hierarchy, check to see if the leave is a redirect.

We walk down the tree looking for the late found node and check to see if it's a redirect node.
This means if you have a redirect at:
/portal/mysite/oldlocation
a request for
/portal/mysite/oldlocation/otherbit/mything
will get redirected too.
Store details of wether we should append extra path.

At the moment there isn't any sense in allowing this on external redirects. But for relocated hierarchies it could be very useful.
There is no UI for this yet and no support in the redirect.
Allow the path parameter to be set in the form, and displayed.

Also added support for appending it to the URL.
Remove the deprecated covers for Sakai services.

SiteService and SessionManager weren't being injected.
Large refactor to allow test of Spring MVC.

Also adopt annotations for service injection.
Fix indentation.
Improve formatting and documentation.
Update to adding redirect controller.

Improving the error messages that are generated.
Make the manage controller annotation driven.

This means we map it to request URLs and can begin to split it apart
into more manageable chunks.
You can't return a full ModelMap when validating.

If you have a method returning a ModelMap annotated with a @ModelAttribute then it working during standard requests, but when bean validation is done as part of the request the ModelMap returned from the method is thrown away (from testing).

The workaround seems to be to just ask for the existing model to be passed into your @ModelAttribute annotated method instead and add stuff to it.
The model from errors is a read only copy.

You have to have the existing model passed in if you want to add some stuff to it.