mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-04 19:33:52 +00:00
removed rendering of regatta structure from leaderboardGroupJsonServet -> client should use RegattaJsonServlet to retreive the regatta structure
This commit is contained in:
1 parent
f8aadf4d4d
commit
758faef134
3 files changed
+61
-79
No files matched your search
+15
-74
@@ -11,9 +11,7 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.RaceColumn;
|
||||
import com.sap.sailing.domain.base.RaceColumnInSeries;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.base.Series;
|
||||
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.domain.common.LeaderboardNameConstants;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
@@ -55,6 +53,7 @@ public class LeaderboardGroupJsonGetServlet extends AbstractJsonHttpServlet {
|
||||
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();
|
||||
@@ -73,85 +72,27 @@ public class LeaderboardGroupJsonGetServlet extends AbstractJsonHttpServlet {
|
||||
|
||||
jsonLeaderboard.put("scoringScheme", leaderboard.getScoringScheme().getType());
|
||||
jsonLeaderboard.put("regattaName", regatta.getName());
|
||||
|
||||
JSONArray jsonSeriesEntries = new JSONArray();
|
||||
jsonLeaderboard.put("series", jsonSeriesEntries);
|
||||
for (Series series: regatta.getSeries()) {
|
||||
JSONObject jsonSeries = new JSONObject();
|
||||
jsonSeries.put("name", series.getName());
|
||||
jsonSeries.put("isMedalSeries", series.isMedal());
|
||||
|
||||
JSONArray jsonFleetsEntries = new JSONArray();
|
||||
jsonSeries.put("fleets", jsonFleetsEntries);
|
||||
for(Fleet fleet: series.getFleets()) {
|
||||
|
||||
JSONObject jsonFleet = new JSONObject();
|
||||
jsonFleet.put("name", fleet.getName());
|
||||
jsonFleet.put("color", fleet.getColor() != null ? fleet.getColor().getAsHtml() : null);
|
||||
jsonFleet.put("ordering", fleet.getOrdering());
|
||||
jsonFleetsEntries.add(jsonFleet);
|
||||
|
||||
JSONArray jsonRacesEntries = new JSONArray();
|
||||
jsonFleet.put("races", jsonRacesEntries);
|
||||
for(RaceColumnInSeries raceColumn: series.getRaceColumns()) {
|
||||
JSONObject jsonRaceColumn = new JSONObject();
|
||||
jsonRaceColumn.put("name", raceColumn.getName());
|
||||
jsonRaceColumn.put("isMedalRace" , raceColumn.isMedalRace());
|
||||
|
||||
TrackedRace trackedRace = raceColumn.getTrackedRace(fleet);
|
||||
if(trackedRace != null) {
|
||||
jsonRaceColumn.put("isTracked", true);
|
||||
jsonRaceColumn.put("trackedRaceName", trackedRace.getRace().getName());
|
||||
} else {
|
||||
jsonRaceColumn.put("isTracked", false);
|
||||
jsonRaceColumn.put("trackedRaceName", null);
|
||||
}
|
||||
jsonRacesEntries.add(jsonRaceColumn);
|
||||
}
|
||||
jsonSeriesEntries.add(jsonSeries);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
jsonLeaderboard.put("scoringScheme", leaderboard.getScoringScheme().getType());
|
||||
jsonLeaderboard.put("regattaName", null);
|
||||
|
||||
JSONArray jsonSeriesEntries = new JSONArray();
|
||||
jsonLeaderboard.put("series", jsonSeriesEntries);
|
||||
|
||||
// write a 'default' series to be conform with our common regatta structure
|
||||
JSONObject jsonSeries = new JSONObject();
|
||||
jsonSeriesEntries.add(jsonSeries);
|
||||
jsonSeries.put("name", LeaderboardNameConstants.DEFAULT_SERIES_NAME);
|
||||
jsonSeries.put("isMedalSeries", null);
|
||||
|
||||
JSONArray jsonFleetsEntries = new JSONArray();
|
||||
jsonSeries.put("fleets", jsonFleetsEntries);
|
||||
|
||||
Fleet fleet = leaderboard.getFleet(LeaderboardNameConstants.DEFAULT_FLEET_NAME);
|
||||
if(fleet != null) {
|
||||
JSONObject jsonFleet = new JSONObject();
|
||||
jsonFleet.put("name", fleet.getName());
|
||||
jsonFleet.put("color", fleet.getColor() != null ? fleet.getColor().getAsHtml() : null);
|
||||
jsonFleet.put("ordering", fleet.getOrdering());
|
||||
jsonFleetsEntries.add(jsonFleet);
|
||||
|
||||
JSONArray jsonRacesEntries = new JSONArray();
|
||||
jsonFleet.put("races", jsonRacesEntries);
|
||||
for(RaceColumn raceColumn: leaderboard.getRaceColumns()) {
|
||||
JSONObject jsonRaceColumn = new JSONObject();
|
||||
jsonRaceColumn.put("name", raceColumn.getName());
|
||||
jsonRaceColumn.put("isMedalRace" , raceColumn.isMedalRace());
|
||||
JSONArray jsonRacesEntries = new JSONArray();
|
||||
jsonLeaderboard.put("races", jsonRacesEntries);
|
||||
for(RaceColumn raceColumn: leaderboard.getRaceColumns()) {
|
||||
JSONObject jsonRaceColumn = new JSONObject();
|
||||
jsonRaceColumn.put("name", raceColumn.getName());
|
||||
jsonRaceColumn.put("isMedalRace" , raceColumn.isMedalRace());
|
||||
|
||||
Fleet fleet = leaderboard.getFleet(LeaderboardNameConstants.DEFAULT_FLEET_NAME);
|
||||
if(fleet != null && raceColumn.getTrackedRace(fleet) != null) {
|
||||
TrackedRace trackedRace = raceColumn.getTrackedRace(fleet);
|
||||
if(trackedRace != null) {
|
||||
jsonRaceColumn.put("isTracked", true);
|
||||
jsonRaceColumn.put("trackedRaceName", trackedRace.getRace().getName());
|
||||
} else {
|
||||
jsonRaceColumn.put("isTracked", false);
|
||||
jsonRaceColumn.put("trackedRaceName", null);
|
||||
}
|
||||
jsonRacesEntries.add(jsonRaceColumn);
|
||||
jsonRaceColumn.put("isTracked", true);
|
||||
jsonRaceColumn.put("trackedRaceName", trackedRace.getRace().getName());
|
||||
} else {
|
||||
jsonRaceColumn.put("isTracked", false);
|
||||
jsonRaceColumn.put("trackedRaceName", null);
|
||||
}
|
||||
jsonRacesEntries.add(jsonRaceColumn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package com.sap.sailing.server.gateway.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.common.RegattaName;
|
||||
import com.sap.sailing.server.gateway.AbstractJsonHttpServlet;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.CompetitorJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.PersonJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RegattaJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.TeamJsonSerializer;
|
||||
|
||||
public class RegattaEntryListJsonGetServlet extends AbstractJsonHttpServlet {
|
||||
private static final long serialVersionUID = -5280787192024697254L;
|
||||
|
||||
private static final String PARAM_NAME_REGATTANAME = "name";
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||
String regattaName = request.getParameter(PARAM_NAME_REGATTANAME);
|
||||
if (regattaName == null) {
|
||||
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Need to specify a regatta name using the "+
|
||||
PARAM_NAME_REGATTANAME + " parameter");
|
||||
} else {
|
||||
Regatta regatta = getService().getRegatta(new RegattaName(regattaName));
|
||||
if (regatta == null) {
|
||||
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Regatta " + regattaName + " not found");
|
||||
} else {
|
||||
CompetitorJsonSerializer competitorJsonSerializer = new CompetitorJsonSerializer(new TeamJsonSerializer(new PersonJsonSerializer()));
|
||||
JsonSerializer<Regatta> regattaSerializer = new RegattaJsonSerializer(null, competitorJsonSerializer);
|
||||
JSONObject serializedRegatta = regattaSerializer.serialize(regatta);
|
||||
|
||||
setJsonResponseHeader(response);
|
||||
serializedRegatta.writeJSONString(response.getWriter());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-5
@@ -13,12 +13,9 @@ import com.sap.sailing.domain.common.RegattaName;
|
||||
import com.sap.sailing.server.gateway.AbstractJsonHttpServlet;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.ColorJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.CompetitorJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.FleetJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.PersonJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RegattaJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.SeriesJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.TeamJsonSerializer;
|
||||
|
||||
public class RegattaJsonGetServlet extends AbstractJsonHttpServlet {
|
||||
private static final long serialVersionUID = -5280787192024697254L;
|
||||
@@ -37,8 +34,7 @@ public class RegattaJsonGetServlet extends AbstractJsonHttpServlet {
|
||||
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Regatta " + regattaName + " not found");
|
||||
} else {
|
||||
SeriesJsonSerializer seriesJsonSerializer = new SeriesJsonSerializer(new FleetJsonSerializer(new ColorJsonSerializer()));
|
||||
CompetitorJsonSerializer competitorJsonSerializer = new CompetitorJsonSerializer(new TeamJsonSerializer(new PersonJsonSerializer()));
|
||||
JsonSerializer<Regatta> regattaSerializer = new RegattaJsonSerializer(seriesJsonSerializer, competitorJsonSerializer);
|
||||
JsonSerializer<Regatta> regattaSerializer = new RegattaJsonSerializer(seriesJsonSerializer, null);
|
||||
JSONObject serializedRegatta = regattaSerializer.serialize(regatta);
|
||||
|
||||
setJsonResponseHeader(response);
|
||||
|
||||
Reference in new issue
Block a user