[jira] [Commented] (OAK-1513) Analyze the OSGi configuration PID used by various OSGi components in Oak

2014-03-28 Thread Tobias Bocanegra (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13951256#comment-13951256
 ] 

Tobias Bocanegra commented on OAK-1513:
---

I would keep the PIDs in sync with the class names. but we could rename the 
class names, especially for those that are names *Impl. We should rename them 
to: Default or Oak... or something more descriptive or just remove the 
Impl.

suggest the following renames (package stays the same):
|| Current || Proposed ||
| 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl
 | _no config_ |
| 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl
 | _no config_ |
| 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory
 | _keep_ |
| 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler
 | _keep_ |
| 
org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider
 | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider | 
_keep_ |
| org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService | _keep_ |
| org.apache.jackrabbit.oak.plugins.commit.ConflictValidatorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.reference.ReferenceIndexProvider | 
_keep_ |
| org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider | _keep_ |
| 
org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider
 | _keep_ |
| org.apache.jackrabbit.oak.plugins.itemsave.ItemSaveValidatorProvider | _keep_ 
|
| org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider | 
_keep_ |
| org.apache.jackrabbit.oak.plugins.name.NameValidatorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.version.VersionEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider | 
_keep_ |
| org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider 
| _keep_ |
| org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider | 
_keep_ |
| org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider | _keep_ |
| org.apache.jackrabbit.mk.osgi.MicroKernelService | _keep_ |
| | |
| org.apache.jackrabbit.oak.security.user.UserConfigurationImpl | 
UserConfiguration |
| 
org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl 
| TokenConfiguration |
| org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl | 
PrincipalConfiguration |
| org.apache.jackrabbit.oak.security.privilege.PrivilegeConfigurationImpl | 
PrivilegeConfiguration |
| 
org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl
 | AuthenticationConfiguration |
| 
org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl 
| AuthorizationConfiguration |
| org.apache.jackrabbit.oak.security.SecurityProviderImpl | SecurityProvider |
| 
org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl
 | RestrictionProvider |

I think that the various *Configuration classes in oak security are a bit 
misleading, as they are not purely configurations but factories or providers. 

 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


 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 
 

[jira] [Commented] (OAK-1513) Analyze the OSGi configuration PID used by various OSGi components in Oak

2014-03-28 Thread angela (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13951439#comment-13951439
 ] 

angela commented on OAK-1513:
-

i don't like the proposed solution where the implementation has the same name 
as the interface. that's very confusion and i really don't see any benefit in 
this. so, -1 for the patch as it is right now.

 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
 # 

[jira] [Commented] (OAK-1513) Analyze the OSGi configuration PID used by various OSGi components in Oak

2014-03-28 Thread Tobias Bocanegra (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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