Merge remote-tracking branch 'server/master'

This commit is contained in:
Axel Uhl committed 2015-04-17 09:12:05 +02:00
commit 1d198aa82c
166 files changed
+1096 -553

No files matched your search

+2
View File
@@ -39,6 +39,8 @@ SAP is at the center of today’s technology revolution, developing innovations
* [[UI Tests with Selenium|wiki/selenium-ui-tests]]
* [[Profiling|wiki/profiling]]
* [[Typical Development Scenarios|wiki/typical-development-scenarios]]
* [[Data Mining Architecture|wiki/data-mining-architecture]]
* [[Typical Data Mining Scenarios|wiki/typical-data-mining-scenarios]]
* [[Load Tests|wiki/server-load-tests]]
* [[Server Replication|wiki/server-replication]]
* [[Configure Races on Server|wiki/typical-development-scenarios]]
@@ -3,8 +3,9 @@ package com.sap.sailing.domain.common;
import java.io.Serializable;
import com.sap.sailing.domain.common.impl.WindSpeedSteppingWithMaxDistance;
import com.sap.sse.common.settings.Settings;
public interface PolarSheetGenerationSettings extends Serializable {
public interface PolarSheetGenerationSettings extends Serializable, Settings {
Integer getMinimumDataCountPerGraph();
@@ -18,7 +18,6 @@ import com.sap.sailing.gwt.common.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.client.place.event.regattaleaderboard.EventRegattaLeaderboardResources;
import com.sap.sailing.gwt.ui.client.DebugIdHelper;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
@@ -26,6 +25,7 @@ import com.sap.sailing.gwt.ui.leaderboard.ScoringSchemeTypeFormatter;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.player.Timer.PlayModes;
import com.sap.sse.gwt.client.player.Timer.PlayStates;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
public class OldLeaderboard extends Composite {
private static OldLeaderboardUiBinder uiBinder = GWT.create(OldLeaderboardUiBinder.class);
@@ -18,7 +18,6 @@ import com.sap.sailing.gwt.common.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.client.place.event.regattaleaderboard.EventRegattaLeaderboardResources;
import com.sap.sailing.gwt.ui.client.DebugIdHelper;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
import com.sap.sailing.gwt.ui.leaderboard.MultiLeaderboardPanel;
@@ -26,6 +25,7 @@ import com.sap.sailing.gwt.ui.leaderboard.ScoringSchemeTypeFormatter;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.player.Timer.PlayModes;
import com.sap.sse.gwt.client.player.Timer.PlayStates;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
public class OldMultiLeaderboard extends Composite {
private static OldMultiLeaderboardUiBinder uiBinder = GWT.create(OldMultiLeaderboardUiBinder.class);
@@ -14,14 +14,15 @@ import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
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.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
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.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.useragent.UserAgentDetails;
/**
@@ -124,7 +125,7 @@ public class RegattaAnalyticsDataManager {
showComponentSettingsDialog(multiCompetitorChart, null);
}
protected <SettingsType> void showComponentSettingsDialog(final Component<SettingsType> component, String componentDisplayName) {
protected <SettingsType extends Settings> void showComponentSettingsDialog(final Component<SettingsType> component, String componentDisplayName) {
String componentName = componentDisplayName != null ? componentDisplayName : component.getLocalizedShortName();
String debugIdPrefix = DebugIdHelper.createDebugId(componentName);
SettingsDialog<SettingsType> dialog = new SettingsDialog<SettingsType>(component, StringMessages.INSTANCE);
@@ -15,15 +15,16 @@ import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
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.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
import com.sap.sailing.gwt.ui.leaderboard.MultiLeaderboardPanel;
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.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.useragent.UserAgentDetails;
/**
@@ -148,7 +149,7 @@ public class EventSeriesAnalyticsDataManager {
showComponentSettingsDialog(multiCompetitorChart, null);
}
protected <SettingsType> void showComponentSettingsDialog(final Component<SettingsType> component, String componentDisplayName) {
protected <SettingsType extends Settings> void showComponentSettingsDialog(final Component<SettingsType> component, String componentDisplayName) {
String componentName = componentDisplayName != null ? componentDisplayName : component.getLocalizedShortName();
String debugIdPrefix = DebugIdHelper.createDebugId(componentName);
SettingsDialog<SettingsType> dialog = new SettingsDialog<SettingsType>(component, StringMessages.INSTANCE);
@@ -40,8 +40,6 @@ import com.sap.sailing.gwt.ui.client.RegattaRefresher;
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.client.shared.controls.SelectionCheckboxColumn;
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
@@ -49,6 +47,8 @@ import com.sap.sse.common.Util;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel;
import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public abstract class AbstractTrackedRacesListComposite extends SimplePanel implements Component<TrackedRacesSettings>,
RegattasDisplayer, RaceSelectionChangeListener {
@@ -4,10 +4,6 @@ import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
interface AdminConsoleResources extends ClientBundle {
@Source("com/sap/sailing/gwt/ui/client/images/settings.png")
ImageResource settingsIcon();
@Source("com/sap/sailing/gwt/ui/client/images/settingsActionIcon.png")
ImageResource settingsActionIcon();
@@ -14,7 +14,7 @@ import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.racelog.tracking.QRCodeURLCreationException;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.QRCodeComposite;
import com.sap.sailing.gwt.ui.client.shared.controls.QRCodeComposite;
public abstract class BaseQRIdentifierWidget implements IsWidget {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class CompetitorConfigImagesBarCell extends ImagesBarCell {
static final String ACTION_EDIT = "ACTION_EDIT";
@@ -3,7 +3,7 @@ package com.sap.sailing.gwt.ui.adminconsole;
import java.util.ArrayList;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class CourseManagementWidgetWaypointsImagesBarCell extends ImagesBarCell {
@@ -4,7 +4,7 @@ import com.google.gwt.http.client.URL;
import com.sap.sailing.domain.common.racelog.tracking.DeviceMappingConstants;
import com.sap.sailing.domain.common.racelog.tracking.QRCodeURLCreationException;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.QRCodeComposite;
import com.sap.sailing.gwt.ui.client.shared.controls.QRCodeComposite;
public class DeviceMappingQRCodeWidget extends BaseQRIdentifierWidget {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class EventConfigImagesBarCell extends ImagesBarCell {
@@ -33,7 +33,7 @@ import com.google.gwt.view.client.SingleSelectionModel;
import com.sap.sailing.domain.common.impl.NaturalComparator;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.IconResources;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
@@ -1,7 +1,7 @@
package com.sap.sailing.gwt.ui.adminconsole;
import com.google.gwt.user.cellview.client.Column;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class ImagesBarColumn<T, S extends ImagesBarCell> extends Column<T, String> {
public ImagesBarColumn(S imagesBarCell) {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class LeaderboardConfigImagesBarCell extends ImagesBarCell {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class LeaderboardGroupConfigImagesBarCell extends ImagesBarCell {
@@ -6,7 +6,7 @@ import java.util.List;
import com.google.gwt.core.client.GWT;
import com.sap.sailing.domain.common.LeaderboardType;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
import com.sap.sse.gwt.client.IconResources;
@@ -3,7 +3,7 @@ package com.sap.sailing.gwt.ui.adminconsole;
import java.util.Arrays;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class MediaActionBarCell extends ImagesBarCell {
@@ -4,7 +4,7 @@ import java.util.ArrayList;
import com.google.gwt.core.client.GWT;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class RaceLogTrackingCourseDefinitionDialogMarksImagesBarCell extends ImagesBarCell {
public static final String ACTION_PING = "ACTION_PING";
@@ -4,7 +4,7 @@ import java.util.ArrayList;
import com.google.gwt.core.client.GWT;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sailing.gwt.ui.shared.DeviceMappingDTO;
import com.sap.sse.gwt.client.IconResources;
@@ -5,7 +5,7 @@ import java.util.ArrayList;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class RaceLogTrackingEventManagementImagesBarCell extends ImagesBarCell {
public static final String ACTION_DENOTE_FOR_RACELOG_TRACKING = "ACTION_DENOTE_FOR_RACELOG_TRACKING";
@@ -6,7 +6,7 @@ import java.util.List;
import com.google.gwt.core.client.GWT;
import com.sap.sailing.gwt.ui.adminconsole.AbstractLeaderboardConfigPanel.RaceColumnDTOAndFleetDTOWithNameBasedEquality;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class RaceLogTrackingEventManagementRaceImagesBarCell extends ImagesBarCell {
public final static String ACTION_DENOTE_FOR_RACELOG_TRACKING = "ACTION_DENOTE_FOR_RACELOG_TRACKING";
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class RegattaConfigImagesBarCell extends ImagesBarCell {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class SeriesConfigImagesBarCell extends ImagesBarCell {
@@ -18,11 +18,11 @@ import com.sap.sailing.gwt.ui.client.RegattaRefresher;
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
import com.sap.sse.common.Util;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
/**
* Shows the currently tracked events/races in a table. Updated if subscribed as an {@link RegattasDisplayer}, e.g., with
@@ -1,9 +1,11 @@
package com.sap.sailing.gwt.ui.adminconsole;
import com.sap.sse.common.settings.Settings;
/**
* Settings for a tracked race.
*/
public class TrackedRacesSettings {
public class TrackedRacesSettings implements Settings {
private long delayToLiveInSeconds;
public TrackedRacesSettings() {
@@ -6,9 +6,9 @@ import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.LongBox;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
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 TrackedRacesSettingsDialogComponent<T extends TrackedRacesSettings> implements SettingsDialogComponent<T> {
protected LongBox timeDelayBox;
@@ -5,9 +5,6 @@ import com.google.gwt.resources.client.ImageResource;
public interface ClientResources extends ClientBundle {
@Source("com/sap/sailing/gwt/ui/client/images/settings.png")
ImageResource settingsIcon();
@Source("com/sap/sailing/gwt/ui/client/images/play.png")
ImageResource playIcon();
@@ -5,7 +5,6 @@ import java.util.List;
import java.util.Map;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
import com.sap.sailing.gwt.ui.shared.MarkPassingTimesDTO;
import com.sap.sailing.gwt.ui.shared.RaceTimesInfoDTO;
@@ -14,6 +13,7 @@ import com.sap.sse.gwt.client.player.TimeRangeWithZoomProvider;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.player.Timer.PlayModes;
import com.sap.sse.gwt.client.player.Timer.PlayStates;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class RaceTimePanel extends TimePanel<RaceTimePanelSettings> implements RaceSelectionChangeListener, RaceTimesInfoProviderListener {
private final RaceTimesInfoProvider raceTimesInfoProvider;
@@ -1179,6 +1179,7 @@ dashboardSpeedInKts=Geschwindigkeit in kts
fixedMarkPassing=(fest)
suppressedMarkPassing=(unterdrückt)
windUp=Wind von oben anzeigen
filterBy=Gefiltert nach
currentFilterSelection=Aktuelle Filter-Selektion
notCapableOfGeneratingACodeForIdentifier=Für diesen Identifier kann kein Barcode generiert werden.
serverUrl=Server URL
@@ -20,9 +20,6 @@ import com.google.gwt.user.client.ui.RequiresResize;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.TimePanelCssResources.TimePanelCss;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sse.gwt.client.controls.slider.SliderBar;
import com.sap.sse.gwt.client.controls.slider.TimeSlider;
import com.sap.sse.gwt.client.player.PlayStateListener;
@@ -33,6 +30,9 @@ import com.sap.sse.gwt.client.player.TimeZoomChangeListener;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.player.Timer.PlayModes;
import com.sap.sse.gwt.client.player.Timer.PlayStates;
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.components.SettingsDialogComponent;
public class TimePanel<T extends TimePanelSettings> extends SimplePanel implements Component<T>, TimeListener, TimeZoomChangeListener,
TimeRangeChangeListener, PlayStateListener, RequiresResize {
@@ -1,6 +1,8 @@
package com.sap.sailing.gwt.ui.client;
public class TimePanelSettings {
import com.sap.sse.common.settings.Settings;
public class TimePanelSettings implements Settings {
private long refreshInterval;
public TimePanelSettings() {
@@ -5,9 +5,9 @@ import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.FocusWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
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 TimePanelSettingsDialogComponent<T extends TimePanelSettings>
implements SettingsDialogComponent<T> {
@@ -36,10 +36,9 @@ import com.sap.sailing.gwt.ui.client.media.popup.YoutubeWindowPlayer;
import com.sap.sailing.gwt.ui.client.media.shared.MediaPlayer;
import com.sap.sailing.gwt.ui.client.media.shared.VideoPlayer;
import com.sap.sailing.gwt.ui.client.media.shared.VideoSynchPlayer;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.impl.MillisecondsTimePoint;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
import com.sap.sse.gwt.client.player.PlayStateListener;
@@ -47,13 +46,15 @@ import com.sap.sse.gwt.client.player.TimeListener;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.player.Timer.PlayModes;
import com.sap.sse.gwt.client.player.Timer.PlayStates;
import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
import com.sap.sse.gwt.client.useragent.UserAgentDetails.AgentTypes;
import com.sap.sse.security.shared.DefaultRoles;
import com.sap.sse.security.ui.client.UserService;
import com.sap.sse.security.ui.shared.UserDTO;
public class MediaPlayerManagerComponent implements Component<Void>, PlayStateListener, TimeListener,
public class MediaPlayerManagerComponent implements Component<Settings>, PlayStateListener, TimeListener,
MediaPlayerManager, CloseHandler<Window>, ClosingHandler {
static interface VideoContainerFactory<T> {
@@ -733,12 +734,12 @@ public class MediaPlayerManagerComponent implements Component<Void>, PlayStateLi
}
@Override
public SettingsDialogComponent<Void> getSettingsDialogComponent() {
public SettingsDialogComponent<Settings> getSettingsDialogComponent() {
throw new UnsupportedOperationException();
}
@Override
public void updateSettings(Void newSettings) {
public void updateSettings(Settings newSettings) {
throw new UnsupportedOperationException();
}
@@ -6,9 +6,9 @@ import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
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 abstract class AbstractChartSettingsComponent<SettingsType extends ChartSettings> implements SettingsDialogComponent<SettingsType> {
private final ChartSettings settings;
@@ -39,21 +39,22 @@ import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider;
import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.AbstractLazyComponent;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sse.common.Util;
import com.sap.sse.common.filter.Filter;
import com.sap.sse.common.filter.FilterSet;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.TimeListener;
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.AbstractLazyComponent;
import com.sap.sse.gwt.client.shared.components.Component;
/**
* A base class for a leaderboard chart showing competitor data for all race columns of a leaderboard.
*/
public abstract class AbstractCompetitorLeaderboardChart<SettingsType> extends AbstractLazyComponent<SettingsType> implements Component<SettingsType>,
public abstract class AbstractCompetitorLeaderboardChart<SettingsType extends Settings> extends AbstractLazyComponent<SettingsType> implements Component<SettingsType>,
CompetitorSelectionChangeListener, RequiresResize, TimeListener {
public static final String LODA_LEADERBOARD_CHART_DATA_CATEGORY = "loadLeaderboradChartData";
@@ -48,7 +48,6 @@ import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.shared.CompetitorRaceDataDTO;
import com.sap.sailing.gwt.ui.shared.CompetitorsRaceDataDTO;
import com.sap.sse.common.Util;
@@ -59,6 +58,7 @@ import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.TimeRangeWithZoomProvider;
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.Component;
/**
* AbstractCompetitorChart is a chart that can show one sort of competitor data (e.g. current speed over ground, windward
@@ -22,7 +22,6 @@ import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.charts.ChartCssResources.ChartsCss;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.controls.busyindicator.SimpleBusyIndicator;
@@ -32,6 +31,7 @@ import com.sap.sse.gwt.client.player.TimeRangeWithZoomProvider;
import com.sap.sse.gwt.client.player.TimeZoomChangeListener;
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.SettingsDialog;
public abstract class AbstractRaceChart extends AbsolutePanel implements RaceSelectionChangeListener,
TimeListener, TimeZoomChangeListener, TimeRangeChangeListener {
@@ -93,7 +93,7 @@ public abstract class AbstractRaceChart extends AbsolutePanel implements RaceSel
}
/**
* Subclasses implement this, e.g., by calling {@link SettingsDialog#createSettingsButton(com.sap.sailing.gwt.ui.client.shared.components.Component, StringMessages)}.
* Subclasses implement this, e.g., by calling {@link SettingsDialog#createSettingsButton(com.sap.sse.gwt.client.shared.components.Component, StringMessages)}.
* This class's constructor will add the {@link ChartsCss#settingsButtonStyle()} and the {@link ChartsCss#settingsButtonBackgroundImage()}.
*/
protected abstract Button createSettingsButton();
@@ -1,6 +1,8 @@
package com.sap.sailing.gwt.ui.client.shared.charts;
public class ChartSettings {
import com.sap.sse.common.settings.Settings;
public class ChartSettings implements Settings {
private final long stepSize;
public ChartSettings(long stepSize) {
@@ -34,20 +34,21 @@ import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider;
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.shared.RaceCourseDTO;
import com.sap.sailing.gwt.ui.shared.WaypointDTO;
import com.sap.sse.common.Util;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.common.filter.Filter;
import com.sap.sse.common.filter.FilterSet;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.AsyncAction;
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.SettingsDialogComponent;
public class EditMarkPassingsPanel extends AbsolutePanel implements Component<Void>, RaceSelectionChangeListener,
public class EditMarkPassingsPanel extends AbsolutePanel implements Component<Settings>, RaceSelectionChangeListener,
CompetitorSelectionChangeListener {
private static class AnchorCell extends AbstractCell<SafeHtml> {
@@ -434,12 +435,12 @@ public class EditMarkPassingsPanel extends AbsolutePanel implements Component<Vo
}
@Override
public SettingsDialogComponent<Void> getSettingsDialogComponent() {
public SettingsDialogComponent<Settings> getSettingsDialogComponent() {
return null;
}
@Override
public void updateSettings(Void newSettings) {
public void updateSettings(Settings newSettings) {
}
@Override
@@ -4,10 +4,10 @@ import com.sap.sailing.domain.common.DetailType;
import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
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.shared.components.SettingsDialogComponent;
public class MultiCompetitorLeaderboardChart extends AbstractCompetitorLeaderboardChart<MultiCompetitorLeaderboardChartSettings> {
private MultiCompetitorLeaderboardChartSettings settings;
@@ -1,8 +1,9 @@
package com.sap.sailing.gwt.ui.client.shared.charts;
import com.sap.sailing.domain.common.DetailType;
import com.sap.sse.common.settings.Settings;
public class MultiCompetitorLeaderboardChartSettings {
public class MultiCompetitorLeaderboardChartSettings implements Settings {
private final DetailType detailType;
public MultiCompetitorLeaderboardChartSettings(DetailType detailType) {
@@ -11,9 +11,9 @@ import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.DetailType;
import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
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 MultiCompetitorLeaderboardChartSettingsDialogComponent implements SettingsDialogComponent<MultiCompetitorLeaderboardChartSettings> {
private ListBox chartTypeSelectionListBox;
@@ -7,14 +7,14 @@ import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider;
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.TimeRangeWithZoomProvider;
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.components.SettingsDialogComponent;
/**
* MultiCompetitorRaceChart is a GWT panel that can show competitor data (e.g. current speed over ground, windward distance to
@@ -11,8 +11,8 @@ import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.DetailType;
import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class MultiCompetitorRaceChartSettingsComponent extends AbstractChartSettingsComponent<MultiCompetitorRaceChartSettings> implements
SettingsDialogComponent<MultiCompetitorRaceChartSettings> {
@@ -48,9 +48,6 @@ import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.WindSourceTypeFormatter;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.shared.WindDTO;
import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDTO;
import com.sap.sailing.gwt.ui.shared.WindTrackInfoDTO;
@@ -60,6 +57,9 @@ import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.TimeRangeWithZoomProvider;
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.Component;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class WindChart extends AbstractRaceChart implements Component<WindChartSettings>, RequiresResize {
public static final String LODA_WIND_CHART_DATA_CATEGORY = "loadWindChartData";
@@ -4,8 +4,9 @@ import java.util.LinkedHashSet;
import java.util.Set;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sse.common.settings.Settings;
public class WindChartSettings {
public class WindChartSettings implements Settings {
public static final long DEFAULT_RESOLUTION_IN_MILLISECONDS = 10000;
private final Set<WindSourceType> windDirectionSourcesToDisplay;
@@ -18,10 +18,10 @@ import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.WindSourceTypeFormatter;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sse.gwt.client.controls.IntegerBox;
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 WindChartSettingsDialogComponent implements SettingsDialogComponent<WindChartSettings> {
private final WindChartSettings initialSettings;
@@ -1,28 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.components;
import com.google.gwt.user.client.ui.Widget;
public interface Component<SettingsType> extends ComponentSettings<SettingsType> {
/**
* @return the name to display to a user for quick navigation to this component
*/
String getLocalizedShortName();
/**
* A component may or may not have a {@link Widget} used to render its contents. Typically,
* entries with sub-entries don't afford a widget of their own but let the framework choose a container
* in which to aggregate their entries' widgets.
*/
Widget getEntryWidget();
boolean isVisible();
void setVisible(boolean visibility);
/**
* If the component wants to add its specific styling rules, e.g., for the expand/collapse toggle buttons or
* the dragger handle, it should return a non-<code>null</code> value from this method which is then used as
* a dependent CSS class name for those components.
*/
String getDependentCssClassName();
}
@@ -1,10 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.components;
public interface ComponentGroup<SettingsType> extends Component<SettingsType> {
boolean addComponent(Component<?> component);
boolean removeComponent(Component<?> component);
Iterable<Component<?>> getComponents();
}
@@ -1,19 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.components;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
interface ComponentResources extends ClientBundle {
@Source("com/sap/sailing/gwt/ui/client/images/open.png")
ImageResource openIcon();
@Source("com/sap/sailing/gwt/ui/client/images/close.png")
ImageResource closeIcon();
@Source("com/sap/sailing/gwt/ui/client/images/settings.png")
ImageResource settingsIcon();
@Source("com/sap/sailing/gwt/ui/client/images/leaderboardsettings.png")
ImageResource darkSettingsIcon();
}
@@ -1,30 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.components;
/**
*
* @author Axel Uhl (d043530)
*
* @param <SettingsType>
* the type that describes this component's settings (if any). Use {@link Object} in case your components
* doesn't support any settings.
*/public interface ComponentSettings<SettingsType> {
/**
* @return whether this component has settings that a user may change; if so,
*/
boolean hasSettings();
/**
* If this component {@link #hasSettings has settings}, this method may return a component for the settings dialog.
* It will be used to obtain a widget shown in the settings dialog, a validator for the component-specific settings,
* as well as to produce a result from the widget's state when the settings dialog wants to validate or return the
* settings.
*/
SettingsDialogComponent<SettingsType> getSettingsDialogComponent();
/**
* Updates the settings of this component. Expected to be called when a settings dialog using this component's
* {@link #getSettingsDialogComponent()} has been confirmed.
*/
void updateSettings(SettingsType newSettings);
}
@@ -1,11 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.components;
/**
* Used to describe different view modes for a component viewer
* The view modes are driven by media types.
* @author Frank
*
*/
public enum ComponentViewerViewModes {
WEB_VIEW, TV_VIEW
}
@@ -1,7 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.components;
import com.google.gwt.user.client.ui.Widget;
public interface LazyComponent<SettingsType> extends Component<SettingsType> {
Widget createWidget();
}
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.client.shared.components;
package com.sap.sailing.gwt.ui.client.shared.controls;
import com.google.gwt.text.shared.AbstractRenderer;
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.client.shared.components;
package com.sap.sailing.gwt.ui.client.shared.controls;
import com.google.gwt.cell.client.AbstractSafeHtmlCell;
import com.google.gwt.cell.client.FieldUpdater;
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.client.shared.components;
package com.sap.sailing.gwt.ui.client.shared.controls;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.SimplePanel;
@@ -1,4 +1,5 @@
package com.sap.sailing.gwt.ui.client.shared.components;
package com.sap.sailing.gwt.ui.client.shared.controls;
/**
* Simple renderer, that uses the objects toString method to render.
@@ -96,9 +96,6 @@ import com.sap.sailing.gwt.ui.client.RequiresDataInitialization;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.WindSourceTypeFormatter;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.client.shared.filter.QuickRankProvider;
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapHelpLinesSettings.HelpLineTypes;
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapZoomSettings.ZoomTypes;
@@ -132,6 +129,9 @@ import com.sap.sse.gwt.client.player.TimeListener;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.player.Timer.PlayModes;
import com.sap.sse.gwt.client.player.Timer.PlayStates;
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.components.SettingsDialogComponent;
public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSelectionChangeListener, RaceSelectionChangeListener,
RaceTimesInfoProviderListener, TailFactory, Component<RaceMapSettings>, RequiresDataInitialization, RequiresResize, QuickRankProvider {
@@ -362,6 +362,12 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
*/
private boolean autoZoomInProgress;
/**
* Tells whether currently an orientation change is in progress; this is required handle map events during the configuration of the map
* during an orientation change.
*/
private boolean orientationChangeInProgress;
private final NumberFormat numberFormatOneDecimal = NumberFormat.getFormat("0.0");
public RaceMap(SailingServiceAsync sailingService, AsyncActionsExecutor asyncActionsExecutor,
@@ -404,6 +410,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
combinedWindPanel.setVisible(false);
trueNorthIndicatorPanel = new TrueNorthIndicatorPanel(this, raceMapImageManager, combinedWindPanelStyle, stringMessages, coordinateSystem);
trueNorthIndicatorPanel.setVisible(true);
orientationChangeInProgress = false;
}
/**
@@ -426,6 +433,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
private void updateCoordinateSystemFromSettings() {
final MapOptions mapOptions;
orientationChangeInProgress = true;
if (getSettings().isWindUp()) {
final Position centerOfCourse = getCenterOfCourse();
if (centerOfCourse != null) {
@@ -469,6 +477,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
final LatLngBounds newBounds = getDefaultZoomBounds();
zoomMapToNewBounds(newBounds);
trueNorthIndicatorPanel.redraw();
orientationChangeInProgress = false;
}
}
});
@@ -500,7 +509,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
map.addZoomChangeHandler(new ZoomChangeMapHandler() {
@Override
public void onEvent(ZoomChangeMapEvent event) {
if (!autoZoomIn && !autoZoomOut) {
if (!autoZoomIn && !autoZoomOut && !orientationChangeInProgress) {
// stop automatic zoom after a manual zoom event; automatic zoom in zoomMapToNewBounds will restore old settings
final List<RaceMapZoomSettings.ZoomTypes> emptyList = Collections.emptyList();
settings.getZoomSettings().setTypesToConsiderOnZoom(emptyList);
@@ -6,8 +6,9 @@ import java.util.Set;
import com.sap.sailing.domain.common.ManeuverType;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapHelpLinesSettings.HelpLineTypes;
import com.sap.sse.common.settings.Settings;
public class RaceMapSettings {
public class RaceMapSettings implements Settings {
private boolean showDouglasPeuckerPoints = false;
@@ -21,12 +21,12 @@ import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.ManeuverType;
import com.sap.sailing.gwt.ui.client.ManeuverTypeFormatter;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapHelpLinesSettings.HelpLineTypes;
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapZoomSettings.ZoomTypes;
import com.sap.sse.common.Util;
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 RaceMapSettingsDialogComponent implements SettingsDialogComponent<RaceMapSettings> {
//Initializing the lists to prevent a null pointer exception in the first validation call
@@ -17,7 +17,6 @@ import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint;
import com.sap.sailing.gwt.ui.client.GlobalNavigationPanel;
import com.sap.sailing.gwt.ui.client.LogoAndTitlePanel;
import com.sap.sailing.gwt.ui.client.RemoteServiceMappingConstants;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.datamining.execution.SimpleQueryRunner;
import com.sap.sailing.gwt.ui.datamining.presentation.BenchmarkResultsPanel;
import com.sap.sailing.gwt.ui.datamining.presentation.ResultsChart;
@@ -26,10 +25,12 @@ import com.sap.sailing.gwt.ui.datamining.settings.QueryRunnerSettings;
import com.sap.sse.datamining.shared.DataMiningSession;
import com.sap.sse.datamining.shared.impl.UUIDDataMiningSession;
import com.sap.sse.gwt.client.EntryPointHelper;
import com.sap.sse.gwt.client.shared.components.ComponentResources;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
import com.sap.sse.gwt.shared.GwtHttpRequestUtils;
public class DataMiningEntryPoint extends AbstractSailingEntryPoint {
private static DataMiningResources resources = GWT.create(DataMiningResources.class);
private static final ComponentResources resources = GWT.create(ComponentResources.class);
private final DataMiningServiceAsync dataMiningService = GWT.create(DataMiningService.class);
@@ -65,7 +66,7 @@ public class DataMiningEntryPoint extends AbstractSailingEntryPoint {
final QueryRunner queryRunner = new SimpleQueryRunner(session, getStringMessages(), dataMiningService, this, queryDefinitionProviderWithControls, resultsPresenter);
queryDefinitionProviderWithControls.addControl(queryRunner.getEntryWidget());
Anchor settingsAnchor = new Anchor(AbstractImagePrototype.create(resources.settingsIcon()).getSafeHtml());
Anchor settingsAnchor = new Anchor(AbstractImagePrototype.create(resources.darkSettingsIcon()).getSafeHtml());
settingsAnchor.addStyleName("settingsAnchor");
settingsAnchor.setTitle(getStringMessages().settings());
settingsAnchor.addClickHandler(new ClickHandler() {
@@ -1,11 +0,0 @@
package com.sap.sailing.gwt.ui.datamining;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
interface DataMiningResources extends ClientBundle {
@Source("com/sap/sailing/gwt/ui/client/images/leaderboardsettings.png")
ImageResource settingsIcon();
}
@@ -1,10 +1,11 @@
package com.sap.sailing.gwt.ui.datamining;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
import com.sap.sse.gwt.client.shared.components.Component;
public interface DataRetrieverChainDefinitionProvider extends Component<Object> {
public interface DataRetrieverChainDefinitionProvider extends Component<Settings> {
public DataRetrieverChainDefinitionDTO getDataRetrieverChainDefinition();
@@ -1,7 +1,8 @@
package com.sap.sailing.gwt.ui.datamining;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.shared.components.Component;
public interface FilterSelectionPresenter extends Component<Object> {
public interface FilterSelectionPresenter extends Component<Settings> {
}
@@ -4,11 +4,12 @@ import java.io.Serializable;
import java.util.Collection;
import java.util.Map;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.gwt.client.shared.components.Component;
public interface FilterSelectionProvider extends Component<Object> {
public interface FilterSelectionProvider extends Component<Settings> {
public void addSelectionChangedListener(SelectionChangedListener listener);
@@ -2,11 +2,12 @@ package com.sap.sailing.gwt.ui.datamining;
import java.util.Collection;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.gwt.client.shared.components.Component;
public interface GroupingProvider extends Component<Object> {
public interface GroupingProvider extends Component<Settings> {
public Collection<FunctionDTO> getDimensionsToGroupBy();
public String getCustomGrouperScriptText();
@@ -1,9 +1,10 @@
package com.sap.sailing.gwt.ui.datamining;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.gwt.client.shared.components.Component;
public interface QueryDefinitionProvider extends Component<Object> {
public interface QueryDefinitionProvider extends Component<Settings> {
public Iterable<String> validateQueryDefinition(QueryDefinitionDTO queryDefinition);
public QueryDefinitionDTO getQueryDefinition();
@@ -1,8 +1,8 @@
package com.sap.sailing.gwt.ui.datamining;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.datamining.settings.QueryRunnerSettings;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.gwt.client.shared.components.Component;
public interface QueryRunner extends QueryDefinitionChangedListener, Component<QueryRunnerSettings> {
@@ -1,13 +1,15 @@
package com.sap.sailing.gwt.ui.datamining;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.components.AggregatorType;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.gwt.client.shared.components.Component;
public interface StatisticProvider extends Component<Object> {
public interface StatisticProvider extends Component<Settings> {
public FunctionDTO getStatisticToCalculate();
public AggregatorType getAggregatorType();
public void addStatisticChangedListener(StatisticChangedListener listener);
@@ -6,7 +6,6 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sailing.gwt.ui.datamining.QueryDefinitionProvider;
import com.sap.sailing.gwt.ui.datamining.QueryRunner;
@@ -17,6 +16,7 @@ import com.sap.sse.datamining.shared.DataMiningSession;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.QueryResult;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class SimpleQueryRunner implements QueryRunner {
@@ -15,15 +15,16 @@ import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.datamining.DataRetrieverChainDefinitionChangedListener;
import com.sap.sailing.gwt.ui.datamining.DataRetrieverChainDefinitionProvider;
import com.sap.sailing.gwt.ui.datamining.FilterSelectionPresenter;
import com.sap.sailing.gwt.ui.datamining.FilterSelectionProvider;
import com.sap.sailing.gwt.ui.datamining.SelectionChangedListener;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
import com.sap.sse.datamining.shared.impl.dto.LocalizedTypeDTO;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class PlainFilterSelectionPresenter implements FilterSelectionPresenter, SelectionChangedListener,
DataRetrieverChainDefinitionChangedListener {
@@ -169,12 +170,12 @@ public class PlainFilterSelectionPresenter implements FilterSelectionPresenter,
}
@Override
public SettingsDialogComponent<Object> getSettingsDialogComponent() {
public SettingsDialogComponent<Settings> getSettingsDialogComponent() {
return null;
}
@Override
public void updateSettings(Object newSettings) {
public void updateSettings(Settings newSettings) {
}
}
@@ -18,7 +18,6 @@ import com.google.gwt.user.client.ui.SplitLayoutPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.datamining.DataMiningControls;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sailing.gwt.ui.datamining.DataRetrieverChainDefinitionChangedListener;
@@ -27,6 +26,7 @@ import com.sap.sailing.gwt.ui.datamining.GroupingChangedListener;
import com.sap.sailing.gwt.ui.datamining.SelectionChangedListener;
import com.sap.sailing.gwt.ui.datamining.StatisticChangedListener;
import com.sap.sailing.gwt.ui.datamining.StatisticProvider;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.DataMiningSession;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.components.AggregatorType;
@@ -34,6 +34,7 @@ import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
import com.sap.sse.datamining.shared.impl.dto.QueryDefinitionDTOImpl;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class BufferingQueryDefinitionProviderWithControls extends AbstractQueryDefinitionProvider implements DataMiningControls {
@@ -193,12 +194,12 @@ public class BufferingQueryDefinitionProviderWithControls extends AbstractQueryD
}
@Override
public SettingsDialogComponent<Object> getSettingsDialogComponent() {
public SettingsDialogComponent<Settings> getSettingsDialogComponent() {
return null;
}
@Override
public void updateSettings(Object newSettings) { }
public void updateSettings(Settings newSettings) { }
@Override
public String getDependentCssClassName() {
@@ -3,6 +3,9 @@ package com.sap.sailing.gwt.ui.datamining.selection;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -17,7 +20,7 @@ import com.google.gwt.user.client.ui.ToggleButton;
import com.google.gwt.user.client.ui.ValueListBox;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.sap.sailing.gwt.ui.client.shared.components.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.controls.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sse.datamining.shared.DataMiningSession;
import com.sap.sse.datamining.shared.GroupKey;
@@ -103,7 +106,13 @@ class DimensionFilterSelectionProvider {
@Override
public void onSuccess(QueryResult<Set<Object>> result) {
GroupKey contentKey = new GenericGroupKey<FunctionDTO>(dimension);
Collection<?> content = result.getResults().get(contentKey);
List<?> content = new ArrayList<Object>(result.getResults().get(contentKey));
Collections.sort(content, new Comparator<Object>() {
@Override
public int compare(Object o1, Object o2) {
return o1.toString().compareTo(o2.toString());
}
});
selectionTable.setContent(content == null ? new ArrayList<>() : content);
if (selectionToBeApplied != null) {
selectionTable.setSelection(selectionToBeApplied);
@@ -25,19 +25,20 @@ import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SingleSelectionModel;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sailing.gwt.ui.datamining.DataRetrieverChainDefinitionChangedListener;
import com.sap.sailing.gwt.ui.datamining.FilterSelectionPresenter;
import com.sap.sailing.gwt.ui.datamining.FilterSelectionProvider;
import com.sap.sailing.gwt.ui.datamining.SelectionChangedListener;
import com.sap.sailing.gwt.ui.datamining.presentation.PlainFilterSelectionPresenter;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.DataMiningSession;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
import com.sap.sse.datamining.shared.impl.dto.LocalizedTypeDTO;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class ListRetrieverChainFilterSelectionProvider implements FilterSelectionProvider, DataRetrieverChainDefinitionChangedListener {
@@ -293,12 +294,12 @@ public class ListRetrieverChainFilterSelectionProvider implements FilterSelectio
}
@Override
public SettingsDialogComponent<Object> getSettingsDialogComponent() {
public SettingsDialogComponent<Settings> getSettingsDialogComponent() {
return null;
}
@Override
public void updateSettings(Object newSettings) {
public void updateSettings(Settings newSettings) {
}
}
@@ -16,18 +16,19 @@ import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ValueListBox;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.client.shared.controls.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sailing.gwt.ui.datamining.GroupingChangedListener;
import com.sap.sailing.gwt.ui.datamining.GroupingProvider;
import com.sap.sailing.gwt.ui.datamining.StatisticChangedListener;
import com.sap.sailing.gwt.ui.datamining.StatisticProvider;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.components.AggregatorType;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.panels.HorizontalFlowPanel;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class MultiDimensionalGroupingProvider implements GroupingProvider, StatisticChangedListener {
@@ -225,12 +226,12 @@ public class MultiDimensionalGroupingProvider implements GroupingProvider, Stati
}
@Override
public SettingsDialogComponent<Object> getSettingsDialogComponent() {
public SettingsDialogComponent<Settings> getSettingsDialogComponent() {
return null;
}
@Override
public void updateSettings(Object newSettings) { }
public void updateSettings(Settings newSettings) { }
@Override
public String getDependentCssClassName() {
@@ -15,17 +15,18 @@ import com.google.gwt.user.client.ui.ProvidesResize;
import com.google.gwt.user.client.ui.RequiresResize;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sailing.gwt.ui.datamining.SelectionChangedListener;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.DataMiningSession;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
import com.sap.sse.datamining.shared.impl.dto.LocalizedTypeDTO;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class RetrieverLevelFilterSelectionProvider implements Component<Object> {
public class RetrieverLevelFilterSelectionProvider implements Component<Settings> {
private final DataMiningServiceAsync dataMiningService;
private final ErrorReporter errorReporter;
@@ -202,12 +203,12 @@ public class RetrieverLevelFilterSelectionProvider implements Component<Object>
}
@Override
public SettingsDialogComponent<Object> getSettingsDialogComponent() {
public SettingsDialogComponent<Settings> getSettingsDialogComponent() {
return null;
}
@Override
public void updateSettings(Object newSettings) {
public void updateSettings(Settings newSettings) {
}
@Override
@@ -17,17 +17,18 @@ import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ValueListBox;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sailing.gwt.ui.datamining.DataRetrieverChainDefinitionChangedListener;
import com.sap.sailing.gwt.ui.datamining.DataRetrieverChainDefinitionProvider;
import com.sap.sailing.gwt.ui.datamining.StatisticChangedListener;
import com.sap.sailing.gwt.ui.datamining.StatisticProvider;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.components.AggregatorType;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class SimpleDataRetrieverChainDefinitionProvider implements DataRetrieverChainDefinitionProvider,
StatisticChangedListener {
@@ -176,11 +177,11 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
}
@Override
public SettingsDialogComponent<Object> getSettingsDialogComponent() {
public SettingsDialogComponent<Settings> getSettingsDialogComponent() {
return null;
}
@Override
public void updateSettings(Object newSettings) { }
public void updateSettings(Settings newSettings) { }
}
@@ -17,16 +17,17 @@ import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ValueListBox;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.client.shared.components.SimpleObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.controls.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.controls.SimpleObjectRenderer;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sailing.gwt.ui.datamining.StatisticChangedListener;
import com.sap.sailing.gwt.ui.datamining.StatisticProvider;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.components.AggregatorType;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
public class SimpleStatisticProvider implements StatisticProvider {
@@ -237,12 +238,12 @@ public class SimpleStatisticProvider implements StatisticProvider {
}
@Override
public SettingsDialogComponent<Object> getSettingsDialogComponent() {
public SettingsDialogComponent<Settings> getSettingsDialogComponent() {
return null;
}
@Override
public void updateSettings(Object newSettings) { }
public void updateSettings(Settings newSettings) { }
@Override
public String getDependentCssClassName() {
@@ -1,6 +1,8 @@
package com.sap.sailing.gwt.ui.datamining.settings;
public class QueryRunnerSettings {
import com.sap.sse.common.settings.Settings;
public class QueryRunnerSettings implements Settings {
private boolean runAutomatically;
@@ -5,9 +5,9 @@ import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.FocusWidget;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
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 QueryRunnerSettingsDialogComponent implements SettingsDialogComponent<QueryRunnerSettings> {
@@ -9,10 +9,10 @@ import com.google.gwt.user.client.ui.FocusWidget;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sse.gwt.client.controls.IntegerBox;
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 RefreshingSelectionTablesSettingsDialogComponent implements SettingsDialogComponent<RefreshingSelectionTablesSettings> {
@@ -13,11 +13,12 @@ import com.google.gwt.user.client.ui.SimplePanel;
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
import com.sap.sailing.gwt.ui.client.DebugIdHelper;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.TimeListener;
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;
/**
* A base class for a leaderboard viewer.
@@ -66,7 +67,7 @@ public abstract class AbstractLeaderboardViewer extends SimplePanel {
return mainPanel;
}
protected <SettingsType> void addComponentToNavigationMenu(final Component<SettingsType> component, boolean isCheckboxEnabled,
protected <SettingsType extends Settings> void addComponentToNavigationMenu(final Component<SettingsType> component, boolean isCheckboxEnabled,
String componentDisplayName, final boolean hasSettingsWhenComponentIsInvisible) {
if (!hideToolbar) {
final String componentName = componentDisplayName != null ? componentDisplayName : component.getLocalizedShortName();
@@ -13,9 +13,9 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import com.google.gwt.cell.client.AbstractSafeHtmlCell;
import com.google.gwt.cell.client.Cell;
import com.google.gwt.cell.client.Cell.Context;
import com.google.gwt.cell.client.AbstractSafeHtmlCell;
import com.google.gwt.cell.client.CompositeCell;
import com.google.gwt.cell.client.TextCell;
import com.google.gwt.core.client.GWT;
@@ -85,10 +85,6 @@ import com.sap.sailing.gwt.ui.client.RaceTimesInfoProvider;
import com.sap.sailing.gwt.ui.client.RaceTimesInfoProviderListener;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.IsEmbeddableComponent;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.client.shared.controls.AbstractSortableColumnWithMinMax;
import com.sap.sailing.gwt.ui.client.shared.controls.SelectionCheckboxColumn;
import com.sap.sailing.gwt.ui.client.shared.filter.CompetitorRaceRankFilter;
@@ -112,6 +108,11 @@ import com.sap.sse.gwt.client.player.TimeListener;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.player.Timer.PlayModes;
import com.sap.sse.gwt.client.player.Timer.PlayStates;
import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.ComponentResources;
import com.sap.sse.gwt.client.shared.components.IsEmbeddableComponent;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
/**
@@ -284,8 +285,9 @@ public class LeaderboardPanel extends SimplePanel implements TimeListener, PlayS
private boolean isEmbedded;
private static LeaderboardResources resources = GWT.create(LeaderboardResources.class);
private static LeaderboardTableResources tableResources = GWT.create(LeaderboardTableResources.class);
private static final LeaderboardResources resources = GWT.create(LeaderboardResources.class);
private static final ComponentResources componentResources = GWT.create(ComponentResources.class);
private static final LeaderboardTableResources tableResources = GWT.create(LeaderboardTableResources.class);
private ImageResource pauseIcon;
private ImageResource playIcon;
@@ -385,7 +387,7 @@ public class LeaderboardPanel extends SimplePanel implements TimeListener, PlayS
}
protected ImageResource getSettingsIcon() {
return resources.settingsIcon();
return componentResources.settingsIcon();
}
public void updateSettings(final LeaderboardSettings newSettings) {
@@ -13,12 +13,6 @@ interface LeaderboardResources extends ClientBundle {
@Source("com/sap/sailing/gwt/ui/client/images/arrow-gain-loss.png")
ImageResource arrowGainLossIcon();
@Source("com/sap/sailing/gwt/ui/client/images/settings.png")
ImageResource settingsIcon();
@Source("com/sap/sailing/gwt/ui/client/images/leaderboardsettings.png")
ImageResource leaderboardSettingsIcon();
@Source("com/sap/sailing/gwt/ui/client/images/autorefresh_enabled.png")
ImageResource autoRefreshEnabledIcon();
@@ -3,6 +3,7 @@ package com.sap.sailing.gwt.ui.leaderboard;
import java.util.List;
import com.sap.sailing.domain.common.DetailType;
import com.sap.sse.common.settings.Settings;
/**
* Settings for the {@link LeaderboardPanel} component. If you change here, please also visit
@@ -12,7 +13,7 @@ import com.sap.sailing.domain.common.DetailType;
* @author Axel Uhl (d043530)
*
*/
public class LeaderboardSettings {
public class LeaderboardSettings implements Settings {
public static final String PARAM_LEADERBOARD_GROUP_NAME = "leaderboardGroupName";
public static final String PARAM_EMBEDDED = "embedded";
public static final String PARAM_HIDE_TOOLBAR = "hideToolbar";
@@ -24,12 +24,12 @@ import com.sap.sailing.domain.common.dto.RaceColumnDTO;
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.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings.RaceColumnSelectionStrategies;
import com.sap.sse.common.Util;
import com.sap.sse.gwt.client.controls.IntegerBox;
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 LeaderboardSettingsDialogComponent implements SettingsDialogComponent<LeaderboardSettings> {
private final Iterable<RaceColumnDTO> raceColumnSelection;
@@ -14,11 +14,11 @@ import com.sap.sailing.domain.common.LeaderboardType;
import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO;
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardUrlSettings;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
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.components.SettingsDialogComponent;
public class LeaderboardUrlConfigurationDialog extends SettingsDialog<LeaderboardUrlSettings> {
@@ -2,9 +2,10 @@ package com.sap.sailing.gwt.ui.leaderboard;
import com.google.gwt.user.client.Window;
import com.sap.sailing.domain.common.DetailType;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.URLEncoder;
public class LeaderboardUrlSettings {
public class LeaderboardUrlSettings implements Settings {
public static final String PARAM_LEADERBOARD_GROUP_NAME = "leaderboardGroupName";
public static final String PARAM_EVENT_ID = "eventId";
public static final String PARAM_EMBEDDED = "embedded";
@@ -21,13 +21,13 @@ import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
import com.sap.sailing.gwt.ui.client.LeaderboardUpdateListener;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.AbstractLazyComponent;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sse.common.Util;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.TimeListener;
import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.shared.components.AbstractLazyComponent;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
/**
@@ -58,7 +58,6 @@ import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
import com.sap.sailing.gwt.ui.client.FlagImageResolver;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.leaderboard.CompetitorColumnBase;
import com.sap.sailing.gwt.ui.leaderboard.CompetitorFetcher;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
@@ -69,6 +68,7 @@ import com.sap.sse.common.Util;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
/**
@@ -12,10 +12,10 @@ import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.PolarSheetGenerationSettings;
import com.sap.sailing.domain.common.impl.PolarSheetGenerationSettingsImpl;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sse.gwt.client.controls.IntegerBox;
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 PolarSheetGenerationSettingsDialogComponent implements SettingsDialogComponent<PolarSheetGenerationSettings> {
@@ -1,11 +0,0 @@
package com.sap.sailing.gwt.ui.polarsheets;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
interface PolarSheetResources extends ClientBundle {
@Source("com/sap/sailing/gwt/ui/client/images/leaderboardsettings.png")
ImageResource settingsIcon();
}
@@ -35,10 +35,10 @@ import com.sap.sailing.gwt.ui.client.RaceSelectionModel;
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
/**
* A panel containing a list of tracked races (not the ones without gps or wind data), a polar chart and a histogram chart.
@@ -16,12 +16,14 @@ import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
import com.sap.sse.common.Util;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.shared.components.ComponentResources;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
public class PolarSheetsTrackedRacesList extends AbstractFilteredTrackedRacesList {
private static final ComponentResources resources = GWT.create(ComponentResources.class);
private Button btnPolarSheetGeneration;
private Anchor settingsAnchor;
@@ -44,11 +46,9 @@ public class PolarSheetsTrackedRacesList extends AbstractFilteredTrackedRacesLis
}
public Anchor createSettingsLink(final StringMessages stringMessages) {
PolarSheetResources resources = GWT.create(PolarSheetResources.class);
ImageResource leaderboardSettingsIcon = resources.settingsIcon();
ImageResource leaderboardSettingsIcon = resources.darkSettingsIcon();
settingsAnchor = new Anchor(AbstractImagePrototype.create(leaderboardSettingsIcon).getSafeHtml());
settingsAnchor.setTitle(stringMessages.settings());
return settingsAnchor;
}
@@ -6,12 +6,13 @@ import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.CollapsablePanel;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.ComponentGroup;
import com.sap.sailing.gwt.ui.client.shared.components.ComponentToolbar;
import com.sap.sailing.gwt.ui.client.shared.components.ComponentViewer;
import com.sap.sailing.gwt.ui.client.shared.components.IsEmbeddableComponent;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.shared.components.CollapsablePanel;
import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.ComponentGroup;
import com.sap.sse.gwt.client.shared.components.ComponentToolbarEntry;
import com.sap.sse.gwt.client.shared.components.ComponentViewer;
import com.sap.sse.gwt.client.shared.components.IsEmbeddableComponent;
/**
* A GWT component that visualizes a {@link ComponentGroup} or a {@link Component} including menus to scroll quickly to
@@ -21,7 +22,7 @@ import com.sap.sailing.gwt.ui.client.shared.components.IsEmbeddableComponent;
* @author Axel Uhl (d043530)
*
*/
public class CollapsableComponentViewer<SettingsType> implements ComponentViewer {
public class CollapsableComponentViewer<SettingsType extends Settings> implements ComponentViewer {
public enum ViewerPanelTypes{ABSOLUTE_PANEL, SCROLL_PANEL}
@@ -86,12 +87,12 @@ public class CollapsableComponentViewer<SettingsType> implements ComponentViewer
if (embeddableComponent.hasToolbar()) {
collapsablePanel.setHeaderToolbar(embeddableComponent.getToolbarWidget());
} else {
ComponentToolbar<SettingsType> toolbar = new ComponentToolbar<SettingsType>(component, stringMessages);
ComponentToolbarEntry<SettingsType> toolbar = new ComponentToolbarEntry<SettingsType>(component, stringMessages);
toolbar.addSettingsButton();
collapsablePanel.setHeaderToolbar(toolbar);
}
} else {
ComponentToolbar<SettingsType> toolbar = new ComponentToolbar<SettingsType>(component, stringMessages);
ComponentToolbarEntry<SettingsType> toolbar = new ComponentToolbarEntry<SettingsType>(component, stringMessages);
toolbar.addSettingsButton();
collapsablePanel.setHeaderToolbar(toolbar);
}
@@ -44,9 +44,6 @@ import com.sap.sailing.gwt.ui.client.shared.charts.EditMarkPassingsPanel;
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorRaceChart;
import com.sap.sailing.gwt.ui.client.shared.charts.WindChart;
import com.sap.sailing.gwt.ui.client.shared.charts.WindChartSettings;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.ComponentViewer;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.client.shared.filter.FilterWithUI;
import com.sap.sailing.gwt.ui.client.shared.filter.LeaderboardFetcher;
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMap;
@@ -59,11 +56,15 @@ import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettingsFactory;
import com.sap.sailing.gwt.ui.shared.EventDTO;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
import com.sap.sse.common.filter.FilterSet;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.URLEncoder;
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.TimeRangeWithZoomModel;
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.ComponentViewer;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
import com.sap.sse.security.ui.client.UserService;
@@ -249,7 +250,7 @@ public class RaceBoardPanel extends SimplePanel implements RegattasDisplayer, Ra
}
@SuppressWarnings("unused")
private <SettingsType> void addSettingsMenuItem(MenuBar settingsMenu, final Component<SettingsType> component) {
private <SettingsType extends Settings> void addSettingsMenuItem(MenuBar settingsMenu, final Component<SettingsType> component) {
if (component.hasSettings()) {
settingsMenu.addItem(component.getLocalizedShortName(), new Command() {
public void execute() {
@@ -1,16 +0,0 @@
package com.sap.sailing.gwt.ui.raceboard;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
interface RaceBoardResources extends ClientBundle {
@Source("com/sap/sailing/gwt/ui/client/images/open.png")
ImageResource openIcon();
@Source("com/sap/sailing/gwt/ui/client/images/close.png")
ImageResource closeIcon();
@Source("com/sap/sailing/gwt/ui/client/images/settings.png")
ImageResource settingsIcon();
}
@@ -23,11 +23,12 @@ import com.sap.sailing.gwt.ui.client.media.MediaPlayerManager.PlayerChangeListen
import com.sap.sailing.gwt.ui.client.media.MediaPlayerManagerComponent;
import com.sap.sailing.gwt.ui.client.media.MediaSingleSelectionControl;
import com.sap.sailing.gwt.ui.client.shared.charts.EditMarkPassingsPanel;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.ComponentViewer;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.ComponentViewer;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
import com.sap.sse.security.shared.DefaultRoles;
import com.sap.sse.security.ui.client.UserService;
import com.sap.sse.security.ui.client.UserStatusEventHandler;
@@ -226,7 +227,7 @@ public class SideBySideComponentViewer implements ComponentViewer, UserStatusEve
}
}
public <SettingsType> void showSettingsDialog(Component<SettingsType> component) {
public <SettingsType extends Settings> void showSettingsDialog(Component<SettingsType> component) {
if (component.hasSettings()) {
new SettingsDialog<SettingsType>(component, stringMessages).show();
}
Loaded 100 of 166 files, more files were not shown because too many files have changed in this diff. Show more