mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-03 17:49:40 +00:00
fixed in-place modification of competitorOrderingPerRace and replaced it by copying the original map before modifying it
This commit is contained in:
1 parent
d4dee9d3f6
commit
d9dd3a941f
2 files changed
+12
-4
No files matched your search
+5
-1
@@ -1,5 +1,6 @@
|
||||
package com.sap.sailing.domain.common.dto;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -94,14 +95,17 @@ public class IncrementalLeaderboardDTO extends LeaderboardDTO implements Cloneab
|
||||
competitorDisplayNamesUnchanged = true;
|
||||
competitorDisplayNames = null;
|
||||
}
|
||||
raceColumnNamesForWhichCompetitorOrderingPerRaceUnchanged = new HashSet<String>();
|
||||
final HashMap<RaceColumnDTO, List<CompetitorDTO>> competitorOrderingPerRace = new HashMap<RaceColumnDTO, List<CompetitorDTO>>(getCompetitorOrderingPerRace());
|
||||
for (RaceColumnDTO raceColumn : this.getRaceList()) {
|
||||
List<CompetitorDTO> competitorsFromBestToWorstForRaceColumn = getCompetitorsFromBestToWorst(raceColumn);
|
||||
List<CompetitorDTO> previousCompetitorsFrombestToWorstForRaceColumn = previousVersion.getCompetitorsFromBestToWorst(raceColumn);
|
||||
if (Util.equalsWithNull(competitorsFromBestToWorstForRaceColumn, previousCompetitorsFrombestToWorstForRaceColumn)) {
|
||||
raceColumnNamesForWhichCompetitorOrderingPerRaceUnchanged.add(raceColumn.name);
|
||||
removeCompetitorsFromBestToWorst(raceColumn);
|
||||
competitorOrderingPerRace.remove(raceColumn);
|
||||
}
|
||||
}
|
||||
setCompetitorOrderingPerRace(competitorOrderingPerRace);
|
||||
// TODO remove those field values from this which are equal to previousVersion, set ...Unchanged flags accordingly
|
||||
return this;
|
||||
}
|
||||
|
||||
+7
-3
@@ -98,11 +98,15 @@ public class LeaderboardDTO extends AbstractLeaderboardDTO implements Serializab
|
||||
public void setCompetitorsFromBestToWorst(RaceColumnDTO raceColumn, List<CompetitorDTO> orderedCompetitors) {
|
||||
competitorOrderingPerRace.put(raceColumn, orderedCompetitors);
|
||||
}
|
||||
|
||||
protected List<CompetitorDTO> removeCompetitorsFromBestToWorst(RaceColumnDTO raceColumn) {
|
||||
return competitorOrderingPerRace.remove(raceColumn);
|
||||
|
||||
protected void setCompetitorOrderingPerRace(Map<RaceColumnDTO, List<CompetitorDTO>> competitorOrderingPerRace) {
|
||||
this.competitorOrderingPerRace = competitorOrderingPerRace;
|
||||
}
|
||||
|
||||
protected Map<RaceColumnDTO, List<CompetitorDTO>> getCompetitorOrderingPerRace() {
|
||||
return competitorOrderingPerRace;
|
||||
}
|
||||
|
||||
public List<CompetitorDTO> getCompetitorsFromBestToWorst(RaceColumnDTO raceColumn) {
|
||||
return competitorOrderingPerRace.get(raceColumn);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user