mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-30 17:36:40 +00:00
Merge remote-tracking branch 'server/master'
This commit is contained in:
commit
ed8884403b
4 files changed
+69
-16
No files matched your search
@@ -234,6 +234,11 @@ wind data from the dev DB instance, execute:
|
|||||||
|
|
||||||
/opt/mongodb/bin/mongoexport -h localhost:10200 -d winddb -c WIND_TRACKS >/tmp/wind-tracks-dev.json
|
/opt/mongodb/bin/mongoexport -h localhost:10200 -d winddb -c WIND_TRACKS >/tmp/wind-tracks-dev.json
|
||||||
|
|
||||||
|
or with an additional query parameter if only want to export the wind of a specific race
|
||||||
|
|
||||||
|
/opt/mongodb/bin/mongoexport -h localhost:10200 -d winddb -c WIND_TRACKS -q "{EVENT_NAME:'Sailing Team Germany (Melges 24)'}" >/tmp/wind-tracks-dev.json
|
||||||
|
|
||||||
|
|
||||||
To import the resulting JSON file into the test DB instance, execute:
|
To import the resulting JSON file into the test DB instance, execute:
|
||||||
|
|
||||||
/opt/mongodb/bin/mongoimport -h localhost:10201 -d winddb -c WIND_TRACKS /tmp/wind-tracks-dev.json
|
/opt/mongodb/bin/mongoimport -h localhost:10201 -d winddb -c WIND_TRACKS /tmp/wind-tracks-dev.json
|
||||||
+8
-1
@@ -28,10 +28,17 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint {
|
|||||||
private String raceName;
|
private String raceName;
|
||||||
private String leaderboardName;
|
private String leaderboardName;
|
||||||
private String leaderboardGroupName;
|
private String leaderboardGroupName;
|
||||||
|
private RaceBoardViewMode viewMode;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onModuleLoad() {
|
public void onModuleLoad() {
|
||||||
super.onModuleLoad();
|
super.onModuleLoad();
|
||||||
|
String viewModeParamValue = Window.Location.getParameter("viewMode");
|
||||||
|
try {
|
||||||
|
viewMode = RaceBoardViewMode.valueOf(RaceBoardViewMode.class, viewModeParamValue);
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
viewMode = RaceBoardViewMode.ONE_SCREEN;
|
||||||
|
}
|
||||||
eventName = Window.Location.getParameter("eventName");
|
eventName = Window.Location.getParameter("eventName");
|
||||||
raceName = Window.Location.getParameter("raceName");
|
raceName = Window.Location.getParameter("raceName");
|
||||||
String leaderboardNameParamValue = Window.Location.getParameter("leaderboardName");
|
String leaderboardNameParamValue = Window.Location.getParameter("leaderboardName");
|
||||||
@@ -132,7 +139,7 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint {
|
|||||||
List<RaceIdentifier> singletonList = Collections.singletonList(selectedRace.getRaceIdentifier());
|
List<RaceIdentifier> singletonList = Collections.singletonList(selectedRace.getRaceIdentifier());
|
||||||
raceSelectionModel.setSelection(singletonList);
|
raceSelectionModel.setSelection(singletonList);
|
||||||
raceBoardPanel = new RaceBoardPanel(sailingService, userDTO, raceSelectionModel, leaderboardName, leaderboardGroupName,
|
raceBoardPanel = new RaceBoardPanel(sailingService, userDTO, raceSelectionModel, leaderboardName, leaderboardGroupName,
|
||||||
RaceBoardEntryPoint.this, stringMessages, userAgentType);
|
RaceBoardEntryPoint.this, stringMessages, userAgentType, viewMode);
|
||||||
raceBoardPanel.fillEvents(events);
|
raceBoardPanel.fillEvents(events);
|
||||||
|
|
||||||
logoAndTitlePanel.add(raceBoardPanel.getNavigationWidget());
|
logoAndTitlePanel.add(raceBoardPanel.getNavigationWidget());
|
||||||
|
|||||||
+49
-15
@@ -56,6 +56,7 @@ import com.sap.sailing.gwt.ui.shared.panels.BreadcrumbPanel;
|
|||||||
*/
|
*/
|
||||||
public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSelectionChangeListener {
|
public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSelectionChangeListener {
|
||||||
private final SailingServiceAsync sailingService;
|
private final SailingServiceAsync sailingService;
|
||||||
|
private final StringMessages stringMessages;
|
||||||
private final ErrorReporter errorReporter;
|
private final ErrorReporter errorReporter;
|
||||||
private String raceBoardName;
|
private String raceBoardName;
|
||||||
|
|
||||||
@@ -70,40 +71,61 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
|
|||||||
private int scrollOffset;
|
private int scrollOffset;
|
||||||
|
|
||||||
private final List<CollapsableComponentViewer<?>> collapsableViewers;
|
private final List<CollapsableComponentViewer<?>> collapsableViewers;
|
||||||
private final FlowPanel componentsNavigationPanel;
|
private FlowPanel componentsNavigationPanel;
|
||||||
private final BreadcrumbPanel breadcrumbPanel;
|
private BreadcrumbPanel breadcrumbPanel;
|
||||||
private final RaceTimePanel timePanel;
|
private RaceTimePanel timePanel;
|
||||||
private final Timer timer;
|
private final Timer timer;
|
||||||
private final RaceSelectionProvider raceSelectionProvider;
|
private final RaceSelectionProvider raceSelectionProvider;
|
||||||
|
private final UserAgentTypes userAgentType;
|
||||||
|
private final CompetitorSelectionModel competitorSelectionModel;
|
||||||
|
private final RaceIdentifier selectedRaceIdentifier;
|
||||||
|
|
||||||
public RaceBoardPanel(SailingServiceAsync sailingService, UserDTO theUser, RaceSelectionProvider theRaceSelectionProvider, String leaderboardName,
|
public RaceBoardPanel(SailingServiceAsync sailingService, UserDTO theUser, RaceSelectionProvider theRaceSelectionProvider, String leaderboardName,
|
||||||
String leaderboardGroupName, ErrorReporter errorReporter, final StringMessages stringMessages, UserAgentTypes userAgentType) {
|
String leaderboardGroupName, ErrorReporter errorReporter, final StringMessages stringMessages, UserAgentTypes userAgentType, RaceBoardViewMode viewMode) {
|
||||||
this.sailingService = sailingService;
|
this.sailingService = sailingService;
|
||||||
|
this.stringMessages = stringMessages;
|
||||||
this.raceSelectionProvider = theRaceSelectionProvider;
|
this.raceSelectionProvider = theRaceSelectionProvider;
|
||||||
this.scrollOffset = 0;
|
this.scrollOffset = 0;
|
||||||
raceSelectionProvider.addRaceSelectionChangeListener(this);
|
raceSelectionProvider.addRaceSelectionChangeListener(this);
|
||||||
racesByIdentifier = new HashMap<RaceIdentifier, RaceDTO>();
|
racesByIdentifier = new HashMap<RaceIdentifier, RaceDTO>();
|
||||||
RaceIdentifier selectedRaceIdentifier = raceSelectionProvider.getSelectedRaces().iterator().next();
|
selectedRaceIdentifier = raceSelectionProvider.getSelectedRaces().iterator().next();
|
||||||
this.setRaceBoardName(selectedRaceIdentifier.getRaceName());
|
this.setRaceBoardName(selectedRaceIdentifier.getRaceName());
|
||||||
this.errorReporter = errorReporter;
|
this.errorReporter = errorReporter;
|
||||||
|
this.userAgentType = userAgentType;
|
||||||
FlowPanel mainPanel = new FlowPanel();
|
FlowPanel mainPanel = new FlowPanel();
|
||||||
mainPanel.setSize("100%", "100%");
|
mainPanel.setSize("100%", "100%");
|
||||||
setWidget(mainPanel);
|
setWidget(mainPanel);
|
||||||
|
|
||||||
timer = new Timer(PlayModes.Replay, /* delayBetweenAutoAdvancesInMilliseconds */1000);
|
timer = new Timer(PlayModes.Replay, /* delayBetweenAutoAdvancesInMilliseconds */1000);
|
||||||
collapsableViewers = new ArrayList<CollapsableComponentViewer<?>>();
|
collapsableViewers = new ArrayList<CollapsableComponentViewer<?>>();
|
||||||
CompetitorSelectionModel competitorSelectionModel = new CompetitorSelectionModel(/* hasMultiSelection */ true);
|
competitorSelectionModel = new CompetitorSelectionModel(/* hasMultiSelection */ true);
|
||||||
|
|
||||||
// create the breadcrumb navigation
|
switch (viewMode) {
|
||||||
ArrayList<Pair<String, String>> breadcrumbLinksData = new ArrayList<Pair<String, String>>();
|
case CASCADING:
|
||||||
String debugParam = Window.Location.getParameter("gwt.codesvr");
|
createCascadingView(leaderboardName, leaderboardGroupName, mainPanel);
|
||||||
|
break;
|
||||||
if(leaderboardGroupName != null) {
|
case ONE_SCREEN:
|
||||||
String link = "/gwt/Spectator.html?leaderboardGroupName=" + leaderboardGroupName +
|
createOneScreenView();
|
||||||
(debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : "");
|
break;
|
||||||
breadcrumbLinksData.add(new Pair<String, String>(link, leaderboardGroupName));
|
case TV_MODE:
|
||||||
|
createTVView();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
breadcrumbPanel = new BreadcrumbPanel(breadcrumbLinksData, selectedRaceIdentifier.getRaceName());
|
}
|
||||||
|
|
||||||
|
private void createTVView() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createOneScreenView() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createCascadingView(String leaderboardName, String leaderboardGroupName, FlowPanel mainPanel) {
|
||||||
|
// create the breadcrumb navigation
|
||||||
|
breadcrumbPanel = createBreadcrumbPanel(leaderboardGroupName);
|
||||||
mainPanel.add(breadcrumbPanel);
|
mainPanel.add(breadcrumbPanel);
|
||||||
|
|
||||||
componentsNavigationPanel = new FlowPanel();
|
componentsNavigationPanel = new FlowPanel();
|
||||||
@@ -166,6 +188,18 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
|
|||||||
raceSelectionProvider.addRaceSelectionChangeListener(timePanel);
|
raceSelectionProvider.addRaceSelectionChangeListener(timePanel);
|
||||||
timePanel.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces());
|
timePanel.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BreadcrumbPanel createBreadcrumbPanel(String leaderboardGroupName) {
|
||||||
|
ArrayList<Pair<String, String>> breadcrumbLinksData = new ArrayList<Pair<String, String>>();
|
||||||
|
String debugParam = Window.Location.getParameter("gwt.codesvr");
|
||||||
|
|
||||||
|
if(leaderboardGroupName != null) {
|
||||||
|
String link = "/gwt/Spectator.html?leaderboardGroupName=" + leaderboardGroupName +
|
||||||
|
(debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : "");
|
||||||
|
breadcrumbLinksData.add(new Pair<String, String>(link, leaderboardGroupName));
|
||||||
|
}
|
||||||
|
return new BreadcrumbPanel(breadcrumbLinksData, selectedRaceIdentifier.getRaceName());
|
||||||
|
}
|
||||||
|
|
||||||
private void addComponentViewerMenuEntry(final ComponentViewer c) {
|
private void addComponentViewerMenuEntry(final ComponentViewer c) {
|
||||||
Anchor menuEntry = new Anchor(c.getViewerName());
|
Anchor menuEntry = new Anchor(c.getViewerName());
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package com.sap.sailing.gwt.ui.raceboard;
|
||||||
|
|
||||||
|
public enum RaceBoardViewMode {
|
||||||
|
|
||||||
|
CASCADING, ONE_SCREEN, TV_MODE
|
||||||
|
|
||||||
|
}
|
||||||
Reference in new issue
Block a user