mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-02 02:13:55 +00:00
Fixed bug 330
This commit is contained in:
1 parent
332d884246
commit
a13b00744d
1 file changed
+20
-2
+20
-2
@@ -305,9 +305,27 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
NavigableSet<MarkPassing> roundings = markPassingsForCompetitor.get(competitor);
|
||||
MarkPassing lastBeforeOrAt = roundings.floor(new DummyMarkPassingWithTimePointOnly(at));
|
||||
TrackedLegOfCompetitor result = null;
|
||||
TrackedLeg trackedLeg;
|
||||
// already finished the race?
|
||||
if (lastBeforeOrAt != null && getRace().getCourse().getLastWaypoint() != lastBeforeOrAt.getWaypoint()) {
|
||||
TrackedLeg trackedLeg = getTrackedLegStartingAt(lastBeforeOrAt.getWaypoint());
|
||||
if (lastBeforeOrAt != null) {
|
||||
// and not at or after last mark passing
|
||||
if (getRace().getCourse().getLastWaypoint() != lastBeforeOrAt.getWaypoint()) {
|
||||
trackedLeg = getTrackedLegStartingAt(lastBeforeOrAt.getWaypoint());
|
||||
} else {
|
||||
// exactly *at* last mark passing?
|
||||
if (at.equals(roundings.last().getTimePoint())) {
|
||||
// exactly at finish line; return last leg
|
||||
trackedLeg = getTrackedLegFinishingAt(lastBeforeOrAt.getWaypoint());
|
||||
} else {
|
||||
// no, then we're after the last mark passing
|
||||
trackedLeg = null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// before beginning of race
|
||||
trackedLeg = null;
|
||||
}
|
||||
if (trackedLeg != null) {
|
||||
result = trackedLeg.getTrackedLeg(competitor);
|
||||
}
|
||||
return result;
|
||||
|
||||
Reference in new issue
Block a user