Search in sources :

Example 11 with IContainerManager

use of org.eclipse.ecf.core.IContainerManager in project ecf by eclipse.

the class Activator method start.

/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext
	 * )
	 */
public void start(BundleContext context) throws Exception {
    this.context = context;
    // Create R-OSGi Container
    IContainerManager containerManager = getContainerManagerService();
    container = containerManager.getContainerFactory().createContainer("ecf.r_osgi.peer");
    // Get remote service container adapter
    IRemoteServiceContainerAdapter containerAdapter = (IRemoteServiceContainerAdapter) container.getAdapter(IRemoteServiceContainerAdapter.class);
    // Register remote service
    serviceRegistration = containerAdapter.registerRemoteService(new String[] { IHello.class.getName() }, new Hello(), null);
    System.out.println("IHello RemoteService registered");
}
Also used : Hello(org.eclipse.ecf.examples.remoteservices.hello.impl.Hello) IHello(org.eclipse.ecf.examples.remoteservices.hello.IHello) IRemoteServiceContainerAdapter(org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter) IContainerManager(org.eclipse.ecf.core.IContainerManager)

Example 12 with IContainerManager

use of org.eclipse.ecf.core.IContainerManager in project ecf by eclipse.

the class AbstractEventAdminApplication method getContainerManager.

protected IContainerManager getContainerManager() {
    if (containerManagerTracker == null) {
        containerManagerTracker = new ServiceTracker(bundleContext, IContainerManager.class.getName(), null);
        containerManagerTracker.open();
    }
    return (IContainerManager) containerManagerTracker.getService();
}
Also used : ServiceTracker(org.osgi.util.tracker.ServiceTracker) IContainerManager(org.eclipse.ecf.core.IContainerManager)

Example 13 with IContainerManager

use of org.eclipse.ecf.core.IContainerManager in project ecf by eclipse.

the class Activator method getContainers.

/**
 * @return array of containers.
 */
public IContainer[] getContainers() {
    final ServiceTracker tracker = new ServiceTracker(context, IContainerManager.class.getName(), null);
    tracker.open();
    return ((IContainerManager) tracker.getService()).getAllContainers();
}
Also used : ServiceTracker(org.osgi.util.tracker.ServiceTracker) IContainerManager(org.eclipse.ecf.core.IContainerManager)

Example 14 with IContainerManager

use of org.eclipse.ecf.core.IContainerManager in project ecf by eclipse.

the class Activator method getContainerManagerService.

private IContainerManager getContainerManagerService() {
    if (containerManagerServiceTracker == null) {
        containerManagerServiceTracker = new ServiceTracker(context, IContainerManager.class.getName(), null);
        containerManagerServiceTracker.open();
    }
    return (IContainerManager) containerManagerServiceTracker.getService();
}
Also used : ServiceTracker(org.osgi.util.tracker.ServiceTracker) IContainerManager(org.eclipse.ecf.core.IContainerManager)

Example 15 with IContainerManager

use of org.eclipse.ecf.core.IContainerManager 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(BundleContext context) throws Exception {
    this.context = context;
    // 1. Create R-OSGi Container
    IContainerManager containerManager = getContainerManagerService();
    container = containerManager.getContainerFactory().createContainer("ecf.r_osgi.peer");
    // 2. Get remote service container adapter
    IRemoteServiceContainerAdapter containerAdapter = (IRemoteServiceContainerAdapter) container.getAdapter(IRemoteServiceContainerAdapter.class);
    // 3. Lookup IRemoteServiceReference
    IRemoteServiceReference[] helloReferences = containerAdapter.getRemoteServiceReferences(IDFactory.getDefault().createID(container.getConnectNamespace(), ROSGI_SERVICE_HOST), IHello.class.getName(), null);
    Assert.isNotNull(helloReferences);
    Assert.isTrue(helloReferences.length > 0);
    // 4. Get remote service for reference
    IRemoteService remoteService = containerAdapter.getRemoteService(helloReferences[0]);
    // 5. Get the proxy
    IHello proxy = (IHello) remoteService.getProxy();
    // 6. Finally...call the proxy
    proxy.hello("RemoteService Consumer");
    // Call asynchronously via listener
    callViaListener(remoteService);
}
Also used : IRemoteServiceReference(org.eclipse.ecf.remoteservice.IRemoteServiceReference) IRemoteServiceContainerAdapter(org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter) IContainerManager(org.eclipse.ecf.core.IContainerManager) IRemoteService(org.eclipse.ecf.remoteservice.IRemoteService) IHello(org.eclipse.ecf.examples.remoteservices.hello.IHello)

Aggregations

IContainerManager (org.eclipse.ecf.core.IContainerManager)31 ServiceTracker (org.osgi.util.tracker.ServiceTracker)20 IContainer (org.eclipse.ecf.core.IContainer)4 ContainerTypeDescription (org.eclipse.ecf.core.ContainerTypeDescription)3 ID (org.eclipse.ecf.core.identity.ID)3 IConnectHandlerPolicy (org.eclipse.ecf.core.security.IConnectHandlerPolicy)3 IHello (org.eclipse.ecf.examples.remoteservices.hello.IHello)2 IRemoteService (org.eclipse.ecf.remoteservice.IRemoteService)2 IRemoteServiceContainerAdapter (org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter)2 PermissionCollection (java.security.PermissionCollection)1 ISharedObjectContainerGroupManager (org.eclipse.ecf.core.sharedobject.ISharedObjectContainerGroupManager)1 IServiceTypeID (org.eclipse.ecf.discovery.identity.IServiceTypeID)1 Hello (org.eclipse.ecf.examples.remoteservices.hello.impl.Hello)1 IPresenceContainerAdapter (org.eclipse.ecf.presence.IPresenceContainerAdapter)1 IRoster (org.eclipse.ecf.presence.roster.IRoster)1 IRosterEntry (org.eclipse.ecf.presence.roster.IRosterEntry)1 MessagesView (org.eclipse.ecf.presence.ui.MessagesView)1 IRemoteServiceReference (org.eclipse.ecf.remoteservice.IRemoteServiceReference)1 SyndFeedResponseDeserializer (org.eclipse.ecf.remoteservice.rest.synd.SyndFeedResponseDeserializer)1 RemoteServiceTracker (org.eclipse.ecf.remoteservice.util.tracker.RemoteServiceTracker)1