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 2024/02/15 17:16:35 UTC
(camel) 02/03: CAMEL-20245: camel-yaml-dsl - Add support for multi extension
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 <cl...@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