This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit b97870c6977a5d896cc8c309eb6f2233b3e89fff Author: Otavio Rodolfo Piske <[email protected]> AuthorDate: Mon Nov 11 16:38:53 2024 +0100 (chores) camel-main: break large method --- .../org/apache/camel/main/BaseMainSupport.java | 72 ++++++++++++---------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java index 142a11b96f4..109877699da 100644 --- a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java +++ b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java @@ -316,41 +316,11 @@ public abstract class BaseMainSupport extends BaseService { // auto-detect camel configurations via base package scanning String basePackage = camelContext.getCamelContextExtension().getBasePackageScan(); if (basePackage != null) { - PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext); - Set<Class<?>> found1 = pscr.findImplementations(CamelConfiguration.class, basePackage); - Set<Class<?>> found2 = pscr.findAnnotated(Configuration.class, basePackage); - Set<Class<?>> found = new LinkedHashSet<>(); - found.addAll(found1); - found.addAll(found2); - for (Class<?> clazz : found) { - // lets use Camel's injector so the class has some support for dependency injection - Object config = camelContext.getInjector().newInstance(clazz); - if (config instanceof CamelConfiguration cc) { - LOG.debug("Discovered CamelConfiguration class: {}", cc); - mainConfigurationProperties.addConfiguration(cc); - } - } + setupBasePackage(camelContext, basePackage); } if (mainConfigurationProperties.getConfigurationClasses() != null) { - String[] configClasses = mainConfigurationProperties.getConfigurationClasses().split(","); - for (String configClass : configClasses) { - Class<CamelConfiguration> configClazz - = camelContext.getClassResolver().resolveClass(configClass, CamelConfiguration.class); - // skip main classes - boolean mainClass = false; - try { - configClazz.getDeclaredMethod("main", String[].class); - mainClass = true; - } catch (NoSuchMethodException e) { - // ignore - } - if (!mainClass) { - // let's use Camel's injector so the class has some support for dependency injection - CamelConfiguration config = camelContext.getInjector().newInstance(configClazz); - mainConfigurationProperties.addConfiguration(config); - } - } + setupConfigurationClasses(camelContext); } // lets use Camel's bean post processor on any existing configuration classes @@ -380,6 +350,44 @@ public abstract class BaseMainSupport extends BaseService { } } + private void setupConfigurationClasses(CamelContext camelContext) { + String[] configClasses = mainConfigurationProperties.getConfigurationClasses().split(","); + for (String configClass : configClasses) { + Class<CamelConfiguration> configClazz + = camelContext.getClassResolver().resolveClass(configClass, CamelConfiguration.class); + // skip main classes + boolean mainClass = false; + try { + configClazz.getDeclaredMethod("main", String[].class); + mainClass = true; + } catch (NoSuchMethodException e) { + // ignore + } + if (!mainClass) { + // let's use Camel's injector so the class has some support for dependency injection + CamelConfiguration config = camelContext.getInjector().newInstance(configClazz); + mainConfigurationProperties.addConfiguration(config); + } + } + } + + private void setupBasePackage(CamelContext camelContext, String basePackage) { + PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext); + Set<Class<?>> found1 = pscr.findImplementations(CamelConfiguration.class, basePackage); + Set<Class<?>> found2 = pscr.findAnnotated(Configuration.class, basePackage); + Set<Class<?>> found = new LinkedHashSet<>(); + found.addAll(found1); + found.addAll(found2); + for (Class<?> clazz : found) { + // lets use Camel's injector so the class has some support for dependency injection + Object config = camelContext.getInjector().newInstance(clazz); + if (config instanceof CamelConfiguration cc) { + LOG.debug("Discovered CamelConfiguration class: {}", cc); + mainConfigurationProperties.addConfiguration(cc); + } + } + } + protected void configurePropertiesService(CamelContext camelContext) throws Exception { PropertiesComponent pc = camelContext.getPropertiesComponent(); if (pc.getLocations().isEmpty()) {
