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