From bb22c841384b80e9a5ef30b09d71e694585100e6 Mon Sep 17 00:00:00 2001 From: "xin.cao" Date: Sat, 30 Mar 2019 23:16:25 +0800 Subject: [PATCH] ok --- .../ui/controller/SwitcherController.java | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/jswitcher-ui/src/main/java/com/github/xincao9/jswitcher/ui/controller/SwitcherController.java b/jswitcher-ui/src/main/java/com/github/xincao9/jswitcher/ui/controller/SwitcherController.java index ac82eb2..bd4906a 100644 --- a/jswitcher-ui/src/main/java/com/github/xincao9/jswitcher/ui/controller/SwitcherController.java +++ b/jswitcher-ui/src/main/java/com/github/xincao9/jswitcher/ui/controller/SwitcherController.java @@ -115,20 +115,38 @@ private List> getKeys () { * @return 开关 */ @GetMapping("tree") - public ResponseEntity>>>> tree() { + public ResponseEntity>> tree() { try { List> keys = getKeys(); - Map>>> tree = new HashMap(); + Map>>> otree = new HashMap(); for (Map key : keys) { String application = String.valueOf(key.get("application")); - if (!tree.containsKey(application)) { - tree.put(application, new HashMap()); + if (!otree.containsKey(application)) { + otree.put(application, new HashMap()); } String name = String.valueOf(key.get("key")); - if (!tree.get(application).containsKey(name)) { - tree.get(application).put(name, new ArrayList()); + if (!otree.get(application).containsKey(name)) { + otree.get(application).put(name, new ArrayList()); } - tree.get(application).get(name).add(key); + otree.get(application).get(name).add(key); + } + List> tree = new ArrayList(); + for (String application : otree.keySet()) { + Map m0 = new HashMap(); + m0.put("text", application); + m0.put("selected", true); + m0.put("opened", true); + Map>> m1 = otree.get(application); + List> children = new ArrayList(); + for (String name : m1.keySet()) { + Map m3 = new HashMap(); + m3.put("text", name); + m3.put("selected", true); + m3.put("opened", true); + children.add(m3); + } + m0.put("children", children); + tree.add(m0); } return ResponseEntity.ok(tree); } catch (Throwable e) {