[
https://issues.apache.org/jira/browse/OAK-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13951530#comment-13951530
]
Tobias Bocanegra commented on OAK-1513:
---------------------------------------
bq. apart from that: not sure if "Default*" is really better than "Impl"; "Oak"
is IMO the worst as every implementation is somehow oakish.
right :-)
the main problem indeed is that the implementation has the same name as the
interface and is confusing for the developer. so either the name of the
interface or the implementation is unfortunate. the "Impl" is just a workaround
for this issue, but so is "Default" as it also stipulates that this is the
default implementation for a particular service, but there could be others.
bq. I think that the various *Configuration classes in oak security are a bit
misleading, as they are not purely configurations but factories or providers.
for example the UserConfiguration has a method getUserManager() which in the
default implementation actually creates a new user manager for the given
session. IMO it would be better to name the interface UserManagement or
UserManagementProvider.
> Analyze the OSGi configuration PID used by various OSGi components in Oak
> -------------------------------------------------------------------------
>
> Key: OAK-1513
> URL: https://issues.apache.org/jira/browse/OAK-1513
> Project: Jackrabbit Oak
> Issue Type: Task
> Affects Versions: 0.17.1
> Reporter: Chetan Mehrotra
> Assignee: Tobias Bocanegra
> Priority: Minor
> Fix For: 0.20
>
> Attachments: oak-1513-r1582862.patch
>
>
> Oak makes use of OSGi configuration support for configuring its components.
> At times a component is annotated like
> {code:java}
> @Component
> public class AuthenticationConfigurationImpl extends ConfigurationBase
> implements AuthenticationConfiguration {
> {code}
> As per defaults maven-scr-plugin would use the Fully Qualified classname for
> the PID which in above case is
> {{org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl}}.
> To set custom PID specify it via name attribute of Component annotation
> As these config pid are to be referred in public docs and also they need to
> be supported in compatible way in future versions of Oak we should ensure
> that these names are proper and stable.
> Below are the details of various DS Components with classNames and PID.
> Someone of them might be exposing configuration and in those cases we need to
> see that PID used is proper
> #
> org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl
> #* PID
> -org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl
> #
> org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory
> #* PID
> -org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory
> #* Config Type -require
> #
> org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl
> #* PID
> -org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl
> #
> org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler
> #* PID
> -org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler
> #* Config Type -require
> #
> org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider
> #* PID
> -org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider
> #* Config Type -require
> # org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider
> # org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService
> #* PID -org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService
> #* Config Type -require
> # org.apache.jackrabbit.oak.plugins.commit.ConflictValidatorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.commit.ConflictValidatorProvider
> # org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService
> #* PID -org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService
> #* Config Type -require
> # org.apache.jackrabbit.oak.plugins.index.reference.ReferenceIndexProvider
> #* PID
> -org.apache.jackrabbit.oak.plugins.index.reference.ReferenceIndexProvider
> # org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider
> #
> org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider
> #* PID
> -org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider
> # org.apache.jackrabbit.oak.security.user.UserConfigurationImpl
> #* PID -org.apache.jackrabbit.oak.security.user.UserConfigurationImpl
> # org.apache.jackrabbit.oak.plugins.itemsave.ItemSaveValidatorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.itemsave.ItemSaveValidatorProvider
> # org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider
> #
> org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl
> #* PID
> -org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl
> # org.apache.jackrabbit.oak.plugins.name.NameValidatorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.name.NameValidatorProvider
> # org.apache.jackrabbit.oak.plugins.version.VersionEditorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.version.VersionEditorProvider
> # org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider
> #* PID
> -org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider
> # org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl
> #* PID
> -org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl
> # org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider
> #* PID
> -org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider
> # org.apache.jackrabbit.oak.security.privilege.PrivilegeConfigurationImpl
> #* PID
> -org.apache.jackrabbit.oak.security.privilege.PrivilegeConfigurationImpl
> #
> org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl
> #* PID
> -org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl
> #
> org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl
> #* PID
> -org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl
> # org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider
> # org.apache.jackrabbit.oak.security.SecurityProviderImpl
> #* PID -org.apache.jackrabbit.oak.security.SecurityProviderImpl
> #
> org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl
> #* PID
> -org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl
> # org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider
> #* PID
> -org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider
> # org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider
> # org.apache.jackrabbit.mk.osgi.MicroKernelService
> #* PID -org.apache.jackrabbit.mk.osgi.MicroKernelService
> #* Config Type -require
> Above data was extracted via [1]
> [1] https://gist.github.com/chetanmeh/9388311
--
This message was sent by Atlassian JIRA
(v6.2#6252)