hi

I'm wondering if we could promote the #setHook method to the NodeStore api?

The intention so far has been to keep NodeStore functionally
equivalent to the MicroKernel, i.e. just a higher-level wrapper that
hides details like caching, JSOP processing and revision/path
tracking. Adding commit hooks would notably change that. Ideally I'd
see RootImpl instead of the underlying NodeStore applying the commit
hooks.

that would also simplify things for having separate commit hook
instances depending on the 'nature' of the root... for example
creating hooks that know about the modified workspace (see OAK-625,
which currently seems to get a bit hacky) or skip commit hooks
in specific scenarios....

The implementation dependency to KernelNodeStore.setHook() is a
hacky solution as you noticed.

doesn't matter as long we are free to clean it up once we have
a better solution.

So until we figure out how to move hooks away from the NodeStore
implementation, it probably does make sense to reflect that in the
interface. However, instead of a setHook() method, I'd rather do this
with an additional CommitHook argument to the merge() command, as
that'll make it easier to later move the hook processing to RootImpl.

i just had a quick look how we could get there but i don't feel
comfortable enough with the merge/commit get it done quickly.
anybody? or shall i create an issue for that?

regards
angela

BR,

Jukka Zitting

Reply via email to