diff --git a/pom.xml b/pom.xml
index d693ad2..d292734 100755
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.5.6
+ 3.5.7
nl.connected-it
@@ -50,10 +50,7 @@
h2
runtime
-
- org.springframework.boot
- spring-boot-starter-security
-
+
org.springframework.boot
spring-boot-starter-web
diff --git a/src/main/java/nl/connectedit/swiss/domain/entity/Event.java b/src/main/java/nl/connectedit/swiss/domain/entity/Event.java
index 34bfeb4..32b5225 100644
--- a/src/main/java/nl/connectedit/swiss/domain/entity/Event.java
+++ b/src/main/java/nl/connectedit/swiss/domain/entity/Event.java
@@ -26,7 +26,7 @@ public class Event extends AbstractEntity {
@ManyToOne
private Tournament tournament;
- @OneToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
+ @OneToMany(mappedBy = "event", cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
private List registrations;
@Enumerated(EnumType.STRING)
diff --git a/src/main/java/nl/connectedit/swiss/domain/entity/Match.java b/src/main/java/nl/connectedit/swiss/domain/entity/Match.java
index 9c651a7..37ddf3b 100644
--- a/src/main/java/nl/connectedit/swiss/domain/entity/Match.java
+++ b/src/main/java/nl/connectedit/swiss/domain/entity/Match.java
@@ -30,9 +30,11 @@ public class Match extends AbstractEntity {
private Round round;
@ManyToOne
+ @JoinColumn(name = "team1_id")
private Team team1;
@ManyToOne
+ @JoinColumn(name = "team2_id")
private Team team2;
private Boolean played;
diff --git a/src/main/java/nl/connectedit/swiss/domain/entity/Player.java b/src/main/java/nl/connectedit/swiss/domain/entity/Player.java
index 4c2fca9..8d4f040 100644
--- a/src/main/java/nl/connectedit/swiss/domain/entity/Player.java
+++ b/src/main/java/nl/connectedit/swiss/domain/entity/Player.java
@@ -58,11 +58,11 @@ public class Player extends AbstractEntity {
@Enumerated(EnumType.STRING)
private PlayerStrength strength;
- @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
- private List registrations;// = new ArrayList<>();
+ @OneToMany(mappedBy = "player", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
+ private List registrations;
- @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
- private List partnerRegistrations;// = new ArrayList<>();
+ @OneToMany(mappedBy = "partner", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
+ private List partnerRegistrations;
public String getFullName() {
return hasLength(middleName) ?
diff --git a/src/main/java/nl/connectedit/swiss/domain/entity/Registration.java b/src/main/java/nl/connectedit/swiss/domain/entity/Registration.java
index 9309895..8a67e0e 100644
--- a/src/main/java/nl/connectedit/swiss/domain/entity/Registration.java
+++ b/src/main/java/nl/connectedit/swiss/domain/entity/Registration.java
@@ -20,8 +20,8 @@ public class Registration extends AbstractEntity {
@ManyToOne
private Event event;
- @ManyToOne
- private Tournament tournament;
+// @ManyToOne
+// private Tournament tournament;
@ManyToOne
@JoinColumn(name = "player_id")
diff --git a/src/main/java/nl/connectedit/swiss/domain/entity/Round.java b/src/main/java/nl/connectedit/swiss/domain/entity/Round.java
index b47a167..f10a3c3 100644
--- a/src/main/java/nl/connectedit/swiss/domain/entity/Round.java
+++ b/src/main/java/nl/connectedit/swiss/domain/entity/Round.java
@@ -27,7 +27,7 @@ public class Round extends AbstractEntity {
private Status status;
- @OneToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
+ @OneToMany(mappedBy = "round", cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
@OrderBy("id")
private List matches;
diff --git a/src/main/java/nl/connectedit/swiss/domain/entity/Tournament.java b/src/main/java/nl/connectedit/swiss/domain/entity/Tournament.java
index 8e695f3..528e076 100644
--- a/src/main/java/nl/connectedit/swiss/domain/entity/Tournament.java
+++ b/src/main/java/nl/connectedit/swiss/domain/entity/Tournament.java
@@ -35,7 +35,7 @@ public class Tournament extends AbstractEntity {
@Enumerated(EnumType.STRING)
private TournamentStatus status;
- @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
+ @OneToMany(mappedBy = "tournament", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List events;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
diff --git a/src/main/java/nl/connectedit/swiss/mapper/TournamentMapper.java b/src/main/java/nl/connectedit/swiss/mapper/TournamentMapper.java
index 9e34731..2fb50a2 100644
--- a/src/main/java/nl/connectedit/swiss/mapper/TournamentMapper.java
+++ b/src/main/java/nl/connectedit/swiss/mapper/TournamentMapper.java
@@ -94,13 +94,15 @@ public class TournamentMapper implements DtoMapper, E
var playersCounting = new ArrayList();
for (var event : tournament.getEvents()) {
- for (var group : event.getGroups()) {
- for (var round : group.getRounds()) {
- for (var match : round.getMatches()) {
- if (match.getStatus() == Status.IN_PROGRESS && match.getCounter() != null) {
- var counter = getTournamentPlayerFromPlayerId(tournament, match.getCounter().getId());
- if (counter != null) {
- playersCounting.add(counter.getId());
+ if (event.getGroups() != null) {
+ for (var group : event.getGroups()) {
+ for (var round : group.getRounds()) {
+ for (var match : round.getMatches()) {
+ if (match.getStatus() == Status.IN_PROGRESS && match.getCounter() != null) {
+ var counter = getTournamentPlayerFromPlayerId(tournament, match.getCounter().getId());
+ if (counter != null) {
+ playersCounting.add(counter.getId());
+ }
}
}
}
@@ -114,11 +116,13 @@ public class TournamentMapper implements DtoMapper, E
var playersPlaying = new ArrayList();
for (var event : tournament.getEvents()) {
- for (var group : event.getGroups()) {
- for (var round : group.getRounds()) {
- for (var match : round.getMatches()) {
- if (match.getStatus() == Status.IN_PROGRESS) {
- playersPlaying.addAll(getPlayersInMatch(tournament, match));
+ if (event.getGroups() != null) {
+ for (var group : event.getGroups()) {
+ for (var round : group.getRounds()) {
+ for (var match : round.getMatches()) {
+ if (match.getStatus() == Status.IN_PROGRESS) {
+ playersPlaying.addAll(getPlayersInMatch(tournament, match));
+ }
}
}
}
@@ -129,6 +133,10 @@ public class TournamentMapper implements DtoMapper, E
}
private List getPlayersAvailable(Tournament tournament) {
+ if (tournament.getTournamentPlayers() == null) {
+ return List.of();
+ }
+
var playersAvailable = tournament.getTournamentPlayers()
.stream()
.map(TournamentPlayer::getId)
diff --git a/src/main/java/nl/connectedit/swiss/service/RegistrationService.java b/src/main/java/nl/connectedit/swiss/service/RegistrationService.java
index a7aed17..761eeb7 100644
--- a/src/main/java/nl/connectedit/swiss/service/RegistrationService.java
+++ b/src/main/java/nl/connectedit/swiss/service/RegistrationService.java
@@ -27,7 +27,7 @@ public class RegistrationService {
.findAny();
if (optionalExistingPlayerRegistration.isEmpty()) { // no previous registration for this event
var newRegistration = new Registration();
- newRegistration.setTournament(tournament);
+// newRegistration.setTournament(tournament);
newRegistration.setEvent(event);
newRegistration.setPlayer(player);
if (eventRegistration.getPartner() != null) {