diff options
author | mkuppe | 2008-05-20 11:47:00 +0000 |
---|---|---|
committer | mkuppe | 2008-05-20 11:47:00 +0000 |
commit | 74282bd7185deab7d344f6149299e3c3ff79539c (patch) | |
tree | 89867b4f6762c827539e20fe3a370c5c43cfbd69 /providers/bundles/org.eclipse.ecf.provider.jslp | |
parent | 9c9d6c49131dbcc5e3d44fcded5137d56b7074c9 (diff) | |
download | org.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')
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 |