[ 
https://issues.apache.org/jira/browse/SLING-7788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Seifert reassigned SLING-7788:
-------------------------------------

    Assignee: Stefan Seifert

> registerInjectActivateService() causes non-conform ServiceRegistration
> ----------------------------------------------------------------------
>
>                 Key: SLING-7788
>                 URL: https://issues.apache.org/jira/browse/SLING-7788
>             Project: Sling
>          Issue Type: Bug
>          Components: Testing
>    Affects Versions: Testing OSGi Mock 2.3.8
>            Reporter: Dirk Rudolph
>            Assignee: Stefan Seifert
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> According to the OSGI R6 Spec 5.2.3 the framework has to automatically set 
> the {{objectClass}} property to the service registration for the types the 
> service is registered for. 
> {quote}The service interface names under which a service object has been 
> successfully registered are automatically added to the service's properties 
> under the key objectClass. This value must be set automatically by the 
> Framework and any value provided by the bundle must be overridden.
> {quote}
> This is correctly implemented in 
> [MockServiceRegistration#L67|https://github.com/apache/sling-org-apache-sling-testing-osgi-mock/blob/5adc8b7eb2c2bbffdd422959388e8c998684eda0/src/main/java/org/apache/sling/testing/mock/osgi/MockServiceRegistration.java#L67]
>  by using the passed array of full qualified class names given to it from the 
> [MockBundleContext#L101|https://github.com/apache/sling-org-apache-sling-testing-osgi-mock/blob/5adc8b7eb2c2bbffdd422959388e8c998684eda0/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java#L101]
>  and 
> [MockBundleContext#L121|https://github.com/apache/sling-org-apache-sling-testing-osgi-mock/blob/5adc8b7eb2c2bbffdd422959388e8c998684eda0/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java#L121]
>  respectively.
> On the other hand the the execution flow of 
> [registerInjectActivateService|https://github.com/apache/sling-org-apache-sling-testing-osgi-mock/blob/5adc8b7eb2c2bbffdd422959388e8c998684eda0/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java#L155]
>  always causes 
> [MockBundleContext#L101|https://github.com/apache/sling-org-apache-sling-testing-osgi-mock/blob/5adc8b7eb2c2bbffdd422959388e8c998684eda0/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java#L101]
>  to be called with {{null}} as service class and so the array of services 
> provided by the given object is missing for that registration.
> This causes for example the ServiceTracker according to 701.6.4.6 OSGI R6 to 
> not work properly as the Filter it creates internally is referring to 
> objectClass.



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

Reply via email to