...
Deze indelingstrategie moet voor elke ronde uitgevoerd worden, maar alleen als de resultaten van de vorige match al duidelijk is. Als het voor JaVaFo onmogelijk is om een ronde te genereren (aantal spelers/2 > aantal rondes) of het maximaal aantal rondes in de competitionDTO wordt overschreden gooit de API een RuntimeException.
USECASE 9 - Gegevens publiceren op website
USECASE 10 - Printen ronde indeling
Voor het uitprinten van de rondes hebben wij besloten het op een eigen pagina te zetten. Vanuit deze pagina moet er worden geselecteerd voor welke CompetitieDTO de rondes uit moeten worden geprint via een dropdown. Met de getCompetitions functie binnen MatchRepository worden de CompetitionDTO's opgehaald. Met de gekozen Competitie kunnen de rondes opgehaald worden die dan in de volgende dropdown kunnen worden gezet met hun rondenummers. Via de getMatchesByRoundId functie worden alle individuele matches opgehaald waardoor alle informatie voor het uitprinten van de indeling er is.
Vanuit de CompetitionDTO kan de CompetitionNaam worden gehaald, de datum van de ronde uit RondeDTO en de wit en zwartspeler namen uit MatchDTO.
Overig
JaVaFo
Voor het genereren van een competitionlayout van een toernooi is een extern programma gebruikt, omdat het genereren van een zwitserse indeling wellicht te foutgevoelig zou zijn als het geprogrammeerd werd door iemand die niet volledig thuis is in het domein. JaVaFo, gemaakt door Roberto Ricca, is een in Java geprogrammeerde matchmaking software. Het heeft als input een document nodig dat specifiek is aan de schaakorganisatie Fide (.trf). Om dit te genereren zijn er een aantal classes aangemaakt om dit te regelen. "DocumentMaker" kan met wat speciale DTOs waar de data in is opgeslagen een string genereren waarmee JaVaFo een indeling kan maken. "JaVaFoDocuPlayer" en "JaVaFoDocuResult" zijn DTO's om de data van spelers en ronderesultaten op te slaan. JaVaFo maakt van de input van DocumentMaker een output string die vervolgens vertaald kan worden naar match DTO's.
...