package nl.topicus.onderwijs.dashboard.modules.standard;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import nl.topicus.onderwijs.dashboard.datasources.ProjectAlerts;
import nl.topicus.onderwijs.dashboard.datatypes.Alert;
import nl.topicus.onderwijs.dashboard.keys.Project;
import nl.topicus.onderwijs.dashboard.modules.DataSource;
import nl.topicus.onderwijs.dashboard.modules.DashboardRepository;
import nl.topicus.onderwijs.dashboard.web.WicketApplication;
public class AlertSumImpl implements ProjectAlerts {
public AlertSumImpl() {
}
@Override
public List<Alert> getValue() {
List<Alert> ret = new ArrayList<Alert>();
DashboardRepository repository = WicketApplication.get().getRepository();
for (Project curProject : repository.getProjects()) {
Collection<DataSource<?>> dataSources = repository
.getData(curProject);
for (DataSource<?> curDataSource : dataSources) {
if (curDataSource instanceof AlertSumImpl)
continue;
if (curDataSource instanceof ProjectAlerts) {
List<Alert> newAlerts = ((ProjectAlerts) curDataSource)
.getValue();
if (newAlerts != null)
ret.addAll(newAlerts);
}
}
}
return ret;
}
}