mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-24 14:38:45 +00:00
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:
+1
-1
@@ -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:
|
||||
|
||||
+2
-2
@@ -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();
|
||||
}
|
||||
|
||||
+4
-4
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -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.
|
||||
|
||||
+1
-1
@@ -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());
|
||||
|
||||
+10
-10
@@ -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(
|
||||
|
||||
-20
@@ -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;
|
||||
}
|
||||
}
|
||||
+24
@@ -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();
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -6,5 +6,5 @@ package com.sap.sailing.domain.base.configuration.procedures;
|
||||
* @author Frank
|
||||
*
|
||||
*/
|
||||
public interface SWCConfiguration extends ConfigurableStartModeFlagRacingProcedureConfiguration {
|
||||
public interface SWCStartConfiguration extends ConfigurableStartModeFlagRacingProcedureConfiguration {
|
||||
}
|
||||
+6
-6
@@ -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();
|
||||
|
||||
+12
-3
@@ -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(
|
||||
|
||||
+53
@@ -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
-2
@@ -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()));
|
||||
}
|
||||
|
||||
+40
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
+6
-6
@@ -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()));
|
||||
|
||||
Reference in New Issue
Block a user