From e91e906d228ec2b63a8181eec50e6ec26e0b82f0 Mon Sep 17 00:00:00 2001 From: Michel ten Voorde Date: Thu, 14 Nov 2024 00:00:10 +0100 Subject: [PATCH] Use Player links --- .../service/TournamentValidationService.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/nl/connectedit/swiss/service/TournamentValidationService.java b/src/main/java/nl/connectedit/swiss/service/TournamentValidationService.java index 2b56bd9..06bbdbf 100644 --- a/src/main/java/nl/connectedit/swiss/service/TournamentValidationService.java +++ b/src/main/java/nl/connectedit/swiss/service/TournamentValidationService.java @@ -90,7 +90,7 @@ public class TournamentValidationService { for (var registration : registrations) { var partner = registration.getPartner(); if (partner == null) { - addValidation(validations, ERROR, "%s heeft geen partner", registration.getPlayer().getFullName()); + addValidation(validations, ERROR, "%s heeft geen partner", getPlayerLink(registration.getPlayer())); } } } @@ -104,19 +104,24 @@ public class TournamentValidationService { if (optionalPartnerRegistration.isEmpty()) { addValidation(validations, ERROR, "%s heeft als geregistreerde partner %s, maar deze staat niet ingeschreven voor het onderdeel %s", - registration.getPlayer().getFullName(), registration.getPartner().getFullName(), event.getType().getText()); + getPlayerLink(registration.getPlayer()), + getPlayerLink(registration.getPartner()), + event.getType().getText()); } else { var partnerRegistration = optionalPartnerRegistration.get(); var partnerPartner = partnerRegistration.getPartner(); if (partnerPartner == null) { addValidation(validations, ERROR, "%s heeft als geregistreerde partner %s, maar deze heeft nog geen geregistreerde partner", - registration.getPlayer().getFullName(), partnerRegistration.getPlayer().getFullName()); + getPlayerLink(registration.getPlayer()), + getPlayerLink(partnerRegistration.getPlayer())); } else { if (!Objects.equals(registration.getPlayer(), partnerPartner)) { addValidation(validations, ERROR, "%s heeft als geregistreerde partner %s, maar deze staat ingeschreven met partner %s", - registration.getPlayer().getFullName(), partnerRegistration.getPlayer().getFullName(), partnerRegistration.getPartner().getFullName()); + getPlayerLink(registration.getPlayer()), + getPlayerLink(partnerRegistration.getPlayer()), + getPlayerLink(partnerRegistration.getPartner())); } } } @@ -132,11 +137,15 @@ public class TournamentValidationService { if (partners.size() > 1) { addValidation(validations, ERROR, "%s is met meerdere spelers als partner geregistreerd (%s)", - registration.getPlayer().getFullName(), getPlayersAsList(partners)); + getPlayerLink(registration.getPlayer()), getPlayersAsList(partners)); } } } + private String getPlayerLink(Player player) { + return "[%d|%s]".formatted(player.getId(), player.getFullName()); + } + private void checkForTooManyRegistrationsPerPlayer(Tournament tournament, List players, List validations) { var playerRegistrations = new ArrayList(); for (var player : players) { @@ -148,7 +157,7 @@ public class TournamentValidationService { if (playerRegistrations.size() > tournament.getMaxEvents()) { addValidation(validations, ERROR, "%s staat voor meer dan %d onderdelen ingeschreven, nl. %s", - player.getFullName(), tournament.getMaxEvents(), getEventsAsList(playerRegistrations, tournament)); + getPlayerLink(player), tournament.getMaxEvents(), getEventsAsList(playerRegistrations, tournament)); } } } @@ -190,14 +199,14 @@ public class TournamentValidationService { if (players.isEmpty()) { return ""; } else if (players.size() == 1) { - return players.getFirst().getFullName(); + return getPlayerLink(players.getFirst()); } else { return String.join(", ", players .stream() .limit(players.size() - 1) - .map(Player::getFullName) + .map(this::getPlayerLink) .toList() - ) + " en " + players.getLast().getFullName(); + ) + " en " + getPlayerLink(players.getLast()); } }