X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FDriverController.java;h=5a09c1b0c26f483f911386362485c0e0de071cd5;hb=c808810e9e33afe33b29f7fd3921023ecd15483d;hp=93580eeb89aefe97dadea7c48d9334a44c1a2140;hpb=262d13bfa0274005b050c7b271f867acd9809f8b;p=demos%2Fkafka%2Ftraining diff --git a/src/main/java/de/juplo/kafka/DriverController.java b/src/main/java/de/juplo/kafka/DriverController.java index 93580ee..5a09c1b 100644 --- a/src/main/java/de/juplo/kafka/DriverController.java +++ b/src/main/java/de/juplo/kafka/DriverController.java @@ -2,11 +2,8 @@ package de.juplo.kafka; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.ResponseStatus; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; import java.util.Map; import java.util.concurrent.ExecutionException; @@ -17,6 +14,7 @@ import java.util.concurrent.ExecutionException; public class DriverController { private final EndlessConsumer consumer; + private final SumRecordHandler wordcount; @PostMapping("start") @@ -31,12 +29,27 @@ public class DriverController consumer.stop(); } + @GetMapping("seen") - public Map> seen() + public Map>> seen() { - return consumer.getSeen(); + return wordcount.getSeen(); } + @GetMapping("seen/{user}") + public ResponseEntity> seen(@PathVariable String user) + { + for (Map> users : wordcount.getSeen().values()) + { + Map words = users.get(user); + if (words != null) + return ResponseEntity.ok(words); + } + + return ResponseEntity.notFound().build(); + } + + @ExceptionHandler @ResponseStatus(HttpStatus.BAD_REQUEST) public ErrorResponse illegalStateException(IllegalStateException e)