[ 
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)

Reply via email to