From ad5c265e5cc96ee0ece8369fade011fa91758bee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A1n=20Dovjak?= <xdovjak@fi.muni.cz>
Date: Tue, 27 Apr 2021 19:45:48 +0200
Subject: [PATCH] feat: GetFreePlayers created

---
 .../icehockeymanager/facades/TeamManagerFacadeImpl.java     | 4 +++-
 .../fi/pa165/icehockeymanager/services/PlayerService.java   | 4 ++++
 .../pa165/icehockeymanager/services/PlayerServiceImpl.java  | 6 ++++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/main/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImpl.java b/src/main/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImpl.java
index 83e76d0..6711648 100644
--- a/src/main/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImpl.java
+++ b/src/main/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImpl.java
@@ -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.TeamDTO;
 import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownPlayerException;
 import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownTeamException;
 import cz.muni.fi.pa165.icehockeymanager.model.Player;
@@ -53,7 +54,8 @@ public class TeamManagerFacadeImpl implements TeamManagerFacade{
 
     @Override
     public Collection<PlayerDTO> getFreePlayers() {
-        return null;
+        var players = playerService.getFreePlayers();
+        return beanMappingService.mapTo(players, PlayerDTO.class);
     }
 
     @Override
diff --git a/src/main/java/cz/muni/fi/pa165/icehockeymanager/services/PlayerService.java b/src/main/java/cz/muni/fi/pa165/icehockeymanager/services/PlayerService.java
index 6651f19..035ccfb 100644
--- a/src/main/java/cz/muni/fi/pa165/icehockeymanager/services/PlayerService.java
+++ b/src/main/java/cz/muni/fi/pa165/icehockeymanager/services/PlayerService.java
@@ -1,8 +1,10 @@
 package cz.muni.fi.pa165.icehockeymanager.services;
 
+import cz.muni.fi.pa165.icehockeymanager.dto.PlayerDTO;
 import cz.muni.fi.pa165.icehockeymanager.model.Player;
 import cz.muni.fi.pa165.icehockeymanager.model.Team;
 
+import java.util.Collection;
 import java.util.Optional;
 
 /**
@@ -19,4 +21,6 @@ public interface PlayerService {
     Optional<Player> findPlayer(long id);
 
     void createPlayer(Player player, Team team);
+
+    Collection<Player> getFreePlayers();
 }
diff --git a/src/main/java/cz/muni/fi/pa165/icehockeymanager/services/PlayerServiceImpl.java b/src/main/java/cz/muni/fi/pa165/icehockeymanager/services/PlayerServiceImpl.java
index 7fa8878..8098836 100644
--- a/src/main/java/cz/muni/fi/pa165/icehockeymanager/services/PlayerServiceImpl.java
+++ b/src/main/java/cz/muni/fi/pa165/icehockeymanager/services/PlayerServiceImpl.java
@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.transaction.Transactional;
+import java.util.Collection;
 import java.util.Optional;
 
 @Service
@@ -29,4 +30,9 @@ public class PlayerServiceImpl implements PlayerService {
         player.setTeam(team);
         playerDao.create(player);
     }
+
+    @Override
+    public Collection<Player> getFreePlayers() {
+        return playerDao.getAllFreePlayers();
+    }
 }
-- 
GitLab