in shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_messages_test/Receiver.java [117:169]
public void run(String jmsMessageType, JsonObject numTestValuesMap) {
try {
List<String> subTypeKeyList = new ArrayList<String>(numTestValuesMap.keySet());
Collections.sort(subTypeKeyList);
Message message = null;
for (String subType: subTypeKeyList) {
JsonArrayBuilder jasonTestValuesArrayBuilder = Json.createArrayBuilder();
for (int i=0; i<numTestValuesMap.getJsonNumber(subType).intValue(); ++i) {
message = _messageConsumer.receive(TIMEOUT);
if (message == null) {
throw new Exception("Receiver::run(): No message, timeout while waiting");
}
switch (jmsMessageType) {
case "JMS_MESSAGE_TYPE":
processJMSMessage(jasonTestValuesArrayBuilder);
break;
case "JMS_BYTESMESSAGE_TYPE":
processJMSBytesMessage(jmsMessageType, subType, message, jasonTestValuesArrayBuilder);
break;
case "JMS_STREAMMESSAGE_TYPE":
processJMSStreamMessage(jmsMessageType, subType, message, jasonTestValuesArrayBuilder);
break;
case "JMS_MAPMESSAGE_TYPE":
processJMSMapMessage(jmsMessageType, subType, i, message, jasonTestValuesArrayBuilder);
break;
case "JMS_OBJECTMESSAGE_TYPE":
processJMSObjectMessage(subType, message, jasonTestValuesArrayBuilder);
break;
case "JMS_TEXTMESSAGE_TYPE":
processJMSTextMessage(message, jasonTestValuesArrayBuilder);
break;
default:
_connection.close();
throw new Exception("JmsReceiverShim: Internal error: Unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
}
}
_jsonTestValueMapBuilder.add(subType, jasonTestValuesArrayBuilder);
}
_connection.close();
System.out.println(jmsMessageType);
StringWriter out = new StringWriter();
writeJsonObject(_jsonTestValueMapBuilder, out);
System.out.println(out.toString());
} catch (Exception exp) {
try { _connection.close(); } catch (JMSException e) {}
System.out.println("Caught exception, exiting.");
exp.printStackTrace(System.out);
System.exit(1);
}
}