jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jukka Zitting <jukka.zitt...@gmail.com>
Subject Re: Analyzing the Jackrabbit architecture
Date Mon, 09 Jan 2006 14:35:13 GMT

On 1/9/06, Tobias Bocanegra <tobias.bocanegra@day.com> wrote:
> - Split the main core package into subpackages
> that certainly makes sense, but by what semantics?

Good question, I didn't really focus on that very much. It seems that
at least the hierarchy and namespace stuff could quite easily be moved
to a separate package (or two) as a somewhat coherent set of classes.

> - Move the nodetype.virtual package to a higher level
> we could put those into the oaj.core.virtual package. btw: there are
> plans to remove the virtual states completely and add a more
> sophisticated approach.

OK, then I think we could leave it as is for now.

> - Move the state subpackages to a separate package
> as far as i can tell, most of the state subpackages are implementation
> of persistencemanagers. so i suggest to create a
> oaj.core.persistencemgr package.

Sounds good. The persistence manager concept is a pretty visible one,
so moving the PersistenceManager interface and the implementation
packages to a dedicated package could clarify things.

Currently there are troublesome dependencies from PersistenceManager
to the Id classes in o.a.j.core and from the SharedItemStateManager to
PersistenceManager. Moving the Id classes to o.a.j.core.state and the
item state managers to a new package would clean these up quite
nicely, making this part of the dependency structure linear: statemgr
-> persistencemgr -> state.

> - Make a separate package for the item state managers
> that would be: oaj.core.statemgr  ?

Sounds good.

PS. I was contacted by Neeraj Sangal from Lattix and he's also taking
a look at Jackrabbit architecture. I'll report back when I get more
feedback from him.


Jukka Zitting

Yukatan - http://yukatan.fi/ - info@yukatan.fi
Software craftmanship, JCR consulting, and Java development
View raw message