mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-12 05:35:31 +00:00
add attribute registrationLinkSecret to regatta
This commit is contained in:
1 parent
71df61d34a
commit
7b14c71207
29 files changed
+266
-158
No files matched your search
+5
-3
@@ -98,9 +98,11 @@ public class CreateAndTrackWithRaceLogTest extends RaceLogTrackingTestHelper {
|
||||
Series series = new SeriesImpl("series", /* isMedal */ false, /* isFleetsCanRunInParallel */ true, Collections.singletonList(fleet), Collections.emptySet(),
|
||||
service);
|
||||
regatta = service.createRegatta(RegattaImpl.getDefaultName("regatta", "Laser"), "Laser",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */null, /* endDate */null,
|
||||
UUID.randomUUID(), Collections.<Series> singletonList(series), /* persistent */ true,
|
||||
new HighPoint(), UUID.randomUUID(), /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, UUID.randomUUID(),
|
||||
Collections.<Series> singletonList(series), /* persistent */ true, new HighPoint(), UUID.randomUUID(),
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
series.addRaceColumn(columnName, /* trackedRegattaRegistry */null);
|
||||
leaderboard = service.addRegattaLeaderboard(regatta.getRegattaIdentifier(), "RegattaLeaderboard", new int[] {});
|
||||
adapter = RaceLogTrackingAdapterFactory.INSTANCE.getAdapter(DomainFactory.INSTANCE);
|
||||
|
||||
+9
@@ -596,6 +596,15 @@ public class MockedTrackedRace implements DynamicTrackedRace {
|
||||
@Override
|
||||
public void setFleetsCanRunInParallelToTrue() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRegistrationLinkSecret() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRegistrationLinkSecret(String registrationLinkSecret) {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -235,4 +235,8 @@ public interface Regatta extends NamedWithID, IsRegattaLike, HasRaceColumnsAndRe
|
||||
* @see #isControlTrackingFromStartAndFinishTimes()
|
||||
*/
|
||||
void setControlTrackingFromStartAndFinishTimes(boolean controlTrackingFromStartAndFinishTimes);
|
||||
|
||||
String getRegistrationLinkSecret();
|
||||
void setRegistrationLinkSecret(String registrationLinkSecret);
|
||||
|
||||
}
|
||||
@@ -125,6 +125,8 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene
|
||||
private CourseArea defaultCourseArea;
|
||||
private RegattaConfiguration configuration;
|
||||
private RaceExecutionOrderCache raceExecutionOrderCache;
|
||||
|
||||
private String registrationLinkSecret;
|
||||
|
||||
/**
|
||||
* Regattas may be constructed as implicit default regattas in which case they won't need to be stored durably and
|
||||
@@ -964,5 +966,15 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene
|
||||
RegattaLogBoatDeregistrator<RegattaLog, RegattaLogEvent, RegattaLogEventVisitor> deregisterer = new RegattaLogBoatDeregistrator<>(regattaLog, boats, regattaLogEventAuthorForRegatta);
|
||||
deregisterer.deregister(deregisterer.analyze());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRegistrationLinkSecret() {
|
||||
return registrationLinkSecret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRegistrationLinkSecret(String registrationLinkSecret) {
|
||||
this.registrationLinkSecret = registrationLinkSecret;
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -41,7 +41,7 @@ public class PingMarkViaRegattaLogTest {
|
||||
Series series = new SeriesImpl("series", false, /* isFleetsCanRunInParallel */ true, Collections.singletonList(fleet),
|
||||
Collections.singletonList(columnName), service);
|
||||
Regatta regatta = service.createRegatta(RegattaImpl.getDefaultName("regatta", "Laser"), "Laser",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* registrationLinkSecret */ null, /*startDate*/ null, /*endDate*/ null,
|
||||
UUID.randomUUID(), Collections.<Series>singletonList(series),
|
||||
false, new HighPoint(), UUID.randomUUID(), /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, RankingMetricsFactory.getRankingMetricConstructor(RankingMetrics.ONE_DESIGN));
|
||||
|
||||
@@ -96,9 +96,9 @@ public class SlicingTest {
|
||||
new SeriesCreationParametersDTO(fleets, false, false, true, false, new int[0], false, 0));
|
||||
final RegattaCreationParametersDTO regattaCreationParameters = new RegattaCreationParametersDTO(
|
||||
seriesCreationParameters);
|
||||
final RegattaDTO regatta = sailingService.createRegatta(regattaName, boatClassName, false, CompetitorRegistrationType.CLOSED, null, null,
|
||||
regattaCreationParameters, false, ScoringSchemeType.HIGH_POINT, null, 3.0, false, false,
|
||||
RankingMetrics.ONE_DESIGN);
|
||||
final RegattaDTO regatta = sailingService.createRegatta(regattaName, boatClassName, false,
|
||||
CompetitorRegistrationType.CLOSED, null, null, null, regattaCreationParameters, false,
|
||||
ScoringSchemeType.HIGH_POINT, null, 3.0, false, false, RankingMetrics.ONE_DESIGN);
|
||||
final List<Pair<String, Integer>> columnNames = new ArrayList<>();
|
||||
columnNames.add(new Pair<>(columnNameOriginalRace, 0));
|
||||
sailingService.addRaceColumnsToSeries(regatta.getRegattaIdentifier(), seriesName, columnNames);
|
||||
|
||||
+7
-5
@@ -63,11 +63,13 @@ public class CreateRegattaCallback implements DialogCallback<RegattaDTO>{
|
||||
seriesDTO.hasSplitFleetContiguousScoring(), seriesDTO.getMaximumNumberOfDiscards());
|
||||
seriesStructure.put(seriesDTO.getName(), seriesPair);
|
||||
}
|
||||
sailingService.createRegatta(newRegatta.getName(), newRegatta.boatClass==null?null:newRegatta.boatClass.getName(),
|
||||
newRegatta.canBoatsOfCompetitorsChangePerRace, newRegatta.competitorRegistrationType, newRegatta.startDate, newRegatta.endDate,
|
||||
new RegattaCreationParametersDTO(seriesStructure), true,
|
||||
newRegatta.scoringScheme, newRegatta.defaultCourseAreaUuid, newRegatta.buoyZoneRadiusInHullLengths, newRegatta.useStartTimeInference,
|
||||
newRegatta.controlTrackingFromStartAndFinishTimes,
|
||||
sailingService.createRegatta(newRegatta.getName(),
|
||||
newRegatta.boatClass == null ? null : newRegatta.boatClass.getName(),
|
||||
newRegatta.canBoatsOfCompetitorsChangePerRace, newRegatta.competitorRegistrationType,
|
||||
newRegatta.registrationLinkSecret, newRegatta.startDate, newRegatta.endDate,
|
||||
new RegattaCreationParametersDTO(seriesStructure), true, newRegatta.scoringScheme,
|
||||
newRegatta.defaultCourseAreaUuid, newRegatta.buoyZoneRadiusInHullLengths,
|
||||
newRegatta.useStartTimeInference, newRegatta.controlTrackingFromStartAndFinishTimes,
|
||||
newRegatta.rankingMetricType, new AsyncCallback<RegattaDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
|
||||
+4
-3
@@ -234,9 +234,10 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS
|
||||
void moveLeaderboardColumnDown(String leaderboardName, String columnName);
|
||||
|
||||
RegattaDTO createRegatta(String regattaName, String boatClassName, boolean canBoatsOfCompetitorsChangePerRace,
|
||||
CompetitorRegistrationType competitorRegistrationType, Date startDate, Date endDate,
|
||||
RegattaCreationParametersDTO seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent,
|
||||
ScoringSchemeType scoringSchemeType, UUID defaultCourseAreaId, Double buoyZoneRadiusInHullLengths, boolean useStartTimeInference,
|
||||
CompetitorRegistrationType competitorRegistrationType, String registrationLinkSecret, Date startDate,
|
||||
Date endDate, RegattaCreationParametersDTO seriesNamesWithFleetNamesAndFleetOrderingAndMedal,
|
||||
boolean persistent, ScoringSchemeType scoringSchemeType, UUID defaultCourseAreaId,
|
||||
Double buoyZoneRadiusInHullLengths, boolean useStartTimeInference,
|
||||
boolean controlTrackingFromStartAndFinishTimes, RankingMetrics rankingMetricType);
|
||||
|
||||
void removeRegatta(RegattaIdentifier regattaIdentifier);
|
||||
|
||||
+1
-1
@@ -457,7 +457,7 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan
|
||||
AsyncCallback<Void> callback);
|
||||
|
||||
void createRegatta(String regattaName, String boatClassName, boolean canBoatsOfCompetitorsChangePerRace,
|
||||
CompetitorRegistrationType competitorRegistrationType, Date startDate, Date endDate,
|
||||
CompetitorRegistrationType competitorRegistrationType, String registrationLinkSecret, Date startDate, Date endDate,
|
||||
RegattaCreationParametersDTO seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent,
|
||||
ScoringSchemeType scoringSchemeType, UUID defaultCourseAreaId, Double buoyZoneRadiusInHullLengths, boolean useStartTimeInference,
|
||||
boolean controlTrackingFromStartAndFinishTimes, RankingMetrics rankingMetricType,
|
||||
|
||||
+8
-6
@@ -1002,6 +1002,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
regattaDTO.competitorRegistrationType = regatta.getCompetitorRegistrationType();
|
||||
regattaDTO.configuration = convertToRegattaConfigurationDTO(regatta.getRegattaConfiguration());
|
||||
regattaDTO.rankingMetricType = regatta.getRankingMetricType();
|
||||
regattaDTO.registrationLinkSecret = regatta.getRegistrationLinkSecret();
|
||||
return regattaDTO;
|
||||
}
|
||||
|
||||
@@ -4427,7 +4428,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
|
||||
@Override
|
||||
public RegattaDTO createRegatta(String regattaName, String boatClassName, boolean canBoatsOfCompetitorsChangePerRace,
|
||||
CompetitorRegistrationType competitorRegistrationType, Date startDate, Date endDate,
|
||||
CompetitorRegistrationType competitorRegistrationType, String registrationLinkSecret, Date startDate, Date endDate,
|
||||
RegattaCreationParametersDTO seriesNamesWithFleetNamesAndFleetOrderingAndMedal,
|
||||
boolean persistent, ScoringSchemeType scoringSchemeType, UUID defaultCourseAreaId, Double buoyZoneRadiusInHullLengths, boolean useStartTimeInference,
|
||||
boolean controlTrackingFromStartAndFinishTimes, RankingMetrics rankingMetricType) {
|
||||
@@ -4436,7 +4437,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
TimePoint endTimePoint = endDate != null ? new MillisecondsTimePoint(endDate) : null;
|
||||
Regatta regatta = getService().apply(
|
||||
new AddSpecificRegatta(
|
||||
regattaName, boatClassName, canBoatsOfCompetitorsChangePerRace, competitorRegistrationType, startTimePoint, endTimePoint, UUID.randomUUID(),
|
||||
regattaName, boatClassName, canBoatsOfCompetitorsChangePerRace, competitorRegistrationType, registrationLinkSecret, startTimePoint, endTimePoint, UUID.randomUUID(),
|
||||
seriesNamesWithFleetNamesAndFleetOrderingAndMedal,
|
||||
persistent, baseDomainFactory.createScoringScheme(scoringSchemeType), defaultCourseAreaId, buoyZoneRadiusInHullLengths, useStartTimeInference,
|
||||
controlTrackingFromStartAndFinishTimes, rankingMetricType));
|
||||
@@ -4689,10 +4690,11 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
logger.info("Create Regatta from DTO " + regatta);
|
||||
SecurityUtils.getSubject().checkPermission(Permission.REGATTA.getStringPermissionForObjects(Mode.CREATE, regatta.getName()));
|
||||
this.createRegatta(regatta.getName(), regatta.boatClass.getName(), regatta.canBoatsOfCompetitorsChangePerRace,
|
||||
regatta.competitorRegistrationType, regatta.startDate, regatta.endDate,
|
||||
new RegattaCreationParametersDTO(getSeriesCreationParameters(regatta)),
|
||||
true, regatta.scoringScheme, regatta.defaultCourseAreaUuid, regatta.buoyZoneRadiusInHullLengths, regatta.useStartTimeInference,
|
||||
regatta.controlTrackingFromStartAndFinishTimes, regatta.rankingMetricType);
|
||||
regatta.competitorRegistrationType, /* registrationLinkSecret */ null, regatta.startDate,
|
||||
regatta.endDate, new RegattaCreationParametersDTO(getSeriesCreationParameters(regatta)), true,
|
||||
regatta.scoringScheme, regatta.defaultCourseAreaUuid, regatta.buoyZoneRadiusInHullLengths,
|
||||
regatta.useStartTimeInference, regatta.controlTrackingFromStartAndFinishTimes,
|
||||
regatta.rankingMetricType);
|
||||
}
|
||||
|
||||
private SeriesParameters getSeriesParameters(SeriesDTO seriesDTO) {
|
||||
|
||||
+2
@@ -41,6 +41,7 @@ public class RegattaDTO extends NamedDTO {
|
||||
public CompetitorRegistrationType competitorRegistrationType = CompetitorRegistrationType.CLOSED;
|
||||
public RankingMetrics rankingMetricType;
|
||||
public Double buoyZoneRadiusInHullLengths;
|
||||
public String registrationLinkSecret;
|
||||
|
||||
public RegattaDTO() {}
|
||||
|
||||
@@ -74,6 +75,7 @@ public class RegattaDTO extends NamedDTO {
|
||||
this.canBoatsOfCompetitorsChangePerRace = other.canBoatsOfCompetitorsChangePerRace;
|
||||
this.competitorRegistrationType = other.competitorRegistrationType;
|
||||
this.buoyZoneRadiusInHullLengths = other.buoyZoneRadiusInHullLengths;
|
||||
this.registrationLinkSecret = other.registrationLinkSecret;
|
||||
}
|
||||
|
||||
public Pair<SeriesDTO, FleetDTO> getSeriesAndFleet(RegattaAndRaceIdentifier raceIdentifier) {
|
||||
|
||||
+5
-3
@@ -50,9 +50,11 @@ public class RaceLogConnectivityParamsLoadAndStoreTest extends AbstractConnectiv
|
||||
final SeriesImpl theSeries = new SeriesImpl("Default", /* isMedal */ false, /* isFleetsCanRunInParallel */ true,
|
||||
Arrays.<Fleet>asList(fleet), Collections.emptyList(), racingEventService);
|
||||
final Iterable<? extends Series> series = Arrays.<Series>asList(theSeries);
|
||||
final Regatta regatta = racingEventService.createRegatta("My Regatta", "12mR", true, CompetitorRegistrationType.CLOSED, MillisecondsTimePoint.now(), MillisecondsTimePoint.now().plus(Duration.ONE_DAY),
|
||||
UUID.randomUUID(), series, /* persistent */ true, new LowPoint(), new CourseAreaImpl("Default", UUID.randomUUID()),
|
||||
/* buoyZoneRadiusInHullLengths */ 2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
final Regatta regatta = racingEventService.createRegatta("My Regatta", "12mR", true,
|
||||
CompetitorRegistrationType.CLOSED, /* registrationLinkSecret */ null, MillisecondsTimePoint.now(),
|
||||
MillisecondsTimePoint.now().plus(Duration.ONE_DAY), UUID.randomUUID(), series, /* persistent */ true,
|
||||
new LowPoint(), new CourseAreaImpl("Default", UUID.randomUUID()), /* buoyZoneRadiusInHullLengths */ 2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
OneDesignRankingMetric::new);
|
||||
theSeries.addRaceColumn("R1", racingEventService);
|
||||
theSeries.addRaceColumn("R2", racingEventService);
|
||||
|
||||
+9
-5
@@ -425,9 +425,10 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null, OneDesignRankingMetric::new);
|
||||
final String regattaName = regattaProxy.getName();
|
||||
Regatta regatta = res.createRegatta(regattaName, regattaProxy.getBoatClass().getName(),
|
||||
/* canBoatsOfCompetitorsChangePerRace */ false, CompetitorRegistrationType.CLOSED, regattaStartDate, regattaEndDate,
|
||||
"123", regattaProxy.getSeries(), regattaProxy.isPersistent(), DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT),
|
||||
/* defaultCourseAreaId */ null, /*buoyZoneRadiusInHullLengths*/ 2.0, /* useStartTimeInference */ true,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ false, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, regattaStartDate, regattaEndDate, "123", regattaProxy.getSeries(),
|
||||
regattaProxy.isPersistent(), DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT),
|
||||
/* defaultCourseAreaId */ null, /* buoyZoneRadiusInHullLengths */ 2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
DynamicCompetitorWithBoat competitorWithBoat1 = AbstractLeaderboardTest.createCompetitorWithBoat("Humba1");
|
||||
DynamicCompetitorWithBoat competitorWithBoat2 = AbstractLeaderboardTest.createCompetitorWithBoat("Humba2");
|
||||
@@ -502,8 +503,11 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null, OneDesignRankingMetric::new);
|
||||
Regatta regatta = res.createRegatta(regattaProxy.getName(), regattaProxy.getBoatClass().getName(),
|
||||
regattaProxy.canBoatsOfCompetitorsChangePerRace(), regattaProxy.getCompetitorRegistrationType(),
|
||||
regattaProxy.getStartDate(), regattaProxy.getEndDate(),
|
||||
"123", regattaProxy.getSeries(), regattaProxy.isPersistent(), DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null, /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* registrationLinkSecret */ null, regattaProxy.getStartDate(), regattaProxy.getEndDate(), "123",
|
||||
regattaProxy.getSeries(), regattaProxy.isPersistent(),
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
trackedRegatta[0] = new DynamicTrackedRegattaImpl(regatta);
|
||||
addRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regatta);
|
||||
logColumnsInRegatta(regatta);
|
||||
|
||||
+5
-3
@@ -51,9 +51,11 @@ public class LeaderboardGroupResourceTest extends AbstractJaxRsApiTest {
|
||||
raceColumnNames, /* trackedRegattaRegistry */null);
|
||||
series.add(testSeries);
|
||||
regatta = racingEventService.createRegatta(RegattaImpl.getDefaultName(regattaName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, UUID.randomUUID(), series, /*persistent*/ true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(), series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
testSeries.addRaceColumn("R1", /* trackedRegattaRegistry */ null);
|
||||
testSeries.addRaceColumn("R2", /* trackedRegattaRegistry */ null);
|
||||
List<Competitor> competitors = createCompetitors(4);
|
||||
|
||||
+5
-3
@@ -59,9 +59,11 @@ public class LeaderboardsResourceTest extends AbstractJaxRsApiTest {
|
||||
raceColumnNames, /* trackedRegattaRegistry */null);
|
||||
series.add(testSeries);
|
||||
regatta = racingEventService.createRegatta(RegattaImpl.getDefaultName(regattaBaseName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, UUID.randomUUID(), series, /*persistent*/ true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(), series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
testSeries.addRaceColumn("R1", /* trackedRegattaRegistry */ null);
|
||||
testSeries.addRaceColumn("R2", /* trackedRegattaRegistry */ null);
|
||||
List<Competitor> competitors = createCompetitors(4);
|
||||
|
||||
+12
-6
@@ -64,12 +64,18 @@ public class RegattasResourceTest extends AbstractJaxRsApiTest {
|
||||
final TimePoint endDate = new MillisecondsTimePoint(cal.getTime());
|
||||
Series testSeries = new SeriesImpl("TestSeries", /* isMedal */false, /* isFleetsCanRunInParallel */ true, fleets, raceColumnNames, /* trackedRegattaRegistry */null);
|
||||
series.add(testSeries);
|
||||
racingEventService.createRegatta(RegattaImpl.getDefaultName(closedRegattaName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, startDate, endDate, UUID.randomUUID(), series, /*persistent*/ true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null, /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
racingEventService.createRegatta(RegattaImpl.getDefaultName(openRegattaName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.OPEN_MODERATED, startDate, endDate, UUID.randomUUID(), series, /*persistent*/ true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null, /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
racingEventService.createRegatta(RegattaImpl.getDefaultName(closedRegattaName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, startDate, endDate, UUID.randomUUID(), series, /* persistent */ true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
racingEventService.createRegatta(RegattaImpl.getDefaultName(openRegattaName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.OPEN_MODERATED,
|
||||
/* registrationLinkSecret */ null, startDate, endDate, UUID.randomUUID(), series, /* persistent */ true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
testSeries.addRaceColumn("R1", /* trackedRegattaRegistry */ null);
|
||||
testSeries.addRaceColumn("R2", /* trackedRegattaRegistry */ null);
|
||||
}
|
||||
|
||||
+1
-1
@@ -562,7 +562,7 @@ public static void main(String...a) {
|
||||
SecurityUtils.getSubject().checkPermission(Permission.REGATTA.getStringPermissionForObjects(Mode.CREATE, regattaName));
|
||||
}
|
||||
Regatta regatta = getService().apply(new AddSpecificRegatta(regattaName, boatClassName, canBoatsOfCompetitorsChangePerRace,
|
||||
competitorRegistrationType, startDate, endDate, regattaId,
|
||||
competitorRegistrationType, /* registrationLinkSecret */ null, startDate, endDate, regattaId,
|
||||
regattaCreationParametersDTO, /* isPersistent */ true, scoringScheme, courseAreaId, buoyZoneRadiusInHullLengths,
|
||||
useStartTimeInterference, controlTrackingFromStartAndFinishTimes, rankingMetric));
|
||||
return regatta;
|
||||
|
||||
+4
-4
@@ -626,10 +626,10 @@ public class ExpeditionAllInOneImporter {
|
||||
/*hasSplitFleetContiguousScoring*/ false, /*maximumNumberOfDiscards*/ null));
|
||||
final RegattaCreationParametersDTO regattaCreationParameters = new RegattaCreationParametersDTO(seriesCreationParameters);
|
||||
regatta = service.apply(new AddSpecificRegatta(regattaNameAndleaderboardName, boatClassName,
|
||||
/* can boats of competitors change */ false, CompetitorRegistrationType.CLOSED,
|
||||
/* start date */ null, /* end date */ null, UUID.randomUUID(),
|
||||
regattaCreationParameters, true, scoringScheme, courseAreaId, buoyZoneRadiusInHullLengths, true,
|
||||
false, rankingMetric));
|
||||
/* can boats of competitors change */ false, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* start date */ null, /* end date */ null, UUID.randomUUID(),
|
||||
regattaCreationParameters, true, scoringScheme, courseAreaId, buoyZoneRadiusInHullLengths, true, false,
|
||||
rankingMetric));
|
||||
this.ensureBoatClassDetermination(regatta);
|
||||
service.apply(new AddColumnToSeries(regattaIdentifier, seriesName, raceColumnName));
|
||||
return regatta;
|
||||
|
||||
+7
-5
@@ -103,11 +103,13 @@ public abstract class AbstractLogReplicationTest<LogT extends AbstractLog<EventT
|
||||
seriesCreationParameters.put(seriesName, creationParametersForDefaultSeries);
|
||||
// 1. Install some race column on master...
|
||||
RegattaCreationParametersDTO regattaCreationParams = new RegattaCreationParametersDTO(seriesCreationParameters);
|
||||
AddSpecificRegatta addRegattaOperation = new AddSpecificRegatta(regattaName, boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null,
|
||||
/* regatta ID */ UUID.randomUUID(), regattaCreationParams, /* persistent */ true,
|
||||
new LowPoint(), /* default course area ID */ UUID.randomUUID(), /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, RankingMetrics.ONE_DESIGN);
|
||||
AddSpecificRegatta addRegattaOperation = new AddSpecificRegatta(regattaName, boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null,
|
||||
/* regatta ID */ UUID.randomUUID(), regattaCreationParams, /* persistent */ true, new LowPoint(),
|
||||
/* default course area ID */ UUID.randomUUID(), /* buoyZoneRadiusInHullLengths */2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
RankingMetrics.ONE_DESIGN);
|
||||
return master.apply(addRegattaOperation);
|
||||
}
|
||||
|
||||
|
||||
+4
-2
@@ -75,8 +75,10 @@ public class BoatReplicationTest extends AbstractServerReplicationTest {
|
||||
Integer regattaId = 12345;
|
||||
Iterable<Series> series = Collections.emptyList();
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, regattaId, series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null, /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, regattaId, series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Iterable<Waypoint> emptyWaypointList = Collections.emptyList();
|
||||
final String boatName = "Kielboat Harry";
|
||||
|
||||
+4
-2
@@ -83,8 +83,10 @@ public class CompetitorReplicationTest extends AbstractServerReplicationTest {
|
||||
URI flagImageURI = new URI("http://www.sapsailing.com");
|
||||
Iterable<Series> series = Collections.emptyList();
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, regattaId, series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null, /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, regattaId, series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Iterable<Waypoint> emptyWaypointList = Collections.emptyList();
|
||||
final String competitorName = "Der mit dem Kiel zieht";
|
||||
|
||||
+5
-3
@@ -126,9 +126,11 @@ public class InitialLoadReplicationObjectIdentityTest extends AbstractServerRepl
|
||||
final String baseEventName = "Kiel Week 2012";
|
||||
final String boatClassName = "49er";
|
||||
final Iterable<Series> series = Collections.emptyList();
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, UUID.randomUUID(), series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null, /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true,
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName),
|
||||
boatClassName, /* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(), series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric.CONSTRUCTOR);
|
||||
assertNotNull(master.getRegatta(masterRegatta.getRegattaIdentifier()));
|
||||
assertTrue(master.getAllRegattas().iterator().hasNext());
|
||||
|
||||
+50
-33
@@ -45,11 +45,13 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
final String boatClassName = "49er";
|
||||
final Iterable<Series> series = Collections.emptyList();
|
||||
final UUID regattaId = UUID.randomUUID();
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, regattaId, series,
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName),
|
||||
boatClassName, /* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, regattaId, series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
|
||||
Thread.sleep(1000);
|
||||
|
||||
Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName()));
|
||||
@@ -71,14 +73,18 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
final Iterable<Series> series = Collections.emptyList();
|
||||
final UUID regattaId1 = UUID.randomUUID();
|
||||
final UUID regattaId2 = UUID.randomUUID();
|
||||
Regatta masterRegatta1 = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClass1Name), boatClass1Name,
|
||||
canBoatsOfCompetitorsChangePerRaceRegatta1, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, regattaId1, series,
|
||||
Regatta masterRegatta1 = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClass1Name),
|
||||
boatClass1Name, canBoatsOfCompetitorsChangePerRaceRegatta1, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, regattaId1, series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Regatta masterRegatta2 = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClass2Name), boatClass2Name,
|
||||
canBoatsOfCompetitorsChangePerRaceRegatta2, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, regattaId2, series,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Regatta masterRegatta2 = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClass2Name),
|
||||
boatClass2Name, canBoatsOfCompetitorsChangePerRaceRegatta2, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, regattaId2, series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
|
||||
Thread.sleep(1000);
|
||||
|
||||
@@ -105,7 +111,7 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
|
||||
UUID currentCourseAreaId = null;
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName("Kiel Week 2012", "49er"), "49er",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* registrationLinkSecret */ null, /*startDate*/ null, /*endDate*/ null,
|
||||
UUID.randomUUID(), Collections.<Series>emptyList(),
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), currentCourseAreaId,
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
@@ -157,11 +163,13 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
master.addCourseAreas(event.getId(), new String[] {"Alpha"}, new UUID[] {alphaCourseAreaId});
|
||||
|
||||
UUID currentCourseAreaId = null;
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName("RR", "49er"), "49er",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null,
|
||||
UUID.randomUUID(), Collections.<Series>emptyList(),
|
||||
true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), currentCourseAreaId,
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName("RR", "49er"), "49er",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(),
|
||||
Collections.<Series> emptyList(), true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), currentCourseAreaId,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
|
||||
// Test for 'null'
|
||||
master.apply(new UpdateSpecificRegatta(masterRegatta.getRegattaIdentifier(), /*startDate*/ null, /*endDate*/ null, currentCourseAreaId, null,
|
||||
@@ -206,10 +214,13 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
Arrays.asList(new Fleet[] { new FleetImpl("Gold", 1), new FleetImpl("Silver", 2) }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null);
|
||||
Series medal = new SeriesImpl("Medal", /* isMedal */ true, /* isFleetsCanRunInParallel */ true,
|
||||
Arrays.asList(new Fleet[] { new FleetImpl("Medal") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null);
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null,
|
||||
UUID.randomUUID(), Arrays.asList(new Series[] { qualification, finals, medal }), /* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName),
|
||||
boatClassName, /* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(),
|
||||
Arrays.asList(new Series[] { qualification, finals, medal }), /* persistent */ true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Thread.sleep(1000);
|
||||
Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName()));
|
||||
assertNotNull(replicatedRegatta);
|
||||
@@ -243,10 +254,13 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
final List<String> emptyRaceColumnNamesList = Collections.emptyList();
|
||||
Series qualification = new SeriesImpl("Qualification", /* isMedal */ false, /* isFleetsCanRunInParallel */ true,
|
||||
Arrays.asList(new Fleet[] { new FleetImpl("Yellow"), new FleetImpl("Blue") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null);
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null,
|
||||
UUID.randomUUID(), Arrays.asList(new Series[] { qualification }), /* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName),
|
||||
boatClassName, /* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(),
|
||||
Arrays.asList(new Series[] { qualification }), /* persistent */ true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Thread.sleep(1000);
|
||||
Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName()));
|
||||
assertNotNull(replicatedRegatta);
|
||||
@@ -288,12 +302,13 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
final List<String> emptyRaceColumnNamesList = Collections.emptyList();
|
||||
Series qualification = new SeriesImpl("Qualification", /* isMedal */ false, /* isFleetsCanRunInParallel */ true,
|
||||
Arrays.asList(new Fleet[] { new FleetImpl("Yellow"), new FleetImpl("Blue") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null);
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null,
|
||||
UUID.randomUUID(), Arrays.asList(new Series[] { qualification }), /* persistent */ true,
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName),
|
||||
boatClassName, /* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(),
|
||||
Arrays.asList(new Series[] { qualification }), /* persistent */ true,
|
||||
DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null,
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
OneDesignRankingMetric::new);
|
||||
/* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Thread.sleep(1000);
|
||||
Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName()));
|
||||
assertNotNull(replicatedRegatta);
|
||||
@@ -327,10 +342,12 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
Event masterEvent = master.addEvent(eventName, /* eventDescription */ null, eventStartDate, eventEndDate, venueName, isPublic, UUID.randomUUID());
|
||||
CourseArea masterCourseArea = master.addCourseAreas(masterEvent.getId(), new String[] {courseArea}, new UUID[] {UUID.randomUUID()})[0];
|
||||
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(eventName, boatClassName), boatClassName,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, UUID.randomUUID(), series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), masterCourseArea.getId(),
|
||||
/*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Regatta masterRegatta = master.createRegatta(RegattaImpl.getDefaultName(eventName, boatClassName),
|
||||
boatClassName, /* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(), series,
|
||||
/* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT),
|
||||
masterCourseArea.getId(), /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
Thread.sleep(1000);
|
||||
Event replicatedEvent = replica.getEvent(masterEvent.getId());
|
||||
assertNotNull(replicatedEvent);
|
||||
|
||||
+1
-1
@@ -98,7 +98,7 @@ public class TrackRaceBoatCompetitorMetadataReplicationTest extends AbstractServ
|
||||
private void startTrackingOnMaster() throws Exception {
|
||||
final Regatta regatta = master.createRegatta("Test regatta", "J/70",
|
||||
/* canBoatsOfCompetitorsChangePerRace==true because it's a league race we're using for this test */ true,
|
||||
CompetitorRegistrationType.CLOSED,
|
||||
CompetitorRegistrationType.CLOSED, /* registrationLinkSecret */ null,
|
||||
/* startDate */ null, /* endDate */ null, UUID.randomUUID(),
|
||||
/* start with no series */ Collections.emptySet(),
|
||||
/* persistent */ true, new LowPoint(), /* defaultCourseAreaId */ UUID.randomUUID(),
|
||||
|
||||
+60
-41
@@ -233,8 +233,9 @@ public class MasterDataImportTest {
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, series, true,
|
||||
new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
|
||||
for (String name : raceColumnNames) {
|
||||
series.get(0).addRaceColumn(name, sourceService);
|
||||
@@ -556,9 +557,10 @@ public class MasterDataImportTest {
|
||||
UUID regattaUUID = UUID.randomUUID();
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */null, /* endDate */null,
|
||||
regattaUUID, series, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, series, true,
|
||||
new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
for (String name : raceColumnNames) {
|
||||
series.get(0).addRaceColumn(name, sourceService);
|
||||
}
|
||||
@@ -712,9 +714,10 @@ public class MasterDataImportTest {
|
||||
series.add(new SeriesImpl("testSeries", false, /* isFleetsCanRunInParallel */ true, fleets, emptyRaceColumnNamesList, sourceService));
|
||||
UUID regattaUUID = UUID.randomUUID();
|
||||
Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName("testRegatta", "29er"), "29er",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */null, /* endDate */null,
|
||||
regattaUUID, series, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, series, true,
|
||||
new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
for (String name : raceColumnNames) {
|
||||
series.get(0).addRaceColumn(name, sourceService);
|
||||
}
|
||||
@@ -876,9 +879,10 @@ public class MasterDataImportTest {
|
||||
UUID regattaUUID = UUID.randomUUID();
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */null, /* endDate */null,
|
||||
regattaUUID, series, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, series, true,
|
||||
new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
|
||||
for (String name : raceColumnNames) {
|
||||
series.get(0).addRaceColumn(name, sourceService);
|
||||
@@ -1035,9 +1039,10 @@ public class MasterDataImportTest {
|
||||
UUID regattaUUID = UUID.randomUUID();
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */null, /* endDate */null,
|
||||
regattaUUID, series, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, series, true,
|
||||
new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
for (String name : raceColumnNames) {
|
||||
series.get(0).addRaceColumn(name, sourceService);
|
||||
}
|
||||
@@ -1147,9 +1152,11 @@ public class MasterDataImportTest {
|
||||
destService));
|
||||
Regatta regattaNotToOverride = destService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */ null, /* endDate */null,
|
||||
regattaUUID, seriesNotToOverride, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */null, regattaUUID,
|
||||
seriesNotToOverride, true, new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
OneDesignRankingMetric::new);
|
||||
|
||||
for (String name : raceColumnNamesNotToOverride) {
|
||||
seriesNotToOverride.get(0).addRaceColumn(name, destService);
|
||||
@@ -1236,9 +1243,10 @@ public class MasterDataImportTest {
|
||||
UUID regattaUUID = UUID.randomUUID();
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */null, /* endDate */null,
|
||||
regattaUUID, series, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, series, true,
|
||||
new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */ true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
|
||||
for (String name : raceColumnNames) {
|
||||
series.get(0).addRaceColumn(name, sourceService);
|
||||
@@ -1345,9 +1353,11 @@ public class MasterDataImportTest {
|
||||
destService));
|
||||
Regatta regattaToOverride = destService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */ null, /* endDate */null,
|
||||
regattaUUID, seriesToOverride, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */null, regattaUUID,
|
||||
seriesToOverride, true, new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
OneDesignRankingMetric::new);
|
||||
|
||||
for (String name : raceColumnNamesToOverride) {
|
||||
seriesToOverride.get(0).addRaceColumn(name, destService);
|
||||
@@ -1454,10 +1464,12 @@ public class MasterDataImportTest {
|
||||
new UUID[] { UUID.randomUUID() })[0];
|
||||
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME),
|
||||
TEST_BOAT_CLASS_NAME, /* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */
|
||||
null, /* endDate */null, UUID.randomUUID(), new ArrayList<Series>(), true, new LowPoint(),
|
||||
defaultCourseArea.getId(), /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
defaultCourseArea.getId(), /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
// Let's use the setters directly because we are not testing replication
|
||||
RegattaConfigurationImpl configuration = new RegattaConfigurationImpl();
|
||||
configuration.setDefaultCourseDesignerMode(CourseDesignerMode.BY_MAP);
|
||||
@@ -1538,10 +1550,11 @@ public class MasterDataImportTest {
|
||||
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */null, /* endDate */null,
|
||||
regattaUUID, series, true, new LowPoint(),
|
||||
defaultCourseArea.getId(), /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, series, true,
|
||||
new LowPoint(), defaultCourseArea.getId(), /* buoyZoneRadiusInHullLengths */2.0,
|
||||
/* useStartTimeInference */true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
OneDesignRankingMetric::new);
|
||||
for (String name : raceColumnNames) {
|
||||
series.get(0).addRaceColumn(name, sourceService);
|
||||
}
|
||||
@@ -1672,9 +1685,10 @@ public class MasterDataImportTest {
|
||||
UUID regattaUUID = UUID.randomUUID();
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */null, /* endDate */null,
|
||||
regattaUUID, series, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, series, true,
|
||||
new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
|
||||
for (String name : raceColumnNames) {
|
||||
series.get(0).addRaceColumn(name, sourceService);
|
||||
@@ -1916,8 +1930,9 @@ public class MasterDataImportTest {
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, series, true,
|
||||
new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0, /* useStartTimeInference */true,
|
||||
/* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
|
||||
for (String name : raceColumnNames) {
|
||||
series.get(0).addRaceColumn(name, sourceService);
|
||||
@@ -2145,9 +2160,11 @@ public class MasterDataImportTest {
|
||||
UUID regattaUUID = UUID.randomUUID();
|
||||
Regatta regatta = sourceService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */ null, /* endDate */null,
|
||||
regattaUUID, seriesOnSource, true, new LowPoint(), courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0,
|
||||
/* useStartTimeInference */true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */null, regattaUUID, seriesOnSource,
|
||||
true, new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0,
|
||||
/* useStartTimeInference */true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
OneDesignRankingMetric::new);
|
||||
for (String name : raceColumnNames) {
|
||||
seriesOnSource.get(0).addRaceColumn(name, sourceService);
|
||||
}
|
||||
@@ -2272,9 +2289,11 @@ public class MasterDataImportTest {
|
||||
|
||||
Regatta regattaOnTarget = destService.createRegatta(
|
||||
RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME,
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /* startDate */null, /* endDate */null,
|
||||
regattaUUID, seriesOnTarget, true, new LowPoint(),
|
||||
courseAreaUUID, /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */true, /* controlTrackingFromStartAndFinishTimes */ false, OneDesignRankingMetric::new);
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */null, /* endDate */null, regattaUUID, seriesOnTarget,
|
||||
true, new LowPoint(), courseAreaUUID, /* buoyZoneRadiusInHullLengths */2.0,
|
||||
/* useStartTimeInference */true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
OneDesignRankingMetric::new);
|
||||
|
||||
raceColumnOnTarget.setTrackedRace(defaultFleetOnTarget, new DummyTrackedRace(raceId, createCompetitorsAndBoatsMap(boatClass, competitors),
|
||||
regattaOnTarget, null, sourceService.getWindStore()));
|
||||
|
||||
+19
-10
@@ -139,19 +139,25 @@ public class SearchServiceTest {
|
||||
new SeriesCreationParametersDTO(Collections.singletonList(new FleetDTO("Default", /* order */-1, Color.RED)),
|
||||
/* medal */false, /* fleetsCanRunInParallel */ true, /* startsWithZero */false, /* firstColumnIsNonDiscardableCarryForward */false,
|
||||
/* discardingThresholds */null, /* hasSplitFleetContiguousScoring */false, /* maximumNumberOfDiscards */ null));
|
||||
pfingstbusch29er = server.apply(new AddSpecificRegatta(RegattaImpl.getDefaultName("Pfingstbusch", "29er"), "29er",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, UUID.randomUUID(),
|
||||
pfingstbusch29er = server.apply(new AddSpecificRegatta(RegattaImpl.getDefaultName("Pfingstbusch", "29er"),
|
||||
"29er", /* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(),
|
||||
new RegattaCreationParametersDTO(seriesCreationParams), /* persistent */
|
||||
true, new LowPoint(), kielAlpha.getId(), /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, RankingMetrics.ONE_DESIGN));
|
||||
true, new LowPoint(), kielAlpha.getId(), /* buoyZoneRadiusInHullLengths */2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
RankingMetrics.ONE_DESIGN));
|
||||
server.apply(new AddColumnToSeries(pfingstbusch29er.getRegattaIdentifier(), "Default", "R1"));
|
||||
server.apply(new AddColumnToSeries(pfingstbusch29er.getRegattaIdentifier(), "Default", "R2"));
|
||||
server.apply(new AddColumnToSeries(pfingstbusch29er.getRegattaIdentifier(), "Default", "R3"));
|
||||
RegattaLeaderboard pfingstbusch29erLeaderboard = server.apply(new CreateRegattaLeaderboard(pfingstbusch29er.getRegattaIdentifier(),
|
||||
/* leaderboardDisplayName */ null, /* discardThresholds */ new int[0]));
|
||||
pfingstbusch470 = server.apply(new AddSpecificRegatta(RegattaImpl.getDefaultName("Pfingstbusch", "470"), "470",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null,
|
||||
UUID.randomUUID(), new RegattaCreationParametersDTO(seriesCreationParams), /* persistent */
|
||||
true, new LowPoint(), kielBravo.getId(), /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, RankingMetrics.ONE_DESIGN));
|
||||
pfingstbusch470 = server.apply(new AddSpecificRegatta(RegattaImpl.getDefaultName("Pfingstbusch", "470"), "470",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(),
|
||||
new RegattaCreationParametersDTO(seriesCreationParams), /* persistent */
|
||||
true, new LowPoint(), kielBravo.getId(), /* buoyZoneRadiusInHullLengths */2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
RankingMetrics.ONE_DESIGN));
|
||||
server.apply(new AddColumnToSeries(pfingstbusch470.getRegattaIdentifier(), "Default", "R1"));
|
||||
server.apply(new AddColumnToSeries(pfingstbusch470.getRegattaIdentifier(), "Default", "R2"));
|
||||
server.apply(new AddColumnToSeries(pfingstbusch470.getRegattaIdentifier(), "Default", "R3"));
|
||||
@@ -171,10 +177,13 @@ public class SearchServiceTest {
|
||||
flensburg = aalEvent.getVenue();
|
||||
final CourseAreaImpl flensburgStandard = new CourseAreaImpl("Standard", UUID.randomUUID());
|
||||
flensburg.addCourseArea(flensburgStandard);
|
||||
aalRegatta = server.apply(new AddSpecificRegatta(RegattaImpl.getDefaultName("Aalregatta", "ORC"), "ORC",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED, /*startDate*/ null, /*endDate*/ null, UUID.randomUUID(),
|
||||
aalRegatta = server.apply(new AddSpecificRegatta(RegattaImpl.getDefaultName("Aalregatta", "ORC"), "ORC",
|
||||
/* canBoatsOfCompetitorsChangePerRace */ true, CompetitorRegistrationType.CLOSED,
|
||||
/* registrationLinkSecret */ null, /* startDate */ null, /* endDate */ null, UUID.randomUUID(),
|
||||
new RegattaCreationParametersDTO(seriesCreationParams), /* persistent */
|
||||
true, new LowPoint(), flensburgStandard.getId(), /*buoyZoneRadiusInHullLengths*/2.0, /* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false, RankingMetrics.ONE_DESIGN));
|
||||
true, new LowPoint(), flensburgStandard.getId(), /* buoyZoneRadiusInHullLengths */2.0,
|
||||
/* useStartTimeInference */ true, /* controlTrackingFromStartAndFinishTimes */ false,
|
||||
RankingMetrics.ONE_DESIGN));
|
||||
server.apply(new AddColumnToSeries(aalRegatta.getRegattaIdentifier(), "Default", "R1"));
|
||||
server.apply(new AddColumnToSeries(aalRegatta.getRegattaIdentifier(), "Default", "R2"));
|
||||
RegattaLeaderboard aalRegattaLeaderboard = server.apply(new CreateRegattaLeaderboard(aalRegatta.getRegattaIdentifier(),
|
||||
|
||||
@@ -336,7 +336,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch
|
||||
* cannot be {@code true} if {@link useStartTimeInference} is also {@code true}
|
||||
*/
|
||||
Regatta createRegatta(String regattaName, String boatClassName, boolean canBoatsOfCompetitorsChangePerRace,
|
||||
CompetitorRegistrationType competitorRegistrationType, TimePoint startDate, TimePoint endDate, Serializable id, Iterable<? extends Series> series,
|
||||
CompetitorRegistrationType competitorRegistrationType, String registrationLinkSecret, TimePoint startDate, TimePoint endDate, Serializable id, Iterable<? extends Series> series,
|
||||
boolean persistent, ScoringScheme scoringScheme, Serializable defaultCourseAreaId, Double buoyZoneRadiusInHullLengths,
|
||||
boolean useStartTimeInference, boolean controlTrackingFromStartAndFinishTimes, RankingMetricConstructor rankingMetricConstructor);
|
||||
|
||||
@@ -497,7 +497,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch
|
||||
*/
|
||||
Util.Pair<Regatta, Boolean> getOrCreateRegattaWithoutReplication(String fullRegattaName, String boatClassName,
|
||||
boolean canBoatsOfCompetitorsChangePerRace, CompetitorRegistrationType competitorRegistrationType,
|
||||
TimePoint startDate, TimePoint endDate, Serializable id,
|
||||
String registrationLinkSecret, TimePoint startDate, TimePoint endDate, Serializable id,
|
||||
Iterable<? extends Series> series, boolean persistent, ScoringScheme scoringScheme,
|
||||
Serializable defaultCourseAreaId, Double buoyZoneRadiusInHullLengths, boolean useStartTimeInference,
|
||||
boolean controlTrackingFromStartAndFinishTimes, RankingMetricConstructor rankingMetricConstructor);
|
||||
|
||||
+13
-10
@@ -1447,7 +1447,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
|
||||
@Override
|
||||
public Regatta createRegatta(String fullRegattaName, String boatClassName, boolean canBoatsOfCompetitorsChangePerRace,
|
||||
CompetitorRegistrationType competitorRegistrationType, TimePoint startDate, TimePoint endDate,
|
||||
CompetitorRegistrationType competitorRegistrationType, String registrationLinkSecret, TimePoint startDate, TimePoint endDate,
|
||||
Serializable id, Iterable<? extends Series> series, boolean persistent, ScoringScheme scoringScheme,
|
||||
Serializable defaultCourseAreaId, Double buoyZoneRadiusInHullLengths, boolean useStartTimeInference, boolean controlTrackingFromStartAndFinishTimes,
|
||||
RankingMetricConstructor rankingMetricConstructor) {
|
||||
@@ -1455,7 +1455,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
throw new IllegalArgumentException("Cannot set both of useStartTimeInference and controlTrackingFromStartAndFinishTimes to true");
|
||||
}
|
||||
com.sap.sse.common.Util.Pair<Regatta, Boolean> regattaWithCreatedFlag = getOrCreateRegattaWithoutReplication(
|
||||
fullRegattaName, boatClassName, canBoatsOfCompetitorsChangePerRace, competitorRegistrationType, startDate, endDate, id, series, persistent, scoringScheme,
|
||||
fullRegattaName, boatClassName, canBoatsOfCompetitorsChangePerRace, competitorRegistrationType, registrationLinkSecret, startDate, endDate, id, series, persistent, scoringScheme,
|
||||
defaultCourseAreaId, buoyZoneRadiusInHullLengths, useStartTimeInference, controlTrackingFromStartAndFinishTimes, rankingMetricConstructor);
|
||||
Regatta regatta = regattaWithCreatedFlag.getA();
|
||||
if (regattaWithCreatedFlag.getB()) {
|
||||
@@ -1487,10 +1487,11 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
|
||||
@Override
|
||||
public com.sap.sse.common.Util.Pair<Regatta, Boolean> getOrCreateRegattaWithoutReplication(String fullRegattaName,
|
||||
String boatClassName, boolean canBoatsOfCompetitorsChangePerRace, CompetitorRegistrationType competitorRegistrationType,
|
||||
TimePoint startDate, TimePoint endDate, Serializable id,
|
||||
Iterable<? extends Series> series, boolean persistent, ScoringScheme scoringScheme,
|
||||
Serializable defaultCourseAreaId, Double buoyZoneRadiusInHullLengths, boolean useStartTimeInference, boolean controlTrackingFromStartAndFinishTimes,
|
||||
String boatClassName, boolean canBoatsOfCompetitorsChangePerRace,
|
||||
CompetitorRegistrationType competitorRegistrationType, String registrationLinkSecret, TimePoint startDate,
|
||||
TimePoint endDate, Serializable id, Iterable<? extends Series> series, boolean persistent,
|
||||
ScoringScheme scoringScheme, Serializable defaultCourseAreaId, Double buoyZoneRadiusInHullLengths,
|
||||
boolean useStartTimeInference, boolean controlTrackingFromStartAndFinishTimes,
|
||||
RankingMetricConstructor rankingMetricConstructor) {
|
||||
CourseArea courseArea = getCourseArea(defaultCourseAreaId);
|
||||
Regatta regatta = new RegattaImpl(getRaceLogStore(), getRegattaLogStore(), fullRegattaName,
|
||||
@@ -1696,11 +1697,13 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
if (regatta.getDefaultCourseArea() != null) {
|
||||
courseAreaId = regatta.getDefaultCourseArea().getId();
|
||||
}
|
||||
replicate(new AddSpecificRegatta(regatta.getName(), regatta.getBoatClass() == null ? null : regatta
|
||||
.getBoatClass().getName(), regatta.canBoatsOfCompetitorsChangePerRace(), regatta.getCompetitorRegistrationType(),
|
||||
regatta.getStartDate(), regatta.getEndDate(), regatta.getId(),
|
||||
replicate(new AddSpecificRegatta(regatta.getName(),
|
||||
regatta.getBoatClass() == null ? null : regatta.getBoatClass().getName(),
|
||||
regatta.canBoatsOfCompetitorsChangePerRace(), regatta.getCompetitorRegistrationType(),
|
||||
/* registrationLinkSecret */ null, regatta.getStartDate(), regatta.getEndDate(), regatta.getId(),
|
||||
getSeriesWithoutRaceColumnsConstructionParametersAsMap(regatta), regatta.isPersistent(),
|
||||
regatta.getScoringScheme(), courseAreaId, regatta.getBuoyZoneRadiusInHullLengths(), regatta.useStartTimeInference(), regatta.isControlTrackingFromStartAndFinishTimes(),
|
||||
regatta.getScoringScheme(), courseAreaId, regatta.getBuoyZoneRadiusInHullLengths(),
|
||||
regatta.useStartTimeInference(), regatta.isControlTrackingFromStartAndFinishTimes(),
|
||||
regatta.getRankingMetricType()));
|
||||
RegattaIdentifier regattaIdentifier = regatta.getRegattaIdentifier();
|
||||
for (RaceDefinition race : regatta.getAllRaces()) {
|
||||
|
||||
+4
-2
@@ -36,9 +36,10 @@ public class AddSpecificRegatta extends AbstractAddRegattaOperation {
|
||||
private final boolean canBoatsOfCompetitorsChangePerRace;
|
||||
private final CompetitorRegistrationType competitorRegistrationType;
|
||||
private final RankingMetrics rankingMetricType;
|
||||
private final String registrationLinkSecret;
|
||||
|
||||
public AddSpecificRegatta(String regattaName, String boatClassName, boolean canBoatsOfCompetitorsChangePerRace,
|
||||
CompetitorRegistrationType competitorRegistrationType, TimePoint startDate, TimePoint endDate, Serializable id,
|
||||
CompetitorRegistrationType competitorRegistrationType, String registrationLinkSecret, TimePoint startDate, TimePoint endDate, Serializable id,
|
||||
RegattaCreationParametersDTO seriesNamesWithFleetNamesAndFleetOrderingAndMedalAndDiscardingThresholds,
|
||||
boolean persistent, ScoringScheme scoringScheme, Serializable defaultCourseAreaId, Double buoyZoneRadiusInHullLengths, boolean useStartTimeInference,
|
||||
boolean controlTrackingFromStartAndFinishTimes, RankingMetrics rankingMetricType) {
|
||||
@@ -53,12 +54,13 @@ public class AddSpecificRegatta extends AbstractAddRegattaOperation {
|
||||
this.controlTrackingFromStartAndFinishTimes = controlTrackingFromStartAndFinishTimes;
|
||||
this.rankingMetricType = rankingMetricType;
|
||||
this.buoyZoneRadiusInHullLengths = buoyZoneRadiusInHullLengths;
|
||||
this.registrationLinkSecret = registrationLinkSecret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Regatta internalApplyTo(RacingEventService toState) throws Exception {
|
||||
Regatta regatta = toState.createRegatta(getRegattaName(), getBoatClassName(), canBoatsOfCompetitorsChangePerRace,
|
||||
competitorRegistrationType, getStartDate(), getEndDate(), getId(), createSeries(toState),
|
||||
competitorRegistrationType, registrationLinkSecret, getStartDate(), getEndDate(), getId(), createSeries(toState),
|
||||
persistent, scoringScheme, defaultCourseAreaId, buoyZoneRadiusInHullLengths, useStartTimeInference, controlTrackingFromStartAndFinishTimes, RankingMetricsFactory.getRankingMetricConstructor(rankingMetricType));
|
||||
return regatta;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user