This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch export
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4750a40e2ae9fe7dd6b68b6886120ddc42293aaa
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Aug 3 14:52:41 2023 +0200

    camel class resolver should be able to scan from root package if you use 
dot as the package name.
---
 .../camel/impl/engine/DefaultPackageScanResourceResolver.java  | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultPackageScanResourceResolver.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultPackageScanResourceResolver.java
index 6fa8a18eaf9..358030969ad 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultPackageScanResourceResolver.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultPackageScanResourceResolver.java
@@ -105,10 +105,16 @@ public class DefaultPackageScanResourceResolver extends 
BasePackageScanResolver
             Set<Resource> resources,
             String subPattern) {
 
-        packageName = packageName.replace('.', '/');
+        // special for root package
+        if (".".equals(packageName)) {
+            packageName = "";
+        } else {
+            packageName = packageName.replace('.', '/');
+        }
+
         // If the URL is a jar, the URLClassloader.getResources() seems to 
require a trailing slash.
         // The trailing slash is harmless for other URLs
-        if (!packageName.endsWith("/")) {
+        if (!packageName.isEmpty() && !packageName.endsWith("/")) {
             packageName = packageName + "/";
         }
 

Reply via email to