You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/07/13 10:18:49 UTC

[camel] branch camel-2.25.x updated: Convert []byte header to string (#3994)

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

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


The following commit(s) were added to refs/heads/camel-2.25.x by this push:
     new 6de1fe0  Convert []byte header to string (#3994)
6de1fe0 is described below

commit 6de1fe0e8f04118bf5bc8dcc7759849b67a36b40
Author: Ruben Vargas Palma <ru...@gmail.com>
AuthorDate: Mon Jul 13 04:54:16 2020 -0500

    Convert []byte header to string (#3994)
    
    Signed-off-by: Ruben <ru...@gmail.com>
---
 .../propagation/CamelMessagingHeadersExtractAdapter.java         | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/propagation/CamelMessagingHeadersExtractAdapter.java b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/propagation/CamelMessagingHeadersExtractAdapter.java
index 3a2b467..ea45a46 100644
--- a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/propagation/CamelMessagingHeadersExtractAdapter.java
+++ b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/propagation/CamelMessagingHeadersExtractAdapter.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.opentracing.propagation;
 
+import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -30,7 +31,13 @@ public final class CamelMessagingHeadersExtractAdapter implements TextMap {
     public CamelMessagingHeadersExtractAdapter(final Map<String, Object> map, boolean jmsEncoding) {
         // Extract string valued map entries
         this.jmsEncoding = jmsEncoding;
-        map.entrySet().stream().filter(e -> e.getValue() instanceof String).forEach(e -> this.map.put(decodeDash(e.getKey()), (String)e.getValue()));
+        map.entrySet().stream().filter(e -> e.getValue() instanceof String || e.getValue() instanceof byte[]).forEach(e -> {
+            if (e.getValue() instanceof byte[]) {
+                this.map.put(decodeDash(e.getKey()), new String((byte[])e.getValue(), StandardCharsets.UTF_8));
+            } else {
+                this.map.put(decodeDash(e.getKey()), (String)e.getValue());
+            }
+        });
     }
 
     @Override