package org.hivedb;
import org.hivedb.meta.Assigner;
import org.hivedb.meta.Node;
import java.util.*;
public class RandomAssigner implements Assigner {
private Random random = new Random(new Date().getTime());
public Node chooseNode(Collection<Node> nodes, Object value) {
if (nodes.size() == 0)
throw new HiveRuntimeException("The Hive has no Nodes; the Assigner cannot make a choice.");
else
return new ArrayList<Node>(nodes).get(random.nextInt(nodes.size()));
}
public Collection<Node> chooseNodes(Collection<Node> nodes, Object value) {
return Arrays.asList(new Node[]{chooseNode(nodes, value)});
}
}