diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardGroupConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardGroupConfigPanel.java index e61dd6e38b7..63f24ca2419 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardGroupConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardGroupConfigPanel.java @@ -556,6 +556,12 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements }); } + /** + * If no leaderboard group is selected or more than one is selected, this method is a no-op because the + * leaderboard list displayed is defined to the be list of all leaderboards available, excluding those + * leaderboards that are already assigned to the selected leaderboard group. In other words, + * the leaderboard list is only well-defined in case a single leaderboard group is selected. + */ private void refreshLeaderboardsList() { final LeaderboardGroupDTO selectedGroup = getSelectedGroup(); final Set selectedLeaderboards = leaderboardsSelectionModel.getSelectedSet(); @@ -699,7 +705,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements } private void removeLeaderboardGroup(final LeaderboardGroupDTO group) { - sailingService.removeLeaderboardGroup(group.getName(), new AsyncCallback() { + sailingService.removeLeaderboardGroups(Collections.singleton(group.getName()), new AsyncCallback() { @Override public void onFailure(Throwable t) { errorReporter.reportError("Error trying to remove leaderboard group " + group.getName() + ": " diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index d6b1f8ce6fa..062e76d9c7d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -215,8 +215,6 @@ public interface SailingService extends RemoteService { void renameLeaderboardGroup(String oldName, String newName); - void removeLeaderboardGroup(String groupName); - void removeLeaderboardGroups(Set groupNames); LeaderboardGroupDTO createLeaderboardGroup(String groupName, String description, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 6b92267231d..cab596baed7 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -265,11 +265,6 @@ public interface SailingServiceAsync { */ void renameLeaderboardGroup(String oldName, String newName, AsyncCallback callback); - /** - * Removes the leaderboard group with the name groupName from the service and the persistant store. - */ - void removeLeaderboardGroup(String groupName, AsyncCallback callback); - /** * Removes the leaderboard groups with the given names from the service and the persistant store. */ diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 5f6e302230e..7219a08a0c4 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -2462,8 +2462,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S } } - @Override - public void removeLeaderboardGroup(String groupName) { + private void removeLeaderboardGroup(String groupName) { getService().apply(new RemoveLeaderboardGroup(groupName)); }