Merge branch 'master' into permission-vertical

This commit is contained in:
Axel Uhl
2019-04-13 08:25:19 +02:00
28 changed files with 578 additions and 355 deletions
@@ -23,11 +23,13 @@ import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl;
import com.sap.sailing.domain.abstractlog.race.state.RaceState;
import com.sap.sailing.domain.abstractlog.race.state.impl.RaceStateImpl;
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.impl.RacingProcedureFactoryImpl;
import com.sap.sailing.domain.base.Boat;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.DomainFactory;
import com.sap.sailing.domain.base.RaceColumn;
import com.sap.sailing.domain.base.Regatta;
import com.sap.sailing.domain.base.configuration.impl.EmptyRegattaConfiguration;
import com.sap.sailing.domain.base.impl.BoatClassImpl;
import com.sap.sailing.domain.base.impl.NationalityImpl;
import com.sap.sailing.domain.base.impl.PersonImpl;
import com.sap.sailing.domain.base.impl.TeamImpl;
@@ -94,13 +96,16 @@ public class ApplyScoresFromRaceLogTest extends LeaderboardScoringAndRankingTest
final Map<Competitor, MaxPointsReason> mprs = new HashMap<>();
int oneBasedRank = 1;
final CompetitorResults results = new CompetitorResultsImpl();
Boat storedBoat = DomainFactory.INSTANCE.getOrCreateBoat(UUID.randomUUID(), "SAP Extreme Sailing Team",
new BoatClassImpl("X40", false), "123", Color.RED);
for (final Competitor c : competitors) {
final MaxPointsReason mpr = new MaxPointsReason[] { null, MaxPointsReason.NONE, MaxPointsReason.DNF, MaxPointsReason.OCS }[oneBasedRank%4];
final Double score = oneBasedRank%5 == 0 ? null : 20*Math.random();
scores.put(c, score);
mprs.put(c, mpr);
results.add(new CompetitorResultImpl(c.getId(), c.getName(),
oneBasedRank++, mpr, score, /* finishingTime */ null, /* comment */ null, MergeState.OK));
results.add(new CompetitorResultImpl(c.getId(), c.getName(), c.getShortName(), storedBoat.getName(),
storedBoat.getSailID(), oneBasedRank++, mpr, score, /* finishingTime */ null, /* comment */ null,
MergeState.OK));
}
final RaceLog f1RaceLog = f1Column.getRaceLog(f1Column.getFleets().iterator().next());
final LogEventAuthorImpl author = new LogEventAuthorImpl("Axel", 0);
@@ -229,6 +234,10 @@ public class ApplyScoresFromRaceLogTest extends LeaderboardScoringAndRankingTest
private void setResultForCompetitor(final Competitor competitor, int oneBasedRank,
final CompetitorResults results, MaxPointsReason maxPointsReason, Double explicitScore) {
results.add(new CompetitorResultImpl(competitor.getId(), competitor.getName(), oneBasedRank, maxPointsReason, explicitScore, /* finishingTime */ null, /* comment */ null, MergeState.OK));
Boat storedBoat = DomainFactory.INSTANCE.getOrCreateBoat(UUID.randomUUID(), "SAP Extreme Sailing Team",
new BoatClassImpl("X40", false), "123", Color.RED);
results.add(new CompetitorResultImpl(competitor.getId(), competitor.getName(),
competitor.getShortName(), storedBoat.getName(), storedBoat.getSailID(), oneBasedRank,
maxPointsReason, explicitScore, /* finishingTime */ null, /* comment */ null, MergeState.OK));
}
}
@@ -1007,10 +1007,16 @@ public class MasterDataImportTest {
// Add a competitor-related race log event to ensure that no competitor resolution is attempted while receiving
TimePoint logTimePoint2 = logTimePoint.plus(10);
CompetitorResults positionedCompetitors = new CompetitorResultsImpl();
Boat storedBoat = DomainFactory.INSTANCE.getOrCreateBoat(UUID.randomUUID(), "SAP Extreme Sailing Team",
new BoatClassImpl("X40", false), "123", Color.RED);
positionedCompetitors.add(new CompetitorResultImpl(
competitor.getId(), competitor.getName(), /* rank */ 1, MaxPointsReason.DNS, /* score */ null, /* finishingTime */ null, /* comment */ null, MergeState.OK));
competitor.getId(), competitor.getName(), competitor.getShortName(), storedBoat.getName(),
storedBoat.getSailID(), /* rank */ 1, MaxPointsReason.DNS, /* score */ null, /* finishingTime */ null,
/* comment */ null, MergeState.OK));
positionedCompetitors.add(new CompetitorResultImpl(
competitor2.getId(), competitor2.getName(), /* rank */ 2, MaxPointsReason.NONE, /* score */ null, /* finishingTime */ null, /* comment */ null, MergeState.OK));
competitor2.getId(), competitor2.getName(), competitor.getShortName(), storedBoat.getName(),
storedBoat.getSailID(), /* rank */ 2, MaxPointsReason.NONE, /* score */ null, /* finishingTime */ null,
/* comment */ null, MergeState.OK));
RaceLogFinishPositioningConfirmedEvent finishPositioningConfirmedEvent = new RaceLogFinishPositioningConfirmedEventImpl(
logTimePoint2, author, 1, positionedCompetitors);
raceColumn.getRaceLog(testFleet1).add(finishPositioningConfirmedEvent);