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 1c4a959e6e26ce4b7f83e3acc2c4248fdcc75814
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Jul 27 20:35:49 2026 +0200

    camel-tui: Add Remote column to Consumers tab and use x marker style
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../apache/camel/dsl/jbang/core/commands/tui/ConsumerInfo.java   | 1 +
 .../apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java   | 9 +++++++--
 .../apache/camel/dsl/jbang/core/commands/tui/ProducersTab.java   | 2 +-
 .../apache/camel/dsl/jbang/core/commands/tui/StatusParser.java   | 1 +
 4 files changed, 10 insertions(+), 3 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumerInfo.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumerInfo.java
index 17ce5aa06c36..62fb00441da1 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumerInfo.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumerInfo.java
@@ -22,6 +22,7 @@ class ConsumerInfo {
     String state;
     String className;
     boolean scheduled;
+    boolean remote;
     int inflight;
     Boolean polling;
     Long totalCounter;
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
index 74bd30692436..2c9361b3359f 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
@@ -43,7 +43,7 @@ import static 
org.apache.camel.dsl.jbang.core.commands.tui.TuiHelper.*;
 class ConsumersTab extends AbstractTableTab {
 
     ConsumersTab(MonitorContext ctx) {
-        super(ctx, "id", "status", "type", "inflight", "polls", "uri");
+        super(ctx, "id", "status", "type", "remote", "inflight", "polls", 
"uri");
     }
 
     @Override
@@ -102,6 +102,7 @@ class ConsumersTab extends AbstractTableTab {
                     Cell.from(Span.styled(" " + (ci.id != null ? ci.id : ""), 
Style.EMPTY.fg(Theme.accent()))),
                     Cell.from(Span.styled(statusText, statusStyle)),
                     Cell.from(type),
+                    Cell.from(ci.remote ? "x" : ""),
                     rightCell(String.valueOf(ci.inflight), 8),
                     rightCell(ci.totalCounter != null ? 
String.valueOf(ci.totalCounter) : "", 8),
                     Cell.from(schedule),
@@ -110,7 +111,7 @@ class ConsumersTab extends AbstractTableTab {
         }
 
         if (rows.isEmpty()) {
-            rows.add(emptyRow("No consumers", 8));
+            rows.add(emptyRow("No consumers", 9));
         }
 
         Table table = Table.builder()
@@ -119,6 +120,7 @@ class ConsumersTab extends AbstractTableTab {
                         Cell.from(Span.styled(" " + sortLabel("ROUTE", "id"), 
sortStyle("id"))),
                         Cell.from(Span.styled(sortLabel("STATUS", "status"), 
sortStyle("status"))),
                         Cell.from(Span.styled(sortLabel("TYPE", "type"), 
sortStyle("type"))),
+                        Cell.from(Span.styled(sortLabel("REMOTE", "remote"), 
sortStyle("remote"))),
                         rightCell(sortLabel("INFLIGHT", "inflight"), 8, 
sortStyle("inflight")),
                         rightCell(sortLabel("POLLS", "polls"), 8, 
sortStyle("polls")),
                         Cell.from(Span.styled("SCHEDULE", Style.EMPTY.bold())),
@@ -130,6 +132,7 @@ class ConsumersTab extends AbstractTableTab {
                         Constraint.length(16),
                         Constraint.length(8),
                         Constraint.length(8),
+                        Constraint.length(8),
                         Constraint.length(22),
                         Constraint.length(22),
                         Constraint.fill())
@@ -154,6 +157,7 @@ class ConsumersTab extends AbstractTableTab {
                 String tb = consumerType(b);
                 yield ta.compareToIgnoreCase(tb);
             }
+            case "remote" -> Boolean.compare(b.remote, a.remote);
             case "inflight" -> Integer.compare(b.inflight, a.inflight);
             case "polls" -> {
                 long la = a.totalCounter != null ? a.totalCounter : 0;
@@ -398,6 +402,7 @@ class ConsumersTab extends AbstractTableTab {
             row.put("state", ci.state);
             row.put("className", ci.className);
             row.put("scheduled", ci.scheduled);
+            row.put("remote", ci.remote);
             row.put("inflight", ci.inflight);
             if (ci.totalCounter != null) {
                 row.put("totalCounter", ci.totalCounter);
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ProducersTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ProducersTab.java
index 38c63698c796..dec2525b51d3 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ProducersTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ProducersTab.java
@@ -87,7 +87,7 @@ class ProducersTab extends AbstractTableTab {
                     Cell.from(Span.styled(" " + (pi.routeId != null ? 
pi.routeId : ""), Style.EMPTY.fg(Theme.accent()))),
                     Cell.from(Span.styled(pi.state != null ? pi.state : "", 
statusStyle)),
                     Cell.from(type),
-                    Cell.from(pi.remote ? "Yes" : "No"),
+                    Cell.from(pi.remote ? "x" : ""),
                     Cell.from(pi.uri != null ? pi.uri : "")));
         }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParser.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParser.java
index aa9883bf048d..014bc2f245b1 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParser.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParser.java
@@ -303,6 +303,7 @@ final class StatusParser {
                     ci.state = cj.getString("state");
                     ci.className = cj.getString("class");
                     ci.scheduled = Boolean.TRUE.equals(cj.get("scheduled"));
+                    ci.remote = Boolean.TRUE.equals(cj.get("remote"));
                     ci.inflight = cj.getIntegerOrDefault("inflight", 0);
                     ci.polling = Boolean.TRUE.equals(cj.get("polling"));
                     ci.totalCounter = cj.getLong("totalCounter");

Reply via email to