mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-22 20:13:52 +00:00
Changes to handle detachment of a RaceLog in RaceLogFixTrackerManager
This commit is contained in:
1 parent
0a1b56765c
commit
fb88035daa
5 files changed
+23
No files matched your search
+6
@@ -42,6 +42,12 @@ public class RaceLogFixTrackerManager implements TrackingDataLoader {
|
||||
|
||||
updateDenotionState();
|
||||
}
|
||||
|
||||
public void raceLogDetached(RaceLog raceLog) {
|
||||
raceLog.removeListener(raceLogEventVisitor);
|
||||
|
||||
updateDenotionState();
|
||||
}
|
||||
|
||||
/**
|
||||
* Stops tracking the races.
|
||||
|
||||
+2
@@ -76,6 +76,8 @@ public interface RaceChangeListener extends CourseListener {
|
||||
void regattaLogAttached(RegattaLog regattaLog);
|
||||
|
||||
void raceLogAttached(RaceLog raceLog);
|
||||
|
||||
void raceLogDetached(RaceLog raceLog);
|
||||
|
||||
void stopTracking(boolean preemptive);
|
||||
}
|
||||
+5
@@ -143,6 +143,11 @@ public abstract class AbstractRaceChangeListener implements RaceChangeListener {
|
||||
defaultAction();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void raceLogDetached(RaceLog raceLog) {
|
||||
defaultAction();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopTracking(boolean preemptive) {
|
||||
defaultAction();
|
||||
|
||||
+5
@@ -3390,6 +3390,7 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
|
||||
@Override
|
||||
public RaceLog detachRaceLog(Serializable identifier) {
|
||||
final RaceLog raceLog = this.attachedRaceLogs.remove(identifier);
|
||||
notifyListenersWhenDetachingRaceLog(raceLog);
|
||||
updateStartOfRaceCacheFields();
|
||||
updateStartAndEndOfTracking(/* waitForGPSFixesToLoad */ false);
|
||||
return raceLog;
|
||||
@@ -4011,6 +4012,10 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
|
||||
private void notifyListenersWhenAttachingRaceLog(RaceLog raceLog) {
|
||||
notifyListeners(listener -> listener.raceLogAttached(raceLog));
|
||||
}
|
||||
|
||||
private void notifyListenersWhenDetachingRaceLog(RaceLog raceLog) {
|
||||
notifyListeners(listener -> listener.raceLogDetached(raceLog));
|
||||
}
|
||||
|
||||
protected void notifyListenersOnStopTracking(boolean preemptive) {
|
||||
notifyListeners(listener -> listener.stopTracking(preemptive));
|
||||
|
||||
+5
@@ -1732,6 +1732,11 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
// no action required
|
||||
}
|
||||
|
||||
@Override
|
||||
public void raceLogDetached(RaceLog raceLog) {
|
||||
// no action required
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopTracking(boolean preemptive) {
|
||||
// no action required
|
||||
|
||||
Reference in new issue
Block a user