Passed
Pull Request — dev (#380)
by
unknown
05:42
created

QuestionsMapper()   A

Complexity

Conditions 1

Size

Total Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 17
rs 9.55
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.QuestionModel;
6
import easytests.core.models.empty.ModelsListEmpty;
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(
21
                        mapper -> {
22
                            mapper.when(
23
                                    context -> !(context.getSource() instanceof ModelsListEmpty)
24
                            ).<Integer>map(questionModel -> questionModel.getQuestionType().getId(),
25
                                    (question, id) -> question.setType(id));
26
                            mapper.when(
27
                                    context -> !(context.getSource() instanceof ModelsListEmpty)
28
                            ).<Integer>map(questionModel -> questionModel.getTopic().getId(),
29
                                    (question, id) -> question.getTopic().setId(id));
30
                            mapper.when(
31
                                    context -> !(context.getSource() instanceof ModelsListEmpty)
32
                            ).<List<AdminAnswer>>map(questionModel -> questionModel.getAnswers(),
33
                                    (question, list) -> question.setAnswers(list));
34
                            //mapper.when(
35
                            //      context -> !(context.getSource() instanceof ModelsListEmpty)
36
                            //).map(QuestionModel::getAnswers, Question::setAnswers);
37
                        }
38
                );
39
    }
40
}