public void finished() { // SEARCH.set(search); removeOpenCall(ret, future); processParent(start, source, provider, context, ret, up, 0);//, res); // SEARCH.set(null); }
public void exceptionOccurred(Exception exception) { removeOpenCall(ret, future); // System.out.println("nothing found: "+provider.getId()); // do not terminate serach when one node fails // what to do with exception? resultAvailable(null); // ret.setException(exception); } });
public void resultAvailable(Collection<IService> res) { removeOpenCall(ret, future); // System.out.println("found: "+context+", "+provider.getId()+" "+result); if(res!=null) { // Collection res = (Collection)result; for(Iterator<IService> it=res.iterator(); it.hasNext(); ) { IService o = it.next(); // System.out.println("found: "+provider.getId()+" "+o); ret.addIntermediateResult(o); } } // SEARCH.set(search); processParent(start, source, provider, context, ret, up, 0);//, res); // SEARCH.set(null); }