You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/02/11 19:19:27 UTC

[camel] 06/07: CAMEL-19033: camel-jbang - Add trace command

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

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

commit a46cc000c0f91064272395fccc4db23e0df95ff7
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Feb 11 20:12:31 2023 +0100

    CAMEL-19033: camel-jbang - Add trace command
---
 .../src/main/java/org/apache/camel/support/MessageHelper.java  |  4 +++-
 .../camel/dsl/jbang/core/commands/process/ListTrace.java       | 10 +++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
index ce2b57f2713..fb490910c60 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
@@ -831,7 +831,6 @@ public final class MessageHelper {
         // headers
         if (message.hasHeaders()) {
             JsonArray arr = new JsonArray();
-            jo.put("headers", arr);
             // sort the headers so they are listed A..Z
             Map<String, Object> headers = new TreeMap<>(message.getHeaders());
             for (Map.Entry<String, Object> entry : headers.entrySet()) {
@@ -855,6 +854,9 @@ public final class MessageHelper {
                     }
                 }
             }
+            if (!arr.isEmpty()) {
+                jo.put("headers", arr);
+            }
         }
 
         if (includeBody) {
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListTrace.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListTrace.java
index e4ad7556206..3cbcc458431 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListTrace.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListTrace.java
@@ -51,6 +51,10 @@ public class ListTrace extends ProcessWatchCommand {
                         description = "Only output last message")
     boolean last;
 
+    @CommandLine.Option(names = { "--pretty" },
+                        description = "Pretty print traced message")
+    boolean pretty;
+
     public ListTrace(CamelJBangMain main) {
         super(main);
     }
@@ -165,7 +169,11 @@ public class ListTrace extends ProcessWatchCommand {
     }
 
     private String getMessage(Row r) {
-        return r.message.toJson();
+        String s = r.message.toJson();
+        if (pretty) {
+            s = Jsoner.prettyPrint(s);
+        }
+        return s;
     }
 
     protected int sortRow(Row o1, Row o2) {