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 2025/11/05 08:51:33 UTC
(camel) 01/01: CAMEL-22651: camel-jbang - Fix --stub to handle multiple names seperated by comma and some wrong pattern logic.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch stub
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 1502bc5437556bb2bb83e62112f7c4fa24df2d01
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Nov 5 09:51:16 2025 +0100
CAMEL-22651: camel-jbang - Fix --stub to handle multiple names seperated by comma and some wrong pattern logic.
---
.../download/DependencyDownloaderComponentResolver.java | 10 ++++++++--
.../download/DependencyDownloaderDataFormatResolver.java | 5 ++++-
.../download/DependencyDownloaderLanguageResolver.java | 14 +++++++++++---
.../download/DependencyDownloaderTransformerResolver.java | 6 ++++--
.../main/download/KameletAutowiredLifecycleStrategy.java | 6 ++----
.../apache/camel/main/download/KameletMainInjector.java | 2 +-
.../camel/main/download/StubComponentAutowireStrategy.java | 4 +++-
7 files changed, 33 insertions(+), 14 deletions(-)
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderComponentResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderComponentResolver.java
index b4c636f21834..9fc30b8ebd43 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderComponentResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderComponentResolver.java
@@ -27,6 +27,7 @@ import org.apache.camel.component.platform.http.PlatformHttpComponent;
import org.apache.camel.component.stub.StubComponent;
import org.apache.camel.impl.engine.DefaultComponentResolver;
import org.apache.camel.main.util.SuggestSimilarHelper;
+import org.apache.camel.support.PatternHelper;
import org.apache.camel.tooling.model.ComponentModel;
import org.apache.camel.tooling.model.OtherModel;
@@ -134,14 +135,19 @@ public final class DependencyDownloaderComponentResolver extends DefaultComponen
private boolean accept(String name) {
if (transform) {
- return Arrays.stream(ACCEPTED_TRANSFORM_NAMES).anyMatch(n -> n.equals(name));
+ return Arrays.asList(ACCEPTED_TRANSFORM_NAMES).contains(name);
}
if (stubPattern == null) {
return true;
}
// we are stubbing but need to accept the following
- return Arrays.stream(ACCEPTED_STUB_NAMES).anyMatch(n -> n.equals(name));
+ if (Arrays.asList(ACCEPTED_STUB_NAMES).contains(name)) {
+ return true;
+ }
+
+ boolean stubbed = PatternHelper.matchPatterns(name, stubPattern.split(","));
+ return !stubbed;
}
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
index 20e6506fd6f5..7bdc85280ec0 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
@@ -25,6 +25,7 @@ import org.apache.camel.impl.engine.DefaultDataFormatResolver;
import org.apache.camel.main.stub.StubDataFormat;
import org.apache.camel.main.util.SuggestSimilarHelper;
import org.apache.camel.spi.DataFormat;
+import org.apache.camel.support.PatternHelper;
import org.apache.camel.tooling.model.DataFormatModel;
/**
@@ -78,7 +79,9 @@ public final class DependencyDownloaderDataFormatResolver extends DefaultDataFor
if (stubPattern == null) {
return true;
}
- return false;
+
+ boolean stubbed = PatternHelper.matchPatterns(name, stubPattern.split(","));
+ return !stubbed;
}
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
index 5dfe06305e35..b15eaab6f94e 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.main.download;
+import java.util.Arrays;
import java.util.List;
import org.apache.camel.CamelContext;
@@ -25,6 +26,7 @@ import org.apache.camel.impl.engine.DefaultLanguageResolver;
import org.apache.camel.main.stub.StubLanguage;
import org.apache.camel.main.util.SuggestSimilarHelper;
import org.apache.camel.spi.Language;
+import org.apache.camel.support.PatternHelper;
import org.apache.camel.tooling.model.LanguageModel;
/**
@@ -32,8 +34,9 @@ import org.apache.camel.tooling.model.LanguageModel;
*/
public final class DependencyDownloaderLanguageResolver extends DefaultLanguageResolver {
- private static final String ACCEPTED_STUB_NAMES
- = "constant,exchangeProperty,header,ref,simple,variable";
+ private static final String[] ACCEPTED_STUB_NAMES = new String[] {
+ "constant", "exchangeProperty", "header", "ref", "simple", "variable"
+ };
private final CamelCatalog catalog = new DefaultCamelCatalog();
private final DependencyDownloader downloader;
@@ -87,7 +90,12 @@ public final class DependencyDownloaderLanguageResolver extends DefaultLanguageR
}
// we are stubbing but need to accept the following
- return ACCEPTED_STUB_NAMES.contains(name);
+ if (Arrays.asList(ACCEPTED_STUB_NAMES).contains(name)) {
+ return true;
+ }
+
+ boolean stubbed = PatternHelper.matchPatterns(name, stubPattern.split(","));
+ return !stubbed;
}
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
index 2cdc7159085c..5cbc444094ee 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
@@ -26,6 +26,7 @@ import org.apache.camel.main.stub.StubTransformer;
import org.apache.camel.main.util.SuggestSimilarHelper;
import org.apache.camel.spi.Transformer;
import org.apache.camel.spi.TransformerKey;
+import org.apache.camel.support.PatternHelper;
import org.apache.camel.tooling.model.TransformerModel;
/**
@@ -80,8 +81,9 @@ public final class DependencyDownloaderTransformerResolver extends DefaultTransf
if (stubPattern == null) {
return true;
}
- // we are stubbing
- return false;
+
+ boolean stubbed = PatternHelper.matchPatterns(name, stubPattern.split(","));
+ return !stubbed;
}
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletAutowiredLifecycleStrategy.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletAutowiredLifecycleStrategy.java
index de853e834c10..bc886a9f8137 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletAutowiredLifecycleStrategy.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletAutowiredLifecycleStrategy.java
@@ -74,10 +74,8 @@ public class KameletAutowiredLifecycleStrategy extends MainAutowiredLifecycleStr
return false;
} else {
// is the component stubbed, then it should not autowire
- for (String n : stubPattern.split(",")) {
- if (PatternHelper.matchPattern(n, stubPattern)) {
- return false;
- }
+ if (PatternHelper.matchPatterns(name, stubPattern.split(","))) {
+ return false;
}
}
return true;
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 2a2817cae6d6..742a92d7b7de 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
@@ -89,7 +89,7 @@ public class KameletMainInjector implements Injector {
boolean found = false;
String name = ann.value();
for (String n : name.split(",")) {
- if (PatternHelper.matchPattern(n, stubPattern)) {
+ if (PatternHelper.matchPatterns(n, stubPattern.split(","))) {
found = true;
break;
}
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 50ddf0da72e4..c0c013a36471 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
@@ -23,6 +23,7 @@ import org.apache.camel.spi.AutowiredLifecycleStrategy;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.Language;
import org.apache.camel.support.LifecycleStrategySupport;
+import org.apache.camel.support.PatternHelper;
public class StubComponentAutowireStrategy extends LifecycleStrategySupport implements AutowiredLifecycleStrategy, Ordered {
private final CamelContext camelContext;
@@ -79,7 +80,8 @@ public class StubComponentAutowireStrategy extends LifecycleStrategySupport impl
}
private void autowire(String name, String kind, Object target) {
- if (pattern.contains(name)) {
+ boolean stubbed = PatternHelper.matchPatterns(name, pattern.split(","));
+ if (stubbed) {
// do not autowire
} else {
doAutoWire(name, kind, target, camelContext);