in shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_messages_test/Receiver.java [285:333]
protected void processJMSStreamMessage(String jmsMessageType, String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException {
switch (subType) {
case "boolean":
jasonTestValuesArrayBuilder.add(((StreamMessage)message).readBoolean()?"True":"False");
break;
case "byte":
jasonTestValuesArrayBuilder.add(formatByte(((StreamMessage)message).readByte()));
break;
case "bytes":
byte[] bytesBuff = new byte[65536];
int numBytesRead = ((StreamMessage)message).readBytes(bytesBuff);
if (numBytesRead >= 0) {
jasonTestValuesArrayBuilder.add(Base64.getEncoder().encodeToString(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
} else {
System.out.println("StreamMessage.readBytes() returned " + numBytesRead);
jasonTestValuesArrayBuilder.add("<bytes error>");
}
break;
case "char":
jasonTestValuesArrayBuilder.add(Base64.getEncoder().encodeToString(formatChar(((StreamMessage)message).readChar()).getBytes()));
break;
case "double":
long l = Double.doubleToRawLongBits(((StreamMessage)message).readDouble());
jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
break;
case "float":
int i0 = Float.floatToRawIntBits(((StreamMessage)message).readFloat());
jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
break;
case "int":
jasonTestValuesArrayBuilder.add(formatInt(((StreamMessage)message).readInt()));
break;
case "long":
jasonTestValuesArrayBuilder.add(formatLong(((StreamMessage)message).readLong()));
break;
case "object":
Object obj = ((StreamMessage)message).readObject();
jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
break;
case "short":
jasonTestValuesArrayBuilder.add(formatShort(((StreamMessage)message).readShort()));
break;
case "string":
jasonTestValuesArrayBuilder.add(((StreamMessage)message).readString());
break;
default:
throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
}
}