[
https://issues.apache.org/jira/browse/OAK-7510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16495161#comment-16495161
]
Alex Deparvu commented on OAK-7510:
-----------------------------------
[~anchela] the issue is with the jcr:system node's definition. it mandates the
existence of a rep:privilege node [0] that is only created by the
PrivilegeConfigurationImpl, so in a sense this looks like an implementation
leak.
To work around this there are 2 options:
* hardcode PrivilegeConfigurationImpl all over the place in tests so that the
jcr:system node passes the node type validation
* tweak the OpenAuthorizationConfiguration to create the missing node (with all
required properties) so the integrity is maintained
I tried both and the second seemed least intrusive, but I'm open to
alternatives, maybe I misread something and there's an easier way :)
[0]
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/resources/org/apache/jackrabbit/oak/builtin_nodetypes.cnd#L613
> Run repository initializers with hooks
> --------------------------------------
>
> Key: OAK-7510
> URL: https://issues.apache.org/jira/browse/OAK-7510
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core
> Reporter: Alex Deparvu
> Assignee: Alex Deparvu
> Priority: Major
> Labels: modularization
>
> Currently the repository initializers (RepositoryInitializer and
> WorkspaceInitializer) run when the repo boots without any hooks [0] which
> means that current RepositoryInitializers need to setup custom Roots (roots
> with hardcoded editor providers like NamespaceEditorProvider and
> TypeEditorProvider) on top of the provided builders to be able to setup
> properly. I'm looking at the InitialContent [1] and the CugConfiguration [2]
> in the context of installing node types.
> I would like to look into removing the hardcoded providers and trying to run
> all existing editors over the content produced by the initializers.
> As an added benefit this will allow decoupling of hard dependencies between
> components (see for example OAK-7499)
> [0]
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java#L687
>
> [1]
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/InitialContent.java#L134
> [2]
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java#L162
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)