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
+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;
|
||||
|
||||
Reference in new issue
Block a user