From 3fec3d770b5887c3f1abbefeb64e33dc00b48d6c Mon Sep 17 00:00:00 2001 From: Kai Boernert Date: Wed, 22 Feb 2017 09:37:54 +0100 Subject: [PATCH] racebord url creation in adminconsole fixed --- .../place/player/AutoPlayController.java | 4 +- .../places/event/AbstractEventActivity.java | 4 +- .../EntryPointWithSettingsLinkFactory.java | 8 ++++ .../LeaderboardGroupConfigPanel.java | 4 +- .../shared/racemap/RaceMapSettings.java | 8 ++-- .../EmbeddedMapAndWindChartEntryPoint.java | 4 +- .../gwt/ui/raceboard/RaceBoardEntryPoint.java | 12 ++--- .../gwt/ui/raceboard/RaceBoardPanel.java | 12 ++--- .../RaceBoardPerspectiveLifecycle.java | 12 ++--- ...a => RaceBoardPerspectiveOwnSettings.java} | 12 ++--- ...ardPerspectiveSettingsDialogComponent.java | 16 +++---- .../ui/spectator/LeaderboardGroupPanel.java | 47 ++++++++----------- .../gwt/ui/spectator/SpectatorEntryPoint.java | 8 ++-- 13 files changed, 75 insertions(+), 76 deletions(-) rename java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/{RaceBoardPerspectiveSettings.java => RaceBoardPerspectiveOwnSettings.java} (90%) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/player/AutoPlayController.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/player/AutoPlayController.java index fd7c58655e1..07208901453 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/player/AutoPlayController.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/player/AutoPlayController.java @@ -23,7 +23,7 @@ import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.leaderboard.LeaderboardEntryPoint; import com.sap.sailing.gwt.ui.raceboard.RaceBoardPanel; -import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveSettings; +import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveOwnSettings; import com.sap.sailing.gwt.ui.shared.RaceTimesInfoDTO; import com.sap.sailing.gwt.ui.shared.RaceboardDataDTO; import com.sap.sse.gwt.client.ErrorReporter; @@ -131,7 +131,7 @@ public class AutoPlayController implements RaceTimesInfoProviderListener, Leader playerView.clearContent(); - PerspectiveCompositeSettings raceboardSettings = settings + PerspectiveCompositeSettings raceboardSettings = settings .findSettingsByComponentId(autoplayLiveCycle.getRaceboardLifecycle().getComponentId()); RaceBoardPanel raceboardPerspective = new RaceBoardPanel(null, null, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/AbstractEventActivity.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/AbstractEventActivity.java index c2d804bc70e..12a158bfbed 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/AbstractEventActivity.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/AbstractEventActivity.java @@ -41,7 +41,7 @@ import com.sap.sailing.gwt.ui.client.EntryPointLinkFactory; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.refresh.ErrorAndBusyClientFactory; import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapSettings; -import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveSettings; +import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveOwnSettings; import com.sap.sse.gwt.client.player.Timer; import com.sap.sse.gwt.client.player.Timer.PlayModes; @@ -178,7 +178,7 @@ public abstract class AbstractEventActivity ex // TODO this must only be forwarded if there is a logged-on user // linkParams.put(RaceBoardViewConfiguration.PARAM_CAN_REPLAY_DURING_LIVE_RACES, "true"); linkParams.put(RaceMapSettings.PARAM_SHOW_MAPCONTROLS, "true"); - linkParams.put(RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_NAVIGATION_PANEL, "true"); + linkParams.put(RaceBoardPerspectiveOwnSettings.PARAM_VIEW_SHOW_NAVIGATION_PANEL, "true"); linkParams.put("regattaName", regattaName); return linkParams; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/EntryPointWithSettingsLinkFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/EntryPointWithSettingsLinkFactory.java index 466e55694b8..95c134e5757 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/EntryPointWithSettingsLinkFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/EntryPointWithSettingsLinkFactory.java @@ -1,9 +1,12 @@ package com.sap.sailing.gwt.settings.client; +import com.sap.sailing.gwt.settings.client.raceboard.RaceboardContextSettings; import com.sap.sailing.gwt.settings.client.regattaoverview.RegattaOverviewBaseSettings; import com.sap.sailing.gwt.settings.client.regattaoverview.RegattaRaceStatesSettings; +import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveOwnSettings; import com.sap.sse.gwt.client.shared.components.LinkWithSettingsGenerator; import com.sap.sse.gwt.client.shared.perspective.IgnoreLocalSettings; +import com.sap.sse.gwt.client.shared.perspective.PerspectiveCompositeSettings; import com.sap.sse.gwt.settings.AbstractEntryPointWithSettingsLinkFactory; public class EntryPointWithSettingsLinkFactory extends AbstractEntryPointWithSettingsLinkFactory { @@ -18,4 +21,9 @@ public class EntryPointWithSettingsLinkFactory extends AbstractEntryPointWithSet new IgnoreLocalSettings(true)).createUrl(regattaRaceStatesSettings); } + public static String createRaceBoardLink(RaceboardContextSettings ctx, + PerspectiveCompositeSettings settings) { + return new LinkWithSettingsGenerator<>("/gwt/RaceBoard.html", ctx).createUrl(settings); + } + } 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 9061e5d3663..3e63431709c 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 @@ -44,7 +44,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.shared.controls.FlushableCellTable; import com.sap.sailing.gwt.ui.client.shared.controls.SelectionCheckboxColumn; import com.sap.sailing.gwt.ui.leaderboard.ScoringSchemeTypeFormatter; -import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveSettings; +import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveOwnSettings; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; @@ -506,7 +506,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements public SafeHtml getValue(LeaderboardGroupDTO group) { String debugParam = Window.Location.getParameter("gwt.codesvr"); String link = URLEncoder.encode("/gwt/Spectator.html?leaderboardGroupName=" + group.getName() - + "&showRaceDetails=true&"+RaceBoardPerspectiveSettings.PARAM_CAN_REPLAY_DURING_LIVE_RACES+"=true" + + "&showRaceDetails=true&"+RaceBoardPerspectiveOwnSettings.PARAM_CAN_REPLAY_DURING_LIVE_RACES+"=true" + (debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : "")); return ANCHORTEMPLATE.cell(link, group.getName()); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapSettings.java index 3126c5d9aec..19e77760a91 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMapSettings.java @@ -93,10 +93,10 @@ public class RaceMapSettings extends AbstractGenericSerializableSettings { } public RaceMapSettings(RaceMapZoomSettings zoomSettings, RaceMapHelpLinesSettings helpLinesSettings, - boolean transparentHoverlines, int hoverlineStrokeWeight, long tailLengthInMilliseconds, boolean windUp, - Distance buoyZoneRadius, boolean showOnlySelectedCompetitors, boolean showSelectedCompetitorsInfo, - boolean showWindStreamletColors, boolean showWindStreamletOverlay, boolean showSimulationOverlay, - boolean showMapControls, Collection maneuverTypesToShow, boolean showDouglasPeuckerPoints) { + Boolean transparentHoverlines, Integer hoverlineStrokeWeight, Long tailLengthInMilliseconds, Boolean windUp, + Distance buoyZoneRadius, Boolean showOnlySelectedCompetitors, Boolean showSelectedCompetitorsInfo, + Boolean showWindStreamletColors, Boolean showWindStreamletOverlay, Boolean showSimulationOverlay, + Boolean showMapControls, Collection maneuverTypesToShow, Boolean showDouglasPeuckerPoints) { this.zoomSettings.init(zoomSettings); this.helpLinesSettings.init(helpLinesSettings); this.transparentHoverlines.setValue(transparentHoverlines); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/EmbeddedMapAndWindChartEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/EmbeddedMapAndWindChartEntryPoint.java index d9a3f5d37e6..46775b08482 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/EmbeddedMapAndWindChartEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/EmbeddedMapAndWindChartEntryPoint.java @@ -86,7 +86,7 @@ public class EmbeddedMapAndWindChartEntryPoint extends AbstractSailingEntryPoint } // read optional parameters - final RaceBoardPerspectiveSettings raceboardPerspectiveSettings = RaceBoardPerspectiveSettings + final RaceBoardPerspectiveOwnSettings raceboardPerspectiveSettings = RaceBoardPerspectiveOwnSettings .readSettingsFromURL(/* defaultForViewShowLeaderboard */ true, /* defaultForViewShowWindchart */ true, /* defaultForViewShowCompetitorsChart */ false, /* defaultForViewCompetitorFilter */ null, /* defaultForCanReplayDuringLiveRaces */ false); @@ -154,7 +154,7 @@ public class EmbeddedMapAndWindChartEntryPoint extends AbstractSailingEntryPoint } private void createEmbeddedMap(final RegattaAndRaceIdentifier selectedRaceIdentifier, Map competitorBoats, - final RaceBoardPerspectiveSettings raceboardPerspectiveSettings, final RaceMapSettings raceMapSettings, + final RaceBoardPerspectiveOwnSettings raceboardPerspectiveSettings, final RaceMapSettings raceMapSettings, final boolean showCompetitors, final boolean play) { final StringBuilder title = new StringBuilder(regattaLikeName); title.append('/'); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java index 61c64e7ed37..8441a15d84b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java @@ -73,9 +73,9 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint { componentContextGlobalDefinition += "." + raceBoardContextSettings.getMode().toString(); } RaceBoardPerspectiveLifecycle lifeCycle = new RaceBoardPerspectiveLifecycle(null, StringMessages.INSTANCE); - ComponentContextWithSettingsStorage> context = new ComponentContextWithSettingsStorage>( + ComponentContextWithSettingsStorage> context = new ComponentContextWithSettingsStorage>( lifeCycle, - new UserSettingsStorageManager>( + new UserSettingsStorageManager>( getUserService(), componentContextGlobalDefinition + "." + lifeCycle.getComponentId(), UserSettingsStorageManager.buildContextDefinitionId(raceBoardContextSettings.getRegattaName(), raceBoardContextSettings.getRaceName(), raceBoardContextSettings.getLeaderboardName(), @@ -115,9 +115,9 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint { return; } - context.initInitialSettings(new DefaultOnSettingsLoadedCallback>() { + context.initInitialSettings(new DefaultOnSettingsLoadedCallback>() { @Override - public void onSuccess(PerspectiveCompositeSettings initialSettings) { + public void onSuccess(PerspectiveCompositeSettings initialSettings) { final RaceBoardPanel raceBoardPanel = createPerspectivePage(null, context, initialSettings, raceboardData, showChartMarkEditMediaButtonsAndVideo, lifeCycle); if (finalMode != null) { @@ -149,8 +149,8 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint { } private RaceBoardPanel createPerspectivePage(Component parent, - ComponentContextWithSettingsStorage> context, - PerspectiveCompositeSettings settings, RaceboardDataDTO raceboardData, + ComponentContextWithSettingsStorage> context, + PerspectiveCompositeSettings settings, RaceboardDataDTO raceboardData, boolean showChartMarkEditMediaButtonsAndVideo, RaceBoardPerspectiveLifecycle raceLifeCycle) { selectedRace = raceboardData.getRace(); Window.setTitle(selectedRace.getName()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java index 7caff5f7262..b1556a34e6a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java @@ -113,7 +113,7 @@ import com.sap.sse.security.ui.client.UserService; * */ public class RaceBoardPanel - extends AbstractPerspectiveComposite + extends AbstractPerspectiveComposite implements LeaderboardUpdateListener, PopupPositionProvider, RequiresResize { private final SailingServiceAsync sailingService; @@ -177,9 +177,9 @@ public class RaceBoardPanel * aligns its right border with that of the chart. Otherwise those components will be hidden. */ public RaceBoardPanel(Component parent, - ComponentContext> context, + ComponentContext> context, RaceBoardPerspectiveLifecycle lifecycle, - PerspectiveCompositeSettings settings, + PerspectiveCompositeSettings settings, SailingServiceAsync sailingService, MediaServiceAsync mediaService, UserService userService, AsyncActionsExecutor asyncActionsExecutor, Map competitorsAndTheirBoats, Timer timer, RegattaAndRaceIdentifier selectedRaceIdentifier, String leaderboardName, @@ -367,7 +367,7 @@ public class RaceBoardPanel * the charts are created. */ private void createOneScreenView(RaceBoardPerspectiveLifecycle lifecycle, - PerspectiveCompositeSettings settings, String leaderboardName, + PerspectiveCompositeSettings settings, String leaderboardName, String leaderboardGroupName, UUID event, FlowPanel mainPanel, boolean isScreenLargeEnoughToInitiallyDisplayLeaderboard, RaceMap raceMap, UserService userService, boolean showChartMarkEditMediaButtonsAndVideo) { @@ -472,7 +472,7 @@ public class RaceBoardPanel } private LeaderboardPanel createLeaderboardPanel(RaceBoardPerspectiveLifecycle lifecycle, - PerspectiveCompositeSettings settings, String leaderboardName, + PerspectiveCompositeSettings settings, String leaderboardName, String leaderboardGroupName, CompetitorFilterPanel competitorSearchTextBox, boolean isScreenLargeEnoughToInitiallyDisplayLeaderboard) { LeaderboardPanelLifecycle leaderboardPanelLifecycle = getPerspectiveLifecycle().getLeaderboardPanelLifecycle(); @@ -718,7 +718,7 @@ public class RaceBoardPanel } @Override - public SettingsDialogComponent getPerspectiveOwnSettingsDialogComponent() { + public SettingsDialogComponent getPerspectiveOwnSettingsDialogComponent() { return new RaceBoardPerspectiveSettingsDialogComponent(getPerspectiveSettings(), stringMessages); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveLifecycle.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveLifecycle.java index 63f2fbc7dbb..d9ea6ec4e1f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveLifecycle.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveLifecycle.java @@ -12,7 +12,7 @@ import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent; import com.sap.sse.gwt.client.shared.perspective.AbstractPerspectiveLifecycle; -public class RaceBoardPerspectiveLifecycle extends AbstractPerspectiveLifecycle { +public class RaceBoardPerspectiveLifecycle extends AbstractPerspectiveLifecycle { private final StringMessages stringMessages; private final RaceMapLifecycle raceMapLifecycle; @@ -45,12 +45,12 @@ public class RaceBoardPerspectiveLifecycle extends AbstractPerspectiveLifecycle< } @Override - public RaceBoardPerspectiveSettings createPerspectiveOwnDefaultSettings() { - return new RaceBoardPerspectiveSettings(); + public RaceBoardPerspectiveOwnSettings createPerspectiveOwnDefaultSettings() { + return new RaceBoardPerspectiveOwnSettings(); } @Override - public SettingsDialogComponent getPerspectiveOwnSettingsDialogComponent(RaceBoardPerspectiveSettings perspectiveSettings) { + public SettingsDialogComponent getPerspectiveOwnSettingsDialogComponent(RaceBoardPerspectiveOwnSettings perspectiveSettings) { return new RaceBoardPerspectiveSettingsDialogComponent(perspectiveSettings, stringMessages); } @@ -94,12 +94,12 @@ public class RaceBoardPerspectiveLifecycle extends AbstractPerspectiveLifecycle< } @Override - protected RaceBoardPerspectiveSettings extractOwnGlobalSettings(RaceBoardPerspectiveSettings settings) { + protected RaceBoardPerspectiveOwnSettings extractOwnGlobalSettings(RaceBoardPerspectiveOwnSettings settings) { return createPerspectiveOwnDefaultSettings(); } @Override - protected RaceBoardPerspectiveSettings extractOwnContextSettings(RaceBoardPerspectiveSettings settings) { + protected RaceBoardPerspectiveOwnSettings extractOwnContextSettings(RaceBoardPerspectiveOwnSettings settings) { return createPerspectiveOwnDefaultSettings(); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveOwnSettings.java similarity index 90% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveSettings.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveOwnSettings.java index 8415d0bb9ba..a63b1bffbb1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveOwnSettings.java @@ -13,7 +13,7 @@ import com.sap.sse.gwt.shared.GwtHttpRequestUtils; * @author Frank * */ -public class RaceBoardPerspectiveSettings extends AbstractGenericSerializableSettings { +public class RaceBoardPerspectiveOwnSettings extends AbstractGenericSerializableSettings { private static final long serialVersionUID = 5471954179434008459L; @@ -35,7 +35,7 @@ public class RaceBoardPerspectiveSettings extends AbstractGenericSerializableSet public static final String PARAM_CAN_REPLAY_DURING_LIVE_RACES = "canReplayDuringLiveRaces"; public static final String PARAM_TIME_AFTER_RACE_START_AS_HOURS_COLON_MILLIS_COLON_SECONDS = "t"; - public RaceBoardPerspectiveSettings() { + public RaceBoardPerspectiveOwnSettings() { } @Override @@ -48,8 +48,8 @@ public class RaceBoardPerspectiveSettings extends AbstractGenericSerializableSet this.initialDurationAfterRaceStartInReplay = new DurationSetting("initialDurationAfterRaceStartInReplay", this, null); } - public RaceBoardPerspectiveSettings(String activeCompetitorsFilterSetName, boolean showLeaderboard, - boolean showWindChart, boolean showCompetitorsChart, boolean canReplayDuringLiveRaces, + public RaceBoardPerspectiveOwnSettings(String activeCompetitorsFilterSetName, Boolean showLeaderboard, + Boolean showWindChart, Boolean showCompetitorsChart, Boolean canReplayDuringLiveRaces, Duration initialDurationAfterRaceStartInReplay) { this.activeCompetitorsFilterSetName.setValue(activeCompetitorsFilterSetName); this.showLeaderboard.setValue(showLeaderboard); @@ -79,7 +79,7 @@ public class RaceBoardPerspectiveSettings extends AbstractGenericSerializableSet return canReplayDuringLiveRaces.getValue(); } - public static RaceBoardPerspectiveSettings readSettingsFromURL(boolean defaultForViewShowLeaderboard, + public static RaceBoardPerspectiveOwnSettings readSettingsFromURL(boolean defaultForViewShowLeaderboard, boolean defaultForViewShowWindchart, boolean defaultForViewShowCompetitorsChart, String defaultForViewCompetitorFilter, boolean defaultForCanReplayDuringLiveRaces) { final boolean showLeaderboard = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_LEADERBOARD, defaultForViewShowLeaderboard /* default */); @@ -89,7 +89,7 @@ public class RaceBoardPerspectiveSettings extends AbstractGenericSerializableSet final boolean canReplayWhileLiveIsPossible = GwtHttpRequestUtils.getBooleanParameter(PARAM_CAN_REPLAY_DURING_LIVE_RACES, defaultForCanReplayDuringLiveRaces /* default */); final Duration initialDurationAfterRaceStartInReplay = parseDuration(GwtHttpRequestUtils.getStringParameter( PARAM_TIME_AFTER_RACE_START_AS_HOURS_COLON_MILLIS_COLON_SECONDS, null /* default */)); - return new RaceBoardPerspectiveSettings(activeCompetitorsFilterSetName, showLeaderboard, showWindChart, + return new RaceBoardPerspectiveOwnSettings(activeCompetitorsFilterSetName, showLeaderboard, showWindChart, showCompetitorsChart, canReplayWhileLiveIsPossible, initialDurationAfterRaceStartInReplay); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveSettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveSettingsDialogComponent.java index 0ddeea45e0a..3372695a592 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveSettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPerspectiveSettingsDialogComponent.java @@ -9,15 +9,15 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog; import com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator; import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent; -public class RaceBoardPerspectiveSettingsDialogComponent implements SettingsDialogComponent { +public class RaceBoardPerspectiveSettingsDialogComponent implements SettingsDialogComponent { private CheckBox showLeaderboardCheckBox; private CheckBox showWindChartCheckBox; private CheckBox showCompetitorsChartCheckBox; private final StringMessages stringMessages; - private final RaceBoardPerspectiveSettings initialSettings; + private final RaceBoardPerspectiveOwnSettings initialSettings; - public RaceBoardPerspectiveSettingsDialogComponent(RaceBoardPerspectiveSettings settings, StringMessages stringMessages) { + public RaceBoardPerspectiveSettingsDialogComponent(RaceBoardPerspectiveOwnSettings settings, StringMessages stringMessages) { this.initialSettings = settings; this.stringMessages = stringMessages; } @@ -42,18 +42,18 @@ public class RaceBoardPerspectiveSettingsDialogComponent implements SettingsDial } @Override - public RaceBoardPerspectiveSettings getResult() { - RaceBoardPerspectiveSettings result = new RaceBoardPerspectiveSettings(initialSettings.getActiveCompetitorsFilterSetName(), + public RaceBoardPerspectiveOwnSettings getResult() { + RaceBoardPerspectiveOwnSettings result = new RaceBoardPerspectiveOwnSettings(initialSettings.getActiveCompetitorsFilterSetName(), showLeaderboardCheckBox.getValue(), showWindChartCheckBox.getValue(), showCompetitorsChartCheckBox.getValue(), initialSettings.isCanReplayDuringLiveRaces(), initialSettings.getInitialDurationAfterRaceStartInReplay()); return result; } @Override - public Validator getValidator() { - return new Validator() { + public Validator getValidator() { + return new Validator() { @Override - public String getErrorMessage(RaceBoardPerspectiveSettings valueToValidate) { + public String getErrorMessage(RaceBoardPerspectiveOwnSettings valueToValidate) { String errorMessage = null; return errorMessage; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java index 339bbc273e2..9f65088aa06 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java @@ -31,24 +31,29 @@ import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; import com.sap.sailing.domain.common.dto.RaceDTO; +import com.sap.sailing.gwt.settings.client.EntryPointWithSettingsLinkFactory; +import com.sap.sailing.gwt.settings.client.raceboard.RaceboardContextSettings; import com.sap.sailing.gwt.ui.adminconsole.LeaderboardConfigPanel.AnchorCell; import com.sap.sailing.gwt.ui.client.EntryPointLinkFactory; import com.sap.sailing.gwt.ui.client.HasWelcomeWidget; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.shared.panels.WelcomeWidget; +import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapLifecycle; import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapSettings; -import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveSettings; +import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveOwnSettings; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.SeriesDTO; import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; import com.sap.sse.common.Color; import com.sap.sse.common.Util; +import com.sap.sse.common.settings.Settings; import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.celltable.BaseCelltable; import com.sap.sse.gwt.client.player.Timer; import com.sap.sse.gwt.client.player.Timer.PlayModes; +import com.sap.sse.gwt.client.shared.perspective.PerspectiveCompositeSettings; public class LeaderboardGroupPanel extends SimplePanel implements HasWelcomeWidget { @@ -97,7 +102,6 @@ public class LeaderboardGroupPanel extends SimplePanel implements HasWelcomeWidg private final ErrorReporter errorReporter; private LeaderboardGroupDTO leaderboardGroup; private Map regattasByName; - private final String root; private final String viewMode; private VerticalPanel mainPanel; @@ -106,13 +110,11 @@ public class LeaderboardGroupPanel extends SimplePanel implements HasWelcomeWidg private final boolean showRaceDetails; private final boolean canReplayDuringLiveRaces; private final boolean showMapControls; - private final boolean showNavigationPanel; private final Timer timerForClientServerOffset; public LeaderboardGroupPanel(SailingServiceAsync sailingService, StringMessages stringConstants, ErrorReporter errorReporter, final String groupName, String root, String viewMode, boolean embedded, - boolean showRaceDetails, boolean canReplayDuringLiveRaces, boolean showMapControls, - boolean showNavigationPanel) { + boolean showRaceDetails, boolean canReplayDuringLiveRaces, boolean showMapControls) { super(); this.isEmbedded = embedded; this.showRaceDetails = showRaceDetails; @@ -121,8 +123,6 @@ public class LeaderboardGroupPanel extends SimplePanel implements HasWelcomeWidg this.sailingService = sailingService; this.stringMessages = stringConstants; this.errorReporter = errorReporter; - this.showNavigationPanel = showNavigationPanel; - this.root = (root == null || root.length() == 0) ? "leaderboardGroupPanel" : root; this.viewMode = viewMode; setWidth("95%"); regattasByName = new HashMap(); @@ -405,7 +405,19 @@ public class LeaderboardGroupPanel extends SimplePanel implements HasWelcomeWidg private void renderRaceLink(String leaderboardName, RaceDTO race, boolean isLive, String raceColumnName, SafeHtmlBuilder b) { if (race != null) { RegattaAndRaceIdentifier raceIdentifier = race.getRaceIdentifier(); - String link = EntryPointLinkFactory.createRaceBoardLink(createRaceBoardLinkParameters(leaderboardName, raceIdentifier)); + + RaceboardContextSettings raceboardContext = new RaceboardContextSettings(raceIdentifier.getRegattaName(), + raceIdentifier.getRaceName(), leaderboardName, leaderboardGroup.getName(), null, viewMode); + RaceBoardPerspectiveOwnSettings perspectiveOwnSettings = new RaceBoardPerspectiveOwnSettings(null, null, + null, null, canReplayDuringLiveRaces, null); + HashMap innerSettings = new HashMap<>(); + innerSettings.put(RaceMapLifecycle.ID, + new RaceMapSettings(null, null, null, null, null, null, null, null, null, null, null, null, + showMapControls, null, null)); + PerspectiveCompositeSettings settings = new PerspectiveCompositeSettings<>( + perspectiveOwnSettings, innerSettings); + + String link = EntryPointWithSettingsLinkFactory.createRaceBoardLink(raceboardContext, settings); if (isLive) { b.append(getAnchor(link, raceColumnName, STYLE_LIVE_RACE)); } else if (race.trackedRace.hasGPSData && race.trackedRace.hasWindData) { @@ -418,25 +430,6 @@ public class LeaderboardGroupPanel extends SimplePanel implements HasWelcomeWidg } } - private Map createRaceBoardLinkParameters(String leaderboardName, - RegattaAndRaceIdentifier raceIdentifier) { - Map linkParams = new HashMap(); - linkParams.put("leaderboardName", leaderboardName); - linkParams.put("raceName", raceIdentifier.getRaceName()); - if (canReplayDuringLiveRaces) { - linkParams.put(RaceBoardPerspectiveSettings.PARAM_CAN_REPLAY_DURING_LIVE_RACES, "true"); - } - linkParams.put(RaceMapSettings.PARAM_SHOW_MAPCONTROLS, Boolean.toString(showMapControls)); - linkParams.put(RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_NAVIGATION_PANEL, - Boolean.toString(showNavigationPanel)); - linkParams.put("regattaName", raceIdentifier.getRegattaName()); - linkParams.put("leaderboardGroupName", leaderboardGroup.getName()); - if (viewMode != null && !viewMode.isEmpty()) { - linkParams.put("viewMode", viewMode); - } - return linkParams; - } - private SafeHtml getAnchor(String link, String linkText, String style) { if (isEmbedded) { return ANCHORTEMPLATE.anchorWithTarget(link, linkText, style, "_blank"); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/SpectatorEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/SpectatorEntryPoint.java index 685c46e5ab7..fdc5489d14f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/SpectatorEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/SpectatorEntryPoint.java @@ -15,7 +15,7 @@ import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint; import com.sap.sailing.gwt.ui.client.RegattaRefresher; import com.sap.sailing.gwt.ui.client.shared.panels.SimpleWelcomeWidget; import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapSettings; -import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveSettings; +import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveOwnSettings; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; import com.sap.sse.gwt.shared.GwtHttpRequestUtils; @@ -33,11 +33,9 @@ public class SpectatorEntryPoint extends AbstractSailingEntryPoint implements Re String groupParamValue = Window.Location.getParameter("leaderboardGroupName"); String viewModeParamValue = Window.Location.getParameter("viewMode"); final boolean canReplayDuringLiveRaces = GwtHttpRequestUtils.getBooleanParameter( - RaceBoardPerspectiveSettings.PARAM_CAN_REPLAY_DURING_LIVE_RACES, /* defaultValue */ false); + RaceBoardPerspectiveOwnSettings.PARAM_CAN_REPLAY_DURING_LIVE_RACES, /* defaultValue */ false); final boolean showMapControls = GwtHttpRequestUtils.getBooleanParameter( RaceMapSettings.PARAM_SHOW_MAPCONTROLS, /* defaultValue */ true); - final boolean showNavigationPanel = GwtHttpRequestUtils.getBooleanParameter( - RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_NAVIGATION_PANEL, true /* default */); boolean showRaceDetails = Window.Location.getParameter("showRaceDetails") != null && Window.Location.getParameter("showRaceDetails").equalsIgnoreCase("true"); final String groupName; @@ -77,7 +75,7 @@ public class SpectatorEntryPoint extends AbstractSailingEntryPoint implements Re } else { LeaderboardGroupPanel groupPanel = new LeaderboardGroupPanel(sailingService, getStringMessages(), this, groupName, root, viewModeParamValue, embedded, showRaceDetails, canReplayDuringLiveRaces, - showMapControls, showNavigationPanel); + showMapControls); groupAndFeedbackPanel.add(groupPanel); if (!embedded) { groupPanel.setWelcomeWidget(new SimpleWelcomeWidget(getStringMessages().welcomeToSailingAnalytics(),