mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-13 22:15:26 +00:00
consider only race log events valid at request time point
Change-Id: Ica33a29f0a3b653b8f0b803c1e7b37dd5f2b0acd
This commit is contained in:
1 parent
6aac0335df
commit
f3fbc463fa
2 files changed
+6
-4
No files matched your search
+6
-3
@@ -62,9 +62,12 @@ public class RaceStatusAnalyzer extends RaceLogAnalyzer<Pair<RaceLogRaceStatus,
|
||||
final EventDispatcher eventDispatcher = new EventDispatcher(now, racingProcedure);
|
||||
RaceLogRaceStatus result = RaceLogRaceStatus.UNSCHEDULED;
|
||||
for (RaceLogRaceStatusEvent event : statusEvents.descendingSet()) {
|
||||
event.accept(eventDispatcher);
|
||||
result = eventDispatcher.nextStatus;
|
||||
break;
|
||||
// consider race log status events that are valid already at the time point we use as "now"
|
||||
if (!event.getLogicalTimePoint().after(now)) {
|
||||
event.accept(eventDispatcher);
|
||||
result = eventDispatcher.nextStatus;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return new Pair<>(result, now);
|
||||
}
|
||||
|
||||
-1
@@ -343,7 +343,6 @@ public class ReadonlyRaceStateImpl implements ReadonlyRaceState, RaceLogChangedL
|
||||
|
||||
@Override
|
||||
public RaceLogRaceStatus getStatus() {
|
||||
// TODO bug4713: check clock and invalidate/recalculate if clock passed status invalidation time point
|
||||
final TimePoint timePointForAnalysis = statusAnalyzerClock.now();
|
||||
final TimeRange timeRangeSinceLastStatusUpdate = new TimeRangeImpl(clockTimePointWhenCachedRaceStatusWasSet, timePointForAnalysis);
|
||||
if (overlapsTimePointForPotentialStatusChange(timeRangeSinceLastStatusUpdate)) {
|
||||
|
||||
Reference in new issue
Block a user