Hi,
I just committed the repository class loader. Some simple unit tests are
included as well.
Regarding dependency on Jackrabbit:
* The ExpandingArchiveClassPathEntry class requires a mixin node
type to be defined (rep:jarFile). If the node type is not
available, the NodeTypeSupport.registerNodeType method is called
to register the node type. This latter class - NodeTypeSupport -
is the only class with a dependency on the core Jackrabbit code.
If the node type rep:jarFile is defined in the repository, the
NodeTypeSupport class is not used.
* The PatternPath class uses a class from the jackrabbit-commons
library match handles. The jackrabbit-commons library contains
classes which are independent of the actualy JCR API
implementation used and may - as far as I undertstand it - be used
in conjunction with any compliant JCR implementation.
* The following is an incomplete list of required API functionality:
o Level 1 repository access
o DynamicRepositoryClassLoader makes use of Observation services
o The ExpandingClassPathEntry requires support to add mixin
node types to existing nodes
o The ExpandingClassPathEntry requires write access to the
repository to unpack archives
Feedback is welcome.
Have fun !
Regards
Felix