|
1
|
|
|
package easytests.api.v1.mappers; |
|
2
|
|
|
|
|
3
|
|
|
import easytests.api.v1.models.AdminAnswer; |
|
4
|
|
|
import easytests.api.v1.models.Question; |
|
5
|
|
|
import easytests.core.models.AnswerModel; |
|
6
|
|
|
import easytests.core.models.QuestionModel; |
|
7
|
|
|
import java.util.List; |
|
8
|
|
|
import org.modelmapper.ModelMapper; |
|
9
|
|
|
import org.springframework.stereotype.Service; |
|
10
|
|
|
|
|
11
|
|
|
|
|
12
|
|
|
/** |
|
13
|
|
|
* @author RisaMagpie |
|
14
|
|
|
*/ |
|
15
|
|
|
@Service("QuestionsMapperV1") |
|
16
|
|
|
public class QuestionsMapper extends ModelMapper { |
|
17
|
|
|
public QuestionsMapper() { |
|
18
|
|
|
super(); |
|
19
|
|
|
this.createTypeMap(QuestionModel.class, Question.class) |
|
20
|
|
|
.addMappings(mapper -> { |
|
21
|
|
|
mapper.<Integer>map(questionModel -> questionModel.getQuestionType().getId(), |
|
22
|
|
|
(question, id) -> question.setType(id)); |
|
23
|
|
|
|
|
24
|
|
|
mapper.<Integer>map(questionModel -> questionModel.getTopic().getId(), |
|
25
|
|
|
(question, id) -> question.getTopic().setId(id)); |
|
26
|
|
|
|
|
27
|
|
|
mapper.<List<AdminAnswer>>map(questionModel -> questionModel.getAnswers(), |
|
28
|
|
|
(question, list) -> question.setAnswers(list)); |
|
29
|
|
|
} |
|
30
|
|
|
); |
|
31
|
|
|
this.createTypeMap(AnswerModel.class, AdminAnswer.class) |
|
32
|
|
|
.addMappings(mapper -> { |
|
33
|
|
|
mapper.<String>map(answerModel -> answerModel.getTxt(), |
|
34
|
|
|
(answer, text) -> answer.setText(text)); |
|
35
|
|
|
|
|
36
|
|
|
mapper.<Boolean>map(answerModel -> answerModel.getRight(), |
|
37
|
|
|
(answer, right) -> answer.setIsRight(right)); |
|
38
|
|
|
} |
|
39
|
|
|
); |
|
40
|
|
|
} |
|
41
|
|
|
} |
|
42
|
|
|
|