mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-10 04:51:07 +00:00
fixed tests
This commit is contained in:
1 parent
9346268faf
commit
c6220d79a4
23 files changed
+121
-77
No files matched your search
+12
-5
@@ -30,7 +30,7 @@ public enum DetailType implements Serializable {
|
||||
LEG_CURRENT_SPEED_OVER_GROUND_IN_KNOTS(2, DESCENDING, "CURRENT_SPEED_OVER_GROUND_IN_KNOTS"),
|
||||
BRAVO_LEG_CURRENT_HEEL_IN_DEGREES(2, DESCENDING, "CURRENT_HEEL_IN_DEGREES"),
|
||||
BRAVO_LEG_CURRENT_PITCH_IN_DEGREES(2, DESCENDING, "CURRENT_PITCH_IN_DEGREES"),
|
||||
BRAVOEXTENDED_LEG_CURRENT_RIDE_HEIGHT_IN_METERS(2, DESCENDING, "CURRENT_RIDE_HEIGHT_IN_METERS"),
|
||||
BRAVO_LEG_CURRENT_RIDE_HEIGHT_IN_METERS(2, DESCENDING, "CURRENT_RIDE_HEIGHT_IN_METERS"),
|
||||
BRAVOEXTENDED_LEG_CURRENT_DISTANCE_FOILED_IN_METERS(0, DESCENDING, "CURRENT_DISTANCE_FOILED_IN_METERS"),
|
||||
BRAVOEXTENDED_LEG_CURRENT_DURATION_FOILED_IN_SECONDS(0, DESCENDING, "CURRENT_DURATION_FOILED_IN_SECONDS"),
|
||||
BRAVOEXTENDED_RACE_CURRENT_PORT_DAGGERBOARD_RAKE(2, DESCENDING, "CURRENT_PORT_DAGGERBOARD_RAKE"),
|
||||
@@ -277,8 +277,6 @@ public enum DetailType implements Serializable {
|
||||
ArrayList<DetailType> allowed = new ArrayList<>();
|
||||
allowed.add(DetailType.BRAVOEXTENDED_LEG_CURRENT_DISTANCE_FOILED_IN_METERS);
|
||||
allowed.add(DetailType.BRAVOEXTENDED_LEG_CURRENT_DURATION_FOILED_IN_SECONDS);
|
||||
allowed.add(DetailType.BRAVOEXTENDED_LEG_CURRENT_RIDE_HEIGHT_IN_METERS);
|
||||
|
||||
return allowed;
|
||||
}
|
||||
|
||||
@@ -317,6 +315,7 @@ public enum DetailType implements Serializable {
|
||||
ArrayList<DetailType> allowed = new ArrayList<>();
|
||||
allowed.add(DetailType.BRAVO_LEG_CURRENT_HEEL_IN_DEGREES);
|
||||
allowed.add(DetailType.BRAVO_LEG_CURRENT_PITCH_IN_DEGREES);
|
||||
allowed.add(DetailType.BRAVO_LEG_CURRENT_RIDE_HEIGHT_IN_METERS);
|
||||
return allowed;
|
||||
}
|
||||
|
||||
@@ -359,7 +358,7 @@ public enum DetailType implements Serializable {
|
||||
all.removeAll(getRaceExtendedBravoDetailTypes());
|
||||
all.removeAll(getRaceExpeditionDetailTypes());
|
||||
all.removeAll(getLegExpeditionDetailColumnTypes());
|
||||
all.removeAll(getAvailableBravoOverallDetailColumnTypes());
|
||||
all.removeAll(getOverallBravoDetailTypes());
|
||||
return all;
|
||||
}
|
||||
|
||||
@@ -372,7 +371,7 @@ public enum DetailType implements Serializable {
|
||||
TOTAL_TIME_SAILED_REACHING_IN_SECONDS, TOTAL_TIME_SAILED_REACHING_IN_SECONDS });
|
||||
}
|
||||
|
||||
public static List<DetailType> getAvailableBravoOverallDetailColumnTypes() {
|
||||
public static List<DetailType> getOverallBravoDetailTypes() {
|
||||
return Arrays.asList(new DetailType[] { DetailType.OVERALL_TOTAL_DISTANCE_FOILED_IN_METERS,
|
||||
OVERALL_TOTAL_DURATION_FOILED_IN_SECONDS });
|
||||
}
|
||||
@@ -388,6 +387,14 @@ public enum DetailType implements Serializable {
|
||||
DetailType.LEG_CORRECTED_TIME_TRAVELED, DetailType.LEG_AVERAGE_ABSOLUTE_CROSS_TRACK_ERROR_IN_METERS,
|
||||
DetailType.LEG_AVERAGE_SIGNED_CROSS_TRACK_ERROR_IN_METERS, DetailType.LEG_RANK_GAIN });
|
||||
}
|
||||
|
||||
public static List<DetailType> getRaceStartAnalysisColumnTypes() {
|
||||
return Arrays.asList(new DetailType[] { DetailType.RACE_DISTANCE_TO_START_FIVE_SECONDS_BEFORE_RACE_START,
|
||||
DetailType.RACE_SPEED_OVER_GROUND_FIVE_SECONDS_BEFORE_START, DetailType.DISTANCE_TO_START_AT_RACE_START,
|
||||
DetailType.TIME_BETWEEN_RACE_START_AND_COMPETITOR_START, DetailType.SPEED_OVER_GROUND_AT_RACE_START,
|
||||
DetailType.SPEED_OVER_GROUND_WHEN_PASSING_START,
|
||||
DetailType.DISTANCE_TO_STARBOARD_END_OF_STARTLINE_WHEN_PASSING_START_IN_METERS, DetailType.START_TACK });
|
||||
}
|
||||
|
||||
public static List<DetailType> getLegExpeditionDetailColumnTypes() {
|
||||
return Arrays.asList(new DetailType[] { EXPEDITION_LEG_AWA, EXPEDITION_LEG_AWS, EXPEDITION_LEG_TWA,
|
||||
|
||||
+2
-3
@@ -1,7 +1,6 @@
|
||||
package com.sap.sailing.gwt.autoplay.client.configs.impl;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.user.client.Window;
|
||||
@@ -37,7 +36,7 @@ public class AutoPlayClassicConfiguration extends AutoPlayConfiguration {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public void onSuccess(final EventDTO event) {
|
||||
cf.getSailingService().getAvailableDetailTypesForLeaderboard(context.getLeaderboardName(), new AsyncCallback<List<DetailType>>() {
|
||||
cf.getSailingService().getAvailableDetailTypesForLeaderboard(context.getLeaderboardName(), new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -45,7 +44,7 @@ public class AutoPlayClassicConfiguration extends AutoPlayConfiguration {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
StrippedLeaderboardDTO leaderBoardDTO = AutoplayHelper.getSelectedLeaderboard(event,
|
||||
context.getLeaderboardName());
|
||||
AutoplayPerspectiveLifecycle autoplayLifecycle = new AutoplayPerspectiveLifecycle(leaderBoardDTO, cf.getUserService(), result);
|
||||
|
||||
+3
-2
@@ -1,6 +1,7 @@
|
||||
package com.sap.sailing.gwt.autoplay.client.nodes;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.shared.GWT;
|
||||
@@ -64,7 +65,7 @@ public class IdleOverallLeaderBoardNode extends FiresPlaceNode {
|
||||
String overallLeaderboardName = result.get(0);
|
||||
CompetitorSelectionProvider provider = new CompetitorSelectionModel(true);
|
||||
|
||||
cf.getSailingService().getAvailableDetailTypesForLeaderboard(overallLeaderboardName, new AsyncCallback<List<DetailType>>() {
|
||||
cf.getSailingService().getAvailableDetailTypesForLeaderboard(overallLeaderboardName, new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -72,7 +73,7 @@ public class IdleOverallLeaderBoardNode extends FiresPlaceNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
MultiRaceLeaderboardPanel leaderboardPanel = new MultiRaceLeaderboardPanel(null, null,
|
||||
cf.getSailingService(), new AsyncActionsExecutor(), leaderboardSettings, false,
|
||||
provider, timer, null, overallLeaderboardName, cf.getErrorReporter(),
|
||||
|
||||
+3
-2
@@ -1,6 +1,7 @@
|
||||
package com.sap.sailing.gwt.home.desktop.places.event.regatta.analyticstab;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@@ -78,10 +79,10 @@ public class RegattaCompetitorAnalyticsTabView extends SharedLeaderboardRegattaT
|
||||
if (regattaId != null && !regattaId.isEmpty()) {
|
||||
String leaderboardName = regattaId;
|
||||
RegattaAnalyticsDataManager regattaAnalyticsManager = currentPresenter.getCtx().getRegattaAnalyticsManager();
|
||||
currentPresenter.getSailingService().getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<List<DetailType>>() {
|
||||
currentPresenter.getSailingService().getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
final Runnable callback = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.gwt.home.desktop.places.event.regatta.leaderboardtab;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
@@ -93,10 +93,10 @@ public class RegattaLeaderboardTabView extends SharedLeaderboardRegattaTabView<R
|
||||
RegattaAnalyticsDataManager regattaAnalyticsManager = currentPresenter.getCtx().getRegattaAnalyticsManager();
|
||||
String leaderboardName = regattaId;
|
||||
currentPresenter.getSailingService().getAvailableDetailTypesForLeaderboard(leaderboardName,
|
||||
new AsyncCallback<List<DetailType>>() {
|
||||
new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
MultiRaceLeaderboardPanel leaderboardPanel = regattaAnalyticsManager.getLeaderboardPanel();
|
||||
final Consumer<MultiRaceLeaderboardPanel> leaderboardConsumer = new Consumer<MultiRaceLeaderboardPanel>() {
|
||||
@Override
|
||||
|
||||
+3
-2
@@ -1,6 +1,7 @@
|
||||
package com.sap.sailing.gwt.home.desktop.places.fakeseries.analyticstab;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@@ -65,10 +66,10 @@ public class EventSeriesCompetitorAnalyticsTabView extends SharedLeaderboardEven
|
||||
String leaderboardName = currentPresenter.getSeriesDTO().getLeaderboardId();
|
||||
if (leaderboardName != null && !leaderboardName.isEmpty()) {
|
||||
EventSeriesAnalyticsDataManager eventSeriesAnalyticsManager = currentPresenter.getCtx().getAnalyticsManager();
|
||||
eventSeriesAnalyticsManager.getSailingService().getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<List<DetailType>>() {
|
||||
eventSeriesAnalyticsManager.getSailingService().getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
final Runnable callback = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
+2
-3
@@ -1,7 +1,6 @@
|
||||
package com.sap.sailing.gwt.home.desktop.places.fakeseries.leaderboardstab;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.event.logical.shared.AttachEvent;
|
||||
@@ -80,10 +79,10 @@ public class EventSeriesLeaderboardsTabView extends Composite implements SeriesT
|
||||
.getAnalyticsManager();
|
||||
|
||||
regattaAnalyticsManager.getSailingService().getAvailableDetailTypesForLeaderboard(leaderboardName,
|
||||
new AsyncCallback<List<DetailType>>() {
|
||||
new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
|
||||
final boolean autoExpandLastRaceColumn = GwtHttpRequestUtils.getBooleanParameter(
|
||||
LeaderboardUrlSettings.PARAM_AUTO_EXPAND_LAST_RACE_COLUMN, false);
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.gwt.home.desktop.places.fakeseries.overallleaderboardtab;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
@@ -65,10 +65,10 @@ public class EventSeriesOverallLeaderboardTabView extends SharedLeaderboardEvent
|
||||
contentArea.setWidget(currentPresenter.getErrorAndBusyClientFactory().createBusyView());
|
||||
String leaderboardName = currentPresenter.getSeriesDTO().getLeaderboardId();
|
||||
if (leaderboardName != null && !leaderboardName.isEmpty()) {
|
||||
currentPresenter.getCtx().getAnalyticsManager().getSailingService().getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<List<DetailType>>() {
|
||||
currentPresenter.getCtx().getAnalyticsManager().getSailingService().getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
EventSeriesAnalyticsDataManager eventSeriesAnalyticsManager = currentPresenter.getCtx().getAnalyticsManager();
|
||||
final Consumer<MultiRaceLeaderboardPanel> leaderboardConsumer = new Consumer<MultiRaceLeaderboardPanel>() {
|
||||
@Override
|
||||
|
||||
+7
-9
@@ -20,13 +20,13 @@ import com.sap.sailing.gwt.ui.client.DebugIdHelper;
|
||||
import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ManeuverCountRaceColumn;
|
||||
import com.sap.sse.gwt.client.controls.IntegerBox;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
|
||||
|
||||
public abstract class LeaderboardSettingsDialogComponent<T extends LeaderboardSettings> implements SettingsDialogComponent<T> {
|
||||
public static final String CHECK_BOX_DEBUGID_CONSTANT = "CheckBox";
|
||||
protected final Map<DetailType, CheckBox> maneuverDetailCheckboxes;
|
||||
protected final Map<DetailType, CheckBox> legDetailCheckboxes;
|
||||
protected final Map<DetailType, CheckBox> raceDetailCheckboxes;
|
||||
@@ -143,7 +143,7 @@ public abstract class LeaderboardSettingsDialogComponent<T extends LeaderboardSe
|
||||
int detailCountInCurrentFlowPanel = 0;
|
||||
Collection<DetailType> currentRaceDetailSelection = initialSettings.getRaceDetailsToShow();
|
||||
FlowPanel raceStartAnalysisDialogContent = null;
|
||||
for (DetailType type : reduceToAvailableTypes(LeaderboardPanel.getAvailableRaceStartAnalysisColumnTypes())) {
|
||||
for (DetailType type : reduceToAvailableTypes(DetailType.getRaceStartAnalysisColumnTypes())) {
|
||||
if (detailCountInCurrentFlowPanel % 8 == 0) {
|
||||
raceStartAnalysisDialogContent = new FlowPanel();
|
||||
raceStartAnalysisDialogContent.addStyleName("dialogInnerContent");
|
||||
@@ -224,13 +224,13 @@ public abstract class LeaderboardSettingsDialogComponent<T extends LeaderboardSe
|
||||
private CheckBox createCheckbox(DataEntryDialog<?> dialog, DetailType detailType, boolean selected) {
|
||||
CheckBox checkbox = createCheckbox(dialog, DetailTypeFormatter.format(detailType), selected,
|
||||
DetailTypeFormatter.getTooltip(detailType));
|
||||
checkbox.ensureDebugId(DebugIdHelper.createDebugId(detailType) + "CheckBox");
|
||||
checkbox.ensureDebugId(DebugIdHelper.createDebugId(detailType) + CHECK_BOX_DEBUGID_CONSTANT);
|
||||
return checkbox;
|
||||
}
|
||||
|
||||
protected CheckBox createCheckbox(DataEntryDialog<?> dialog, String label, boolean selected, String tooltip) {
|
||||
CheckBox checkbox = dialog.createCheckbox(label);
|
||||
checkbox.ensureDebugId(DebugIdHelper.createDebugId(label) + "CheckBox");
|
||||
checkbox.ensureDebugId(DebugIdHelper.createDebugId(label) + CHECK_BOX_DEBUGID_CONSTANT);
|
||||
checkbox.setValue(selected);
|
||||
dialog.addTooltip(checkbox, tooltip);
|
||||
return checkbox;
|
||||
@@ -260,16 +260,14 @@ public abstract class LeaderboardSettingsDialogComponent<T extends LeaderboardSe
|
||||
}
|
||||
|
||||
protected List<DetailType> getSelected(Map<DetailType, CheckBox> checkBoxes, Collection<DetailType> initialValues) {
|
||||
List<DetailType> selectedDetails = new ArrayList<DetailType>();
|
||||
ArrayList<DetailType> safeInitialValues = new ArrayList<>(initialValues);
|
||||
List<DetailType> selectedDetails = new ArrayList<DetailType>(initialValues);
|
||||
for (Map.Entry<DetailType, CheckBox> entry : checkBoxes.entrySet()) {
|
||||
safeInitialValues.remove(entry.getKey());
|
||||
if (entry.getValue().getValue()) {
|
||||
selectedDetails.add(entry.getKey());
|
||||
} else {
|
||||
selectedDetails.remove(entry.getKey());
|
||||
}
|
||||
}
|
||||
//all values that are not currently settable (eg hidden checkboxes) but might be set via defaults ect. Keep them.
|
||||
selectedDetails.addAll(safeInitialValues);
|
||||
return selectedDetails;
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -323,7 +323,7 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
|
||||
editCompetitorsDialog.show();
|
||||
|
||||
} else if (LeaderboardConfigImagesBarCell.ACTION_CONFIGURE_URL.equals(value)) {
|
||||
sailingService.getAvailableDetailTypesForLeaderboard(leaderboardDTO.name, new AsyncCallback<List<DetailType>>() {
|
||||
sailingService.getAvailableDetailTypesForLeaderboard(leaderboardDTO.name, new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -331,7 +331,7 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
openLeaderboardUrlConfigDialog(leaderboardDTO, result);
|
||||
}
|
||||
});
|
||||
|
||||
+3
-3
@@ -38,7 +38,7 @@ public class DetailTypeFormatter {
|
||||
return stringMessages.currentOrAverageSpeedOverGroundInKnots();
|
||||
case RACE_CURRENT_SPEED_OVER_GROUND_IN_KNOTS:
|
||||
return stringMessages.currentSpeedOverGroundInKnots();
|
||||
case BRAVOEXTENDED_LEG_CURRENT_RIDE_HEIGHT_IN_METERS:
|
||||
case BRAVO_LEG_CURRENT_RIDE_HEIGHT_IN_METERS:
|
||||
return stringMessages.currentOrAverageRideHeightInMeters();
|
||||
case BRAVOEXTENDED_LEG_CURRENT_DISTANCE_FOILED_IN_METERS:
|
||||
return stringMessages.currentDistanceFoiledInMeters();
|
||||
@@ -393,7 +393,7 @@ public class DetailTypeFormatter {
|
||||
case DISTANCE_TO_STARBOARD_END_OF_STARTLINE_WHEN_PASSING_START_IN_METERS:
|
||||
case RACE_DISTANCE_TO_START_FIVE_SECONDS_BEFORE_RACE_START:
|
||||
case CHART_DISTANCE_TO_START_LINE:
|
||||
case BRAVOEXTENDED_LEG_CURRENT_RIDE_HEIGHT_IN_METERS:
|
||||
case BRAVO_LEG_CURRENT_RIDE_HEIGHT_IN_METERS:
|
||||
case BRAVO_RACE_CURRENT_RIDE_HEIGHT_IN_METERS:
|
||||
case RACE_CURRENT_DISTANCE_FOILED_IN_METERS:
|
||||
case BRAVOEXTENDED_RACE_CURRENT_DEPTH_IN_METERS:
|
||||
@@ -614,7 +614,7 @@ public class DetailTypeFormatter {
|
||||
return stringMessages.currentOrAverageSpeedOverGroundInKnotsTooltip();
|
||||
case RACE_CURRENT_SPEED_OVER_GROUND_IN_KNOTS:
|
||||
return stringMessages.currentSpeedOverGroundInKnotsTooltip();
|
||||
case BRAVOEXTENDED_LEG_CURRENT_RIDE_HEIGHT_IN_METERS:
|
||||
case BRAVO_LEG_CURRENT_RIDE_HEIGHT_IN_METERS:
|
||||
return stringMessages.currentOrAverageRideHeightInMetersTooltip();
|
||||
case BRAVOEXTENDED_LEG_CURRENT_DISTANCE_FOILED_IN_METERS:
|
||||
return stringMessages.currentDistanceFoiledInMetersTooltip();
|
||||
|
||||
+1
-1
@@ -710,5 +710,5 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS
|
||||
|
||||
List<String> getRaceDisplayNamesFromLeaderboard(String leaderboardName, List<String> raceColumnNames) throws NotFoundException;
|
||||
|
||||
List<DetailType> getAvailableDetailTypesForLeaderboard(String leaderboardName);
|
||||
Collection<DetailType> getAvailableDetailTypesForLeaderboard(String leaderboardName);
|
||||
}
|
||||
+1
-1
@@ -930,5 +930,5 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan
|
||||
void getRaceDisplayNamesFromLeaderboard(final String leaderboardName,List<String> raceColumnNames, AsyncCallback<List<String>> callback);
|
||||
|
||||
void getAvailableDetailTypesForLeaderboard(String leaderboardName,
|
||||
AsyncCallback<List<DetailType>> asyncCallback);
|
||||
AsyncCallback<Collection<DetailType>> asyncCallback);
|
||||
}
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
@@ -120,7 +120,7 @@ public class LeaderboardEntryPoint extends AbstractSailingEntryPoint {
|
||||
|
||||
final StoredSettingsLocation storageDefinition = StoredSettingsLocationFactory
|
||||
.createStoredSettingsLocatorForLeaderboard(leaderboardContextDefinition);
|
||||
sailingService.getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<List<DetailType>>() {
|
||||
sailingService.getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -129,7 +129,7 @@ public class LeaderboardEntryPoint extends AbstractSailingEntryPoint {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
|
||||
if (leaderboardDTO.type.isMetaLeaderboard()) {
|
||||
// overall
|
||||
@@ -172,7 +172,7 @@ public class LeaderboardEntryPoint extends AbstractSailingEntryPoint {
|
||||
public void onSuccess(
|
||||
PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings> defaultSettings) {
|
||||
sailingService.getAvailableDetailTypesForLeaderboard(leaderboardName,
|
||||
new AsyncCallback<List<DetailType>>() {
|
||||
new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -180,7 +180,7 @@ public class LeaderboardEntryPoint extends AbstractSailingEntryPoint {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
configureWithSettings(defaultSettings, timer);
|
||||
final MultiRaceLeaderboardViewer leaderboardViewer = new MultiRaceLeaderboardViewer(
|
||||
null, context, rootComponentLifeCycle, defaultSettings,
|
||||
|
||||
+2
-11
@@ -1,7 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
@@ -767,9 +766,9 @@ public abstract class LeaderboardPanel<LS extends LeaderboardSettings> extends A
|
||||
if (newSettings.getRaceDetailsToShow() != null) {
|
||||
List<DetailType> allRaceDetailsTypes = new ArrayList<>();
|
||||
allRaceDetailsTypes.addAll(DetailType.getAllRaceDetailTypes());
|
||||
allRaceDetailsTypes.addAll(getAvailableRaceStartAnalysisColumnTypes());
|
||||
allRaceDetailsTypes.addAll(DetailType.getRaceStartAnalysisColumnTypes());
|
||||
GWT.log("selected race details " + selectedRaceDetails);
|
||||
setValuesWithReferenceOrder(reduceToAvailableTypes(newSettings.getRaceDetailsToShow()), DetailType.getAllRaceDetailTypes() , selectedRaceDetails);
|
||||
setValuesWithReferenceOrder(reduceToAvailableTypes(newSettings.getRaceDetailsToShow()), allRaceDetailsTypes, selectedRaceDetails);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1114,14 +1113,6 @@ public abstract class LeaderboardPanel<LS extends LeaderboardSettings> extends A
|
||||
|
||||
public abstract boolean renderBoatColorIfNecessary(CompetitorDTO competitor, SafeHtmlBuilder sb);
|
||||
|
||||
public static List<DetailType> getAvailableRaceStartAnalysisColumnTypes() {
|
||||
return Arrays.asList(new DetailType[] { DetailType.RACE_DISTANCE_TO_START_FIVE_SECONDS_BEFORE_RACE_START,
|
||||
DetailType.RACE_SPEED_OVER_GROUND_FIVE_SECONDS_BEFORE_START, DetailType.DISTANCE_TO_START_AT_RACE_START,
|
||||
DetailType.TIME_BETWEEN_RACE_START_AND_COMPETITOR_START, DetailType.SPEED_OVER_GROUND_AT_RACE_START,
|
||||
DetailType.SPEED_OVER_GROUND_WHEN_PASSING_START,
|
||||
DetailType.DISTANCE_TO_STARBOARD_END_OF_STARTLINE_WHEN_PASSING_START_IN_METERS, DetailType.START_TACK });
|
||||
}
|
||||
|
||||
private class TextRaceColumn extends RaceColumn<String> implements RaceNameProvider {
|
||||
/**
|
||||
* Remembers the leg columns; <code>null</code>-padded, if {@link #getLegColumn(int)} asks for a column index
|
||||
|
||||
+1
-1
@@ -573,7 +573,7 @@ public class LegColumn extends ExpandableSortableColumn<String> {
|
||||
result.put(DetailType.BRAVO_LEG_CURRENT_PITCH_IN_DEGREES, new PitchColumn(DetailType.BRAVO_LEG_CURRENT_PITCH_IN_DEGREES,
|
||||
new CurrentPitchInDegrees(),
|
||||
detailHeaderStyle, detailColumnStyle, leaderboardPanel));
|
||||
result.put(DetailType.BRAVOEXTENDED_LEG_CURRENT_RIDE_HEIGHT_IN_METERS, new RideHeightColumn(DetailType.BRAVOEXTENDED_LEG_CURRENT_RIDE_HEIGHT_IN_METERS,
|
||||
result.put(DetailType.BRAVO_LEG_CURRENT_RIDE_HEIGHT_IN_METERS, new RideHeightColumn(DetailType.BRAVO_LEG_CURRENT_RIDE_HEIGHT_IN_METERS,
|
||||
new CurrentRideHeightInMeters(), detailHeaderStyle, detailColumnStyle, leaderboardPanel));
|
||||
result.put(DetailType.BRAVOEXTENDED_LEG_CURRENT_DISTANCE_FOILED_IN_METERS, new FormattedDoubleDetailTypeColumn(DetailType.BRAVOEXTENDED_LEG_CURRENT_DISTANCE_FOILED_IN_METERS,
|
||||
new CurrentDistanceFoiledInMeters(), detailHeaderStyle, detailColumnStyle, leaderboardPanel));
|
||||
|
||||
+3
-2
@@ -1,5 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.leaderboardedit;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
@@ -39,7 +40,7 @@ public class LeaderboardEditPage extends AbstractSailingEntryPoint {
|
||||
.deserializeFromCurrentLocation(new LeaderboardEditContextDefinition());
|
||||
final String leaderboardName = settings.getLeaderboardName();
|
||||
if (leaderboardNames.contains(leaderboardName)) {
|
||||
sailingService.getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<List<DetailType>>() {
|
||||
sailingService.getAvailableDetailTypesForLeaderboard(leaderboardName, new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -48,7 +49,7 @@ public class LeaderboardEditPage extends AbstractSailingEntryPoint {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
public void onSuccess(Collection<DetailType> result) {
|
||||
SAPHeaderWithAuthentication header = initHeader();
|
||||
GenericAuthentication genericSailingAuthentication = new FixedSailingAuthentication(getUserService(), header.getAuthenticationMenuView());
|
||||
AuthorizedContentDecorator authorizedContentDecorator = new GenericAuthorizedContentDecorator(genericSailingAuthentication);
|
||||
|
||||
+2
-2
@@ -119,7 +119,7 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint {
|
||||
public void onSuccess(List<DetailType> result) {
|
||||
sailingService.getAvailableDetailTypesForLeaderboard(
|
||||
raceboardContextDefinition.getLeaderboardName(),
|
||||
new AsyncCallback<List<DetailType>>() {
|
||||
new AsyncCallback<Collection<DetailType>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -128,7 +128,7 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<DetailType> availableDetailTypes) {
|
||||
public void onSuccess(Collection<DetailType> availableDetailTypes) {
|
||||
// TODO Auto-generated method stub
|
||||
final RaceBoardPerspectiveLifecycle lifeCycle = new RaceBoardPerspectiveLifecycle(
|
||||
StringMessages.INSTANCE, result, getUserService(), availableDetailTypes);
|
||||
|
||||
+5
-7
@@ -6942,14 +6942,14 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DetailType> getAvailableDetailTypesForLeaderboard(String leaderboardName) {
|
||||
List<DetailType> allowed = new ArrayList<>();
|
||||
public Collection<DetailType> getAvailableDetailTypesForLeaderboard(String leaderboardName) {
|
||||
Set<DetailType> allowed = new HashSet<>();
|
||||
allowed.addAll(DetailType.getAllNonRestrictedDetailTypes());
|
||||
Leaderboard leaderboard = getService().getLeaderboardByName(leaderboardName);
|
||||
if (leaderboard != null) {
|
||||
boolean hasBravoTrack = false;
|
||||
boolean hasExtendedBravoFixes = false;
|
||||
for (RaceColumn race : leaderboard.getRaceColumns()) {
|
||||
abort: for (RaceColumn race : leaderboard.getRaceColumns()) {
|
||||
for (Fleet fleet : race.getFleets()) {
|
||||
TrackedRace trace = race.getTrackedRace(fleet);
|
||||
if(trace != null){
|
||||
@@ -6960,24 +6960,22 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
hasBravoTrack = true;
|
||||
if (track.hasExtendedFixes()) {
|
||||
hasExtendedBravoFixes = true;
|
||||
break abort;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("Getting available types for " + leaderboardName + " " + hasBravoTrack + " " + hasExtendedBravoFixes);
|
||||
if(hasBravoTrack){
|
||||
allowed.addAll(DetailType.getRaceBravoDetailTypes());
|
||||
allowed.addAll(DetailType.getLegBravoDetailTypes());
|
||||
allowed.addAll(DetailType.getAvailableBravoOverallDetailColumnTypes());
|
||||
allowed.addAll(DetailType.getOverallBravoDetailTypes());
|
||||
}
|
||||
if(hasExtendedBravoFixes){
|
||||
allowed.addAll(DetailType.getRaceExpeditionDetailTypes());
|
||||
allowed.addAll(DetailType.getLegExpeditionDetailColumnTypes());
|
||||
}
|
||||
} else {
|
||||
System.out.println("Returning fallback detailtypes");
|
||||
}
|
||||
return allowed;
|
||||
}
|
||||
|
||||
+1
-1
@@ -126,7 +126,7 @@ public class EventConfigurationPanelPO extends PageArea {
|
||||
createDialog.setEventAndCourseArea(eventToLink, courseAreaToLink);
|
||||
}
|
||||
createDialog.pressOk();
|
||||
return waitForPO(ConfirmDialogPO::new, ID_CREATE_DEFAULT_REGATTA_LEADERBOARD_CONFIRM_DIALOG, 5);
|
||||
return waitForPO(ConfirmDialogPO::new, ID_CREATE_DEFAULT_REGATTA_LEADERBOARD_CONFIRM_DIALOG, 30);
|
||||
}
|
||||
|
||||
private ConfirmDialogPO createRegatta(String name, String boatClass, Date start, Date end) {
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package com.sap.sailing.selenium.pages.leaderboard;
|
||||
|
||||
/**
|
||||
* <p>Helper class for generating debug identifiers.</p>
|
||||
*
|
||||
* @author
|
||||
* Riccardo Nimser
|
||||
*/
|
||||
public class DebugIdHelper {
|
||||
/**
|
||||
* <p>Creates a debug identifier for the given enum value. The identifier is the camel cased name of the enum value
|
||||
* as declared in its enum declaration. The name is split into single words using the underscore.</p>
|
||||
*
|
||||
* @param value
|
||||
* The enum value for which the identfier should be created.
|
||||
* @return
|
||||
* A debug identifier for the given enum value.
|
||||
*/
|
||||
public static <T extends Enum<?>> String createDebugId(T value) {
|
||||
return createDebugId(value.name(), "_");
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Creates a debug identifier for the given name. The name is splited into single words using all whitespace
|
||||
* characters.</p>
|
||||
*
|
||||
* @param value
|
||||
* The name for which the identifier should be created.
|
||||
* @return
|
||||
* A debug identifier for the given enum value.
|
||||
*/
|
||||
public static String createDebugId(String name) {
|
||||
return createDebugId(name, "\\s");
|
||||
}
|
||||
|
||||
private static String createDebugId(String name, String splitRegex) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
for (String token : name.split(splitRegex)) {
|
||||
builder.append(token.substring(0, 1).toUpperCase());
|
||||
builder.append(token.substring(1, token.length()).toLowerCase());
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
+10
-7
@@ -1,27 +1,30 @@
|
||||
package com.sap.sailing.selenium.pages.leaderboard;
|
||||
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
|
||||
public enum DetailCheckboxInfo {
|
||||
|
||||
//Overall details
|
||||
REGATTA_RANK("RegattaRankCheckBox", "Regatta Rank"), TOTAL_DISTANCE("TotalDistanceTraveledCheckBox", "Total distance"), TOTAL_AVERAGE_SPEED_OVER_GROUND("TotalAverageSpeedOverGroundCheckBox", "∅ SOG"), TOTAL_TIME("TotalTimeSailedInSecondsCheckBox", "Total time"), MAXIMUM_SPEED_OVER_GROUND("MaximumSpeedOverGroundInKnotsCheckBox", "Max SOG"), TIME_ON_TIME_FACTOR("TimeOnTimeFactorCheckBox", "ToT Factor"), TIME_ON_DISTANCE_ALLOWANCE("TimeOnDistanceAllowanceInSecondsPerNauticalMileCheckBox", "ToD Allowance"),
|
||||
REGATTA_RANK(DetailType.REGATTA_RANK, "Regatta Rank"), TOTAL_DISTANCE(DetailType.OVERALL_TOTAL_DISTANCE_TRAVELED , "Total distance"), TOTAL_AVERAGE_SPEED_OVER_GROUND(DetailType.OVERALL_TOTAL_AVERAGE_SPEED_OVER_GROUND, "∅ SOG"), TOTAL_TIME(DetailType.OVERALL_TOTAL_TIME_SAILED_IN_SECONDS, "Total time"), MAXIMUM_SPEED_OVER_GROUND(DetailType.OVERALL_MAXIMUM_SPEED_OVER_GROUND_IN_KNOTS, "Max SOG"), TIME_ON_TIME_FACTOR(DetailType.OVERALL_TIME_ON_TIME_FACTOR, "ToT Factor"), TIME_ON_DISTANCE_ALLOWANCE(DetailType.OVERALL_TIME_ON_DISTANCE_ALLOWANCE_IN_SECONDS_PER_NAUTICAL_MILE, "ToD Allowance"),
|
||||
|
||||
//Race details
|
||||
RACE_GAP_TO_LEADER("RaceGapToLeaderInSecondsCheckBox", "Gap to leader"), RACE_AVERAGE_SPEED_OVER_GROUND("RaceAverageSpeedOverGroundInKnotsCheckBox", "∅ Speed"), RACE_DISTANCE("RaceDistanceTraveledCheckBox", "Distance"), RACE_DISTANCE_INCLUDING_GATE_START("RaceDistanceTraveledIncludingGateStartCheckBox", "Distance (w/ Gate Start)"), RACE_TIME("RaceTimeTraveledCheckBox", "Time"), RACE_CALCULATED_TIME("RaceCalculatedTimeTraveledCheckBox", "Calculated Time"), RACE_CALCULATED_TIME_AT_ESTIMATED_ARRIVAL_AT_COMPETITOR_FARTHEST_AHEAD("RaceCalculatedTimeAtEstimatedArrivalAtCompetitorFarthestAheadCheckBox", "Calc.Time @ Fastest"), RACE_CURRENT_SPEED_OVER_GROUND("RaceCurrentSpeedOverGroundInKnotsCheckBox", "SOG"), RACE_CURRENT_RIDE_HEIGHT("RaceCurrentRideHeightInMetersCheckBox", "Ride Height"), RACE_DISTANCE_TO_COMPETITOR_FARTHEST_AHEAD("RaceDistanceToCompetitorFarthestAheadInMetersCheckBox", "Gap"), NUMBER_OF_MANEUVERS("NumberOfManeuversCheckBox", "Maneuvers"), DISPLAY_LEGS("DisplayLegsCheckBox", "Legs"), CURRENT_LEG("CurrentLegCheckBox", "On Leg"), RACE_AVERAGE_ABSOLUTE_CROSS_TRACK_ERROR("RaceAverageAbsoluteCrossTrackErrorInMetersCheckBox", "∅ XTE"), RACE_AVERAGE_SIGNED_CROSS_TRACK_ERROR("RaceAverageSignedCrossTrackErrorInMetersCheckBox", "∅ XTE +/-"), RACE_RATIO_BETWEEN_TIME_SINCE_LAST_POSITION_FIX_AND_AVERAGE_SAMPLING_INTERVAL("RaceRatioBetweenTimeSinceLastPositionFixAndAverageSamplingIntervalCheckBox", "GPS Lag"),
|
||||
RACE_GAP_TO_LEADER(DetailType.RACE_GAP_TO_LEADER_IN_SECONDS, "Gap to leader"), RACE_AVERAGE_SPEED_OVER_GROUND(DetailType.RACE_AVERAGE_SPEED_OVER_GROUND_IN_KNOTS, "∅ Speed"), RACE_DISTANCE(DetailType.RACE_DISTANCE_TRAVELED, "Distance"), RACE_DISTANCE_INCLUDING_GATE_START(DetailType.RACE_DISTANCE_TRAVELED_INCLUDING_GATE_START, "Distance (w/ Gate Start)"), RACE_TIME(DetailType.RACE_TIME_TRAVELED, "Time"), RACE_CALCULATED_TIME(DetailType.RACE_CALCULATED_TIME_TRAVELED, "Calculated Time"), RACE_CALCULATED_TIME_AT_ESTIMATED_ARRIVAL_AT_COMPETITOR_FARTHEST_AHEAD(DetailType.RACE_CALCULATED_TIME_AT_ESTIMATED_ARRIVAL_AT_COMPETITOR_FARTHEST_AHEAD, "Calc.Time @ Fastest"), RACE_CURRENT_SPEED_OVER_GROUND(DetailType.RACE_CURRENT_SPEED_OVER_GROUND_IN_KNOTS, "SOG"), RACE_DISTANCE_TO_COMPETITOR_FARTHEST_AHEAD(DetailType.RACE_DISTANCE_TO_COMPETITOR_FARTHEST_AHEAD_IN_METERS, "Gap"), NUMBER_OF_MANEUVERS(DetailType.NUMBER_OF_MANEUVERS, "Maneuvers"), DISPLAY_LEGS(DetailType.RACE_DISPLAY_LEGS, "Legs"), CURRENT_LEG(DetailType.RACE_CURRENT_LEG, "On Leg"), RACE_AVERAGE_ABSOLUTE_CROSS_TRACK_ERROR(DetailType.RACE_AVERAGE_ABSOLUTE_CROSS_TRACK_ERROR_IN_METERS, "∅ XTE"), RACE_AVERAGE_SIGNED_CROSS_TRACK_ERROR(DetailType.RACE_AVERAGE_SIGNED_CROSS_TRACK_ERROR_IN_METERS, "∅ XTE +/-"), RACE_RATIO_BETWEEN_TIME_SINCE_LAST_POSITION_FIX_AND_AVERAGE_SAMPLING_INTERVAL(DetailType.RACE_RATIO_BETWEEN_TIME_SINCE_LAST_POSITION_FIX_AND_AVERAGE_SAMPLING_INTERVAL, "GPS Lag"),
|
||||
|
||||
//Race Start Analysis
|
||||
RACE_DISTANCE_TO_START_FIVE_SECONDS_BEFORE_START("RaceDistanceToStartFiveSecondsBeforeRaceStartCheckBox", "Distance to line 5s before start"), RACE_SPEED_OVER_GROUND_FIVE_SECONDS_BEFORE_START("RaceSpeedOverGroundFiveSecondsBeforeStartCheckBox", "SOG 5s before start"), DISTANCE_TO_START_AT_RACE_START("DistanceToStartAtRaceStartCheckBox", "Distance to line at Start"), TIME_BETWEEN_RACE_START_AND_COMPETITOR_START("TimeBetweenRaceStartAndCompetitorStartCheckBox", "Start delay"), SPEED_OVER_GROUND_AT_RACE_START("SpeedOverGroundAtRaceStartCheckBox", "SOG at Start"), SPEED_OVER_GROUND_WHEN_STARTING("SpeedOverGroundWhenPassingStartCheckBox", "SOG when Starting"), DISTANCE_TO_STARBOARD_END_OF_STARTLINE_WHEN_STARTING("DistanceToStarboardEndOfStartlineWhenPassingStartInMetersCheckBox", "Dist. Stb-Side of Line when Starting"), START_TACK("StartTackCheckBox", "Start Tack"),
|
||||
RACE_DISTANCE_TO_START_FIVE_SECONDS_BEFORE_START(DetailType.RACE_DISTANCE_TO_START_FIVE_SECONDS_BEFORE_RACE_START, "Distance to line 5s before start"), RACE_SPEED_OVER_GROUND_FIVE_SECONDS_BEFORE_START(DetailType.RACE_SPEED_OVER_GROUND_FIVE_SECONDS_BEFORE_START, "SOG 5s before start"), DISTANCE_TO_START_AT_RACE_START(DetailType.DISTANCE_TO_START_AT_RACE_START, "Distance to line at Start"), TIME_BETWEEN_RACE_START_AND_COMPETITOR_START(DetailType.TIME_BETWEEN_RACE_START_AND_COMPETITOR_START, "Start delay"), SPEED_OVER_GROUND_AT_RACE_START(DetailType.SPEED_OVER_GROUND_AT_RACE_START, "SOG at Start"), SPEED_OVER_GROUND_WHEN_STARTING(DetailType.SPEED_OVER_GROUND_WHEN_PASSING_START, "SOG when Starting"), DISTANCE_TO_STARBOARD_END_OF_STARTLINE_WHEN_STARTING(DetailType.DISTANCE_TO_STARBOARD_END_OF_STARTLINE_WHEN_PASSING_START_IN_METERS, "Dist. Stb-Side of Line when Starting"), START_TACK(DetailType.START_TACK, "Start Tack"),
|
||||
|
||||
//Leg Details
|
||||
AVERAGE_SPEED_OVER_GROUND("AverageSpeedOverGroundInKnotsCheckBox", "∅ Speed"), DISTANCE("DistanceTraveledCheckBox", "Distance"), DISTANCE_INCLUDING_START("DistanceTraveledIncludingGateStartCheckBox", "Distance (w/ Gate Start)"), GAP_TO_LEADER("GapToLeaderInSecondsCheckBox", "Gap to leader"), GAP_CHANGE_SINCE_LEG_START("GapChangeSinceLegStartInSecondsCheckBox", "Gap Change"), SIDE_TO_WHICH_MARK_AT_LEG_START_WAS_ROUNDED("SideToWhichMarkAtLegStartWasRoundedCheckBox", "Mark rounded to"), CURRENT_SPEED_OVER_GROUND("CurrentSpeedOverGroundInKnotsCheckBox", "SOG (∅ at end)"), CURRENT_RIDE_HEIGHT("CurrentRideHeightInMetersCheckBox", "Ride Height (∅ at end)"), WINDWARD_DISTANCE_TO_GO("WindwardDistanceToGoInMetersCheckBox", "Windward distance to go"), NUMBER_OF_MANEVEURS("NumberOfManeuversCheckBox", "Maneuvers"), ESTIMATED_TIME_TO_NEXT_WAYPOINT("EstimatedTimeToNextWaypointInSecondsCheckBox", "ETA"), VELOCITY_MADE_GOOD("VelocityMadeGoodInKnotsCheckBox", "VMG"), TIME("TimeTraveledCheckBox", "Time"), CORRECTED_TIME("CorrectedTimeTraveledCheckBox", "Calculated Time"), AVERAGE_ABSOLUTE_CROSS_TRACK_ERROR("AverageAbsoluteCrossTrackErrorInMetersCheckBox", "∅ XTE"), AVERAGE_SIGNED_CROSS_TRACK_ERROR("AverageSignedCrossTrackErrorInMetersCheckBox", "∅ XTE +/-"), RANK_GAIN("RankGainCheckBox", "Rank Gain"),
|
||||
AVERAGE_SPEED_OVER_GROUND(DetailType.LEG_AVERAGE_SPEED_OVER_GROUND_IN_KNOTS, "∅ Speed"), DISTANCE(DetailType.LEG_DISTANCE_TRAVELED, "Distance"), DISTANCE_INCLUDING_START(DetailType.LEG_DISTANCE_TRAVELED_INCLUDING_GATE_START, "Distance (w/ Gate Start)"), GAP_TO_LEADER(DetailType.LEG_GAP_TO_LEADER_IN_SECONDS, "Gap to leader"), GAP_CHANGE_SINCE_LEG_START(DetailType.LEG_GAP_CHANGE_SINCE_LEG_START_IN_SECONDS, "Gap Change"), SIDE_TO_WHICH_MARK_AT_LEG_START_WAS_ROUNDED(DetailType.LEG_SIDE_TO_WHICH_MARK_AT_LEG_START_WAS_ROUNDED, "Mark rounded to"), CURRENT_SPEED_OVER_GROUND(DetailType.LEG_CURRENT_SPEED_OVER_GROUND_IN_KNOTS, "SOG (∅ at end)"), WINDWARD_DISTANCE_TO_GO(DetailType.LEG_WINDWARD_DISTANCE_TO_GO_IN_METERS, "Windward distance to go"), NUMBER_OF_MANEVEURS(DetailType.NUMBER_OF_MANEUVERS, "Maneuvers"), ESTIMATED_TIME_TO_NEXT_WAYPOINT(DetailType.LEG_ESTIMATED_TIME_TO_NEXT_WAYPOINT_IN_SECONDS, "ETA"), VELOCITY_MADE_GOOD(DetailType.LEG_VELOCITY_MADE_GOOD_IN_KNOTS, "VMG"), TIME(DetailType.LEG_TIME_TRAVELED, "Time"), CORRECTED_TIME(DetailType.LEG_CORRECTED_TIME_TRAVELED, "Calculated Time"), AVERAGE_ABSOLUTE_CROSS_TRACK_ERROR(DetailType.LEG_AVERAGE_ABSOLUTE_CROSS_TRACK_ERROR_IN_METERS, "∅ XTE"), AVERAGE_SIGNED_CROSS_TRACK_ERROR(DetailType.LEG_AVERAGE_SIGNED_CROSS_TRACK_ERROR_IN_METERS , "∅ XTE +/-"), RANK_GAIN(DetailType.LEG_RANK_GAIN, "Rank Gain"),
|
||||
|
||||
//Maneuvers
|
||||
TACK("TackCheckBox", "Tack"), AVERAGE_TACK_LOSS("AverageTackLossInMetersCheckBox", "∅ Tack Loss"), JIBE("JibeCheckBox", "Jibe"), AVERAGE_JIBE_LOSS("AverageJibeLossInMetersCheckBox", "∅ Jibe Loss"), PENALTY_CIRCLE("PenaltyCircleCheckBox", "Penalty circle"), AVERAGE_MANEUVER_LOSS("AverageManeuverLossInMetersCheckBox", "∅ Maneuver Loss");
|
||||
TACK(DetailType.TACK, "Tack"), AVERAGE_TACK_LOSS(DetailType.AVERAGE_TACK_LOSS_IN_METERS, "∅ Tack Loss"), JIBE(DetailType.JIBE, "Jibe"), AVERAGE_JIBE_LOSS(DetailType.AVERAGE_JIBE_LOSS_IN_METERS, "∅ Jibe Loss"), PENALTY_CIRCLE(DetailType.PENALTY_CIRCLE, "Penalty circle"), AVERAGE_MANEUVER_LOSS(DetailType.AVERAGE_MANEUVER_LOSS_IN_METERS, "∅ Maneuver Loss");
|
||||
|
||||
public static final String CHECK_BOX_DEBUGID_CONSTANT = "CheckBox";
|
||||
private final String id;
|
||||
private final String label;
|
||||
|
||||
private DetailCheckboxInfo(String id, String label) {
|
||||
this.id = id;
|
||||
private DetailCheckboxInfo(DetailType id, String label) {
|
||||
this.id = DebugIdHelper.createDebugId(id)+CHECK_BOX_DEBUGID_CONSTANT;
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -454,7 +454,7 @@ public class SettingsTest extends AbstractSeleniumTest {
|
||||
DetailCheckboxInfo.RACE_DISTANCE_INCLUDING_GATE_START, DetailCheckboxInfo.RACE_TIME,
|
||||
DetailCheckboxInfo.RACE_CALCULATED_TIME,
|
||||
DetailCheckboxInfo.RACE_CALCULATED_TIME_AT_ESTIMATED_ARRIVAL_AT_COMPETITOR_FARTHEST_AHEAD,
|
||||
DetailCheckboxInfo.RACE_CURRENT_SPEED_OVER_GROUND, DetailCheckboxInfo.RACE_CURRENT_RIDE_HEIGHT,
|
||||
DetailCheckboxInfo.RACE_CURRENT_SPEED_OVER_GROUND,
|
||||
DetailCheckboxInfo.RACE_DISTANCE_TO_COMPETITOR_FARTHEST_AHEAD, DetailCheckboxInfo.NUMBER_OF_MANEUVERS,
|
||||
DetailCheckboxInfo.DISPLAY_LEGS, DetailCheckboxInfo.CURRENT_LEG,
|
||||
DetailCheckboxInfo.RACE_AVERAGE_ABSOLUTE_CROSS_TRACK_ERROR,
|
||||
@@ -472,7 +472,7 @@ public class SettingsTest extends AbstractSeleniumTest {
|
||||
DetailCheckboxInfo.DISTANCE_INCLUDING_START, DetailCheckboxInfo.GAP_TO_LEADER,
|
||||
DetailCheckboxInfo.GAP_CHANGE_SINCE_LEG_START,
|
||||
DetailCheckboxInfo.SIDE_TO_WHICH_MARK_AT_LEG_START_WAS_ROUNDED,
|
||||
DetailCheckboxInfo.CURRENT_SPEED_OVER_GROUND, DetailCheckboxInfo.CURRENT_RIDE_HEIGHT,
|
||||
DetailCheckboxInfo.CURRENT_SPEED_OVER_GROUND,
|
||||
DetailCheckboxInfo.WINDWARD_DISTANCE_TO_GO, DetailCheckboxInfo.NUMBER_OF_MANEVEURS,
|
||||
DetailCheckboxInfo.ESTIMATED_TIME_TO_NEXT_WAYPOINT, DetailCheckboxInfo.VELOCITY_MADE_GOOD,
|
||||
DetailCheckboxInfo.TIME, DetailCheckboxInfo.CORRECTED_TIME,
|
||||
|
||||
Reference in new issue
Block a user