added some things to the gwt ui. moved Flags.java and RaceLogRaceStatus.java to domain.common
@@ -9,4 +9,5 @@ Bundle-ActivationPolicy: lazy
|
||||
Export-Package: com.sap.sailing.domain.common,
|
||||
com.sap.sailing.domain.common.impl,
|
||||
com.sap.sailing.domain.common.quadtree,
|
||||
com.sap.sailing.domain.common.quadtree.impl;x-friends:="com.sap.sailing.domain.test"
|
||||
com.sap.sailing.domain.common.quadtree.impl;x-friends:="com.sap.sailing.domain.test",
|
||||
com.sap.sailing.domain.racelog
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
package com.sap.sailing.domain.racelog;
|
||||
|
||||
public enum Flags {
|
||||
NONE,
|
||||
ALPHA,
|
||||
BRAVO,
|
||||
CLASS,
|
||||
FOXTROTT,
|
||||
GOLF,
|
||||
HOTEL,
|
||||
INDIA,
|
||||
NOVEMBER,
|
||||
PAPA,
|
||||
XRAY,
|
||||
ZULU,
|
||||
FIRSTSUBSTITUTE,
|
||||
BLACK,
|
||||
BLUE,
|
||||
JURY,
|
||||
AP,
|
||||
ESSONE,
|
||||
ESSTWO,
|
||||
ESSTHREE
|
||||
}
|
||||
package com.sap.sailing.domain.racelog;
|
||||
|
||||
public enum Flags {
|
||||
NONE,
|
||||
ALPHA,
|
||||
BRAVO,
|
||||
CLASS,
|
||||
FOXTROTT,
|
||||
GOLF,
|
||||
HOTEL,
|
||||
INDIA,
|
||||
NOVEMBER,
|
||||
PAPA,
|
||||
XRAY,
|
||||
ZULU,
|
||||
FIRSTSUBSTITUTE,
|
||||
BLACK,
|
||||
BLUE,
|
||||
JURY,
|
||||
AP,
|
||||
ESSONE,
|
||||
ESSTWO,
|
||||
ESSTHREE
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.sap.sailing.domain.racelog;
|
||||
|
||||
/**
|
||||
* @author D053502
|
||||
*
|
||||
*/
|
||||
public enum RaceLogRaceStatus {
|
||||
UNKNOWN, UNSCHEDULED, SCHEDULED, STARTPHASE, RUNNING, FINISHING, FINISHED
|
||||
}
|
||||
package com.sap.sailing.domain.racelog;
|
||||
|
||||
/**
|
||||
* @author D053502
|
||||
*
|
||||
*/
|
||||
public enum RaceLogRaceStatus {
|
||||
UNKNOWN, UNSCHEDULED, SCHEDULED, STARTPHASE, RUNNING, FINISHING, FINISHED
|
||||
}
|
||||
@@ -14,8 +14,6 @@ Export-Package: com.sap.sailing.domain.base,
|
||||
com.sap.sailing.domain.racelog.impl,
|
||||
com.sap.sailing.domain.tracking,
|
||||
com.sap.sailing.domain.tracking.impl,
|
||||
com.sap.sailing.racecommittee.domain.racelog,
|
||||
com.sap.sailing.racecommittee.domain.racelog.impl,
|
||||
com.sap.sailing.racecommittee.domain.state.impl.analyzers,
|
||||
com.sap.sailing.util,
|
||||
com.sap.sailing.util.impl
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.sap.sailing.domain.racelog;
|
||||
|
||||
|
||||
public interface PassAwareRaceLog extends RaceLog {
|
||||
int getCurrentPassId();
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
package com.sap.sailing.racecommittee.domain.racelog.impl;
|
||||
package com.sap.sailing.domain.racelog.impl;
|
||||
|
||||
import java.util.NavigableSet;
|
||||
|
||||
import com.sap.sailing.domain.racelog.PassAwareRaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLogEvent;
|
||||
import com.sap.sailing.domain.racelog.impl.RaceLogImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.PartialNavigableSetView;
|
||||
import com.sap.sailing.racecommittee.domain.racelog.PassAwareRaceLog;
|
||||
|
||||
public class PassAwareRaceLogImpl extends RaceLogImpl implements PassAwareRaceLog {
|
||||
// private static final String TAG = PassAwareRaceLogImpl.class.getName();
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.sap.sailing.racecommittee.domain.racelog;
|
||||
|
||||
import com.sap.sailing.domain.racelog.RaceLog;
|
||||
|
||||
public interface PassAwareRaceLog extends RaceLog {
|
||||
int getCurrentPassId();
|
||||
}
|
||||
|
After Width: | Height: | Size: 497 B |
|
After Width: | Height: | Size: 841 B |
|
After Width: | Height: | Size: 139 B |
|
After Width: | Height: | Size: 195 B |
|
After Width: | Height: | Size: 523 B |
|
After Width: | Height: | Size: 827 B |
|
After Width: | Height: | Size: 340 B |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 277 B |
|
After Width: | Height: | Size: 198 B |
|
After Width: | Height: | Size: 453 B |
|
After Width: | Height: | Size: 988 B |
|
After Width: | Height: | Size: 631 B |
|
After Width: | Height: | Size: 358 B |
|
After Width: | Height: | Size: 346 B |
|
After Width: | Height: | Size: 305 B |
|
After Width: | Height: | Size: 361 B |
|
After Width: | Height: | Size: 1.0 KiB |
@@ -513,4 +513,6 @@ public interface StringMessages extends Messages {
|
||||
String totalDistanceTraveledTooltip();
|
||||
String totalAverageSpeedOverGround();
|
||||
String totalAverageSpeedOverGroundTooltip();
|
||||
String noStarttimeAnnouncedYet();
|
||||
String lastFlag();
|
||||
}
|
||||
|
||||
@@ -515,4 +515,6 @@ courseAreas=Course areas
|
||||
courseArea=Course area
|
||||
pleaseEnterNonEmptyCourseArea=Please enter a course area.
|
||||
pleaseSelectACourseArea=Please select a course area.
|
||||
radiusInMeters=Radius (m)
|
||||
radiusInMeters=Radius (m)
|
||||
noStarttimeAnnouncedYet=No start time announced yet
|
||||
lastFlag=Last flag
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.text.shared.SafeHtmlRenderer;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ImagesBarCell;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
public class FlagImageCell extends ImagesBarCell {
|
||||
static final String ACTION_EDIT = "ACTION_EDIT";
|
||||
private final StringMessages stringMessages;
|
||||
private static RegattaOverviewResources resources = GWT.create(RegattaOverviewResources.class);
|
||||
|
||||
public FlagImageCell(StringMessages stringConstants) {
|
||||
super();
|
||||
this.stringMessages = stringConstants;
|
||||
}
|
||||
|
||||
public FlagImageCell(SafeHtmlRenderer<String> renderer, StringMessages stringMessages) {
|
||||
super();
|
||||
this.stringMessages = stringMessages;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Iterable<ImageSpec> getImageSpecs() {
|
||||
return Arrays.asList(
|
||||
new ImageSpec(ACTION_EDIT, stringMessages.actionEdit(), makeImagePrototype(resources.flagAP())),
|
||||
new ImageSpec(ACTION_EDIT, stringMessages.actionEdit(), makeImagePrototype(resources.arrowUp())));
|
||||
}
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.FleetDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceInfoDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
|
||||
public class RegattaOverviewPanel extends FlowPanel {
|
||||
private final SailingServiceAsync sailingService;
|
||||
@SuppressWarnings("unused")
|
||||
private final ErrorReporter errorReporter;
|
||||
@SuppressWarnings("unused")
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
private final VerticalPanel mainPanel;
|
||||
|
||||
private final String leaderboardName;
|
||||
|
||||
public RegattaOverviewPanel(final SailingServiceAsync sailingService,
|
||||
ErrorReporter errorReporter, final StringMessages stringMessages, String leaderboardName) {
|
||||
this.sailingService = sailingService;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
|
||||
mainPanel = new VerticalPanel();
|
||||
this.add(mainPanel);
|
||||
|
||||
this.leaderboardName = leaderboardName;
|
||||
|
||||
loadEventLog();
|
||||
}
|
||||
|
||||
private void loadEventLog() {
|
||||
sailingService.getLeaderboard(this.leaderboardName, new AsyncCallback<StrippedLeaderboardDTO>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(StrippedLeaderboardDTO leaderboard) {
|
||||
|
||||
if (leaderboard != null) {
|
||||
final RegattaOverviewTableResources tableRes = GWT.create(RegattaOverviewTableResources.class);
|
||||
CellTable<RaceInfoDTO> regattaTable = new CellTable<RaceInfoDTO>(10, tableRes);
|
||||
regattaTable.setWidth("100%");
|
||||
TextColumn<RaceInfoDTO> raceNameColumn = new TextColumn<RaceInfoDTO>() {
|
||||
@Override
|
||||
public String getValue(RaceInfoDTO raceInfo) {
|
||||
return raceInfo.raceName;
|
||||
}
|
||||
};
|
||||
|
||||
TextColumn<RaceInfoDTO> raceStartTimeColumn = new TextColumn<RaceInfoDTO>() {
|
||||
@Override
|
||||
public String getValue(RaceInfoDTO raceInfo) {
|
||||
return raceInfo.startTime.toString();
|
||||
}
|
||||
};
|
||||
|
||||
regattaTable.addColumn(raceNameColumn, "Race Name");
|
||||
regattaTable.addColumn(raceStartTimeColumn, "Starttime");
|
||||
|
||||
// Create a data provider.
|
||||
ListDataProvider<RaceInfoDTO> dataProvider = new ListDataProvider<RaceInfoDTO>();
|
||||
|
||||
// Connect the table to the data provider.
|
||||
dataProvider.addDataDisplay(regattaTable);
|
||||
|
||||
// Add the data to the data provider, which automatically pushes it to the
|
||||
// widget.
|
||||
List<RaceInfoDTO> list = dataProvider.getList();
|
||||
|
||||
mainPanel.add(regattaTable);
|
||||
for (RaceColumnDTO race : leaderboard.getRaceList()) {
|
||||
RaceInfoDTO raceInfo = null;
|
||||
for (FleetDTO fleet : race.getFleets()) {
|
||||
raceInfo = race.getRaceLog(fleet);
|
||||
list.add(raceInfo);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
|
||||
interface RegattaOverviewResources extends ClientBundle {
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/flags/flagsRacecommittee/ap.png")
|
||||
ImageResource flagAP();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/flags/flagsRacecommittee/up.png")
|
||||
ImageResource arrowUp();
|
||||
}
|
||||
@@ -2,9 +2,12 @@ package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.google.gwt.cell.client.ImageResourceCell;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.i18n.client.DateTimeFormat;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
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.user.client.ui.Composite;
|
||||
@@ -23,15 +26,17 @@ import com.sap.sailing.gwt.ui.shared.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceInfoDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
|
||||
public class RegattaOverviewTableComposite extends Composite implements TimeListener {
|
||||
|
||||
private final long updateRate = 1000;
|
||||
public class RegattaOverviewTableComposite extends Composite {
|
||||
|
||||
private final long serverUpdateRate = 30000;
|
||||
private final long uiUpdateRate = 1000;
|
||||
|
||||
private final CellTable<RaceInfoDTO> regattaOverviewTable;
|
||||
private ListDataProvider<RaceInfoDTO> raceListDataProvider;
|
||||
private final SimplePanel mainPanel;
|
||||
private final VerticalPanel panel;
|
||||
private final Timer updateTimer;
|
||||
private final Timer serverUpdateTimer;
|
||||
private final Timer uiUpdateTimer;
|
||||
private final Label timeLabel;
|
||||
private final DateTimeFormat timeFormatter = DateTimeFormat.getFormat("HH:mm:ss");
|
||||
|
||||
@@ -40,43 +45,63 @@ public class RegattaOverviewTableComposite extends Composite implements TimeList
|
||||
private final StringMessages stringMessages;
|
||||
private final String leaderboardName;
|
||||
|
||||
private static RegattaOverviewResources resources = GWT.create(RegattaOverviewResources.class);
|
||||
|
||||
private static RegattaOverviewTableResources tableRes = GWT.create(RegattaOverviewTableResources.class);
|
||||
|
||||
public RegattaOverviewTableComposite(final SailingServiceAsync sailingService,
|
||||
ErrorReporter errorReporter, final StringMessages stringMessages,final String leaderboardName) {
|
||||
public RegattaOverviewTableComposite(final SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
final StringMessages stringMessages, final String leaderboardName) {
|
||||
this.sailingService = sailingService;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
this.leaderboardName = leaderboardName;
|
||||
|
||||
this.updateTimer = new Timer(PlayModes.Live, updateRate);
|
||||
this.updateTimer.addTimeListener(this);
|
||||
this.updateTimer.play();
|
||||
|
||||
|
||||
|
||||
this.serverUpdateTimer = new Timer(PlayModes.Live, serverUpdateRate);
|
||||
this.serverUpdateTimer.addTimeListener(new TimeListener() {
|
||||
|
||||
@Override
|
||||
public void timeChanged(Date date) {
|
||||
RegattaOverviewTableComposite.this.onUpdateServer(date);
|
||||
}
|
||||
});
|
||||
this.serverUpdateTimer.play();
|
||||
|
||||
this.uiUpdateTimer = new Timer(PlayModes.Live, uiUpdateRate);
|
||||
this.uiUpdateTimer.addTimeListener(new TimeListener() {
|
||||
|
||||
@Override
|
||||
public void timeChanged(Date date) {
|
||||
RegattaOverviewTableComposite.this.onUpdateUI(date);
|
||||
}
|
||||
});
|
||||
this.uiUpdateTimer.play();
|
||||
|
||||
mainPanel = new SimplePanel();
|
||||
panel = new VerticalPanel();
|
||||
mainPanel.setWidget(panel);
|
||||
|
||||
raceListDataProvider = new ListDataProvider<RaceInfoDTO>();
|
||||
regattaOverviewTable = createRegattaTable();
|
||||
|
||||
|
||||
timeLabel = new Label();
|
||||
|
||||
|
||||
panel.add(timeLabel);
|
||||
panel.add(regattaOverviewTable);
|
||||
|
||||
|
||||
initWidget(mainPanel);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void timeChanged(Date time) {
|
||||
timeLabel.setText(timeFormatter.format(time));
|
||||
|
||||
loadAndUpdateEventLog();
|
||||
|
||||
onUpdateUI(new Date());
|
||||
}
|
||||
|
||||
|
||||
public void onUpdateServer(Date time) {
|
||||
loadAndUpdateEventLog();
|
||||
}
|
||||
|
||||
public void onUpdateUI(Date time) {
|
||||
timeLabel.setText(timeFormatter.format(time));
|
||||
}
|
||||
|
||||
private void loadAndUpdateEventLog() {
|
||||
sailingService.getLeaderboard(this.leaderboardName, new AsyncCallback<StrippedLeaderboardDTO>() {
|
||||
|
||||
@@ -86,17 +111,17 @@ public class RegattaOverviewTableComposite extends Composite implements TimeList
|
||||
if (leaderboard != null) {
|
||||
for (RaceColumnDTO race : leaderboard.getRaceList()) {
|
||||
for (FleetDTO fleet : race.getFleets()) {
|
||||
raceListDataProvider.getList().add(race.getRaceLog(fleet));
|
||||
raceListDataProvider.getList().add(race.getRaceInfo(fleet));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -105,24 +130,51 @@ public class RegattaOverviewTableComposite extends Composite implements TimeList
|
||||
CellTable<RaceInfoDTO> table = new CellTable<RaceInfoDTO>(/* pageSize */10000, tableRes);
|
||||
raceListDataProvider.addDataDisplay(table);
|
||||
table.setWidth("100%");
|
||||
|
||||
|
||||
TextColumn<RaceInfoDTO> raceNameColumn = new TextColumn<RaceInfoDTO>() {
|
||||
@Override
|
||||
public String getValue(RaceInfoDTO raceInfo) {
|
||||
return raceInfo.raceName;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
TextColumn<RaceInfoDTO> raceStartTimeColumn = new TextColumn<RaceInfoDTO>() {
|
||||
@Override
|
||||
public String getValue(RaceInfoDTO raceInfo) {
|
||||
return raceInfo.startTime.toString();
|
||||
if (raceInfo.startTime != null) {
|
||||
return timeFormatter.format(raceInfo.startTime);
|
||||
}
|
||||
return stringMessages.noStarttimeAnnouncedYet();
|
||||
}
|
||||
};
|
||||
|
||||
table.addColumn(raceNameColumn, "Race Name");
|
||||
table.addColumn(raceStartTimeColumn, "Starttime");
|
||||
TextColumn<RaceInfoDTO> raceStatusColumn = new TextColumn<RaceInfoDTO>() {
|
||||
@Override
|
||||
public String getValue(RaceInfoDTO raceInfo) {
|
||||
return raceInfo.lastStatus.toString();
|
||||
}
|
||||
};
|
||||
|
||||
Column<RaceInfoDTO, ImageResource> lastFlagColumn = new Column<RaceInfoDTO, ImageResource>(new ImageResourceCell()) {
|
||||
@Override
|
||||
public ImageResource getValue(RaceInfoDTO object) {
|
||||
return resources.flagAP();
|
||||
}
|
||||
};
|
||||
|
||||
Column<RaceInfoDTO, ImageResource> lastFlagDirectionColumn = new Column<RaceInfoDTO, ImageResource>(new ImageResourceCell()) {
|
||||
@Override
|
||||
public ImageResource getValue(RaceInfoDTO object) {
|
||||
return resources.arrowUp();
|
||||
}
|
||||
};
|
||||
|
||||
table.addColumn(raceNameColumn, stringMessages.race());
|
||||
table.addColumn(raceStartTimeColumn, stringMessages.startTime());
|
||||
table.addColumn(raceStatusColumn, stringMessages.status());
|
||||
table.addColumn(lastFlagColumn, stringMessages.lastFlag());
|
||||
table.addColumn(lastFlagDirectionColumn, "");
|
||||
|
||||
return table;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,6 +123,7 @@ import com.sap.sailing.domain.polarsheets.BoatAndWindSpeed;
|
||||
import com.sap.sailing.domain.polarsheets.PolarSheetGenerationWorker;
|
||||
import com.sap.sailing.domain.racelog.RaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLogEventFactory;
|
||||
import com.sap.sailing.domain.racelog.impl.PassAwareRaceLogImpl;
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingArchiveConfiguration;
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration;
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
|
||||
@@ -213,7 +214,7 @@ import com.sap.sailing.gwt.ui.shared.WaypointDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.WindDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.WindTrackInfoDTO;
|
||||
import com.sap.sailing.racecommittee.domain.racelog.impl.PassAwareRaceLogImpl;
|
||||
import com.sap.sailing.racecommittee.domain.state.impl.analyzers.RaceStatusAnalyzer;
|
||||
import com.sap.sailing.racecommittee.domain.state.impl.analyzers.StartTimeFinder;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sailing.server.RacingEventServiceOperation;
|
||||
@@ -1097,6 +1098,11 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
raceInfoDTO.raceName = raceColumnDTO.name;
|
||||
raceInfoDTO.fleet = fleet.getName();
|
||||
|
||||
RaceStatusAnalyzer raceStatusAnalyzer = new RaceStatusAnalyzer(passAwareRaceLog);
|
||||
raceInfoDTO.lastStatus = raceStatusAnalyzer.getStatus();
|
||||
|
||||
|
||||
|
||||
return raceInfoDTO;
|
||||
}
|
||||
|
||||
@@ -2163,13 +2169,12 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
}
|
||||
return leaderboardDTO;
|
||||
}
|
||||
//TODO
|
||||
|
||||
private void addRaceInfoToRace(RaceColumn raceColumn, Fleet fleet, final FleetDTO fleetDTO,
|
||||
RaceColumnDTO raceColumnDTO) {
|
||||
RaceLog raceLog = raceColumn.getRaceLog(fleet);
|
||||
raceLog.add(RaceLogEventFactory.INSTANCE.createStartTimeEvent(MillisecondsTimePoint.now(), 1, MillisecondsTimePoint.now().plus(1000)));
|
||||
RaceInfoDTO raceLogDTO = convertToRaceInfoDTO(raceColumnDTO, fleet, raceLog);
|
||||
raceColumnDTO.getRaceInfoPerFleet().put(fleetDTO, raceLogDTO);
|
||||
RaceInfoDTO raceInfoDTO = convertToRaceInfoDTO(raceColumnDTO, fleet, raceLog);
|
||||
raceColumnDTO.getRaceInfoPerFleet().put(fleetDTO, raceInfoDTO);
|
||||
}
|
||||
|
||||
private RaceDTO createRaceDTO(boolean withGeoLocationData, RegattaAndRaceIdentifier raceIdentifier, TrackedRace trackedRace) {
|
||||
|
||||
@@ -69,7 +69,7 @@ public class RaceColumnDTO extends NamedDTO implements IsSerializable {
|
||||
return explicitFactor;
|
||||
}
|
||||
|
||||
public RaceInfoDTO getRaceLog(FleetDTO fleet){
|
||||
public RaceInfoDTO getRaceInfo(FleetDTO fleet){
|
||||
//TODO handle non-existence
|
||||
return raceInfoPerFleet.get(fleet);
|
||||
}
|
||||
|
||||
@@ -2,12 +2,18 @@ package com.sap.sailing.gwt.ui.shared;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.sap.sailing.domain.racelog.Flags;
|
||||
|
||||
import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
import com.sap.sailing.domain.racelog.RaceLogRaceStatus;
|
||||
|
||||
public class RaceInfoDTO implements IsSerializable {
|
||||
public String raceName;
|
||||
public String fleet;
|
||||
public Date startTime;
|
||||
public RaceLogRaceStatus lastStatus;
|
||||
public Flags lastFlag;
|
||||
public boolean displayed;
|
||||
|
||||
// for GWT serialization
|
||||
public RaceInfoDTO() { }
|
||||
|
||||
|
After Width: | Height: | Size: 497 B |
|
After Width: | Height: | Size: 841 B |
|
After Width: | Height: | Size: 139 B |
|
After Width: | Height: | Size: 195 B |
|
After Width: | Height: | Size: 523 B |
|
After Width: | Height: | Size: 827 B |
|
After Width: | Height: | Size: 340 B |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 277 B |
|
After Width: | Height: | Size: 198 B |
|
After Width: | Height: | Size: 453 B |
|
After Width: | Height: | Size: 988 B |
|
After Width: | Height: | Size: 631 B |
|
After Width: | Height: | Size: 358 B |
|
After Width: | Height: | Size: 346 B |
|
After Width: | Height: | Size: 305 B |
|
After Width: | Height: | Size: 361 B |
|
After Width: | Height: | Size: 1.0 KiB |
@@ -16,15 +16,15 @@ import com.sap.sailing.domain.base.racegroup.RaceGroup;
|
||||
import com.sap.sailing.domain.base.racegroup.SeriesWithRows;
|
||||
import com.sap.sailing.domain.base.racegroup.impl.RaceGroupImpl;
|
||||
import com.sap.sailing.domain.base.racegroup.impl.SeriesWithRowsImpl;
|
||||
import com.sap.sailing.domain.racelog.PassAwareRaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLogEventFactory;
|
||||
import com.sap.sailing.domain.racelog.RaceLogRaceStatus;
|
||||
import com.sap.sailing.domain.racelog.impl.PassAwareRaceLogImpl;
|
||||
import com.sap.sailing.domain.racelog.impl.RaceLogEventFactoryImpl;
|
||||
import com.sap.sailing.racecommittee.app.data.clients.LoadClient;
|
||||
import com.sap.sailing.racecommittee.app.domain.ManagedRace;
|
||||
import com.sap.sailing.racecommittee.app.domain.impl.ManagedRaceIdentifierImpl;
|
||||
import com.sap.sailing.racecommittee.app.domain.impl.ManagedRaceImpl;
|
||||
import com.sap.sailing.racecommittee.domain.racelog.PassAwareRaceLog;
|
||||
import com.sap.sailing.racecommittee.domain.racelog.impl.PassAwareRaceLogImpl;
|
||||
|
||||
public class OfflineDataManager extends DataManager {
|
||||
|
||||
|
||||
@@ -13,12 +13,12 @@ import com.sap.sailing.domain.base.racegroup.RaceCell;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceGroup;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceRow;
|
||||
import com.sap.sailing.domain.base.racegroup.SeriesWithRows;
|
||||
import com.sap.sailing.domain.racelog.PassAwareRaceLog;
|
||||
import com.sap.sailing.domain.racelog.impl.PassAwareRaceLogImpl;
|
||||
import com.sap.sailing.racecommittee.app.domain.ManagedRace;
|
||||
import com.sap.sailing.racecommittee.app.domain.impl.FleetIdentifierImpl;
|
||||
import com.sap.sailing.racecommittee.app.domain.impl.ManagedRaceIdentifierImpl;
|
||||
import com.sap.sailing.racecommittee.app.domain.impl.ManagedRaceImpl;
|
||||
import com.sap.sailing.racecommittee.domain.racelog.PassAwareRaceLog;
|
||||
import com.sap.sailing.racecommittee.domain.racelog.impl.PassAwareRaceLogImpl;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.impl.Helpers;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.racelog.RaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLogEvent;
|
||||
import com.sap.sailing.racecommittee.domain.racelog.impl.PassAwareRaceLogImpl;
|
||||
import com.sap.sailing.domain.racelog.impl.PassAwareRaceLogImpl;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.impl.Helpers;
|
||||
|
||||
@@ -5,13 +5,13 @@ import java.io.Serializable;
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.SeriesData;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceGroup;
|
||||
import com.sap.sailing.domain.racelog.PassAwareRaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLogRaceStatus;
|
||||
import com.sap.sailing.racecommittee.app.domain.ManagedRace;
|
||||
import com.sap.sailing.racecommittee.app.domain.ManagedRaceIdentifier;
|
||||
import com.sap.sailing.racecommittee.app.domain.state.RaceState;
|
||||
import com.sap.sailing.racecommittee.app.domain.state.impl.RaceStateImpl;
|
||||
import com.sap.sailing.racecommittee.domain.racelog.PassAwareRaceLog;
|
||||
|
||||
public class ManagedRaceImpl implements ManagedRace {
|
||||
private static final long serialVersionUID = -4936566684992524001L;
|
||||
|
||||
@@ -7,6 +7,7 @@ import java.util.UUID;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.racelog.PassAwareRaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLogEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogRaceStatus;
|
||||
@@ -19,7 +20,6 @@ import com.sap.sailing.racecommittee.app.domain.state.RaceState;
|
||||
import com.sap.sailing.racecommittee.app.domain.state.RaceStateChangedListener;
|
||||
import com.sap.sailing.racecommittee.app.domain.state.StartProcedure;
|
||||
import com.sap.sailing.racecommittee.app.domain.state.impl.analyzers.FinishedTimeFinder;
|
||||
import com.sap.sailing.racecommittee.domain.racelog.PassAwareRaceLog;
|
||||
import com.sap.sailing.racecommittee.domain.state.impl.analyzers.RaceStatusAnalyzer;
|
||||
import com.sap.sailing.racecommittee.domain.state.impl.analyzers.StartTimeFinder;
|
||||
|
||||
|
||||