X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FAdderResults.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FAdderResults.java;h=e7f56023cab38854801f57f561b672d733adb7f4;hb=a4be0eac8d9f234cd53ae1917a084f65d91d0460;hp=0000000000000000000000000000000000000000;hpb=7c0368363c3e5dbb7eb2a08f343187a93f050617;p=demos%2Fkafka%2Ftraining diff --git a/src/main/java/de/juplo/kafka/AdderResults.java b/src/main/java/de/juplo/kafka/AdderResults.java new file mode 100644 index 0000000..e7f5602 --- /dev/null +++ b/src/main/java/de/juplo/kafka/AdderResults.java @@ -0,0 +1,47 @@ +package de.juplo.kafka; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + + +public class AdderResults +{ + private final Map>> results = new HashMap<>(); + + + public void addResults(Integer partition, String user, AdderResult result) + { + Map> resultsByUser = this.results.get(partition); + + List results = resultsByUser.get(user); + if (results == null) + { + results = new LinkedList<>(); + resultsByUser.put(user, results); + } + + results.add(result); + } + + protected void addPartition(Integer partition, Map> results) + { + this.results.put(partition, results); + } + + protected Map> removePartition(Integer partition) + { + return this.results.remove(partition); + } + + public Map>> getState() + { + return results; + } + + public Map> getState(Integer partition) + { + return results.get(partition); + } +}