package org.dcache.pool.migration;
import com.google.common.util.concurrent.MoreExecutors;
import java.util.Collection;
import diskCacheV111.vehicles.PoolManagerGetPoolsByNameMessage;
import org.dcache.cells.CellStub;
public class PoolListByNames
extends PoolListFromPoolManager
{
private final CellStub _poolManager;
private final Collection<String> _names;
public PoolListByNames(CellStub poolManager, Collection<String> pools)
{
_poolManager = poolManager;
_names = pools;
}
@Override
public void refresh()
{
CellStub.addCallback(_poolManager.send(new PoolManagerGetPoolsByNameMessage(_names)),
this, MoreExecutors.directExecutor());
}
@Override
public String toString()
{
if (_pools.isEmpty()) {
return "";
}
StringBuilder s = new StringBuilder();
s.append(_pools.get(0).getName());
for (int i = 1; i < _pools.size(); i++) {
s.append(',').append(_pools.get(i).getName());
}
return s.toString();
}
}