From 8b355d710d2e276bc155142a103dc5088c2f26bc Mon Sep 17 00:00:00 2001 From: Frank Mittag Date: Fri, 20 Apr 2018 11:24:32 +0200 Subject: [PATCH] fixed value of 'resultTimepoint' for live leaderboards json exports -> take leaderboardDTO.timepoint instead of requested timepoint as only the leaderboard calculation determines the real result timepoint. --- .../gateway/jaxrs/api/AbstractLeaderboardsResource.java | 5 +++-- .../server/gateway/jaxrs/api/LeaderboardsResource.java | 2 +- .../server/gateway/jaxrs/api/LeaderboardsResourceV2.java | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/AbstractLeaderboardsResource.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/AbstractLeaderboardsResource.java index 3397787b6bf..8f980b645a0 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/AbstractLeaderboardsResource.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/AbstractLeaderboardsResource.java @@ -1,5 +1,6 @@ package com.sap.sailing.server.gateway.jaxrs.api; +import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.concurrent.ExecutionException; @@ -112,11 +113,11 @@ public abstract class AbstractLeaderboardsResource extends AbstractSailingServer } protected void writeCommonLeaderboardData(JSONObject jsonLeaderboard, Leaderboard leaderboard, - ResultStates resultState, TimePoint resultTimePoint, Integer maxCompetitorsCount) { + ResultStates resultState, Date resultTimePoint, Integer maxCompetitorsCount) { jsonLeaderboard.put("name", leaderboard.getName()); final String displayName = leaderboard.getDisplayName(); jsonLeaderboard.put("displayName", displayName == null ? leaderboard.getName() : displayName); - jsonLeaderboard.put("resultTimepoint", resultTimePoint != null ? resultTimePoint.asMillis() : null); + jsonLeaderboard.put("resultTimepoint", resultTimePoint != null ? resultTimePoint.getTime() : null); jsonLeaderboard.put("resultState", resultState.name()); jsonLeaderboard.put("type", leaderboard.getLeaderboardType().name()); if (leaderboard instanceof RegattaLeaderboard) { diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java index 36d3f972ca7..2eb18860638 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java @@ -183,7 +183,7 @@ public class LeaderboardsResource extends AbstractLeaderboardsResource { false, getService(), getService().getBaseDomainFactory(), /* fillTotalPointsUncorrected */false); JSONObject jsonLeaderboard = new JSONObject(); - writeCommonLeaderboardData(jsonLeaderboard, leaderboard, resultState, resultTimePoint, maxCompetitorsCount); + writeCommonLeaderboardData(jsonLeaderboard, leaderboard, resultState, leaderboardDTO.getTimePoint(), maxCompetitorsCount); JSONArray jsonCompetitorEntries = new JSONArray(); jsonLeaderboard.put("competitors", jsonCompetitorEntries); int counter = 1; diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResourceV2.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResourceV2.java index b3571542233..2cdadbe198a 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResourceV2.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResourceV2.java @@ -107,7 +107,7 @@ public class LeaderboardsResourceV2 extends AbstractLeaderboardsResource { false, getService(), getService().getBaseDomainFactory(), /* fillTotalPointsUncorrected */false); JSONObject jsonLeaderboard = new JSONObject(); - writeCommonLeaderboardData(jsonLeaderboard, leaderboard, resultState, resultTimePoint, maxCompetitorsCount); + writeCommonLeaderboardData(jsonLeaderboard, leaderboard, resultState, leaderboardDTO.getTimePoint(), maxCompetitorsCount); Map>> competitorRanksPerRaceColumnsAndFleets = new HashMap<>(); for (String raceColumnName : raceColumnsToShow) { List competitorsFromBestToWorst = leaderboardDTO.getCompetitorsFromBestToWorst(raceColumnName);