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

Felix Meschberger commented on SLING-4312:
------------------------------------------

Ok, thanks. This starts to look ok. I think we can agree on this new service to 
be a marker. And a marker only.

As such I still (sorry) have a few comments of feedback:

* I think we should properly document the fact that the new service is a 
marker. Maybe even name it something like "ServiceUserMapped" ?
* Suggest to change the Mapping.SERVICENAME value to have a leading dot, that 
is {{.serviceName}} instead if {{serviceName}}. This marks the property private.
* I think we can remove the {{ServiceUserMapping.getSubServiceName()}} method 
since it adds no value. If a dependent service needs the subservice name due 
to, for example, multiple cardinality dependency, the service property of the 
ServiceReference can be queried.
* Suggest to defaine  ServiceUserMapper.SERVICE_NAME constant with the service 
name to prevent these tons of {{ServiceUserMapper.class.getName()}} calls.
* Suggest to implement an internal helper method to retrieve the service name 
for a bundle. This common method would be called from at least three locations 
(two in ServiceUserMappingBundleFilter and one in ServiceUserMapperImpl)

> Register an osgi service for each available service user 
> ---------------------------------------------------------
>
>                 Key: SLING-4312
>                 URL: https://issues.apache.org/jira/browse/SLING-4312
>             Project: Sling
>          Issue Type: Improvement
>          Components: Service User Mapper
>            Reporter: Marius Petria
>            Assignee: Marius Petria
>             Fix For: Service User Mapper 1.1.2
>
>         Attachments: SLING-4312.1.diff, SLING-4312.diff
>
>
> In order to only activate osgi components when a service user mapping is 
> available it would be useful to have an osgi service registered for a service 
> user. A component can reference the registered service name and only start 
> when that becomes available.
> {code}
> @Reference(target="(name=serviceName)")
> ServiceUserExists userExists;
> {code}
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to