diff --git a/src/main/java/com/example/demo/domain/Task.java b/src/main/java/com/example/demo/domain/Task.java index 95874eaa9f108d9cde6443c9d4f2fa9d26817b77..6f132fd30130b38157101250312c696bd08d3ca7 100644 --- a/src/main/java/com/example/demo/domain/Task.java +++ b/src/main/java/com/example/demo/domain/Task.java @@ -1,21 +1,56 @@ package com.example.demo.domain; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; import javax.persistence.ManyToOne; @Entity -public class Task extends AbstractPhase { +public class Task { + @Id + @GeneratedValue + private Long id; + + private String title; private String content; private String flag; private String solution; private Long incorrectFlagLimit; + @Column(name = "order_in_training_phase", nullable = false) + private Integer order; + @ManyToOne(fetch = FetchType.LAZY) private TrainingPhase trainingPhase; + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } + public String getContent() { return content; } @@ -56,10 +91,17 @@ public class Task extends AbstractPhase { this.trainingPhase = trainingPhase; } + @Override public String toString() { - return "Task{" + "content='" + content + '\'' + ", flag='" + - flag + '\'' + ", solution='" + solution + '\'' + ", incorrectFlagLimit=" + incorrectFlagLimit + - super.toString(); + return "Task{" + + "id=" + id + + ", title='" + title + '\'' + + ", content='" + content + '\'' + + ", flag='" + flag + '\'' + + ", solution='" + solution + '\'' + + ", incorrectFlagLimit=" + incorrectFlagLimit + + ", order=" + order + + '}'; } } diff --git a/src/main/java/com/example/demo/dto/TaskDto.java b/src/main/java/com/example/demo/dto/TaskDto.java index 7e3e0b885ab9a7dc1710ff67e83bf1a448a1cbd2..4277d4f3a82690457cb6f3059eba2eac1d5deeb6 100644 --- a/src/main/java/com/example/demo/dto/TaskDto.java +++ b/src/main/java/com/example/demo/dto/TaskDto.java @@ -2,13 +2,40 @@ package com.example.demo.dto; import java.io.Serializable; -public class TaskDto extends AbstractPhaseDto implements Serializable { +public class TaskDto implements Serializable { + private Long id; + private String title; + private Integer order; private String content; private String flag; private String solution; private Long incorrectFlagLimit; + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } + public String getContent() { return content; } @@ -44,10 +71,13 @@ public class TaskDto extends AbstractPhaseDto implements Serializable { @Override public String toString() { return "TaskDto{" + - "content='" + content + '\'' + + "id=" + id + + ", title='" + title + '\'' + + ", order=" + order + + ", content='" + content + '\'' + ", flag='" + flag + '\'' + ", solution='" + solution + '\'' + - ", incorrectFlagLimit='" + incorrectFlagLimit + '\'' + + ", incorrectFlagLimit=" + incorrectFlagLimit + "} " + super.toString(); } } diff --git a/src/main/java/com/example/demo/enums/PhaseType.java b/src/main/java/com/example/demo/enums/PhaseType.java index a4ae349748f74e28ef1f5366974441c4726469d1..af52293cd4bdb765e92738cb61296869d57dc791 100644 --- a/src/main/java/com/example/demo/enums/PhaseType.java +++ b/src/main/java/com/example/demo/enums/PhaseType.java @@ -2,7 +2,6 @@ package com.example.demo.enums; public enum PhaseType { QUESTIONNAIRE, - task, // TODO remove once Task is not a subclass of BaseLevel INFO, GAME, } diff --git a/src/main/java/com/example/demo/mapper/BeanMapper.java b/src/main/java/com/example/demo/mapper/BeanMapper.java index eaa769e60bb57b06059a3cdef392c0d7163ae4d8..6d480775e207c4cb1c194d7aba794d509aaeefe2 100644 --- a/src/main/java/com/example/demo/mapper/BeanMapper.java +++ b/src/main/java/com/example/demo/mapper/BeanMapper.java @@ -3,28 +3,28 @@ package com.example.demo.mapper; import com.example.demo.domain.AbstractPhase; import com.example.demo.domain.DecisionMatrixRow; import com.example.demo.domain.InfoPhase; -import com.example.demo.domain.QuestionPhaseRelation; -import com.example.demo.domain.QuestionnairePhase; -import com.example.demo.domain.TrainingPhase; import com.example.demo.domain.Question; import com.example.demo.domain.QuestionChoice; +import com.example.demo.domain.QuestionPhaseRelation; +import com.example.demo.domain.QuestionnairePhase; import com.example.demo.domain.Task; +import com.example.demo.domain.TrainingPhase; import com.example.demo.dto.AbstractPhaseDto; import com.example.demo.dto.DecisionMatrixRowDto; import com.example.demo.dto.InfoPhaseDto; import com.example.demo.dto.InfoPhaseUpdateDto; -import com.example.demo.dto.QuestionPhaseRelationDto; -import com.example.demo.dto.QuestionRequiredIdDto; -import com.example.demo.dto.TrainingPhaseDto; -import com.example.demo.dto.TrainingPhaseUpdateDto; import com.example.demo.dto.QuestionChoiceDto; import com.example.demo.dto.QuestionDto; +import com.example.demo.dto.QuestionPhaseRelationDto; +import com.example.demo.dto.QuestionRequiredIdDto; import com.example.demo.dto.QuestionUpdateDto; import com.example.demo.dto.QuestionnairePhaseDto; import com.example.demo.dto.QuestionnaireUpdateDto; import com.example.demo.dto.TaskCreateDto; import com.example.demo.dto.TaskDto; import com.example.demo.dto.TaskUpdateDto; +import com.example.demo.dto.TrainingPhaseDto; +import com.example.demo.dto.TrainingPhaseUpdateDto; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.factory.Mappers; @@ -43,8 +43,6 @@ public interface BeanMapper { 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 QuestionnairePhase) { abstractPhaseDto = toDto((QuestionnairePhase) abstractPhase); } else { @@ -56,7 +54,6 @@ public interface BeanMapper { List<AbstractPhaseDto> toDtoList(List<AbstractPhase> abstractPhase); - @Mapping(target = "phaseType", constant = "task") TaskDto toDto(Task task); Task toEntity(TaskDto taskDto); diff --git a/src/main/java/com/example/demo/service/TaskService.java b/src/main/java/com/example/demo/service/TaskService.java index 832c282ffecf90f3e53a4303e413e5365079c1b8..a4092e653bab27da9c080a38b7a25235aab60e7a 100644 --- a/src/main/java/com/example/demo/service/TaskService.java +++ b/src/main/java/com/example/demo/service/TaskService.java @@ -1,13 +1,13 @@ package com.example.demo.service; -import com.example.demo.domain.TrainingPhase; import com.example.demo.domain.Task; +import com.example.demo.domain.TrainingPhase; import com.example.demo.dto.TaskCreateDto; import com.example.demo.dto.TaskDto; import com.example.demo.dto.TaskUpdateDto; import com.example.demo.mapper.BeanMapper; -import com.example.demo.repository.TrainingPhaseRepository; import com.example.demo.repository.TaskRepository; +import com.example.demo.repository.TrainingPhaseRepository; import org.apache.commons.collections4.IterableUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -115,7 +115,6 @@ public class TaskService { // TODO add check to trainingDefinitionId and phaseId (field structure will be probably changed) taskUpdate.setTrainingPhase(persistedTask.getTrainingPhase()); - taskUpdate.setTrainingDefinitionId(persistedTask.getTrainingDefinitionId()); taskUpdate.setOrder(persistedTask.getOrder()); Task savedEntity = taskRepository.save(taskUpdate);