Completed
Pull Request — dev (#371)
by
unknown
08:04 queued 02:08
created

easytests.api.v1.mappers.QuestionsMapper   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 4
Bugs 2 Features 0
Metric Value
wmc 1
c 4
b 2
f 0
dl 0
loc 18
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A QuestionsMapper() 0 16 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(mapper -> {
21
                mapper.when(
22
                    context -> !(context.getSource() instanceof ModelsListEmpty)
23
                ).<Integer>map(questionModel -> questionModel.getQuestionType().getId(),
24
                    (question, id) -> question.setType(id));
25
                mapper.when(
26
                    context -> !(context.getSource() instanceof ModelsListEmpty)
27
                ).<Integer>map(questionModel -> questionModel.getTopic().getId(),
28
                    (question, id) -> question.getTopic().setId(id));
29
                mapper.when(
30
                    context -> !(context.getSource() instanceof ModelsListEmpty)
31
                ).<List<AdminAnswer>>map(questionModel -> questionModel.getAnswers(),
32
                    (question, list) -> question.setAnswers(list));
33
            }
34
            );
35
    }
36
}
37