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.Issues;
import nl.topicus.onderwijs.dashboard.datatypes.Issue;
import nl.topicus.onderwijs.dashboard.keys.Key;
import nl.topicus.onderwijs.dashboard.modules.DataSource;
import nl.topicus.onderwijs.dashboard.modules.DashboardRepository;
import nl.topicus.onderwijs.dashboard.web.WicketApplication;
public class IssueSumImpl implements Issues {
public IssueSumImpl() {
}
@Override
public List<Issue> getValue() {
List<Issue> ret = new ArrayList<Issue>();
DashboardRepository repository = WicketApplication.get().getRepository();
for (Key curKey : repository.getKeys(Key.class)) {
Collection<DataSource<?>> dataSources = repository.getData(curKey);
for (DataSource<?> curDataSource : dataSources) {
if (curDataSource instanceof IssueSumImpl)
continue;
if (curDataSource instanceof Issues) {
List<Issue> newIssues = ((Issues) curDataSource).getValue();
if (newIssues != null)
ret.addAll(newIssues);
}
}
}
return ret;
}
}