diff --git a/src/main/java/com/example/demo/controller/PhasesController.java b/src/main/java/com/example/demo/controller/PhasesController.java index 20f3370a8fb1c0464d0d3729ceb2b09f8b3a252d..ace60628f84ec2583d7f4e58798d781b9f7e924c 100644 --- a/src/main/java/com/example/demo/controller/PhasesController.java +++ b/src/main/java/com/example/demo/controller/PhasesController.java @@ -1,6 +1,6 @@ package com.example.demo.controller; -import com.example.demo.dto.BaseLevelDto; +import com.example.demo.dto.AbstractPhaseDto; import com.example.demo.dto.InfoPhaseDto; import com.example.demo.dto.InfoPhaseUpdateDto; import com.example.demo.dto.PhaseCreateDTO; @@ -49,7 +49,7 @@ public class PhasesController { @ApiOperation(httpMethod = "POST", value = "Create a new phase", notes = "Creates a new default phase with a specified type", - response = BaseLevelDto.class, + response = AbstractPhaseDto.class, nickname = "createPhase", produces = MediaType.APPLICATION_JSON_VALUE ) @@ -58,13 +58,13 @@ public class PhasesController { @ApiResponse(code = 500, message = "Unexpected application error") }) @PostMapping - public ResponseEntity<BaseLevelDto> createPhase( + public ResponseEntity<AbstractPhaseDto> createPhase( @ApiParam(value = "Training definition ID", required = true) @PathVariable(name = "definitionId") Long definitionId, @ApiParam(value = "Level type", allowableValues = "questionnaire, info, game", required = true) @RequestBody @Valid PhaseCreateDTO phaseCreateDTO) { - BaseLevelDto createdPhase = trainingPhaseFacade.createPhase(definitionId, phaseCreateDTO); + AbstractPhaseDto createdPhase = trainingPhaseFacade.createPhase(definitionId, phaseCreateDTO); return new ResponseEntity<>(createdPhase, HttpStatus.CREATED); } @@ -81,18 +81,18 @@ public class PhasesController { @ApiResponse(code = 500, message = "Unexpected application error") }) @GetMapping - public ResponseEntity<List<BaseLevelDto>> getPhases( + public ResponseEntity<List<AbstractPhaseDto>> getPhases( @ApiParam(value = "Training definition ID", required = true) @PathVariable(name = "definitionId") Long definitionId) { - List<BaseLevelDto> phases = trainingPhaseFacade.getPhases(definitionId); + List<AbstractPhaseDto> phases = trainingPhaseFacade.getPhases(definitionId); return new ResponseEntity<>(phases, HttpStatus.OK); } @ApiOperation(httpMethod = "GET", value = "Get phase by ID", - response = BaseLevelDto.class, + response = AbstractPhaseDto.class, nickname = "getPhase", produces = MediaType.APPLICATION_JSON_VALUE ) @@ -101,20 +101,20 @@ public class PhasesController { @ApiResponse(code = 500, message = "Unexpected application error") }) @GetMapping(path = "/{phaseId}") - public ResponseEntity<BaseLevelDto> getPhase( + public ResponseEntity<AbstractPhaseDto> getPhase( @ApiParam(value = "Training definition ID", required = true) @PathVariable(name = "definitionId") Long definitionId, @ApiParam(value = "Level ID", required = true) @PathVariable("phaseId") Long phaseId) { - BaseLevelDto phase = trainingPhaseFacade.getPhase(definitionId, phaseId); + AbstractPhaseDto phase = trainingPhaseFacade.getPhase(definitionId, phaseId); return new ResponseEntity<>(phase, HttpStatus.OK); } @ApiOperation(httpMethod = "DELETE", value = "Remove phase by ID", - response = BaseLevelDto.class, + response = AbstractPhaseDto.class, nickname = "getPhase", produces = MediaType.APPLICATION_JSON_VALUE ) @@ -123,13 +123,13 @@ public class PhasesController { @ApiResponse(code = 500, message = "Unexpected application error") }) @DeleteMapping(path = "/{phaseId}") - public ResponseEntity<List<BaseLevelDto>> removePhase( + public ResponseEntity<List<AbstractPhaseDto>> removePhase( @ApiParam(value = "Training definition ID", required = true) @PathVariable(name = "definitionId") Long definitionId, @ApiParam(value = "Level ID", required = true) @PathVariable("phaseId") Long phaseId) { - List<BaseLevelDto> remainingPhases = trainingPhaseFacade.deletePhase(definitionId, phaseId); + List<AbstractPhaseDto> remainingPhases = trainingPhaseFacade.deletePhase(definitionId, phaseId); return new ResponseEntity<>(remainingPhases, HttpStatus.OK); } diff --git a/src/main/java/com/example/demo/domain/BaseLevel.java b/src/main/java/com/example/demo/domain/AbstractPhase.java similarity index 97% rename from src/main/java/com/example/demo/domain/BaseLevel.java rename to src/main/java/com/example/demo/domain/AbstractPhase.java index 58119c0a0f882c6c828478cef67eddfc6a08b385..ec049c570f27312124937185e073a85bd81ae0a7 100644 --- a/src/main/java/com/example/demo/domain/BaseLevel.java +++ b/src/main/java/com/example/demo/domain/AbstractPhase.java @@ -15,7 +15,7 @@ import javax.persistence.ManyToOne; @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) -public abstract class BaseLevel { +public abstract class AbstractPhase { @Id @GeneratedValue @@ -109,7 +109,7 @@ public abstract class BaseLevel { @Override public String toString() { - return "BaseLevel{" + + return "AbstractPhase{" + "id=" + id + ", title='" + title + '\'' + ", estimatedDuration='" + estimatedDuration + '\'' + diff --git a/src/main/java/com/example/demo/domain/InfoPhase.java b/src/main/java/com/example/demo/domain/InfoPhase.java index 9e64966283d4ed1a334fcfd98c1b17bc636527a3..82b0a8f7bd8aebaa82ac2304d7f8457dd7ba3357 100644 --- a/src/main/java/com/example/demo/domain/InfoPhase.java +++ b/src/main/java/com/example/demo/domain/InfoPhase.java @@ -3,7 +3,7 @@ package com.example.demo.domain; import javax.persistence.Entity; @Entity -public class InfoPhase extends BaseLevel { +public class InfoPhase extends AbstractPhase { private String content; diff --git a/src/main/java/com/example/demo/domain/QuestionnaireLevel.java b/src/main/java/com/example/demo/domain/QuestionnaireLevel.java index f46a78cc5da880a689b8135005e2f8f69c61bb71..939a4ca614c6d0e9bb8a03b4c58c907f8590ba0f 100644 --- a/src/main/java/com/example/demo/domain/QuestionnaireLevel.java +++ b/src/main/java/com/example/demo/domain/QuestionnaireLevel.java @@ -12,7 +12,7 @@ import javax.persistence.OrderBy; import java.util.List; @Entity -public class QuestionnaireLevel extends BaseLevel { +public class QuestionnaireLevel extends AbstractPhase { @Enumerated(EnumType.STRING) private QuestionnaireType questionnaireType; diff --git a/src/main/java/com/example/demo/domain/Task.java b/src/main/java/com/example/demo/domain/Task.java index 2a28026aab2fe4c3c3b25d35181e2b409493bb49..e938af9cc5ee7a597ce4efc38b3e7f9a1fdb809f 100644 --- a/src/main/java/com/example/demo/domain/Task.java +++ b/src/main/java/com/example/demo/domain/Task.java @@ -1,16 +1,12 @@ package com.example.demo.domain; -import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.ManyToOne; -import javax.persistence.OneToMany; -import javax.persistence.OrderBy; -import java.util.List; @Entity -public class Task extends BaseLevel { +public class Task extends AbstractPhase { private String content; private String flag; diff --git a/src/main/java/com/example/demo/domain/TrainingPhase.java b/src/main/java/com/example/demo/domain/TrainingPhase.java index f2b223e6604a1fdb4d954a5e656a3dabb3055e81..ea6200a08ac239305fd6f4a142be6003e3d21a66 100644 --- a/src/main/java/com/example/demo/domain/TrainingPhase.java +++ b/src/main/java/com/example/demo/domain/TrainingPhase.java @@ -8,7 +8,7 @@ import javax.persistence.OrderBy; import java.util.List; @Entity -public class TrainingPhase extends BaseLevel { +public class TrainingPhase extends AbstractPhase { @OrderBy @OneToMany(mappedBy = "trainingPhase", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) diff --git a/src/main/java/com/example/demo/dto/BaseLevelDto.java b/src/main/java/com/example/demo/dto/AbstractPhaseDto.java similarity index 95% rename from src/main/java/com/example/demo/dto/BaseLevelDto.java rename to src/main/java/com/example/demo/dto/AbstractPhaseDto.java index 56d3fe9cc156248a0d2bc3dc61d687fee15c29fc..27a35a80abab890f6af7d162fc6fda5109ef3802 100644 --- a/src/main/java/com/example/demo/dto/BaseLevelDto.java +++ b/src/main/java/com/example/demo/dto/AbstractPhaseDto.java @@ -4,7 +4,7 @@ import com.example.demo.enums.PhaseType; import java.io.Serializable; -public abstract class BaseLevelDto implements Serializable { +public abstract class AbstractPhaseDto implements Serializable { private Long id; private String title; @@ -81,7 +81,7 @@ public abstract class BaseLevelDto implements Serializable { @Override public String toString() { - return "BaseLevelDto{" + + return "AbstractPhaseDto{" + "id=" + id + ", title='" + title + '\'' + ", order=" + order + diff --git a/src/main/java/com/example/demo/dto/InfoPhaseDto.java b/src/main/java/com/example/demo/dto/InfoPhaseDto.java index 2869723b68f3ee04aa6a53a56393284b1e35ca33..e7f8ceb15dc93fe4f79e7653a133056f993a11aa 100644 --- a/src/main/java/com/example/demo/dto/InfoPhaseDto.java +++ b/src/main/java/com/example/demo/dto/InfoPhaseDto.java @@ -2,7 +2,7 @@ package com.example.demo.dto; import java.io.Serializable; -public class InfoPhaseDto extends BaseLevelDto implements Serializable { +public class InfoPhaseDto extends AbstractPhaseDto implements Serializable { private String content; diff --git a/src/main/java/com/example/demo/dto/QuestionnaireLevelDto.java b/src/main/java/com/example/demo/dto/QuestionnaireLevelDto.java index bec77996a766b2efd9c979d828029ff8a2a739ae..64da5cbfbf679b6627207c2e0c1aa8d513398dac 100644 --- a/src/main/java/com/example/demo/dto/QuestionnaireLevelDto.java +++ b/src/main/java/com/example/demo/dto/QuestionnaireLevelDto.java @@ -2,7 +2,7 @@ package com.example.demo.dto; import java.util.List; -public class QuestionnaireLevelDto extends BaseLevelDto { +public class QuestionnaireLevelDto extends AbstractPhaseDto { private List<QuestionDto> questions; diff --git a/src/main/java/com/example/demo/dto/TaskDto.java b/src/main/java/com/example/demo/dto/TaskDto.java index d730c427ddf072cecbd604efe0e1919486fdef75..d346aae01b540fafb2a7bb2ca63a66554f11d44c 100644 --- a/src/main/java/com/example/demo/dto/TaskDto.java +++ b/src/main/java/com/example/demo/dto/TaskDto.java @@ -1,9 +1,8 @@ package com.example.demo.dto; import java.io.Serializable; -import java.util.List; -public class TaskDto extends BaseLevelDto implements Serializable { +public class TaskDto extends AbstractPhaseDto implements Serializable { private String content; private String flag; diff --git a/src/main/java/com/example/demo/dto/TrainingPhaseDto.java b/src/main/java/com/example/demo/dto/TrainingPhaseDto.java index 9753e3f49f7399225901ee246ae6182de0b5b7d1..68dd62c1b87df592a10821acfa8ba44529fa6ef9 100644 --- a/src/main/java/com/example/demo/dto/TrainingPhaseDto.java +++ b/src/main/java/com/example/demo/dto/TrainingPhaseDto.java @@ -2,7 +2,7 @@ package com.example.demo.dto; import java.util.List; -public class TrainingPhaseDto extends BaseLevelDto { +public class TrainingPhaseDto extends AbstractPhaseDto { private List<TaskDto> tasks; diff --git a/src/main/java/com/example/demo/facade/TrainingPhaseFacade.java b/src/main/java/com/example/demo/facade/TrainingPhaseFacade.java index a2ca2b853d202859105463944fbfec5ff200e970..d080d585489e6daa0389002b7fdfff43deb099bc 100644 --- a/src/main/java/com/example/demo/facade/TrainingPhaseFacade.java +++ b/src/main/java/com/example/demo/facade/TrainingPhaseFacade.java @@ -1,6 +1,6 @@ package com.example.demo.facade; -import com.example.demo.dto.BaseLevelDto; +import com.example.demo.dto.AbstractPhaseDto; import com.example.demo.dto.InfoPhaseDto; import com.example.demo.dto.InfoPhaseUpdateDto; import com.example.demo.dto.PhaseCreateDTO; @@ -34,35 +34,35 @@ public class TrainingPhaseFacade { @Autowired private TrainingPhaseService trainingPhaseService; - public BaseLevelDto createPhase(Long trainingDefinitionId, PhaseCreateDTO phaseCreateDTO) { - BaseLevelDto baseLevelDto; + public AbstractPhaseDto createPhase(Long trainingDefinitionId, PhaseCreateDTO phaseCreateDTO) { + AbstractPhaseDto abstractPhaseDto; if (PhaseType.INFO.equals(phaseCreateDTO.getPhaseType())) { - baseLevelDto = infoPhaseService.createDefaultInfoPhase(trainingDefinitionId); + abstractPhaseDto = infoPhaseService.createDefaultInfoPhase(trainingDefinitionId); } else if (PhaseType.QUESTIONNAIRE.equals(phaseCreateDTO.getPhaseType())) { - baseLevelDto = questionnaireLevelService.createDefaultQuestionnaireLevel(trainingDefinitionId); + abstractPhaseDto = questionnaireLevelService.createDefaultQuestionnaireLevel(trainingDefinitionId); } else { - baseLevelDto = trainingPhaseService.createDefaultTrainingPhase(trainingDefinitionId); + abstractPhaseDto = trainingPhaseService.createDefaultTrainingPhase(trainingDefinitionId); } - baseLevelDto.setPhaseType(phaseCreateDTO.getPhaseType()); + abstractPhaseDto.setPhaseType(phaseCreateDTO.getPhaseType()); - return baseLevelDto; + return abstractPhaseDto; } @Transactional - public List<BaseLevelDto> deletePhase(Long definitionId, Long phaseId) { + public List<AbstractPhaseDto> deletePhase(Long definitionId, Long phaseId) { phaseService.deletePhase(definitionId, phaseId); return getPhases(definitionId); } - public BaseLevelDto getPhase(Long definitionId, Long phaseId) { + public AbstractPhaseDto getPhase(Long definitionId, Long phaseId) { return phaseService.getPhase(definitionId, phaseId); } - public List<BaseLevelDto> getPhases(Long definitionId) { + public List<AbstractPhaseDto> getPhases(Long definitionId) { return phaseService.getPhases(definitionId); } diff --git a/src/main/java/com/example/demo/mapper/BeanMapper.java b/src/main/java/com/example/demo/mapper/BeanMapper.java index 7cfc42c4171b6eb3972ae4567943a67a6722bf1c..41e6bcb9d73dd5cf65488ffdb3a25ea3ca3d4f95 100644 --- a/src/main/java/com/example/demo/mapper/BeanMapper.java +++ b/src/main/java/com/example/demo/mapper/BeanMapper.java @@ -1,7 +1,7 @@ package com.example.demo.mapper; +import com.example.demo.domain.AbstractPhase; import com.example.demo.domain.Attachment; -import com.example.demo.domain.BaseLevel; import com.example.demo.domain.DecisionMatrixRow; import com.example.demo.domain.InfoPhase; import com.example.demo.domain.TrainingPhase; @@ -9,8 +9,8 @@ import com.example.demo.domain.Question; import com.example.demo.domain.QuestionChoice; import com.example.demo.domain.QuestionnaireLevel; import com.example.demo.domain.Task; +import com.example.demo.dto.AbstractPhaseDto; import com.example.demo.dto.AttachmentDto; -import com.example.demo.dto.BaseLevelDto; import com.example.demo.dto.DecisionMatrixRowDto; import com.example.demo.dto.InfoPhaseDto; import com.example.demo.dto.InfoPhaseUpdateDto; @@ -38,24 +38,24 @@ public interface BeanMapper { BeanMapper INSTANCE = Mappers.getMapper(BeanMapper.class); - default BaseLevelDto toDto(BaseLevel baseLevel) { - BaseLevelDto baseLevelDto; - if (baseLevel instanceof TrainingPhase) { - baseLevelDto = toDto((TrainingPhase) baseLevel); - } else if (baseLevel instanceof InfoPhase) { - baseLevelDto = toDto((InfoPhase) baseLevel); - } else if (baseLevel instanceof Task) { - baseLevelDto = toDto((Task) baseLevel); - } else if (baseLevel instanceof QuestionnaireLevel) { - baseLevelDto = toDto((QuestionnaireLevel) baseLevel); + default AbstractPhaseDto toDto(AbstractPhase abstractPhase) { + AbstractPhaseDto abstractPhaseDto; + if (abstractPhase instanceof TrainingPhase) { + abstractPhaseDto = toDto((TrainingPhase) abstractPhase); + } else if (abstractPhase instanceof InfoPhase) { + abstractPhaseDto = toDto((InfoPhase) abstractPhase); + } else if (abstractPhase instanceof Task) { + abstractPhaseDto = toDto((Task) abstractPhase); + } else if (abstractPhase instanceof QuestionnaireLevel) { + abstractPhaseDto = toDto((QuestionnaireLevel) abstractPhase); } else { - throw new RuntimeException("Unknown level type " + baseLevel.getClass().getName()); + throw new RuntimeException("Unknown level type " + abstractPhase.getClass().getName()); } - return baseLevelDto; + return abstractPhaseDto; } - List<BaseLevelDto> toDtoList(List<BaseLevel> baseLevel); + List<AbstractPhaseDto> toDtoList(List<AbstractPhase> abstractPhase); @Mapping(target = "phaseType", constant = "task") TaskDto toDto(Task task); diff --git a/src/main/java/com/example/demo/repository/BaseLevelRepository.java b/src/main/java/com/example/demo/repository/AbstractPhaseRepository.java similarity index 73% rename from src/main/java/com/example/demo/repository/BaseLevelRepository.java rename to src/main/java/com/example/demo/repository/AbstractPhaseRepository.java index fbb6ef7661f63cba2d65313e09e0fdde5ee8fc7f..1b8c6a039ee092ae22c138fa13196c3d91a32114 100644 --- a/src/main/java/com/example/demo/repository/BaseLevelRepository.java +++ b/src/main/java/com/example/demo/repository/AbstractPhaseRepository.java @@ -1,6 +1,6 @@ package com.example.demo.repository; -import com.example.demo.domain.BaseLevel; +import com.example.demo.domain.AbstractPhase; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; @@ -8,22 +8,22 @@ import org.springframework.data.repository.query.Param; import java.util.List; -public interface BaseLevelRepository extends JpaRepository<BaseLevel, Long> { +public interface AbstractPhaseRepository extends JpaRepository<AbstractPhase, Long> { - List<BaseLevel> findAllByTrainingDefinitionIdOrderByOrder(long trainingDefinitionId); + List<AbstractPhase> findAllByTrainingDefinitionIdOrderByOrder(long trainingDefinitionId); - @Query("SELECT COALESCE(MAX(l.order), -1) FROM BaseLevel l WHERE l.trainingDefinitionId = :trainingDefinitionId") + @Query("SELECT COALESCE(MAX(l.order), -1) FROM AbstractPhase l WHERE l.trainingDefinitionId = :trainingDefinitionId") Integer getCurrentMaxOrder(@Param("trainingDefinitionId") Long trainingDefinitionId); @Modifying - @Query("UPDATE BaseLevel l SET l.order = l.order - 1 " + + @Query("UPDATE AbstractPhase l SET l.order = l.order - 1 " + "WHERE l.trainingDefinitionId = :trainingDefinitionId " + "AND l.order > :order ") void decreaseOrderAfterLevelWasDeleted(@Param("trainingDefinitionId") Long trainingDefinitionId, @Param("order") int order); @Modifying - @Query("UPDATE BaseLevel l SET l.order = l.order + 1 " + + @Query("UPDATE AbstractPhase l SET l.order = l.order + 1 " + "WHERE l.trainingDefinitionId = :trainingDefinitionId " + "AND l.order >= :lowerBound " + "AND l.order < :upperBound ") @@ -32,7 +32,7 @@ public interface BaseLevelRepository extends JpaRepository<BaseLevel, Long> { @Param("upperBound") int upperBound); @Modifying - @Query("UPDATE BaseLevel l SET l.order = l.order - 1 " + + @Query("UPDATE AbstractPhase l SET l.order = l.order - 1 " + "WHERE l.trainingDefinitionId = :trainingDefinitionId " + "AND l.order > :lowerBound " + "AND l.order <= :upperBound ") diff --git a/src/main/java/com/example/demo/service/InfoPhaseService.java b/src/main/java/com/example/demo/service/InfoPhaseService.java index e3c116de8c6fe009e4b4167960d83e15c8bb0ea4..c0fb1d2bf3ac9100d3362d17692b461c579e2448 100644 --- a/src/main/java/com/example/demo/service/InfoPhaseService.java +++ b/src/main/java/com/example/demo/service/InfoPhaseService.java @@ -4,7 +4,7 @@ import com.example.demo.domain.InfoPhase; import com.example.demo.dto.InfoPhaseDto; import com.example.demo.dto.InfoPhaseUpdateDto; import com.example.demo.mapper.BeanMapper; -import com.example.demo.repository.BaseLevelRepository; +import com.example.demo.repository.AbstractPhaseRepository; import com.example.demo.repository.InfoPhaseRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,12 +17,12 @@ public class InfoPhaseService { private static final Logger LOG = LoggerFactory.getLogger(InfoPhaseService.class); private final InfoPhaseRepository infoPhaseRepository; - private final BaseLevelRepository baseLevelRepository; + private final AbstractPhaseRepository abstractPhaseRepository; @Autowired - public InfoPhaseService(InfoPhaseRepository infoPhaseRepository, BaseLevelRepository baseLevelRepository) { + public InfoPhaseService(InfoPhaseRepository infoPhaseRepository, AbstractPhaseRepository abstractPhaseRepository) { this.infoPhaseRepository = infoPhaseRepository; - this.baseLevelRepository = baseLevelRepository; + this.abstractPhaseRepository = abstractPhaseRepository; } public InfoPhaseDto createDefaultInfoPhase(Long trainingDefinitionId) { @@ -30,7 +30,7 @@ public class InfoPhaseService { infoPhase.setContent("Content of info level"); infoPhase.setTitle("Title of info level"); infoPhase.setTrainingDefinitionId(trainingDefinitionId); - infoPhase.setOrder(baseLevelRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); + infoPhase.setOrder(abstractPhaseRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); InfoPhase persistedEntity = infoPhaseRepository.save(infoPhase); diff --git a/src/main/java/com/example/demo/service/LevelOperationsService.java b/src/main/java/com/example/demo/service/LevelOperationsService.java index 9abfb7a9c2f00ca6eb963d24ea853d7d49d6b0dd..0404ef6039984dad210372b41e39913c0ac05dc5 100644 --- a/src/main/java/com/example/demo/service/LevelOperationsService.java +++ b/src/main/java/com/example/demo/service/LevelOperationsService.java @@ -1,10 +1,10 @@ package com.example.demo.service; -import com.example.demo.domain.BaseLevel; +import com.example.demo.domain.AbstractPhase; import com.example.demo.domain.Question; import com.example.demo.domain.QuestionChoice; import com.example.demo.domain.QuestionnaireLevel; -import com.example.demo.dto.BaseLevelDto; +import com.example.demo.dto.AbstractPhaseDto; import com.example.demo.dto.QuestionChoiceDto; import com.example.demo.dto.QuestionChoiceUpdateDto; import com.example.demo.dto.QuestionDto; @@ -12,7 +12,7 @@ import com.example.demo.dto.QuestionUpdateDto; import com.example.demo.dto.QuestionnaireUpdateDto; import com.example.demo.enums.QuestionType; import com.example.demo.mapper.BeanMapper; -import com.example.demo.repository.BaseLevelRepository; +import com.example.demo.repository.AbstractPhaseRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -23,7 +23,7 @@ import java.util.Optional; public class LevelOperationsService { @Autowired - private BaseLevelRepository baseLevelRepository; + private AbstractPhaseRepository abstractPhaseRepository; @Autowired private InfoPhaseService infoPhaseService; @@ -123,8 +123,8 @@ public class LevelOperationsService { // return BeanMapper.INSTANCE.toDtoList(phases); // } - public BaseLevelDto getLevel(Long levelId) { - Optional<BaseLevel> level = baseLevelRepository.findById(levelId); + public AbstractPhaseDto getLevel(Long levelId) { + Optional<AbstractPhase> level = abstractPhaseRepository.findById(levelId); if (level.isEmpty()) { // TODO throw 404 diff --git a/src/main/java/com/example/demo/service/PhaseService.java b/src/main/java/com/example/demo/service/PhaseService.java index 5e40ff9877314c0b675d0b08bbd2485ea82bae60..3468202fdfc3b19a41a70b1710656cee37dc079f 100644 --- a/src/main/java/com/example/demo/service/PhaseService.java +++ b/src/main/java/com/example/demo/service/PhaseService.java @@ -1,9 +1,9 @@ package com.example.demo.service; -import com.example.demo.domain.BaseLevel; -import com.example.demo.dto.BaseLevelDto; +import com.example.demo.domain.AbstractPhase; +import com.example.demo.dto.AbstractPhaseDto; import com.example.demo.mapper.BeanMapper; -import com.example.demo.repository.BaseLevelRepository; +import com.example.demo.repository.AbstractPhaseRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -14,14 +14,14 @@ import java.util.List; public class PhaseService { @Autowired - private BaseLevelRepository baseLevelRepository; + private AbstractPhaseRepository abstractPhaseRepository; @Autowired private TrainingPhaseService trainingPhaseService; @Transactional public void deletePhase(Long definitionId, Long phaseId) { - BaseLevel phase = baseLevelRepository.findById(phaseId) + AbstractPhase phase = abstractPhaseRepository.findById(phaseId) .orElseThrow(() -> new RuntimeException("Phase was not found")); // TODO throw proper exception once kypo2-training is migrated @@ -29,13 +29,13 @@ public class PhaseService { int levelOrder = phase.getOrder(); - baseLevelRepository.decreaseOrderAfterLevelWasDeleted(definitionId, levelOrder); + abstractPhaseRepository.decreaseOrderAfterLevelWasDeleted(definitionId, levelOrder); - baseLevelRepository.delete(phase); + abstractPhaseRepository.delete(phase); } - public BaseLevelDto getPhase(Long definitionId, Long phaseId) { - BaseLevel phase = baseLevelRepository.findById(phaseId) + public AbstractPhaseDto getPhase(Long definitionId, Long phaseId) { + AbstractPhase phase = abstractPhaseRepository.findById(phaseId) .orElseThrow(() -> new RuntimeException("Phase was not found")); // TODO throw proper exception once kypo2-training is migrated @@ -45,15 +45,15 @@ public class PhaseService { } - public List<BaseLevelDto> getPhases(Long trainingDefinitionId) { - List<BaseLevel> phases = baseLevelRepository.findAllByTrainingDefinitionIdOrderByOrder(trainingDefinitionId); + public List<AbstractPhaseDto> getPhases(Long trainingDefinitionId) { + List<AbstractPhase> phases = abstractPhaseRepository.findAllByTrainingDefinitionIdOrderByOrder(trainingDefinitionId); return BeanMapper.INSTANCE.toDtoList(phases); } @Transactional public void moveLevelToSpecifiedOrder(Long phaseIdFrom, int newPosition) { - BaseLevel levelFrom = baseLevelRepository.findById(phaseIdFrom) + AbstractPhase levelFrom = abstractPhaseRepository.findById(phaseIdFrom) .orElseThrow(() -> new RuntimeException("Phase was not found")); // TODO throw proper exception once kypo2-training is migrated @@ -61,16 +61,16 @@ public class PhaseService { int fromOrder = levelFrom.getOrder(); if (fromOrder < newPosition) { - baseLevelRepository.decreaseOrderOfLevelsOnInterval(levelFrom.getTrainingDefinitionId(), fromOrder, newPosition); + abstractPhaseRepository.decreaseOrderOfLevelsOnInterval(levelFrom.getTrainingDefinitionId(), fromOrder, newPosition); } else if (fromOrder > newPosition) { - baseLevelRepository.increaseOrderOfLevelsOnInterval(levelFrom.getTrainingDefinitionId(), newPosition, fromOrder); + abstractPhaseRepository.increaseOrderOfLevelsOnInterval(levelFrom.getTrainingDefinitionId(), newPosition, fromOrder); } else { // nothing should be changed, no further actions needed return; } levelFrom.setOrder(newPosition); - baseLevelRepository.save(levelFrom); + abstractPhaseRepository.save(levelFrom); trainingPhaseService.alignDecisionMatrixForPhasesInTrainingDefinition(levelFrom.getTrainingDefinitionId()); } diff --git a/src/main/java/com/example/demo/service/QuestionChoiceService.java b/src/main/java/com/example/demo/service/QuestionChoiceService.java index a9d78573af85bc32f6415e1e20a7a1b5d399e208..aeb3120148cbccc24ef7252b1f843d7984b0fbb8 100644 --- a/src/main/java/com/example/demo/service/QuestionChoiceService.java +++ b/src/main/java/com/example/demo/service/QuestionChoiceService.java @@ -1,6 +1,5 @@ package com.example.demo.service; -import com.example.demo.domain.BaseLevel; import com.example.demo.domain.Question; import com.example.demo.domain.QuestionChoice; import com.example.demo.dto.QuestionChoiceDto; diff --git a/src/main/java/com/example/demo/service/QuestionnaireLevelService.java b/src/main/java/com/example/demo/service/QuestionnaireLevelService.java index de5c3a639b760dc5641cadd116325ca61e7ce7ce..288f9f5dd0e32db9c2214522b7d1b1ca781bce86 100644 --- a/src/main/java/com/example/demo/service/QuestionnaireLevelService.java +++ b/src/main/java/com/example/demo/service/QuestionnaireLevelService.java @@ -4,7 +4,7 @@ import com.example.demo.domain.QuestionnaireLevel; import com.example.demo.dto.QuestionnaireLevelDto; import com.example.demo.dto.QuestionnaireUpdateDto; import com.example.demo.mapper.BeanMapper; -import com.example.demo.repository.BaseLevelRepository; +import com.example.demo.repository.AbstractPhaseRepository; import com.example.demo.repository.QuestionnaireLevelRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -22,14 +22,14 @@ public class QuestionnaireLevelService { private QuestionnaireLevelRepository questionnaireLevelRepository; @Autowired - private BaseLevelRepository baseLevelRepository; + private AbstractPhaseRepository abstractPhaseRepository; public QuestionnaireLevelDto createDefaultQuestionnaireLevel(Long trainingDefinitionId) { QuestionnaireLevel questionnaireLevel =new QuestionnaireLevel(); questionnaireLevel.setTitle("Title of questionnaire level"); questionnaireLevel.setTrainingDefinitionId(trainingDefinitionId); - questionnaireLevel.setOrder(baseLevelRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); + questionnaireLevel.setOrder(abstractPhaseRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); QuestionnaireLevel persistedEntity = questionnaireLevelRepository.save(questionnaireLevel); diff --git a/src/main/java/com/example/demo/service/TrainingPhaseService.java b/src/main/java/com/example/demo/service/TrainingPhaseService.java index 8508f5219b0719f2a49ed7651bcdef9b8dcd0a6d..41c226b41d89d7ada047d26c8a6bd6819ab788f5 100644 --- a/src/main/java/com/example/demo/service/TrainingPhaseService.java +++ b/src/main/java/com/example/demo/service/TrainingPhaseService.java @@ -5,7 +5,7 @@ import com.example.demo.domain.TrainingPhase; import com.example.demo.dto.TrainingPhaseDto; import com.example.demo.dto.TrainingPhaseUpdateDto; import com.example.demo.mapper.BeanMapper; -import com.example.demo.repository.BaseLevelRepository; +import com.example.demo.repository.AbstractPhaseRepository; import com.example.demo.repository.TrainingPhaseRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,14 +28,14 @@ public class TrainingPhaseService { private TrainingPhaseRepository trainingPhaseRepository; @Autowired - private BaseLevelRepository baseLevelRepository; + private AbstractPhaseRepository abstractPhaseRepository; public TrainingPhaseDto createDefaultTrainingPhase(Long trainingDefinitionId) { TrainingPhase trainingPhase = new TrainingPhase(); trainingPhase.setTitle("Title of phase level"); trainingPhase.setTrainingDefinitionId(trainingDefinitionId); - trainingPhase.setOrder(baseLevelRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); + trainingPhase.setOrder(abstractPhaseRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); trainingPhase.setDecisionMatrix(prepareDefaultDecisionMatrix(trainingDefinitionId, trainingPhase));