From f229b5a1273a89ec19403eac5e2a0e6dbd6c4bcd Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 25 Mar 2015 13:35:58 +0100 Subject: [PATCH 1/5] removed warnings by consolidating imports --- .../java/com/sap/sailing/dashboards/gwt/client/EventLogo.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/EventLogo.java b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/EventLogo.java index b01619d6d1d..1c964a35c7d 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/EventLogo.java +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/EventLogo.java @@ -4,8 +4,6 @@ import java.util.UUID; import java.util.logging.Level; import java.util.logging.Logger; -import com.google.gwt.core.client.Scheduler; -import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.dom.client.Style.Visibility; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Image; From f04fb321a2feac93ee7089e2dcdf8cc5f646428a Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 25 Mar 2015 13:36:15 +0100 Subject: [PATCH 2/5] improved Igtimi logging in case HDG/HDGM are missing --- .../domain/igtimiadapter/shared/IgtimiWindReceiver.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain.igtimiadapter/src/com/sap/sailing/domain/igtimiadapter/shared/IgtimiWindReceiver.java b/java/com.sap.sailing.domain.igtimiadapter/src/com/sap/sailing/domain/igtimiadapter/shared/IgtimiWindReceiver.java index f94535842e4..a4545cb1e85 100755 --- a/java/com.sap.sailing.domain.igtimiadapter/src/com/sap/sailing/domain/igtimiadapter/shared/IgtimiWindReceiver.java +++ b/java/com.sap.sailing.domain.igtimiadapter/src/com/sap/sailing/domain/igtimiadapter/shared/IgtimiWindReceiver.java @@ -157,7 +157,8 @@ public class IgtimiWindReceiver implements BulkFixReceiver { notifyListeners(wind, aws.getSensor().getDeviceSerialNumber()); } else { if (!loggedWindFixGenerationProblem) { - logger.info("Not enough information to build a Wind fix out of data provided. AWS received but most probably HDG or HDGM not received (yet) - check your compass."); + logger.info("Not enough information to build a Wind fix out of data provided by sensor "+aws.getSensor()+ + ". AWS received but most probably HDG or HDGM not received (yet) - check your compass."); loggedWindFixGenerationProblem = true; } } From f6d4e42aa779637b100d878a902bb205b5c1bab8 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 25 Mar 2015 13:36:33 +0100 Subject: [PATCH 3/5] updated release notes for new chart and column types --- .../gwt/home/solutions/SailingAnalyticsNotes.html | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/SailingAnalyticsNotes.html b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/SailingAnalyticsNotes.html index 950a0356b6c..182276f8c7e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/SailingAnalyticsNotes.html +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/SailingAnalyticsNotes.html @@ -7,11 +7,18 @@
March 2015
    +
  • Added competitor chart type for Course Over Ground (COG) +
  • +
  • Added leaderboard column and competitor chart entry for distances considering + gate starts. With gate starts, late starters sail a shorter distance in their first + leg. To still make distances comparable, a new metric has been introduced that for a gate + start adds the distance between the port side of the start line and the position where + the competitor started to the distance sailed in the first leg. +
  • The weights of the wind measurement units, the wind estimation and manual wind inputs by the race committee are now used properly for the wind streamlet visualization. This fixes issues with exaggerated weights for an estimated wind direction of very low confidence.
  • -
  • The expand/collapse toggle button in the race viewer's time panel has correct arrows now.
From 9e0fc72b425a8e7bf3438945dc22ee7e7297ca1b Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 25 Mar 2015 13:36:52 +0100 Subject: [PATCH 4/5] made member private --- .../com/sap/sailing/server/gateway/impl/WindStatusServlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/WindStatusServlet.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/WindStatusServlet.java index b91ee6978fc..2fbb56f8203 100755 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/WindStatusServlet.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/WindStatusServlet.java @@ -215,7 +215,7 @@ public class WindStatusServlet extends SailingServerHttpServlet implements Igtim } private class IgtimiMessageInfo { - Wind wind; + private Wind wind; private String deviceSerialInfo; public IgtimiMessageInfo(Wind wind, String deviceSerialInfo) { From 41d1fd5266f69a28a71a3e35ec49e09ae8092ec3 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 25 Mar 2015 13:48:40 +0100 Subject: [PATCH 5/5] show additional action items in RaceLog Tracking race column/fleet table --- .../AbstractLeaderboardConfigPanel.java | 100 ++++++++++++++++++ .../adminconsole/LeaderboardConfigPanel.java | 97 ----------------- .../gwt/ui/adminconsole/MarkTableWrapper.java | 15 --- .../RaceLogTrackingEventManagementPanel.java | 10 +- ...ckingEventManagementRaceImagesBarCell.java | 12 ++- 5 files changed, 118 insertions(+), 116 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractLeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractLeaderboardConfigPanel.java index ede4417bfd2..314f049c4a0 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractLeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractLeaderboardConfigPanel.java @@ -2,8 +2,10 @@ package com.sap.sailing.gwt.ui.adminconsole; import java.util.ArrayList; import java.util.Comparator; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; @@ -29,8 +31,11 @@ import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.domain.common.dto.NamedDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; +import com.sap.sailing.gwt.ui.adminconsole.RaceColumnInLeaderboardDialog.RaceColumnDescriptor; import com.sap.sailing.gwt.ui.client.LeaderboardsDisplayer; import com.sap.sailing.gwt.ui.client.LeaderboardsRefresher; +import com.sap.sailing.gwt.ui.client.ParallelExecutionCallback; +import com.sap.sailing.gwt.ui.client.ParallelExecutionHolder; import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener; import com.sap.sailing.gwt.ui.client.RaceSelectionModel; import com.sap.sailing.gwt.ui.client.RaceSelectionProvider; @@ -39,11 +44,13 @@ 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.controls.SelectionCheckboxColumn; +import com.sap.sailing.gwt.ui.shared.RaceLogDTO; import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; 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.dialog.DataEntryDialog.DialogCallback; import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel; public abstract class AbstractLeaderboardConfigPanel extends FormPanel implements SelectedLeaderboardProvider, @@ -519,4 +526,97 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement protected LeaderboardsRefresher getLeaderboardsRefresher() { return leaderboardsRefresher; } + + protected void editRaceColumnOfLeaderboard(final RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnWithFleet) { + final String selectedLeaderboardName = getSelectedLeaderboardName(); + final boolean oldIsMedalRace = raceColumnWithFleet.getA().isMedalRace(); + final String oldRaceColumnName = raceColumnWithFleet.getA().getRaceColumnName(); + final Double oldExplicitFactor = raceColumnWithFleet.getA().getExplicitFactor(); + // use a set to avoid duplicates in the case of regatta leaderboards with multiple fleets per column + Set existingRacesWithoutThisRace = new HashSet(); + for (RaceColumnDTOAndFleetDTOWithNameBasedEquality pair : raceColumnTable.getDataProvider().getList()) { + existingRacesWithoutThisRace.add(pair.getA()); + } + existingRacesWithoutThisRace.remove(raceColumnWithFleet.getA()); + final RaceColumnInLeaderboardDialog raceDialog = new RaceColumnInLeaderboardDialog(existingRacesWithoutThisRace, + raceColumnWithFleet.getA(), getSelectedLeaderboard().type.isRegattaLeaderboard(), stringMessages, new DialogCallback() { + @Override + public void cancel() { + } + + @Override + public void ok(final RaceColumnDescriptor result) { + boolean rename = !oldRaceColumnName.equals(result.getName()); + boolean updateIsMedalRace = oldIsMedalRace != result.isMedalRace(); + boolean updateFactor = oldExplicitFactor != result.getExplicitFactor(); + List> callbacks = new ArrayList>(); + final ParallelExecutionCallback renameLeaderboardColumnCallback = new ParallelExecutionCallback(); + if (rename) { + callbacks.add(renameLeaderboardColumnCallback); + } + final ParallelExecutionCallback updateIsMedalRaceCallback = new ParallelExecutionCallback(); + if (updateIsMedalRace) { + callbacks.add(updateIsMedalRaceCallback); + } + final ParallelExecutionCallback updateLeaderboardColumnFactorCallback = new ParallelExecutionCallback(); + if (updateFactor) { + callbacks.add(updateLeaderboardColumnFactorCallback); + } + new ParallelExecutionHolder(callbacks.toArray(new ParallelExecutionCallback[0])) { + @Override + public void handleSuccess() { + loadAndRefreshLeaderboard(selectedLeaderboardName, result.getName()); + } + @Override + public void handleFailure(Throwable t) { + errorReporter.reportError("Error trying to update data of race column " + + oldRaceColumnName + " in leaderboard " + selectedLeaderboardName + ": " + + t.getMessage()); + } + }; + if (rename) { + sailingService.renameLeaderboardColumn(selectedLeaderboardName, oldRaceColumnName, + result.getName(), renameLeaderboardColumnCallback); + } + if (updateIsMedalRace) { + sailingService.updateIsMedalRace(selectedLeaderboardName, result.getName(), + result.isMedalRace(), updateIsMedalRaceCallback); + } + if (updateFactor) { + sailingService.updateLeaderboardColumnFactor(selectedLeaderboardName, result.getName(), + result.getExplicitFactor(), updateLeaderboardColumnFactorCallback); + } + } + }); + raceDialog.show(); + } + + protected void showRaceLog(final RaceColumnDTO raceColumnDTO, final FleetDTO fleetDTO) { + final String selectedLeaderboardName = getSelectedLeaderboardName(); + sailingService.getRaceLog(selectedLeaderboardName, raceColumnDTO, fleetDTO, + new MarkedAsyncCallback( + new AsyncCallback() { + @Override + public void onFailure(Throwable caught) { + errorReporter.reportError(caught.getMessage(), true); + } + @Override + public void onSuccess(RaceLogDTO result) { + openRaceLogDialog(result); + } + })); + } + + private void openRaceLogDialog(RaceLogDTO raceLogDTO) { + RaceLogDialog dialog = new RaceLogDialog(raceLogDTO, stringMessages, new DialogCallback() { + @Override + public void cancel() { + } + + @Override + public void ok(RaceLogDTO result) { + } + }); + dialog.show(); + } } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 14941b5d424..5e6c6665643 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -37,12 +37,9 @@ import com.sap.sailing.domain.common.dto.CompetitorDTO; import com.sap.sailing.domain.common.dto.FleetDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; import com.sap.sailing.gwt.ui.adminconsole.DisablableCheckboxCell.IsEnabled; -import com.sap.sailing.gwt.ui.adminconsole.RaceColumnInLeaderboardDialog.RaceColumnDescriptor; import com.sap.sailing.gwt.ui.client.EntryPointLinkFactory; import com.sap.sailing.gwt.ui.client.LeaderboardsDisplayer; import com.sap.sailing.gwt.ui.client.LeaderboardsRefresher; -import com.sap.sailing.gwt.ui.client.ParallelExecutionCallback; -import com.sap.sailing.gwt.ui.client.ParallelExecutionHolder; import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener; import com.sap.sailing.gwt.ui.client.RegattaRefresher; import com.sap.sailing.gwt.ui.client.RegattasDisplayer; @@ -52,7 +49,6 @@ import com.sap.sailing.gwt.ui.client.shared.controls.SelectionCheckboxColumn; import com.sap.sailing.gwt.ui.leaderboard.LeaderboardEntryPoint; import com.sap.sailing.gwt.ui.leaderboard.ScoringSchemeTypeFormatter; import com.sap.sailing.gwt.ui.shared.EventDTO; -import com.sap.sailing.gwt.ui.shared.RaceLogDTO; import com.sap.sailing.gwt.ui.shared.RaceLogSetStartTimeAndProcedureDTO; import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; import com.sap.sse.common.Util; @@ -482,35 +478,6 @@ TrackedRaceChangedListener, LeaderboardsDisplayer { }).show(); } - private void showRaceLog(final RaceColumnDTO raceColumnDTO, final FleetDTO fleetDTO) { - final String selectedLeaderboardName = getSelectedLeaderboardName(); - sailingService.getRaceLog(selectedLeaderboardName, raceColumnDTO, fleetDTO, - new MarkedAsyncCallback( - new AsyncCallback() { - @Override - public void onFailure(Throwable caught) { - errorReporter.reportError(caught.getMessage(), true); - } - @Override - public void onSuccess(RaceLogDTO result) { - openRaceLogDialog(result); - } - })); - } - - private void openRaceLogDialog(RaceLogDTO raceLogDTO) { - RaceLogDialog dialog = new RaceLogDialog(raceLogDTO, stringMessages, new DialogCallback() { - @Override - public void cancel() { - } - - @Override - public void ok(RaceLogDTO result) { - } - }); - dialog.show(); - } - private void removeRaceColumn(final RaceColumnDTO raceColumnDTO) { final String selectedLeaderboardName = getSelectedLeaderboardName(); final String raceColumnString = raceColumnDTO.getRaceColumnName(); @@ -592,70 +559,6 @@ TrackedRaceChangedListener, LeaderboardsDisplayer { } } - private void editRaceColumnOfLeaderboard(final RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnWithFleet) { - final String selectedLeaderboardName = getSelectedLeaderboardName(); - final boolean oldIsMedalRace = raceColumnWithFleet.getA().isMedalRace(); - final String oldRaceColumnName = raceColumnWithFleet.getA().getRaceColumnName(); - final Double oldExplicitFactor = raceColumnWithFleet.getA().getExplicitFactor(); - // use a set to avoid duplicates in the case of regatta leaderboards with multiple fleets per column - Set existingRacesWithoutThisRace = new HashSet(); - for (RaceColumnDTOAndFleetDTOWithNameBasedEquality pair : raceColumnTable.getDataProvider().getList()) { - existingRacesWithoutThisRace.add(pair.getA()); - } - existingRacesWithoutThisRace.remove(raceColumnWithFleet.getA()); - final RaceColumnInLeaderboardDialog raceDialog = new RaceColumnInLeaderboardDialog(existingRacesWithoutThisRace, - raceColumnWithFleet.getA(), getSelectedLeaderboard().type.isRegattaLeaderboard(), stringMessages, new DialogCallback() { - @Override - public void cancel() { - } - - @Override - public void ok(final RaceColumnDescriptor result) { - boolean rename = !oldRaceColumnName.equals(result.getName()); - boolean updateIsMedalRace = oldIsMedalRace != result.isMedalRace(); - boolean updateFactor = oldExplicitFactor != result.getExplicitFactor(); - List> callbacks = new ArrayList>(); - final ParallelExecutionCallback renameLeaderboardColumnCallback = new ParallelExecutionCallback(); - if (rename) { - callbacks.add(renameLeaderboardColumnCallback); - } - final ParallelExecutionCallback updateIsMedalRaceCallback = new ParallelExecutionCallback(); - if (updateIsMedalRace) { - callbacks.add(updateIsMedalRaceCallback); - } - final ParallelExecutionCallback updateLeaderboardColumnFactorCallback = new ParallelExecutionCallback(); - if (updateFactor) { - callbacks.add(updateLeaderboardColumnFactorCallback); - } - new ParallelExecutionHolder(callbacks.toArray(new ParallelExecutionCallback[0])) { - @Override - public void handleSuccess() { - loadAndRefreshLeaderboard(selectedLeaderboardName, result.getName()); - } - @Override - public void handleFailure(Throwable t) { - errorReporter.reportError("Error trying to update data of race column " - + oldRaceColumnName + " in leaderboard " + selectedLeaderboardName + ": " - + t.getMessage()); - } - }; - if (rename) { - sailingService.renameLeaderboardColumn(selectedLeaderboardName, oldRaceColumnName, - result.getName(), renameLeaderboardColumnCallback); - } - if (updateIsMedalRace) { - sailingService.updateIsMedalRace(selectedLeaderboardName, result.getName(), - result.isMedalRace(), updateIsMedalRaceCallback); - } - if (updateFactor) { - sailingService.updateLeaderboardColumnFactor(selectedLeaderboardName, result.getName(), - result.getExplicitFactor(), updateLeaderboardColumnFactorCallback); - } - } - }); - raceDialog.show(); - } - private void setIsMedalRace(String leaderboardName, final RaceColumnDTO raceInLeaderboard, final boolean isMedalRace) { sailingService.updateIsMedalRace(leaderboardName, raceInLeaderboard.getRaceColumnName(), isMedalRace, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/MarkTableWrapper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/MarkTableWrapper.java index 668fdb48349..4f5e4f4e75f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/MarkTableWrapper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/MarkTableWrapper.java @@ -6,7 +6,6 @@ import java.util.Comparator; import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.user.cellview.client.Column; import com.google.gwt.user.cellview.client.TextColumn; -import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.view.client.SelectionModel; import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; @@ -101,18 +100,4 @@ public class MarkTableWrapper> extends TableWr } }); } - - public void refresh(String leaderboardName, String raceColumnName, String fleetName) { - sailingService.getMarksInRaceLog(leaderboardName, raceColumnName, fleetName, new AsyncCallback>() { - @Override - public void onSuccess(Iterable result) { - refresh(result); - } - - @Override - public void onFailure(Throwable caught) { - errorReporter.reportError("Could not load marks: " + caught.getMessage()); - } - }); - } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementPanel.java index 99bb7358ea3..386131c1056 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementPanel.java @@ -270,8 +270,16 @@ public class RaceLogTrackingEventManagementPanel extends AbstractLeaderboardConf @Override public void cancel() {} }).show(); - } else if (RaceLogTrackingEventManagementRaceImagesBarCell.ACTION_SET_START_TIME.equals(value)) { + } else if (LeaderboardRaceConfigImagesBarCell.ACTION_EDIT.equals(value)) { + editRaceColumnOfLeaderboard(object); + } else if (LeaderboardRaceConfigImagesBarCell.ACTION_UNLINK.equals(value)) { + unlinkRaceColumnFromTrackedRace(object.getA().getRaceColumnName(), object.getB()); + } else if (LeaderboardRaceConfigImagesBarCell.ACTION_REFRESH_RACELOG.equals(value)) { + refreshRaceLog(object.getA(), object.getB(), true); + } else if (RaceLogTrackingEventManagementRaceImagesBarCell.ACTION_SET_STARTTIME.equals(value)) { setStartTime(getSelectedRaceColumnWithFleet().getA(), getSelectedRaceColumnWithFleet().getB()); + } else if (LeaderboardRaceConfigImagesBarCell.ACTION_SHOW_RACELOG.equals(value)) { + showRaceLog(object.getA(), object.getB()); } } }); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementRaceImagesBarCell.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementRaceImagesBarCell.java index 52459167fc4..6f79ee928ef 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementRaceImagesBarCell.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementRaceImagesBarCell.java @@ -15,7 +15,11 @@ public class RaceLogTrackingEventManagementRaceImagesBarCell extends ImagesBarCe public final static String ACTION_DEFINE_COURSE = "ACTION_DEFINE_COURSE"; public final static String ACTION_MAP_DEVICES = "ACTION_MAP_DEVICES"; public final static String ACTION_COPY = "ACTION_COPY"; - public final static String ACTION_SET_START_TIME = "ACTION_SET_START_TIME"; + public final static String ACTION_EDIT = "ACTION_EDIT"; + public final static String ACTION_REFRESH_RACELOG = "ACTION_REFRESH_RACE_LOG"; + public final static String ACTION_SET_STARTTIME = "ACTION_SET_STARTTIME"; + public final static String ACTION_SHOW_RACELOG = "ACTION_SHOW_RACELOG"; + private final StringMessages stringMessages; private static AdminConsoleResources resources = GWT.create(AdminConsoleResources.class); @@ -36,10 +40,12 @@ public class RaceLogTrackingEventManagementRaceImagesBarCell extends ImagesBarCe result.add(new ImageSpec(ACTION_COMPETITOR_REGISTRATIONS, stringMessages.competitorRegistrations(), makeImagePrototype(resources.competitorRegistrations()))); result.add(new ImageSpec(ACTION_DEFINE_COURSE, stringMessages.defineCourse(), makeImagePrototype(resources.defineCourse()))); result.add(new ImageSpec(ACTION_MAP_DEVICES, stringMessages.mapDevices(), makeImagePrototype(resources.mapDevices()))); - result.add(new ImageSpec(ACTION_SET_START_TIME, stringMessages.setStartTime(), makeImagePrototype(resources.clockIcon()))); result.add(new ImageSpec(ACTION_COPY, stringMessages.copyCourseAndCompetitors(), makeImagePrototype(resources.copy()))); } - + result.add(new ImageSpec(ACTION_EDIT, stringMessages.actionEdit(), makeImagePrototype(resources.editIcon()))); + result.add(new ImageSpec(ACTION_REFRESH_RACELOG, stringMessages.refreshRaceLog(), makeImagePrototype(resources.reloadIcon()))); + result.add(new ImageSpec(ACTION_SET_STARTTIME, stringMessages.setStartTime(), makeImagePrototype(resources.clockIcon()))); + result.add(new ImageSpec(ACTION_SHOW_RACELOG, stringMessages.raceLog(), makeImagePrototype(resources.flagIcon()))); return result; } } \ No newline at end of file