com.osomapps.pt.admin.email.AdminEmailMessageTypeService   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 15
c 1
b 0
f 0
dl 0
loc 24
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A sortByIdAsc() 0 2 1
A AdminEmailMessageTypeService(EmailMessageTypeRepository) 0 2 1
A emailMessageTypeDto(EmailMessageType) 0 5 1
A findAll() 0 4 1
1
package com.osomapps.pt.admin.email;
2
3
import com.osomapps.pt.email.EmailMessageType;
4
import com.osomapps.pt.email.EmailMessageTypeRepository;
5
import java.util.List;
6
import java.util.stream.Collectors;
7
import org.springframework.data.domain.Sort;
8
import org.springframework.stereotype.Service;
9
10
@Service
11
class AdminEmailMessageTypeService {
12
13
    private final EmailMessageTypeRepository emailMessageTypeRepository;
14
15
    AdminEmailMessageTypeService(EmailMessageTypeRepository emailMessageTypeRepository) {
16
        this.emailMessageTypeRepository = emailMessageTypeRepository;
17
    }
18
19
    List<EmailMessageTypeResponseDTO> findAll() {
20
        return emailMessageTypeRepository.findAll(sortByIdAsc()).stream()
21
                .map(AdminEmailMessageTypeService::emailMessageTypeDto)
22
                .collect(Collectors.toList());
23
    }
24
25
    private Sort sortByIdAsc() {
26
        return Sort.by(Sort.Direction.ASC, "id");
27
    }
28
29
    private static EmailMessageTypeResponseDTO emailMessageTypeDto(EmailMessageType input) {
30
        return EmailMessageTypeResponseDTO.builder()
31
                .id(input.getId())
32
                .name(input.getName())
33
                .build();
34
    }
35
}
36