diff --git a/src/main/java/com/example/demo/domain/BaseLevel.java b/src/main/java/com/example/demo/domain/BaseLevel.java index 42e528e1583232eea5b646397d83a313c8820ec1..6062cfb95047ea71e83c9f218212527f0ea474bb 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 a0ea597a8897060c3ff64022d4b0c1adbecc6499..cee2cef2fa476d30016db6cce970311f4d3f67f9 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 7754109783192421e715e7d01beeee1cdfa33ee1..d08668bef36104e5b6825e8831b0712ffaddaec9 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 7e9599c503de6ffc02c8626622fca1c8f1ea0ec9..2fbf2407bb2bc26867647121f22d264e26d006dc 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 7a2774fadfc11827675bb8575c86d6a0da270f1e..908934c6df3f58f5ebd6355966e7e96d1b36b4de 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 46b432c133360adbfc09ccfd45059f5186f4e279..233a50edf56e83ac924ea7828bf56af58e0854a3 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 f36b80ec51bb5f0ac938d995f9b48032ca5da70d..35ecc5de417481ff425e5c4d520539b926f923c1 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 f7f2447e3de8eaab4d3c4620a4d653b4abc62bdc..fc25235d946fdecfdbaa0e2509580619496bdf99 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 d087e4a62175ff40da39996073deb12d0db4296e..a21c0194b5d4263086f50b48e72eeabd118d6d29 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);