if non-discardable result would have been discarded, discard another one

This commit is contained in:
Axel Uhl committed 2012-07-27 08:52:25 +02:00
1 parent cae0714fc6
commit 5f389b849d
1 file changed
+7 -2
@@ -12,6 +12,7 @@ import java.util.TreeSet;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.RaceColumn;
import com.sap.sailing.domain.common.MaxPointsReason;
import com.sap.sailing.domain.common.NoWindError;
import com.sap.sailing.domain.common.NoWindException;
import com.sap.sailing.domain.common.TimePoint;
@@ -78,8 +79,12 @@ public class ResultDiscardingRuleImpl implements ThresholdBasedResultDiscardingR
int i=0;
Iterator<RaceColumn> badRacesIter = sortedRaces.descendingIterator();
while (badRacesIter.hasNext() && i<resultsToDiscard) {
result.add(badRacesIter.next());
i++;
final RaceColumn badRace = badRacesIter.next();
final MaxPointsReason maxPointsReason = leaderboard.getMaxPointsReason(competitor, badRace, timePoint);
if (maxPointsReason == null || maxPointsReason.isDiscardable()) {
result.add(badRace);
i++;
}
}
} else {
result = Collections.emptySet();