com.osomapps.pt.admin.exercise.AdminExerciseOutputService   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

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

4 Methods

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