java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java
... ...
@@ -2726,9 +2726,12 @@ Replicator {
2726 2726
final RegattaAndRaceIdentifier trackedRaceIdentifier = trackedRace.getRaceIdentifier();
2727 2727
final List<Triple<Leaderboard, RaceColumn, Fleet>> trackedRaceLink = getColumnsWithRaceLogForTrackedRace(trackedRaceIdentifier);
2728 2728
for (final Triple<Leaderboard, RaceColumn, Fleet> leaderboardRaceColumnAndFleet : trackedRaceLink) {
2729
- leaderboardRaceColumnAndFleet.getB().setTrackedRace(leaderboardRaceColumnAndFleet.getC(), trackedRace);
2730
- replicate(new ConnectTrackedRaceToLeaderboardColumn(leaderboardRaceColumnAndFleet.getA().getName(), leaderboardRaceColumnAndFleet.getB().getName(),
2731
- leaderboardRaceColumnAndFleet.getC().getName(), trackedRaceIdentifier));
2729
+ if (leaderboardRaceColumnAndFleet.getB().getTrackedRace(leaderboardRaceColumnAndFleet.getC()) == null) {
2730
+ // attach the tracked race only if not yet attached
2731
+ leaderboardRaceColumnAndFleet.getB().setTrackedRace(leaderboardRaceColumnAndFleet.getC(), trackedRace);
2732
+ replicate(new ConnectTrackedRaceToLeaderboardColumn(leaderboardRaceColumnAndFleet.getA().getName(), leaderboardRaceColumnAndFleet.getB().getName(),
2733
+ leaderboardRaceColumnAndFleet.getC().getName(), trackedRaceIdentifier));
2734
+ }
2732 2735
}
2733 2736
return trackedRaceLink;
2734 2737
}
... ...
@@ -2740,8 +2743,7 @@ Replicator {
2740 2743
for (Leaderboard leaderboard : getLeaderboards().values()) {
2741 2744
for (RaceColumn column : leaderboard.getRaceColumns()) {
2742 2745
for (Fleet fleet : column.getFleets()) {
2743
- if (trackedRaceIdentifier.equals(column.getRaceIdentifier(fleet))
2744
- && column.getTrackedRace(fleet) == null) {
2746
+ if (trackedRaceIdentifier.equals(column.getRaceIdentifier(fleet))) {
2745 2747
trackedRaceLink.add(new Triple<>(leaderboard, column, fleet));
2746 2748
}
2747 2749
}