mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-03 02:43:53 +00:00
Added getLeaderboardsByEvent to SailingService
This commit is contained in:
1 parent
5c6b920d33
commit
0e20ee438e
3 files changed
+17
-10
No files matched your search
+1
-1
@@ -78,7 +78,7 @@ public interface SailingService extends RemoteService {
|
||||
|
||||
List<LeaderboardDTO> getLeaderboards();
|
||||
|
||||
List<LeaderboardDTO> getLeaderboardsByEvent(EventIdentifier eventIdentifier);
|
||||
List<LeaderboardDTO> getLeaderboardsByEvent(EventDTO event);
|
||||
|
||||
void updateLeaderboard(String leaderboardName, String newLeaderboardName, int[] newDiscardingThreasholds);
|
||||
|
||||
|
||||
+1
-1
@@ -143,7 +143,7 @@ public interface SailingServiceAsync {
|
||||
* Does the same as {@link SailingServiceAsync#getLeaderboards(AsyncCallback) getLeaderboards} but returns only
|
||||
* leaderboards which have the given event as race
|
||||
*/
|
||||
void getLeaderboardsByEvent(EventIdentifier eventIdentifier, AsyncCallback<List<LeaderboardDTO>> callback);
|
||||
void getLeaderboardsByEvent(EventDTO event, AsyncCallback<List<LeaderboardDTO>> callback);
|
||||
|
||||
void updateLeaderboard(String leaderboardName, String newLeaderboardName, int[] newDiscardingThreasholds,
|
||||
AsyncCallback<Void> callback);
|
||||
|
||||
+15
-8
@@ -866,20 +866,27 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LeaderboardDTO> getLeaderboardsByEvent(EventIdentifier eventIdentifier) {
|
||||
Event event = getEvent(eventIdentifier);
|
||||
Map<String, Leaderboard> leaderboards = getService().getLeaderboards();
|
||||
public List<LeaderboardDTO> getLeaderboardsByEvent(EventDTO event) {
|
||||
List<LeaderboardDTO> results = new ArrayList<LeaderboardDTO>();
|
||||
|
||||
for (Leaderboard leaderboard : leaderboards.values()) {
|
||||
for (RaceInLeaderboard race : leaderboard.getRaceColumns()) {
|
||||
if (Util.contains(event.getAllRaces(), race.getTrackedRace().getRace())) {
|
||||
LeaderboardDTO dao = createStrippedLeaderboardDTO(leaderboard);
|
||||
results.add(dao);
|
||||
for (RegattaDTO regatta : event.regattas) {
|
||||
for (RaceDTO race : regatta.races) {
|
||||
List<LeaderboardDTO> leaderboard = getLeaderboardByRace(race);
|
||||
if (leaderboard != null && !leaderboard.isEmpty()) {
|
||||
results.addAll(leaderboard);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
private List<LeaderboardDTO> getLeaderboardByRace(RaceDTO race) {
|
||||
List<LeaderboardDTO> results = new ArrayList<LeaderboardDTO>();
|
||||
Map<String, Leaderboard> leaderboards = getService().getLeaderboards();
|
||||
|
||||
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user