mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-22 21:55:39 +00:00
Added a detail type for the overall rank.
The competitor charts can now display the overall rank.
This commit is contained in:
+1
-1
@@ -12,7 +12,7 @@ import static com.sap.sailing.domain.common.SortingOrder.*;
|
||||
*
|
||||
*/
|
||||
public enum DetailType implements Serializable {
|
||||
DISTANCE_TRAVELED(0, ASCENDING), AVERAGE_SPEED_OVER_GROUND_IN_KNOTS(2, DESCENDING), RACE_RANK(0, ASCENDING), REGATTA_RANK(0, ASCENDING),
|
||||
DISTANCE_TRAVELED(0, ASCENDING), AVERAGE_SPEED_OVER_GROUND_IN_KNOTS(2, DESCENDING), RACE_RANK(0, ASCENDING), REGATTA_RANK(0, ASCENDING), OVERALL_RANK(0, ASCENDING),
|
||||
RANK_GAIN(0, DESCENDING), NUMBER_OF_MANEUVERS(0, ASCENDING), CURRENT_SPEED_OVER_GROUND_IN_KNOTS(2, DESCENDING),
|
||||
ESTIMATED_TIME_TO_NEXT_WAYPOINT_IN_SECONDS(1, ASCENDING), VELOCITY_MADE_GOOD_IN_KNOTS(2, DESCENDING),
|
||||
GAP_TO_LEADER_IN_SECONDS(0, ASCENDING), GAP_CHANGE_SINCE_LEG_START_IN_SECONDS(0, ASCENDING),
|
||||
|
||||
+3
@@ -25,6 +25,9 @@ public interface LeaderboardGroup extends Renamable {
|
||||
void removeLeaderboard(Leaderboard leaderboard);
|
||||
void removeAllLeaderboards(Collection<Leaderboard> leaderboards);
|
||||
void clearLeaderboards();
|
||||
/**
|
||||
* @return The overall leaderboard of this group or null if there is none.
|
||||
*/
|
||||
Leaderboard getOverallLeaderboard();
|
||||
void setOverallLeaderboard(Leaderboard leaderboard);
|
||||
}
|
||||
|
||||
+5
@@ -22,6 +22,8 @@ public class DetailTypeFormatter {
|
||||
return stringMessages.rank();
|
||||
case REGATTA_RANK:
|
||||
return stringMessages.regattaRank();
|
||||
case OVERALL_RANK:
|
||||
return stringMessages.overallRank();
|
||||
case NUMBER_OF_MANEUVERS:
|
||||
return stringMessages.numberOfManeuvers();
|
||||
case CURRENT_SPEED_OVER_GROUND_IN_KNOTS:
|
||||
@@ -131,6 +133,7 @@ public class DetailTypeFormatter {
|
||||
// Cases for detail types without unit, so that an empty string is returned.
|
||||
case RACE_RANK:
|
||||
case REGATTA_RANK:
|
||||
case OVERALL_RANK:
|
||||
case CURRENT_LEG:
|
||||
case TACK:
|
||||
case JIBE:
|
||||
@@ -210,6 +213,8 @@ public class DetailTypeFormatter {
|
||||
return stringMessages.rankTooltip();
|
||||
case REGATTA_RANK:
|
||||
return stringMessages.regattaRankTooltip();
|
||||
case OVERALL_RANK:
|
||||
return stringMessages.overallRankTooltip();
|
||||
case RANK_GAIN:
|
||||
return stringMessages.rankGainTooltip();
|
||||
case TACK:
|
||||
|
||||
+2
@@ -493,4 +493,6 @@ public interface StringMessages extends Messages {
|
||||
String status();
|
||||
String regattaRank();
|
||||
String regattaRankTooltip();
|
||||
String overallRank();
|
||||
String overallRankTooltip();
|
||||
}
|
||||
|
||||
+2
@@ -61,6 +61,8 @@ rank=Rank
|
||||
rankTooltip=Competitor''s rank in the race
|
||||
regattaRank=Regatta Rank
|
||||
regattaRankTooltip=Competitor''s rank in the regatta
|
||||
overallRank=Overall Rank
|
||||
overallRankTooltip=Competitor''s rank in the series
|
||||
totalRank=Total rank
|
||||
collapse=-
|
||||
expand=+
|
||||
|
||||
+2
@@ -61,6 +61,8 @@ rank=Platz
|
||||
rankTooltip=Platzierung des Teilnehmers im Rennen
|
||||
regattaRank=Platz in der Regatta
|
||||
regattaRankTooltip=Platzierung des Teilnehmers in der Regatta
|
||||
overallRank=Platz in der Serie
|
||||
overallRankTooltip=Platzierung des Teilnehmers in der Serie
|
||||
totalRank=Gesamtplatz
|
||||
collapse=-
|
||||
expand=+
|
||||
|
||||
+9
@@ -2503,6 +2503,15 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
Leaderboard leaderboard = getService().getLeaderboardByName(leaderboardName);
|
||||
result = leaderboard == null ? null : (double) leaderboard.getTotalRankOfCompetitor(competitor, timePoint);
|
||||
break;
|
||||
case OVERALL_RANK:
|
||||
if (leaderboardGroupName == null || leaderboardGroupName.isEmpty()) {
|
||||
break;
|
||||
}
|
||||
|
||||
LeaderboardGroup group = getService().getLeaderboardGroupByName(leaderboardGroupName);
|
||||
Leaderboard overall = group.getOverallLeaderboard();
|
||||
result = overall == null ? null : (double) overall.getTotalRankOfCompetitor(competitor, timePoint);
|
||||
break;
|
||||
default:
|
||||
throw new UnsupportedOperationException("Theres currently no support for the enum value '"
|
||||
+ dataType + "' in this method.");
|
||||
|
||||
+1
@@ -31,6 +31,7 @@ public class MultiChartSettingsComponent extends AbstractChartSettingsComponent<
|
||||
availableDetailsTypes.add(DetailType.CURRENT_SPEED_OVER_GROUND_IN_KNOTS);
|
||||
availableDetailsTypes.add(DetailType.RACE_RANK);
|
||||
availableDetailsTypes.add(DetailType.REGATTA_RANK);
|
||||
availableDetailsTypes.add(DetailType.OVERALL_RANK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user