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.Commits;
import nl.topicus.onderwijs.dashboard.datatypes.Commit;
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 CommitSumImpl implements Commits {
public CommitSumImpl() {
}
@Override
public List<Commit> getValue() {
List<Commit> ret = new ArrayList<Commit>();
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 CommitSumImpl)
continue;
if (curDataSource instanceof Commits) {
List<Commit> newCommits = ((Commits) curDataSource)
.getValue();
if (newCommits != null)
ret.addAll(newCommits);
}
}
}
return ret;
}
}