Search in sources :

Example 41 with IRemoteService

use of org.eclipse.ecf.remoteservice.IRemoteService in project ecf by eclipse.

the class RestRemoteServiceAdapterTest method testGetRemoteService.

public void testGetRemoteService() {
    IRemoteServiceRegistration registration = createRestRegistration("resourcePath");
    IRemoteServiceReference reference = registration.getReference();
    assertNotNull(reference);
    IRemoteService remoteService = getRemoteServiceClientContainerAdapter().getRemoteService(reference);
    assertNotNull(remoteService);
}
Also used : IRemoteServiceReference(org.eclipse.ecf.remoteservice.IRemoteServiceReference) IRemoteServiceRegistration(org.eclipse.ecf.remoteservice.IRemoteServiceRegistration) IRemoteService(org.eclipse.ecf.remoteservice.IRemoteService)

Example 42 with IRemoteService

use of org.eclipse.ecf.remoteservice.IRemoteService in project ecf by eclipse.

the class RemoteServiceProxyTest method testRemoteServiceProxy.

public void testRemoteServiceProxy() throws Exception {
    final IRemoteServiceContainerAdapter[] adapters = getRemoteServiceAdapters();
    // client [0]/adapter[0] is the service 'server'
    // client [1]/adapter[1] is the service target (client)
    final Dictionary props = new Hashtable();
    // Register
    adapters[0].registerRemoteService(new String[] { IConcatService.class.getName() }, createService(), props);
    // Give some time for propagation
    sleep(3000);
    final RemoteServiceTracker st = new RemoteServiceTracker(adapters[1], null, IConcatService.class.getName(), null);
    assertNotNull(st);
    st.open();
    IRemoteService rs = st.getRemoteService();
    final IConcatService concatService = (IConcatService) rs.getProxy();
    assertNotNull(concatService);
    // test for proxy implementing IRemoteServiceProxy
    if (concatService instanceof IRemoteServiceProxy) {
        IRemoteService remoteService = ((IRemoteServiceProxy) concatService).getRemoteService();
        assertNotNull(remoteService);
        IRemoteServiceReference remoteServiceReference = ((IRemoteServiceProxy) concatService).getRemoteServiceReference();
        assertNotNull(remoteServiceReference);
        System.out.println("remote service reference found from proxy=" + remoteServiceReference);
        System.out.println("remoteserviceproxy call start");
        Object result = RemoteServiceHelper.syncExec(remoteService, "concat", new Object[] { "IRemoteServiceProxy ", "is very cool" }, 20000);
        System.out.println("remoteserviceproxy call end. result=" + result);
    } else {
        System.out.println("proxy call start");
        final String result = concatService.concat("OSGi ", "is cool");
        System.out.println("proxy call end. result=" + result);
    }
    sleep(3000);
    st.close();
    sleep(3000);
}
Also used : Dictionary(java.util.Dictionary) IRemoteServiceReference(org.eclipse.ecf.remoteservice.IRemoteServiceReference) Hashtable(java.util.Hashtable) IConcatService(org.eclipse.ecf.tests.remoteservice.IConcatService) IRemoteServiceContainerAdapter(org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter) IRemoteServiceProxy(org.eclipse.ecf.remoteservice.IRemoteServiceProxy) RemoteServiceTracker(org.eclipse.ecf.remoteservice.util.tracker.RemoteServiceTracker) IRemoteService(org.eclipse.ecf.remoteservice.IRemoteService)

Example 43 with IRemoteService

use of org.eclipse.ecf.remoteservice.IRemoteService in project ecf by eclipse.

the class RemoteServiceTrackerTest method testRemoteServiceTracker.

public void testRemoteServiceTracker() throws Exception {
    final IRemoteServiceContainerAdapter[] adapters = getRemoteServiceAdapters();
    // client [0]/adapter[0] is the service 'server'
    // client [1]/adapter[1] is the service target (client)
    final Dictionary props = new Hashtable();
    // Register
    adapters[0].registerRemoteService(new String[] { IConcatService.class.getName() }, createService(), props);
    // Give some time for propagation
    sleep(3000);
    final RemoteServiceTracker st = new RemoteServiceTracker(adapters[1], null, IConcatService.class.getName(), null);
    assertNotNull(st);
    st.open();
    IRemoteService rs = st.getRemoteService();
    final IConcatService concatService = (IConcatService) rs.getProxy();
    assertNotNull(concatService);
    System.out.println("proxy call start");
    final String result = concatService.concat("OSGi ", "is cool");
    System.out.println("proxy call end. result=" + result);
    sleep(3000);
    st.close();
    sleep(3000);
}
Also used : Dictionary(java.util.Dictionary) Hashtable(java.util.Hashtable) IConcatService(org.eclipse.ecf.tests.remoteservice.IConcatService) IRemoteServiceContainerAdapter(org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter) RemoteServiceTracker(org.eclipse.ecf.remoteservice.util.tracker.RemoteServiceTracker) IRemoteService(org.eclipse.ecf.remoteservice.IRemoteService)

Example 44 with IRemoteService

use of org.eclipse.ecf.remoteservice.IRemoteService in project ecf by eclipse.

the class SimpleTest method testSimpleClientAndServerWithCallSync.

public void testSimpleClientAndServerWithCallSync() throws Exception {
    IRemoteService remoteService = client.getRemoteService();
    assertNotNull(remoteService);
    // Use callSync
    String result = (String) remoteService.callSync(getRemoteConcatCall(TEST_STRING_2, TEST_STRING_1));
    assertTrue(result != null && result.equals(TEST_STRING_2 + TEST_STRING_1));
}
Also used : IRemoteService(org.eclipse.ecf.remoteservice.IRemoteService)

Example 45 with IRemoteService

use of org.eclipse.ecf.remoteservice.IRemoteService in project ecf by eclipse.

the class SimpleTest method testSimpleClientAndServerWithProxy.

public void testSimpleClientAndServerWithProxy() throws Exception {
    IRemoteService remoteService = client.getRemoteService();
    assertNotNull(remoteService);
    // Use proxy
    String result = ((IConcatService) remoteService.getProxy()).concat(TEST_STRING_1, TEST_STRING_2);
    assertTrue(result != null && result.equals(TEST_STRING_1 + TEST_STRING_2));
}
Also used : IConcatService(org.eclipse.ecf.tests.remoteservice.IConcatService) IRemoteService(org.eclipse.ecf.remoteservice.IRemoteService)

Aggregations

IRemoteService (org.eclipse.ecf.remoteservice.IRemoteService)64 ServiceReference (org.osgi.framework.ServiceReference)11 IFuture (org.eclipse.equinox.concurrent.future.IFuture)10 ECFException (org.eclipse.ecf.core.util.ECFException)9 IRemoteServiceContainerAdapter (org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter)9 IRemoteServiceReference (org.eclipse.ecf.remoteservice.IRemoteServiceReference)8 IRemoteCallListener (org.eclipse.ecf.remoteservice.IRemoteCallListener)6 IRemoteCallCompleteEvent (org.eclipse.ecf.remoteservice.events.IRemoteCallCompleteEvent)6 IRemoteCallEvent (org.eclipse.ecf.remoteservice.events.IRemoteCallEvent)6 IConcatService (org.eclipse.ecf.tests.remoteservice.IConcatService)6 Dictionary (java.util.Dictionary)5 IRemoteServiceProxy (org.eclipse.ecf.remoteservice.IRemoteServiceProxy)5 JSONObject (org.json.JSONObject)5 Hashtable (java.util.Hashtable)4 OperationCanceledException (org.eclipse.core.runtime.OperationCanceledException)4 RemoteServiceTracker (org.eclipse.ecf.remoteservice.util.tracker.RemoteServiceTracker)4 IRemoteServiceRegistration (org.eclipse.ecf.remoteservice.IRemoteServiceRegistration)3 ExecutionException (java.util.concurrent.ExecutionException)2 ExecutionException (org.eclipse.core.commands.ExecutionException)2 IContainerManager (org.eclipse.ecf.core.IContainerManager)2