diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Match.java b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Match.java index 1d480af8438336f19bc693642c9796f8043c33a2..f613efec076edb7d764385d7f36ea8fc890fd1a8 100644 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Match.java +++ b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Match.java @@ -1,60 +1,54 @@ package hdm.mi.sthbackend.model; import hdm.mi.sthbackend.exeptions.TeamMatchScoreIdNotFoundException; +import lombok.AllArgsConstructor; import lombok.Getter; +import lombok.RequiredArgsConstructor; import lombok.Setter; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; import java.util.List; import java.util.Objects; import java.util.UUID; +@Getter +@Document("Match") +@AllArgsConstructor public class Match { - @Getter - private final UUID matchId; - private final List<TeamMatchScore> teams; + private static final Logger log = LogManager.getLogger(Match.class); + + @Id + private UUID matchId; + private List<TeamMatchScore> teamScores; - @Getter @Setter private Team winner; - @Getter @Setter private String comment; - @Getter @Setter private Match nextMatch; - public Match(List<TeamMatchScore> teams, Team winner, String comment, Match nextMatch) { - this.matchId = UUID.randomUUID(); - this.teams = teams; - this.winner = winner; - this.comment = comment; - this.nextMatch = nextMatch; - } - - public Match(List<TeamMatchScore> teams, Team winner, Match nextMatch) { - this(teams, winner, "", nextMatch); - } - - public void addTeam(Team team) { - teams.add(new TeamMatchScore(team, 0)); - } public void removeTeam(UUID teamMatchScoreId) throws Exception { - TeamMatchScore team = teams.stream().filter(t -> t.getTeamMatchScoreId().equals(teamMatchScoreId)).findFirst().orElse(null); + TeamMatchScore team = teamScores.stream().filter(t -> t.getTeamMatchScoreId().equals(teamMatchScoreId)).findFirst().orElse(null); + log.debug("removeTeam: " + team); if (team == null) { throw new TeamMatchScoreIdNotFoundException(String.format("TeamMatchScoreID %s was not found", teamMatchScoreId)); } - teams.remove(team); + teamScores.remove(team); } public void removeTeam(TeamMatchScore team) { - teams.remove(team); + teamScores.remove(team); } public TeamMatchScore[] getAllTeams() { - return (TeamMatchScore[]) teams.stream().filter(Objects::nonNull).toArray(); + return (TeamMatchScore[]) teamScores.stream().filter(Objects::nonNull).toArray(); } } diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Player.java b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Player.java index c7e8c3e0cd04698bb7350f359372dcbe387dc642..ca124371f0686e555a38a8f95342f88c11dd070b 100644 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Player.java +++ b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Player.java @@ -1,17 +1,19 @@ package hdm.mi.sthbackend.model; +import lombok.AllArgsConstructor; import lombok.Getter; +import lombok.Setter; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; import java.util.UUID; @Getter +@Document("Player") +@AllArgsConstructor public class Player { + @Id private final UUID playerId; - private final String name; - - public Player(String name) { - this.playerId = UUID.randomUUID(); - this.name = name; - } - + @Setter + private String name; } diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java index ed541ebae402b22e91f6aa9e467933da77ff6af0..f03a287a938637ecf3149c5b1edf90425a67fe1b 100644 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java +++ b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java @@ -1,39 +1,20 @@ package hdm.mi.sthbackend.model; -import hdm.mi.sthbackend.exeptions.PlayerIdNotFoundException; +import lombok.AllArgsConstructor; import lombok.Getter; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; -import java.util.ArrayList; import java.util.List; import java.util.UUID; +@Getter +@Document("Team") +@AllArgsConstructor public class Team { - @Getter - private final UUID teamId; - private final List<Player> teamMembers; - - public Team() { - this.teamId = UUID.randomUUID(); - this.teamMembers = new ArrayList<>(); - } - - public void addPlayer(Player player) { - this.teamMembers.add(player); - } - - public void removePlayer(UUID playerId) throws PlayerIdNotFoundException { - Player player = this.teamMembers.stream().filter(p -> p.getPlayerId().equals(playerId)).findFirst().orElse(null); - if (player == null) { - throw new PlayerIdNotFoundException(playerId.toString()); - } - teamMembers.remove(player); - } - - public void removePlayer(Player player) { - teamMembers.remove(player); - } - - - + @Id + private final UUID id; + private final String teamName; + private final List<Player> teamMembers; } diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/model/TeamMatchScore.java b/sth-backend/src/main/java/hdm/mi/sthbackend/model/TeamMatchScore.java index 14c7535362cc4ae84338fd5af8d3282338b9af62..ee9213c4d0d3657ed173052b778d83987c79ef87 100644 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/model/TeamMatchScore.java +++ b/sth-backend/src/main/java/hdm/mi/sthbackend/model/TeamMatchScore.java @@ -1,19 +1,25 @@ package hdm.mi.sthbackend.model; +import lombok.AllArgsConstructor; import lombok.Getter; +import lombok.Setter; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; import java.util.UUID; +@Getter +@Document("TeamMatchScore") +@AllArgsConstructor public class TeamMatchScore { - @Getter - private final UUID teamMatchScoreId; - private Team team; - private int score; + private static final Logger log = LogManager.getLogger(TeamMatchScore.class); - public TeamMatchScore(Team team, int score) { - this.teamMatchScoreId = UUID.randomUUID(); - this.team = team; - this.score = score; - } + @Id + private final UUID teamMatchScoreId; + private final UUID teamId; + @Setter + private int score; } diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java index ab1860befe34449e1392a9f427b289510a6a278d..4d454729e662c2b7b302394666493278b8b7d813 100644 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java +++ b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java @@ -1,9 +1,24 @@ package hdm.mi.sthbackend.model; +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; + import java.util.List; +import java.util.Map; +import java.util.UUID; +@Document("Tournament") +@Getter +@AllArgsConstructor public class Tournament implements ITournament{ - private String tournamentId; + @Id + private UUID tournamentId; + + private String tournamentName; private List<Match> matches; + + private Map<UUID, Team> teams; }