GRÜN: Neue Erwartungen umgesetzt
[demos/kafka/training] / 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)