/** * Remove all service queries of a specific component from the registry. * @param owner The query owner. */ public void removeQueries(IComponentIdentifier owner) { if(queries!=null) { for(Map.Entry<ClassInfo, Set<ServiceQueryInfo<?>>> entry: new HashSet<Map.Entry<ClassInfo, Set<ServiceQueryInfo<?>>>>(queries.entrySet())) { for(ServiceQueryInfo<?> query: entry.getValue().toArray(new ServiceQueryInfo<?>[entry.getValue().size()])) { if(owner.equals(query.getQuery().getOwner())) { removeQuery(query.getQuery()); // entry.getValue().remove(query); } } } } }
if(owner.equals(query.getQuery().getOwner()))
public void run() { // Class<T> mytype = query.getType()==null? null: (Class<T>)query.getType().getType0(); // searchRemoteServices(query.getOwner(), mytype, query.getFilter()).addIntermediateResultListener(lis); searchRemoteServices(query.getOwner(), query.getType(), query.getFilter()).addIntermediateResultListener(lis); if(!ret.isDone()) waitForDelay(delay, this); else System.out.println("stopping global query polling: "+query); } });
Collection<T> ssers = searchfunc.checkScope(sers, query.getOwner(), query.getScope(), false);
IComponentIdentifier cid = queryinfo.getQuery().getOwner(); String scope = queryinfo.getQuery().getScope(); IAsyncFilter<IService> filter = (IAsyncFilter)queryinfo.getQuery().getFilter();