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")
|
@OrderBy("name")
|
||||||
private List<Round> rounds;
|
private List<Round> rounds;
|
||||||
|
|
||||||
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY)
|
||||||
@JoinTable(
|
@JoinTable(
|
||||||
name = "eventgroup_teams",
|
name = "eventgroup_teams",
|
||||||
joinColumns = @JoinColumn(name = "group_id"),
|
joinColumns = @JoinColumn(name = "group_id"),
|
||||||
inverseJoinColumns = @JoinColumn(name = "teams_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.annotation.Nullable;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -19,7 +20,7 @@ public class Team extends AbstractEntity {
|
|||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@ManyToMany(mappedBy = "teams", fetch = FetchType.LAZY)
|
@ManyToMany(mappedBy = "teams", fetch = FetchType.LAZY)
|
||||||
private List<Group> groups;
|
private List<Group> groups = new ArrayList<>();
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
private Player player1;
|
private Player player1;
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
package nl.connectedit.swiss.service;
|
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 jakarta.transaction.Transactional;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
@@ -49,19 +45,8 @@ public class TournamentDivideService {
|
|||||||
|
|
||||||
tournament.setStatus(TournamentStatus.DIVIDED);
|
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);
|
tournamentRepository.save(tournament);
|
||||||
// try {
|
|
||||||
// log.info(mapper.writeValueAsString(tournament));
|
|
||||||
// } catch (JsonProcessingException e) {
|
|
||||||
// throw new RuntimeException(e);
|
|
||||||
// }
|
|
||||||
return tournament;
|
return tournament;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,7 +96,8 @@ public class TournamentDivideService {
|
|||||||
group.setTeams(new ArrayList<>());
|
group.setTeams(new ArrayList<>());
|
||||||
log.info("getGroup: aantal registrations = " + registrations.size());
|
log.info("getGroup: aantal registrations = " + registrations.size());
|
||||||
for (var registration : registrations) {
|
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());
|
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) {
|
private List<Group> getGroups(List<Registration> orgRegistrations, EventType type) {
|
||||||
|
var groups = new ArrayList<Group>();
|
||||||
|
|
||||||
var registrations = new ArrayList<>(orgRegistrations);
|
var registrations = new ArrayList<>(orgRegistrations);
|
||||||
|
|
||||||
var group1 = new Group();
|
var group1 = new Group();
|
||||||
@@ -161,18 +149,28 @@ public class TournamentDivideService {
|
|||||||
group2.getTeams().removeLast();
|
group2.getTeams().removeLast();
|
||||||
}
|
}
|
||||||
|
|
||||||
return List.of(group1, group2);
|
groups.add(group1);
|
||||||
|
groups.add(group2);
|
||||||
|
return groups;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Team getTeam(Registration registration, Group group) {
|
private Team getTeam(Registration registration, Group group) {
|
||||||
var team = new Team();
|
var team = new Team();
|
||||||
team.setPlayer1(registration.getPlayer());
|
team.setPlayer1(registration.getPlayer());
|
||||||
team.setPlayer2(registration.getPartner());
|
team.setPlayer2(registration.getPartner());
|
||||||
team.setGroups(List.of(group));
|
team.getGroups().add(group);
|
||||||
|
|
||||||
return team;
|
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) {
|
public Tournament clear(Tournament tournament) {
|
||||||
for (var event : tournament.getEvents()) {
|
for (var event : tournament.getEvents()) {
|
||||||
event.getGroups().clear();
|
event.getGroups().clear();
|
||||||
|
|||||||
Reference in New Issue
Block a user