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 2026/06/30 17:45:08 UTC
(camel) 02/08: CAMEL-23862: SQL Trace - prefer CamelSqlQuery header and URL-decode query from URI
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch fix/CAMEL-23862
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 578fb517c0438245691d161202e718b20ddd6d70
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Jun 30 16:04:59 2026 +0200
CAMEL-23862: SQL Trace - prefer CamelSqlQuery header and URL-decode query from URI
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
Signed-off-by: Claus Ibsen <cl...@gmail.com>
---
.../camel/impl/console/SqlTraceDevConsole.java | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/SqlTraceDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/SqlTraceDevConsole.java
index cd5841af616a..b20ff8fd9929 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/SqlTraceDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/SqlTraceDevConsole.java
@@ -16,6 +16,8 @@
*/
package org.apache.camel.impl.console;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
@@ -182,11 +184,17 @@ public class SqlTraceDevConsole extends AbstractDevConsole {
if (endpointUri.startsWith("sql:")) {
String query = StringHelper.after(endpointUri, "sql:");
if (query != null) {
+ // strip :// scheme separator if present
+ if (query.startsWith("//")) {
+ query = query.substring(2);
+ }
// remove query parameters
int idx = query.indexOf('?');
if (idx > 0) {
query = query.substring(0, idx);
}
+ // URI path is URL-encoded, decode it
+ query = URLDecoder.decode(query, StandardCharsets.UTF_8);
return query;
}
} else if (endpointUri.startsWith("jdbc:")) {
@@ -235,13 +243,14 @@ public class SqlTraceDevConsole extends AbstractDevConsole {
if (uri.startsWith("sql:") || uri.startsWith("jdbc:")) {
Exchange exchange = ese.getExchange();
- String query = extractQuery(uri);
- // for jdbc component, try to get query from exchange header
+ // prefer the CamelSqlQuery header (runtime override) over the URI
+ String query = null;
+ Object headerQuery = exchange.getMessage().getHeader("CamelSqlQuery");
+ if (headerQuery != null) {
+ query = headerQuery.toString();
+ }
if (query == null) {
- Object headerQuery = exchange.getMessage().getHeader("CamelSqlQuery");
- if (headerQuery != null) {
- query = headerQuery.toString();
- }
+ query = extractQuery(uri);
}
JsonObject jo = new JsonObject();