solution for bug 2539: clear trackerExists flag explicitly for all RaceColunmDTO/RaceLogTrackingInformation objects pointing to tracked race that got removed

This commit is contained in:
Axel Uhl committed 2014-12-22 22:02:41 +01:00
1 parent 3b99659180
commit d39eb39dc1
2 files changed
+15 -5

No files matched your search

@@ -459,13 +459,23 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
@Override
public void racesRemoved(Iterable<? extends RegattaAndRaceIdentifier> regattaAndRaceIdentifiers) {
for (RegattaAndRaceIdentifier regattaAndRaceIdentifier : regattaAndRaceIdentifiers) {
for (RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnAndFleetName : raceColumnTable.getDataProvider().getList()) {
if (Util.equalsWithNull(raceColumnAndFleetName.getA().getRaceIdentifier(raceColumnAndFleetName.getB()), regattaAndRaceIdentifier)) {
raceColumnAndFleetName.getA().setRaceIdentifier(raceColumnAndFleetName.getB(), null);
for (StrippedLeaderboardDTO leaderboard : leaderboardList.getList()) {
for (RaceColumnDTO raceColumn : leaderboard.getRaceList()) {
for (FleetDTO fleet : raceColumn.getFleets()) {
if (Util.equalsWithNull(raceColumn.getRaceIdentifier(fleet), regattaAndRaceIdentifier)) {
raceColumn.setRaceIdentifier(fleet, null); // remove link from leaderboard to tracked race
raceColumn.getRaceLogTrackingInfo(fleet).raceLogTrackerExists = false;
}
}
}
}
raceColumnTable.getDataProvider().refresh();
}
raceColumnTable.getDataProvider().refresh();
}
protected void onTrackedRaceForRaceInRaceColumnTableRemoved(
RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnAndFleetName) {
raceColumnAndFleetName.getA().setRaceIdentifier(raceColumnAndFleetName.getB(), null);
}
@Override
@@ -52,7 +52,7 @@ public class RaceLogTrackingEventManagementPanel extends AbstractLeaderboardConf
super(sailingService, regattaRefresher, leaderboardsRefresher, errorReporter,
stringMessages, new MultiSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality>());
//add upload panel
// add upload panel
CaptionPanel importPanel = new CaptionPanel(stringMessages.importFixes());
VerticalPanel importContent = new VerticalPanel();
mainPanel.add(importPanel);