This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.10.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.10.x by this push:
new 8f343348b26 CAMEL-21990: camel-jbang: Fix findPids to support --name
option.
8f343348b26 is described below
commit 8f343348b264c76cea568a9a1f1fd4436ce0cc41
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Apr 18 10:15:33 2025 +0200
CAMEL-21990: camel-jbang: Fix findPids to support --name option.
---
.../jbang/core/commands/action/ActionBaseCommand.java | 19 +++++++++++++++++--
.../core/commands/process/ProcessBaseCommand.java | 12 ++++++++++++
2 files changed, 29 insertions(+), 2 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
index 7520e89cd47..36632f43ea4 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
@@ -66,8 +66,11 @@ abstract class ActionBaseCommand extends CamelCommand {
if (name.matches("\\d+")) {
return List.of(Long.parseLong(name));
} else {
- // lets be open and match all that starts with this pattern
- if (!name.endsWith("*")) {
+ if (name.endsWith("!")) {
+ // exclusive this name only
+ name = name.substring(0, name.length() - 1);
+ } else if (!name.endsWith("*")) {
+ // lets be open and match all that starts with this pattern
name = name + "*";
}
}
@@ -85,6 +88,18 @@ abstract class ActionBaseCommand extends CamelCommand {
pName = FileUtil.onlyName(pName);
if (pName != null && !pName.isEmpty() &&
PatternHelper.matchPattern(pName, pattern)) {
pids.add(ph.pid());
+ } else {
+ // try camel context name
+ JsonObject context = (JsonObject)
root.get("context");
+ if (context != null) {
+ pName = context.getString("name");
+ if ("CamelJBang".equals(pName)) {
+ pName = null;
+ }
+ if (pName != null && !pName.isEmpty() &&
PatternHelper.matchPattern(pName, pattern)) {
+ pids.add(ph.pid());
+ }
+ }
}
}
});
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
index 408e6d103b1..5a1beb1277d 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
@@ -63,6 +63,18 @@ abstract class ProcessBaseCommand extends CamelCommand {
pName = FileUtil.onlyName(pName);
if (pName != null && !pName.isEmpty() &&
PatternHelper.matchPattern(pName, pattern)) {
pids.add(ph.pid());
+ } else {
+ // try camel context name
+ JsonObject context = (JsonObject)
root.get("context");
+ if (context != null) {
+ pName = context.getString("name");
+ if ("CamelJBang".equals(pName)) {
+ pName = null;
+ }
+ if (pName != null && !pName.isEmpty() &&
PatternHelper.matchPattern(pName, pattern)) {
+ pids.add(ph.pid());
+ }
+ }
}
}
});