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 488672ae636 CAMEL-21990: camel-jbang: Fix findPids to support --name option. 488672ae636 is described below commit 488672ae63662890a5c87e26c4e0d74a46baa4e0 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 d6b347e5a00..1274c448d33 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 @@ -66,6 +66,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()); + } + } } } });