package org.dcache.pool.migration; import com.google.common.util.concurrent.MoreExecutors; import diskCacheV111.vehicles.PoolManagerGetPoolsByPoolGroupMessage; import org.dcache.cells.CellStub; import static com.google.common.base.Preconditions.checkNotNull; class PoolListByPoolGroup extends PoolListFromPoolManager { private final CellStub _poolManager; private final Iterable<String> _poolGroups; public PoolListByPoolGroup(CellStub poolManager, Iterable<String> poolGroups) { _poolManager = checkNotNull(poolManager); _poolGroups = checkNotNull(poolGroups); } @Override public void refresh() { CellStub.addCallback(_poolManager.send(new PoolManagerGetPoolsByPoolGroupMessage(_poolGroups)), this, MoreExecutors.directExecutor()); } @Override public String toString() { return String.format("pool groups %s, %d pools", _poolGroups, _pools.size()); } }