mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-15 06:49:56 +00:00
Merge branch 'bug3484' of ssh://trac@sapsailing.com/home/trac/git into bug3484
This commit is contained in:
commit
1e861f2a93
7 files changed
+48
-49
No files matched your search
+11
@@ -12,10 +12,17 @@ public class PairingListDTO implements Serializable{
|
||||
|
||||
private List<List<List<Pair<CompetitorDTO, BoatDTO>>>> pairingList;
|
||||
|
||||
private List<String> raceColumnNames;
|
||||
|
||||
public PairingListDTO() { }
|
||||
|
||||
public PairingListDTO(List<List<List<Pair<CompetitorDTO, BoatDTO>>>> result) {
|
||||
this(result, null);
|
||||
}
|
||||
|
||||
public PairingListDTO(List<List<List<Pair<CompetitorDTO, BoatDTO>>>> result, List<String> raceColumnNames) {
|
||||
this.pairingList = result;
|
||||
this.raceColumnNames = raceColumnNames;
|
||||
}
|
||||
|
||||
public List<List<List<Pair<CompetitorDTO, BoatDTO>>>> getPairingList() {
|
||||
@@ -35,4 +42,8 @@ public class PairingListDTO implements Serializable{
|
||||
|
||||
return boats;
|
||||
}
|
||||
|
||||
public List<String> getRaceColumnNames() {
|
||||
return raceColumnNames;
|
||||
}
|
||||
}
|
||||
-2
@@ -206,8 +206,6 @@ public class PairingListCreationDialog extends DataEntryDialog<PairingListTempla
|
||||
private Map<String, String> createLinkParameters() {
|
||||
Map<String, String> result = new HashMap<>();
|
||||
result.put("leaderboardName", leaderboardDTO.getName());
|
||||
result.put("flightMultiplier", String.valueOf(template.getFlightMultiplier()));
|
||||
result.put("selectedFlights", String.join(",", template.getSelectedFlightNames()));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -703,7 +703,7 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS
|
||||
PairingListDTO getPairingListFromTemplate(final String leaderboardName, final int flightMultiplier, final Iterable<String> selectedFlightNames)
|
||||
throws NotFoundException;
|
||||
|
||||
PairingListDTO getPairingListFromRaceLogs(final String leaderboardName, final Iterable<String> selectedFlightNames) throws NotFoundException;
|
||||
PairingListDTO getPairingListFromRaceLogs(final String leaderboardName) throws NotFoundException;
|
||||
|
||||
void fillRaceLogsFromPairingListTemplate(final String leaderboardName, final int flightMultiplier, final Iterable<String> selectedFlightNames)
|
||||
throws NotFoundException, CompetitorRegistrationOnRaceLogDisabledException;
|
||||
|
||||
+1
-2
@@ -916,8 +916,7 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan
|
||||
* @param callback
|
||||
* returns a {@link PairingListDTO}
|
||||
*/
|
||||
void getPairingListFromRaceLogs(final String leaderboardName, final Iterable<String> selectedFlightNames,
|
||||
AsyncCallback<PairingListDTO> callback);
|
||||
void getPairingListFromRaceLogs(final String leaderboardName, AsyncCallback<PairingListDTO> callback);
|
||||
|
||||
/**
|
||||
* Registers all competitors of a {@link PairingList} in the respective {@link RaceColumn}s and {@link Fleet}s.
|
||||
|
||||
+1
-18
@@ -1,9 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.pairinglist;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.sap.sse.common.settings.generic.AbstractGenericSerializableSettings;
|
||||
import com.sap.sse.common.settings.generic.IntegerSetting;
|
||||
import com.sap.sse.common.settings.generic.StringSetting;
|
||||
|
||||
public class PairingListContextDefinition extends AbstractGenericSerializableSettings {
|
||||
@@ -11,33 +8,19 @@ public class PairingListContextDefinition extends AbstractGenericSerializableSet
|
||||
private static final long serialVersionUID = 6206953942932913058L;
|
||||
|
||||
private transient StringSetting leaderboardName;
|
||||
private transient IntegerSetting flightMultiplier;
|
||||
private transient StringSetting selectedFlightNames;
|
||||
|
||||
public PairingListContextDefinition() { }
|
||||
|
||||
public PairingListContextDefinition(String leaderboardName, int flightMultiplier, String selectedFlightNames) {
|
||||
public PairingListContextDefinition(String leaderboardName) {
|
||||
this.leaderboardName.setValue(leaderboardName);
|
||||
this.flightMultiplier.setValue(flightMultiplier);
|
||||
this.selectedFlightNames.setValue(selectedFlightNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addChildSettings() {
|
||||
this.leaderboardName = new StringSetting("leaderboardName", this);
|
||||
this.flightMultiplier = new IntegerSetting("flightMultiplier", this);
|
||||
this.selectedFlightNames = new StringSetting("selectedFlights", this);
|
||||
}
|
||||
|
||||
public String getLeaderboardName() {
|
||||
return this.leaderboardName.getValue();
|
||||
}
|
||||
|
||||
public int getFlightMultiplier() {
|
||||
return this.flightMultiplier.getValue();
|
||||
}
|
||||
|
||||
public Iterable<String> getSelectedFlightNames() {
|
||||
return Arrays.asList(selectedFlightNames.getValue().split(","));
|
||||
}
|
||||
}
|
||||
+2
-9
@@ -26,7 +26,6 @@ import com.sap.sailing.gwt.common.authentication.SAPSailingHeaderWithAuthenticat
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.gwt.settings.SettingsToUrlSerializer;
|
||||
|
||||
@@ -70,13 +69,7 @@ public class PairingListEntryPoint extends AbstractSailingEntryPoint {
|
||||
scrollPanel.add(contentPanel);
|
||||
|
||||
sailingService.getPairingListFromRaceLogs(pairingListContextDefinition.getLeaderboardName(),
|
||||
pairingListContextDefinition.getSelectedFlightNames(), new AsyncCallback<PairingListDTO>() {
|
||||
|
||||
/*
|
||||
sailingService.getPairingListFromTemplate(pairingListContextDefinition.getLeaderboardName(),
|
||||
pairingListContextDefinition.getFlightMultiplier(),
|
||||
pairingListContextDefinition.getSelectedFlightNames(), new AsyncCallback<PairingListDTO>() {
|
||||
*/
|
||||
new AsyncCallback<PairingListDTO>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(PairingListDTO result) {
|
||||
@@ -139,7 +132,7 @@ public class PairingListEntryPoint extends AbstractSailingEntryPoint {
|
||||
// setting up race
|
||||
int currentRaceInGridCells = (((flightIndexInGrid - 1) * groupCount) + 1);
|
||||
pairingListGrid.setWidget(currentRaceInGridCells, 0,
|
||||
new Label(Util.get(pairingListContextDefinition.getSelectedFlightNames(), flightIndexInGrid - 1)));
|
||||
new Label(pairingListDTO.getRaceColumnNames().get(flightIndexInGrid - 1)));
|
||||
|
||||
pairingListGrid.getCellFormatter().getElement(currentRaceInGridCells, 0).getStyle().setPadding(5, Unit.PX);
|
||||
pairingListGrid.getCellFormatter().getElement(currentRaceInGridCells, 0).getStyle()
|
||||
|
||||
+32
-17
@@ -6888,18 +6888,20 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
}
|
||||
|
||||
@Override
|
||||
public PairingListDTO getPairingListFromRaceLogs(String leaderboardName, final Iterable<String> selectedFlightNames) throws NotFoundException {
|
||||
public PairingListDTO getPairingListFromRaceLogs(String leaderboardName) throws NotFoundException {
|
||||
Leaderboard leaderboard = getLeaderboardByName(leaderboardName);
|
||||
|
||||
List<List<List<Pair<CompetitorDTO, BoatDTO>>>> result = new ArrayList<>();
|
||||
|
||||
ColorMap<BoatDTO> colorMap = new ColorMapImpl<BoatDTO>();
|
||||
|
||||
List<String> raceColumnNames = new ArrayList<>();
|
||||
|
||||
List<BoatDTO> boats = new ArrayList<>();
|
||||
int boatIndex;
|
||||
|
||||
for (RaceColumn raceColumn : leaderboard.getRaceColumns()) {
|
||||
if (raceColumn.isMedalRace() || !Util.contains(selectedFlightNames, raceColumn.getName())) {
|
||||
if (raceColumn.isMedalRace()) {
|
||||
continue;
|
||||
}
|
||||
List<List<Pair<CompetitorDTO, BoatDTO>>> flights = new ArrayList<>();
|
||||
@@ -6908,26 +6910,39 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
|
||||
List<Pair<CompetitorDTO, BoatDTO>> fleets = new ArrayList<>();
|
||||
|
||||
// TODO fetch Pair of competitor and boat from race log (bug2822)
|
||||
for (CompetitorDTO competitorDTO : this.getCompetitorRegistrationsInRaceLog(leaderboardName,
|
||||
raceColumn.getName(), fleetElement.getName())) {
|
||||
if (boats.size() <= boatIndex) {
|
||||
// TODO change competitor name to competitor shorthand symbol (bug2822)
|
||||
BoatDTO boatDTO = new BoatDTO("Boat " + String.valueOf(boatIndex + 1), competitorDTO.getSailID());
|
||||
boatDTO.setColor(colorMap.getColorByID(boatDTO));
|
||||
boats.add(boatDTO);
|
||||
Collection<CompetitorDTO> competitorsInRaceLog = this.getCompetitorRegistrationsInRaceLog(leaderboardName,
|
||||
raceColumn.getName(), fleetElement.getName());
|
||||
|
||||
if (competitorsInRaceLog.size() > 0) {
|
||||
|
||||
// TODO fetch Pair of competitor and boat from race log (bug2822)
|
||||
for (CompetitorDTO competitorDTO : competitorsInRaceLog) {
|
||||
if (boats.size() <= boatIndex) {
|
||||
// TODO change competitor name to competitor shorthand symbol (bug2822)
|
||||
BoatDTO boatDTO = new BoatDTO("Boat " + String.valueOf(boatIndex + 1), competitorDTO.getSailID());
|
||||
boatDTO.setColor(colorMap.getColorByID(boatDTO));
|
||||
boats.add(boatDTO);
|
||||
}
|
||||
|
||||
fleets.add(new Pair<CompetitorDTO, BoatDTO>(competitorDTO, boats.get(boatIndex)));
|
||||
|
||||
boatIndex++;
|
||||
}
|
||||
|
||||
fleets.add(new Pair<CompetitorDTO, BoatDTO>(competitorDTO, boats.get(boatIndex)));
|
||||
|
||||
boatIndex++;
|
||||
flights.add(fleets);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (flights.size() > 0) {
|
||||
result.add(flights);
|
||||
|
||||
if (!raceColumnNames.contains(raceColumn.getName())) {
|
||||
raceColumnNames.add(raceColumn.getName());
|
||||
}
|
||||
flights.add(fleets);
|
||||
}
|
||||
result.add(flights);
|
||||
}
|
||||
|
||||
return new PairingListDTO(result);
|
||||
return new PairingListDTO(result, raceColumnNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user