support viewShowLeaderboard, viewShowWindChart and viewShowCompetitorsChart as URL parameters for TvView entry point

This commit is contained in:
Axel Uhl committed 2013-04-24 00:32:30 +02:00
1 parent b70db297b7
commit c258cdcd88
2 files changed
+18 -5

No files matched your search

@@ -10,7 +10,9 @@ import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootLayoutPanel;
import com.google.gwt.user.client.ui.RootPanel;
import com.sap.sailing.gwt.ui.client.AbstractEntryPoint;
import com.sap.sailing.gwt.ui.client.GwtHttpRequestUtils;
import com.sap.sailing.gwt.ui.client.LogoAndTitlePanel;
import com.sap.sailing.gwt.ui.raceboard.RaceBoardViewConfiguration;
public class TVEntryPoint extends AbstractEntryPoint {
private static final String PARAM_LEADERBOARD_GROUP_NAME = "leaderboardGroupName";
@@ -20,6 +22,7 @@ public class TVEntryPoint extends AbstractEntryPoint {
private String leaderboardName;
private String leaderboardGroupName;
private TVViewController tvViewController;
private RaceBoardViewConfiguration raceboardViewConfig;
@Override
public void doOnModuleLoad() {
@@ -29,8 +32,17 @@ public class TVEntryPoint extends AbstractEntryPoint {
&& Window.Location.getParameter(PARAM_SHOW_RACE_DETAILS).equalsIgnoreCase("true");
final boolean embedded = Window.Location.getParameter(PARAM_EMBEDDED) != null
&& Window.Location.getParameter(PARAM_EMBEDDED).equalsIgnoreCase("true");
final long delayToLiveMillis = Window.Location.getParameter(PARAM_DELAY_TO_LIVE_MILLIS) != null ?
Long.valueOf(Window.Location.getParameter(PARAM_DELAY_TO_LIVE_MILLIS)) : 5000l; // default 5s
final long delayToLiveMillis = Window.Location.getParameter(PARAM_DELAY_TO_LIVE_MILLIS) != null ? Long
.valueOf(Window.Location.getParameter(PARAM_DELAY_TO_LIVE_MILLIS)) : 5000l; // default 5s
boolean showLeaderboard = GwtHttpRequestUtils.getBooleanParameter(
RaceBoardViewConfiguration.PARAM_VIEW_SHOW_LEADERBOARD, true /* default */);
boolean showWindChart = GwtHttpRequestUtils.getBooleanParameter(
RaceBoardViewConfiguration.PARAM_VIEW_SHOW_WINDCHART, false /* default */);
boolean showCompetitorsChart = GwtHttpRequestUtils.getBooleanParameter(
RaceBoardViewConfiguration.PARAM_VIEW_SHOW_COMPETITORSCHART, false /* default */);
raceboardViewConfig = new RaceBoardViewConfiguration(RaceBoardViewConfiguration.ViewModes.ONESCREEN, showLeaderboard, showWindChart,
showCompetitorsChart);
sailingService.getLeaderboardNames(new AsyncCallback<List<String>>() {
@Override
public void onSuccess(List<String> leaderboardNames) {
@@ -65,7 +77,7 @@ public class TVEntryPoint extends AbstractEntryPoint {
}
tvViewController = new TVViewController(sailingService, mediaService, stringMessages, this, leaderboardGroupName,
leaderboardName, userAgent, logoAndTitlePanel, mainPanel, delayToLiveMillis, showRaceDetails);
leaderboardName, userAgent, logoAndTitlePanel, mainPanel, delayToLiveMillis, showRaceDetails, raceboardViewConfig);
tvViewController.updateTvView(TVViews.Leaderboard);
}
}
@@ -61,10 +61,11 @@ public class TVViewController implements RaceTimesInfoProviderListener {
/**
* @param leaderboardGroupName TODO
* @param logoAndTitlePanel allowed to be <code>null</code>
* @param raceboardViewConfig TODO
*/
public TVViewController(SailingServiceAsync sailingService, MediaServiceAsync mediaService, StringMessages stringMessages, ErrorReporter errorReporter,
String leaderboardGroupName, String leaderboardName, UserAgentDetails userAgent,
LogoAndTitlePanel logoAndTitlePanel, DockLayoutPanel dockPanel, long delayToLiveInMillis, boolean showRaceDetails) {
LogoAndTitlePanel logoAndTitlePanel, DockLayoutPanel dockPanel, long delayToLiveInMillis, boolean showRaceDetails, RaceBoardViewConfiguration raceboardViewConfig) {
this.sailingService = sailingService;
this.mediaService = mediaService;
this.stringMessages = stringMessages;
@@ -126,7 +127,7 @@ public class TVViewController implements RaceTimesInfoProviderListener {
List<RegattaAndRaceIdentifier> singletonList = Collections.singletonList(raceToShow);
raceSelectionModel.setSelection(singletonList);
RaceBoardPanel raceBoardPanel = new RaceBoardPanel(sailingService, mediaService, null, timer, raceSelectionModel, leaderboardName, null,
new RaceBoardViewConfiguration(), errorReporter, stringMessages, userAgent, raceTimesInfoProvider);
new RaceBoardViewConfiguration(), errorReporter, stringMessages, userAgent, raceTimesInfoProvider);
return raceBoardPanel;
}