use of org.eclipse.ecf.provider.jslp.container.ContainerInstantiator in project ecf by eclipse.
the class Activator method start.
/*
* (non-Javadoc)
*
* @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
*/
public void start(final BundleContext context) throws Exception {
bundleContext = context;
SafeRunner.run(new ExtensionRegistryRunnable(context) {
protected void runWithoutRegistry() throws Exception {
context.registerService(Namespace.class, new JSLPNamespace(), null);
// $NON-NLS-1$//$NON-NLS-2$
context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.discovery.jslp", new ContainerInstantiator(), "JSLP Discovery Container", true, false), null);
// $NON-NLS-1$//$NON-NLS-2$
context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.discovery.jslp.locator", new ContainerInstantiator(), "JSLP Discovery Locator Container", true, false), null);
// $NON-NLS-1$//$NON-NLS-2$
context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.discovery.jslp.advertiser", new ContainerInstantiator(), "JSLP Discovery Advertiser Container", true, false), null);
}
});
// initially get the locator and add a life cycle listener
locatorSt = new ServiceTracker(context, Locator.class.getName(), null);
// initially get the advertiser and add a life cycle listener
advertiserSt = new ServiceTracker(context, Advertiser.class.getName(), null);
// register ourself as an OSGi service
final Properties props = new Properties();
props.put(IDiscoveryService.CONTAINER_NAME, JSLPDiscoveryContainer.NAME);
props.put(Constants.SERVICE_RANKING, new Integer(500));
String[] clazzes = new String[] { IDiscoveryService.class.getName(), IDiscoveryLocator.class.getName(), IDiscoveryAdvertiser.class.getName() };
serviceRegistration = context.registerService(clazzes, serviceFactory, props);
}
Aggregations