mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 14:20:55 +00:00
# events serializing ids of competitors (field involvedBoats)
This commit is contained in:
1 parent
e45040db9b
commit
061e695815
9 files changed
+73
-6
No files matched your search
+5
@@ -16,6 +16,11 @@ public class RaceCommitteeEventTest extends BaseRaceCommitteEventTest<RaceCommit
|
||||
protected final String expectedClassValue = "AllYourBaseAreBelongToUs";
|
||||
|
||||
private class TestRaceCommitteeEventSerializer extends BaseRaceCommitteeEventSerializer {
|
||||
@SuppressWarnings("unchecked")
|
||||
public TestRaceCommitteeEventSerializer() {
|
||||
super(mock(JsonSerializer.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getClassFieldValue() {
|
||||
return expectedClassValue;
|
||||
|
||||
+2
-1
@@ -32,9 +32,10 @@ public class RaceCommitteeFlagEventSerializerTest extends BaseRaceCommitteEventT
|
||||
return event;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected JsonSerializer<RaceCommitteeEvent> createSerializer() {
|
||||
return new RaceCommitteeFlagEventSerializer();
|
||||
return new RaceCommitteeFlagEventSerializer(mock(JsonSerializer.class));
|
||||
}
|
||||
|
||||
@Before
|
||||
|
||||
+2
-1
@@ -29,9 +29,10 @@ public class RaceCommitteeStartTimeEventSerializerTest extends BaseRaceCommitteE
|
||||
return event;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected JsonSerializer<RaceCommitteeEvent> createSerializer() {
|
||||
return new RaceCommitteeStartTimeEventSerializer();
|
||||
return new RaceCommitteeStartTimeEventSerializer(mock(JsonSerializer.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+16
-1
@@ -1,19 +1,27 @@
|
||||
package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEvent;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
|
||||
/// TODO serialize involved boats
|
||||
public abstract class BaseRaceCommitteeEventSerializer implements JsonSerializer<RaceCommitteeEvent> {
|
||||
public static final String FIELD_CLASS = "@class";
|
||||
public static final String FIELD_ID = "id";
|
||||
public static final String FIELD_TIMESTAMP = "timestamp";
|
||||
public static final String FIELD_PASS_ID = "passId";
|
||||
public static final String FIELD_COMPETITORS = "competitors";
|
||||
|
||||
protected abstract String getClassFieldValue();
|
||||
|
||||
protected JsonSerializer<Competitor> competitorSerializer;
|
||||
|
||||
public BaseRaceCommitteeEventSerializer(JsonSerializer<Competitor> competitorSerializer) {
|
||||
this.competitorSerializer = competitorSerializer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject serialize(RaceCommitteeEvent object) {
|
||||
JSONObject result = new JSONObject();
|
||||
@@ -21,6 +29,13 @@ public abstract class BaseRaceCommitteeEventSerializer implements JsonSerializer
|
||||
result.put(FIELD_ID, object.getId().toString());
|
||||
result.put(FIELD_TIMESTAMP, object.getTimePoint().asMillis());
|
||||
result.put(FIELD_PASS_ID, object.getPassId());
|
||||
|
||||
JSONArray competitors = new JSONArray();
|
||||
for (Competitor competitor : object.getInvolvedBoats()) {
|
||||
competitors.add(competitorSerializer.serialize(competitor));
|
||||
}
|
||||
result.put(FIELD_COMPETITORS, competitors);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
|
||||
public class CompetitorIdJsonSerializer implements JsonSerializer<Competitor> {
|
||||
public static final String FIELD_ID = "id";
|
||||
|
||||
@Override
|
||||
public JSONObject serialize(Competitor object) {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put(FIELD_ID, object.getId());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
+8
@@ -2,13 +2,21 @@ package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeCourseAreaChangedEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEvent;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
|
||||
public class RaceCommitteeCourseAreaChangedEventSerializer extends BaseRaceCommitteeEventSerializer {
|
||||
|
||||
public static final String VALUE_CLASS = RaceCommitteeCourseAreaChangedEvent.class.getSimpleName();
|
||||
public static final String FIELD_COURSE_AREA_ID = "courseAreaId";
|
||||
|
||||
public RaceCommitteeCourseAreaChangedEventSerializer(
|
||||
JsonSerializer<Competitor> competitorSerializer) {
|
||||
super(competitorSerializer);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getClassFieldValue() {
|
||||
return VALUE_CLASS;
|
||||
|
||||
+8
@@ -2,15 +2,23 @@ package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeFlagEvent;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
|
||||
public class RaceCommitteeFlagEventSerializer extends BaseRaceCommitteeEventSerializer {
|
||||
|
||||
public static final String VALUE_CLASS = RaceCommitteeFlagEvent.class.getSimpleName();
|
||||
public static final String FIELD_UPPER_FLAG = "upperFlag";
|
||||
public static final String FIELD_LOWER_FLAG = "lowerFlag";
|
||||
public static final String FIELD_DISPLAYED = "displayed";
|
||||
|
||||
public RaceCommitteeFlagEventSerializer(
|
||||
JsonSerializer<Competitor> competitorSerializer) {
|
||||
super(competitorSerializer);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getClassFieldValue() {
|
||||
return VALUE_CLASS;
|
||||
|
||||
+8
@@ -2,13 +2,21 @@ package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeStartTimeEvent;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
|
||||
public class RaceCommitteeStartTimeEventSerializer extends BaseRaceCommitteeEventSerializer {
|
||||
|
||||
public static final String VALUE_CLASS = RaceCommitteeStartTimeEvent.class.getSimpleName();
|
||||
public static final String FIELD_START_TIME = "startTime";
|
||||
|
||||
public RaceCommitteeStartTimeEventSerializer(
|
||||
JsonSerializer<Competitor> competitorSerializer) {
|
||||
super(competitorSerializer);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getClassFieldValue() {
|
||||
return VALUE_CLASS;
|
||||
|
||||
+6
-3
@@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.RegattaNameAndRaceName;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEventTrack;
|
||||
@@ -15,6 +16,7 @@ import com.sap.sailing.domain.tracking.DynamicTrackedRace;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.server.gateway.impl.JsonExportServlet;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.CompetitorIdJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeCourseAreaChangedEventSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeEventSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeFlagEventSerializer;
|
||||
@@ -33,10 +35,11 @@ public class EventTrackJsonExportServlet extends JsonExportServlet {
|
||||
public void init() throws ServletException {
|
||||
super.init();
|
||||
|
||||
JsonSerializer<Competitor> competitorSerializer = new CompetitorIdJsonSerializer();
|
||||
rcEventSerializer = new RaceCommitteeEventSerializer(
|
||||
new RaceCommitteeFlagEventSerializer(),
|
||||
new RaceCommitteeStartTimeEventSerializer(),
|
||||
new RaceCommitteeCourseAreaChangedEventSerializer());
|
||||
new RaceCommitteeFlagEventSerializer(competitorSerializer),
|
||||
new RaceCommitteeStartTimeEventSerializer(competitorSerializer),
|
||||
new RaceCommitteeCourseAreaChangedEventSerializer(competitorSerializer));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user