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);