mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-29 15:27:14 +00:00
added more null safety for unstarted races
Conflicts: mobile/github-advrecyclerview_lib/.settings/org.eclipse.jdt.core.prefs
This commit is contained in:
1 parent
3f354f6417
commit
6a3c4e1bae
2 files changed
+12
-6
No files matched your search
+1
-1
@@ -224,7 +224,7 @@ public abstract class AbstractRankingMetric implements RankingMetric {
|
||||
(c1, c2) -> durationComparatorNullsLast.compare(
|
||||
competitorRankingInfo.get(c1).getCorrectedTimeAtEstimatedArrivalAtCompetitorFarthestAhead(),
|
||||
competitorRankingInfo.get(c2).getCorrectedTimeAtEstimatedArrivalAtCompetitorFarthestAhead())).
|
||||
findFirst().get();
|
||||
findFirst().orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+11
-5
@@ -252,13 +252,19 @@ public class TimeOnTimeAndDistanceRankingMetric extends AbstractRankingMetric {
|
||||
*/
|
||||
@Override
|
||||
public Duration getGapToLeaderInOwnTime(RankingMetric.RankingInfo rankingInfo, Competitor competitor, WindLegTypeAndLegBearingCache cache) {
|
||||
final Duration result;
|
||||
// actual times and common distance:
|
||||
final Competitor leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead = rankingInfo.getLeaderByCorrectedEstimatedTimeToCompetitorFarthestAhead();
|
||||
final Duration t_k = rankingInfo.getCompetitorRankingInfo().apply(leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead).
|
||||
getEstimatedActualDurationFromRaceStartToCompetitorFarthestAhead();
|
||||
final Duration t_i = rankingInfo.getCompetitorRankingInfo().apply(competitor).getEstimatedActualDurationFromRaceStartToCompetitorFarthestAhead();
|
||||
final Distance d = rankingInfo.getCompetitorRankingInfo().apply(rankingInfo.getCompetitorFarthestAhead()).getWindwardDistanceSailed();
|
||||
return getGapToCompetitorInOwnTime(competitor, leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead, t_i, t_k, d);
|
||||
if (leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead == null) {
|
||||
result = null;
|
||||
} else {
|
||||
final Duration t_k = rankingInfo.getCompetitorRankingInfo().apply(leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead).
|
||||
getEstimatedActualDurationFromRaceStartToCompetitorFarthestAhead();
|
||||
final Duration t_i = rankingInfo.getCompetitorRankingInfo().apply(competitor).getEstimatedActualDurationFromRaceStartToCompetitorFarthestAhead();
|
||||
final Distance d = rankingInfo.getCompetitorRankingInfo().apply(rankingInfo.getCompetitorFarthestAhead()).getWindwardDistanceSailed();
|
||||
result = getGapToCompetitorInOwnTime(competitor, leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead, t_i, t_k, d);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user