added more null safety for unstarted races

Conflicts:
	mobile/github-advrecyclerview_lib/.settings/org.eclipse.jdt.core.prefs
This commit is contained in:
Axel Uhl committed 2015-05-29 14:50:05 +02:00
1 parent 3f354f6417
commit 6a3c4e1bae
2 files changed
+12 -6

No files matched your search

@@ -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
@@ -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;
}
/**