futures/fcrepo4 — pull request #248 by mikedurbin (2014-02-18 21:37:59+00:00)
Title: Exposed historical versions at a path relative to fcr:versions.

The main change here was to use an extension of HttpGraphSubjects to present frozen nodes (from the version history) as if they were fedora nodes at a path relative to the node/fcr:versions/ path.

The bulk of the work is done in a new class, VersionAwareHttpGraphSubjects which handles mapping between the JCR node path (with jcr:versionStorage in the path) to a URI within the workspace below frc:versions for the node whose version history we are accessing.

Though the diff looks confusing, the change I made to FedoraContent.java was just to make the bulk of its processing reusable so that in FedoraVersions, we could delegate to that functionality for providing access to jcr:content nodes within the version history. (paths like ".*/fcr:versions/.*/fcr:content")