Corrected cascading
All checks were successful
Gitea/swiss-backend/pipeline/head This commit looks good
All checks were successful
Gitea/swiss-backend/pipeline/head This commit looks good
This commit is contained in:
@@ -33,12 +33,12 @@ public class Group extends AbstractEntity {
|
||||
@OrderBy("name")
|
||||
private List<Round> rounds;
|
||||
|
||||
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
||||
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY)
|
||||
@JoinTable(
|
||||
name = "eventgroup_teams",
|
||||
joinColumns = @JoinColumn(name = "group_id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "teams_id")
|
||||
)
|
||||
private List<Team> teams;
|
||||
private List<Team> teams = new ArrayList<>();
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package nl.connectedit.swiss.domain.entity;
|
||||
|
||||
import jakarta.annotation.Nullable;
|
||||
import jakarta.persistence.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -19,7 +20,7 @@ public class Team extends AbstractEntity {
|
||||
private Long id;
|
||||
|
||||
@ManyToMany(mappedBy = "teams", fetch = FetchType.LAZY)
|
||||
private List<Group> groups;
|
||||
private List<Group> groups = new ArrayList<>();
|
||||
|
||||
@ManyToOne
|
||||
private Player player1;
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
package nl.connectedit.swiss.service;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JSR310Module;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
import jakarta.transaction.Transactional;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
@@ -49,19 +45,8 @@ public class TournamentDivideService {
|
||||
|
||||
tournament.setStatus(TournamentStatus.DIVIDED);
|
||||
|
||||
// var mapper = new ObjectMapper();
|
||||
// mapper.registerModule(new JavaTimeModule());
|
||||
// try {
|
||||
// log.info(mapper.writeValueAsString(tournament));
|
||||
// } catch (JsonProcessingException e) {
|
||||
// throw new RuntimeException(e);
|
||||
// }
|
||||
tournamentRepository.save(tournament);
|
||||
// try {
|
||||
// log.info(mapper.writeValueAsString(tournament));
|
||||
// } catch (JsonProcessingException e) {
|
||||
// throw new RuntimeException(e);
|
||||
// }
|
||||
|
||||
return tournament;
|
||||
}
|
||||
|
||||
@@ -111,7 +96,8 @@ public class TournamentDivideService {
|
||||
group.setTeams(new ArrayList<>());
|
||||
log.info("getGroup: aantal registrations = " + registrations.size());
|
||||
for (var registration : registrations) {
|
||||
group.getTeams().add(getTeam(registration, group));
|
||||
// group.getTeams().add(getTeam(registration, group));
|
||||
addTeamToGroup(registration, group);
|
||||
log.info("in getGroup-loop; groepgrootte = " + group.getTeams().size());
|
||||
}
|
||||
|
||||
@@ -119,6 +105,8 @@ public class TournamentDivideService {
|
||||
}
|
||||
|
||||
private List<Group> getGroups(List<Registration> orgRegistrations, EventType type) {
|
||||
var groups = new ArrayList<Group>();
|
||||
|
||||
var registrations = new ArrayList<>(orgRegistrations);
|
||||
|
||||
var group1 = new Group();
|
||||
@@ -161,18 +149,28 @@ public class TournamentDivideService {
|
||||
group2.getTeams().removeLast();
|
||||
}
|
||||
|
||||
return List.of(group1, group2);
|
||||
groups.add(group1);
|
||||
groups.add(group2);
|
||||
return groups;
|
||||
}
|
||||
|
||||
private Team getTeam(Registration registration, Group group) {
|
||||
var team = new Team();
|
||||
team.setPlayer1(registration.getPlayer());
|
||||
team.setPlayer2(registration.getPartner());
|
||||
team.setGroups(List.of(group));
|
||||
team.getGroups().add(group);
|
||||
|
||||
return team;
|
||||
}
|
||||
|
||||
private void addTeamToGroup(Registration registration, Group group) {
|
||||
var team = new Team();
|
||||
team.setPlayer1(registration.getPlayer());
|
||||
team.setPlayer2(registration.getPartner());
|
||||
team.getGroups().add(group);
|
||||
group.getTeams().add(team);
|
||||
}
|
||||
|
||||
public Tournament clear(Tournament tournament) {
|
||||
for (var event : tournament.getEvents()) {
|
||||
event.getGroups().clear();
|
||||
|
||||
Reference in New Issue
Block a user