You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2024/11/11 17:14:43 UTC

(camel) 01/02: (chores) camel-main: break large method

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 <an...@gmail.com>
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()) {