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