diff --git a/java/com.sap.sailing.gwt.ui/GWT Sailing SDM.launch b/java/com.sap.sailing.gwt.ui/GWT Sailing SDM.launch index 63e7e8dc021..280ee214cc8 100755 --- a/java/com.sap.sailing.gwt.ui/GWT Sailing SDM.launch +++ b/java/com.sap.sailing.gwt.ui/GWT Sailing SDM.launch @@ -36,84 +36,82 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 3e8a96c2a44..77193e06078 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 @@ -10,6 +10,8 @@ import org.apache.shiro.SecurityUtils; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import com.sap.sailing.domain.abstractlog.race.RaceLog; +import com.sap.sailing.domain.abstractlog.race.analyzing.impl.ResultsAreOfficialFinder; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.CompetitorWithBoat; import com.sap.sailing.domain.base.Fleet; @@ -193,6 +195,7 @@ public abstract class AbstractLeaderboardsResource extends AbstractSailingServer ? MillisecondsTimePoint.now().minus(trackedRace.getDelayToLiveInMillis()) : new MillisecondsTimePoint(resultTimePoint))); trackedRaceInfo.put("delayToLiveInMillis", trackedRace.getDelayToLiveInMillis()); + trackedRaceInfo.put("resultsAreOfficial", isResultsAreOfficial(trackedRace)); if (trackedRace.getStatus() != null) { trackedRaceInfo.put("status", trackedRace.getStatus().getStatus().toString()); trackedRaceInfo.put("loadingProgress", trackedRace.getStatus().getLoadingProgress()); @@ -203,6 +206,15 @@ public abstract class AbstractLeaderboardsResource extends AbstractSailingServer } } + private boolean isResultsAreOfficial(TrackedRace trackedRace) { + for (final RaceLog raceLog : trackedRace.getAttachedRaceLogs()) { + if (new ResultsAreOfficialFinder(raceLog).analyze() != null) { + return true; + } + } + return false; + } + protected TimePoint calculateTimePointForResultState(Leaderboard leaderboard, ResultStates resultState) { TimePoint result = null; switch (resultState) { diff --git a/java/com.sap.sailing.server/SailingServer (No Proxy, Axel).launch b/java/com.sap.sailing.server/SailingServer (No Proxy, Axel).launch index 00088538bd1..1b352663e63 100644 --- a/java/com.sap.sailing.server/SailingServer (No Proxy, Axel).launch +++ b/java/com.sap.sailing.server/SailingServer (No Proxy, Axel).launch @@ -31,10 +31,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - -