[jboss-osgi-issues] [JBoss JIRA] Updated: (JBOSGI-305) Clarify ServiceReference.getUsingBundles() in ServiceFactory.ungetService()
Thomas Diesler (JIRA)
jira-events at lists.jboss.org
Sun Mar 21 10:17:37 EDT 2010
[ https://jira.jboss.org/jira/browse/JBOSGI-305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Diesler updated JBOSGI-305:
----------------------------------
Description:
Consider
final boolean[] allGood = new boolean[2];
ServiceFactory factory = new ServiceFactory()
{
@Override
public Object getService(Bundle bundle, ServiceRegistration sreg)
{
ServiceReference sref = sreg.getReference();
Bundle[] users = sref.getUsingBundles();
assertNotNull("Users not null", users);
assertEquals(1, users.length);
assertEquals(bundle, users[0]);
allGood[0] = true;
return new Runnable()
{
public void run()
{
}
};
}
@Override
public void ungetService(Bundle bundle, ServiceRegistration sreg, Object service)
{
ServiceReference sref = sreg.getReference();
Bundle[] users = sref.getUsingBundles();
assertNotNull("Users not null", users);
assertEquals(1, users.length);
assertEquals(bundle, users[0]);
allGood[1] = true;
}
};
Here we expect the service user to be the same in getService() and ungetService().
This works in Felix-2.0.4 but not in Equinox-3.5.2. In Equinox getUsingBundles() returns null in ungetService()
The Core TCK 4.2 expects the Felix behaviour in ServiceHookTests.testListenerHook03, AFAICS.
was:
Consider
final boolean[] allGood = new boolean[2];
ServiceFactory factory = new ServiceFactory()
{
@Override
public Object getService(Bundle bundle, ServiceRegistration sreg)
{
ServiceReference sref = sreg.getReference();
Bundle[] users = sref.getUsingBundles();
assertNotNull("Users not null", users);
assertEquals(1, users.length);
assertEquals(bundle, users[0]);
allGood[0] = true;
return new Runnable()
{
public void run()
{
}
};
}
@Override
public void ungetService(Bundle bundle, ServiceRegistration sreg, Object service)
{
ServiceReference sref = sreg.getReference();
Bundle[] users = sref.getUsingBundles();
assertNotNull("Users not null", users);
assertEquals(1, users.length);
assertEquals(bundle, users[0]);
allGood[1] = true;
}
};
Here we expect the service user to be the same in getService() and ungetService().
This works in Felix-2.0.4 but in Equinox-3.5.2. In Equinox getUsingBundles() returns null in ungetService()
The Core TCK 4.2 expects the Felix behaviour in ServiceHookTests.testListenerHook03, AFAICS.
> Clarify ServiceReference.getUsingBundles() in ServiceFactory.ungetService()
> ---------------------------------------------------------------------------
>
> Key: JBOSGI-305
> URL: https://jira.jboss.org/jira/browse/JBOSGI-305
> Project: JBoss OSGi
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: Core Framework
> Reporter: Thomas Diesler
> Assignee: Thomas Diesler
>
> Consider
> final boolean[] allGood = new boolean[2];
> ServiceFactory factory = new ServiceFactory()
> {
> @Override
> public Object getService(Bundle bundle, ServiceRegistration sreg)
> {
> ServiceReference sref = sreg.getReference();
> Bundle[] users = sref.getUsingBundles();
> assertNotNull("Users not null", users);
> assertEquals(1, users.length);
> assertEquals(bundle, users[0]);
> allGood[0] = true;
> return new Runnable()
> {
> public void run()
> {
> }
> };
> }
> @Override
> public void ungetService(Bundle bundle, ServiceRegistration sreg, Object service)
> {
> ServiceReference sref = sreg.getReference();
> Bundle[] users = sref.getUsingBundles();
> assertNotNull("Users not null", users);
> assertEquals(1, users.length);
> assertEquals(bundle, users[0]);
> allGood[1] = true;
> }
> };
> Here we expect the service user to be the same in getService() and ungetService().
> This works in Felix-2.0.4 but not in Equinox-3.5.2. In Equinox getUsingBundles() returns null in ungetService()
> The Core TCK 4.2 expects the Felix behaviour in ServiceHookTests.testListenerHook03, AFAICS.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-osgi-issues
mailing list