mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-08 20:12:23 +00:00
bug5504: i18n support for NauticalSide, specifically for reporting line biases in RaceMap
This commit is contained in:
1 parent
1a3d560008
commit
587d950ff7
7 files changed
+35
-9
No files matched your search
+5
@@ -4,6 +4,11 @@
|
||||
<div id="mainContent">
|
||||
<h4 class="articleHeadline">What's New - SAP Sailing Analytics</h4>
|
||||
<div class="innerContent">
|
||||
<h5 class="articleSubheadline">March 2021</h5>
|
||||
<ul class="bulletList">
|
||||
<li>Bug fix: show course middle line of first leg only if display of course middle lines is selected in settings.</li>
|
||||
<li>Start/finish line biases are now correctly translated into the selected locale's display language.</li>
|
||||
</ul>
|
||||
<h5 class="articleSubheadline">February 2021</h5>
|
||||
<ul class="bulletList">
|
||||
<li>The solution now supports the new Olympic penalty code (IRM) "NSC" ("Did not sail the course").</li>
|
||||
|
||||
-1
@@ -19,6 +19,5 @@ public class ManeuverTypeFormatter {
|
||||
return stringMessages.unknownManeuver();
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
|
||||
import com.sap.sailing.domain.common.NauticalSide;
|
||||
|
||||
public class NauticalSideFormatter {
|
||||
public static String format(NauticalSide nauticalSide, StringMessages stringMessages) {
|
||||
final String result;
|
||||
switch (nauticalSide) {
|
||||
case PORT:
|
||||
result = stringMessages.portSide();
|
||||
break;
|
||||
case STARBOARD:
|
||||
result = stringMessages.starboardSide();
|
||||
break;
|
||||
default:
|
||||
result = null;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+2
-3
@@ -26,12 +26,12 @@ import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.ManeuverType;
|
||||
import com.sap.sailing.domain.common.NauticalSide;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.maneuverdetection.impl.ManeuverDetectorImpl;
|
||||
import com.sap.sailing.gwt.ui.client.ManeuverTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.NauticalSideFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.NumberFormatterFactory;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
@@ -394,8 +394,7 @@ public class ManeuverMarkersAndLossIndicators {
|
||||
raceMap.createInfoWindowLabelAndValue(stringMessages.markPassing(),
|
||||
DateTimeFormat.getFormat(PredefinedFormat.TIME_FULL).format(maneuver.getMarkPassingTimePoint())
|
||||
+ (maneuver.getMarkPassingSide() == null ? ""
|
||||
: " (" + (maneuver.getMarkPassingSide() == NauticalSide.PORT
|
||||
? stringMessages.portSide() : stringMessages.starboardSide())
|
||||
: " (" + NauticalSideFormatter.format(maneuver.getMarkPassingSide(), stringMessages)
|
||||
+ ")")));
|
||||
}
|
||||
return vPanel;
|
||||
|
||||
+4
-2
@@ -15,6 +15,7 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.core.client.Scheduler;
|
||||
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
|
||||
@@ -97,6 +98,7 @@ import com.sap.sailing.gwt.ui.client.CompetitorSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.DetailTypeComparator;
|
||||
import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.NauticalSideFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.NumberFormatterFactory;
|
||||
import com.sap.sailing.gwt.ui.client.RaceCompetitorSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.RaceTimesInfoProviderListener;
|
||||
@@ -1970,7 +1972,7 @@ public class RaceMap extends AbstractCompositeComponent<RaceMapSettings> impleme
|
||||
startLineAdvantageText.replace(0, startLineAdvantageText.length(), " "+stringMessages.lineAngleToWindAndAdvantage(
|
||||
numberFormatOneDecimal.format(courseDTO.startLineLengthInMeters),
|
||||
numberFormatOneDecimal.format(Math.abs(courseDTO.startLineAngleFromPortToStarboardWhenApproachingLineToCombinedWind)),
|
||||
courseDTO.startLineAdvantageousSide.name().charAt(0)+courseDTO.startLineAdvantageousSide.name().substring(1).toLowerCase(),
|
||||
NauticalSideFormatter.format(courseDTO.startLineAdvantageousSide, stringMessages),
|
||||
numberFormatOneDecimal.format(courseDTO.startLineAdvantageInMeters)));
|
||||
} else {
|
||||
startLineAdvantageText.delete(0, startLineAdvantageText.length());
|
||||
@@ -2004,7 +2006,7 @@ public class RaceMap extends AbstractCompositeComponent<RaceMapSettings> impleme
|
||||
finishLineAdvantageText.replace(0, finishLineAdvantageText.length(), " "+stringMessages.lineAngleToWindAndAdvantage(
|
||||
numberFormatOneDecimal.format(courseDTO.finishLineLengthInMeters),
|
||||
numberFormatOneDecimal.format(Math.abs(courseDTO.finishLineAngleFromPortToStarboardWhenApproachingLineToCombinedWind)),
|
||||
courseDTO.finishLineAdvantageousSide.name().charAt(0)+courseDTO.finishLineAdvantageousSide.name().substring(1).toLowerCase(),
|
||||
NauticalSideFormatter.format(courseDTO.finishLineAdvantageousSide, stringMessages),
|
||||
numberFormatOneDecimal.format(courseDTO.finishLineAdvantageInMeters)));
|
||||
} else {
|
||||
finishLineAdvantageText.delete(0, finishLineAdvantageText.length());
|
||||
|
||||
+2
-1
@@ -4,6 +4,7 @@ import com.google.gwt.cell.client.TextCell;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.domain.common.NauticalSide;
|
||||
import com.sap.sailing.domain.common.dto.LeaderboardRowDTO;
|
||||
import com.sap.sailing.gwt.ui.client.NauticalSideFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
public class SideToWhichMarkAtLegStartWasRoundedColumn extends DetailTypeColumn<NauticalSide, String, LeaderboardRowDTO> {
|
||||
@@ -18,6 +19,6 @@ public class SideToWhichMarkAtLegStartWasRoundedColumn extends DetailTypeColumn<
|
||||
|
||||
@Override
|
||||
public String getValue(LeaderboardRowDTO row) {
|
||||
return getField().get(row) == null ? null : getField().get(row) == NauticalSide.PORT ? stringMessages.portSide() : stringMessages.starboardSide();
|
||||
return getField().get(row) == null ? null : NauticalSideFormatter.format(getField().get(row), stringMessages);
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -10,6 +10,7 @@ import com.sap.sailing.domain.common.ManeuverType;
|
||||
import com.sap.sailing.domain.common.NauticalSide;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.Tack;
|
||||
import com.sap.sailing.gwt.ui.client.NauticalSideFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
public class ManeuverDTO implements IsSerializable {
|
||||
@@ -96,8 +97,7 @@ public class ManeuverDTO implements IsSerializable {
|
||||
String markPassing = getMarkPassingTimePoint() == null ? ""
|
||||
: "; " + stringMessages.markPassedToAt(
|
||||
this.getMarkPassingSide() == null ? ""
|
||||
: this.getMarkPassingSide() == NauticalSide.PORT ? stringMessages.portSide()
|
||||
: stringMessages.starboardSide(),
|
||||
: NauticalSideFormatter.format(this.getMarkPassingSide(), stringMessages),
|
||||
DateTimeFormat.getFormat(PredefinedFormat.TIME_FULL).format(this.getMarkPassingTimePoint()));
|
||||
String maneuverTitle = timeAndManeuver + timePointBefore + "; " + directionChange + "; " + speedChange + "; "
|
||||
+ maxTurningRate + "; " + avgTurningRate + "; " + lowestSpeed + maneuverLoss + markPassing;
|
||||
|
||||
Reference in new issue
Block a user