From 44ba8c3f6c49f3649e972e22e22b01430e684a4c Mon Sep 17 00:00:00 2001 From: Jan Tymel <410388@mail.muni.cz> Date: Thu, 11 Feb 2021 22:02:31 +0100 Subject: [PATCH] Resolve the remaining requirements from code review --- .../adaptive/controller/PhasesController.java | 2 -- .../adaptive/domain/AbstractPhase.java | 2 +- .../adaptive/domain/DecisionMatrixRow.java | 2 +- .../training/adaptive/domain/Question.java | 4 +-- .../adaptive/domain/QuestionChoice.java | 2 +- .../domain/QuestionPhaseRelation.java | 2 +- .../adaptive/domain/QuestionnairePhase.java | 6 ++--- .../kypo/training/adaptive/domain/Task.java | 22 ++++++++++++++- .../adaptive/domain/TrainingPhase.java | 6 ++--- .../adaptive/dto/training/TaskDTO.java | 24 +++++++++++++++-- .../adaptive/dto/training/TaskUpdateDTO.java | 27 ++++++++++++++++++- .../adaptive/facade/TrainingPhaseFacade.java | 4 --- .../adaptive/service/InfoPhaseService.java | 3 --- .../adaptive/service/PhaseService.java | 4 --- .../service/QuestionnairePhaseService.java | 7 +---- .../adaptive/service/TaskService.java | 4 --- .../service/TrainingPhaseService.java | 8 ------ 17 files changed, 82 insertions(+), 47 deletions(-) diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/PhasesController.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/PhasesController.java index 674aa637..1bfe0ccd 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/PhasesController.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/PhasesController.java @@ -67,9 +67,7 @@ public class PhasesController { @PathVariable(name = "definitionId") Long definitionId, @ApiParam(value = "Phase type", allowableValues = "questionnaire, info, game", required = true) @RequestBody @Valid PhaseCreateDTO phaseCreateDTO) { - AbstractPhaseDTO createdPhase = trainingPhaseFacade.createPhase(definitionId, phaseCreateDTO); - return new ResponseEntity<>(createdPhase, HttpStatus.CREATED); } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/AbstractPhase.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/AbstractPhase.java index 98cf6f76..c2a77de2 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/AbstractPhase.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/AbstractPhase.java @@ -23,7 +23,7 @@ public abstract class AbstractPhase implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "phaseGenerator") @SequenceGenerator(name = "phaseGenerator", sequenceName = "phase_seq") - @Column(name = "id_phase", nullable = false, unique = true) + @Column(name = "phase_id", nullable = false, unique = true) private Long id; private String title; diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/DecisionMatrixRow.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/DecisionMatrixRow.java index b1ecdd63..964d9aa4 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/DecisionMatrixRow.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/DecisionMatrixRow.java @@ -18,7 +18,7 @@ public class DecisionMatrixRow implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "decisionMatrixRowGenerator") @SequenceGenerator(name = "decisionMatrixRowGenerator", sequenceName = "decision_matrix_row_seq") - @Column(name = "id_decision_matrix_row", nullable = false, unique = true) + @Column(name = "decision_matrix_row_id", nullable = false, unique = true) private Long id; @Column(name = "order_in_training_phase", nullable = false) diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Question.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Question.java index 52bfc08e..4f02b68c 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Question.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Question.java @@ -31,7 +31,7 @@ public class Question implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "questionGenerator") @SequenceGenerator(name = "questionGenerator", sequenceName = "question_seq") - @Column(name = "id_question", nullable = false, unique = true) + @Column(name = "question_id", nullable = false, unique = true) private Long id; @Enumerated(EnumType.STRING) @@ -46,7 +46,7 @@ public class Question implements Serializable { private QuestionnairePhase questionnairePhase; @OrderBy - @OneToMany(mappedBy = "question", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) + @OneToMany(mappedBy = "question", cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, orphanRemoval = true, fetch = FetchType.LAZY) private List<QuestionChoice> choices = new ArrayList<>(); @ManyToMany(mappedBy = "questions", fetch = FetchType.LAZY) diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionChoice.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionChoice.java index e866cd4d..1aa21438 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionChoice.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionChoice.java @@ -18,7 +18,7 @@ public class QuestionChoice implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "questionChoiceGenerator") @SequenceGenerator(name = "questionChoiceGenerator", sequenceName = "question_choice_seq") - @Column(name = "id_question_choice", nullable = false, unique = true) + @Column(name = "question_choice_id", nullable = false, unique = true) private Long id; private String text; diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionPhaseRelation.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionPhaseRelation.java index 17f17a52..87fd9068 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionPhaseRelation.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionPhaseRelation.java @@ -23,7 +23,7 @@ public class QuestionPhaseRelation implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "questionPhaseGenerator") @SequenceGenerator(name = "questionPhaseGenerator", sequenceName = "question_phase_seq") - @Column(name = "id_question_phase_relation", nullable = false, unique = true) + @Column(name = "question_phase_relation_id", nullable = false, unique = true) private Long id; @Column(name = "order_in_questionnaire", nullable = false) diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionnairePhase.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionnairePhase.java index 7fcfde15..85e53f08 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionnairePhase.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionnairePhase.java @@ -14,18 +14,18 @@ import java.util.ArrayList; import java.util.List; @Entity -@Table(name = "questionnairePhase") +@Table(name = "questionnaire_phase") public class QuestionnairePhase extends AbstractPhase { @Enumerated(EnumType.STRING) private QuestionnaireType questionnaireType; @OrderBy - @OneToMany(mappedBy = "questionnairePhase", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) + @OneToMany(mappedBy = "questionnairePhase", cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, orphanRemoval = true, fetch = FetchType.LAZY) private List<Question> questions = new ArrayList<>(); @OrderBy - @OneToMany(mappedBy = "questionnairePhase", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) + @OneToMany(mappedBy = "questionnairePhase", cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, orphanRemoval = true, fetch = FetchType.LAZY) private List<QuestionPhaseRelation> questionPhaseRelations = new ArrayList<>(); public List<Question> getQuestions() { diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Task.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Task.java index 60e04d8b..8a5cd20c 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Task.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Task.java @@ -19,7 +19,7 @@ public class Task implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "taskGenerator") @SequenceGenerator(name = "taskGenerator", sequenceName = "task_seq") - @Column(name = "id_task", nullable = false, unique = true) + @Column(name = "task_id", nullable = false, unique = true) private Long id; private String title; @@ -27,6 +27,8 @@ public class Task implements Serializable { private String answer; private String solution; private int incorrectAnswerLimit; + private boolean isSandboxModified; + private int sandboxChangeExpectedDuration; @Column(name = "order_in_training_phase", nullable = false) private Integer order; @@ -98,6 +100,21 @@ public class Task implements Serializable { this.trainingPhase = trainingPhase; } + public boolean isSandboxModified() { + return isSandboxModified; + } + + public void setSandboxModified(boolean sandboxModified) { + isSandboxModified = sandboxModified; + } + + public int getSandboxChangeExpectedDuration() { + return sandboxChangeExpectedDuration; + } + + public void setSandboxChangeExpectedDuration(int sandboxChangeExpectedDuration) { + this.sandboxChangeExpectedDuration = sandboxChangeExpectedDuration; + } @Override public String toString() { @@ -108,7 +125,10 @@ public class Task implements Serializable { ", answer='" + answer + '\'' + ", solution='" + solution + '\'' + ", incorrectAnswerLimit=" + incorrectAnswerLimit + + ", isSandboxModified=" + isSandboxModified + + ", sandboxChangeExpectedDuration=" + sandboxChangeExpectedDuration + ", order=" + order + + ", trainingPhase=" + trainingPhase.getId() + '}'; } } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/TrainingPhase.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/TrainingPhase.java index f63988c7..be1db20a 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/TrainingPhase.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/TrainingPhase.java @@ -18,15 +18,15 @@ public class TrainingPhase extends AbstractPhase { private int allowedWrongAnswers; @OrderBy - @OneToMany(mappedBy = "trainingPhase", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) + @OneToMany(mappedBy = "trainingPhase", cascade = CascadeType.REMOVE, orphanRemoval = true, fetch = FetchType.LAZY) private List<Task> tasks = new ArrayList<>(); @OrderBy - @OneToMany(mappedBy = "trainingPhase", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) + @OneToMany(mappedBy = "trainingPhase", cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, orphanRemoval = true, fetch = FetchType.LAZY) private List<DecisionMatrixRow> decisionMatrix; @OrderBy - @OneToMany(mappedBy = "relatedTrainingPhase", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) + @OneToMany(mappedBy = "relatedTrainingPhase", cascade = CascadeType.REMOVE, orphanRemoval = true, fetch = FetchType.LAZY) private List<QuestionPhaseRelation> questionPhaseRelations = new ArrayList<>(); public int getEstimatedDuration() { diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/dto/training/TaskDTO.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/dto/training/TaskDTO.java index d975486a..af151412 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/dto/training/TaskDTO.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/dto/training/TaskDTO.java @@ -9,6 +9,8 @@ public class TaskDTO { private String answer; private String solution; private int incorrectAnswerLimit; + private boolean isSandboxModified; + private int sandboxChangeExpectedDuration; public Long getId() { return id; @@ -66,9 +68,25 @@ public class TaskDTO { this.incorrectAnswerLimit = incorrectAnswerLimit; } + public boolean isSandboxModified() { + return isSandboxModified; + } + + public void setSandboxModified(boolean sandboxModified) { + isSandboxModified = sandboxModified; + } + + public int getSandboxChangeExpectedDuration() { + return sandboxChangeExpectedDuration; + } + + public void setSandboxChangeExpectedDuration(int sandboxChangeExpectedDuration) { + this.sandboxChangeExpectedDuration = sandboxChangeExpectedDuration; + } + @Override public String toString() { - return "TaskDto{" + + return "TaskDTO{" + "id=" + id + ", title='" + title + '\'' + ", order=" + order + @@ -76,6 +94,8 @@ public class TaskDTO { ", answer='" + answer + '\'' + ", solution='" + solution + '\'' + ", incorrectAnswerLimit=" + incorrectAnswerLimit + - "} " + super.toString(); + ", isSandboxModified=" + isSandboxModified + + ", sandboxChangeExpectedDuration=" + sandboxChangeExpectedDuration + + '}'; } } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/dto/training/TaskUpdateDTO.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/dto/training/TaskUpdateDTO.java index bf3b10a3..9e5d2786 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/dto/training/TaskUpdateDTO.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/dto/training/TaskUpdateDTO.java @@ -29,6 +29,13 @@ public class TaskUpdateDTO { @PositiveOrZero(message = "Limit of the number of provided incorrect answers must not be a negative number") private Integer incorrectAnswerLimit; + @ApiModelProperty(value = "It defines whether the sandbox can be modified", example = "true") + private boolean isSandboxModified; + + @ApiModelProperty(value = "It defines the expected duration of sandbox change defined in seconds", example = "15") + @PositiveOrZero(message = "Estimated duration of sandbox change must not be a negative number") + private int sandboxChangeExpectedDuration; + public String getTitle() { return title; } @@ -69,14 +76,32 @@ public class TaskUpdateDTO { this.incorrectAnswerLimit = incorrectAnswerLimit; } + public boolean isSandboxModified() { + return isSandboxModified; + } + + public void setSandboxModified(boolean sandboxModified) { + isSandboxModified = sandboxModified; + } + + public int getSandboxChangeExpectedDuration() { + return sandboxChangeExpectedDuration; + } + + public void setSandboxChangeExpectedDuration(int sandboxChangeExpectedDuration) { + this.sandboxChangeExpectedDuration = sandboxChangeExpectedDuration; + } + @Override public String toString() { - return "TaskUpdateDto{" + + return "TaskUpdateDTO{" + "title='" + title + '\'' + ", content='" + content + '\'' + ", answer='" + answer + '\'' + ", solution='" + solution + '\'' + ", incorrectAnswerLimit=" + incorrectAnswerLimit + + ", isSandboxModified=" + isSandboxModified + + ", sandboxChangeExpectedDuration=" + sandboxChangeExpectedDuration + '}'; } } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/facade/TrainingPhaseFacade.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/facade/TrainingPhaseFacade.java index e527581d..f2fbf5e1 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/facade/TrainingPhaseFacade.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/facade/TrainingPhaseFacade.java @@ -50,11 +50,8 @@ public class TrainingPhaseFacade { public List<AbstractPhaseDTO> deletePhase(Long definitionId, Long phaseId) { - phaseService.deletePhase(definitionId, phaseId); - trainingPhaseService.alignDecisionMatrixForPhasesInTrainingDefinition(definitionId); - return getPhases(definitionId); } @@ -63,7 +60,6 @@ public class TrainingPhaseFacade { } public List<AbstractPhaseDTO> getPhases(Long definitionId) { - return phaseService.getPhases(definitionId); } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/InfoPhaseService.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/InfoPhaseService.java index 5d109ab3..557d3466 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/InfoPhaseService.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/InfoPhaseService.java @@ -33,14 +33,12 @@ public class InfoPhaseService { infoPhase.setOrder(abstractPhaseRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); InfoPhase persistedEntity = infoPhaseRepository.save(infoPhase); - return BeanMapper.INSTANCE.toDto(persistedEntity); } public InfoPhaseDTO updateInfoPhase(Long definitionId, Long phaseId, InfoPhaseUpdateDTO infoPhaseUpdateDto) { InfoPhase infoPhaseUpdate = BeanMapper.INSTANCE.toEntity(infoPhaseUpdateDto); infoPhaseUpdate.setId(phaseId); - InfoPhase persistedInfoPhase = infoPhaseRepository.findById(infoPhaseUpdate.getId()) .orElseThrow(() -> new RuntimeException("Info phase was not found")); // TODO throw proper exception once kypo2-training is migrated @@ -51,7 +49,6 @@ public class InfoPhaseService { infoPhaseUpdate.setOrder(persistedInfoPhase.getOrder()); InfoPhase savedEntity = infoPhaseRepository.save(infoPhaseUpdate); - return BeanMapper.INSTANCE.toDto(savedEntity); } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/PhaseService.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/PhaseService.java index b4aab2b7..db837ce5 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/PhaseService.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/PhaseService.java @@ -30,7 +30,6 @@ public class PhaseService { // TODO add check to trainingDefinitionId and phaseId (field structure will be probably changed) - int phaseOrder = phase.getOrder(); abstractPhaseRepository.decreaseOrderAfterPhaseWasDeleted(definitionId, phaseOrder); @@ -60,9 +59,7 @@ public class PhaseService { .orElseThrow(() -> new RuntimeException("Phase was not found")); // TODO throw proper exception once kypo2-training is migrated - int fromOrder = phaseFrom.getOrder(); - if (fromOrder < newPosition) { abstractPhaseRepository.decreaseOrderOfPhasesOnInterval(phaseFrom.getTrainingDefinitionId(), fromOrder, newPosition); } else if (fromOrder > newPosition) { @@ -74,7 +71,6 @@ public class PhaseService { phaseFrom.setOrder(newPosition); abstractPhaseRepository.save(phaseFrom); - trainingPhaseService.alignDecisionMatrixForPhasesInTrainingDefinition(phaseFrom.getTrainingDefinitionId()); } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/QuestionnairePhaseService.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/QuestionnairePhaseService.java index bd93d710..04ed529a 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/QuestionnairePhaseService.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/QuestionnairePhaseService.java @@ -50,7 +50,6 @@ public class QuestionnairePhaseService { } public QuestionnairePhaseDTO createDefaultQuestionnairePhase(Long trainingDefinitionId, PhaseCreateDTO phaseCreateDTO) { - QuestionnairePhase questionnairePhase = new QuestionnairePhase(); questionnairePhase.setTitle("Title of questionnaire phase"); questionnairePhase.setTrainingDefinitionId(trainingDefinitionId); @@ -63,7 +62,6 @@ public class QuestionnairePhaseService { } QuestionnairePhase persistedEntity = questionnairePhaseRepository.save(questionnairePhase); - return BeanMapper.INSTANCE.toDto(persistedEntity); } @@ -92,10 +90,7 @@ public class QuestionnairePhaseService { } QuestionnairePhase savedEntity = questionnairePhaseRepository.save(questionnairePhase); - - QuestionnairePhaseDTO result = BeanMapper.INSTANCE.toDto(savedEntity); - - return result; + return BeanMapper.INSTANCE.toDto(savedEntity); } private List<QuestionPhaseRelation> resolveQuestionnairePhaseRelationsUpdate(QuestionnairePhase questionnairePhase, QuestionnaireUpdateDTO questionnaireUpdateDto) { diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TaskService.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TaskService.java index a4498217..67ccb756 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TaskService.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TaskService.java @@ -46,7 +46,6 @@ public class TaskService { task.setIncorrectAnswerLimit(1); Task persistedEntity = taskRepository.save(task); - return BeanMapper.INSTANCE.toDto(persistedEntity); } @@ -63,7 +62,6 @@ public class TaskService { task.setOrder(taskRepository.getCurrentMaxOrder(phaseId) + 1); Task persistedEntity = taskRepository.save(task); - return BeanMapper.INSTANCE.toDto(persistedEntity); } @@ -92,7 +90,6 @@ public class TaskService { taskUpdate.setOrder(persistedTask.getOrder()); Task savedEntity = taskRepository.save(taskUpdate); - return BeanMapper.INSTANCE.toDto(savedEntity); } @@ -104,7 +101,6 @@ public class TaskService { // TODO add check to trainingDefinitionId and phaseId (field structure will be probably changed) taskRepository.decreaseOrderAfterTaskWasDeleted(phaseId, task.getOrder()); - taskRepository.delete(task); } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TrainingPhaseService.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TrainingPhaseService.java index e733b29f..eb966328 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TrainingPhaseService.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TrainingPhaseService.java @@ -36,7 +36,6 @@ public class TrainingPhaseService { } public TrainingPhaseDTO createDefaultTrainingPhase(Long trainingDefinitionId) { - TrainingPhase trainingPhase = new TrainingPhase(); trainingPhase.setTitle("Title of training phase"); trainingPhase.setTrainingDefinitionId(trainingDefinitionId); @@ -45,7 +44,6 @@ public class TrainingPhaseService { trainingPhase.setDecisionMatrix(prepareDefaultDecisionMatrix(trainingDefinitionId, trainingPhase)); TrainingPhase persistedEntity = trainingPhaseRepository.save(trainingPhase); - return BeanMapper.INSTANCE.toDto(persistedEntity); } @@ -68,7 +66,6 @@ public class TrainingPhaseService { } TrainingPhase savedEntity = trainingPhaseRepository.save(trainingPhase); - return BeanMapper.INSTANCE.toDto(savedEntity); } @@ -95,7 +92,6 @@ public class TrainingPhaseService { result.add(decisionMatrixRow); } - return result; } @@ -110,7 +106,6 @@ public class TrainingPhaseService { } final int expectedNumberOfRows = currentPhaseOrder + 1; - if (numberOfRows == expectedNumberOfRows) { return; } else if (numberOfRows < expectedNumberOfRows) { @@ -118,7 +113,6 @@ public class TrainingPhaseService { trainingPhase.getDecisionMatrix().addAll(newDecisionMatrixRows); } else { List<DecisionMatrixRow> neededDecisionMatrixRows = getOnlyNeededDecisionMatrixRows(expectedNumberOfRows, trainingPhase); - trainingPhase.getDecisionMatrix().clear(); trainingPhase.getDecisionMatrix().addAll(neededDecisionMatrixRows); } @@ -135,13 +129,11 @@ public class TrainingPhaseService { result.add(decisionMatrixRow); } - return result; } private List<DecisionMatrixRow> getOnlyNeededDecisionMatrixRows(int expectedNumberOfRows, TrainingPhase trainingPhase) { List<DecisionMatrixRow> decisionMatrix = trainingPhase.getDecisionMatrix(); - return decisionMatrix.stream() .sorted(Comparator.comparingInt(DecisionMatrixRow::getOrder)) .limit(expectedNumberOfRows) -- GitLab