Skip to content
Snippets Groups Projects
Commit ab0f7c1d authored by Clément CORNU's avatar Clément CORNU
Browse files

feat: add logging on service

parent 0203be66
Branches
No related tags found
No related merge requests found
...@@ -15,26 +15,30 @@ import org.slf4j.LoggerFactory ...@@ -15,26 +15,30 @@ import org.slf4j.LoggerFactory
class PlayerServiceImpl(private val playerRepository: PlayerRepository) : PlayerService { class PlayerServiceImpl(private val playerRepository: PlayerRepository) : PlayerService {
private val logger = LoggerFactory.getLogger(Application::class.java) private val logger = LoggerFactory.getLogger(Application::class.java)
//0Transactional
override suspend fun createNewPlayer(playerCreationDTO: PlayerCreationDTO): Player { override suspend fun createNewPlayer(playerCreationDTO: PlayerCreationDTO): Player {
logger.info("Creating new player ") logger.info("Creating new player")
if (playerRepository.findByPseudo(playerCreationDTO.pseudo) != null) { if (playerRepository.findByPseudo(playerCreationDTO.pseudo) != null) {
throw AlreadyExistingPlayerException(playerCreationDTO.pseudo) throw AlreadyExistingPlayerException(playerCreationDTO.pseudo)
} }
return playerRepository.create(playerCreationDTO.toPlayer()) val created = playerRepository.create(playerCreationDTO.toPlayer())
logger.info("Player ${created.pseudo} successfully created")
return created
} }
override suspend fun updatePlayer(playerUpdateDTO: PlayerUpdateDTO): Player { override suspend fun updatePlayer(playerUpdateDTO: PlayerUpdateDTO): Player {
logger.info("Updating player ${playerUpdateDTO.pseudo}")
getPlayerByPseudo(playerUpdateDTO.pseudo) getPlayerByPseudo(playerUpdateDTO.pseudo)
return playerRepository.update(playerUpdateDTO.toPlayer()) val updated = playerRepository.update(playerUpdateDTO.toPlayer())
logger.info("Player ${updated.pseudo} successfully updated")
return updated
} }
override suspend fun getPlayerByPseudo(pseudo: String): Player { override suspend fun getPlayerByPseudo(pseudo: String): Player {
return playerRepository.findByPseudo(pseudo) ?: throw NotFoundException("Player $pseudo not found") return playerRepository.findByPseudo(pseudo) ?: throw NotFoundException("Player $pseudo not found")
} }
//transac
override suspend fun getPlayerInfoByPseudo(pseudo: String): PlayerInfoDTO { override suspend fun getPlayerInfoByPseudo(pseudo: String): PlayerInfoDTO {
logger.info("Gathering infos for $pseudo")
val player = getPlayerByPseudo(pseudo) val player = getPlayerByPseudo(pseudo)
val rank = playerRepository.getRank(player) val rank = playerRepository.getRank(player)
return player.toPlayerInfoDTO(rank) return player.toPlayerInfoDTO(rank)
...@@ -44,7 +48,8 @@ class PlayerServiceImpl(private val playerRepository: PlayerRepository) : Player ...@@ -44,7 +48,8 @@ class PlayerServiceImpl(private val playerRepository: PlayerRepository) : Player
val allPlayers = playerRepository.findAll() val allPlayers = playerRepository.findAll()
var currentRank = 1 var currentRank = 1
var previousPoints = 0 var previousPoints = 0
return allPlayers.sortedByDescending { it.pointsNumber }.mapIndexed { index, player -> logger.info("Sorting all player by their rank")
val sorted = allPlayers.sortedByDescending { it.pointsNumber }.mapIndexed { index, player ->
if (previousPoints != player.pointsNumber) { if (previousPoints != player.pointsNumber) {
currentRank = index + 1 currentRank = index + 1
} }
...@@ -55,10 +60,13 @@ class PlayerServiceImpl(private val playerRepository: PlayerRepository) : Player ...@@ -55,10 +60,13 @@ class PlayerServiceImpl(private val playerRepository: PlayerRepository) : Player
ranking = currentRank, ranking = currentRank,
) )
} }
return sorted
} }
override suspend fun deleteAllPlayers() { override suspend fun deleteAllPlayers() {
logger.info("Deleting all players from database")
playerRepository.deleteAll() playerRepository.deleteAll()
logger.info("Players successfully deleted")
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment