[
https://issues.apache.org/jira/browse/OAK-3145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14645590#comment-14645590
]
Chetan Mehrotra commented on OAK-3145:
--------------------------------------
Overall approach looks fine. Just a minor note - The new logic in Oak class can
be moved to {{AggregatingDescriptors}} like how its being done in
{{CompositeHook.compose}}, {{CompositeEditor.compose}}. Also we can rename
{{AggregatingDescriptors}} to {{CompositeDescriptors}} so that it follows
current convention
> Allow plugging in additional jcr-descriptors
> --------------------------------------------
>
> Key: OAK-3145
> URL: https://issues.apache.org/jira/browse/OAK-3145
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.3.3
> Reporter: Stefan Egli
> Assignee: Stefan Egli
> Priority: Minor
> Fix For: 1.3.4
>
> Attachments: OAK-3145.patch
>
>
> The current way oak compiles the JCR descriptors is somewhat hard-coded and
> does not allow an easy way to extend it. Currently oak-jcr's
> {{RepositoryImpl.determineDescriptors()}} uses oak-core's
> {{ContentRepositoryImpl.createDescriptors()}} ones and overwrites a few (in
> {{JCRDescriptorsImpl}}). The result of this is then put into the
> {{RepositoryImpl.descriptors}} field - which is subsequently used.
> While these descriptors can explicitly be overwritten via {{put}}, that all
> has to happen within overwriting code of the {{RepositoryImpl}} hierarchy.
> There's no plug-in mechanism.
> Using the whiteboard pattern there should be a mechanism that allows to
> provide services that implement {{Descriptors.class}} which could then be
> woven into the {{GeneralDescriptors}} in use by {{ContentRepositorImpl}} for
> example. The plugin mechanism would thus allow hook in Descriptors as 'the
> base' which are still overwritten by oak-core/oak-jcr's own defaults (to
> ensure the final say is with oak-core/oak-jcr) - as opening up such a
> *Descriptors-plugin mechanism could potentially be used by 3rd party code
> too*.
> PS: this is a spin-off of OAK-2844
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)