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

Julian Sedding commented on OAK-6741:
-------------------------------------

Thank you [~chetanm] for the list of differences. I'll try to address them 
below.

bq. No 'Designate' found in 
OSGI-INF/metatype/org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl$Configuration.xml
 - Looks like AuthorizationConfigurationImpl does not have designate specified

Agreed, I think the {{@Designate}} annotation is required.

bq. COWNodeStoreService is having the "role" property missing. Which is required

You may be right. This component is confusing, however. Before my changes, it 
did not have {{metatype = true}} set, yet it declares a property with (metatype 
specific) {{label}} and {{description}}. Furthermore, it requires a 
configuration before it becomes active.

This leads to a behaviour, where no configuration form is displayed in the web 
console. But if you supply a configuration (e.g. via Slings' OSGi installer) 
you _should_ specify the {{role}} property. If this is done, the service is 
registered with such a property and it can be used for filtering.

So I believe that the component after my changes behaves as before. However, we 
should clarify the intent, and possibly add a configuration annotation object 
that is referenced in the {{@Designate}} annotation.

WDYT?

{quote}
DocumentNodeStoreService - Missing props
        updateLimit
        repository.home
        role
{quote}

I think that's just a difference in processing. Possibly semantically 
equivalent. The properties are all defined in the configuration annotation 
object, but have no default values (as before).

bq. SecondaryStoreCacheService - immediate missing

This is just a component (does not expose a service). In that case {{immediate 
= true}} is the default. Thereofore, I think it's fine.

bq. MountInfoProviderService - supportFragment missing (may be it was changed 
so valid)

I didn't touch the {{oak-store-composite}} bundle with these changes.

{quote}
AuthenticationConfigurationImpl
        org.apache.jackrabbit.oak.authentication.appName missing
        org.apache.jackrabbit.oak.authentication.configSpiName missing
{quote}

We _may_ have lost {{appName}} if no configuration is present. 
{{configSpiName}} has no default, so it should be fine if it's missing (it 
should be present in the metatype).

bq. DefaultAuthorizableActionProvider - label and value swapped

Yes, this is wrong. It seems that the old annotations expected it the wrong way 
around.

> Switch to official OSGi component and metatype annotations
> ----------------------------------------------------------
>
>                 Key: OAK-6741
>                 URL: https://issues.apache.org/jira/browse/OAK-6741
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>            Reporter: Robert Munteanu
>             Fix For: 1.8, 1.7.9
>
>         Attachments: osgi-metadata-1.7.8.json, osgi-metadata-trunk.json
>
>
> We should remove the 'old' Felix SCR annotations and move to the 'new' OSGi 
> R6 annotations.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to