Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkuppe2008-05-20 11:47:00 +0000
committermkuppe2008-05-20 11:47:00 +0000
commit74282bd7185deab7d344f6149299e3c3ff79539c (patch)
tree89867b4f6762c827539e20fe3a370c5c43cfbd69 /providers/bundles/org.eclipse.ecf.provider.jslp
parent9c9d6c49131dbcc5e3d44fcded5137d56b7074c9 (diff)
downloadorg.eclipse.ecf-74282bd7185deab7d344f6149299e3c3ff79539c.tar.gz
org.eclipse.ecf-74282bd7185deab7d344f6149299e3c3ff79539c.tar.xz
org.eclipse.ecf-74282bd7185deab7d344f6149299e3c3ff79539c.zip
NEW - bug 232813: [Discovery][jSLP] No OSGi service is registered
https://bugs.eclipse.org/bugs/show_bug.cgi?id=232813 NEW - bug 218308: [Discovery][jSLP] org.eclipse.ecf.discovery.IDiscoveryContainerAdapter.getServices() doesn't return all "reachable" services https://bugs.eclipse.org/bugs/show_bug.cgi?id=218308
Diffstat (limited to 'providers/bundles/org.eclipse.ecf.provider.jslp')
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java20
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java3
2 files changed, 19 insertions, 4 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java
index aac097624..53028146a 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java
@@ -75,12 +75,12 @@ public class Activator implements BundleActivator {
private Advertiser getAdvertiser() {
try {
advertiserST.open();
- advertiserST.waitForService(10000);
+ Advertiser service = (Advertiser) advertiserST.waitForService(10000);
+ return service;
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
+ return null;
}
-
- return (Advertiser) advertiserST.getService();
}
/*
@@ -90,8 +90,18 @@ public class Activator implements BundleActivator {
*/
public void start(BundleContext context) throws Exception {
bundleContext = context;
+
locatorST = new ServiceTracker(bundleContext, Locator.class.getName(), null);
advertiserST = new ServiceTracker(bundleContext, Advertiser.class.getName(), null);
+
+ //TODO-mkuppe https://bugs.eclipse.org/232813
+ // register the jSLP discovery service (will be automatically unregistered when this bundle gets uninstalled)
+ // JSLPDiscoveryContainer ids = new JSLPDiscoveryContainer();
+ // ids.connect(null, null);
+ // Properties props = new Properties();
+ // props.put(IDiscoveryService.CONTAINER_ID, ids.getID());
+ // props.put(IDiscoveryContainerAdapter.CONTAINER_CONNECT_TARGET, JSLPDiscoveryContainer.NAME);
+ // context.registerService(IDiscoveryService.class.getName(), ids, props);
}
/*
@@ -159,6 +169,7 @@ public class Activator implements BundleActivator {
Advertiser advertiser = getAdvertiser();
if (advertiser != null) {
advertiser.deregister(url);
+ return;
}
Trace.trace(PLUGIN_ID, JSLPDebugOptions.METHODS_TRACING, getClass(), "deregister(ServiceURL)", Advertiser.class + " not present"); //$NON-NLS-1$//$NON-NLS-2$
//TODO add logging
@@ -171,6 +182,7 @@ public class Activator implements BundleActivator {
Advertiser advertiser = getAdvertiser();
if (advertiser != null) {
advertiser.deregister(url, scopes);
+ return;
}
Trace.trace(PLUGIN_ID, JSLPDebugOptions.METHODS_TRACING, getClass(), "deregister(ServiceURL, List)", Advertiser.class + " not present"); //$NON-NLS-1$//$NON-NLS-2$
//TODO add logging
@@ -183,6 +195,7 @@ public class Activator implements BundleActivator {
Advertiser advertiser = getAdvertiser();
if (advertiser != null) {
advertiser.register(url, attributes);
+ return;
}
Trace.trace(PLUGIN_ID, JSLPDebugOptions.METHODS_TRACING, getClass(), "register(ServiceURL, Dictionary)", Advertiser.class + " not present"); //$NON-NLS-1$//$NON-NLS-2$
//TODO add logging
@@ -195,6 +208,7 @@ public class Activator implements BundleActivator {
Advertiser advertiser = getAdvertiser();
if (advertiser != null) {
advertiser.register(url, scopes, attributes);
+ return;
}
Trace.trace(PLUGIN_ID, JSLPDebugOptions.METHODS_TRACING, getClass(), "register(ServiceURL, List, Dictionary)", Advertiser.class + " not present"); //$NON-NLS-1$//$NON-NLS-2$
//TODO add logging
diff --git a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java
index 89cd4fbb9..df8c19dad 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java
@@ -25,10 +25,11 @@ import org.eclipse.ecf.core.util.Trace;
import org.eclipse.ecf.discovery.*;
import org.eclipse.ecf.discovery.identity.IServiceID;
import org.eclipse.ecf.discovery.identity.IServiceTypeID;
+import org.eclipse.ecf.discovery.service.IDiscoveryService;
import org.eclipse.ecf.internal.provider.jslp.*;
import org.eclipse.ecf.provider.jslp.identity.*;
-public class JSLPDiscoveryContainer extends AbstractDiscoveryContainerAdapter {
+public class JSLPDiscoveryContainer extends AbstractDiscoveryContainerAdapter implements IDiscoveryService {
public static final String NAME = "ecf.discovery.jslp"; //$NON-NLS-1$
// TODO-mkuppe make this configurable via cm

Back to the top