/** * Called when a new registry was added. */ protected void registryAdded(IServiceRegistry registry) { // Add existing queries on the new registry if(queries!=null && registries!=null) { for(Set<ServiceQueryInfo<?>> queries: queries.values().toArray(new Set[queries.size()])) { for(ServiceQueryInfo<?> query: queries) { registry.addQuery(query.getQuery()).addIntermediateResultListener( new UnlimitedIntermediateDelegationResultListener(query.getFuture())); } } } }
ISubscriptionIntermediateFuture<T> fut = reg.addQuery(query); fut.addIntermediateResultListener(new UnlimitedIntermediateDelegationResultListener<T>(ret));
public IFuture<Void> execute(Void args) { ISubscriptionIntermediateFuture<T> fut = delegate.addQuery(query); fut.addIntermediateResultListener(new IntermediateDelegationResultListener<T>(ret)); final Future<Void> myret = new Future<Void>(); fut.addIntermediateResultListener(new IIntermediateResultListener<T>() { public void finished() { myret.setResult(null); } public void exceptionOccurred(Exception exception) { myret.setException(exception); } public void intermediateResultAvailable(T result) { } public void resultAvailable(Collection<T> result) { finished(); } }); return myret; }