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:
Steffen Schaefer committed 2016-04-27 08:12:55 +02:00
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) {
}
@@ -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) {
}
@@ -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()));
@@ -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()));
@@ -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;
}
}