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

davsclaus pushed a commit to branch multi-route-loader
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 77a3312a40ed9f2d2fbe57446bebbbc4d3c7be28
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Feb 15 17:30:19 2024 +0100

    CAMEL-20245: camel-yaml-dsl - Add support for multi extension
---
 .../java/org/apache/camel/impl/engine/DefaultRoutesLoader.java     | 5 +++--
 .../org/apache/camel/dsl/support/RouteBuilderLoaderSupport.java    | 7 +++++++
 .../META-INF/services/org/apache/camel/routes-loader/kamelet.yaml  | 2 --
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
index 4e732eb9b2f..31be0748a39 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
@@ -42,7 +42,6 @@ import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.StringHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -248,8 +247,10 @@ public class DefaultRoutesLoader extends ServiceSupport 
implements RoutesLoader,
         final CamelContext ecc = getCamelContext();
         final FactoryFinder finder = 
ecc.getCamelContextExtension().getBootstrapFactoryFinder(RoutesBuilderLoader.FACTORY_PATH);
 
+        // the marker files are generated with dot as dash
+        String sanitized = extension.replace(".", "-");
         RoutesBuilderLoader answer
-                = ResolverHelper.resolveService(getCamelContext(), finder, 
extension, RoutesBuilderLoader.class).orElse(null);
+                = ResolverHelper.resolveService(getCamelContext(), finder, 
sanitized, RoutesBuilderLoader.class).orElse(null);
 
         // if it's a multi-extension then fallback to parent
         if (answer == null && extension.contains(".")) {
diff --git 
a/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/RouteBuilderLoaderSupport.java
 
b/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/RouteBuilderLoaderSupport.java
index b5b452860a7..2c3a8b237e6 100644
--- 
a/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/RouteBuilderLoaderSupport.java
+++ 
b/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/RouteBuilderLoaderSupport.java
@@ -28,6 +28,7 @@ import org.apache.camel.CamelContextAware;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.StartupStep;
 import org.apache.camel.api.management.ManagedAttribute;
+import org.apache.camel.api.management.ManagedOperation;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.builder.RouteBuilderLifecycleStrategy;
 import org.apache.camel.spi.CompilePostProcessor;
@@ -55,6 +56,12 @@ public abstract class RouteBuilderLoaderSupport extends 
RoutesBuilderLoaderSuppo
         return extension;
     }
 
+    @ManagedOperation(description = "Is the file extension supported by this 
route loader")
+    @Override
+    public boolean isSupportedExtension(String extension) {
+        return super.isSupportedExtension(extension);
+    }
+
     /**
      * Gets the registered {@link CompilePostProcessor}.
      */
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/kamelet.yaml
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/kamelet.yaml
deleted file mode 100644
index 867db7d6205..00000000000
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/kamelet.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.dsl.yaml.KameletRoutesBuilderLoader

Reply via email to