Completed
Pull Request — dev (#375)
by
unknown
05:01
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 org.modelmapper.ModelMapper;
8
import org.springframework.stereotype.Service;
9
10
import java.util.List;
11
12
13
/**
14
 * @author RisaMagpie
15
 */
16
@Service("QuestionsMapperV1")
17
public class QuestionsMapper extends ModelMapper {
18
    public QuestionsMapper() {
19
        super();
20
        this.createTypeMap(QuestionModel.class, Question.class)
21
                .addMappings(
22
                        mapper -> {
23
                            mapper.when(
24
                                    context -> !(context.getSource() instanceof ModelsListEmpty)
25
                            ).<Integer>map(questionModel -> questionModel.getQuestionType().getId(),
26
                                    (question, id) -> question.setType(id));
27
                            mapper.when(
28
                                    context -> !(context.getSource() instanceof ModelsListEmpty)
29
                            ).<Integer>map(questionModel -> questionModel.getTopic().getId(),
30
                                    (question, id) -> question.getTopic().setId(id));
31
                            mapper.when(
32
                                    context -> !(context.getSource() instanceof ModelsListEmpty)
33
                            ).<List<AdminAnswer>>map(questionModel -> questionModel.getAnswers(),
34
                                    (question, list) -> question.setAnswers(list));
35
                        }
36
                        );
37
            }
38
}
39