Vereinfachte Version der auf Spring Kafka basierenden Implementierung
[demos/kafka/training] / src / main / java / de / juplo / kafka / ApplicationController.java
1 package de.juplo.kafka;
2
3 import lombok.RequiredArgsConstructor;
4 import org.springframework.data.mongodb.core.aggregation.ArithmeticOperators;
5 import org.springframework.http.ResponseEntity;
6 import org.springframework.web.bind.annotation.*;
7
8 import java.util.List;
9 import java.util.Map;
10 import java.util.Optional;
11 import java.util.stream.Collectors;
12
13
14 @RestController
15 @RequiredArgsConstructor
16 public class ApplicationController
17 {
18   private final AdderResults results;
19
20
21   @GetMapping("results")
22   public Map<Integer, Map<String, List<AdderResult>>> results()
23   {
24     return results.getState();
25   }
26
27   @GetMapping("results/{user}")
28   public ResponseEntity<List<AdderResult>> results(@PathVariable String user)
29   {
30     for (Map<String, List<AdderResult>> resultsByUser : this.results.getState().values())
31     {
32       List<AdderResult> results = resultsByUser.get(user);
33       if (results != null)
34         return ResponseEntity.ok(results);
35     }
36
37     return ResponseEntity.notFound().build();
38   }
39 }