GRÜN: Neue Erwartungen umgesetzt
authorKai Moritz <kai@juplo.de>
Mon, 15 Aug 2022 17:12:12 +0000 (19:12 +0200)
committerKai Moritz <kai@juplo.de>
Mon, 15 Aug 2022 17:12:12 +0000 (19:12 +0200)
src/main/java/de/juplo/kafka/AdderBusinessLogic.java

index ecd9590..cbd500d 100644 (file)
@@ -29,13 +29,14 @@ public class AdderBusinessLogic
 
   public synchronized void addToSum(String user, Integer value)
   {
-    if (!state.containsKey(user))
-      throw new IllegalStateException("No sumation for " + user + " in progress");
     if (value == null || value < 1)
       throw new IllegalArgumentException("Not a positive number: " + value);
 
-    long result = state.get(user) + value;
-    state.put(user, result);
+    long sum =
+        Optional
+            .ofNullable(state.get(user))
+            .orElse(0l);
+    state.put(user, sum + value);
   }
 
   public synchronized Long calculate(String user)