mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-14 06:18:12 +00:00
completed persistence/serialization of RaceLogORCUseImpliedWindFromOtherRaceEvent
Change-Id: I1d360cea88637e572a5a4ea8d0f76efe7ce57846
This commit is contained in:
1 parent
b124e36ceb
commit
0d10fe75fe
4 files changed
+61
-9
No files matched your search
+6
-2
@@ -92,7 +92,8 @@ public class RaceLogEventDeserializer implements JsonDeserializer<RaceLogEvent>
|
||||
new RaceLogTagEventDeserializer(competitorDeserializer),
|
||||
new RaceLogORCLegDataEventDeserializer(competitorDeserializer),
|
||||
new RaceLogORCScratchBoatEventDeserializer(competitorDeserializer),
|
||||
new RaceLogORCCertificateAssignmentEventDeserializer(competitorDeserializer));
|
||||
new RaceLogORCCertificateAssignmentEventDeserializer(competitorDeserializer),
|
||||
new RaceLogORCUseImpliedWindFromOtherRaceEventDeserializer(competitorDeserializer));
|
||||
}
|
||||
|
||||
protected final JsonDeserializer<RaceLogEvent> flagEventDeserializer;
|
||||
@@ -122,6 +123,7 @@ public class RaceLogEventDeserializer implements JsonDeserializer<RaceLogEvent>
|
||||
protected final JsonDeserializer<RaceLogEvent> orcLegDataEventDeserializer;
|
||||
protected final JsonDeserializer<RaceLogEvent> orcScratchBoatEventDeserializer;
|
||||
protected final JsonDeserializer<RaceLogEvent> orcCertificateAssignmentEventDeserializer;
|
||||
protected final JsonDeserializer<RaceLogEvent> orcUseImpliedWindFromOtherRaceEventDeserializer;
|
||||
|
||||
public RaceLogEventDeserializer(JsonDeserializer<RaceLogEvent> flagEventDeserializer,
|
||||
JsonDeserializer<RaceLogEvent> startTimeEventDeserializer,
|
||||
@@ -149,7 +151,8 @@ public class RaceLogEventDeserializer implements JsonDeserializer<RaceLogEvent>
|
||||
JsonDeserializer<RaceLogEvent> tagEventDeserializer,
|
||||
JsonDeserializer<RaceLogEvent> orcLegDataEventDeserializer,
|
||||
JsonDeserializer<RaceLogEvent> orcScratchBoatEventDeserializer,
|
||||
JsonDeserializer<RaceLogEvent> orcCertificateAssignmentEventDeserializer) {
|
||||
JsonDeserializer<RaceLogEvent> orcCertificateAssignmentEventDeserializer,
|
||||
JsonDeserializer<RaceLogEvent> orcUseImpliedWindFromOtherRaceEventDeserializer) {
|
||||
this.flagEventDeserializer = flagEventDeserializer;
|
||||
this.startTimeEventDeserializer = startTimeEventDeserializer;
|
||||
this.dependentStartTimeEventDeserializer = dependentStartTimeEventDeserializer;
|
||||
@@ -177,6 +180,7 @@ public class RaceLogEventDeserializer implements JsonDeserializer<RaceLogEvent>
|
||||
this.orcLegDataEventDeserializer = orcLegDataEventDeserializer;
|
||||
this.orcScratchBoatEventDeserializer = orcScratchBoatEventDeserializer;
|
||||
this.orcCertificateAssignmentEventDeserializer = orcCertificateAssignmentEventDeserializer;
|
||||
this.orcUseImpliedWindFromOtherRaceEventDeserializer = orcUseImpliedWindFromOtherRaceEventDeserializer;
|
||||
}
|
||||
|
||||
protected JsonDeserializer<RaceLogEvent> getDeserializer(JSONObject object) throws JsonDeserializationException {
|
||||
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package com.sap.sailing.server.gateway.deserialization.racelog.impl;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.orc.impl.RaceLogORCUseImpliedWindFromOtherRaceEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.SimpleRaceLogIdentifierImpl;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.impl.DynamicCompetitor;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
|
||||
import com.sap.sailing.server.gateway.serialization.racelog.impl.RaceLogORCUseImpliedWindFromOtherRaceEventSerializer;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
/**
|
||||
* Deserializer for {@link com.sap.sailing.domain.abstractlog.orc.RaceLogORCLegDataEvent ORCLegDataEvent}.
|
||||
*
|
||||
* @author Axel Uhl (d043530)
|
||||
*/
|
||||
public class RaceLogORCUseImpliedWindFromOtherRaceEventDeserializer extends BaseRaceLogEventDeserializer {
|
||||
|
||||
public RaceLogORCUseImpliedWindFromOtherRaceEventDeserializer(JsonDeserializer<DynamicCompetitor> competitorDeserializer) {
|
||||
super(competitorDeserializer);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt,
|
||||
AbstractLogEventAuthor author, TimePoint timePoint, int passId, List<Competitor> competitors)
|
||||
throws JsonDeserializationException {
|
||||
final String otherRaceRegattaLikeName = object.get(RaceLogORCUseImpliedWindFromOtherRaceEventSerializer.ORC_OTHER_RACE_REGATTA_LIKE_NAME).toString();
|
||||
final String otherRaceRaceColumnName = object.get(RaceLogORCUseImpliedWindFromOtherRaceEventSerializer.ORC_OTHER_RACE_RACE_COLUMN_NAME).toString();
|
||||
final String otherRaceFleetName = object.get(RaceLogORCUseImpliedWindFromOtherRaceEventSerializer.ORC_OTHER_RACE_FLEET_NAME).toString();
|
||||
final SimpleRaceLogIdentifier otherRace = new SimpleRaceLogIdentifierImpl(otherRaceRegattaLikeName, otherRaceRaceColumnName, otherRaceFleetName);
|
||||
return new RaceLogORCUseImpliedWindFromOtherRaceEventImpl(createdAt, timePoint, author, id, passId, otherRace);
|
||||
}
|
||||
|
||||
}
|
||||
+10
-6
@@ -2,7 +2,7 @@ package com.sap.sailing.server.gateway.serialization.racelog.impl;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.orc.RaceLogORCScratchBoatEvent;
|
||||
import com.sap.sailing.domain.abstractlog.orc.RaceLogORCUseImpliedWindFromOtherRaceEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
@@ -14,18 +14,22 @@ import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
* @author Axel Uhl (d043530)
|
||||
*/
|
||||
public class RaceLogORCUseImpliedWindFromOtherRaceEventSerializer extends BaseRaceLogEventSerializer {
|
||||
public static final String VALUE_CLASS = RaceLogORCUseImpliedWindFromOtherRaceEvent.class.getSimpleName();
|
||||
public static final String ORC_OTHER_RACE_REGATTA_LIKE_NAME = "regatta_like";
|
||||
public static final String ORC_OTHER_RACE_RACE_COLUMN_NAME = "race_column";
|
||||
public static final String ORC_OTHER_RACE_FLEET_NAME = "fleet";
|
||||
|
||||
public static final String VALUE_CLASS = RaceLogORCScratchBoatEvent.class.getSimpleName();
|
||||
public static final String ORC_CERTIFICATE = "certificate";
|
||||
|
||||
public RaceLogORCUseImpliedWindFromOtherRaceEventSerializer(JsonSerializer<Competitor> competitorSerializer) {
|
||||
super(competitorSerializer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject serialize(RaceLogEvent object) {
|
||||
RaceLogORCScratchBoatEvent scratchBoatEvent = (RaceLogORCScratchBoatEvent) object;
|
||||
JSONObject result = super.serialize(scratchBoatEvent);
|
||||
final RaceLogORCUseImpliedWindFromOtherRaceEvent useImpliedWindFromOtherRaceEvent = (RaceLogORCUseImpliedWindFromOtherRaceEvent) object;
|
||||
final JSONObject result = super.serialize(useImpliedWindFromOtherRaceEvent);
|
||||
result.put(ORC_OTHER_RACE_REGATTA_LIKE_NAME, useImpliedWindFromOtherRaceEvent.getOtherRace().getRegattaLikeParentName());
|
||||
result.put(ORC_OTHER_RACE_RACE_COLUMN_NAME, useImpliedWindFromOtherRaceEvent.getOtherRace().getRaceColumnName());
|
||||
result.put(ORC_OTHER_RACE_FLEET_NAME, useImpliedWindFromOtherRaceEvent.getOtherRace().getFleetName());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -38,6 +38,7 @@ import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogEventD
|
||||
import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogFlagEventDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogORCCertificateAssignmentEventDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogORCLegDataEventDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogORCUseImpliedWindFromOtherRaceEventDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogTagEventDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogUseCompetitorsFromRaceLogEventDeserializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.CompetitorJsonSerializer;
|
||||
@@ -61,7 +62,8 @@ public class RaceLogEventDeserializerTest {
|
||||
mockitoRaceLogUseCompetitorsFromRaceLogEventDeserializer,
|
||||
mockitoRaceLogEndOfTrackingEventDeserializer, mockitoRaceLogTagEventDeserializer,
|
||||
new RaceLogORCLegDataEventDeserializer(competitorDeserializer),
|
||||
null, new RaceLogORCCertificateAssignmentEventDeserializer(competitorDeserializer));
|
||||
null, new RaceLogORCCertificateAssignmentEventDeserializer(competitorDeserializer),
|
||||
new RaceLogORCUseImpliedWindFromOtherRaceEventDeserializer(competitorDeserializer));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user