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 a1e1a31e5db7 CAMEL-23416: camel-jbang - Add route diagram web console 
to show route diagram when using --console
a1e1a31e5db7 is described below

commit a1e1a31e5db7f3a0f150308c207f26261d1bfc16
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed May 6 11:05:20 2026 +0200

    CAMEL-23416: camel-jbang - Add route diagram web console to show route 
diagram when using --console
---
 .../org/apache/camel/jbang/console/DiagramDevConsole.java     | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/DiagramDevConsole.java
 
b/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/DiagramDevConsole.java
index 0d90049d66dc..d2b79e5b6095 100644
--- 
a/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/DiagramDevConsole.java
+++ 
b/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/DiagramDevConsole.java
@@ -39,6 +39,11 @@ import org.apache.camel.util.json.JsonObject;
 @DevConsole(name = "route-diagram", group = "camel-jbang", displayName = 
"Route Diagram", description = "Visual route diagrams")
 public class DiagramDevConsole extends AbstractDevConsole {
 
+    /**
+     * Filters the routes matching by route id, route uri, and source location
+     */
+    public static final String FILTER = "filter";
+
     /**
      * Theme to use: dark, light, or text
      */
@@ -67,6 +72,7 @@ public class DiagramDevConsole extends AbstractDevConsole {
     protected String doCallText(Map<String, Object> options) {
         final StringJoiner sj = new StringJoiner("\n");
 
+        String filter = (String) options.getOrDefault(FILTER, "*");
         String theme = (String) options.get(THEME);
         int fontSize
                 = Integer.parseInt(options.getOrDefault(FONT_SIZE, "" + 
RouteDiagramLayoutEngine.DEFAULT_FONT_SIZE).toString());
@@ -77,7 +83,7 @@ public class DiagramDevConsole extends AbstractDevConsole {
         org.apache.camel.console.DevConsole dc
                 = 
getCamelContext().getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class)
                         .resolveById("route-structure");
-        JsonObject root = (JsonObject) dc.call(MediaType.JSON);
+        JsonObject root = (JsonObject) dc.call(MediaType.JSON, 
Map.of("filter", filter));
         // parseRoutes expect a JsonArray and not ArrayList
         JsonArray arr = new JsonArray(root.getCollection("routes"));
         root.put("routes", arr);
@@ -105,6 +111,7 @@ public class DiagramDevConsole extends AbstractDevConsole {
 
     @Override
     protected Map<String, Object> doCallJson(Map<String, Object> options) {
+        String filter = (String) options.getOrDefault(FILTER, "*");
         String theme = (String) options.get(THEME);
         int fontSize
                 = Integer.parseInt(options.getOrDefault(FONT_SIZE, "" + 
RouteDiagramLayoutEngine.DEFAULT_FONT_SIZE).toString());
@@ -115,7 +122,7 @@ public class DiagramDevConsole extends AbstractDevConsole {
         org.apache.camel.console.DevConsole dc
                 = 
getCamelContext().getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class)
                         .resolveById("route-structure");
-        JsonObject root = (JsonObject) dc.call(MediaType.JSON);
+        JsonObject root = (JsonObject) dc.call(MediaType.JSON, 
Map.of("filter", filter));
         // parseRoutes expect a JsonArray and not ArrayList
         JsonArray arr = new JsonArray(root.getCollection("routes"));
         root.put("routes", arr);

Reply via email to