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 <claus.ib...@gmail.com> 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()); + } + } } } });