All race log events that implement InvalidatesLeaderboardCache will do what they got promised

This commit is contained in:
Simon Pamies committed 2014-07-21 12:49:16 +02:00
1 parent 735f2c8e76
commit ffd6506d90
1 file changed
+9 -1
@@ -68,6 +68,7 @@ import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule;
import com.sap.sailing.domain.leaderboard.caching.LeaderboardDTOCache;
import com.sap.sailing.domain.leaderboard.caching.LeaderboardDTOCalculationReuseCache;
import com.sap.sailing.domain.leaderboard.caching.LiveLeaderboardUpdater;
import com.sap.sailing.domain.racelog.InvalidatesLeaderboardCache;
import com.sap.sailing.domain.racelog.RaceLogEvent;
import com.sap.sailing.domain.racelog.RaceLogIdentifier;
import com.sap.sailing.domain.tracking.GPSFix;
@@ -83,8 +84,8 @@ import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.TrackedRaceStatus;
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
import com.sap.sailing.domain.tracking.Wind;
import com.sap.sailing.domain.tracking.WindPositionMode;
import com.sap.sailing.domain.tracking.WindLegTypeAndLegBearingCache;
import com.sap.sailing.domain.tracking.WindPositionMode;
import com.sap.sailing.util.impl.LockUtil;
import com.sap.sailing.util.impl.NamedReentrantReadWriteLock;
import com.sap.sailing.util.impl.RaceColumnListeners;
@@ -1215,6 +1216,13 @@ public abstract class AbstractSimpleLeaderboardImpl implements Leaderboard, Race
@Override
public void raceLogEventAdded(RaceColumn raceColumn, RaceLogIdentifier raceLogIdentifier, RaceLogEvent event) {
getRaceColumnListeners().notifyListenersAboutRaceLogEventAdded(raceColumn, raceLogIdentifier, event);
if (event instanceof InvalidatesLeaderboardCache) {
// make sure to invalidate the cache as this event indicates that
// it changes values the cache could still hold
if (leaderboardDTOCache != null) {
leaderboardDTOCache.invalidate(this);
}
}
}
@Override