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()) {