src/main/java/de/uapcore/lightpit/ModuleManager.java

changeset 45
cc7f082c5ef3
parent 36
0f4f8f255c32
child 57
1262b5433644
     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      }

mercurial