added lower flag to regattaoverview, extended gate start feature.

This commit is contained in:
Fabian Tschirschnitz committed 2013-04-20 17:17:07 +02:00
1 parent 83c3035ee4
commit dd4d93efed
9 files changed
+51 -33

No files matched your search

@@ -515,7 +515,8 @@ public interface StringMessages extends Messages {
String totalAverageSpeedOverGround();
String totalAverageSpeedOverGroundTooltip();
String noStarttimeAnnouncedYet();
String lastFlag();
String lastUpperFlag();
String lastLowerFlag();
String filterRegattasByName();
String noRegattasYet();
String cannotAddRacesToRegattaLeaderboardButOnlyToRegatta();
@@ -534,4 +535,5 @@ public interface StringMessages extends Messages {
String currentTime();
String tractracUsername();
String tractracPassword();
String flagStatus();
}
@@ -520,7 +520,8 @@ pleaseEnterNonEmptyCourseArea=Please enter a course area.
pleaseSelectACourseArea=Please select a course area.
radiusInMeters=Radius (m)
noStarttimeAnnouncedYet=No start time announced yet
lastFlag=Last flag
lastUpperFlag=Upper flag
lastLowerFlag=Lower flag
cannotAddRacesToRegattaLeaderboardButOnlyToRegatta=This is a regatta leaderboard. You can only add races to this leaderboard directly in the regatta definition.
correctScore=Correct Score
correctScoreFor=Correct score for competitor {0} in race {1}
@@ -536,4 +537,5 @@ stopUpdating=Stop updating
startUpdating=Start updating
currentTime=Current time:
tractracUsername=TracTrac username
tractracPassword=TracTrac password
tractracPassword=TracTrac password
flagStatus=Flag status
@@ -251,22 +251,30 @@ public class RegattaOverviewTableComposite extends Composite {
});
Column<RegattaOverviewEntryDTO, ImageResource> lastFlagColumn = new Column<RegattaOverviewEntryDTO, ImageResource>(new ImageResourceCell()) {
Column<RegattaOverviewEntryDTO, ImageResource> lastUpperFlagColumn = new Column<RegattaOverviewEntryDTO, ImageResource>(new ImageResourceCell()) {
@Override
public ImageResource getValue(RegattaOverviewEntryDTO entryDTO) {
return flagImageResolver.resolveFlagToImage(entryDTO.raceInfo.lastFlag);
return flagImageResolver.resolveFlagToImage(entryDTO.raceInfo.lastUpperFlag);
}
};
Column<RegattaOverviewEntryDTO, ImageResource> lastLowerFlagColumn = new Column<RegattaOverviewEntryDTO, ImageResource>(new ImageResourceCell()) {
@Override
public ImageResource getValue(RegattaOverviewEntryDTO entryDTO) {
return flagImageResolver.resolveFlagToImage(entryDTO.raceInfo.lastLowerFlag);
}
};
Column<RegattaOverviewEntryDTO, ImageResource> lastFlagDirectionColumn = new Column<RegattaOverviewEntryDTO, ImageResource>(new ImageResourceCell()) {
@Override
public ImageResource getValue(RegattaOverviewEntryDTO entryDTO) {
if(entryDTO.raceInfo.lastFlag != null)
if(entryDTO.raceInfo.lastUpperFlag != null)
return flagImageResolver.resolveFlagDirectionToImage(entryDTO.raceInfo.displayed);
else
return null;
}
};
table.addColumn(courseAreaColumn, stringMessages.courseArea());
table.addColumn(regattaNameColumn, stringMessages.boatClass()); // For sailors the boat class also contains additional infos such as woman/man, e.g. Laser Radial Woman or Laser Radial Men
@@ -274,8 +282,9 @@ public class RegattaOverviewTableComposite extends Composite {
table.addColumn(raceNameColumn, stringMessages.race());
table.addColumn(raceStartTimeColumn, stringMessages.startTime());
table.addColumn(raceStatusColumn, stringMessages.status());
table.addColumn(lastFlagColumn, stringMessages.lastFlag());
table.addColumn(lastFlagDirectionColumn, "");
table.addColumn(lastUpperFlagColumn, stringMessages.lastUpperFlag());
table.addColumn(lastLowerFlagColumn, stringMessages.lastLowerFlag());
table.addColumn(lastFlagDirectionColumn, stringMessages.flagStatus());
table.addColumnSortHandler(regattaOverviewListHandler);
return table;
@@ -292,9 +301,9 @@ public class RegattaOverviewTableComposite extends Composite {
private String getStatusText(RaceInfoDTO raceInfo) {
String statusText = "";
if (raceInfo.lastStatus.equals(RaceLogRaceStatus.RUNNING) && raceInfo.lastFlag.equals(Flags.XRAY) && raceInfo.displayed) {
if (raceInfo.lastStatus.equals(RaceLogRaceStatus.RUNNING) && raceInfo.lastUpperFlag.equals(Flags.XRAY) && raceInfo.displayed) {
statusText = "Race is running (had early starters)";
} else if (raceInfo.lastStatus.equals(RaceLogRaceStatus.RUNNING) && raceInfo.lastFlag.equals(Flags.XRAY) && !raceInfo.displayed) {
} else if (raceInfo.lastStatus.equals(RaceLogRaceStatus.RUNNING) && raceInfo.lastUpperFlag.equals(Flags.XRAY) && !raceInfo.displayed) {
statusText = "Race is running";
} else if (raceInfo.lastStatus.equals(RaceLogRaceStatus.RUNNING)) {
statusText = "Race is running";
@@ -308,13 +317,13 @@ public class RegattaOverviewTableComposite extends Composite {
statusText = "Race in start phase";
} else if (raceInfo.lastStatus.equals(RaceLogRaceStatus.UNSCHEDULED)) {
statusText = stringMessages.noStarttimeAnnouncedYet();
} else if (raceInfo.lastFlag == null) {
} else if (raceInfo.lastUpperFlag == null) {
statusText = "";
} else if (raceInfo.lastFlag.equals(Flags.FIRSTSUBSTITUTE)) {
} else if (raceInfo.lastUpperFlag.equals(Flags.FIRSTSUBSTITUTE)) {
statusText = "General recall";
} else if (raceInfo.lastFlag.equals(Flags.AP) && raceInfo.displayed) {
} else if (raceInfo.lastUpperFlag.equals(Flags.AP) && raceInfo.displayed) {
statusText = "Start postponed";
} else if (raceInfo.lastFlag.equals(Flags.NOVEMBER) && raceInfo.displayed) {
} else if (raceInfo.lastUpperFlag.equals(Flags.NOVEMBER) && raceInfo.displayed) {
statusText = "Start abandoned";
}
return statusText;
@@ -1110,7 +1110,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
raceInfoDTO.lastStatus = raceStatusAnalyzer.getStatus();
for(RaceLogEvent event : passAwareRaceLog.getFixes()){
if(event instanceof RaceLogFlagEvent){
raceInfoDTO.lastFlag = ((RaceLogFlagEvent) event).getUpperFlag();
raceInfoDTO.lastUpperFlag = ((RaceLogFlagEvent) event).getUpperFlag();
raceInfoDTO.lastLowerFlag = ((RaceLogFlagEvent) event).getLowerFlag();
raceInfoDTO.displayed = ((RaceLogFlagEvent) event).isDisplayed();
}
}
@@ -12,10 +12,12 @@ public class RaceInfoDTO implements IsSerializable {
public String fleet;
public Date startTime;
public RaceLogRaceStatus lastStatus;
public Flags lastFlag;
public Flags lastUpperFlag;
public Flags lastLowerFlag;
public boolean displayed;
public RaceCourseDTO lastCourseDesign;
public RaceIdentifier raceIdentifier;
public String additionalInformation;
// for GWT serialization
public RaceInfoDTO() { }