From cf9f9df81cf38b2d19c84b88876098a20593bdb3 Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 2 Mar 2012 18:40:26 +0100 Subject: [PATCH 1/3] added a variant to the description of the "wind export" in order to export only the wind data of a specific event --- doc/ADMIN | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/ADMIN b/doc/ADMIN index f2c18efc054..a57450e2160 100755 --- a/doc/ADMIN +++ b/doc/ADMIN @@ -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 From 47003af404d527b9009476763a12330e682185fb Mon Sep 17 00:00:00 2001 From: Lennart Hensler Date: Mon, 5 Mar 2012 13:54:14 +0100 Subject: [PATCH 2/3] Introducing of different view modes for the RaceBoardPanel --- .../gwt/ui/raceboard/RaceBoardEntryPoint.java | 9 ++- .../gwt/ui/raceboard/RaceBoardPanel.java | 64 ++++++++++++++----- 2 files changed, 57 insertions(+), 16 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java index 5fd8d3a7f1c..a0f5abbd338 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java @@ -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 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()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java index bb69911815d..e3eba6792d3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java @@ -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> 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 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>(); - CompetitorSelectionModel competitorSelectionModel = new CompetitorSelectionModel(/* hasMultiSelection */ true); + competitorSelectionModel = new CompetitorSelectionModel(/* hasMultiSelection */ true); - // create the breadcrumb navigation - ArrayList> breadcrumbLinksData = new ArrayList>(); - 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(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> breadcrumbLinksData = new ArrayList>(); + 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(link, leaderboardGroupName)); + } + return new BreadcrumbPanel(breadcrumbLinksData, selectedRaceIdentifier.getRaceName()); + } private void addComponentViewerMenuEntry(final ComponentViewer c) { Anchor menuEntry = new Anchor(c.getViewerName()); From 6159abb419a9d77501a8639f8b843a64fecb93a3 Mon Sep 17 00:00:00 2001 From: Lennart Hensler Date: Mon, 5 Mar 2012 13:55:01 +0100 Subject: [PATCH 3/3] Created an enum for the race board view mode --- .../sap/sailing/gwt/ui/raceboard/RaceBoardViewMode.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardViewMode.java diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardViewMode.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardViewMode.java new file mode 100644 index 00000000000..f72ae99193c --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardViewMode.java @@ -0,0 +1,7 @@ +package com.sap.sailing.gwt.ui.raceboard; + +public enum RaceBoardViewMode { + + CASCADING, ONE_SCREEN, TV_MODE + +}