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
|
||||
|
||||
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:
|
||||
|
||||
/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 leaderboardName;
|
||||
private String leaderboardGroupName;
|
||||
private RaceBoardViewMode viewMode;
|
||||
|
||||
@Override
|
||||
public void 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");
|
||||
raceName = Window.Location.getParameter("raceName");
|
||||
String leaderboardNameParamValue = Window.Location.getParameter("leaderboardName");
|
||||
@@ -132,7 +139,7 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint {
|
||||
List<RaceIdentifier> singletonList = Collections.singletonList(selectedRace.getRaceIdentifier());
|
||||
raceSelectionModel.setSelection(singletonList);
|
||||
raceBoardPanel = new RaceBoardPanel(sailingService, userDTO, raceSelectionModel, leaderboardName, leaderboardGroupName,
|
||||
RaceBoardEntryPoint.this, stringMessages, userAgentType);
|
||||
RaceBoardEntryPoint.this, stringMessages, userAgentType, viewMode);
|
||||
raceBoardPanel.fillEvents(events);
|
||||
|
||||
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 {
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final StringMessages stringMessages;
|
||||
private final ErrorReporter errorReporter;
|
||||
private String raceBoardName;
|
||||
|
||||
@@ -70,40 +71,61 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
|
||||
private int scrollOffset;
|
||||
|
||||
private final List<CollapsableComponentViewer<?>> collapsableViewers;
|
||||
private final FlowPanel componentsNavigationPanel;
|
||||
private final BreadcrumbPanel breadcrumbPanel;
|
||||
private final RaceTimePanel timePanel;
|
||||
private FlowPanel componentsNavigationPanel;
|
||||
private BreadcrumbPanel breadcrumbPanel;
|
||||
private RaceTimePanel timePanel;
|
||||
private final Timer timer;
|
||||
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,
|
||||
String leaderboardGroupName, ErrorReporter errorReporter, final StringMessages stringMessages, UserAgentTypes userAgentType) {
|
||||
String leaderboardGroupName, ErrorReporter errorReporter, final StringMessages stringMessages, UserAgentTypes userAgentType, RaceBoardViewMode viewMode) {
|
||||
this.sailingService = sailingService;
|
||||
this.stringMessages = stringMessages;
|
||||
this.raceSelectionProvider = theRaceSelectionProvider;
|
||||
this.scrollOffset = 0;
|
||||
raceSelectionProvider.addRaceSelectionChangeListener(this);
|
||||
racesByIdentifier = new HashMap<RaceIdentifier, RaceDTO>();
|
||||
RaceIdentifier selectedRaceIdentifier = raceSelectionProvider.getSelectedRaces().iterator().next();
|
||||
selectedRaceIdentifier = raceSelectionProvider.getSelectedRaces().iterator().next();
|
||||
this.setRaceBoardName(selectedRaceIdentifier.getRaceName());
|
||||
this.errorReporter = errorReporter;
|
||||
this.userAgentType = userAgentType;
|
||||
FlowPanel mainPanel = new FlowPanel();
|
||||
mainPanel.setSize("100%", "100%");
|
||||
setWidget(mainPanel);
|
||||
|
||||
timer = new Timer(PlayModes.Replay, /* delayBetweenAutoAdvancesInMilliseconds */1000);
|
||||
collapsableViewers = new ArrayList<CollapsableComponentViewer<?>>();
|
||||
CompetitorSelectionModel competitorSelectionModel = new CompetitorSelectionModel(/* hasMultiSelection */ true);
|
||||
competitorSelectionModel = new CompetitorSelectionModel(/* hasMultiSelection */ true);
|
||||
|
||||
// create the breadcrumb navigation
|
||||
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));
|
||||
switch (viewMode) {
|
||||
case CASCADING:
|
||||
createCascadingView(leaderboardName, leaderboardGroupName, mainPanel);
|
||||
break;
|
||||
case ONE_SCREEN:
|
||||
createOneScreenView();
|
||||
break;
|
||||
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);
|
||||
|
||||
componentsNavigationPanel = new FlowPanel();
|
||||
@@ -166,6 +188,18 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
|
||||
raceSelectionProvider.addRaceSelectionChangeListener(timePanel);
|
||||
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) {
|
||||
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