Skip to content
Snippets Groups Projects
Commit 5423e18d authored by Jan Tymel's avatar Jan Tymel
Browse files

Set questionnaire type to a newly created QuestionnairePhase

Related to #3
Resolves #1
parent 54174f20
No related branches found
No related tags found
No related merge requests found
......@@ -9,6 +9,7 @@ import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import java.util.ArrayList;
import java.util.List;
@Entity
......@@ -19,11 +20,11 @@ public class QuestionnairePhase extends AbstractPhase {
@OrderBy
@OneToMany(mappedBy = "questionnairePhase", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
private List<Question> questions;
private List<Question> questions = new ArrayList<>();
@OrderBy
@OneToMany(mappedBy = "relatedPhase", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
private List<QuestionPhaseRelation> questionPhaseRelations;
private List<QuestionPhaseRelation> questionPhaseRelations = new ArrayList<>();
public List<Question> getQuestions() {
return questions;
......
......@@ -41,7 +41,7 @@ public class TrainingPhaseFacade {
} else if (PhaseType.TRAINING.equals(phaseCreateDTO.getPhaseType())) {
abstractPhaseDto = trainingPhaseService.createDefaultTrainingPhase(trainingDefinitionId);
} else {
abstractPhaseDto = questionnairePhaseService.createDefaultQuestionnairePhase(trainingDefinitionId);
abstractPhaseDto = questionnairePhaseService.createDefaultQuestionnairePhase(trainingDefinitionId, phaseCreateDTO);
}
abstractPhaseDto.setPhaseType(phaseCreateDTO.getPhaseType());
......
......@@ -2,8 +2,11 @@ package com.example.demo.service;
import com.example.demo.domain.Question;
import com.example.demo.domain.QuestionnairePhase;
import com.example.demo.dto.PhaseCreateDTO;
import com.example.demo.dto.QuestionnairePhaseDto;
import com.example.demo.dto.QuestionnaireUpdateDto;
import com.example.demo.enums.PhaseType;
import com.example.demo.enums.QuestionnaireType;
import com.example.demo.mapper.BeanMapper;
import com.example.demo.repository.AbstractPhaseRepository;
import com.example.demo.repository.QuestionnairePhaseRepository;
......@@ -26,13 +29,19 @@ public class QuestionnairePhaseService {
@Autowired
private AbstractPhaseRepository abstractPhaseRepository;
public QuestionnairePhaseDto createDefaultQuestionnairePhase(Long trainingDefinitionId) {
public QuestionnairePhaseDto createDefaultQuestionnairePhase(Long trainingDefinitionId, PhaseCreateDTO phaseCreateDTO) {
QuestionnairePhase questionnairePhase =new QuestionnairePhase();
questionnairePhase.setTitle("Title of questionnaire level");
questionnairePhase.setTrainingDefinitionId(trainingDefinitionId);
questionnairePhase.setOrder(abstractPhaseRepository.getCurrentMaxOrder(trainingDefinitionId) + 1);
if (PhaseType.QUESTIONNAIRE_ADAPTIVE.equals(phaseCreateDTO.getPhaseType())) {
questionnairePhase.setQuestionnaireType(QuestionnaireType.ADAPTIVE);
} else {
questionnairePhase.setQuestionnaireType(QuestionnaireType.GENERAL);
}
QuestionnairePhase persistedEntity = questionnairePhaseRepository.save(questionnairePhase);
return BeanMapper.INSTANCE.toDto(persistedEntity);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment