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 eae93227f708 camel-jbang - camel get history use jline to make it mode 
better
eae93227f708 is described below

commit eae93227f708a299ef0838b91f1bee20c9466b49
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Dec 11 14:41:37 2025 +0100

    camel-jbang - camel get history use jline to make it mode better
---
 .../core/commands/action/CamelHistoryAction.java   |  10 +--
 .../core/commands/action/MessageTableHelper.java   | 100 ++++++++++++---------
 2 files changed, 59 insertions(+), 51 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
index 0128898bb668..ff2b6d0ec075 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
@@ -215,6 +215,7 @@ public class CamelHistoryAction extends ActionWatchCommand {
         tableHelper = new MessageTableHelper();
         tableHelper.setPretty(pretty);
         tableHelper.setLoggingColor(loggingColor);
+        tableHelper.setShowHeaders(showHeaders);
         tableHelper.setShowExchangeProperties(showExchangeProperties);
         tableHelper.setShowExchangeVariables(showExchangeVariables);
 
@@ -757,15 +758,6 @@ public class CamelHistoryAction extends ActionWatchCommand 
{
                     // we should exchangeId/pattern elsewhere
                     row.message.remove("exchangeId");
                     row.message.remove("exchangePattern");
-                    if (!showExchangeVariables) {
-                        row.message.remove("exchangeVariables");
-                    }
-                    if (!showExchangeProperties) {
-                        row.message.remove("exchangeProperties");
-                    }
-                    if (!showHeaders) {
-                        row.message.remove("headers");
-                    }
                     if (!showBody) {
                         row.message.remove("body");
                     }
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/MessageTableHelper.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/MessageTableHelper.java
index a36f81e7b917..87d29ae8b0bf 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/MessageTableHelper.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/MessageTableHelper.java
@@ -47,6 +47,7 @@ public class MessageTableHelper {
 
     private boolean loggingColor;
     private boolean pretty;
+    private boolean showHeaders = true;
     private boolean showExchangeProperties;
     private boolean showExchangeVariables;
     private ColorChooser exchangeIdColorChooser;
@@ -67,6 +68,14 @@ public class MessageTableHelper {
         this.pretty = pretty;
     }
 
+    public boolean isShowHeaders() {
+        return showHeaders;
+    }
+
+    public void setShowHeaders(boolean showHeaders) {
+        this.showHeaders = showHeaders;
+    }
+
     public boolean isShowExchangeProperties() {
         return showExchangeProperties;
     }
@@ -160,32 +169,37 @@ public class MessageTableHelper {
                         new Column().dataAlign(HorizontalAlign.RIGHT)
                                 
.maxWidth(80).with(TableRow::exchangeIdAsValue)));
             }
-            // exchange variables
-            JsonArray arr = root.getCollection("exchangeVariables");
-            if (arr != null) {
-                for (Object o : arr) {
-                    JsonObject jo = (JsonObject) o;
-                    rows.add(new TableRow("Variable", jo.getString("type"), 
jo.getString("key"), jo.get("value")));
+            JsonArray arr;
+            if (showExchangeVariables) {
+                // exchange variables
+                arr = root.getCollection("exchangeVariables");
+                if (arr != null) {
+                    for (Object o : arr) {
+                        JsonObject jo = (JsonObject) o;
+                        rows.add(new TableRow("Variable", 
jo.getString("type"), jo.getString("key"), jo.get("value")));
+                    }
                 }
             }
-            // exchange properties
-            arr = root.getCollection("exchangeProperties");
-            if (arr != null) {
-                for (Object o : arr) {
-                    JsonObject jo = (JsonObject) o;
-                    rows.add(new TableRow(
-                            "Property", jo.getString("type"), 
jo.getString("key"), jo.get("value"),
-                            jo.getBooleanOrDefault("important", false)));
+            if (showExchangeProperties) {
+                // exchange properties
+                arr = root.getCollection("exchangeProperties");
+                if (arr != null) {
+                    for (Object o : arr) {
+                        JsonObject jo = (JsonObject) o;
+                        rows.add(new TableRow(
+                                "Property", jo.getString("type"), 
jo.getString("key"), jo.get("value"),
+                                jo.getBooleanOrDefault("important", false)));
+                    }
                 }
-            }
-            // internal exchange properties
-            arr = root.getCollection("internalExchangeProperties");
-            if (arr != null) {
-                for (Object o : arr) {
-                    JsonObject jo = (JsonObject) o;
-                    rows.add(new TableRow(
-                            "Property", jo.getString("type"), 
jo.getString("key"), jo.get("value"),
-                            jo.getBooleanOrDefault("important", false)));
+                // internal exchange properties
+                arr = root.getCollection("internalExchangeProperties");
+                if (arr != null) {
+                    for (Object o : arr) {
+                        JsonObject jo = (JsonObject) o;
+                        rows.add(new TableRow(
+                                "Property", jo.getString("type"), 
jo.getString("key"), jo.get("value"),
+                                jo.getBooleanOrDefault("important", false)));
+                    }
                 }
             }
             if (!rows.isEmpty()) {
@@ -211,28 +225,30 @@ public class MessageTableHelper {
                                 .with(TableRow::kindAsString),
                         new 
Column().dataAlign(HorizontalAlign.LEFT).with(TableRow::typeAsString)));
             }
-            arr = root.getCollection("headers");
-            if (arr != null) {
-                for (Object o : arr) {
-                    JsonObject jo = (JsonObject) o;
-                    String key = jo.getString("key");
-                    Object value = jo.get("value");
-                    if ("CamelMessageTimestamp".equals(key)) {
-                        long val = jo.getLongOrDefault("value", 0);
-                        if (val > 0) {
-                            String df = new SimpleDateFormat("yyyy-MM-dd 
HH:mm:ss").format(val);
-                            String since = TimeUtils.printSince(val);
-                            value = "(" + df + " / " + since + " ago)";
-                            if (loggingColor) {
-                                value = val + " " + 
Ansi.ansi().fgBrightDefault().a(Ansi.Attribute.INTENSITY_FAINT).a(value)
-                                        .reset().toString();
-                            } else {
-                                value = val + " " + value;
+            if (showHeaders) {
+                arr = root.getCollection("headers");
+                if (arr != null) {
+                    for (Object o : arr) {
+                        JsonObject jo = (JsonObject) o;
+                        String key = jo.getString("key");
+                        Object value = jo.get("value");
+                        if ("CamelMessageTimestamp".equals(key)) {
+                            long val = jo.getLongOrDefault("value", 0);
+                            if (val > 0) {
+                                String df = new SimpleDateFormat("yyyy-MM-dd 
HH:mm:ss").format(val);
+                                String since = TimeUtils.printSince(val);
+                                value = "(" + df + " / " + since + " ago)";
+                                if (loggingColor) {
+                                    value = val + " " + 
Ansi.ansi().fgBrightDefault().a(Ansi.Attribute.INTENSITY_FAINT).a(value)
+                                            .reset().toString();
+                                } else {
+                                    value = val + " " + value;
+                                }
                             }
                         }
+                        rows.add(new TableRow(
+                                "Header", jo.getString("type"), key, value, 
jo.getBooleanOrDefault("important", false)));
                     }
-                    rows.add(new TableRow(
-                            "Header", jo.getString("type"), key, value, 
jo.getBooleanOrDefault("important", false)));
                 }
             }
             if (!rows.isEmpty()) {

Reply via email to