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
+9
@@ -0,0 +1,9 @@
|
||||
package com.sap.sailing.domain.racecommittee;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public interface RaceCommitteeCourseAreaChangedEvent extends RaceCommitteeEvent {
|
||||
|
||||
Serializable getCourseAreaId();
|
||||
|
||||
}
|
||||
+3
@@ -15,5 +15,8 @@ public interface RaceCommitteeEventFactory {
|
||||
|
||||
RaceCommitteeStartTimeEvent createStartTimeEvent(TimePoint timePoint, Serializable id, List<Competitor> involvedBoats, int passId, TimePoint startTime);
|
||||
RaceCommitteeStartTimeEvent createStartTimeEvent(TimePoint timePoint, int passId, TimePoint startTime);
|
||||
|
||||
RaceCommitteeCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint timePoint, Serializable id, List<Competitor> involvedBoats, int passId, Serializable courseAreaId);
|
||||
RaceCommitteeCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint timePoint, int passId, Serializable courseAreaId);
|
||||
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.sap.sailing.domain.racecommittee.impl;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeCourseAreaChangedEvent;
|
||||
|
||||
public class RaceCommitteeCourseAreaChangeEventImpl extends RaceCommitteeEventImpl implements
|
||||
RaceCommitteeCourseAreaChangedEvent {
|
||||
private static final long serialVersionUID = -3943108136024977860L;
|
||||
|
||||
private Serializable courseAreaId;
|
||||
|
||||
public RaceCommitteeCourseAreaChangeEventImpl(TimePoint pTimePoint,
|
||||
Serializable pId, List<Competitor> pInvolvedBoats, int pPassId, Serializable courseAreaId) {
|
||||
super(pTimePoint, pId, pInvolvedBoats, pPassId);
|
||||
this.courseAreaId = courseAreaId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Serializable getCourseAreaId() {
|
||||
return courseAreaId;
|
||||
}
|
||||
|
||||
}
|
||||
+15
@@ -8,6 +8,7 @@ import java.util.UUID;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.racecommittee.Flags;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeCourseAreaChangedEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeEventFactory;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeFlagEvent;
|
||||
import com.sap.sailing.domain.racecommittee.RaceCommitteeStartTimeEvent;
|
||||
@@ -40,4 +41,18 @@ public class RaceCommitteeEventFactoryImpl implements RaceCommitteeEventFactory
|
||||
return createStartTimeEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, startTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RaceCommitteeCourseAreaChangedEvent createCourseAreaChangedEvent(
|
||||
TimePoint timePoint, Serializable id,
|
||||
List<Competitor> involvedBoats, int passId,
|
||||
Serializable courseAreaId) {
|
||||
return new RaceCommitteeCourseAreaChangeEventImpl(timePoint, id, involvedBoats, passId, courseAreaId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RaceCommitteeCourseAreaChangedEvent createCourseAreaChangedEvent(
|
||||
TimePoint timePoint, int passId, Serializable courseAreaId) {
|
||||
return createCourseAreaChangedEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, courseAreaId);
|
||||
}
|
||||
|
||||
}
|
||||
+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(
|
||||
|
||||
+3
-1
@@ -15,6 +15,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.RaceCommitteeCourseAreaChangedEventSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeEventSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeFlagEventSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeStartTimeEventSerializer;
|
||||
@@ -34,7 +35,8 @@ public class EventTrackJsonExportServlet extends JsonExportServlet {
|
||||
|
||||
rcEventSerializer = new RaceCommitteeEventSerializer(
|
||||
new RaceCommitteeFlagEventSerializer(),
|
||||
new RaceCommitteeStartTimeEventSerializer());
|
||||
new RaceCommitteeStartTimeEventSerializer(),
|
||||
new RaceCommitteeCourseAreaChangedEventSerializer());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user