mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-08 13:20:57 +00:00
fixing bug 1506 by adding a null check; loading leaderboards with no leaderboard selected was the problem
This commit is contained in:
1 parent
1561f2c59a
commit
f355770c1b
2 files changed
+30
-26
No files matched your search
+29
-25
@@ -816,32 +816,36 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
|
||||
|
||||
private void selectTrackedRaceInRaceList() {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
final RaceColumnDTOAndFleetDTOWithNameBasedEquality selectedRaceColumnAndFleetNameInLeaderboard = getSelectedRaceColumnWithFleet();
|
||||
final String selectedRaceColumnName = selectedRaceColumnAndFleetNameInLeaderboard.getA().getRaceColumnName();
|
||||
final String selectedFleetName = selectedRaceColumnAndFleetNameInLeaderboard.getB().getName();
|
||||
sailingService.getRegattaAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(selectedLeaderboardName,
|
||||
selectedRaceColumnName, new AsyncCallback<Map<String, RegattaAndRaceIdentifier>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
errorReporter.reportError("Error trying to determine tracked race linked to race column "
|
||||
+ selectedRaceColumnName + " in leaderboard " + selectedLeaderboardName + ": "
|
||||
+ t.getMessage());
|
||||
}
|
||||
if (selectedLeaderboardName != null) {
|
||||
final RaceColumnDTOAndFleetDTOWithNameBasedEquality selectedRaceColumnAndFleetNameInLeaderboard = getSelectedRaceColumnWithFleet();
|
||||
final String selectedRaceColumnName = selectedRaceColumnAndFleetNameInLeaderboard.getA()
|
||||
.getRaceColumnName();
|
||||
final String selectedFleetName = selectedRaceColumnAndFleetNameInLeaderboard.getB().getName();
|
||||
sailingService.getRegattaAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(selectedLeaderboardName,
|
||||
selectedRaceColumnName, new AsyncCallback<Map<String, RegattaAndRaceIdentifier>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
errorReporter.reportError("Error trying to determine tracked race linked to race column "
|
||||
+ selectedRaceColumnName + " in leaderboard " + selectedLeaderboardName + ": "
|
||||
+ t.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Map<String, RegattaAndRaceIdentifier> regattaAndRaceNamesPerFleet) {
|
||||
if (regattaAndRaceNamesPerFleet != null && !regattaAndRaceNamesPerFleet.isEmpty()) {
|
||||
RegattaAndRaceIdentifier raceIdentifier = regattaAndRaceNamesPerFleet.get(selectedFleetName);
|
||||
if (raceIdentifier != null) {
|
||||
selectRaceInList(raceIdentifier.getRegattaName(), raceIdentifier.getRaceName());
|
||||
} else {
|
||||
trackedRacesListComposite.clearSelection();
|
||||
}
|
||||
} else {
|
||||
trackedRacesListComposite.clearSelection();
|
||||
}
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public void onSuccess(Map<String, RegattaAndRaceIdentifier> regattaAndRaceNamesPerFleet) {
|
||||
if (regattaAndRaceNamesPerFleet != null && !regattaAndRaceNamesPerFleet.isEmpty()) {
|
||||
RegattaAndRaceIdentifier raceIdentifier = regattaAndRaceNamesPerFleet
|
||||
.get(selectedFleetName);
|
||||
if (raceIdentifier != null) {
|
||||
selectRaceInList(raceIdentifier.getRegattaName(), raceIdentifier.getRaceName());
|
||||
} else {
|
||||
trackedRacesListComposite.clearSelection();
|
||||
}
|
||||
} else {
|
||||
trackedRacesListComposite.clearSelection();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void selectRaceInList(String regattaName, String raceName) {
|
||||
|
||||
+1
-1
@@ -582,7 +582,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen
|
||||
@Override
|
||||
public void removeLeaderboard(String leaderboardName) {
|
||||
Leaderboard leaderboard = removeLeaderboardFromLeaderboardsByName(leaderboardName);
|
||||
if(leaderboard != null) {
|
||||
if (leaderboard != null) {
|
||||
leaderboard.removeRaceColumnListener(raceLogReplicator);
|
||||
leaderboard.removeRaceColumnListener(raceLogScoringReplicator);
|
||||
mongoObjectFactory.removeLeaderboard(leaderboardName);
|
||||
|
||||
Reference in new issue
Block a user