|
31 | 31 | import java.util.Map;
|
32 | 32 | import java.util.Set;
|
33 | 33 | import java.util.function.Function;
|
| 34 | +import java.util.stream.Collectors; |
34 | 35 |
|
35 | 36 | import javax.servlet.ServletContext;
|
36 | 37 |
|
@@ -192,8 +193,8 @@ public static class ControllerConfig {
|
192 | 193 | private final Map<String, Event> postprocessorEventList = new LinkedHashMap<>();
|
193 | 194 | private final Map<String, Event> afterLoginEventList = new LinkedHashMap<>();
|
194 | 195 | private final Map<String, Event> beforeLogoutEventList = new LinkedHashMap<>();
|
195 |
| - private Map<String, String> eventHandlerMap = new HashMap<>(); |
196 |
| - private Map<String, String> viewHandlerMap = new HashMap<>(); |
| 196 | + private final Map<String, String> eventHandlerMap = new HashMap<>(); |
| 197 | + private final Map<String, String> viewHandlerMap = new HashMap<>(); |
197 | 198 | private MultivaluedMapContext<String, RequestMap> requestMapMap = new MultivaluedMapContext<>();
|
198 | 199 | private Map<String, ViewMap> viewMapMap = new HashMap<>();
|
199 | 200 |
|
@@ -359,17 +360,11 @@ private void loadGeneralConfig(Element rootElement) {
|
359 | 360 | }
|
360 | 361 |
|
361 | 362 | private void loadHandlerMap(Element rootElement) {
|
362 |
| - for (Element handlerElement : UtilXml.childElementList(rootElement, "handler")) { |
363 |
| - String name = handlerElement.getAttribute("name"); |
364 |
| - String type = handlerElement.getAttribute("type"); |
365 |
| - String className = handlerElement.getAttribute("class"); |
366 |
| - |
367 |
| - if ("view".equals(type)) { |
368 |
| - this.viewHandlerMap.put(name, className); |
369 |
| - } else { |
370 |
| - this.eventHandlerMap.put(name, className); |
371 |
| - } |
372 |
| - } |
| 363 | + Map<Boolean, Map<String, String>> handlers = UtilXml.childElementList(rootElement, "handler").stream() |
| 364 | + .collect(Collectors.partitioningBy(el -> "view".equals(el.getAttribute("type")), |
| 365 | + Collectors.toMap(el -> el.getAttribute("name"), el -> el.getAttribute("class")))); |
| 366 | + viewHandlerMap.putAll(handlers.get(true)); |
| 367 | + eventHandlerMap.putAll(handlers.get(false)); |
373 | 368 | }
|
374 | 369 |
|
375 | 370 | protected void loadIncludes(Element rootElement) {
|
|
0 commit comments