Further cleanup and first apply of configured leaderboard settings for LeaderboardPanel

This commit is contained in:
fmittag committed 2015-12-09 17:43:56 +01:00
1 parent 95b8ed79e9
commit 182ef9910f
3 files changed
+38 -39

No files matched your search

@@ -41,10 +41,12 @@ import com.sap.sailing.gwt.ui.raceboard.RaceBoardPanel;
import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveSettings;
import com.sap.sailing.gwt.ui.shared.RaceTimesInfoDTO;
import com.sap.sailing.gwt.ui.shared.RaceboardDataDTO;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.player.Timer.PlayModes;
import com.sap.sse.gwt.client.shared.components.CompositeSettings;
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
import com.sap.sse.security.ui.client.UserService;
@@ -70,14 +72,15 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
// leaderboard related attributes
private LeaderboardDTO leaderboard;
private LeaderboardSettings leaderboardSettings;
// private LeaderboardSettings leaderboardSettings;
// raceboard related attributes
private RegattaAndRaceIdentifier currentLiveRace;
private boolean showRaceDetails;
private boolean showWindChart;
private final RaceBoardPerspectiveSettings raceboardPerspectiveSettings;
private final LeaderboardPerspectiveSettings leaderboardPerspectiveSettings;
private final CompositeSettings leaderboardComponentsSettings;
private final RaceBoardPerspectiveSettings raceboardPerspectiveSettings;
private final CompositeSettings raceboardComponentsSettings;
private final PlayerView playerView;
private final AutoPlayerConfiguration autoPlayerConfiguration;
private Widget currentContentWidget;
@@ -86,11 +89,9 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
public AutoPlayController(SailingServiceAsync sailingService, MediaServiceAsync mediaService,
UserService userService, ErrorReporter errorReporter, AutoPlayerConfiguration autoPlayerConfiguration,
UserAgentDetails userAgent, long delayToLiveInMillis, boolean showRaceDetails,
RaceBoardPerspectiveSettings raceboardPerspectiveSettings, PlayerView playerView,
LeaderboardPerspectiveSettings leaderboardPerspectiveSettings) {
this.raceboardPerspectiveSettings = raceboardPerspectiveSettings;
this.leaderboardPerspectiveSettings = leaderboardPerspectiveSettings;
UserAgentDetails userAgent, long delayToLiveInMillis, boolean showRaceDetails, PlayerView playerView,
Pair<RaceBoardPerspectiveSettings, CompositeSettings> allRaceboardSettings,
Pair<LeaderboardPerspectiveSettings, CompositeSettings> allLeaderboardSettings) {
this.sailingService = sailingService;
this.mediaService = mediaService;
this.userService = userService;
@@ -99,13 +100,16 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
this.userAgent = userAgent;
this.showRaceDetails = showRaceDetails;
this.playerView = playerView;
this.raceboardPerspectiveSettings = allRaceboardSettings.getA();
this.raceboardComponentsSettings = allRaceboardSettings.getB();
this.leaderboardPerspectiveSettings = allLeaderboardSettings.getA();
this.leaderboardComponentsSettings = allLeaderboardSettings.getB();
// if(this.leaderboardSettings == null) {
// leaderboardSettings = LeaderboardSettingsFactory.getInstance().createNewDefaultSettings(null, null, null, /* autoExpandFirstRace */ false, /* showRegattaRank */ true, /* showCompetitorSailIdColumn */ true, /* showCompetitorFullNameColumn */ true);
// }
//
asyncActionsExecutor = new AsyncActionsExecutor();
showWindChart = false;
leaderboard = null;
leaderboardTimer = new Timer(PlayModes.Live, /* delayBetweenAutoAdvancesInMilliseconds */1000l);
leaderboardTimer.setLivePlayDelayInMillis(delayToLiveInMillis);
@@ -131,6 +135,7 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
private LeaderboardPanel createLeaderboardPanel(String leaderboardName, boolean showRaceDetails) {
CompetitorSelectionModel selectionModel = new CompetitorSelectionModel(/* hasMultiSelection */ true);
LeaderboardSettings leaderboardSettings = (LeaderboardSettings) leaderboardComponentsSettings.getSettingsPerComponent().iterator().next().getB();
LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService, asyncActionsExecutor,
leaderboardSettings, true,
/* preSelectedRace */null, selectionModel, leaderboardTimer, /*leaderboardGroupName*/ "", leaderboardName,
@@ -284,9 +289,6 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
RaceBoardPanel raceBoardPanel = createRaceBoardPanel(AutoPlayController.this.autoPlayerConfiguration.getLeaderboardName(),
currentLiveRace, result.getCompetitorAndTheirBoats());
raceBoardPanel.setSize("100%", "100%");
if (showWindChart) {
raceBoardPanel.setWindChartVisible(true);
}
FlowPanel timePanel = createTimePanel(raceBoardPanel);
final Button toggleButton = raceBoardPanel.getTimePanel().getAdvancedToggleButton();
@@ -38,7 +38,6 @@ public class PlayerActivity extends AbstractActivity {
@Override
public void onSuccess(final EventDTO event) {
UserAgentDetails userAgent = new UserAgentDetails(Window.Navigator.getUserAgent());
//RaceBoardPerspectiveSettings readRaceboardConfiguration = readRaceboardConfiguration();
PlayerView view = clientFactory.createPlayerView();
panel.setWidget(view.asWidget());
@@ -46,8 +45,8 @@ public class PlayerActivity extends AbstractActivity {
autoPlayController = new AutoPlayController(clientFactory.getSailingService(), clientFactory
.getMediaService(), clientFactory.getUserService(), clientFactory.getErrorReporter(),
playerPlace.getConfiguration(), userAgent, delayToLiveMillis, showRaceDetails,
playerPlace.getRaceboardPerspectiveSettings().getA(), view, /** TODO: pass leaderboardSettings*/ null);
playerPlace.getConfiguration(), userAgent, delayToLiveMillis, showRaceDetails, view,
playerPlace.getRaceboardPerspectiveSettings(), playerPlace.getLeaderboardPerspectiveSettings());
autoPlayController.updatePlayMode(AutoPlayModes.Leaderboard);
}
@@ -58,28 +57,6 @@ public class PlayerActivity extends AbstractActivity {
});
}
// private RaceBoardPerspectiveSettings readRaceboardConfiguration() {
// Boolean autoSelectMedia = true;
//
// final boolean showLeaderboard = GwtHttpRequestUtils.getBooleanParameter(
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_LEADERBOARD, true /* default */);
// final boolean showWindChart = GwtHttpRequestUtils.getBooleanParameter(
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_WINDCHART, false /* default */);
// final boolean showViewStreamlets = GwtHttpRequestUtils.getBooleanParameter(
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_STREAMLETS, false /* default */);
// final boolean showViewStreamletColors = GwtHttpRequestUtils.getBooleanParameter(
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_STREAMLET_COLORS, false /* default */);
// final boolean showViewSimulation = GwtHttpRequestUtils.getBooleanParameter(
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_SIMULATION, false /* default */);
// final boolean showCompetitorsChart = GwtHttpRequestUtils.getBooleanParameter(
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_COMPETITORSCHART, false /* default */);
// String activeCompetitorsFilterSetName = GwtHttpRequestUtils.getStringParameter(RaceBoardPerspectiveSettings.PARAM_VIEW_COMPETITOR_FILTER, null /* default*/);
// final String defaultMedia = GwtHttpRequestUtils.getStringParameter(RaceBoardPerspectiveSettings.PARAM_DEFAULT_MEDIA, null /* default */);
//
// return new RaceBoardPerspectiveSettings(activeCompetitorsFilterSetName, showLeaderboard,
// showWindChart, showCompetitorsChart, showViewStreamlets, showViewStreamletColors, showViewSimulation, /* canReplayWhileLiveIsPossible */false, autoSelectMedia, defaultMedia);
// }
private void createErrorView(String errorMessage, Throwable errorReason, AcceptsOneWidget panel) {
ErrorView view = clientFactory.createErrorView(errorMessage, errorReason);
panel.setWidget(view.asWidget());
@@ -1,9 +1,11 @@
package com.sap.sailing.gwt.ui.raceboard;
import com.sap.sse.common.settings.AbstractSettings;
import com.sap.sse.gwt.shared.GwtHttpRequestUtils;
/**
* Represents the parameters for configuring the raceboard view
*
* @author Frank
*
*/
@@ -35,12 +37,14 @@ public class RaceBoardPerspectiveSettings extends AbstractSettings {
public RaceBoardPerspectiveSettings() {
this(/* activeCompetitorsFilterSetName */null, /* showLeaderboard */true,
/* showWindChart */ false, /* showCompetitorsChart */ false, /* showViewStreamlets */ false, /* showViewStreamletColors */ false, /* showViewSimulation */ false,
/* showWindChart */false, /* showCompetitorsChart */false, /* showViewStreamlets */false, /* showViewStreamletColors */
false, /* showViewSimulation */false,
/* canReplayDuringLiveRaces */false, /* autoSelectMedia */false, null);
}
public RaceBoardPerspectiveSettings(String activeCompetitorsFilterSetName, boolean showLeaderboard,
boolean showWindChart, boolean showCompetitorsChart, boolean showViewStreamlets, boolean showViewStreamletColors, boolean showViewSimulation, boolean canReplayDuringLiveRaces,
boolean showWindChart, boolean showCompetitorsChart, boolean showViewStreamlets,
boolean showViewStreamletColors, boolean showViewSimulation, boolean canReplayDuringLiveRaces,
boolean autoSelectMedia, String defaultMedia) {
this.activeCompetitorsFilterSetName = activeCompetitorsFilterSetName;
this.showLeaderboard = showLeaderboard;
@@ -94,4 +98,20 @@ public class RaceBoardPerspectiveSettings extends AbstractSettings {
return defaultMedia;
}
public static RaceBoardPerspectiveSettings readSettingsFromURL() {
final boolean showLeaderboard = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_LEADERBOARD, true /* default */);
final boolean showWindChart = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_WINDCHART, false /* default */);
final boolean showViewStreamlets = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_STREAMLETS, false /* default */);
final boolean showViewStreamletColors = GwtHttpRequestUtils.getBooleanParameter(
PARAM_VIEW_SHOW_STREAMLET_COLORS, false /* default */);
final boolean showViewSimulation = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_SIMULATION, false /* default */);
final boolean showCompetitorsChart = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_COMPETITORSCHART, false /* default */);
String activeCompetitorsFilterSetName = GwtHttpRequestUtils.getStringParameter(PARAM_VIEW_COMPETITOR_FILTER, null /* default */);
final Boolean autoSelectMedia = GwtHttpRequestUtils.getBooleanParameter(PARAM_AUTOSELECT_MEDIA, true /* default */);
final String defaultMedia = GwtHttpRequestUtils.getStringParameter(PARAM_DEFAULT_MEDIA, null /* default */);
return new RaceBoardPerspectiveSettings(activeCompetitorsFilterSetName, showLeaderboard, showWindChart,
showCompetitorsChart, showViewStreamlets, showViewStreamletColors, showViewSimulation, /* canReplayWhileLiveIsPossible */
false, autoSelectMedia, defaultMedia);
}
}