settings for leaderboard with no context

This commit is contained in:
Kai Boernert committed 2017-01-27 14:58:00 +01:00
1 parent ba8c1d30a4
commit 8c6c6e0f3c
7 files changed
+30 -8

No files matched your search

@@ -209,6 +209,9 @@ public class OldLeaderboard extends Composite implements BusyStateChangeListener
public void setLeaderboard(LeaderboardPanel leaderboardPanel, final Timer timer) {
this.autoRefreshTimer = timer;
this.leaderboardPanel = leaderboardPanel;
if (leaderboardPanel.getComponentContext() == null) {
throw new IllegalStateException("Leaderboard Component with null Context");
}
oldLeaderboardPanel.add(leaderboardPanel);
leaderboardPanel.addBusyStateChangeListener(this);
}
@@ -9,6 +9,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChart;
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChartSettings;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanelLifecycle;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.ErrorReporter;
@@ -16,6 +17,7 @@ import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
import com.sap.sse.gwt.client.shared.perspective.SimpleComponentContext;
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
/**
@@ -49,7 +51,9 @@ public class RegattaAnalyticsDataManager {
final String leaderboardGroupName, String leaderboardName, boolean showRaceDetails,
boolean autoExpandLastRaceColumn) {
if (leaderboardPanel == null) {
leaderboardPanel = new LeaderboardPanel(null, null, sailingService, asyncActionsExecutor,
LeaderboardPanelLifecycle lifeCycle = new LeaderboardPanelLifecycle(null, StringMessages.INSTANCE);
leaderboardPanel = new LeaderboardPanel(null, new SimpleComponentContext<>(lifeCycle), sailingService,
asyncActionsExecutor,
leaderboardSettings,
true, preselectedRace,
competitorSelectionProvider, timer, leaderboardGroupName, leaderboardName, errorReporter,
@@ -5,9 +5,12 @@ import com.google.gwt.user.client.ui.Composite;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.gwt.home.desktop.utils.EventParamUtils;
import com.sap.sailing.gwt.ui.client.LeaderboardUpdateListener;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanelLifecycle;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardUrlSettings;
import com.sap.sse.gwt.client.shared.perspective.SimpleComponentContext;
import com.sap.sse.gwt.shared.GwtHttpRequestUtils;
/**
@@ -27,7 +30,10 @@ public abstract class SharedLeaderboardEventSeriesTabView<T extends AbstractSeri
.getParameterMap());
final RegattaAndRaceIdentifier preselectedRace = EventParamUtils
.getPreselectedRace(Window.Location.getParameterMap());
LeaderboardPanel leaderboardPanel = eventSeriesAnalyticsManager.createOverallLeaderboardPanel(null, null,
LeaderboardPanelLifecycle lifeCycle = new LeaderboardPanelLifecycle(null, StringMessages.INSTANCE);
LeaderboardPanel leaderboardPanel = eventSeriesAnalyticsManager.createOverallLeaderboardPanel(null,
new SimpleComponentContext<>(lifeCycle),
leaderboardSettings,
preselectedRace,
"leaderboardGroupName",
@@ -154,7 +154,10 @@ public class LeaderboardEntryPoint extends AbstractSailingEntryPoint {
if (leaderboardType.isMetaLeaderboard()) {
final MetaLeaderboardPerspectiveLifecycle lifecycle = new MetaLeaderboardPerspectiveLifecycle(getStringMessages());
final MetaLeaderboardComponentContext componentContext = new MetaLeaderboardComponentContext(lifecycle, new UserSettingsStorageManager<>(getUserService(), "TODO1", "TODO2"));
final MetaLeaderboardComponentContext componentContext = new MetaLeaderboardComponentContext(lifecycle,
new UserSettingsStorageManager<>(getUserService(),
UserSettingsStorageManager.buildContextDefinitionId("LeaderboardEntryPoint", "Meta"),
leaderboardContextSettings.getRegattaName()));
componentContext.initInitialSettings(new OnSettingsLoadedCallback<PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings>>() {
@Override
public void onSuccess(PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings> defaultSettings) {
@@ -174,7 +177,10 @@ public class LeaderboardEntryPoint extends AbstractSailingEntryPoint {
});
} else {
final LeaderboardPerspectiveLifecycle lifecycle = new LeaderboardPerspectiveLifecycle(getStringMessages());
final LeaderboardComponentContext componentContext = new LeaderboardComponentContext(lifecycle, new UserSettingsStorageManager<>(getUserService(), "TODO3", "TODO4"));
final LeaderboardComponentContext componentContext = new LeaderboardComponentContext(lifecycle,
new UserSettingsStorageManager<>(getUserService(),
UserSettingsStorageManager.buildContextDefinitionId("LeaderboardEntryPoint", "Meta"),
leaderboardContextSettings.getRegattaName()));
componentContext.initInitialSettings(new OnSettingsLoadedCallback<PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings>>() {
@Override
public void onSuccess(PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings> defaultSettings) {
@@ -77,7 +77,10 @@ public class SettingsDialog<SettingsType extends Settings> extends DataEntryDial
});
this.settingsDialogComponent = dialogComponent;
initMakeDefaultButtons(component, stringMessages);
if (component.getComponentContext() != null
&& component.getComponentContext().hasMakeCustomDefaultSettingsSupport(component)) {
initMakeDefaultButtons(component, stringMessages);
}
}
@Override
@@ -41,7 +41,7 @@ import com.sap.sse.gwt.client.shared.components.ComponentLifecycle;
* for itself and its subcomponents
*/
public abstract class AbstractComponentContextWithSettingsStorage<L extends ComponentLifecycle<S, ?>, S extends Settings>
extends AbstractComponentContext<L, S> {
extends SimpleComponentContext<L, S> {
/**
* Manages the persistence layer of settings.
@@ -20,7 +20,7 @@ import com.sap.sse.gwt.client.shared.components.ComponentLifecycle;
* The {@link Settings} type of the settings of the root component/perspective containing all the settings
* for itself and its subcomponents
*/
public abstract class AbstractComponentContext<L extends ComponentLifecycle<S, ?>, S extends Settings>
public class SimpleComponentContext<L extends ComponentLifecycle<S, ?>, S extends Settings>
implements ComponentContext<L, S> {
protected final L rootLifecycle;
@@ -30,7 +30,7 @@ public abstract class AbstractComponentContext<L extends ComponentLifecycle<S, ?
* @param rootLifecycle
* The {@link ComponentLifecycle} of the root component/perspective
*/
public AbstractComponentContext(L rootLifecycle) {
public SimpleComponentContext(L rootLifecycle) {
this.rootLifecycle = rootLifecycle;
}