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