Completed
Pull Request — dev (#380)
by Konstantin
08:34 queued 03:18
created

QuestionsMapper()   A

Complexity

Conditions 1

Size

Total Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 21
rs 9.376
cc 1
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