com.osomapps.pt.exercises.ExercisesImageResource   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 2
eloc 19
dl 0
loc 25
rs 10
c 3
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A ExercisesImageResource(ExerciseImageService) 0 3 1
A findOne(Long,String,HttpServletResponse) 0 14 1
1
package com.osomapps.pt.exercises;
2
3
import java.io.IOException;
4
import javax.servlet.http.HttpServletResponse;
5
import org.springframework.beans.factory.annotation.Autowired;
6
import org.springframework.util.FastByteArrayOutputStream;
7
import org.springframework.web.bind.annotation.GetMapping;
8
import org.springframework.web.bind.annotation.PathVariable;
9
import org.springframework.web.bind.annotation.RequestMapping;
10
import org.springframework.web.bind.annotation.ResponseBody;
11
import org.springframework.web.bind.annotation.RestController;
12
13
@RestController
14
@RequestMapping("api/v1/exercise-image")
15
class ExercisesImageResource {
16
17
    private final ExerciseImageService exerciseImageService;
18
19
    @Autowired
20
    ExercisesImageResource(ExerciseImageService exerciseImageService) {
21
        this.exerciseImageService = exerciseImageService;
22
    }
23
24
    @GetMapping("{id}/{fileName}")
25
    @ResponseBody
26
    Object findOne(
27
            @PathVariable Long id, @PathVariable String fileName, HttpServletResponse response)
28
            throws IOException {
29
        try (FastByteArrayOutputStream outputStream = new FastByteArrayOutputStream()) {
30
            final ExerciseImageDTO exerciseImageDTO =
31
                    exerciseImageService.findOne(id, fileName, outputStream);
32
            response.setContentType(exerciseImageDTO.getFileType());
33
            outputStream.writeTo(response.getOutputStream());
34
            response.getOutputStream().close();
35
            outputStream.reset();
36
        }
37
        return null;
38
    }
39
}
40