# series ordering is preserved when serializing RaceGroups

# app sorts Series and Fleets correctly
This commit is contained in:
Lukas Niemeier committed 2013-06-11 21:41:43 +02:00
1 parent 70ee4cf6bf
commit e40ef16282
3 files changed
+69 -17

No files matched your search

@@ -56,13 +56,21 @@ public class RaceGroupFactory {
Map<Series, List<RaceColumn>> seriesToRaceColumns = getSeriesToRaceColumns(leaderboard);
Collection<SeriesWithRows> seriesWithRows = new ArrayList<>();
for (Series series : seriesToRaceColumns.keySet()) {
for (Series series : getSeriesIterable(leaderboard, seriesToRaceColumns)) {
seriesWithRows.add(new SeriesWithRowsImpl(series.getName(), series.isMedal(), getRows(series,
seriesToRaceColumns.get(series))));
}
return seriesWithRows;
}
private Iterable<? extends Series> getSeriesIterable(Leaderboard leaderboard, Map<Series, List<RaceColumn>> seriesToRaceColumns) {
// for RegattaLeaderboards we want to preserve the order of series
if (leaderboard instanceof RegattaLeaderboard) {
return ((RegattaLeaderboard) leaderboard).getRegatta().getSeries();
}
return seriesToRaceColumns.keySet();
}
private Collection<RaceRow> getRows(Series series, List<RaceColumn> raceColumns) {
Collection<RaceRow> rows = new ArrayList<>();
for (Fleet fleet : series.getFleets()) {