From fc0beeb89b2d6d7b75a96585d33faa44dfdd408c Mon Sep 17 00:00:00 2001 From: Jan Tymel <410388@mail.muni.cz> Date: Sun, 3 Jan 2021 14:43:08 +0100 Subject: [PATCH] Rename orderInTrainingDefinition field to order in BaseLevel entity, set trainingDefinitionId when creating a new entity --- .../java/com/example/demo/domain/BaseLevel.java | 13 ++++++++----- .../java/com/example/demo/mapper/BeanMapper.java | 16 ---------------- .../demo/repository/BaseLevelRepository.java | 2 +- .../demo/repository/GameLevelRepository.java | 2 +- .../demo/service/AssessmentLevelService.java | 5 ++--- .../example/demo/service/GameLevelService.java | 2 +- .../example/demo/service/InfoLevelService.java | 3 ++- .../demo/service/LevelOperationsService.java | 8 ++++---- .../example/demo/service/PhaseLevelService.java | 3 ++- 9 files changed, 21 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/example/demo/domain/BaseLevel.java b/src/main/java/com/example/demo/domain/BaseLevel.java index 42e528e1..6062cfb9 100644 --- a/src/main/java/com/example/demo/domain/BaseLevel.java +++ b/src/main/java/com/example/demo/domain/BaseLevel.java @@ -1,6 +1,7 @@ package com.example.demo.domain; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; @@ -23,7 +24,9 @@ public abstract class BaseLevel { private String title; private String estimatedDuration; private Long maxScore; - private Integer orderInTrainingDefinition; + + @Column(name = "order_in_training_definition", nullable = false) + private Integer order; @ManyToOne(fetch = FetchType.LAZY) private PhaseLevel phaseLevel; @@ -54,12 +57,12 @@ public abstract class BaseLevel { this.maxScore = maxScore; } - public Integer getOrderInTrainingDefinition() { - return orderInTrainingDefinition; + public Integer getOrder() { + return order; } - public void setOrderInTrainingDefinition(Integer orderInTrainingDefinition) { - this.orderInTrainingDefinition = orderInTrainingDefinition; + public void setOrder(Integer order) { + this.order = order; } public Long getId() { diff --git a/src/main/java/com/example/demo/mapper/BeanMapper.java b/src/main/java/com/example/demo/mapper/BeanMapper.java index a0ea597a..cee2cef2 100644 --- a/src/main/java/com/example/demo/mapper/BeanMapper.java +++ b/src/main/java/com/example/demo/mapper/BeanMapper.java @@ -31,29 +31,22 @@ public interface BeanMapper { AssessmentLevelDto toDto(AssessmentLevel assessmentLevel); - @Mapping(target = "orderInTrainingDefinition", source = "order") AssessmentLevel toEntity(AssessmentLevelDto assessmentLevel); GameLevelDto toDto(GameLevel gameLevel); - @Mapping(target = "orderInTrainingDefinition", source = "order") GameLevel toEntity(GameLevelDto gameLevel); - @Mapping(target = "orderInTrainingDefinition", source = "order") GameLevel toEntity(GameLevelCreateDto gameLevel); - @Mapping(target = "orderInTrainingDefinition", source = "order") GameLevel toEntity(GameLevelUpdateDto gameLevel); InfoLevelDto toDto(InfoLevel infoLevel); - @Mapping(target = "orderInTrainingDefinition", source = "order") InfoLevel toEntity(InfoLevelDto infoLevel); - @Mapping(target = "orderInTrainingDefinition", source = "order") InfoLevel toEntity(InfoLevelCreateDto gameLevel); - @Mapping(target = "orderInTrainingDefinition", source = "order") InfoLevel toEntity(InfoLevelUpdateDto gameLevel); AttachmentDto toDto(Attachment attachment); @@ -62,33 +55,24 @@ public interface BeanMapper { PhaseLevelDto toDto(PhaseLevel phaseLevel); - @Mapping(target = "orderInTrainingDefinition", source = "order") PhaseLevel toEntity(PhaseLevelDto phaseLevel); - @Mapping(target = "orderInTrainingDefinition", source = "order") AssessmentLevel toAssessmentLevel(GameDefinitionCreateDto gameDefinitionCreateDto); - @Mapping(target = "orderInTrainingDefinition", source = "order") InfoLevel toInfoLevel(GameDefinitionCreateDto gameDefinitionCreateDto); - @Mapping(target = "orderInTrainingDefinition", source = "order") GameLevel toGameLevel(GameDefinitionCreateDto gameDefinitionCreateDto); - @Mapping(target = "orderInTrainingDefinition", source = "order") PhaseLevel toPhaseLevel(GameDefinitionCreateDto gameDefinitionCreateDto); - @Mapping(target = "orderInTrainingDefinition", source = "order") AssessmentLevel updateAssessmentLevel(@MappingTarget AssessmentLevel assessmentLevel, GameDefinitionCreateDto gameDefinitionCreateDto); - @Mapping(target = "orderInTrainingDefinition", source = "order") InfoLevel updateInfoLevel(@MappingTarget InfoLevel infoLevel, GameDefinitionCreateDto gameDefinitionCreateDto); - @Mapping(target = "orderInTrainingDefinition", source = "order") @Mapping(target = "phaseLevel", ignore = true) @Mapping(target = "attachments", ignore = true) // TODO not really sure about this GameLevel updateGameLevel(@MappingTarget GameLevel gameLevel, GameDefinitionCreateDto gameDefinitionCreateDto); - @Mapping(target = "orderInTrainingDefinition", source = "order") @Mapping(target = "subLevels", ignore = true) PhaseLevel updatePhaseLevel(@MappingTarget PhaseLevel phaseLevel, GameDefinitionCreateDto gameDefinitionCreateDto); diff --git a/src/main/java/com/example/demo/repository/BaseLevelRepository.java b/src/main/java/com/example/demo/repository/BaseLevelRepository.java index 77541097..d08668be 100644 --- a/src/main/java/com/example/demo/repository/BaseLevelRepository.java +++ b/src/main/java/com/example/demo/repository/BaseLevelRepository.java @@ -7,6 +7,6 @@ import org.springframework.data.repository.query.Param; public interface BaseLevelRepository extends JpaRepository<BaseLevel, Long> { - @Query("SELECT COALESCE(MAX(l.orderInTrainingDefinition), -1) FROM BaseLevel l WHERE l.trainingDefinitionId = :trainingDefinitionId") + @Query("SELECT COALESCE(MAX(l.order), -1) FROM BaseLevel l WHERE l.trainingDefinitionId = :trainingDefinitionId") Integer getCurrentMaxOrder(@Param("trainingDefinitionId") Long trainingDefinitionId); } diff --git a/src/main/java/com/example/demo/repository/GameLevelRepository.java b/src/main/java/com/example/demo/repository/GameLevelRepository.java index 7e9599c5..2fbf2407 100644 --- a/src/main/java/com/example/demo/repository/GameLevelRepository.java +++ b/src/main/java/com/example/demo/repository/GameLevelRepository.java @@ -7,6 +7,6 @@ import org.springframework.data.repository.query.Param; public interface GameLevelRepository extends JpaRepository<GameLevel, Long> { - @Query("SELECT COALESCE(MAX(g.orderInTrainingDefinition), -1) FROM GameLevel g WHERE g.phaseLevel.id = :phaseId") + @Query("SELECT COALESCE(MAX(g.order), -1) FROM GameLevel g WHERE g.phaseLevel.id = :phaseId") Integer getCurrentMaxOrder(@Param("phaseId") Long phaseId); } diff --git a/src/main/java/com/example/demo/service/AssessmentLevelService.java b/src/main/java/com/example/demo/service/AssessmentLevelService.java index 7a2774fa..908934c6 100644 --- a/src/main/java/com/example/demo/service/AssessmentLevelService.java +++ b/src/main/java/com/example/demo/service/AssessmentLevelService.java @@ -1,9 +1,7 @@ package com.example.demo.service; import com.example.demo.domain.AssessmentLevel; -import com.example.demo.domain.InfoLevel; import com.example.demo.dto.AssessmentLevelDto; -import com.example.demo.dto.InfoLevelDto; import com.example.demo.mapper.BeanMapper; import com.example.demo.repository.AssessmentLevelRepository; import com.example.demo.repository.BaseLevelRepository; @@ -23,7 +21,8 @@ public class AssessmentLevelService { AssessmentLevel assessmentLevel = new AssessmentLevel(); assessmentLevel.setTitle("Title of assessment level"); - assessmentLevel.setOrderInTrainingDefinition(baseLevelRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); + assessmentLevel.setTrainingDefinitionId(trainingDefinitionId); + assessmentLevel.setOrder(baseLevelRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); AssessmentLevel persistedEntity = assessmentLevelRepository.save(assessmentLevel); diff --git a/src/main/java/com/example/demo/service/GameLevelService.java b/src/main/java/com/example/demo/service/GameLevelService.java index 46b432c1..233a50ed 100644 --- a/src/main/java/com/example/demo/service/GameLevelService.java +++ b/src/main/java/com/example/demo/service/GameLevelService.java @@ -31,7 +31,7 @@ public class GameLevelService { public GameLevelDto createDefaultGameLevel(Long phaseId) { GameLevel gameLevel = new GameLevel(); gameLevel.setTitle("Title of game"); - gameLevel.setOrderInTrainingDefinition(gameLevelRepository.getCurrentMaxOrder(phaseId) + 1); + gameLevel.setOrder(gameLevelRepository.getCurrentMaxOrder(phaseId) + 1); GameLevel persistedEntity = gameLevelRepository.save(gameLevel); diff --git a/src/main/java/com/example/demo/service/InfoLevelService.java b/src/main/java/com/example/demo/service/InfoLevelService.java index f36b80ec..35ecc5de 100644 --- a/src/main/java/com/example/demo/service/InfoLevelService.java +++ b/src/main/java/com/example/demo/service/InfoLevelService.java @@ -37,7 +37,8 @@ public class InfoLevelService { InfoLevel infoLevel = new InfoLevel(); infoLevel.setContent("Content of info level"); infoLevel.setTitle("Title of info level"); - infoLevel.setOrderInTrainingDefinition(baseLevelRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); + infoLevel.setTrainingDefinitionId(trainingDefinitionId); + infoLevel.setOrder(baseLevelRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); InfoLevel persistedEntity = infoLevelRepository.save(infoLevel); diff --git a/src/main/java/com/example/demo/service/LevelOperationsService.java b/src/main/java/com/example/demo/service/LevelOperationsService.java index f7f2447e..fc25235d 100644 --- a/src/main/java/com/example/demo/service/LevelOperationsService.java +++ b/src/main/java/com/example/demo/service/LevelOperationsService.java @@ -39,11 +39,11 @@ public class LevelOperationsService { return; } - int fromOrder = levelFrom.get().getOrderInTrainingDefinition(); - int toOrder = levelTo.get().getOrderInTrainingDefinition(); + int fromOrder = levelFrom.get().getOrder(); + int toOrder = levelTo.get().getOrder(); - levelFrom.get().setOrderInTrainingDefinition(toOrder); - levelTo.get().setOrderInTrainingDefinition(fromOrder); + levelFrom.get().setOrder(toOrder); + levelTo.get().setOrder(fromOrder); baseLevelRepository.save(levelFrom.get()); baseLevelRepository.save(levelTo.get()); diff --git a/src/main/java/com/example/demo/service/PhaseLevelService.java b/src/main/java/com/example/demo/service/PhaseLevelService.java index d087e4a6..a21c0194 100644 --- a/src/main/java/com/example/demo/service/PhaseLevelService.java +++ b/src/main/java/com/example/demo/service/PhaseLevelService.java @@ -21,7 +21,8 @@ public class PhaseLevelService { PhaseLevel phaseLevel = new PhaseLevel(); phaseLevel.setTitle("Title of assessment level"); - phaseLevel.setOrderInTrainingDefinition(baseLevelRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); + phaseLevel.setTrainingDefinitionId(trainingDefinitionId); + phaseLevel.setOrder(baseLevelRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); PhaseLevel persistedEntity = phaseLevelRepository.save(phaseLevel); -- GitLab