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 5d4c6cbf0746 CAMEL-22667: camel-jbang - Using --stub with none
existing may cause timer to not trigger
5d4c6cbf0746 is described below
commit 5d4c6cbf07460608e7653b3bfd6729ebf3e23122
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Nov 6 10:12:43 2025 +0100
CAMEL-22667: camel-jbang - Using --stub with none existing may cause timer
to not trigger
---
.../org/apache/camel/dsl/jbang/core/commands/Run.java | 4 ++--
.../camel/main/download/KameletMainInjector.java | 18 ++++++++++++------
.../main/download/StubComponentAutowireStrategy.java | 12 +++++++++++-
3 files changed, 25 insertions(+), 9 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
index 1abbae530a77..8e6330f37322 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
@@ -596,10 +596,10 @@ public class Run extends CamelCommand {
StringJoiner sj = new StringJoiner(",");
for (String n : stub.split(",")) {
// you can either refer to a name or a specific endpoint
- // if there is a colon then we assume its a specific endpoint
then we should not add wildcard
+ // if there is a colon then we assume it's a specific endpoint
then we should not add wildcard
boolean colon = n.contains(":");
if (!colon && !n.endsWith("*")) {
- n = n + "*";
+ n = "component:" + n + "*";
}
sj.add(n);
}
diff --git
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletMainInjector.java
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletMainInjector.java
index 742a92d7b7de..94277558399a 100644
---
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletMainInjector.java
+++
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletMainInjector.java
@@ -81,21 +81,27 @@ public class KameletMainInjector implements Injector {
boolean accept = true;
if (stubPattern != null && Component.class.isAssignableFrom(type)) {
accept = accept(type);
- if (!accept && !"*".equals(stubPattern)) {
+ if (!accept && !("*".equals(stubPattern) ||
"component:*".equals(stubPattern))) {
// grab component name via annotation trick!
org.apache.camel.spi.annotations.Component ann
= ObjectHelper.getAnnotation(this,
org.apache.camel.spi.annotations.Component.class);
if (ann != null) {
- boolean found = false;
+ boolean stubbed = false;
String name = ann.value();
for (String n : name.split(",")) {
- if (PatternHelper.matchPatterns(n,
stubPattern.split(","))) {
- found = true;
- break;
+ for (String p : stubPattern.split(",")) {
+ if (p.startsWith("component:")) {
+ p = p.substring(10);
+ }
+ stubbed |= PatternHelper.matchPattern(n, p);
}
}
- accept = !found;
+ accept = !stubbed;
+ } else {
+ accept = true;
}
+ } else {
+ accept = true;
}
}
return accept;
diff --git
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/StubComponentAutowireStrategy.java
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/StubComponentAutowireStrategy.java
index c0c013a36471..caabce1ee1e1 100644
---
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/StubComponentAutowireStrategy.java
+++
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/StubComponentAutowireStrategy.java
@@ -80,7 +80,17 @@ public class StubComponentAutowireStrategy extends
LifecycleStrategySupport impl
}
private void autowire(String name, String kind, Object target) {
- boolean stubbed = PatternHelper.matchPatterns(name,
pattern.split(","));
+ boolean stubbed = false;
+ for (String n : pattern.split(",")) {
+ if ("component".equals(kind) && n.startsWith("component:")) {
+ n = n.substring(10);
+ } else if ("dataformat".equals(kind) &&
n.startsWith("dataformat:")) {
+ n = n.substring(11);
+ } else if ("language".equals(kind) && n.startsWith("language:")) {
+ n = n.substring(9);
+ }
+ stubbed |= PatternHelper.matchPattern(name, n);
+ }
if (stubbed) {
// do not autowire
} else {