Loading api/src/main/java/cz/muni/fi/pa165/icehockeymanager/dto/PlayerVeteranDTO.java 0 → 100644 +32 −0 Original line number Diff line number Diff line package cz.muni.fi.pa165.icehockeymanager.dto; import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotBlank; import java.util.Objects; public final class PlayerVeteranDTO { @NotBlank @Getter @Setter private long playerId; @Getter @Setter private long teamId; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PlayerVeteranDTO playerDTO = (PlayerVeteranDTO) o; return getPlayerId() == playerDTO.getPlayerId() && getTeamId() == playerDTO.getTeamId(); } @Override public int hashCode() { return Objects.hash(getPlayerId()); } } api/src/main/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacade.java +3 −3 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ package cz.muni.fi.pa165.icehockeymanager.facades; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerCreateDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerVeteranDTO; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownPlayerException; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownTeamException; Loading @@ -23,10 +24,9 @@ public interface TeamManagerFacade { /** * Adds player with playerId to team with teamId * * @param playerId Identifier of the player * @param teamId Identifier of the team * @param playerVeteranDTO DTO for recruiting veteran player */ void recruitVeteranPlayer(long playerId, long teamId); void recruitVeteranPlayer(PlayerVeteranDTO playerVeteranDTO); /** * Retrieve all players without team Loading rest/src/main/java/cz/muni/fi/pa165/icehockeymanager/rest/controller/IceHockeyManagerApi.java +3 −3 Original line number Diff line number Diff line Loading @@ -52,9 +52,9 @@ public class IceHockeyManagerApi { teamManagerFacade.recruitNewPlayer(player); } @PostMapping("/player/recruitFree") public final void recruitFreePlayer(@Valid @RequestBody long playerId) { teamManagerFacade.recruitVeteranPlayer(playerId, 2L); @PostMapping("/player/recruitVeteran") public final void recruitVeteranPlayer(@Valid @RequestBody PlayerVeteranDTO player) { teamManagerFacade.recruitVeteranPlayer(player); } Loading service/src/main/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImpl.java +4 −3 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ package cz.muni.fi.pa165.icehockeymanager.facades; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerCreateDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerVeteranDTO; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownPlayerException; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownTeamException; import cz.muni.fi.pa165.icehockeymanager.model.Player; Loading Loading @@ -41,11 +42,11 @@ public class TeamManagerFacadeImpl implements TeamManagerFacade{ } @Override public void recruitVeteranPlayer(long playerId, long teamId){ Team team = teamService.findTeam(teamId).orElseThrow( public void recruitVeteranPlayer(PlayerVeteranDTO playerDto){ Team team = teamService.findTeam(playerDto.getTeamId()).orElseThrow( () -> new UnknownTeamException("Team not found") ); Player player = playerService.findPlayer(playerId).orElseThrow( Player player = playerService.findPlayer(playerDto.getPlayerId()).orElseThrow( () -> new UnknownPlayerException("Player not found") ); teamService.addPlayerToTeam(team, player); Loading service/src/test/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImplTest.java +9 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ package cz.muni.fi.pa165.icehockeymanager.facades; import cz.muni.fi.pa165.icehockeymanager.config.PersistanceApplicationConfig; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerCreateDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerVeteranDTO; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownPlayerException; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownTeamException; import cz.muni.fi.pa165.icehockeymanager.model.Player; Loading Loading @@ -103,8 +104,11 @@ public class TeamManagerFacadeImplTest { @Test public void recruitVeteranPlayerNonexistentTeam() { when(teamService.findTeam(1L)).thenReturn(Optional.empty()); PlayerVeteranDTO player = new PlayerVeteranDTO(); player.setPlayerId(1L); player.setTeamId(1L); assertThatExceptionOfType(UnknownTeamException.class).isThrownBy( () -> teamManagerFacade.recruitVeteranPlayer(1L, 1L) () -> teamManagerFacade.recruitVeteranPlayer(player) ); verify(teamService).findTeam(1L); } Loading @@ -112,10 +116,13 @@ public class TeamManagerFacadeImplTest { @Test public void recruitVeteranPlayerNonexistentPlayer() { Team team = buildTeamMock(1L, "Boston Bruins"); PlayerVeteranDTO player = new PlayerVeteranDTO(); player.setPlayerId(1L); player.setTeamId(1L); when(teamService.findTeam(1L)).thenReturn(Optional.ofNullable(team)); when(playerService.findPlayer(1L)).thenReturn(Optional.empty()); assertThatExceptionOfType(UnknownPlayerException.class).isThrownBy( () -> teamManagerFacade.recruitVeteranPlayer(1L, 1L) () -> teamManagerFacade.recruitVeteranPlayer(player) ); verify(teamService).findTeam(1L); } Loading Loading
api/src/main/java/cz/muni/fi/pa165/icehockeymanager/dto/PlayerVeteranDTO.java 0 → 100644 +32 −0 Original line number Diff line number Diff line package cz.muni.fi.pa165.icehockeymanager.dto; import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotBlank; import java.util.Objects; public final class PlayerVeteranDTO { @NotBlank @Getter @Setter private long playerId; @Getter @Setter private long teamId; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PlayerVeteranDTO playerDTO = (PlayerVeteranDTO) o; return getPlayerId() == playerDTO.getPlayerId() && getTeamId() == playerDTO.getTeamId(); } @Override public int hashCode() { return Objects.hash(getPlayerId()); } }
api/src/main/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacade.java +3 −3 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ package cz.muni.fi.pa165.icehockeymanager.facades; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerCreateDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerVeteranDTO; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownPlayerException; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownTeamException; Loading @@ -23,10 +24,9 @@ public interface TeamManagerFacade { /** * Adds player with playerId to team with teamId * * @param playerId Identifier of the player * @param teamId Identifier of the team * @param playerVeteranDTO DTO for recruiting veteran player */ void recruitVeteranPlayer(long playerId, long teamId); void recruitVeteranPlayer(PlayerVeteranDTO playerVeteranDTO); /** * Retrieve all players without team Loading
rest/src/main/java/cz/muni/fi/pa165/icehockeymanager/rest/controller/IceHockeyManagerApi.java +3 −3 Original line number Diff line number Diff line Loading @@ -52,9 +52,9 @@ public class IceHockeyManagerApi { teamManagerFacade.recruitNewPlayer(player); } @PostMapping("/player/recruitFree") public final void recruitFreePlayer(@Valid @RequestBody long playerId) { teamManagerFacade.recruitVeteranPlayer(playerId, 2L); @PostMapping("/player/recruitVeteran") public final void recruitVeteranPlayer(@Valid @RequestBody PlayerVeteranDTO player) { teamManagerFacade.recruitVeteranPlayer(player); } Loading
service/src/main/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImpl.java +4 −3 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ package cz.muni.fi.pa165.icehockeymanager.facades; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerCreateDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerVeteranDTO; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownPlayerException; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownTeamException; import cz.muni.fi.pa165.icehockeymanager.model.Player; Loading Loading @@ -41,11 +42,11 @@ public class TeamManagerFacadeImpl implements TeamManagerFacade{ } @Override public void recruitVeteranPlayer(long playerId, long teamId){ Team team = teamService.findTeam(teamId).orElseThrow( public void recruitVeteranPlayer(PlayerVeteranDTO playerDto){ Team team = teamService.findTeam(playerDto.getTeamId()).orElseThrow( () -> new UnknownTeamException("Team not found") ); Player player = playerService.findPlayer(playerId).orElseThrow( Player player = playerService.findPlayer(playerDto.getPlayerId()).orElseThrow( () -> new UnknownPlayerException("Player not found") ); teamService.addPlayerToTeam(team, player); Loading
service/src/test/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImplTest.java +9 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ package cz.muni.fi.pa165.icehockeymanager.facades; import cz.muni.fi.pa165.icehockeymanager.config.PersistanceApplicationConfig; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerCreateDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerVeteranDTO; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownPlayerException; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownTeamException; import cz.muni.fi.pa165.icehockeymanager.model.Player; Loading Loading @@ -103,8 +104,11 @@ public class TeamManagerFacadeImplTest { @Test public void recruitVeteranPlayerNonexistentTeam() { when(teamService.findTeam(1L)).thenReturn(Optional.empty()); PlayerVeteranDTO player = new PlayerVeteranDTO(); player.setPlayerId(1L); player.setTeamId(1L); assertThatExceptionOfType(UnknownTeamException.class).isThrownBy( () -> teamManagerFacade.recruitVeteranPlayer(1L, 1L) () -> teamManagerFacade.recruitVeteranPlayer(player) ); verify(teamService).findTeam(1L); } Loading @@ -112,10 +116,13 @@ public class TeamManagerFacadeImplTest { @Test public void recruitVeteranPlayerNonexistentPlayer() { Team team = buildTeamMock(1L, "Boston Bruins"); PlayerVeteranDTO player = new PlayerVeteranDTO(); player.setPlayerId(1L); player.setTeamId(1L); when(teamService.findTeam(1L)).thenReturn(Optional.ofNullable(team)); when(playerService.findPlayer(1L)).thenReturn(Optional.empty()); assertThatExceptionOfType(UnknownPlayerException.class).isThrownBy( () -> teamManagerFacade.recruitVeteranPlayer(1L, 1L) () -> teamManagerFacade.recruitVeteranPlayer(player) ); verify(teamService).findTeam(1L); } Loading