mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-08 21:30:57 +00:00
# series ordering is preserved when serializing RaceGroups
# app sorts Series and Fleets correctly
This commit is contained in:
1 parent
70ee4cf6bf
commit
e40ef16282
3 files changed
+69
-17
No files matched your search
+9
-1
@@ -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()) {
|
||||
|
||||
Reference in new issue
Block a user