This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.8.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.8.x by this push:
new 1c5c399bfe1 CAMEL-21404: camel-core - Routes loader should skip
failing if file has no extension and its optional. (#16123)
1c5c399bfe1 is described below
commit 1c5c399bfe194e63b023ad79629c3d4f7a7cc47a
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Oct 30 12:14:32 2024 +0100
CAMEL-21404: camel-core - Routes loader should skip failing if file has no
extension and its optional. (#16123)
---
.../org/apache/camel/impl/engine/DefaultRoutesLoader.java | 13 ++++++-------
.../main/java/org/apache/camel/main/RoutesConfigurer.java | 13 ++++++-------
2 files changed, 12 insertions(+), 14 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 309d8bb4047..7fcd12ab306 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
@@ -306,20 +306,19 @@ public class DefaultRoutesLoader extends ServiceSupport
implements RoutesLoader,
}
protected RoutesBuilderLoader resolveRoutesBuilderLoader(Resource
resource, boolean optional) throws Exception {
+ RoutesBuilderLoader answer = null;
+
// the loader to use is derived from the file extension
final String extension = FileUtil.onlyExt(resource.getLocation(),
false);
- if (ObjectHelper.isEmpty(extension)) {
- throw new IllegalArgumentException(
- "Unable to determine file extension for resource: " +
resource.getLocation());
+ if (extension != null) {
+ answer = getRoutesLoader(extension);
}
-
- RoutesBuilderLoader loader = getRoutesLoader(extension);
- if (!optional && loader == null) {
+ if (!optional && answer == null) {
throw new IllegalArgumentException(
"Cannot find RoutesBuilderLoader in classpath supporting
file extension: " + extension);
}
- return loader;
+ return answer;
}
}
diff --git
a/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
b/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
index 5695fe508ef..c7299e1eab0 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
@@ -37,7 +37,6 @@ import org.apache.camel.spi.RoutesLoader;
import org.apache.camel.support.OrderedComparator;
import org.apache.camel.support.PluginHelper;
import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StopWatch;
import org.apache.camel.util.TimeUtils;
import org.slf4j.Logger;
@@ -440,16 +439,16 @@ public class RoutesConfigurer {
CamelContext camelContext, Resource resource,
boolean optional)
throws Exception {
+
+ RoutesBuilderLoader answer = null;
+
// the loader to use is derived from the file extension
final String extension = FileUtil.onlyExt(resource.getLocation(),
false);
- if (ObjectHelper.isEmpty(extension)) {
- throw new IllegalArgumentException(
- "Unable to determine file extension for resource: " +
resource.getLocation());
+ if (extension != null) {
+ RoutesLoader loader = PluginHelper.getRoutesLoader(camelContext);
+ answer = loader.getRoutesLoader(extension);
}
-
- RoutesLoader loader = PluginHelper.getRoutesLoader(camelContext);
- RoutesBuilderLoader answer = loader.getRoutesLoader(extension);
if (!optional && answer == null) {
throw new IllegalArgumentException(
"Cannot find RoutesBuilderLoader in classpath supporting
file extension: " + extension);