bug5867: removed course areas from LeaderboardBase again; Event still has getLeaderboards()

This commit is contained in:
Axel Uhl
2023-07-28 16:40:15 +02:00
parent 89fb5f184c
commit 365415b635
8 changed files with 18 additions and 46 deletions
@@ -8,7 +8,6 @@ import java.util.List;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import com.sap.sailing.domain.base.CourseArea;
import com.sap.sailing.domain.base.EventBase;
import com.sap.sailing.domain.base.LeaderboardGroupBase;
import com.sap.sailing.domain.base.LeaderboardSearchResultBase;
@@ -23,14 +22,11 @@ public class LeaderboardSearchResultBaseJsonDeserializer implements JsonDeserial
private final LeaderboardGroupBaseJsonDeserializer leaderboardGroupDeserializer;
private final CourseAreaJsonDeserializer courseAreaJsonDeserializer;
public LeaderboardSearchResultBaseJsonDeserializer(EventBaseJsonDeserializer eventDeserializer,
LeaderboardGroupBaseJsonDeserializer leaderboardGroupDeserializer, CourseAreaJsonDeserializer courseAreaDeserializer) {
LeaderboardGroupBaseJsonDeserializer leaderboardGroupDeserializer) {
super();
this.eventDeserializer = eventDeserializer;
this.leaderboardGroupDeserializer = leaderboardGroupDeserializer;
this.courseAreaJsonDeserializer = courseAreaDeserializer;
}
@Override
@@ -54,11 +50,6 @@ public class LeaderboardSearchResultBaseJsonDeserializer implements JsonDeserial
final JSONObject leaderboardJson = Helpers.getNestedObjectSafe(object, LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD);
final String leaderboardName = (String) leaderboardJson.get(LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD_NAME);
final String leaderboardDisplayName = (String) leaderboardJson.get(LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD_DISPLAY_NAME);
final JSONArray courseAreasJson = (JSONArray) leaderboardJson.get(LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD_COURSE_AREAS);
final List<CourseArea> courseAreas = new ArrayList<>();
for (final Object courseAreaJson : courseAreasJson) {
courseAreas.add(courseAreaJsonDeserializer.deserialize((JSONObject) courseAreaJson));
}
final String boatClassName = (String) leaderboardJson.get(LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD_BOAT_CLASS_NAME);
final String regattaName = (String) leaderboardJson.get(LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD_REGATTA_NAME);
final JSONArray leaderboardGroupsJson = Helpers.getNestedArraySafe(leaderboardJson, LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD_IN_LEADERBOARD_GROUPS);
@@ -66,7 +57,7 @@ public class LeaderboardSearchResultBaseJsonDeserializer implements JsonDeserial
for (final Object leaderboardGroupJson : leaderboardGroupsJson) {
leaderboardGroups.add(leaderboardGroupDeserializer.deserialize((JSONObject) leaderboardGroupJson));
}
return new LeaderboardSearchResultBaseImpl(new LeaderboardBaseImpl(leaderboardName, leaderboardDisplayName, courseAreas),
return new LeaderboardSearchResultBaseImpl(new LeaderboardBaseImpl(leaderboardName, leaderboardDisplayName),
regattaName, boatClassName, leaderboardGroups, events);
}
@@ -3,7 +3,6 @@ package com.sap.sailing.server.gateway.serialization.impl;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import com.sap.sailing.domain.base.CourseArea;
import com.sap.sailing.domain.base.Event;
import com.sap.sailing.domain.base.EventBase;
import com.sap.sailing.domain.base.LeaderboardGroupBase;
@@ -21,20 +20,16 @@ public class LeaderboardSearchResultJsonSerializer implements JsonSerializer<Lea
public static final String FIELD_LEADERBOARD_NAME = "name";
public static final String FIELD_LEADERBOARD_DISPLAY_NAME = "displayName";
public static final String FIELD_LEADERBOARD_BOAT_CLASS_NAME = "boatClassName";
public static final String FIELD_LEADERBOARD_COURSE_AREAS = "courseAreas";
public static final String FIELD_LEADERBOARD_REGATTA_NAME = "regattaName";
public static final String FIELD_LEADERBOARD_IN_LEADERBOARD_GROUPS = "inLeaderboardGroups";
private final JsonSerializer<EventBase> eventBaseJsonSerializer;
private final JsonSerializer<LeaderboardGroupBase> leaderboardGroupBaseJsonSerializer;
private final JsonSerializer<CourseArea> courseAreaJsonSerializer;
public LeaderboardSearchResultJsonSerializer(JsonSerializer<EventBase> eventBaseJsonSerializer,
JsonSerializer<LeaderboardGroupBase> leaderboardGroupBaseJsonSerializer,
JsonSerializer<CourseArea> courseAreaJsonSerializer) {
JsonSerializer<LeaderboardGroupBase> leaderboardGroupBaseJsonSerializer) {
this.eventBaseJsonSerializer = eventBaseJsonSerializer;
this.leaderboardGroupBaseJsonSerializer = leaderboardGroupBaseJsonSerializer;
this.courseAreaJsonSerializer = courseAreaJsonSerializer;
}
@Override
@@ -61,12 +56,6 @@ public class LeaderboardSearchResultJsonSerializer implements JsonSerializer<Lea
}
leaderboardJson.put(FIELD_LEADERBOARD_BOAT_CLASS_NAME, boatClassName);
leaderboardJson.put(FIELD_LEADERBOARD_REGATTA_NAME, regatta == null ? null : regatta.getName());
final JSONArray courseAreasJson = new JSONArray();
leaderboardJson.put(FIELD_LEADERBOARD_COURSE_AREAS, courseAreasJson);
for (final CourseArea courseArea : leaderboard.getCourseAreas()) {
final JSONObject courseAreaJson = courseAreaJsonSerializer.serialize(courseArea);
courseAreasJson.add(courseAreaJson);
}
JSONArray leaderboardGroupsJson = new JSONArray();
leaderboardJson.put(FIELD_LEADERBOARD_IN_LEADERBOARD_GROUPS, leaderboardGroupsJson);
for (LeaderboardGroup lg : leaderboardSearchResult.getLeaderboardGroups()) {