mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-22 20:13:52 +00:00
Merge remote-tracking branch 'origin/master' into foiling
Conflicts: java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractSimpleLeaderboardImpl.java java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java
This commit is contained in:
commit
e1f8dc06d5
166 files changed
+6263
-4576
No files matched your search
@@ -78,6 +78,10 @@ public class RaceLogReplicator implements RaceColumnListener {
|
||||
public void isMedalRaceChanged(RaceColumn raceColumn, boolean newIsMedalRace) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void isFleetsCanRunInParallelChanged(RaceColumn raceColumn, boolean newIsFleetsCanRunInParallel) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void isStartsWithZeroScoreChanged(RaceColumn raceColumn, boolean newIsStartsWithZeroScore) {
|
||||
}
|
||||
|
||||
+4
@@ -51,6 +51,10 @@ public class RaceLogScoringReplicator implements RaceColumnListener {
|
||||
public void isMedalRaceChanged(RaceColumn raceColumn, boolean newIsMedalRace) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void isFleetsCanRunInParallelChanged(RaceColumn raceColumn, boolean newIsFleetsCanRunInParallel) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void isStartsWithZeroScoreChanged(RaceColumn raceColumn, boolean newIsStartsWithZeroScore) {
|
||||
}
|
||||
|
||||
+1
-1
@@ -1462,7 +1462,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
}
|
||||
result.put(
|
||||
s.getName(),
|
||||
new SeriesCreationParametersDTO(fleetNamesAndOrdering, s.isMedal(), s.isStartsWithZeroScore(), s
|
||||
new SeriesCreationParametersDTO(fleetNamesAndOrdering, s.isMedal(), s.isFleetsCanRunInParallel(), s.isStartsWithZeroScore(), s
|
||||
.isFirstColumnIsNonDiscardableCarryForward(), s.getResultDiscardingRule() == null ? null
|
||||
: s.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces(), s
|
||||
.hasSplitFleetContiguousScoring()));
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ public class AddSpecificRegatta extends AbstractAddRegattaOperation {
|
||||
List<Series> result = new ArrayList<Series>();
|
||||
for (Map.Entry<String, SeriesCreationParametersDTO> e : seriesNamesWithFleetNamesAndFleetOrderingAndMedalAndStartsWithZeroScoreAndDiscardingThresholds.getSeriesCreationParameters().entrySet()) {
|
||||
final List<String> emptyRaceColumnNamesList = Collections.emptyList();
|
||||
Series s = new SeriesImpl(e.getKey(), e.getValue().isMedal(), createFleets(e.getValue().getFleets()),
|
||||
Series s = new SeriesImpl(e.getKey(), e.getValue().isMedal(), e.getValue().isFleetsCanRunInParallel(), createFleets(e.getValue().getFleets()),
|
||||
emptyRaceColumnNamesList, trackedRegattaRegistry);
|
||||
if (e.getValue().getDiscardingThresholds() != null) {
|
||||
s.setResultDiscardingRule(new ThresholdBasedResultDiscardingRuleImpl(e.getValue().getDiscardingThresholds()));
|
||||
|
||||
+93
-90
@@ -1,90 +1,93 @@
|
||||
package com.sap.sailing.server.operationaltransformation;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.base.Series;
|
||||
import com.sap.sailing.domain.base.impl.FleetImpl;
|
||||
import com.sap.sailing.domain.base.impl.SeriesImpl;
|
||||
import com.sap.sailing.domain.common.RegattaIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.leaderboard.impl.ThresholdBasedResultDiscardingRuleImpl;
|
||||
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sailing.server.RacingEventServiceOperation;
|
||||
|
||||
public class UpdateSeries extends AbstractSeriesOperation<Void> {
|
||||
private static final long serialVersionUID = 6356089749049112710L;
|
||||
|
||||
private final List<FleetDTO> fleets;
|
||||
private final boolean isMedal;
|
||||
private final int[] resultDiscardingThresholds;
|
||||
private final boolean startsWithZeroScore;
|
||||
private final boolean firstColumnIsNonDiscardableCarryForward;
|
||||
private final boolean hasSplitFleetContiguousScoring;
|
||||
private final boolean seriesNameChanged;
|
||||
private final String newSeriesName;
|
||||
|
||||
public UpdateSeries(RegattaIdentifier regattaIdentifier, String seriesName, String newSeriesName, boolean isMedal,
|
||||
int[] resultDiscardingThresholds, boolean startsWithZeroScore,
|
||||
boolean firstColumnIsNonDiscardableCarryForward, boolean hasSplitFleetContiguousScoring,
|
||||
List<FleetDTO> fleets) {
|
||||
super(regattaIdentifier, seriesName);
|
||||
this.seriesNameChanged = !seriesName.equals(newSeriesName);
|
||||
this.newSeriesName = newSeriesName;
|
||||
this.isMedal = isMedal;
|
||||
this.resultDiscardingThresholds = resultDiscardingThresholds;
|
||||
this.startsWithZeroScore = startsWithZeroScore;
|
||||
this.firstColumnIsNonDiscardableCarryForward = firstColumnIsNonDiscardableCarryForward;
|
||||
this.hasSplitFleetContiguousScoring = hasSplitFleetContiguousScoring;
|
||||
this.fleets = fleets;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Void internalApplyTo(RacingEventService toState) throws Exception {
|
||||
Series series = getSeries(toState);
|
||||
if (series == null) {
|
||||
series = createSeries(toState);
|
||||
}
|
||||
if (seriesNameChanged) {
|
||||
series.setName(newSeriesName);
|
||||
}
|
||||
series.setIsMedal(isMedal);
|
||||
series.setResultDiscardingRule(resultDiscardingThresholds == null ?
|
||||
null : new ThresholdBasedResultDiscardingRuleImpl(resultDiscardingThresholds));
|
||||
series.setStartsWithZeroScore(startsWithZeroScore);
|
||||
series.setFirstColumnIsNonDiscardableCarryForward(firstColumnIsNonDiscardableCarryForward);
|
||||
series.setSplitFleetContiguousScoring(hasSplitFleetContiguousScoring);
|
||||
if (series.getRegatta().isPersistent()) {
|
||||
toState.updateStoredRegatta(series.getRegatta());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Series createSeries(RacingEventService toState) {
|
||||
Regatta regatta = toState.getRegatta(getRegattaIdentifier());
|
||||
final List<String> emptyRaceColumnNames = Collections.emptyList();
|
||||
List<Fleet> result = new ArrayList<Fleet>();
|
||||
for (FleetDTO fleetNameAndOrderingAndColor : fleets) {
|
||||
Fleet fleet = new FleetImpl(fleetNameAndOrderingAndColor.getName(), fleetNameAndOrderingAndColor.getOrderNo(), fleetNameAndOrderingAndColor.getColor());
|
||||
result.add(fleet);
|
||||
}
|
||||
regatta.addSeries(new SeriesImpl(getSeriesName(), isMedal, result, emptyRaceColumnNames, (TrackedRegattaRegistry)toState));
|
||||
return regatta.getSeriesByName(getSeriesName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
package com.sap.sailing.server.operationaltransformation;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.base.Series;
|
||||
import com.sap.sailing.domain.base.impl.FleetImpl;
|
||||
import com.sap.sailing.domain.base.impl.SeriesImpl;
|
||||
import com.sap.sailing.domain.common.RegattaIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.leaderboard.impl.ThresholdBasedResultDiscardingRuleImpl;
|
||||
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sailing.server.RacingEventServiceOperation;
|
||||
|
||||
public class UpdateSeries extends AbstractSeriesOperation<Void> {
|
||||
private static final long serialVersionUID = 6356089749049112710L;
|
||||
|
||||
private final List<FleetDTO> fleets;
|
||||
private final boolean isMedal;
|
||||
private final boolean isFleetsCanRunInParallel;
|
||||
private final int[] resultDiscardingThresholds;
|
||||
private final boolean startsWithZeroScore;
|
||||
private final boolean firstColumnIsNonDiscardableCarryForward;
|
||||
private final boolean hasSplitFleetContiguousScoring;
|
||||
private final boolean seriesNameChanged;
|
||||
private final String newSeriesName;
|
||||
|
||||
public UpdateSeries(RegattaIdentifier regattaIdentifier, String seriesName, String newSeriesName, boolean isMedal, boolean isFleetsCanRunInParallel,
|
||||
int[] resultDiscardingThresholds, boolean startsWithZeroScore,
|
||||
boolean firstColumnIsNonDiscardableCarryForward, boolean hasSplitFleetContiguousScoring,
|
||||
List<FleetDTO> fleets) {
|
||||
super(regattaIdentifier, seriesName);
|
||||
this.seriesNameChanged = !seriesName.equals(newSeriesName);
|
||||
this.newSeriesName = newSeriesName;
|
||||
this.isMedal = isMedal;
|
||||
this.isFleetsCanRunInParallel = isFleetsCanRunInParallel;
|
||||
this.resultDiscardingThresholds = resultDiscardingThresholds;
|
||||
this.startsWithZeroScore = startsWithZeroScore;
|
||||
this.firstColumnIsNonDiscardableCarryForward = firstColumnIsNonDiscardableCarryForward;
|
||||
this.hasSplitFleetContiguousScoring = hasSplitFleetContiguousScoring;
|
||||
this.fleets = fleets;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Void internalApplyTo(RacingEventService toState) throws Exception {
|
||||
Series series = getSeries(toState);
|
||||
if (series == null) {
|
||||
series = createSeries(toState);
|
||||
}
|
||||
if (seriesNameChanged) {
|
||||
series.setName(newSeriesName);
|
||||
}
|
||||
series.setIsMedal(isMedal);
|
||||
series.setIsFleetsCanRunInParallel(isFleetsCanRunInParallel);
|
||||
series.setResultDiscardingRule(resultDiscardingThresholds == null ?
|
||||
null : new ThresholdBasedResultDiscardingRuleImpl(resultDiscardingThresholds));
|
||||
series.setStartsWithZeroScore(startsWithZeroScore);
|
||||
series.setFirstColumnIsNonDiscardableCarryForward(firstColumnIsNonDiscardableCarryForward);
|
||||
series.setSplitFleetContiguousScoring(hasSplitFleetContiguousScoring);
|
||||
if (series.getRegatta().isPersistent()) {
|
||||
toState.updateStoredRegatta(series.getRegatta());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Series createSeries(RacingEventService toState) {
|
||||
Regatta regatta = toState.getRegatta(getRegattaIdentifier());
|
||||
final List<String> emptyRaceColumnNames = Collections.emptyList();
|
||||
List<Fleet> result = new ArrayList<Fleet>();
|
||||
for (FleetDTO fleetNameAndOrderingAndColor : fleets) {
|
||||
Fleet fleet = new FleetImpl(fleetNameAndOrderingAndColor.getName(), fleetNameAndOrderingAndColor.getOrderNo(), fleetNameAndOrderingAndColor.getColor());
|
||||
result.add(fleet);
|
||||
}
|
||||
regatta.addSeries(new SeriesImpl(getSeriesName(), isMedal, isFleetsCanRunInParallel, result, emptyRaceColumnNames, (TrackedRegattaRegistry)toState));
|
||||
return regatta.getSeriesByName(getSeriesName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public RacingEventServiceOperation<?> transformClientOp(RacingEventServiceOperation<?> serverOp) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RacingEventServiceOperation<?> transformServerOp(RacingEventServiceOperation<?> clientOp) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user