From 5b98647cecde9fb6ff2f172c67287cfbcd2fe587 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 12 Feb 2014 01:10:58 +0100 Subject: [PATCH] use hasSplitFleetContiguousScoring to determine that the fleet pertinence doesn't decide rank --- .../test/LeaderboardScoringAndRankingTest.java | 1 + .../src/com/sap/sailing/domain/base/RaceColumn.java | 2 +- .../domain/base/impl/RaceColumnInSeriesImpl.java | 2 +- .../domain/base/impl/SimpleAbstractRaceColumn.java | 12 ++++++------ .../sailing/domain/leaderboard/ScoringScheme.java | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java index c72a9ca33f7..d2d1372d890 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java @@ -1073,6 +1073,7 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest { List finalRaceColumnNames = new ArrayList(); finalRaceColumnNames.add("F"); Series finalSeries = new SeriesImpl("Final", /* isMedal */false, finalFleets, finalRaceColumnNames, /* trackedRegattaRegistry */ null); + finalSeries.setSplitFleetContiguousScoring(true); series.add(finalSeries); } // -------- after series ------------ diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java index 9e8a34b7b59..fd28f8e4e14 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java @@ -226,5 +226,5 @@ public interface RaceColumn extends Named { * rank in the fleet's race; or the scoring scheme is applied to each fleet separately, leading to the best score being awarded * in the column as many times as there are fleets in the column. For the latter case, this method returns true. */ - boolean hasSplitFleetScore(); + boolean hasSplitFleetContiguousScoring(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java index dff71cc5de1..e6d97e325ff 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java @@ -116,7 +116,7 @@ public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceCo * Delegates to {@link Series#hasSplitFleetContiguousScoring()}. */ @Override - public boolean hasSplitFleetScore() { + public boolean hasSplitFleetContiguousScoring() { return getSeries().hasSplitFleetContiguousScoring(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SimpleAbstractRaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SimpleAbstractRaceColumn.java index 4b2029114c7..6acd2e73e1b 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SimpleAbstractRaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SimpleAbstractRaceColumn.java @@ -96,18 +96,18 @@ public abstract class SimpleAbstractRaceColumn implements RaceColumn { } /** - * Implements this by delegating to {@link #hasSplitFleetScore()}. This is a reasonable default implementation because - * if the score is not split up by fleet but scored contiguously ascending/descending, this usually means that the - * fleets re-convene after this series instead of remaining split. + * Implements this by delegating to and negating the result of {@link #hasSplitFleetContiguousScoring()}. This is a + * reasonable default implementation because if the score is not split up by fleet but scored contiguously + * ascending/descending, this usually means that the fleets re-convene after this series instead of remaining split. */ @Override public boolean isTotalOrderDefinedByFleet() { - return hasSplitFleetScore(); + return !hasSplitFleetContiguousScoring(); } @Override - public boolean hasSplitFleetScore() { - return true; + public boolean hasSplitFleetContiguousScoring() { + return false; } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/ScoringScheme.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/ScoringScheme.java index c9941ad8d0b..b2fcbd8b24d 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/ScoringScheme.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/ScoringScheme.java @@ -49,7 +49,7 @@ public interface ScoringScheme extends Serializable { * the competitor participated, null is returned, meaning the competitor has no score assigned for that * race. * - * FIXME Bug 1260: if the raceColumn does not have {@link RaceColumn#hasSplitFleetScore()}, the competitors of all better fleets need to be counted and the sum of these counts need to be added to the rank before evaluating the score for the rank + * FIXME Bug 1260: if the raceColumn does not have {@link RaceColumn#hasSplitFleetContiguousScoring()}, the competitors of all better fleets need to be counted and the sum of these counts need to be added to the rank before evaluating the score for the rank */ Double getScoreForRank(RaceColumn raceColumn, Competitor competitor, int rank, Callable numberOfCompetitorsInRaceFetcher);