# added serialization of racelogs in RaceGroupJsonExportServlet

This commit is contained in:
Lukas Niemeier committed 2013-03-03 18:57:26 +01:00
1 parent d3d8134398
commit ef6a8d1700
2 files changed
+55 -19

No files matched your search

@@ -8,8 +8,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.CourseArea;
import com.sap.sailing.domain.base.racegroup.RaceGroup;
import com.sap.sailing.domain.leaderboard.Leaderboard;
@@ -18,6 +18,7 @@ import com.sap.sailing.server.gateway.AbstractJsonHttpServlet;
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.BoatClassJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.ColorJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.CompetitorIdJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.CourseAreaJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racegroup.FleetJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racegroup.RaceCellJsonSerializer;
@@ -26,6 +27,13 @@ import com.sap.sailing.server.gateway.serialization.impl.racegroup.RaceRowJsonSe
import com.sap.sailing.server.gateway.serialization.impl.racegroup.RaceRowsOfSeriesWithRowsSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racegroup.SeriesWithRowsJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racegroup.SeriesWithRowsOfRaceGroupSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racelog.RaceLogCourseAreaChangedEventSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racelog.RaceLogEventSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racelog.RaceLogEventSerializerChooser;
import com.sap.sailing.server.gateway.serialization.impl.racelog.RaceLogFlagEventSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racelog.RaceLogRaceStatusEventSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racelog.RaceLogSerializer;
import com.sap.sailing.server.gateway.serialization.impl.racelog.RaceLogStartTimeEventSerializer;
public class RaceGroupJsonExportServlet extends AbstractJsonHttpServlet {
private static final long serialVersionUID = 4510175441769759252L;
@@ -75,28 +83,20 @@ public class RaceGroupJsonExportServlet extends AbstractJsonHttpServlet {
}
private static JsonSerializer<RaceGroup> createSerializer() {
return new RaceGroupJsonSerializer(
new BoatClassJsonSerializer(),
new CourseAreaJsonSerializer(),
new SeriesWithRowsOfRaceGroupSerializer(
new SeriesWithRowsJsonSerializer(
new RaceRowsOfSeriesWithRowsSerializer(
new RaceRowJsonSerializer(
new FleetJsonSerializer(
new ColorJsonSerializer()),
new RaceCellJsonSerializer(
createRaceLogSerializer()))))));
return new RaceGroupJsonSerializer(new BoatClassJsonSerializer(), new CourseAreaJsonSerializer(),
new SeriesWithRowsOfRaceGroupSerializer(new SeriesWithRowsJsonSerializer(
new RaceRowsOfSeriesWithRowsSerializer(new RaceRowJsonSerializer(new FleetJsonSerializer(
new ColorJsonSerializer()), new RaceCellJsonSerializer(createRaceLogSerializer()))))));
}
// / TODO: replace with real racelog serializer
private static JsonSerializer<RaceLog> createRaceLogSerializer() {
return new JsonSerializer<RaceLog>() {
@Override
public JSONObject serialize(RaceLog object) {
return new JSONObject();
}
};
JsonSerializer<Competitor> competitorSerializer = new CompetitorIdJsonSerializer();
return new RaceLogSerializer(new RaceLogEventSerializer(new RaceLogEventSerializerChooser(
new RaceLogFlagEventSerializer(competitorSerializer),
new RaceLogStartTimeEventSerializer(competitorSerializer),
new RaceLogRaceStatusEventSerializer(competitorSerializer),
new RaceLogCourseAreaChangedEventSerializer(competitorSerializer))));
}
}