This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch sl in repository https://gitbox.apache.org/repos/asf/camel.git
commit 7f552a5db1afd6ec30f0d39b4b4e9d619828b6ae Author: Claus Ibsen <[email protected]> AuthorDate: Mon Jun 10 15:56:37 2024 +0200 CAMEL-20842: Add endpoint service location to backlog tracing --- .../camel/dsl/jbang/core/commands/Debug.java | 7 ++++- .../core/commands/action/CamelSendAction.java | 2 +- .../core/commands/action/CamelStubAction.java | 2 +- .../core/commands/action/CamelTraceAction.java | 7 ++++- .../core/commands/action/MessageTableHelper.java | 30 +++++++++++++++++++++- .../commands/action/TransformMessageAction.java | 2 +- 6 files changed, 44 insertions(+), 6 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java index 49367ed2fd2..11e3e1cfc62 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java @@ -369,6 +369,10 @@ public class Debug extends Run { } row.endpoint.put("endpoint", uri); } + JsonObject es = jo.getMap("endpointService"); + if (es != null) { + row.endpointService = es; + } Long ts = jo.getLong("timestamp"); if (ts != null) { row.timestamp = ts; @@ -740,7 +744,7 @@ public class Debug extends Run { } private String getDataAsTable(SuspendedRow r) { - return tableHelper.getDataAsTable(r.exchangeId, r.exchangePattern, r.endpoint, r.message, r.exception); + return tableHelper.getDataAsTable(r.exchangeId, r.exchangePattern, r.endpoint, r.endpointService, r.message, r.exception); } private String getStatus(SuspendedRow r) { @@ -815,6 +819,7 @@ public class Debug extends Run { boolean done; boolean failed; JsonObject endpoint; + JsonObject endpointService; JsonObject message; JsonObject exception; List<Code> code = new ArrayList<>(); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java index c5f786e4d52..266b576a11c 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java @@ -173,7 +173,7 @@ public class CamelSendAction extends ActionBaseCommand { tableHelper.setPretty(pretty); tableHelper.setLoggingColor(loggingColor); tableHelper.setShowExchangeProperties(showExchangeProperties); - String table = tableHelper.getDataAsTable(exchangeId, mep, jo, message, cause); + String table = tableHelper.getDataAsTable(exchangeId, mep, jo, null, message, cause); printer().println(table); } } diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java index 1375fb53343..32880c2d5d3 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java @@ -294,7 +294,7 @@ public class CamelStubAction extends ActionWatchCommand { } String data = tableHelper.getDataAsTable(root.getString("exchangeId"), root.getString("exchangePattern"), - row.endpoint, root, null); + row.endpoint, null, root, null); if (data != null) { String[] lines = data.split(System.lineSeparator()); if (lines.length > 0) { diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java index 36d32527b4a..49a26e6f9eb 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java @@ -440,6 +440,10 @@ public class CamelTraceAction extends ActionBaseCommand { } row.endpoint.put("endpoint", uri); } + JsonObject es = jo.getMap("endpointService"); + if (es != null) { + row.endpointService = es; + } Long ts = jo.getLong("timestamp"); if (ts != null) { row.timestamp = ts; @@ -720,7 +724,7 @@ public class CamelTraceAction extends ActionBaseCommand { } private String getDataAsTable(Row r) { - return tableHelper.getDataAsTable(r.exchangeId, r.exchangePattern, r.endpoint, r.message, r.exception); + return tableHelper.getDataAsTable(r.exchangeId, r.exchangePattern, r.endpoint, r.endpointService, r.message, r.exception); } private String getElapsed(Row r) { @@ -805,6 +809,7 @@ public class CamelTraceAction extends ActionBaseCommand { boolean done; boolean failed; JsonObject endpoint; + JsonObject endpointService; JsonObject message; JsonObject exception; 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 96731766e93..070e771e857 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 @@ -19,6 +19,8 @@ package org.apache.camel.dsl.jbang.core.commands.action; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.StringJoiner; import com.github.freva.asciitable.AsciiTable; import com.github.freva.asciitable.Column; @@ -88,11 +90,13 @@ public class MessageTableHelper { public String getDataAsTable( String exchangeId, String exchangePattern, - JsonObject endpoint, JsonObject root, JsonObject cause) { + JsonObject endpoint, JsonObject endpointService, + JsonObject root, JsonObject cause) { List<TableRow> rows = new ArrayList<>(); TableRow eRow; String tab0 = null; + String tab0b = null; String tab1 = null; String tab1b = null; String tab2 = null; @@ -108,6 +112,27 @@ public class MessageTableHelper { .minWidth(showExchangeProperties || showExchangeVariables ? 12 : 10).with(TableRow::kindAsString), new Column().dataAlign(HorizontalAlign.LEFT).with(TableRow::valueAsString))); } + if (endpointService != null) { + eRow = new TableRow("Service", null, null, endpointService.getString("serviceUrl")); + TableRow eRow2 = null; + StringJoiner sj = new StringJoiner(", "); + String protocol = endpointService.getString("serviceProtocol"); + if (protocol != null) { + sj.add("protocol=" + protocol); + } + Map arr = endpointService.getMap("serviceMetadata"); + if (arr != null) { + arr.forEach((k, v) -> sj.add(k + "=" + v)); + } + if (sj.length() > 0) { + String data = "(" + sj + ")"; + eRow2 = new TableRow(null, null, null, data); + } + tab0b = AsciiTable.getTable(AsciiTable.NO_BORDERS, eRow2 != null ? List.of(eRow, eRow2) : List.of(eRow), Arrays.asList( + new Column().dataAlign(HorizontalAlign.LEFT) + .minWidth(showExchangeProperties || showExchangeVariables ? 12 : 10).with(TableRow::kindAsString), + new Column().dataAlign(HorizontalAlign.LEFT).with(TableRow::valueAsString))); + } if (root != null) { eRow = new TableRow("Exchange", root.getString("exchangeType"), exchangePattern, exchangeId); @@ -224,6 +249,9 @@ public class MessageTableHelper { if (tab0 != null && !tab0.isEmpty()) { answer = answer + tab0 + System.lineSeparator(); } + if (tab0b != null && !tab0b.isEmpty()) { + answer = answer + tab0b + System.lineSeparator(); + } if (tab1 != null && tab1b != null && !tab1.isEmpty()) { answer = answer + tab1 + tab1b + System.lineSeparator(); } diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java index a4c0b4d0784..a0c74bb1d33 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java @@ -280,7 +280,7 @@ public class TransformMessageAction extends ActionWatchCommand { tableHelper.setPretty(pretty); tableHelper.setLoggingColor(loggingColor); tableHelper.setShowExchangeProperties(showExchangeProperties); - String table = tableHelper.getDataAsTable(exchangeId, "InOut", null, message, cause); + String table = tableHelper.getDataAsTable(exchangeId, "InOut", null, null, message, cause); printer().println(table); } }
