diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardGroupJsonGetServlet.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardGroupJsonGetServlet.java index e001cbcb391..c0bbc83d77c 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardGroupJsonGetServlet.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardGroupJsonGetServlet.java @@ -19,6 +19,7 @@ import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; +import com.sap.sailing.domain.leaderboard.MetaLeaderboard; import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.tracking.TrackedRace; @@ -47,8 +48,14 @@ public class LeaderboardGroupJsonGetServlet extends AbstractJsonHttpServlet { JSONArray jsonLeaderboardEntries = new JSONArray(); jsonLeaderboardGroup.put("leaderboards", jsonLeaderboardEntries); for (Leaderboard leaderboard: leaderboardGroup.getLeaderboards()) { + boolean isMetaLeaderboard = leaderboard instanceof MetaLeaderboard ? true : false; + boolean isRegattaLeaderboard = leaderboard instanceof RegattaLeaderboard ? true : false; + JSONObject jsonLeaderboard = new JSONObject(); jsonLeaderboard.put("name", leaderboard.getName()); + jsonLeaderboard.put("displayName", leaderboard.getDisplayName()); + jsonLeaderboard.put("isMetaLeaderboard", isMetaLeaderboard); + jsonLeaderboard.put("isRegattaLeaderboard", isRegattaLeaderboard); jsonLeaderboardEntries.add(jsonLeaderboard); SettableScoreCorrection scoreCorrection = leaderboard.getScoreCorrection(); @@ -61,7 +68,7 @@ public class LeaderboardGroupJsonGetServlet extends AbstractJsonHttpServlet { jsonLeaderboard.put("lastScoringUpdate", null); } - if(leaderboard instanceof RegattaLeaderboard) { + if(isRegattaLeaderboard) { RegattaLeaderboard regattaLeaderboard = (RegattaLeaderboard) leaderboard; Regatta regatta = regattaLeaderboard.getRegatta(); @@ -72,6 +79,7 @@ public class LeaderboardGroupJsonGetServlet extends AbstractJsonHttpServlet { if(regattaSeries != null && Util.size(regattaSeries) == 1) { Series series = regattaSeries.iterator().next(); jsonLeaderboard.put("seriesName", series.getName()); + jsonLeaderboard.put("regattaName", regatta.getName()); JSONArray jsonFleetsEntries = new JSONArray(); jsonLeaderboard.put("fleets", jsonFleetsEntries); @@ -88,7 +96,6 @@ public class LeaderboardGroupJsonGetServlet extends AbstractJsonHttpServlet { for(RaceColumnInSeries raceColumn: series.getRaceColumns()) { JSONObject jsonRaceColumn = new JSONObject(); jsonRaceColumn.put("name", raceColumn.getName()); - jsonRaceColumn.put("regattaName", regatta.getName()); jsonRaceColumn.put("isMedalRace" , raceColumn.isMedalRace()); TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); @@ -106,6 +113,7 @@ public class LeaderboardGroupJsonGetServlet extends AbstractJsonHttpServlet { } else { jsonLeaderboard.put("scoringScheme", leaderboard.getScoringScheme().getType()); jsonLeaderboard.put("seriesName", "Default"); + jsonLeaderboard.put("regattaName", null); JSONArray jsonFleetsEntries = new JSONArray(); jsonLeaderboard.put("fleets", jsonFleetsEntries); @@ -129,11 +137,9 @@ public class LeaderboardGroupJsonGetServlet extends AbstractJsonHttpServlet { if(trackedRace != null) { jsonRaceColumn.put("isTracked", true); jsonRaceColumn.put("trackedRaceName", trackedRace.getRace().getName()); - jsonRaceColumn.put("regattaName", trackedRace.getRaceIdentifier().getRegattaName()); } else { jsonRaceColumn.put("isTracked", false); jsonRaceColumn.put("trackedRaceName", null); - jsonRaceColumn.put("regattaName", null); } jsonRacesEntries.add(jsonRaceColumn); }