You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/10/02 15:22:41 UTC
[camel] branch main updated: Fix DefaultComponentNameResolver on Windows (#11626)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 9486cc4ac46 Fix DefaultComponentNameResolver on Windows (#11626)
9486cc4ac46 is described below
commit 9486cc4ac463eb65d7e8223716482226e2f06e95
Author: Aurélien Pupier <ap...@redhat.com>
AuthorDate: Mon Oct 2 17:22:33 2023 +0200
Fix DefaultComponentNameResolver on Windows (#11626)
When some Components are loaded in development mode, the path is a file
system one. On Windows, the separator is a backslash.
Signed-off-by: Aurélien Pupier <ap...@redhat.com>
---
.../org/apache/camel/impl/engine/DefaultComponentNameResolver.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultComponentNameResolver.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultComponentNameResolver.java
index d0d8deaee67..f6cc0a3cefb 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultComponentNameResolver.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultComponentNameResolver.java
@@ -38,7 +38,8 @@ public class DefaultComponentNameResolver implements ComponentNameResolver {
.stream()
.map(Resource::getLocation)
// remove leading path to only keep name
- .map(l -> l.substring(l.lastIndexOf('/') + 1))
+ // searching for last separator: Jar path separator (/), Unix path (/) and Windows path separator (\)
+ .map(l -> l.substring(Math.max(l.lastIndexOf('/'), l.lastIndexOf('\\')) + 1))
.collect(Collectors.toCollection(TreeSet::new));
} catch (Exception e) {
throw new RuntimeCamelException(e);