X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FAdderBusinessLogic.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FAdderBusinessLogic.java;h=0000000000000000000000000000000000000000;hb=1bf30f5890d9ab0a1c7550fe472dec44f486a473;hp=d525182ea539b82c1da1e4ac8c88943f80d0490a;hpb=25c2044064722af20f64651a32e94fb392710bbc;p=demos%2Fkafka%2Ftraining diff --git a/src/main/java/de/juplo/kafka/AdderBusinessLogic.java b/src/main/java/de/juplo/kafka/AdderBusinessLogic.java deleted file mode 100644 index d525182..0000000 --- a/src/main/java/de/juplo/kafka/AdderBusinessLogic.java +++ /dev/null @@ -1,55 +0,0 @@ -package de.juplo.kafka; - - -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; - - -public class AdderBusinessLogic -{ - private final Map state; - - - public AdderBusinessLogic() - { - this(new HashMap<>()); - } - - public AdderBusinessLogic(Map state) - { - this.state = state; - } - - - public synchronized Optional getSum(String user) - { - return Optional.ofNullable(state.get(user)).map(result -> result.sum); - } - - public synchronized void addToSum(String user, Integer value) - { - if (value == null || value < 1) - throw new IllegalArgumentException("Not a positive number: " + value); - - long sum = - Optional - .ofNullable(state.get(user)) - .map(result -> result.sum) - .orElse(0l); - state.put(user, new AdderResult(value, sum + value)); - } - - public synchronized AdderResult calculate(String user) - { - if (!state.containsKey(user)) - throw new IllegalStateException("No sumation for " + user + " in progress"); - - return state.remove(user); - } - - protected Map getState() - { - return state; - } -}