fixed bug with missing Serializer/Deserializer for the regatta configuration of the new SWC start procedure.

Renamed SWCConfiguration to SWCStartConfiguration and the impl classes accordingly.
This commit is contained in:
fmittag
2016-12-01 12:49:16 +01:00
parent 2e21ccd7b4
commit df98099ae6
15 changed files with 171 additions and 58 deletions
@@ -49,7 +49,7 @@ public class ReadonlyRacingProcedureFactory implements RacingProcedureFactory {
case RRS26:
return new RRS26RacingProcedureImpl(raceLog, author, loadedConfiguration.getRRS26Configuration(), raceLogResolver);
case SWC:
return new SWCRacingProcedureImpl(raceLog, author, loadedConfiguration.getSWCConfiguration(), raceLogResolver);
return new SWCRacingProcedureImpl(raceLog, author, loadedConfiguration.getSWCStartConfiguration(), raceLogResolver);
case BASIC:
return new BasicRacingProcedureImpl(raceLog, author, loadedConfiguration.getBasicConfiguration(), raceLogResolver);
case LEAGUE:
@@ -1,11 +1,11 @@
package com.sap.sailing.domain.abstractlog.race.state.racingprocedure.line;
import com.sap.sailing.domain.base.configuration.procedures.SWCConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguration;
import com.sap.sailing.domain.common.racelog.Flags;
public interface SWCRacingProcedure extends ConfigurableStartModeFlagRacingProcedure {
public final static Flags DefaultStartMode = Flags.UNIFORM;
SWCConfiguration getConfiguration();
SWCStartConfiguration getConfiguration();
}
@@ -18,7 +18,7 @@ import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProce
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProcedurePrerequisite.FulfillmentFunction;
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.impl.NoMorePrerequisite;
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.line.SWCRacingProcedure;
import com.sap.sailing.domain.base.configuration.procedures.SWCConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguration;
import com.sap.sailing.domain.common.racelog.FlagPole;
import com.sap.sailing.domain.common.racelog.Flags;
import com.sap.sailing.domain.common.racelog.RacingProcedureType;
@@ -35,7 +35,7 @@ public class SWCRacingProcedureImpl extends ConfigurableStartModeFlagRacingProce
private boolean startmodeFlagHasBeenSet;
public SWCRacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author,
SWCConfiguration configuration, RaceLogResolver raceLogResolver) {
SWCStartConfiguration configuration, RaceLogResolver raceLogResolver) {
super(raceLog, author, configuration, raceLogResolver);
RacingProcedureTypeAnalyzer procedureAnalyzer = new RacingProcedureTypeAnalyzer(raceLog);
@@ -187,8 +187,8 @@ public class SWCRacingProcedureImpl extends ConfigurableStartModeFlagRacingProce
}
@Override
public SWCConfiguration getConfiguration() {
return (SWCConfiguration) super.getConfiguration();
public SWCStartConfiguration getConfiguration() {
return (SWCStartConfiguration) super.getConfiguration();
}
}
@@ -7,7 +7,7 @@ import com.sap.sailing.domain.base.configuration.procedures.ESSConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.GateStartConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.LeagueConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.RRS26Configuration;
import com.sap.sailing.domain.base.configuration.procedures.SWCConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguration;
import com.sap.sailing.domain.common.CourseDesignerMode;
import com.sap.sailing.domain.common.racelog.RacingProcedureType;
@@ -37,7 +37,7 @@ public interface RegattaConfiguration extends Serializable, Cloneable {
* Gets the configuration for SWC races.
* @return <code>null</code> if there is no configuration.
*/
SWCConfiguration getSWCConfiguration();
SWCStartConfiguration getSWCStartConfiguration();
/**
* Gets the configuration for Gate Start races.
@@ -18,7 +18,7 @@ public class EmptyRegattaConfiguration extends RegattaConfigurationImpl implemen
setDefaultRacingProcedureType(RacingProcedureType.UNKNOWN);
setDefaultCourseDesignerMode(CourseDesignerMode.UNKNOWN);
setRRS26Configuration(new RRS26ConfigurationImpl());
setSWCConfiguration(new SWCConfigurationImpl());
setSWCStartConfiguration(new SWCStartConfigurationImpl());
setGateStartConfiguration(new GateStartConfigurationImpl());
setESSConfiguration(new ESSConfigurationImpl());
setBasicConfiguration(new RacingProcedureConfigurationImpl());
@@ -6,7 +6,7 @@ import com.sap.sailing.domain.base.configuration.procedures.ESSConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.GateStartConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.LeagueConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.RRS26Configuration;
import com.sap.sailing.domain.base.configuration.procedures.SWCConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguration;
import com.sap.sailing.domain.common.CourseDesignerMode;
import com.sap.sailing.domain.common.racelog.RacingProcedureType;
@@ -18,7 +18,7 @@ public class RegattaConfigurationImpl implements RegattaConfiguration {
private CourseDesignerMode defaultCourseDesignerMode;
private RRS26Configuration rrs26Configuration;
private SWCConfiguration swcConfiguration;
private SWCStartConfiguration swcStartConfiguration;
private GateStartConfiguration gateStartConfiguration;
private ESSConfiguration essConfiguration;
private LeagueConfiguration leagueConfiguration;
@@ -52,12 +52,12 @@ public class RegattaConfigurationImpl implements RegattaConfiguration {
}
@Override
public SWCConfiguration getSWCConfiguration() {
return swcConfiguration;
public SWCStartConfiguration getSWCStartConfiguration() {
return swcStartConfiguration;
}
public void setSWCConfiguration(SWCConfiguration swcConfiguration) {
this.swcConfiguration = swcConfiguration;
public void setSWCStartConfiguration(SWCStartConfiguration swcStartConfiguration) {
this.swcStartConfiguration = swcStartConfiguration;
}
@Override
@@ -102,7 +102,7 @@ public class RegattaConfigurationImpl implements RegattaConfiguration {
copy.setDefaultRacingProcedureType(defaultRacingProcedureType);
copy.setDefaultCourseDesignerMode(defaultCourseDesignerMode);
copy.setRRS26Configuration(rrs26Configuration);
copy.setSWCConfiguration(swcConfiguration);
copy.setSWCStartConfiguration(swcStartConfiguration);
copy.setGateStartConfiguration(gateStartConfiguration);
copy.setESSConfiguration(essConfiguration);
copy.setBasicConfiguration(basicConfiguration);
@@ -124,9 +124,9 @@ public class RegattaConfigurationImpl implements RegattaConfiguration {
target.setRRS26Configuration(
(RRS26Configuration) target.getRRS26Configuration().merge(update.getRRS26Configuration()));
}
if (update.getSWCConfiguration() != null) {
target.setSWCConfiguration(
(SWCConfiguration) target.getSWCConfiguration().merge(update.getSWCConfiguration()));
if (update.getSWCStartConfiguration() != null) {
target.setSWCStartConfiguration(
(SWCStartConfiguration) target.getSWCStartConfiguration().merge(update.getSWCStartConfiguration()));
}
if (update.getGateStartConfiguration() != null) {
target.setGateStartConfiguration(
@@ -1,20 +0,0 @@
package com.sap.sailing.domain.base.configuration.impl;
import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCConfiguration;
public class SWCConfigurationImpl extends RacingProcedureWithConfigurableStartModeFlagConfigurationImpl
implements SWCConfiguration {
private static final long serialVersionUID = 5141617199229598965L;
@Override
public RacingProcedureConfiguration merge(RacingProcedureConfiguration value) {
SWCConfiguration update = (SWCConfiguration) value;
SWCConfigurationImpl target = (SWCConfigurationImpl) super.merge(update);
if (update.getStartModeFlags() != null) {
target.setStartModeFlags(update.getStartModeFlags());
}
return target;
}
}
@@ -0,0 +1,24 @@
package com.sap.sailing.domain.base.configuration.impl;
import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguration;
public class SWCStartConfigurationImpl extends RacingProcedureWithConfigurableStartModeFlagConfigurationImpl
implements SWCStartConfiguration {
private static final long serialVersionUID = 5141617199229598965L;
@Override
public RacingProcedureConfiguration merge(RacingProcedureConfiguration value) {
SWCStartConfiguration update = (SWCStartConfiguration) value;
SWCStartConfigurationImpl target = (SWCStartConfigurationImpl) super.merge(update);
if (update.getStartModeFlags() != null) {
target.setStartModeFlags(update.getStartModeFlags());
}
return target;
}
protected SWCStartConfigurationImpl newInstance() {
return new SWCStartConfigurationImpl();
}
}
@@ -6,5 +6,5 @@ package com.sap.sailing.domain.base.configuration.procedures;
* @author Frank
*
*/
public interface SWCConfiguration extends ConfigurableStartModeFlagRacingProcedureConfiguration {
public interface SWCStartConfiguration extends ConfigurableStartModeFlagRacingProcedureConfiguration {
}
@@ -129,7 +129,7 @@ import com.sap.sailing.domain.base.configuration.impl.RRS26ConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RacingProcedureConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RacingProcedureWithConfigurableStartModeFlagConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RegattaConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.SWCConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.SWCStartConfigurationImpl;
import com.sap.sailing.domain.base.configuration.procedures.ConfigurableStartModeFlagRacingProcedureConfiguration;
import com.sap.sailing.domain.base.impl.BoatImpl;
import com.sap.sailing.domain.base.impl.CourseDataImpl;
@@ -4865,10 +4865,10 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
copyBasicRacingProcedureProperties(configuration.getRRS26Configuration(), dto.rrs26Configuration);
copyRacingProcedureWithConfigurableStartModeFlagProperties(configuration.getRRS26Configuration(), dto.rrs26Configuration);
}
if (configuration.getSWCConfiguration() != null) {
if (configuration.getSWCStartConfiguration() != null) {
dto.swcStartConfiguration = new DeviceConfigurationDTO.RegattaConfigurationDTO.SWCStartConfigurationDTO();
copyBasicRacingProcedureProperties(configuration.getSWCConfiguration(), dto.swcStartConfiguration);
copyRacingProcedureWithConfigurableStartModeFlagProperties(configuration.getSWCConfiguration(), dto.swcStartConfiguration);
copyBasicRacingProcedureProperties(configuration.getSWCStartConfiguration(), dto.swcStartConfiguration);
copyRacingProcedureWithConfigurableStartModeFlagProperties(configuration.getSWCStartConfiguration(), dto.swcStartConfiguration);
}
if (configuration.getGateStartConfiguration() != null) {
dto.gateStartConfiguration = new DeviceConfigurationDTO.RegattaConfigurationDTO.GateStartConfigurationDTO();
@@ -4923,10 +4923,10 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
configuration.setRRS26Configuration(config);
}
if (dto.swcStartConfiguration != null) {
SWCConfigurationImpl config = new SWCConfigurationImpl();
SWCStartConfigurationImpl config = new SWCStartConfigurationImpl();
applyGeneralRacingProcedureConfigProperties(dto.swcStartConfiguration, config);
applyRacingProcedureWithConfigurableStartModeFlagConfigProperties(dto.swcStartConfiguration, config);
configuration.setSWCConfiguration(config);
configuration.setSWCStartConfiguration(config);
}
if (dto.gateStartConfiguration != null) {
GateStartConfigurationImpl config = new GateStartConfigurationImpl();
@@ -9,6 +9,7 @@ import com.sap.sailing.domain.base.configuration.procedures.ESSConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.GateStartConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.LeagueConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.RRS26Configuration;
import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguration;
import com.sap.sailing.domain.common.CourseDesignerMode;
import com.sap.sailing.domain.common.racelog.RacingProcedureType;
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
@@ -18,21 +19,23 @@ import com.sap.sailing.server.gateway.serialization.impl.RegattaConfigurationJso
public class RegattaConfigurationJsonDeserializer implements JsonDeserializer<RegattaConfiguration> {
public static RegattaConfigurationJsonDeserializer create() {
return new RegattaConfigurationJsonDeserializer(RRS26ConfigurationJsonDeserializer.create(),
return new RegattaConfigurationJsonDeserializer(RRS26ConfigurationJsonDeserializer.create(), SWCStartConfigurationJsonDeserializer.create(),
GateStartConfigurationJsonDeserializer.create(), ESSConfigurationJsonDeserializer.create(),
RacingProcedureConfigurationJsonDeserializer.create(), LeagueConfigurationJsonDeserializer.create());
}
private final RRS26ConfigurationJsonDeserializer rrs26Deserializer;
private final SWCStartConfigurationJsonDeserializer swcStartDeserializer;
private final GateStartConfigurationJsonDeserializer gateStartDeserializer;
private final ESSConfigurationJsonDeserializer essDeserializer;
private final RacingProcedureConfigurationJsonDeserializer basicDeserializer;
private final LeagueConfigurationJsonDeserializer leagueDeserializer;
public RegattaConfigurationJsonDeserializer(RRS26ConfigurationJsonDeserializer rrs26,
public RegattaConfigurationJsonDeserializer(RRS26ConfigurationJsonDeserializer rrs26, SWCStartConfigurationJsonDeserializer swcStart,
GateStartConfigurationJsonDeserializer gateStart, ESSConfigurationJsonDeserializer ess,
RacingProcedureConfigurationJsonDeserializer basicDeserializer, LeagueConfigurationJsonDeserializer leagueDeserializer) {
this.rrs26Deserializer = rrs26;
this.swcStartDeserializer = swcStart;
this.gateStartDeserializer = gateStart;
this.essDeserializer = ess;
this.basicDeserializer = basicDeserializer;
@@ -60,7 +63,13 @@ public class RegattaConfigurationJsonDeserializer implements JsonDeserializer<Re
Helpers.getNestedObjectSafe(object, RegattaConfigurationJsonSerializer.FIELD_RRS26));
configuration.setRRS26Configuration(rrs26Configuration);
}
if (object.containsKey(RegattaConfigurationJsonSerializer.FIELD_SWC_START)) {
SWCStartConfiguration swcStartConfiguration = swcStartDeserializer.deserialize(
Helpers.getNestedObjectSafe(object, RegattaConfigurationJsonSerializer.FIELD_SWC_START));
configuration.setSWCStartConfiguration(swcStartConfiguration);
}
if (object.containsKey(RegattaConfigurationJsonSerializer.FIELD_GATE_START)) {
GateStartConfiguration gateStartConfiguration =
gateStartDeserializer.deserialize(
@@ -0,0 +1,53 @@
package com.sap.sailing.server.gateway.deserialization.impl;
import java.util.ArrayList;
import java.util.List;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration;
import com.sap.sailing.domain.base.configuration.impl.SWCStartConfigurationImpl;
import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguration;
import com.sap.sailing.domain.common.racelog.Flags;
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
import com.sap.sailing.server.gateway.serialization.impl.SWCStartConfigurationJsonSerializer;
public class SWCStartConfigurationJsonDeserializer extends RacingProcedureConfigurationJsonDeserializer implements
JsonDeserializer<RacingProcedureConfiguration> {
public static SWCStartConfigurationJsonDeserializer create() {
return new SWCStartConfigurationJsonDeserializer();
}
public SWCStartConfigurationJsonDeserializer() {
super();
}
@Override
public SWCStartConfiguration deserialize(JSONObject object) throws JsonDeserializationException {
return (SWCStartConfiguration) super.deserialize(object);
}
@Override
protected RacingProcedureConfiguration createResult(JSONObject object, Boolean inidividualRecall, Boolean resultEntryEnabled, Flags classFlag)
throws JsonDeserializationException {
List<Flags> startModeFlags = null;
if (object.containsKey(SWCStartConfigurationJsonSerializer.FIELD_START_MODE_FLAGS)) {
startModeFlags = new ArrayList<Flags>();
JSONArray objects = Helpers.getNestedArraySafe(object,
SWCStartConfigurationJsonSerializer.FIELD_START_MODE_FLAGS);
for (Object value : objects) {
startModeFlags.add(Flags.valueOf(value.toString()));
}
}
SWCStartConfigurationImpl result = new SWCStartConfigurationImpl();
result.setClassFlag(classFlag);
result.setHasIndividualRecall(inidividualRecall);
result.setResultEntryEnabled(resultEntryEnabled);
result.setStartModeFlags(startModeFlags);
return result;
}
}
@@ -9,7 +9,7 @@ import com.sap.sailing.server.gateway.serialization.JsonSerializer;
public class RegattaConfigurationJsonSerializer implements JsonSerializer<RegattaConfiguration> {
public static RegattaConfigurationJsonSerializer create() {
return new RegattaConfigurationJsonSerializer(RRS26ConfigurationJsonSerializer.create(),
return new RegattaConfigurationJsonSerializer(RRS26ConfigurationJsonSerializer.create(), SWCStartConfigurationJsonSerializer.create(),
GateStartConfigurationJsonSerializer.create(), ESSConfigurationJsonSerializer.create(),
RacingProcedureConfigurationJsonSerializer.create(), LeagueConfigurationJsonSerializer.create());
}
@@ -17,21 +17,24 @@ public class RegattaConfigurationJsonSerializer implements JsonSerializer<Regatt
public static final Object FIELD_DEFAULT_RACING_PROCEDURE_TYPE = "defaultRacingProcedureType";
public static final Object FIELD_DEFAULT_COURSE_DESIGNER_MODE = "defaultCourseDesignerMode";
public static final String FIELD_RRS26 = "rrs26";
public static final String FIELD_SWC_START = "swcStart";
public static final String FIELD_GATE_START = "gateStart";
public static final String FIELD_ESS = "ess";
public static final String FIELD_LEAGUE = "league";
public static final String FIELD_BASIC = "basic";
private final JsonSerializer<RacingProcedureConfiguration> rrs26Serializer;
private final JsonSerializer<RacingProcedureConfiguration> swcStartSerializer;
private final JsonSerializer<RacingProcedureConfiguration> gateStartSerializer;
private final JsonSerializer<RacingProcedureConfiguration> essSerializer;
private final JsonSerializer<RacingProcedureConfiguration> basicSerializer;
private final JsonSerializer<RacingProcedureConfiguration> leagueSerializer;
public RegattaConfigurationJsonSerializer(JsonSerializer<RacingProcedureConfiguration> rrs26,
public RegattaConfigurationJsonSerializer(JsonSerializer<RacingProcedureConfiguration> rrs26, JsonSerializer<RacingProcedureConfiguration> swcStart,
JsonSerializer<RacingProcedureConfiguration> gateStart, JsonSerializer<RacingProcedureConfiguration> ess,
JsonSerializer<RacingProcedureConfiguration> basicSerializer, JsonSerializer<RacingProcedureConfiguration> leagueSerializer) {
this.rrs26Serializer = rrs26;
this.swcStartSerializer = swcStart;
this.gateStartSerializer = gateStart;
this.essSerializer = ess;
this.basicSerializer = basicSerializer;
@@ -51,6 +54,10 @@ public class RegattaConfigurationJsonSerializer implements JsonSerializer<Regatt
result.put(FIELD_RRS26, rrs26Serializer.serialize(object.getRRS26Configuration()));
}
if (object.getSWCStartConfiguration() != null) {
result.put(FIELD_SWC_START, swcStartSerializer.serialize(object.getSWCStartConfiguration()));
}
if (object.getGateStartConfiguration() != null) {
result.put(FIELD_GATE_START, gateStartSerializer.serialize(object.getGateStartConfiguration()));
}
@@ -0,0 +1,40 @@
package com.sap.sailing.server.gateway.serialization.impl;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguration;
import com.sap.sailing.domain.common.racelog.Flags;
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
public class SWCStartConfigurationJsonSerializer extends RacingProcedureConfigurationJsonSerializer implements
JsonSerializer<RacingProcedureConfiguration> {
public static SWCStartConfigurationJsonSerializer create() {
return new SWCStartConfigurationJsonSerializer();
}
public static final String FIELD_START_MODE_FLAGS = "startModeFlags";
public SWCStartConfigurationJsonSerializer() {
super();
}
@Override
public JSONObject serialize(RacingProcedureConfiguration baseObject) {
JSONObject result = super.serialize(baseObject);
SWCStartConfiguration object = (SWCStartConfiguration) baseObject;
if (object.getStartModeFlags() != null) {
JSONArray startModeFlags = new JSONArray();
for (Flags item : object.getStartModeFlags()) {
startModeFlags.add(item);
}
result.put(FIELD_START_MODE_FLAGS, startModeFlags);
}
return result;
}
}
@@ -13,12 +13,12 @@ import com.sap.sailing.domain.base.configuration.impl.LeagueConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RRS26ConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RacingProcedureConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RegattaConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.SWCConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.SWCStartConfigurationImpl;
import com.sap.sailing.domain.base.configuration.procedures.ESSConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.GateStartConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.LeagueConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.RRS26Configuration;
import com.sap.sailing.domain.base.configuration.procedures.SWCConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguration;
import com.sap.sailing.domain.common.racelog.RacingProcedureType;
import com.sap.sailing.racecommittee.app.AppPreferences;
@@ -56,12 +56,12 @@ public class PreferencesRegattaConfigurationLoader implements ConfigurationLoade
rrs26.setStartModeFlags(new ArrayList<>(preferences.getRRS26StartmodeFlags()));
configuration.setRRS26Configuration(rrs26);
SWCConfigurationImpl swcStart = new SWCConfigurationImpl();
SWCStartConfigurationImpl swcStart = new SWCStartConfigurationImpl();
swcStart.setClassFlag(preferences.getRacingProcedureClassFlag(RacingProcedureType.SWC));
swcStart.setHasIndividualRecall(preferences.getRacingProcedureHasIndividualRecall(RacingProcedureType.SWC));
swcStart.setResultEntryEnabled(preferences.getRacingProcedureIsResultEntryEnabled(RacingProcedureType.SWC));
swcStart.setStartModeFlags(new ArrayList<>(preferences.getSWCStartmodeFlags()));
configuration.setSWCConfiguration(swcStart);
configuration.setSWCStartConfiguration(swcStart);
GateStartConfigurationImpl gateStart = new GateStartConfigurationImpl();
gateStart.setClassFlag(preferences.getRacingProcedureClassFlag(RacingProcedureType.GateStart));
@@ -111,8 +111,8 @@ public class PreferencesRegattaConfigurationLoader implements ConfigurationLoade
preferences.setRRS26StartmodeFlags(new HashSet<>(config.getStartModeFlags()));
}
}
if (configuration.getSWCConfiguration() != null) {
SWCConfiguration config = configuration.getSWCConfiguration();
if (configuration.getSWCStartConfiguration() != null) {
SWCStartConfiguration config = configuration.getSWCStartConfiguration();
storeRacingProcedureConfiguration(RacingProcedureType.SWC, config);
if (config.getStartModeFlags() != null) {
preferences.setSWCStartmodeFlags(new HashSet<>(config.getStartModeFlags()));