Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java')
-rw-r--r--bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java
index 470c80f28..a93f31758 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java
@@ -455,6 +455,32 @@ public class ServiceRegistryTests extends AbstractBundleTests {
}
}
+ public void testModifiedRanking() {
+ Runnable runIt = new Runnable() {
+ public void run() {
+ // nothing
+ }
+ };
+ Hashtable props = new Hashtable();
+ props.put(getName(), Boolean.TRUE);
+ props.put(Constants.SERVICE_RANKING, new Integer(15));
+ ServiceRegistration reg1 = getContext().registerService(Runnable.class.getName(), runIt, props);
+ props.put(Constants.SERVICE_RANKING, new Integer(10));
+ ServiceRegistration reg2 = getContext().registerService(Runnable.class.getName(), runIt, props);
+ try {
+ assertEquals("wrong service reference", reg1.getReference(), getContext().getServiceReference("java.lang.Runnable")); //$NON-NLS-1$//$NON-NLS-2$
+
+ props.put(Constants.SERVICE_RANKING, new Integer(20));
+ reg2.setProperties(props);
+ assertEquals("wrong service reference", reg2.getReference(), getContext().getServiceReference("java.lang.Runnable")); //$NON-NLS-1$//$NON-NLS-2$
+ } finally {
+ if (reg1 != null)
+ reg1.unregister();
+ if (reg2 != null)
+ reg2.unregister();
+ }
+ }
+
private void clearResults(boolean[] results) {
for (int i = 0; i < results.length; i++)
results[i] = false;

Back to the top