| 1 | package org.hplr.game.infrastructure.dbadapter.adapters; | |
| 2 | ||
| 3 | import lombok.RequiredArgsConstructor; | |
| 4 | import lombok.extern.slf4j.Slf4j; | |
| 5 | ||
| 6 | import org.hplr.game.core.enums.Status; | |
| 7 | import org.hplr.game.core.model.GameSnapshot; | |
| 8 | import org.hplr.game.core.usecases.port.out.command.SaveGameSecondSideCommandInterface; | |
| 9 | import org.hplr.game.core.usecases.port.out.command.SaveScoreCommandInterface; | |
| 10 | import org.hplr.game.infrastructure.dbadapter.entities.GameArmyTypeEntity; | |
| 11 | import org.hplr.game.infrastructure.dbadapter.entities.GameEntity; | |
| 12 | import org.hplr.game.infrastructure.dbadapter.entities.GameTurnScoreEntity; | |
| 13 | import org.hplr.game.infrastructure.dbadapter.mappers.GameSideDatabaseMapper; | |
| 14 | import org.hplr.game.infrastructure.dbadapter.repositories.GameArmyTypeRepository; | |
| 15 | import org.hplr.game.infrastructure.dbadapter.repositories.GameRepository; | |
| 16 | ||
| 17 | import org.hplr.elo.core.model.vo.Score; | |
| 18 | ||
| 19 | import org.hplr.user.infrastructure.dbadapter.entities.PlayerEntity; | |
| 20 | import org.hplr.user.infrastructure.dbadapter.repositories.PlayerQueryRepository; | |
| 21 | ||
| 22 | import org.hplr.library.exception.HPLRIllegalStateException; | |
| 23 | import org.springframework.stereotype.Service; | |
| 24 | ||
| 25 | import java.util.List; | |
| 26 | import java.util.NoSuchElementException; | |
| 27 | ||
| 28 | import static org.hplr.game.infrastructure.dbadapter.adapters.GameCommandAdapter.mapGamePlayerDataEntityList; | |
| 29 | ||
| 30 | @Service | |
| 31 | @Slf4j | |
| 32 | @RequiredArgsConstructor | |
| 33 | public class GameSideCommandAdapter implements SaveGameSecondSideCommandInterface, SaveScoreCommandInterface { | |
| 34 | ||
| 35 | final GameRepository gameRepository; | |
| 36 | final PlayerQueryRepository playerQueryRepository; | |
| 37 | final GameArmyTypeRepository gameArmyTypeRepository; | |
| 38 | ||
| 39 | @Override | |
| 40 | public void saveGameSecondSide(GameSnapshot gameSnapshot) { | |
| 41 | ||
| 42 | List<PlayerEntity> allPlayerEntityList = playerQueryRepository.findAll(); | |
| 43 |
1
1. saveGameSecondSide : negated conditional → KILLED |
if (allPlayerEntityList.isEmpty()) { |
| 44 | throw new HPLRIllegalStateException("Not enough players!"); | |
| 45 | } | |
| 46 | List<GameArmyTypeEntity> armyTypeEntityList = gameArmyTypeRepository.findAll(); | |
| 47 |
1
1. saveGameSecondSide : negated conditional → KILLED |
if (armyTypeEntityList.isEmpty()) { |
| 48 | throw new HPLRIllegalStateException("No army types!"); | |
| 49 | } | |
| 50 |
1
1. lambda$saveGameSecondSide$0 : replaced return value with null for org/hplr/game/infrastructure/dbadapter/adapters/GameSideCommandAdapter::lambda$saveGameSecondSide$0 → KILLED |
GameEntity gameEntity = gameRepository.findByGameId(gameSnapshot.gameId().gameId()).orElseThrow(() -> new NoSuchElementException("Game not found!")); |
| 51 |
1
1. saveGameSecondSide : removed call to org/hplr/game/infrastructure/dbadapter/entities/GameEntity::setSecondGameSide → KILLED |
gameEntity.setSecondGameSide(GameSideDatabaseMapper.fromSnapshot( |
| 52 | gameSnapshot.secondGameSide())); | |
| 53 |
1
1. saveGameSecondSide : removed call to org/hplr/game/infrastructure/dbadapter/entities/GameSideEntity::setGamePlayerDataEntityList → KILLED |
gameEntity.getSecondGameSide().setGamePlayerDataEntityList( mapGamePlayerDataEntityList(gameSnapshot.secondGameSide(), allPlayerEntityList, armyTypeEntityList)); |
| 54 |
1
1. saveGameSecondSide : removed call to org/hplr/game/infrastructure/dbadapter/entities/GameEntity::setStatus → KILLED |
gameEntity.setStatus(Status.AWAITING); |
| 55 | gameRepository.save(gameEntity); | |
| 56 | } | |
| 57 | ||
| 58 | @Override | |
| 59 | public void saveScore(GameSnapshot gameSnapshot, Score score, Boolean firstSide) { | |
| 60 |
1
1. lambda$saveScore$1 : replaced return value with null for org/hplr/game/infrastructure/dbadapter/adapters/GameSideCommandAdapter::lambda$saveScore$1 → KILLED |
GameEntity gameEntity = gameRepository.findByGameId(gameSnapshot.gameId().gameId()).orElseThrow(() -> new NoSuchElementException("Game not found!")); |
| 61 |
1
1. saveScore : negated conditional → KILLED |
if(Boolean.TRUE.equals(firstSide)){ |
| 62 | GameTurnScoreEntity gameTurnScoreEntity = | |
| 63 | gameEntity.getFirstGameSide().getTurnScoreEntityList() | |
| 64 | .stream() | |
| 65 |
2
1. lambda$saveScore$2 : replaced boolean return with false for org/hplr/game/infrastructure/dbadapter/adapters/GameSideCommandAdapter::lambda$saveScore$2 → KILLED 2. lambda$saveScore$2 : replaced boolean return with true for org/hplr/game/infrastructure/dbadapter/adapters/GameSideCommandAdapter::lambda$saveScore$2 → KILLED |
.filter(scoreEntity-> score.turnNumber().equals(scoreEntity.getTurnNumber())) |
| 66 | .findFirst() | |
| 67 |
1
1. lambda$saveScore$3 : replaced return value with null for org/hplr/game/infrastructure/dbadapter/adapters/GameSideCommandAdapter::lambda$saveScore$3 → KILLED |
.orElseThrow(() -> new NoSuchElementException("Turn not found")); |
| 68 |
1
1. saveScore : removed call to org/hplr/game/infrastructure/dbadapter/entities/GameTurnScoreEntity::setTurnScore → KILLED |
gameTurnScoreEntity.setTurnScore(score.turnScore()); |
| 69 |
1
1. saveScore : removed call to org/hplr/game/infrastructure/dbadapter/entities/GameTurnScoreEntity::setTabled → KILLED |
gameTurnScoreEntity.setTabled(score.tabled()); |
| 70 | } | |
| 71 | else{ | |
| 72 | GameTurnScoreEntity gameTurnScoreEntity = | |
| 73 | gameEntity.getSecondGameSide().getTurnScoreEntityList() | |
| 74 | .stream() | |
| 75 |
2
1. lambda$saveScore$4 : replaced boolean return with false for org/hplr/game/infrastructure/dbadapter/adapters/GameSideCommandAdapter::lambda$saveScore$4 → KILLED 2. lambda$saveScore$4 : replaced boolean return with true for org/hplr/game/infrastructure/dbadapter/adapters/GameSideCommandAdapter::lambda$saveScore$4 → KILLED |
.filter(scoreEntity-> score.turnNumber().equals(scoreEntity.getTurnNumber())) |
| 76 | .findFirst() | |
| 77 |
1
1. lambda$saveScore$5 : replaced return value with null for org/hplr/game/infrastructure/dbadapter/adapters/GameSideCommandAdapter::lambda$saveScore$5 → KILLED |
.orElseThrow(() -> new NoSuchElementException("Turn not found")); |
| 78 |
1
1. saveScore : removed call to org/hplr/game/infrastructure/dbadapter/entities/GameTurnScoreEntity::setTurnScore → KILLED |
gameTurnScoreEntity.setTurnScore(score.turnScore()); |
| 79 |
1
1. saveScore : removed call to org/hplr/game/infrastructure/dbadapter/entities/GameTurnScoreEntity::setTabled → KILLED |
gameTurnScoreEntity.setTabled(score.tabled()); |
| 80 | } | |
| 81 | gameRepository.save(gameEntity); | |
| 82 | } | |
| 83 | } | |
Mutations | ||
| 43 |
1.1 |
|
| 47 |
1.1 |
|
| 50 |
1.1 |
|
| 51 |
1.1 |
|
| 53 |
1.1 |
|
| 54 |
1.1 |
|
| 60 |
1.1 |
|
| 61 |
1.1 |
|
| 65 |
1.1 2.2 |
|
| 67 |
1.1 |
|
| 68 |
1.1 |
|
| 69 |
1.1 |
|
| 75 |
1.1 2.2 |
|
| 77 |
1.1 |
|
| 78 |
1.1 |
|
| 79 |
1.1 |