package eu.choreos.monitoring.platform.daemon;
import java.util.ArrayList;
import java.util.List;
import eu.choreos.monitoring.platform.daemon.datatypes.Host;
import eu.choreos.monitoring.platform.exception.GangliaException;
import eu.choreos.monitoring.platform.utils.GmondDataReader;
public class HostManager {
private GmondDataReader dataReader;
private List<Host> hostsDown;
private List<Host> hosts;
public HostManager(GmondDataReader dataReader) throws GangliaException {
this.dataReader = dataReader;
this.hosts = new ArrayList<Host>();
this.hostsDown = new ArrayList<Host>();
getDataReaderHostInfo();
}
public void getDataReaderHostInfo() throws GangliaException {
hosts.clear(); hostsDown.clear();
hosts = dataReader.getUpToDateHostsInfo();
for(Host host: hosts) {
if (host.isDown()) {
hostsDown.add(host);
}
}
}
public List<Host> getHostsDown() throws GangliaException {
return hostsDown;
}
public List<Host> getHosts() throws GangliaException {
return hosts;
}
public boolean thereAreHostsDown() throws GangliaException {
return !hostsDown.isEmpty();
}
}