First checkin of Sage Platform Repository Service.  This is mostly a reference implementation at this point to lay down a pattern for future development.
Fixed the pom to get com.google.appengine.orm:datanucleus-core:jar:1.1.5 from a good spot with out doing it via the dependencies of gae-runtime which messes up the classpath.
Replaced all tabs with spaces.  I assume the tabs were put in there when the maven-gae plugin initially created the pom.
Forgot to nuke empty directories when I changed the package from "sage" to "sagebionetworks"
Added a TODO from the code review.
(1) now dumping exception stack trace to log when the service is able to catch and handle certain exceptions
(2) started on the implementation for pagination via a generic PaginatedResults container class
(3) tested XML request/response format, only preliminary, not spending too much time on that right now
(4) checked in a welcome page and some generic error pages for unhandled situations
(1) fixed servlet config for error pages
(2) converted error pages to jsp to display info from the error object
(3) added service prefix and version to the url
implemented unowned relationship between Dataset and its layers.
Merge of revision 113

------------------------------------------------------------------------
r113 | nicole.deflaux | 2011-01-11 13:38:07 -0800 (Tue, 11 Jan 2011) | 3 lines

More tweaks to improve error handling.
added GAEJDO objects for persistence layer
Merge of revisions for CR-PLFM-7 (changes 115, 116, 118) and review-not-yet requested (change 119)


------------------------------------------------------------------------
r119 | nicole.deflaux | 2011-01-16 14:27:37 -0800 (Sun, 16 Jan 2011) | 5 lines

Added pagination and Location headers to 201 created responses

I also realized that the @XMLElment annotations were unnecessary unless I want to rename elements, so I removed them.


------------------------------------------------------------------------
r118 | nicole.deflaux | 2011-01-12 15:02:45 -0800 (Wed, 12 Jan 2011) | 3 lines

Added a default message per CR-PLFM-7


------------------------------------------------------------------------
r116 | nicole.deflaux | 2011-01-11 16:40:30 -0800 (Tue, 11 Jan 2011) | 3 lines

Missed a couple javadocs that needed updates.


------------------------------------------------------------------------
r115 | nicole.deflaux | 2011-01-11 16:27:10 -0800 (Tue, 11 Jan 2011) | 5 lines

Implemented pattern for model updates.

Specifically using theModel.hashCode() as the value placed in the ETag header for optimistic concurrency control.
Heavily refactored persistence layer. The chosen approach reflects the requirement for
	- implementation independence
	- transaction control/boundaries
	- retrieving shallow/deep object properties
Note:  Implementation of the underlying layer (and of the unit tests) is deferred
in order to get the API into SVN.
refactored annotation and annotation-DAO related classes to use generics
combined Integer and Float annotations into Number, and eliminated Boolean (for now)
Wired up dataset creation to the service layer with some unit tests.

Note that this patient is still lying open on the table - much refactoring to do to avoid code duplication in the unit tests and cleaner access to the DAOImpls.

Also note that the Message and Comment model objects will either be svn-deleted soon or converted over to the DAO pattern.  They were merely example model objects to get the service implementation going.
This has been superceeded by Entity repository but the merge from the svn move operation that happened in my developer branch did not carry through correctly.
Making a directory for client code.
making a directory for the client