1.1 --- a/src/main/java/de/uapcore/lightpit/ModuleManager.java Wed May 13 18:55:05 2020 +0200 1.2 +++ b/src/main/java/de/uapcore/lightpit/ModuleManager.java Wed May 13 21:10:23 2020 +0200 1.3 @@ -36,7 +36,10 @@ 1.4 import javax.servlet.ServletContextEvent; 1.5 import javax.servlet.ServletContextListener; 1.6 import javax.servlet.annotation.WebListener; 1.7 -import java.util.*; 1.8 +import java.util.ArrayList; 1.9 +import java.util.Collections; 1.10 +import java.util.List; 1.11 +import java.util.Optional; 1.12 1.13 /** 1.14 * Scans registered servlets for LightPIT modules. 1.15 @@ -55,7 +58,7 @@ 1.16 /** 1.17 * Maps class names to module information. 1.18 */ 1.19 - private final Map<String, LightPITModule> registeredModules = new HashMap<>(); 1.20 + private final List<LightPITModule> registeredModules = new ArrayList<>(); 1.21 1.22 /** 1.23 * Contains the menu entries for the loaded modules. 1.24 @@ -114,7 +117,7 @@ 1.25 private void handleServletRegistration(String name, Registration reg) { 1.26 final Optional<LightPITModule> moduleInfo = getModuleInfo(reg); 1.27 if (moduleInfo.isPresent()) { 1.28 - registeredModules.put(reg.getClassName(), moduleInfo.get()); 1.29 + registeredModules.add(moduleInfo.get()); 1.30 LOG.info("Module detected: {}", name); 1.31 } else { 1.32 LOG.debug("Servlet {} is no module, skipping.", name); 1.33 @@ -145,16 +148,15 @@ 1.34 */ 1.35 private void createMainMenu() { 1.36 mainMenu.clear(); 1.37 - registeredModules.entrySet() 1.38 + registeredModules 1.39 .stream() 1.40 - .filter(mod -> !mod.getValue().systemModule()) 1.41 + .filter(mod -> !mod.systemModule()) 1.42 .map(mod -> new MenuEntry( 1.43 - mod.getKey(), 1.44 new ResourceKey( 1.45 - mod.getValue().bundleBaseName(), 1.46 - mod.getValue().menuKey()), 1.47 - mod.getValue().modulePath(), 1.48 - mod.getValue().defaultPriority())) 1.49 + mod.bundleBaseName(), 1.50 + mod.menuKey()), 1.51 + mod.modulePath(), 1.52 + mod.defaultPriority())) 1.53 .sorted() 1.54 .forEachOrdered(mainMenu::add); 1.55 }