[ 
https://issues.apache.org/jira/browse/OAK-7501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16482525#comment-16482525
 ] 

Robert Munteanu commented on OAK-7501:
--------------------------------------

[~anchela] - changes overall look good to me.

Regarding the OSGi annotations - looking at the [\@Reference 
javadoc|https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/annotations/Reference.html]
 I think you can drop the _bind_ and _cardinality_ fields as the defaults are 
suitable.

While looking at how the new {{QueryIndexCreator}} API is used, we seem to have 
the following pattern:

- get index node from root node
- if index does not exist, create index with the following properties ...

It might be simpler to capture this in the API. One possibility would be to 
have a single method {{ensureIndexDefinitionExists}} which takes the root node 
and the index definition ( possibly as a new object ). Another one would be to 
have a {{QueryIndexCreatorFactory}} ( or similar, I'm bad at naming ) which 
creates a {{QueryIndexCreator}}, given a root node. The created 
{{QueryIndexCreator}} can then expose more fine-grained operations, such as 
{{ensureIndexDefinitionExists}} or the the current 
{{hasIndexDefinition}}/{{createIndexDefintion}} . 

I suggest these since it does not seem that intuitive/safe to pass 
{{NodeBuilder}} objects around, like the old API did.


> Dependencies on IndexUtils
> --------------------------
>
>                 Key: OAK-7501
>                 URL: https://issues.apache.org/jira/browse/OAK-7501
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: core, indexing, security
>            Reporter: angela
>            Priority: Major
>              Labels: m12n
>         Attachments: OAK-7501-adjust_security.patch, OAK-7501-indexing.patch
>
>
> There are several places across the oak security code base where 
> {{IndexUtils}} is used to create index definitions. In addition these usages 
> hardcode implementation details on how the index definitions are stored.
> The goal is to make the security code independant of the very details of the 
> index machinery and ultimately allow the indexing team to change/replace the 
> way indices are store and how requirements like e.g. uniqueness are met.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to