X-Git-Url: https://juplo.de/gitweb/?p=demos%2Fspring-boot;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemo%2FDemoController.java;h=88ca230c0a9ece86319c2ab5bebf3a3391212d74;hp=25b500bbd12e740c5a842bfdbc14f352df4d1b0a;hb=5a73cdfb59ce1ddc84bf07e80f565ec6066a9821;hpb=1bf463088fe488cca79dd951c88d2254df8ab71d diff --git a/src/main/java/de/juplo/demo/DemoController.java b/src/main/java/de/juplo/demo/DemoController.java index 25b500b..88ca230 100644 --- a/src/main/java/de/juplo/demo/DemoController.java +++ b/src/main/java/de/juplo/demo/DemoController.java @@ -2,6 +2,7 @@ package de.juplo.demo; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -22,7 +23,7 @@ public class DemoController LoggerFactory.getLogger(DemoController.class); - @RequestMapping("/") + @RequestMapping(path = "/", params = { "!card", "!add", "!remove" }) public String display(@ModelAttribute Form form) { for (Integer id : form.cards.keySet()) @@ -32,7 +33,7 @@ public class DemoController return "form"; } - @RequestMapping(path = "/", params = "add=card") + @RequestMapping(path = "/", params = { "card=add", "!add", "!remove" }) public String addCard(@ModelAttribute Form form) { Integer next = @@ -41,30 +42,45 @@ public class DemoController .stream() .reduce(0, (a, b) -> a > b ? a : b) + 1; - LOG.info("Adding new card #{}", next); - form.cards.put(next, new HashMap<>()); + Map content = new LinkedHashMap<>(); + content.put(form.names.get(0), Boolean.FALSE); + LOG.info("Adding new card #{} with content: {}", next, content); + form.cards.put(next, content); + + for (Integer id : form.cards.keySet()) + for (String entry : form.cards.get(id).keySet()) + LOG.info("{} - {}: {}", id, entry, form.cards.get(id).get(entry)); + return "form"; } - @RequestMapping(path = "/", params = "remove=card") - public String removeCard( - @ModelAttribute Form form, - @RequestParam Integer card) + @RequestMapping(path = "/", params = { "card", "!add", "!remove" }) + public String removeCard(@ModelAttribute Form form, @RequestParam Integer card) { Map content = form.cards.remove(card); LOG.info("Removed card #{} with content: {}", card, content); + + for (Integer id : form.cards.keySet()) + for (String entry : form.cards.get(id).keySet()) + LOG.info("{} - {}: {}", id, entry, form.cards.get(id).get(entry)); + return "form"; } - @RequestMapping(path = "/", params = "add=row") - public String addRow(@ModelAttribute Form form, @RequestParam Integer card) + @RequestMapping(path = "/", params = { "!card", "add", "!remove" }) + public String addRow(@ModelAttribute Form form, @RequestParam Integer add) { - LOG.info("Adding row {} to card #{}", form.row.get(card), card); - form.cards.get(card).put(form.row.get(card), Boolean.FALSE); + LOG.info("Adding row {} to card #{}", form.names.get(add), add); + form.cards.get(add).put(form.names.get(add), Boolean.FALSE); + + for (Integer id : form.cards.keySet()) + for (String entry : form.cards.get(id).keySet()) + LOG.info("{} - {}: {}", id, entry, form.cards.get(id).get(entry)); + return "form"; } - @RequestMapping(path = "/", params = "remove!=card") + @RequestMapping(path = "/", params = { "!card", "!add", "remove" }) public String removeRow(@ModelAttribute Form form, @RequestParam String remove) { String[] parts = remove.split(":", 2); @@ -72,6 +88,17 @@ public class DemoController String row = parts[1]; Boolean value = form.cards.get(card).remove(row); LOG.info("Removed row {} with value {} from card #{}", row, value, card); + + if (form.cards.get(card).isEmpty()) + { + LOG.info("Card #{} is empty: Removing card!", card); + form.cards.remove(card); + } + + for (Integer id : form.cards.keySet()) + for (String entry : form.cards.get(id).keySet()) + LOG.info("{} - {}: {}", id, entry, form.cards.get(id).get(entry)); + return "form"; } }