Merge remote-tracking branch 'server/master'

This commit is contained in:
Axel Uhl committed 2012-03-05 16:13:15 +01:00
commit ed8884403b
4 files changed
+69 -16

No files matched your search

+5
View File
@@ -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
@@ -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());
@@ -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());
@@ -0,0 +1,7 @@
package com.sap.sailing.gwt.ui.raceboard;
public enum RaceBoardViewMode {
CASCADING, ONE_SCREEN, TV_MODE
}