summaryrefslogtreecommitdiff
path: root/java/common/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/common/src')
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/Struct.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/Struct.java b/java/common/src/main/java/org/apache/qpid/transport/Struct.java
index 9b703a3117..045939e415 100644
--- a/java/common/src/main/java/org/apache/qpid/transport/Struct.java
+++ b/java/common/src/main/java/org/apache/qpid/transport/Struct.java
@@ -23,7 +23,9 @@ package org.apache.qpid.transport;
import org.apache.qpid.transport.codec.Decoder;
import org.apache.qpid.transport.codec.Encodable;
import org.apache.qpid.transport.codec.Encoder;
+import org.apache.qpid.transport.util.Functions;
+import java.util.Arrays;
import java.util.Map;
@@ -131,11 +133,24 @@ public abstract class Struct implements Encodable
}
str.append(me.getKey());
str.append("=");
- str.append(me.getValue());
+ str.append(formatValue(me.getValue()));
}
str.append(")");
return str.toString();
}
+ private Object formatValue(Object value)
+ {
+ if(value instanceof byte[])
+ {
+ return Functions.str((byte[])value);
+ }
+ else if(value instanceof Object[])
+ {
+ return Arrays.asList((Object[])value);
+ }
+ return value;
+ }
+
}