Author: mthl
Date: Sat Jul 13 21:40:02 2019 New Revision: 1863021 URL: http://svn.apache.org/viewvc?rev=1863021&view=rev Log: Improved: Inline ‘filterContainersHavingMatchingLoaders’ (OFBIZ-11100) The filtering of matching loaders is now done directly inside the ‘loadContainersFromConfigurations’ method. Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java?rev=1863021&r1=1863020&r2=1863021&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java Sat Jul 13 21:40:02 2019 @@ -24,7 +24,6 @@ import java.util.Collections; import java.util.Deque; import java.util.LinkedList; import java.util.List; -import java.util.stream.Collectors; import org.apache.ofbiz.base.component.ComponentConfig; import org.apache.ofbiz.base.start.Config; @@ -62,10 +61,6 @@ public class ContainerLoader { * operate without it. */ public synchronized void load(Config config, List<StartupCommand> ofbizCommands) throws StartupException { - - // loaders defined in startup (e.g. main, test, load-data, etc ...) - List<String> loaders = config.loaders; - // Load mandatory container providing access to containers from components. try { ComponentContainer cc = new ComponentContainer(); @@ -77,21 +72,13 @@ public class ContainerLoader { // Load containers defined in components. Debug.logInfo("[Startup] Loading containers...", module); - List<ContainerConfig.Configuration> componentContainerConfigs = filterContainersHavingMatchingLoaders( - loaders, ComponentConfig.getAllConfigurations()); + List<ContainerConfig.Configuration> componentContainerConfigs = ComponentConfig.getAllConfigurations(); loadedContainers.addAll(loadContainersFromConfigurations(componentContainerConfigs, config, ofbizCommands)); // Start all containers loaded from above steps startLoadedContainers(); } - private static List<ContainerConfig.Configuration> filterContainersHavingMatchingLoaders(List<String> loaders, - Collection<ContainerConfig.Configuration> containerConfigs) { - return containerConfigs.stream() - .filter(cfg -> intersects(cfg.loaders, loaders)) - .collect(Collectors.toList()); - } - /** * Checks if two collections have an intersection or are both empty. * @@ -104,15 +91,26 @@ public class ContainerLoader { || !Collections.disjoint(a, b); } + /** + * Loads the available containers which are matching the configured loaders. + * + * @param containerConfigs the list of available container configurations + * @param config the configuration defining the loaders to match + * @param ofbizCommands the parsed commands line arguments used by the containers + * @return a list of loaded containers. + * @throws StartupException when a container fails to load. + */ private static List<Container> loadContainersFromConfigurations(List<ContainerConfig.Configuration> containerConfigs, Config config, List<StartupCommand> ofbizCommands) throws StartupException { List<Container> loadContainers = new ArrayList<>(); for (ContainerConfig.Configuration containerCfg : containerConfigs) { - Debug.logInfo("Loading container: " + containerCfg.name, module); - Container tmpContainer = loadContainer(containerCfg, ofbizCommands); - loadContainers.add(tmpContainer); - Debug.logInfo("Loaded container: " + containerCfg.name, module); + if (intersects(containerCfg.loaders, config.loaders)) { + Debug.logInfo("Loading container: " + containerCfg.name, module); + Container tmpContainer = loadContainer(containerCfg, ofbizCommands); + loadContainers.add(tmpContainer); + Debug.logInfo("Loaded container: " + containerCfg.name, module); + } } return loadContainers; } |
Free forum by Nabble | Edit this page |