Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkuppe2009-02-25 14:12:15 +0000
committermkuppe2009-02-25 14:12:15 +0000
commitadaaf14a4f73b9f2c86d0f802cee56d406289a30 (patch)
treeb78789b03651094b49bb6b0225fa9824ebb71308
parentd255394a8d4a304a6e0e022299d9de07cf4e1dda (diff)
downloadorg.eclipse.ecf-adaaf14a4f73b9f2c86d0f802cee56d406289a30.tar.gz
org.eclipse.ecf-adaaf14a4f73b9f2c86d0f802cee56d406289a30.tar.xz
org.eclipse.ecf-adaaf14a4f73b9f2c86d0f802cee56d406289a30.zip
NEW - bug 254832: [Discovery][SLP] Provider may cache discovered services for lifetime
https://bugs.eclipse.org/bugs/show_bug.cgi?id=254832 NEW - bug 257861: Split org.eclipse.ecf.discovery.IDiscoveryContainerAdapter into "Locator" and a "Advertiser" https://bugs.eclipse.org/bugs/show_bug.cgi?id=257861
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery/META-INF/MANIFEST.MF3
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryContainerTest.java26
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryServiceContainerTest.java11
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/TestDiscoveryContainer.java56
4 files changed, 75 insertions, 21 deletions
diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.discovery/META-INF/MANIFEST.MF b/tests/bundles/org.eclipse.ecf.tests.provider.discovery/META-INF/MANIFEST.MF
index 8c2a2cd81..402bc9aa2 100644
--- a/tests/bundles/org.eclipse.ecf.tests.provider.discovery/META-INF/MANIFEST.MF
+++ b/tests/bundles/org.eclipse.ecf.tests.provider.discovery/META-INF/MANIFEST.MF
@@ -3,7 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Name: %plugin.name
Bundle-SymbolicName: org.eclipse.ecf.tests.provider.discovery
Bundle-Version: 2.1.0.qualifier
-Import-Package: org.osgi.framework;version="1.4.0",
+Import-Package: org.eclipse.equinox.concurrent.future;version="1.0.0",
+ org.osgi.framework;version="1.4.0",
org.osgi.util.tracker;version="1.3.3"
Require-Bundle: org.junit,
org.eclipse.ecf,
diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryContainerTest.java b/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryContainerTest.java
index dc4038df1..efcee462c 100644
--- a/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryContainerTest.java
+++ b/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryContainerTest.java
@@ -16,9 +16,9 @@ import org.eclipse.ecf.core.ContainerConnectException;
import org.eclipse.ecf.core.util.ECFRuntimeException;
import org.eclipse.ecf.discovery.identity.IServiceTypeID;
import org.eclipse.ecf.provider.discovery.CompositeDiscoveryContainer;
-import org.eclipse.ecf.tests.discovery.DiscoveryTest;
+import org.eclipse.ecf.tests.discovery.DiscoveryContainerTest;
-public class CompositeDiscoveryContainerTest extends DiscoveryTest {
+public class CompositeDiscoveryContainerTest extends DiscoveryContainerTest {
private TestDiscoveryContainer testDiscoveryContainer;
@@ -36,7 +36,7 @@ public class CompositeDiscoveryContainerTest extends DiscoveryTest {
*/
protected void setUp() throws Exception {
super.setUp();
- eventsToExpect = ((CompositeDiscoveryContainer) discoveryContainer).getDiscoveryContainers().size();
+ eventsToExpect = ((CompositeDiscoveryContainer) discoveryLocator).getDiscoveryContainers().size();
}
/**
@@ -45,47 +45,45 @@ public class CompositeDiscoveryContainerTest extends DiscoveryTest {
*/
public void testAddContainerWithRegisteredServices() throws ContainerConnectException {
try {
- container.connect(null, null);
try {
- discoveryContainer.registerService(serviceInfo);
+ discoveryAdvertiser.registerService(serviceInfo);
} catch (ECFRuntimeException e) {
fail("Registering a service failed on a new IDCA");
}
- CompositeDiscoveryContainer cdc = (CompositeDiscoveryContainer) discoveryContainer;
+ CompositeDiscoveryContainer cdc = (CompositeDiscoveryContainer) discoveryLocator;
testDiscoveryContainer = new TestDiscoveryContainer();
assertTrue(cdc.addContainer(testDiscoveryContainer));
List registeredServices = testDiscoveryContainer.getRegisteredServices();
assertEquals("registerService(aService) wasn't called on TestDiscoveryContainer", serviceInfo, registeredServices.get(0));
} finally {
- CompositeDiscoveryContainer cdc = (CompositeDiscoveryContainer) discoveryContainer;
+ CompositeDiscoveryContainer cdc = (CompositeDiscoveryContainer) discoveryLocator;
assertTrue(cdc.removeContainer(testDiscoveryContainer));
}
}
public void testAddContainerWithoutRegisteredServices() throws ContainerConnectException {
try {
- container.connect(null, null);
try {
- discoveryContainer.registerService(serviceInfo);
- discoveryContainer.unregisterService(serviceInfo);
+ discoveryAdvertiser.registerService(serviceInfo);
+ discoveryAdvertiser.unregisterService(serviceInfo);
} catch (ECFRuntimeException e) {
fail("Re-/Unregistering a service failed on a new IDCA");
}
- CompositeDiscoveryContainer cdc = (CompositeDiscoveryContainer) discoveryContainer;
+ CompositeDiscoveryContainer cdc = (CompositeDiscoveryContainer) discoveryLocator;
testDiscoveryContainer = new TestDiscoveryContainer();
assertTrue(cdc.addContainer(testDiscoveryContainer));
List registeredServices = testDiscoveryContainer.getRegisteredServices();
assertTrue(registeredServices.isEmpty());
} finally {
- CompositeDiscoveryContainer cdc = (CompositeDiscoveryContainer) discoveryContainer;
+ CompositeDiscoveryContainer cdc = (CompositeDiscoveryContainer) discoveryLocator;
assertTrue(cdc.removeContainer(testDiscoveryContainer));
}
}
// protected void addServiceListener(TestServiceListener serviceListener) {
-// discoveryContainer.addServiceListener(serviceListener);
+// discoveryLocator.addServiceListener(serviceListener);
// addListenerRegisterAndWait(serviceListener, serviceInfo);
-// discoveryContainer.removeServiceListener(serviceListener);
+// discoveryLocator.removeServiceListener(serviceListener);
// IContainerEvent[] events = serviceListener.getEvent();
// assertNotNull("Test listener didn't receive discovery", events);
// assertEquals("Test listener received more than expected discovery event", eventsToExpect, events.length);
diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryServiceContainerTest.java b/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryServiceContainerTest.java
index 241b51564..91aac5fc0 100644
--- a/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryServiceContainerTest.java
+++ b/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/CompositeDiscoveryServiceContainerTest.java
@@ -10,7 +10,9 @@
******************************************************************************/
package org.eclipse.ecf.tests.provider.discovery;
+import org.eclipse.ecf.discovery.IDiscoveryContainerAdapter;
import org.eclipse.ecf.discovery.identity.IServiceTypeID;
+import org.eclipse.ecf.provider.discovery.CompositeDiscoveryContainer;
import org.eclipse.ecf.tests.discovery.DiscoveryServiceTest;
public class CompositeDiscoveryServiceContainerTest extends
@@ -24,6 +26,15 @@ public class CompositeDiscoveryServiceContainerTest extends
//TODO-mkuppe https://bugs.eclipse.org/bugs/show_bug.cgi?id=218308
setScope(IServiceTypeID.DEFAULT_SCOPE[0]);
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.tests.discovery.DiscoveryServiceTest#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ eventsToExpect = ((CompositeDiscoveryContainer) discoveryLocator).getDiscoveryContainers().size();
+ }
+
//
// protected void addServiceListener(TestServiceListener serviceListener) {
// discoveryContainer.addServiceListener(serviceListener);
diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/TestDiscoveryContainer.java b/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/TestDiscoveryContainer.java
index 905e4c028..20d6cc00d 100644
--- a/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/TestDiscoveryContainer.java
+++ b/tests/bundles/org.eclipse.ecf.tests.provider.discovery/src/org/eclipse/ecf/tests/provider/discovery/TestDiscoveryContainer.java
@@ -15,14 +15,16 @@ import java.util.ArrayList;
import java.util.List;
import org.eclipse.ecf.core.identity.Namespace;
-import org.eclipse.ecf.discovery.IDiscoveryContainerAdapter;
+import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
+import org.eclipse.ecf.discovery.IDiscoveryLocator;
import org.eclipse.ecf.discovery.IServiceInfo;
import org.eclipse.ecf.discovery.IServiceListener;
import org.eclipse.ecf.discovery.IServiceTypeListener;
import org.eclipse.ecf.discovery.identity.IServiceID;
import org.eclipse.ecf.discovery.identity.IServiceTypeID;
+import org.eclipse.equinox.concurrent.future.IFuture;
-public class TestDiscoveryContainer implements IDiscoveryContainerAdapter {
+public class TestDiscoveryContainer implements IDiscoveryLocator, IDiscoveryAdvertiser {
private List services = new ArrayList();
@@ -38,14 +40,14 @@ public class TestDiscoveryContainer implements IDiscoveryContainerAdapter {
*/
public void addServiceListener(IServiceTypeID type,
IServiceListener listener) {
- throw new UnsupportedOperationException();
+ // nop
}
/* (non-Javadoc)
* @see org.eclipse.ecf.discovery.IDiscoveryContainerAdapter#addServiceTypeListener(org.eclipse.ecf.discovery.IServiceTypeListener)
*/
public void addServiceTypeListener(IServiceTypeListener listener) {
- throw new UnsupportedOperationException();
+ // nop
}
/* (non-Javadoc)
@@ -94,7 +96,7 @@ public class TestDiscoveryContainer implements IDiscoveryContainerAdapter {
* @see org.eclipse.ecf.discovery.IDiscoveryContainerAdapter#removeServiceListener(org.eclipse.ecf.discovery.IServiceListener)
*/
public void removeServiceListener(IServiceListener listener) {
- throw new UnsupportedOperationException();
+ // nop
}
/* (non-Javadoc)
@@ -109,7 +111,7 @@ public class TestDiscoveryContainer implements IDiscoveryContainerAdapter {
* @see org.eclipse.ecf.discovery.IDiscoveryContainerAdapter#removeServiceTypeListener(org.eclipse.ecf.discovery.IServiceTypeListener)
*/
public void removeServiceTypeListener(IServiceTypeListener listener) {
- throw new UnsupportedOperationException();
+ // nop
}
/* (non-Javadoc)
@@ -129,4 +131,46 @@ public class TestDiscoveryContainer implements IDiscoveryContainerAdapter {
public List getRegisteredServices() {
return services;
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.discovery.IDiscoveryLocator#purgeCache()
+ */
+ public IServiceInfo[] purgeCache() {
+ throw new UnsupportedOperationException();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.discovery.IDiscoveryAsyncLocator#getAsyncServiceInfo(org.eclipse.ecf.discovery.identity.IServiceID)
+ */
+ public IFuture getAsyncServiceInfo(IServiceID aServiceId) {
+ throw new UnsupportedOperationException();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.discovery.IDiscoveryAsyncLocator#getAsyncServiceTypes()
+ */
+ public IFuture getAsyncServiceTypes() {
+ throw new UnsupportedOperationException();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.discovery.IDiscoveryAsyncLocator#getAsyncServices()
+ */
+ public IFuture getAsyncServices() {
+ throw new UnsupportedOperationException();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.discovery.IDiscoveryAsyncLocator#getAsyncServices(org.eclipse.ecf.discovery.identity.IServiceTypeID)
+ */
+ public IFuture getAsyncServices(IServiceTypeID aServiceTypeId) {
+ throw new UnsupportedOperationException();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.discovery.IDiscoveryAdvertiser#unregisterAllServices()
+ */
+ public void unregisterAllServices() {
+ throw new UnsupportedOperationException();
+ }
}

Back to the top