mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-30 15:57:11 +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(
|
(c1, c2) -> durationComparatorNullsLast.compare(
|
||||||
competitorRankingInfo.get(c1).getCorrectedTimeAtEstimatedArrivalAtCompetitorFarthestAhead(),
|
competitorRankingInfo.get(c1).getCorrectedTimeAtEstimatedArrivalAtCompetitorFarthestAhead(),
|
||||||
competitorRankingInfo.get(c2).getCorrectedTimeAtEstimatedArrivalAtCompetitorFarthestAhead())).
|
competitorRankingInfo.get(c2).getCorrectedTimeAtEstimatedArrivalAtCompetitorFarthestAhead())).
|
||||||
findFirst().get();
|
findFirst().orElse(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+11
-5
@@ -252,13 +252,19 @@ public class TimeOnTimeAndDistanceRankingMetric extends AbstractRankingMetric {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Duration getGapToLeaderInOwnTime(RankingMetric.RankingInfo rankingInfo, Competitor competitor, WindLegTypeAndLegBearingCache cache) {
|
public Duration getGapToLeaderInOwnTime(RankingMetric.RankingInfo rankingInfo, Competitor competitor, WindLegTypeAndLegBearingCache cache) {
|
||||||
|
final Duration result;
|
||||||
// actual times and common distance:
|
// actual times and common distance:
|
||||||
final Competitor leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead = rankingInfo.getLeaderByCorrectedEstimatedTimeToCompetitorFarthestAhead();
|
final Competitor leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead = rankingInfo.getLeaderByCorrectedEstimatedTimeToCompetitorFarthestAhead();
|
||||||
final Duration t_k = rankingInfo.getCompetitorRankingInfo().apply(leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead).
|
if (leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead == null) {
|
||||||
getEstimatedActualDurationFromRaceStartToCompetitorFarthestAhead();
|
result = null;
|
||||||
final Duration t_i = rankingInfo.getCompetitorRankingInfo().apply(competitor).getEstimatedActualDurationFromRaceStartToCompetitorFarthestAhead();
|
} else {
|
||||||
final Distance d = rankingInfo.getCompetitorRankingInfo().apply(rankingInfo.getCompetitorFarthestAhead()).getWindwardDistanceSailed();
|
final Duration t_k = rankingInfo.getCompetitorRankingInfo().apply(leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead).
|
||||||
return getGapToCompetitorInOwnTime(competitor, leaderByCorrectedEstimatedTimeToCompetitorFarthestAhead, t_i, t_k, d);
|
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