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
commit 4401dad9d808e400564586f01d4818aa99b83fb9 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Aug 24 16:41:08 2022 +0200 CAMEL-18406: camel-jbang - Status command --- .../core/commands/process/ProcessBaseCommand.java | 23 +++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) 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 519de022c41..727dbfe3ca5 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 @@ -17,7 +17,11 @@ package org.apache.camel.dsl.jbang.core.commands.process; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.StringJoiner; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.apache.camel.dsl.jbang.core.commands.CamelCommand; import org.apache.camel.dsl.jbang.core.commands.CamelJBangMain; @@ -27,6 +31,9 @@ import org.apache.camel.util.StringHelper; abstract class ProcessBaseCommand extends CamelCommand { + private static final String[] DSL_EXT = new String[] { "groovy", "java", "js", "jsh", "kts", "xml", "yaml" }; + private static final Pattern PATTERN = Pattern.compile("([\\w|\\-.])+"); + public ProcessBaseCommand(CamelJBangMain main) { super(main); } @@ -63,10 +70,20 @@ abstract class ProcessBaseCommand extends CamelCommand { String name = StringHelper.after(cl, "main.CamelJBang run"); if (name != null) { name = name.trim(); - } else { - name = ""; + StringJoiner js = new StringJoiner(" "); + // focus only on the route files supported (to skip such as readme files) + Matcher matcher = PATTERN.matcher(name); + while (matcher.find()) { + String part = matcher.group(); + String ext = FileUtil.onlyExt(part, true); + if (ext != null && Arrays.asList(DSL_EXT).contains(ext)) { + js.add(part); + } + } + return js.toString(); } - return name; + + return ""; } static long extractSince(ProcessHandle ph) {