This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch feat/camel-tui
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2d0c4047ecaaf3a79ec72968aa031ac303b1ac01
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon May 18 10:11:49 2026 +0200

    TUI: HTTP tab — add CONSUMES column, sort on consumes/produces
    
    - Add CONSUMES column between PATH and PRODUCES
    - Expand HTTP_SORT_COLUMNS to include consumes and produces
    - Both CONSUMES and PRODUCES headers now show sort indicator (▼/▲)
      when active, consistent with other tabs
    - Tighten METHOD column (14→12) to fit the extra column
    
    STATE column (REST DSL only): reflects ServiceStatus of the underlying
    route consumer — Started/Stopped/Suspended. Always blank for
    Platform-HTTP endpoints since the HTTP engine has no per-endpoint state.
    
    Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
---
 .../dsl/jbang/core/commands/tui/CamelMonitor.java  | 26 ++++++++++------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
index 7030b1deeb81..fa40e567e029 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
@@ -144,7 +144,7 @@ public class CamelMonitor extends CamelCommand {
     private static final String[] CB_SORT_COLUMNS = { "route", "id", 
"component", "state" };
 
     // HTTP sort columns
-    private static final String[] HTTP_SORT_COLUMNS = { "method", "path", 
"source" };
+    private static final String[] HTTP_SORT_COLUMNS = { "method", "path", 
"source", "consumes", "produces" };
 
     @CommandLine.Parameters(description = "Name or pid of running Camel 
integration", arity = "0..1")
     String name = "*";
@@ -3516,17 +3516,11 @@ public class CamelMonitor extends CamelCommand {
         // Sort
         visible.sort((a, b) -> {
             int result = switch (httpSort) {
-                case "path" -> {
-                    String pa = a.path != null ? a.path : "";
-                    String pb = b.path != null ? b.path : "";
-                    yield pa.compareToIgnoreCase(pb);
-                }
+                case "path" -> compareStr(a.path, b.path);
                 case "source" -> Boolean.compare(b.fromRest, a.fromRest);
-                default -> { // method
-                    String ma = a.method != null ? a.method : "";
-                    String mb = b.method != null ? b.method : "";
-                    yield ma.compareToIgnoreCase(mb);
-                }
+                case "consumes" -> compareStr(a.consumes, b.consumes);
+                case "produces" -> compareStr(a.produces, b.produces);
+                default -> compareStr(a.method, b.method); // "method"
             };
             return httpSortReversed ? -result : result;
         });
@@ -3592,6 +3586,7 @@ public class CamelMonitor extends CamelCommand {
         for (HttpEndpointInfo ep : visible) {
             String method = ep.method != null ? ep.method : "";
             String path = ep.path != null ? ep.path : (ep.url != null ? ep.url 
: "");
+            String consumes = ep.consumes != null ? ep.consumes : "";
             String produces = ep.produces != null ? ep.produces : "";
             String source;
             if (ep.management) {
@@ -3605,6 +3600,7 @@ public class CamelMonitor extends CamelCommand {
             rows.add(Row.from(
                     Cell.from(Span.styled(method, methodStyle(method))),
                     Cell.from(path),
+                    Cell.from(consumes),
                     Cell.from(produces),
                     Cell.from(Span.styled(source,
                             ep.fromRest ? Style.EMPTY.fg(Color.GREEN) : 
Style.EMPTY.fg(Color.CYAN))),
@@ -3617,7 +3613,8 @@ public class CamelMonitor extends CamelCommand {
         Row header = Row.from(
                 Cell.from(Span.styled(httpSortLabel("METHOD", "method"), 
httpSortStyle("method"))),
                 Cell.from(Span.styled(httpSortLabel("PATH", "path"), 
httpSortStyle("path"))),
-                Cell.from(Span.styled("PRODUCES", Style.EMPTY.bold())),
+                Cell.from(Span.styled(httpSortLabel("CONSUMES", "consumes"), 
httpSortStyle("consumes"))),
+                Cell.from(Span.styled(httpSortLabel("PRODUCES", "produces"), 
httpSortStyle("produces"))),
                 Cell.from(Span.styled(httpSortLabel("SOURCE", "source"), 
httpSortStyle("source"))),
                 Cell.from(Span.styled("STATE", Style.EMPTY.bold())));
 
@@ -3625,9 +3622,10 @@ public class CamelMonitor extends CamelCommand {
                 .rows(rows)
                 .header(header)
                 .widths(
-                        Constraint.length(14),
+                        Constraint.length(12),
                         Constraint.fill(),
-                        Constraint.length(24),
+                        Constraint.length(20),
+                        Constraint.length(20),
                         Constraint.length(15),
                         Constraint.length(8))
                 .highlightStyle(Style.EMPTY.fg(Color.WHITE).bold().onBlue())

Reply via email to