Hi,

I'd like branch my 'Are all NodeBuilders required to inherit from the
MemoryNodeBuilder?' thread to put the focus back on the root issue.

Some repository/workspace initializers unconditionally wrap a passed
NodeState with a MemoryNodeStore, given that up till now all NodeState
instances extend the MemoryNodeState. [1][2][3]

However, once we get a NodeState that does not inherit from a
MemoryNodeState it all breaks down - like in my multiplexing POC.

I currently have a hack^H^H^H^H isolated way of exposing a
MemoryNodeBuilder from a MultiplexingNodeBuilder, but I'd like a more
elegant approach.

I wonder if the issue is that the initializers don't get access to the
'original' NodeStore and we can extend the API to make it available? Or
maybe there are other ways of addressing it that I don't see due to my
limited exposes to Oak's core.

Thanks,

Robert

[1]: https://github.com/apache/jackrabbit-oak/blob/1fdae3a77e4172cf5716
6ffe77eb35a4bd93c76b/oak-
core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/Ini
tialContent.java#L118-L119
[2]: https://github.com/apache/jackrabbit-oak/blob/1fdae3a77e4172cf5716
6ffe77eb35a4bd93c76b/oak-
core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitiali
zer.java#L94-L95
[3]: https://github.com/apache/jackrabbit-oak/blob/1fdae3a77e4172cf5716
6ffe77eb35a4bd93c76b/oak-
core/src/main/java/org/apache/jackrabbit/oak/security/privilege/Privile
geInitializer.java#L58-L59

Reply via email to