// 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);
}