mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-14 06:18:12 +00:00
bug5053: obtain boat from CompetitorWithBoat or race log if possible
Change-Id: Ib2992ac2aaa417556970c0c9378039111963d7d2
This commit is contained in:
1 parent
e4fe92476a
commit
6bdb973ff9
1 file changed
+20
-2
+20
-2
@@ -27,8 +27,10 @@ import java.util.logging.Logger;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.race.InvalidatesLeaderboardCache;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.CompetitorWithBoat;
|
||||
import com.sap.sailing.domain.base.Course;
|
||||
import com.sap.sailing.domain.base.DomainFactory;
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
@@ -585,8 +587,24 @@ public abstract class AbstractLeaderboardWithCache implements Leaderboard {
|
||||
LeaderboardEntryDTO entryDTO = new LeaderboardEntryDTO();
|
||||
TrackedRace trackedRace = raceColumn.getTrackedRace(competitor);
|
||||
entryDTO.race = trackedRace == null ? null : trackedRace.getRaceIdentifier();
|
||||
// TODO bug2822: Should this rather come from raceColumn.getBoatOfCompetitor() ?
|
||||
entryDTO.boat = trackedRace == null ? null : baseDomainFactory.convertToBoatDTO(trackedRace.getBoatOfCompetitor(competitor));
|
||||
Boat boat;
|
||||
if (trackedRace != null) {
|
||||
boat = trackedRace.getBoatOfCompetitor(competitor);
|
||||
} else {
|
||||
// check if it's a CompetitorWithBoat:
|
||||
if (competitor.hasBoat()) {
|
||||
boat = ((CompetitorWithBoat) competitor).getBoat();
|
||||
} else {
|
||||
final Fleet fleetOfCompetitor = raceColumn.getFleetOfCompetitor(competitor);
|
||||
if (fleetOfCompetitor != null) {
|
||||
final Map<Competitor, Boat> competitorsAndTheirBoats = raceColumn.getCompetitorsRegisteredInRacelog(fleetOfCompetitor);
|
||||
boat = competitorsAndTheirBoats.get(competitor);
|
||||
} else {
|
||||
boat = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
entryDTO.boat = boat == null ? null : baseDomainFactory.convertToBoatDTO(boat);
|
||||
entryDTO.totalPoints = entry.getTotalPoints();
|
||||
if (fillTotalPointsUncorrected) {
|
||||
entryDTO.totalPointsUncorrected = entry.getTotalPointsUncorrected();
|
||||
|
||||
Reference in new issue
Block a user