mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-06 19:12:23 +00:00
secured against disappearing legs and the resulting NPEs (bug 794)
This commit is contained in:
1 parent
fe128232d1
commit
3cd358b24a
2 files changed
+5
-1
No files matched your search
+2
-1
@@ -588,7 +588,8 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
|
||||
@Override
|
||||
public TrackedLegOfCompetitor getTrackedLeg(Competitor competitor, Leg leg) {
|
||||
return getTrackedLeg(leg).getTrackedLeg(competitor);
|
||||
final TrackedLeg trackedLeg = getTrackedLeg(leg);
|
||||
return trackedLeg == null ? null : trackedLeg.getTrackedLeg(competitor);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
@@ -414,6 +414,9 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
if (addLegDetails && trackedRace != null) {
|
||||
entryDTO.legDetails = new ArrayList<LegEntryDTO>();
|
||||
for (Leg leg : trackedRace.getRace().getCourse().getLegs()) {
|
||||
// We loop over a copy of the course's legs; during a course change, legs may become "stale," even with
|
||||
// regard to the leg/trackedLeg structures inside the tracked race which is updated by the course change
|
||||
// immediately. Make sure we're tolerant against disappearing legs! See bug 794.
|
||||
TrackedLegOfCompetitor trackedLeg = trackedRace.getTrackedLeg(competitor, leg);
|
||||
LegEntryDTO legEntry;
|
||||
if (trackedLeg != null && trackedLeg.hasStartedLeg(timePoint)) {
|
||||
|
||||
Reference in new issue
Block a user