Merge remote-tracking branch 'server/multiDeletion'

This commit is contained in:
Axel Uhl committed 2013-07-08 11:28:32 +02:00
commit 159e99de2e
8 files changed
+205 -55

No files matched your search

@@ -128,7 +128,7 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt
@Override
public void onSelection(SelectionEvent<Integer> event) {
if (leaderboardConfigPanel.isVisible()) {
leaderboardConfigPanel.loadAndRefreshLeaderboards();
leaderboardConfigPanel.loadLeaderboards();
}
if (mediaPanel.isVisible()) {
mediaPanel.onShow();
@@ -2,6 +2,7 @@ package com.sap.sailing.gwt.ui.adminconsole;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
@@ -41,6 +42,7 @@ import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.MultiSelectionModel;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SingleSelectionModel;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
@@ -91,9 +93,9 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
private final CellTable<StrippedLeaderboardDTO> leaderboardTable;
private final CellTable<RaceColumnDTOAndFleetDTOWithNameBasedEquality> raceColumnTable;
private Button leaderboardRemoveButton;
private StrippedLeaderboardDTO selectedLeaderboard;
private final CellTable<RaceColumnDTOAndFleetDTOWithNameBasedEquality> raceColumnTable;
private RaceColumnDTOAndFleetDTOWithNameBasedEquality selectedRaceInLeaderboard;
@@ -112,7 +114,7 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
private List<StrippedLeaderboardDTO> availableLeaderboardList;
private final SingleSelectionModel<StrippedLeaderboardDTO> leaderboardSelectionModel;
private final MultiSelectionModel<StrippedLeaderboardDTO> leaderboardSelectionModel;
private final RaceSelectionProvider raceSelectionProvider;
@@ -192,11 +194,11 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
VerticalPanel leaderboardsPanel = new VerticalPanel();
leaderboardsCaptionPanel.add(leaderboardsPanel);
HorizontalPanel leaderboardConfigControlsPanel = new HorizontalPanel();
Label lblFilterEvents = new Label(stringMessages.filterLeaderboardsByName() + ": ");
HorizontalPanel filterPanel = new HorizontalPanel();
filterPanel.setSpacing(5);
filterPanel.add(lblFilterEvents);
filterPanel.setCellVerticalAlignment(lblFilterEvents, HasVerticalAlignment.ALIGN_MIDDLE);
leaderboardConfigControlsPanel.setSpacing(5);
leaderboardConfigControlsPanel.add(lblFilterEvents);
leaderboardConfigControlsPanel.setCellVerticalAlignment(lblFilterEvents, HasVerticalAlignment.ALIGN_MIDDLE);
filterLeaderboardTextbox = new TextBox();
filterLeaderboardTextbox.addKeyUpHandler(new KeyUpHandler() {
@Override
@@ -204,8 +206,20 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
fillRaceListFromAvailableLeaderboardsApplyingFilter();
}
});
filterPanel.add(filterLeaderboardTextbox);
leaderboardsPanel.add(filterPanel);
leaderboardConfigControlsPanel.add(filterLeaderboardTextbox);
leaderboardRemoveButton = new Button(stringMessages.remove());
leaderboardRemoveButton.setEnabled(false);
leaderboardRemoveButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (Window.confirm("Do you really want to remove the leaderboards?")) {
removeLeaderboards(leaderboardSelectionModel.getSelectedSet());
}
}
});
leaderboardConfigControlsPanel.add(leaderboardRemoveButton);
leaderboardsPanel.add(leaderboardConfigControlsPanel);
AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
leaderboardTable = new CellTable<StrippedLeaderboardDTO>(/* pageSize */10000, tableRes);
@@ -351,11 +365,10 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
leaderboardTable.addColumn(leaderboardActionColumn, stringMessages.actions());
leaderboardTable.addColumnSortHandler(leaderboardColumnListHandler);
leaderboardTable.setWidth("100%");
leaderboardSelectionModel = new SingleSelectionModel<StrippedLeaderboardDTO>();
leaderboardSelectionModel = new MultiSelectionModel<StrippedLeaderboardDTO>();
leaderboardTable.setSelectionModel(leaderboardSelectionModel);
leaderboardSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
public void onSelectionChange(SelectionChangeEvent event) {
setSelectedLeaderboard(leaderboardSelectionModel.getSelectedObject());
leaderboardSelectionChanged();
}
});
@@ -562,7 +575,7 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
}
});
loadAndRefreshLeaderboards();
loadLeaderboards();
}
protected void openUpdateFlexibleLeaderboardDialog(final StrippedLeaderboardDTO leaderboardDTO, final List<StrippedLeaderboardDTO> otherExistingLeaderboard,
@@ -610,7 +623,7 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
LeaderboardEntryPoint.getUrlConfigurationDialog(leaderboard, stringMessages).show();
}
public void loadAndRefreshLeaderboards() {
public void loadLeaderboards() {
sailingService.getLeaderboards(new AsyncCallback<List<StrippedLeaderboardDTO>>() {
@Override
public void onSuccess(List<StrippedLeaderboardDTO> leaderboards) {
@@ -637,16 +650,23 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
* after the refresh has successfully completed. See {@link #selectRaceColumn(String)}.
*/
public void loadAndRefreshLeaderboard(final String leaderboardName, final String nameOfRaceColumnToSelect) {
leaderboardSelectionModel.setSelected(null, true);
sailingService.getLeaderboard(leaderboardName, new AsyncCallback<StrippedLeaderboardDTO>() {
@Override
public void onSuccess(StrippedLeaderboardDTO leaderboard) {
for (StrippedLeaderboardDTO leaderboardDTO : leaderboardSelectionModel.getSelectedSet()) {
if (leaderboardDTO.name.equals(leaderboardName)) {
leaderboardSelectionModel.setSelected(leaderboardDTO, false);
break;
}
}
replaceLeaderboardInList(leaderboardList.getList(), leaderboardName, leaderboard);
replaceLeaderboardInList(availableLeaderboardList, leaderboardName, leaderboard);
leaderboardSelectionModel.setSelected(leaderboard, true);
if (nameOfRaceColumnToSelect != null) {
selectRaceColumn(nameOfRaceColumnToSelect);
}
leaderboardSelectionChanged();
}
@Override
@@ -972,25 +992,26 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
raceSelectionProvider.addRaceSelectionChangeListener(LeaderboardConfigPanel.this);
}
});
if (getSelectedLeaderboard() != null) {
leaderboardRemoveButton.setEnabled(!leaderboardSelectionModel.getSelectedSet().isEmpty());
StrippedLeaderboardDTO selectedLeaderboard = getSelectedLeaderboard();
if (leaderboardSelectionModel.getSelectedSet().size() == 1 && selectedLeaderboard != null) {
raceColumnAndFleetList.getList().clear();
for (RaceColumnDTO raceColumn : getSelectedLeaderboard().getRaceList()) {
for (RaceColumnDTO raceColumn : selectedLeaderboard.getRaceList()) {
for (FleetDTO fleet : raceColumn.getFleets()) {
raceColumnAndFleetList.getList().add(new RaceColumnDTOAndFleetDTOWithNameBasedEquality(raceColumn, fleet));
}
}
selectedLeaderBoardPanel.setVisible(true);
selectedLeaderBoardPanel.setCaptionText("Details of leaderboard '" + getSelectedLeaderboard().name + "'");
if (!getSelectedLeaderboard().isMetaLeaderboard) {
selectedLeaderBoardPanel.setCaptionText("Details of leaderboard '" + selectedLeaderboard.name + "'");
if (!selectedLeaderboard.isMetaLeaderboard) {
trackedRacesCaptionPanel.setVisible(true);
}
addRaceColumnsButton.setVisible(!getSelectedLeaderboard().isRegattaLeaderboard);
columnMoveUpButton.setVisible(!getSelectedLeaderboard().isRegattaLeaderboard);
columnMoveDownButton.setVisible(!getSelectedLeaderboard().isRegattaLeaderboard);
addRaceColumnsButton.setVisible(!selectedLeaderboard.isRegattaLeaderboard);
columnMoveUpButton.setVisible(!selectedLeaderboard.isRegattaLeaderboard);
columnMoveDownButton.setVisible(!selectedLeaderboard.isRegattaLeaderboard);
} else {
selectedLeaderBoardPanel.setVisible(false);
trackedRacesCaptionPanel.setVisible(false);
setSelectedLeaderboard(null);
selectedRaceInLeaderboard = null;
}
}
@@ -1092,8 +1113,8 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
private void addLeaderboard(StrippedLeaderboardDTO result) {
leaderboardList.getList().add(result);
availableLeaderboardList.add(result);
setSelectedLeaderboard(result);
leaderboardSelectionChanged();
leaderboardSelectionModel.clear();
leaderboardSelectionModel.setSelected(result, true);
}
private void updateLeaderboard(final String oldLeaderboardName, final LeaderboardDescriptor leaderboardToUpdate) {
@@ -1120,6 +1141,30 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
}
});
}
private void removeLeaderboards(final Collection<StrippedLeaderboardDTO> leaderboards) {
if (!leaderboards.isEmpty()) {
Set<String> leaderboardNames = new HashSet<String>();
for (StrippedLeaderboardDTO leaderboard : leaderboards) {
leaderboardNames.add(leaderboard.name);
}
sailingService.removeLeaderboards(leaderboardNames, new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
errorReporter.reportError("Error trying to remove the leaderboards:" + caught.getMessage());
}
@Override
public void onSuccess(Void result) {
for (StrippedLeaderboardDTO leaderboard : leaderboards) {
removeLeaderboardFromTable(leaderboard);
}
}
});
}
}
private void removeLeaderboard(final StrippedLeaderboardDTO leaderBoard) {
sailingService.removeLeaderboard(leaderBoard.name, new AsyncCallback<Void>() {
@@ -1131,18 +1176,17 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
@Override
public void onSuccess(Void result) {
// check if the removed leaderboard was the selected one
leaderboardList.getList().remove(leaderBoard);
availableLeaderboardList.remove(leaderBoard);
if (getSelectedLeaderboard() != null && getSelectedLeaderboard().name.equals(leaderBoard.name)) {
setSelectedLeaderboard(null);
leaderboardSelectionChanged();
}
removeLeaderboardFromTable(leaderBoard);
}
});
}
private void removeLeaderboardFromTable(final StrippedLeaderboardDTO leaderBoard) {
leaderboardList.getList().remove(leaderBoard);
availableLeaderboardList.remove(leaderBoard);
leaderboardSelectionModel.setSelected(leaderBoard, false);
}
@Override
public void onRaceSelectionChange(List<RegattaAndRaceIdentifier> selectedRaces) {
// if no leaderboard column is selected, ignore the race selection change
@@ -1208,10 +1252,6 @@ public class LeaderboardConfigPanel extends FormPanel implements SelectedLeaderb
@Override
public StrippedLeaderboardDTO getSelectedLeaderboard() {
return selectedLeaderboard;
}
private void setSelectedLeaderboard(StrippedLeaderboardDTO selectedLeaderboard) {
this.selectedLeaderboard = selectedLeaderboard;
return leaderboardSelectionModel.getSelectedSet().isEmpty() ? null : leaderboardSelectionModel.getSelectedSet().iterator().next();
}
}
@@ -28,18 +28,18 @@ import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.MultiSelectionModel;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SelectionModel;
import com.google.gwt.view.client.SingleSelectionModel;
import com.sap.sailing.domain.common.RegattaIdentifier;
import com.sap.sailing.domain.common.RegattaName;
import com.sap.sailing.gwt.ui.client.DataEntryDialog.DialogCallback;
import com.sap.sailing.gwt.ui.client.ErrorReporter;
import com.sap.sailing.gwt.ui.client.RegattaDisplayer;
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
import com.sap.sailing.gwt.ui.client.RegattaSelectionProvider;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.DataEntryDialog.DialogCallback;
import com.sap.sailing.gwt.ui.shared.EventDTO;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
@@ -108,7 +108,7 @@ public class RegattaListComposite extends Composite implements RegattaDisplayer
regattaTable = createRegattaTable();
regattaTable.setVisible(false);
regattaSelectionModel = new SingleSelectionModel<RegattaDTO>();
regattaSelectionModel = new MultiSelectionModel<RegattaDTO>();
regattaSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent event) {
@@ -2,16 +2,19 @@ package com.sap.sailing.gwt.ui.adminconsole;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.sap.sailing.domain.common.RegattaIdentifier;
@@ -44,6 +47,7 @@ public class RegattaStructureManagementPanel extends SimplePanel implements Rega
private final RegattaRefresher regattaRefresher;
private RegattaSelectionProvider regattaSelectionProvider;
private Button removeRegattaButton;
private RegattaListComposite regattaListComposite;
private RegattaDetailsComposite regattaDetailsComposite;
@@ -59,19 +63,40 @@ public class RegattaStructureManagementPanel extends SimplePanel implements Rega
setWidget(mainPanel);
mainPanel.setWidth("100%");
HorizontalPanel regattaManagementControlsPanel = new HorizontalPanel();
regattaManagementControlsPanel.setSpacing(5);
Button addRegattaBtn = new Button(stringMessages.addRegatta());
mainPanel.add(addRegattaBtn);
addRegattaBtn.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
openCreateRegattaDialog();
}
});
regattaManagementControlsPanel.add(addRegattaBtn);
removeRegattaButton = new Button(stringMessages.remove());
removeRegattaButton.setEnabled(false);
removeRegattaButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (Window.confirm("Do you really want to remove the regattas? This will also remove all leaderboards for the regattas!")) {
//Creating a new Collection, because getSelectedRegattas returns an
//unmodifiable collection, which can't be sent to the server.
Collection<RegattaIdentifier> regattas = new HashSet<RegattaIdentifier>();
for (RegattaIdentifier regatta : regattaSelectionProvider.getSelectedRegattas()) {
regattas.add(regatta);
}
removeRegattas(regattas);
}
}
});
regattaManagementControlsPanel.add(removeRegattaButton);
mainPanel.add(regattaManagementControlsPanel);
Grid grid = new Grid(1 ,2);
mainPanel.add(grid);
regattaSelectionProvider = new RegattaSelectionModel(false);
regattaSelectionProvider = new RegattaSelectionModel(true);
regattaSelectionProvider.addRegattaSelectionChangeListener(this);
regattaListComposite = new RegattaListComposite(sailingService, regattaSelectionProvider, regattaRefresher, errorReporter, stringMessages);
@@ -83,6 +108,22 @@ public class RegattaStructureManagementPanel extends SimplePanel implements Rega
grid.setWidget(0, 1, regattaDetailsComposite);
}
protected void removeRegattas(Collection<RegattaIdentifier> regattas) {
if (!regattas.isEmpty()) {
sailingService.removeRegattas(regattas, new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
errorReporter.reportError("Error trying to remove the regattas:" + caught.getMessage());
}
@Override
public void onSuccess(Void result) {
regattaRefresher.fillRegattas();
}
});
}
}
private void openCreateRegattaDialog() {
final Collection<RegattaDTO> existingRegattas = Collections.unmodifiableCollection(regattaListComposite.getAllRegattas());
@@ -145,20 +186,21 @@ public class RegattaStructureManagementPanel extends SimplePanel implements Rega
@Override
public void onRegattaSelectionChange(List<RegattaIdentifier> selectedRegattas) {
final RegattaIdentifier selectedRegatta;
if (selectedRegattas.iterator().hasNext()) {
if (selectedRegattas.size() == 1 && selectedRegattas.iterator().hasNext()) {
selectedRegatta = selectedRegattas.iterator().next();
if (selectedRegatta != null && regattaListComposite.getAllRegattas() != null) {
for(RegattaDTO regattaDTO: regattaListComposite.getAllRegattas()) {
if(regattaDTO.getRegattaIdentifier().equals(selectedRegatta)) {
regattaDetailsComposite.setRegatta(regattaDTO);
regattaDetailsComposite.setVisible(true);
break;
if (selectedRegatta != null && regattaListComposite.getAllRegattas() != null) {
for (RegattaDTO regattaDTO : regattaListComposite.getAllRegattas()) {
if (regattaDTO.getRegattaIdentifier().equals(selectedRegatta)) {
regattaDetailsComposite.setRegatta(regattaDTO);
regattaDetailsComposite.setVisible(true);
break;
}
}
}
}
} else {
regattaDetailsComposite.setRegatta(null);
regattaDetailsComposite.setVisible(false);
}
removeRegattaButton.setEnabled(!selectedRegattas.isEmpty());
}
}
@@ -1,7 +1,9 @@
package com.sap.sailing.gwt.ui.adminconsole;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import com.google.gwt.cell.client.AbstractCell;
@@ -23,8 +25,8 @@ import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.MultiSelectionModel;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SingleSelectionModel;
import com.sap.sailing.gwt.ui.client.DataEntryDialog.DialogCallback;
import com.sap.sailing.gwt.ui.client.ErrorReporter;
import com.sap.sailing.gwt.ui.client.EventRefresher;
@@ -46,8 +48,9 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
private final StringMessages stringMessages;
private CellTable<EventDTO> eventTable;
private SingleSelectionModel<EventDTO> eventSelectionModel;
private MultiSelectionModel<EventDTO> eventSelectionModel;
private ListDataProvider<EventDTO> eventProvider;
private Button removeEventsButton;
public static class AnchorCell extends AbstractCell<SafeHtml> {
@Override
@@ -88,6 +91,18 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
}
});
eventsPanel.add(createEventBtn);
removeEventsButton = new Button(stringMessages.remove());
removeEventsButton.setEnabled(false);
removeEventsButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (Window.confirm("Do you really want to remove the events?")) {
removeEvents(eventSelectionModel.getSelectedSet());
}
}
});
eventsPanel.add(removeEventsButton);
// sailing events table
AnchorCell anchorCell = new AnchorCell();
@@ -146,7 +161,7 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
@Override
public void update(int index, EventDTO event, String value) {
if (EventConfigImagesBarCell.ACTION_REMOVE.equals(value)) {
if (Window.confirm(stringMessages.doYouReallyWantToRemoveRegatta(event.getName()))) {
if (Window.confirm("Do you really want to remove the event: '" + event.getName() + "' ?")) {
removeEvent(event);
}
} else if (EventConfigImagesBarCell.ACTION_EDIT.equals(value)) {
@@ -163,10 +178,11 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
eventTable.addColumn(courseAreasColumn, stringMessages.courseAreas());
eventTable.addColumn(eventActionColumn, stringMessages.actions());
eventSelectionModel = new SingleSelectionModel<EventDTO>();
eventSelectionModel = new MultiSelectionModel<EventDTO>();
eventSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent event) {
removeEventsButton.setEnabled(!eventSelectionModel.getSelectedSet().isEmpty());
}
});
eventTable.setSelectionModel(eventSelectionModel);
@@ -178,6 +194,25 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
fillEvents();
}
protected void removeEvents(Collection<EventDTO> events) {
if (!events.isEmpty()) {
Collection<String> eventIds = new HashSet<String>();
for (EventDTO event : events) {
eventIds.add(event.id);
}
sailingService.removeEvents(eventIds, new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
errorReporter.reportError("Error trying to remove the events:" + caught.getMessage());
}
@Override
public void onSuccess(Void result) {
fillEvents();
}
});
}
}
private void removeEvent(final EventDTO event) {
sailingService.removeEvent(event.id, new AsyncCallback<Void>() {
@Override
@@ -133,6 +133,8 @@ public interface SailingService extends RemoteService {
void removeLeaderboard(String leaderboardName);
void removeLeaderboards(Collection<String> leaderboardNames);
void renameLeaderboard(String leaderboardName, String newLeaderboardName);
void renameLeaderboardColumn(String leaderboardName, String oldColumnName, String newColumnName);
@@ -150,6 +152,8 @@ public interface SailingService extends RemoteService {
ScoringSchemeType scoringSchemeType, String defaultCourseAreaId);
void removeRegatta(RegattaIdentifier regattaIdentifier);
void removeRegattas(Collection<RegattaIdentifier> regattas);
void updateRegatta(RegattaIdentifier regattaIdentifier, String defaultCourseAreaId);
@@ -246,6 +250,8 @@ public interface SailingService extends RemoteService {
void removeEvent(String eventIdAsString);
void removeEvents(Collection<String> eventIdsAsStrings);
void renameEvent(String eventIdAsString, String newName);
EventDTO getEventByName(String eventName);
@@ -185,6 +185,8 @@ public interface SailingServiceAsync {
void removeLeaderboard(String leaderboardName, AsyncCallback<Void> asyncCallback);
void removeLeaderboards(Collection<String> leaderboardNames, AsyncCallback<Void> asyncCallback);
void renameLeaderboard(String leaderboardName, String newLeaderboardName, AsyncCallback<Void> asyncCallback);
void addColumnToLeaderboard(String columnName, String leaderboardName, boolean medalRace,
@@ -327,6 +329,8 @@ public interface SailingServiceAsync {
*/
void removeEvent(String eventIdAsString, AsyncCallback<Void> callback);
void removeEvents(Collection<String> eventIdsAsStrings, AsyncCallback<Void> asyncCallback);
void createEvent(String eventName, String description, String publicationUrl, boolean isPublic, List<String> courseAreaNames, AsyncCallback<EventDTO> callback);
void updateEvent(String eventName, String eventIdAsString, VenueDTO venue, String publicationUrl, boolean isPublic,
@@ -336,6 +340,8 @@ public interface SailingServiceAsync {
void removeRegatta(RegattaIdentifier regattaIdentifier, AsyncCallback<Void> callback);
void removeRegattas(Collection<RegattaIdentifier> regattas, AsyncCallback<Void> asyncCallback);
void addRaceColumnToSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName,
AsyncCallback<RaceColumnInSeriesDTO> callback);
@@ -1831,6 +1831,13 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
Leaderboard updatedLeaderboard = getService().apply(new UpdateLeaderboard(leaderboardName, newLeaderboardName, newLeaderboardDisplayName, newDiscardingThresholds, newCourseAreaUuid));
return createStrippedLeaderboardDTO(updatedLeaderboard, false);
}
@Override
public void removeLeaderboards(Collection<String> leaderboardNames) {
for (String leaderoardName : leaderboardNames) {
removeLeaderboard(leaderoardName);
}
}
@Override
public void removeLeaderboard(String leaderboardName) {
@@ -2550,6 +2557,13 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
return convertToCourseAreaDTO(courseArea);
}
@Override
public void removeEvents(Collection<String> eventIdsAsStrings) {
for (String eventId : eventIdsAsStrings) {
removeEvent(eventId);
}
}
@Override
public void removeEvent(String eventIdAsString) {
UUID eventUuid = convertIdentifierStringToUuid(eventIdAsString);
@@ -2677,6 +2691,13 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
}
return regattaName;
}
@Override
public void removeRegattas(Collection<RegattaIdentifier> selectedRegattas) {
for (RegattaIdentifier regatta : selectedRegattas) {
removeRegatta(regatta);
}
}
@Override
public void removeRegatta(RegattaIdentifier regattaIdentifier) {