mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 14:20:55 +00:00
# added CourseAreaChangedEvent and serializers
This commit is contained in:
1 parent
7824b6fa91
commit
e45040db9b
8 files changed
+126
-2
No files matched your search
+35
@@ -0,0 +1,35 @@
|
||||
package com.sap.sailing.server.gateway.deserialization.impl;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEvent;
|
||||
import com.sap.sailing.domain.racecommittee.impl.RaceCommitteeCourseAreaChangeEventImpl;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeCourseAreaChangedEventSerializer;
|
||||
|
||||
public class RaceCommitteeCourseAreaChangedEventDeserializer extends
|
||||
BaseRaceCommitteeEventDeserializer {
|
||||
|
||||
@Override
|
||||
protected RaceCommitteeEvent deserialize(JSONObject object, UUID id,
|
||||
TimePoint timePoint, int passId) throws JsonDeserializationException {
|
||||
|
||||
String courseAreaId = object.get(RaceCommitteeCourseAreaChangedEventSerializer.FIELD_COURSE_AREA_ID).toString();
|
||||
UUID courseAreaUuid = null;
|
||||
try {
|
||||
courseAreaUuid = UUID.fromString(courseAreaId);
|
||||
} catch (IllegalArgumentException iae) {
|
||||
throw new JsonDeserializationException(
|
||||
String.format("Field %s with %s couldn't be parsed as UUID.", RaceCommitteeCourseAreaChangedEventSerializer.FIELD_COURSE_AREA_ID, id),
|
||||
iae);
|
||||
}
|
||||
|
||||
return new RaceCommitteeCourseAreaChangeEventImpl(timePoint, id, Collections.<Competitor>emptyList(), passId, courseAreaUuid);
|
||||
}
|
||||
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeCourseAreaChangedEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEvent;
|
||||
|
||||
public class RaceCommitteeCourseAreaChangedEventSerializer extends BaseRaceCommitteeEventSerializer {
|
||||
public static final String VALUE_CLASS = RaceCommitteeCourseAreaChangedEvent.class.getSimpleName();
|
||||
public static final String FIELD_COURSE_AREA_ID = "courseAreaId";
|
||||
|
||||
@Override
|
||||
protected String getClassFieldValue() {
|
||||
return VALUE_CLASS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject serialize(RaceCommitteeEvent object) {
|
||||
RaceCommitteeCourseAreaChangedEvent caChangedEvent = (RaceCommitteeCourseAreaChangedEvent) object;
|
||||
|
||||
JSONObject result = super.serialize(caChangedEvent);
|
||||
result.put(FIELD_COURSE_AREA_ID, caChangedEvent.getCourseAreaId());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
+7
-1
@@ -2,6 +2,7 @@ package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeCourseAreaChangedEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeFlagEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeStartTimeEvent;
|
||||
@@ -11,12 +12,15 @@ public class RaceCommitteeEventSerializer implements JsonSerializer<RaceCommitte
|
||||
|
||||
private final JsonSerializer<RaceCommitteeEvent> flagEventSerializer;
|
||||
private final JsonSerializer<RaceCommitteeEvent> startTimeSerializer;
|
||||
private final JsonSerializer<RaceCommitteeEvent> courseAreaChangedSerializer;
|
||||
|
||||
public RaceCommitteeEventSerializer(
|
||||
JsonSerializer<RaceCommitteeEvent> flagEventSerializer,
|
||||
JsonSerializer<RaceCommitteeEvent> startTimeSerializer) {
|
||||
JsonSerializer<RaceCommitteeEvent> startTimeSerializer,
|
||||
JsonSerializer<RaceCommitteeEvent> courseAreaChangedSerializer) {
|
||||
this.flagEventSerializer = flagEventSerializer;
|
||||
this.startTimeSerializer = startTimeSerializer;
|
||||
this.courseAreaChangedSerializer = courseAreaChangedSerializer;
|
||||
}
|
||||
|
||||
protected JsonSerializer<RaceCommitteeEvent> getSerializer(
|
||||
@@ -25,6 +29,8 @@ public class RaceCommitteeEventSerializer implements JsonSerializer<RaceCommitte
|
||||
return flagEventSerializer;
|
||||
} else if (event instanceof RaceCommitteeStartTimeEvent) {
|
||||
return startTimeSerializer;
|
||||
} else if (event instanceof RaceCommitteeCourseAreaChangedEvent) {
|
||||
return courseAreaChangedSerializer;
|
||||
}
|
||||
|
||||
throw new UnsupportedOperationException(String.format(
|
||||
|
||||
Reference in new issue
Block a user