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()) {

Reply via email to