You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2017/10/04 21:20:53 UTC
[3/3] qpid-interop-test git commit: QPIDIT-97: Prepare for v. 0.1.0,
this is RC3
QPIDIT-97: Prepare for v. 0.1.0, this is RC3
Project: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/commit/84a22327
Tree: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/tree/84a22327
Diff: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/diff/84a22327
Branch: refs/heads/master
Commit: 84a22327ea84e32519c1bb71a3592dc4a217e38f
Parents: dda19a9
Author: Kim van der Riet <kp...@apache.org>
Authored: Wed Oct 4 17:20:31 2017 -0400
Committer: Kim van der Riet <kp...@apache.org>
Committed: Wed Oct 4 17:20:31 2017 -0400
----------------------------------------------------------------------
pom.xml | 4 +-
shims/qpid-jms/pom.xml | 2 +-
.../jms_dtx_test/Receiver.java | 407 -------------------
.../qpid_interop_test/jms_dtx_test/Sender.java | 113 -----
.../jms_hdrs_props_test/Receiver.java | 2 +-
.../jms_hdrs_props_test/Sender.java | 2 +-
.../jms_large_content_test/Receiver.java | 407 -------------------
.../jms_large_content_test/Sender.java | 113 -----
.../jms_messages_test/Receiver.java | 2 +-
.../jms_messages_test/Sender.java | 2 +-
.../jms_dtx_test/Receiver.java | 407 +++++++++++++++++++
.../qpid_interop_test/jms_dtx_test/Sender.java | 113 +++++
.../jms_large_content_test/Receiver.java | 407 +++++++++++++++++++
.../jms_large_content_test/Sender.java | 113 +++++
.../src/not_yet_impl/amqp_dtx_test/Receiver.cpp | 43 ++
.../src/not_yet_impl/amqp_dtx_test/Receiver.hpp | 39 ++
.../src/not_yet_impl/amqp_dtx_test/Sender.cpp | 43 ++
.../src/not_yet_impl/amqp_dtx_test/Sender.hpp | 39 ++
.../amqp_features_test/Receiver.cpp | 43 ++
.../amqp_features_test/Receiver.hpp | 39 ++
.../not_yet_impl/amqp_features_test/Sender.cpp | 138 +++++++
.../not_yet_impl/amqp_features_test/Sender.hpp | 67 +++
.../src/not_yet_impl/jms_dtx_test/Receiver.cpp | 43 ++
.../src/not_yet_impl/jms_dtx_test/Receiver.hpp | 39 ++
.../src/not_yet_impl/jms_dtx_test/Sender.cpp | 43 ++
.../src/not_yet_impl/jms_dtx_test/Sender.hpp | 39 ++
.../jms_large_content_test/Receiver.cpp | 43 ++
.../jms_large_content_test/Receiver.hpp | 39 ++
.../jms_large_content_test/Sender.cpp | 43 ++
.../jms_large_content_test/Sender.hpp | 39 ++
.../src/qpidit/amqp_dtx_test/Receiver.cpp | 43 --
.../src/qpidit/amqp_dtx_test/Receiver.hpp | 39 --
.../src/qpidit/amqp_dtx_test/Sender.cpp | 43 --
.../src/qpidit/amqp_dtx_test/Sender.hpp | 39 --
.../src/qpidit/amqp_features_test/Receiver.cpp | 43 --
.../src/qpidit/amqp_features_test/Receiver.hpp | 39 --
.../src/qpidit/amqp_features_test/Sender.cpp | 138 -------
.../src/qpidit/amqp_features_test/Sender.hpp | 67 ---
.../src/qpidit/jms_dtx_test/Receiver.cpp | 43 --
.../src/qpidit/jms_dtx_test/Receiver.hpp | 39 --
.../src/qpidit/jms_dtx_test/Sender.cpp | 43 --
.../src/qpidit/jms_dtx_test/Sender.hpp | 39 --
.../qpidit/jms_large_content_test/Receiver.cpp | 43 --
.../qpidit/jms_large_content_test/Receiver.hpp | 39 --
.../qpidit/jms_large_content_test/Sender.cpp | 43 --
.../qpidit/jms_large_content_test/Sender.hpp | 39 --
.../not_yet_impl/amqp_dtx_test/Receiver.py | 76 ++++
.../not_yet_impl/amqp_dtx_test/Sender.py | 95 +++++
.../not_yet_impl/amqp_features_test/Receiver.py | 96 +++++
.../not_yet_impl/amqp_features_test/Sender.py | 113 +++++
.../not_yet_impl/jms_dtx_test/Receiver.py | 77 ++++
.../not_yet_impl/jms_dtx_test/Sender.py | 96 +++++
.../jms_large_content_test/Receiver.py | 77 ++++
.../jms_large_content_test/Sender.py | 96 +++++
.../src/amqp_dtx_test/Receiver.py | 76 ----
.../src/amqp_dtx_test/Sender.py | 95 -----
.../src/amqp_features_test/Receiver.py | 96 -----
.../src/amqp_features_test/Sender.py | 113 -----
.../src/jms_dtx_test/Receiver.py | 77 ----
.../src/jms_dtx_test/Sender.py | 96 -----
.../src/jms_large_content_test/Receiver.py | 77 ----
.../src/jms_large_content_test/Sender.py | 96 -----
.../qpid_interop_test/jms_hdrs_props_test.py | 8 +-
.../qpid_interop_test/jms_messages_test.py | 9 +-
src/python/qpid_interop_test/shims.py | 5 -
utils/pom.xml | 2 +-
66 files changed, 2564 insertions(+), 2564 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index ae6c3e7..f80cc0c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-interop-test-parent</artifactId>
<packaging>pom</packaging>
- <version>0.1.0-SNAPSHOT</version>
+ <version>0.1.0</version>
<url>https://qpid.apache.org</url>
<name>Qpid Interop Test</name>
<description>Qpid client interoperability test suite for AMQP 1.0 clients</description>
@@ -53,7 +53,7 @@
<!-- Dependency versions -->
<geronimo.jms.2.spec-version>1.0-alpha-2</geronimo.jms.2.spec-version>
<json-version>1.1</json-version>
- <qpid-jms-client-version>[0.25.0-SNAPSHOT,)</qpid-jms-client-version>
+ <qpid-jms-client-version>0.25.0</qpid-jms-client-version>
<slf4j-version>1.7.25</slf4j-version>
</properties>
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/pom.xml
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/pom.xml b/shims/qpid-jms/pom.xml
index 5030e71..33739d9 100644
--- a/shims/qpid-jms/pom.xml
+++ b/shims/qpid-jms/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-interop-test-parent</artifactId>
- <version>0.1.0-SNAPSHOT</version>
+ <version>0.1.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java
deleted file mode 100644
index a4763f8..0000000
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.qpid.interop_test.jms_dtx_test;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.List;
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.Destination;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.ObjectMessage;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.StreamMessage;
-import javax.jms.TextMessage;
-import javax.jms.Topic;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonReader;
-import javax.json.JsonWriter;
-import org.apache.qpid.jms.JmsConnectionFactory;
-
-public class Receiver {
- private static final String USER = "guest";
- private static final String PASSWORD = "guest";
- private static final int TIMEOUT = 1000;
- private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
- "JMS_BYTESMESSAGE_TYPE",
- "JMS_MAPMESSAGE_TYPE",
- "JMS_OBJECTMESSAGE_TYPE",
- "JMS_STREAMMESSAGE_TYPE",
- "JMS_TEXTMESSAGE_TYPE"};
- private static enum JMS_DESTINATION_TYPE {JMS_QUEUE, JMS_TEMPORARY_QUEUE, JMS_TOPIC, JMS_TEMPORARY_TOPIC};
-
- Connection _connection;
- Session _session;
- Queue _queue;
- MessageConsumer _messageConsumer;
- JsonObjectBuilder _jsonTestValueMapBuilder;
-
- // args[0]: Broker URL
- // args[1]: Queue name
- // args[2]: JMS message type
- // args[3]: JSON Test parameters containing testValuesMap
- public static void main(String[] args) throws Exception {
- if (args.length != 4) {
- System.out.println("JmsReceiverShim: Incorrect number of arguments");
- System.out.println("JmsReceiverShim: Expected arguments: broker_address, queue_name, JMS_msg_type, JSON_receive_params");
- System.exit(1);
- }
- String brokerAddress = "amqp://" + args[0];
- String queueName = args[1];
- String jmsMessageType = args[2];
- if (!isSupportedJmsMessageType(jmsMessageType)) {
- System.out.println("ERROR: JmsReceiverShim: Unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
- System.exit(1);
- }
-
- JsonReader jsonReader = Json.createReader(new StringReader(args[3]));
- JsonObject numTestValuesMap = jsonReader.readObject();
- jsonReader.close();
-
- Receiver shim = new Receiver(brokerAddress, queueName);
- shim.run(jmsMessageType, numTestValuesMap);
- }
-
- public Receiver(String brokerAddress, String queueName) {
- try {
- _connection = null;
- ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
- _connection = factory.createConnection(USER, PASSWORD);
- _connection.setExceptionListener(new MyExceptionListener());
- _connection.start();
-
- _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- _queue = _session.createQueue(queueName);
-
- _messageConsumer = _session.createConsumer(_queue);
-
- _jsonTestValueMapBuilder = Json.createObjectBuilder();
- } catch (Exception exc) {
- if (_connection != null)
- try { _connection.close(); } catch (JMSException e) {}
- System.out.println("Caught exception, exiting.");
- exc.printStackTrace(System.out);
- System.exit(1);
- }
- }
-
- 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) break;
- 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);
- }
- }
-
- protected void processJMSMessage(JsonArrayBuilder jasonTestValuesArrayBuilder) {
- jasonTestValuesArrayBuilder.addNull();
- }
-
- protected void processJMSBytesMessage(String jmsMessageType, String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException, IOException, ClassNotFoundException {
- switch (subType) {
- case "boolean":
- jasonTestValuesArrayBuilder.add(((BytesMessage)message).readBoolean()?"True":"False");
- break;
- case "byte":
- jasonTestValuesArrayBuilder.add(formatByte(((BytesMessage)message).readByte()));
- break;
- case "bytes":
- {
- byte[] bytesBuff = new byte[65536];
- int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
- if (numBytesRead >= 0) {
- jasonTestValuesArrayBuilder.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
- } else {
- // NOTE: For this case, an empty byte array has nothing to return
- jasonTestValuesArrayBuilder.add(new String());
- }
- }
- break;
- case "char":
- jasonTestValuesArrayBuilder.add(formatChar(((BytesMessage)message).readChar()));
- break;
- case "double":
- long l = Double.doubleToRawLongBits(((BytesMessage)message).readDouble());
- jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
- break;
- case "float":
- int i0 = Float.floatToRawIntBits(((BytesMessage)message).readFloat());
- jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
- break;
- case "int":
- jasonTestValuesArrayBuilder.add(formatInt(((BytesMessage)message).readInt()));
- break;
- case "long":
- jasonTestValuesArrayBuilder.add(formatLong(((BytesMessage)message).readLong()));
- break;
- case "object":
- {
- byte[] bytesBuff = new byte[65536];
- int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
- if (numBytesRead >= 0) {
- ByteArrayInputStream bais = new ByteArrayInputStream(Arrays.copyOfRange(bytesBuff, 0, numBytesRead));
- ObjectInputStream ois = new ObjectInputStream(bais);
- Object obj = ois.readObject();
- jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
- } else {
- jasonTestValuesArrayBuilder.add("<object error>");
- }
- }
- break;
- case "short":
- jasonTestValuesArrayBuilder.add(formatShort(((BytesMessage)message).readShort()));
- break;
- case "string":
- jasonTestValuesArrayBuilder.add(((BytesMessage)message).readUTF());
- break;
- default:
- throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
- }
- }
-
- protected void processJMSMapMessage(String jmsMessageType, String subType, int count, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException {
- String name = String.format("%s%03d", subType, count);
- switch (subType) {
- case "boolean":
- jasonTestValuesArrayBuilder.add(((MapMessage)message).getBoolean(name)?"True":"False");
- break;
- case "byte":
- jasonTestValuesArrayBuilder.add(formatByte(((MapMessage)message).getByte(name)));
- break;
- case "bytes":
- jasonTestValuesArrayBuilder.add(new String(((MapMessage)message).getBytes(name)));
- break;
- case "char":
- jasonTestValuesArrayBuilder.add(formatChar(((MapMessage)message).getChar(name)));
- break;
- case "double":
- long l = Double.doubleToRawLongBits(((MapMessage)message).getDouble(name));
- jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
- break;
- case "float":
- int i0 = Float.floatToRawIntBits(((MapMessage)message).getFloat(name));
- jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
- break;
- case "int":
- jasonTestValuesArrayBuilder.add(formatInt(((MapMessage)message).getInt(name)));
- break;
- case "long":
- jasonTestValuesArrayBuilder.add(formatLong(((MapMessage)message).getLong(name)));
- break;
- case "object":
- Object obj = ((MapMessage)message).getObject(name);
- jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
- break;
- case "short":
- jasonTestValuesArrayBuilder.add(formatShort(((MapMessage)message).getShort(name)));
- break;
- case "string":
- jasonTestValuesArrayBuilder.add(((MapMessage)message).getString(name));
- break;
- default:
- throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
- }
- }
-
- protected void processJMSObjectMessage(String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
- jasonTestValuesArrayBuilder.add(((ObjectMessage)message).getObject().toString());
- }
-
- 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(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
- } else {
- System.out.println("StreamMessage.readBytes() returned " + numBytesRead);
- jasonTestValuesArrayBuilder.add("<bytes error>");
- }
- break;
- case "char":
- jasonTestValuesArrayBuilder.add(formatChar(((StreamMessage)message).readChar()));
- 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 + "\"");
- }
- }
-
- protected void processJMSTextMessage(Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
- jasonTestValuesArrayBuilder.add(((TextMessage)message).getText());
- }
-
- protected static void writeJsonObject(JsonObjectBuilder builder, StringWriter out) {
- JsonWriter jsonWriter = Json.createWriter(out);
- jsonWriter.writeObject(builder.build());
- jsonWriter.close();
- }
-
- protected static String formatByte(byte b) {
- boolean neg = false;
- if (b < 0) {
- neg = true;
- b = (byte)-b;
- }
- return String.format("%s0x%x", neg?"-":"", b);
- }
-
- protected static String formatChar(char c) {
- if (Character.isLetterOrDigit(c)) {
- return String.format("%c", c);
- }
- char[] ca = {c};
- return new String(ca);
- }
-
- protected static String formatInt(int i) {
- boolean neg = false;
- if (i < 0) {
- neg = true;
- i = -i;
- }
- return String.format("%s0x%x", neg?"-":"", i);
- }
-
- protected static String formatLong(long l) {
- boolean neg = false;
- if (l < 0) {
- neg = true;
- l = -l;
- }
- return String.format("%s0x%x", neg?"-":"", l);
- }
-
- protected static String formatShort(int s) {
- boolean neg = false;
- if (s < 0) {
- neg = true;
- s = -s;
- }
- return String.format("%s0x%x", neg?"-":"", s);
- }
-
- protected static boolean isSupportedJmsMessageType(String jmsMessageType) {
- for (String supportedJmsMessageType: SUPPORTED_JMS_MESSAGE_TYPES) {
- if (jmsMessageType.equals(supportedJmsMessageType))
- return true;
- }
- return false;
- }
-
- private static class MyExceptionListener implements ExceptionListener {
- @Override
- public void onException(JMSException exception) {
- System.out.println("Connection ExceptionListener fired, exiting.");
- exception.printStackTrace(System.out);
- System.exit(1);
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java
deleted file mode 100644
index 78dfa4f..0000000
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.qpid.interop_test.jms_dtx_test;
-
-import java.io.Serializable;
-import java.io.StringReader;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.StreamMessage;
-import javax.jms.TextMessage;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import org.apache.qpid.jms.JmsConnectionFactory;
-
-public class Sender {
- private static final String USER = "guest";
- private static final String PASSWORD = "guest";
- private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
- "JMS_BYTESMESSAGE_TYPE",
- "JMS_MAPMESSAGE_TYPE",
- "JMS_OBJECTMESSAGE_TYPE",
- "JMS_STREAMMESSAGE_TYPE",
- "JMS_TEXTMESSAGE_TYPE"};
- Connection _connection;
- Session _session;
- Queue _queue;
- MessageProducer _messageProducer;
- int _msgsSent;
-
-
- // args[0]: Broker URL
- // args[1]: Queue name
- // ...
- public static void main(String[] args) throws Exception {
- if (args.length != 2) {
- System.out.println("JmsSenderShim: Incorrect number of arguments");
- System.out.println("JmsSenderShim: Expected arguments: broker_address, queue_name, ...");
- System.exit(1);
- }
- String brokerAddress = "amqp://" + args[0];
- String queueName = args[1];
-
- Sender shim = new Sender(brokerAddress, queueName);
- shim.runTests();
- }
-
- public Sender(String brokerAddress, String queueName) {
- try {
- ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
-
- _connection = factory.createConnection();
- _connection.setExceptionListener(new MyExceptionListener());
- _connection.start();
-
- _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- _queue = _session.createQueue(queueName);
-
- _messageProducer = _session.createProducer(_queue);
-
- _msgsSent = 0;
- } catch (Exception exp) {
- System.out.println("Caught exception, exiting.");
- exp.printStackTrace(System.out);
- System.exit(1);
- }
- }
-
- public void runTests() throws Exception {
- _connection.close();
- }
-
-
- private static class MyExceptionListener implements ExceptionListener {
- @Override
- public void onException(JMSException exception) {
- System.out.println("Connection ExceptionListener fired, exiting.");
- exception.printStackTrace(System.out);
- System.exit(1);
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Receiver.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Receiver.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Receiver.java
index 00d2e4c..13331ba 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Receiver.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Receiver.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.qpid.interop_test.jms_hdrs_props_test;
+package org.apache.qpid.qpid_interop_test.jms_hdrs_props_test;
import java.io.ByteArrayInputStream;
import java.io.IOException;
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Sender.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Sender.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Sender.java
index 2f38991..efc3fb9 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Sender.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Sender.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.qpid.interop_test.jms_hdrs_props_test;
+package org.apache.qpid.qpid_interop_test.jms_hdrs_props_test;
import java.io.Serializable;
import java.io.StringReader;
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Receiver.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Receiver.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Receiver.java
deleted file mode 100644
index 0eed5ef..0000000
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Receiver.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.qpid.interop_test.jms_large_content_test;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.List;
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.Destination;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.ObjectMessage;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.StreamMessage;
-import javax.jms.TextMessage;
-import javax.jms.Topic;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonReader;
-import javax.json.JsonWriter;
-import org.apache.qpid.jms.JmsConnectionFactory;
-
-public class Receiver {
- private static final String USER = "guest";
- private static final String PASSWORD = "guest";
- private static final int TIMEOUT = 1000;
- private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
- "JMS_BYTESMESSAGE_TYPE",
- "JMS_MAPMESSAGE_TYPE",
- "JMS_OBJECTMESSAGE_TYPE",
- "JMS_STREAMMESSAGE_TYPE",
- "JMS_TEXTMESSAGE_TYPE"};
- private static enum JMS_DESTINATION_TYPE {JMS_QUEUE, JMS_TEMPORARY_QUEUE, JMS_TOPIC, JMS_TEMPORARY_TOPIC};
-
- Connection _connection;
- Session _session;
- Queue _queue;
- MessageConsumer _messageConsumer;
- JsonObjectBuilder _jsonTestValueMapBuilder;
-
- // args[0]: Broker URL
- // args[1]: Queue name
- // args[2]: JMS message type
- // args[3]: JSON Test parameters containing testValuesMap
- public static void main(String[] args) throws Exception {
- if (args.length != 4) {
- System.out.println("JmsReceiverShim: Incorrect number of arguments");
- System.out.println("JmsReceiverShim: Expected arguments: broker_address, queue_name, JMS_msg_type, JSON_receive_params");
- System.exit(1);
- }
- String brokerAddress = "amqp://" + args[0];
- String queueName = args[1];
- String jmsMessageType = args[2];
- if (!isSupportedJmsMessageType(jmsMessageType)) {
- System.out.println("ERROR: JmsReceiverShim: Unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
- System.exit(1);
- }
-
- JsonReader jsonReader = Json.createReader(new StringReader(args[3]));
- JsonObject numTestValuesMap = jsonReader.readObject();
- jsonReader.close();
-
- Receiver shim = new Receiver(brokerAddress, queueName);
- shim.run(jmsMessageType, numTestValuesMap);
- }
-
- public Receiver(String brokerAddress, String queueName) {
- try {
- _connection = null;
- ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
- _connection = factory.createConnection(USER, PASSWORD);
- _connection.setExceptionListener(new MyExceptionListener());
- _connection.start();
-
- _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- _queue = _session.createQueue(queueName);
-
- _messageConsumer = _session.createConsumer(_queue);
-
- _jsonTestValueMapBuilder = Json.createObjectBuilder();
- } catch (Exception exc) {
- if (_connection != null)
- try { _connection.close(); } catch (JMSException e) {}
- System.out.println("Caught exception, exiting.");
- exc.printStackTrace(System.out);
- System.exit(1);
- }
- }
-
- 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) break;
- 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);
- }
- }
-
- protected void processJMSMessage(JsonArrayBuilder jasonTestValuesArrayBuilder) {
- jasonTestValuesArrayBuilder.addNull();
- }
-
- protected void processJMSBytesMessage(String jmsMessageType, String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException, IOException, ClassNotFoundException {
- switch (subType) {
- case "boolean":
- jasonTestValuesArrayBuilder.add(((BytesMessage)message).readBoolean()?"True":"False");
- break;
- case "byte":
- jasonTestValuesArrayBuilder.add(formatByte(((BytesMessage)message).readByte()));
- break;
- case "bytes":
- {
- byte[] bytesBuff = new byte[65536];
- int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
- if (numBytesRead >= 0) {
- jasonTestValuesArrayBuilder.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
- } else {
- // NOTE: For this case, an empty byte array has nothing to return
- jasonTestValuesArrayBuilder.add(new String());
- }
- }
- break;
- case "char":
- jasonTestValuesArrayBuilder.add(formatChar(((BytesMessage)message).readChar()));
- break;
- case "double":
- long l = Double.doubleToRawLongBits(((BytesMessage)message).readDouble());
- jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
- break;
- case "float":
- int i0 = Float.floatToRawIntBits(((BytesMessage)message).readFloat());
- jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
- break;
- case "int":
- jasonTestValuesArrayBuilder.add(formatInt(((BytesMessage)message).readInt()));
- break;
- case "long":
- jasonTestValuesArrayBuilder.add(formatLong(((BytesMessage)message).readLong()));
- break;
- case "object":
- {
- byte[] bytesBuff = new byte[65536];
- int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
- if (numBytesRead >= 0) {
- ByteArrayInputStream bais = new ByteArrayInputStream(Arrays.copyOfRange(bytesBuff, 0, numBytesRead));
- ObjectInputStream ois = new ObjectInputStream(bais);
- Object obj = ois.readObject();
- jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
- } else {
- jasonTestValuesArrayBuilder.add("<object error>");
- }
- }
- break;
- case "short":
- jasonTestValuesArrayBuilder.add(formatShort(((BytesMessage)message).readShort()));
- break;
- case "string":
- jasonTestValuesArrayBuilder.add(((BytesMessage)message).readUTF());
- break;
- default:
- throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
- }
- }
-
- protected void processJMSMapMessage(String jmsMessageType, String subType, int count, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException {
- String name = String.format("%s%03d", subType, count);
- switch (subType) {
- case "boolean":
- jasonTestValuesArrayBuilder.add(((MapMessage)message).getBoolean(name)?"True":"False");
- break;
- case "byte":
- jasonTestValuesArrayBuilder.add(formatByte(((MapMessage)message).getByte(name)));
- break;
- case "bytes":
- jasonTestValuesArrayBuilder.add(new String(((MapMessage)message).getBytes(name)));
- break;
- case "char":
- jasonTestValuesArrayBuilder.add(formatChar(((MapMessage)message).getChar(name)));
- break;
- case "double":
- long l = Double.doubleToRawLongBits(((MapMessage)message).getDouble(name));
- jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
- break;
- case "float":
- int i0 = Float.floatToRawIntBits(((MapMessage)message).getFloat(name));
- jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
- break;
- case "int":
- jasonTestValuesArrayBuilder.add(formatInt(((MapMessage)message).getInt(name)));
- break;
- case "long":
- jasonTestValuesArrayBuilder.add(formatLong(((MapMessage)message).getLong(name)));
- break;
- case "object":
- Object obj = ((MapMessage)message).getObject(name);
- jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
- break;
- case "short":
- jasonTestValuesArrayBuilder.add(formatShort(((MapMessage)message).getShort(name)));
- break;
- case "string":
- jasonTestValuesArrayBuilder.add(((MapMessage)message).getString(name));
- break;
- default:
- throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
- }
- }
-
- protected void processJMSObjectMessage(String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
- jasonTestValuesArrayBuilder.add(((ObjectMessage)message).getObject().toString());
- }
-
- 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(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
- } else {
- System.out.println("StreamMessage.readBytes() returned " + numBytesRead);
- jasonTestValuesArrayBuilder.add("<bytes error>");
- }
- break;
- case "char":
- jasonTestValuesArrayBuilder.add(formatChar(((StreamMessage)message).readChar()));
- 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 + "\"");
- }
- }
-
- protected void processJMSTextMessage(Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
- jasonTestValuesArrayBuilder.add(((TextMessage)message).getText());
- }
-
- protected static void writeJsonObject(JsonObjectBuilder builder, StringWriter out) {
- JsonWriter jsonWriter = Json.createWriter(out);
- jsonWriter.writeObject(builder.build());
- jsonWriter.close();
- }
-
- protected static String formatByte(byte b) {
- boolean neg = false;
- if (b < 0) {
- neg = true;
- b = (byte)-b;
- }
- return String.format("%s0x%x", neg?"-":"", b);
- }
-
- protected static String formatChar(char c) {
- if (Character.isLetterOrDigit(c)) {
- return String.format("%c", c);
- }
- char[] ca = {c};
- return new String(ca);
- }
-
- protected static String formatInt(int i) {
- boolean neg = false;
- if (i < 0) {
- neg = true;
- i = -i;
- }
- return String.format("%s0x%x", neg?"-":"", i);
- }
-
- protected static String formatLong(long l) {
- boolean neg = false;
- if (l < 0) {
- neg = true;
- l = -l;
- }
- return String.format("%s0x%x", neg?"-":"", l);
- }
-
- protected static String formatShort(int s) {
- boolean neg = false;
- if (s < 0) {
- neg = true;
- s = -s;
- }
- return String.format("%s0x%x", neg?"-":"", s);
- }
-
- protected static boolean isSupportedJmsMessageType(String jmsMessageType) {
- for (String supportedJmsMessageType: SUPPORTED_JMS_MESSAGE_TYPES) {
- if (jmsMessageType.equals(supportedJmsMessageType))
- return true;
- }
- return false;
- }
-
- private static class MyExceptionListener implements ExceptionListener {
- @Override
- public void onException(JMSException exception) {
- System.out.println("Connection ExceptionListener fired, exiting.");
- exception.printStackTrace(System.out);
- System.exit(1);
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Sender.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Sender.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Sender.java
deleted file mode 100644
index 41f5ee8..0000000
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Sender.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.qpid.interop_test.jms_large_content_test;
-
-import java.io.Serializable;
-import java.io.StringReader;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.StreamMessage;
-import javax.jms.TextMessage;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import org.apache.qpid.jms.JmsConnectionFactory;
-
-public class Sender {
- private static final String USER = "guest";
- private static final String PASSWORD = "guest";
- private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
- "JMS_BYTESMESSAGE_TYPE",
- "JMS_MAPMESSAGE_TYPE",
- "JMS_OBJECTMESSAGE_TYPE",
- "JMS_STREAMMESSAGE_TYPE",
- "JMS_TEXTMESSAGE_TYPE"};
- Connection _connection;
- Session _session;
- Queue _queue;
- MessageProducer _messageProducer;
- int _msgsSent;
-
-
- // args[0]: Broker URL
- // args[1]: Queue name
- // ...
- public static void main(String[] args) throws Exception {
- if (args.length != 2) {
- System.out.println("JmsSenderShim: Incorrect number of arguments");
- System.out.println("JmsSenderShim: Expected arguments: broker_address, queue_name, ...");
- System.exit(1);
- }
- String brokerAddress = "amqp://" + args[0];
- String queueName = args[1];
-
- Sender shim = new Sender(brokerAddress, queueName);
- shim.runTests();
- }
-
- public Sender(String brokerAddress, String queueName) {
- try {
- ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
-
- _connection = factory.createConnection();
- _connection.setExceptionListener(new MyExceptionListener());
- _connection.start();
-
- _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- _queue = _session.createQueue(queueName);
-
- _messageProducer = _session.createProducer(_queue);
-
- _msgsSent = 0;
- } catch (Exception exp) {
- System.out.println("Caught exception, exiting.");
- exp.printStackTrace(System.out);
- System.exit(1);
- }
- }
-
- public void runTests() throws Exception {
- _connection.close();
- }
-
-
- private static class MyExceptionListener implements ExceptionListener {
- @Override
- public void onException(JMSException exception) {
- System.out.println("Connection ExceptionListener fired, exiting.");
- exception.printStackTrace(System.out);
- System.exit(1);
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Receiver.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Receiver.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Receiver.java
index 07d1f06..a3acb66 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Receiver.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Receiver.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.qpid.interop_test.jms_messages_test;
+package org.apache.qpid.qpid_interop_test.jms_messages_test;
import java.io.ByteArrayInputStream;
import java.io.IOException;
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Sender.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Sender.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Sender.java
index 0cccc97..5348663 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Sender.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Sender.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.qpid.interop_test.jms_messages_test;
+package org.apache.qpid.qpid_interop_test.jms_messages_test;
import java.io.Serializable;
import java.io.StringReader;
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java b/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java
new file mode 100644
index 0000000..0614e15
--- /dev/null
+++ b/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java
@@ -0,0 +1,407 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.qpid_interop_test.jms_dtx_test;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.List;
+import javax.jms.BytesMessage;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.Destination;
+import javax.jms.ExceptionListener;
+import javax.jms.JMSException;
+import javax.jms.MapMessage;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.jms.StreamMessage;
+import javax.jms.TextMessage;
+import javax.jms.Topic;
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonArrayBuilder;
+import javax.json.JsonObject;
+import javax.json.JsonObjectBuilder;
+import javax.json.JsonReader;
+import javax.json.JsonWriter;
+import org.apache.qpid.jms.JmsConnectionFactory;
+
+public class Receiver {
+ private static final String USER = "guest";
+ private static final String PASSWORD = "guest";
+ private static final int TIMEOUT = 1000;
+ private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
+ "JMS_BYTESMESSAGE_TYPE",
+ "JMS_MAPMESSAGE_TYPE",
+ "JMS_OBJECTMESSAGE_TYPE",
+ "JMS_STREAMMESSAGE_TYPE",
+ "JMS_TEXTMESSAGE_TYPE"};
+ private static enum JMS_DESTINATION_TYPE {JMS_QUEUE, JMS_TEMPORARY_QUEUE, JMS_TOPIC, JMS_TEMPORARY_TOPIC};
+
+ Connection _connection;
+ Session _session;
+ Queue _queue;
+ MessageConsumer _messageConsumer;
+ JsonObjectBuilder _jsonTestValueMapBuilder;
+
+ // args[0]: Broker URL
+ // args[1]: Queue name
+ // args[2]: JMS message type
+ // args[3]: JSON Test parameters containing testValuesMap
+ public static void main(String[] args) throws Exception {
+ if (args.length != 4) {
+ System.out.println("JmsReceiverShim: Incorrect number of arguments");
+ System.out.println("JmsReceiverShim: Expected arguments: broker_address, queue_name, JMS_msg_type, JSON_receive_params");
+ System.exit(1);
+ }
+ String brokerAddress = "amqp://" + args[0];
+ String queueName = args[1];
+ String jmsMessageType = args[2];
+ if (!isSupportedJmsMessageType(jmsMessageType)) {
+ System.out.println("ERROR: JmsReceiverShim: Unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
+ System.exit(1);
+ }
+
+ JsonReader jsonReader = Json.createReader(new StringReader(args[3]));
+ JsonObject numTestValuesMap = jsonReader.readObject();
+ jsonReader.close();
+
+ Receiver shim = new Receiver(brokerAddress, queueName);
+ shim.run(jmsMessageType, numTestValuesMap);
+ }
+
+ public Receiver(String brokerAddress, String queueName) {
+ try {
+ _connection = null;
+ ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
+ _connection = factory.createConnection(USER, PASSWORD);
+ _connection.setExceptionListener(new MyExceptionListener());
+ _connection.start();
+
+ _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ _queue = _session.createQueue(queueName);
+
+ _messageConsumer = _session.createConsumer(_queue);
+
+ _jsonTestValueMapBuilder = Json.createObjectBuilder();
+ } catch (Exception exc) {
+ if (_connection != null)
+ try { _connection.close(); } catch (JMSException e) {}
+ System.out.println("Caught exception, exiting.");
+ exc.printStackTrace(System.out);
+ System.exit(1);
+ }
+ }
+
+ 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) break;
+ 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);
+ }
+ }
+
+ protected void processJMSMessage(JsonArrayBuilder jasonTestValuesArrayBuilder) {
+ jasonTestValuesArrayBuilder.addNull();
+ }
+
+ protected void processJMSBytesMessage(String jmsMessageType, String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException, IOException, ClassNotFoundException {
+ switch (subType) {
+ case "boolean":
+ jasonTestValuesArrayBuilder.add(((BytesMessage)message).readBoolean()?"True":"False");
+ break;
+ case "byte":
+ jasonTestValuesArrayBuilder.add(formatByte(((BytesMessage)message).readByte()));
+ break;
+ case "bytes":
+ {
+ byte[] bytesBuff = new byte[65536];
+ int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
+ if (numBytesRead >= 0) {
+ jasonTestValuesArrayBuilder.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
+ } else {
+ // NOTE: For this case, an empty byte array has nothing to return
+ jasonTestValuesArrayBuilder.add(new String());
+ }
+ }
+ break;
+ case "char":
+ jasonTestValuesArrayBuilder.add(formatChar(((BytesMessage)message).readChar()));
+ break;
+ case "double":
+ long l = Double.doubleToRawLongBits(((BytesMessage)message).readDouble());
+ jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
+ break;
+ case "float":
+ int i0 = Float.floatToRawIntBits(((BytesMessage)message).readFloat());
+ jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
+ break;
+ case "int":
+ jasonTestValuesArrayBuilder.add(formatInt(((BytesMessage)message).readInt()));
+ break;
+ case "long":
+ jasonTestValuesArrayBuilder.add(formatLong(((BytesMessage)message).readLong()));
+ break;
+ case "object":
+ {
+ byte[] bytesBuff = new byte[65536];
+ int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
+ if (numBytesRead >= 0) {
+ ByteArrayInputStream bais = new ByteArrayInputStream(Arrays.copyOfRange(bytesBuff, 0, numBytesRead));
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ Object obj = ois.readObject();
+ jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
+ } else {
+ jasonTestValuesArrayBuilder.add("<object error>");
+ }
+ }
+ break;
+ case "short":
+ jasonTestValuesArrayBuilder.add(formatShort(((BytesMessage)message).readShort()));
+ break;
+ case "string":
+ jasonTestValuesArrayBuilder.add(((BytesMessage)message).readUTF());
+ break;
+ default:
+ throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
+ }
+ }
+
+ protected void processJMSMapMessage(String jmsMessageType, String subType, int count, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException {
+ String name = String.format("%s%03d", subType, count);
+ switch (subType) {
+ case "boolean":
+ jasonTestValuesArrayBuilder.add(((MapMessage)message).getBoolean(name)?"True":"False");
+ break;
+ case "byte":
+ jasonTestValuesArrayBuilder.add(formatByte(((MapMessage)message).getByte(name)));
+ break;
+ case "bytes":
+ jasonTestValuesArrayBuilder.add(new String(((MapMessage)message).getBytes(name)));
+ break;
+ case "char":
+ jasonTestValuesArrayBuilder.add(formatChar(((MapMessage)message).getChar(name)));
+ break;
+ case "double":
+ long l = Double.doubleToRawLongBits(((MapMessage)message).getDouble(name));
+ jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
+ break;
+ case "float":
+ int i0 = Float.floatToRawIntBits(((MapMessage)message).getFloat(name));
+ jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
+ break;
+ case "int":
+ jasonTestValuesArrayBuilder.add(formatInt(((MapMessage)message).getInt(name)));
+ break;
+ case "long":
+ jasonTestValuesArrayBuilder.add(formatLong(((MapMessage)message).getLong(name)));
+ break;
+ case "object":
+ Object obj = ((MapMessage)message).getObject(name);
+ jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
+ break;
+ case "short":
+ jasonTestValuesArrayBuilder.add(formatShort(((MapMessage)message).getShort(name)));
+ break;
+ case "string":
+ jasonTestValuesArrayBuilder.add(((MapMessage)message).getString(name));
+ break;
+ default:
+ throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
+ }
+ }
+
+ protected void processJMSObjectMessage(String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
+ jasonTestValuesArrayBuilder.add(((ObjectMessage)message).getObject().toString());
+ }
+
+ 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(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
+ } else {
+ System.out.println("StreamMessage.readBytes() returned " + numBytesRead);
+ jasonTestValuesArrayBuilder.add("<bytes error>");
+ }
+ break;
+ case "char":
+ jasonTestValuesArrayBuilder.add(formatChar(((StreamMessage)message).readChar()));
+ 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 + "\"");
+ }
+ }
+
+ protected void processJMSTextMessage(Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
+ jasonTestValuesArrayBuilder.add(((TextMessage)message).getText());
+ }
+
+ protected static void writeJsonObject(JsonObjectBuilder builder, StringWriter out) {
+ JsonWriter jsonWriter = Json.createWriter(out);
+ jsonWriter.writeObject(builder.build());
+ jsonWriter.close();
+ }
+
+ protected static String formatByte(byte b) {
+ boolean neg = false;
+ if (b < 0) {
+ neg = true;
+ b = (byte)-b;
+ }
+ return String.format("%s0x%x", neg?"-":"", b);
+ }
+
+ protected static String formatChar(char c) {
+ if (Character.isLetterOrDigit(c)) {
+ return String.format("%c", c);
+ }
+ char[] ca = {c};
+ return new String(ca);
+ }
+
+ protected static String formatInt(int i) {
+ boolean neg = false;
+ if (i < 0) {
+ neg = true;
+ i = -i;
+ }
+ return String.format("%s0x%x", neg?"-":"", i);
+ }
+
+ protected static String formatLong(long l) {
+ boolean neg = false;
+ if (l < 0) {
+ neg = true;
+ l = -l;
+ }
+ return String.format("%s0x%x", neg?"-":"", l);
+ }
+
+ protected static String formatShort(int s) {
+ boolean neg = false;
+ if (s < 0) {
+ neg = true;
+ s = -s;
+ }
+ return String.format("%s0x%x", neg?"-":"", s);
+ }
+
+ protected static boolean isSupportedJmsMessageType(String jmsMessageType) {
+ for (String supportedJmsMessageType: SUPPORTED_JMS_MESSAGE_TYPES) {
+ if (jmsMessageType.equals(supportedJmsMessageType))
+ return true;
+ }
+ return false;
+ }
+
+ private static class MyExceptionListener implements ExceptionListener {
+ @Override
+ public void onException(JMSException exception) {
+ System.out.println("Connection ExceptionListener fired, exiting.");
+ exception.printStackTrace(System.out);
+ System.exit(1);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/84a22327/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java b/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java
new file mode 100644
index 0000000..c5b3506
--- /dev/null
+++ b/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java
@@ -0,0 +1,113 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.qpid_interop_test.jms_dtx_test;
+
+import java.io.Serializable;
+import java.io.StringReader;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import javax.jms.BytesMessage;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.DeliveryMode;
+import javax.jms.ExceptionListener;
+import javax.jms.JMSException;
+import javax.jms.MapMessage;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.jms.StreamMessage;
+import javax.jms.TextMessage;
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonObject;
+import javax.json.JsonReader;
+import org.apache.qpid.jms.JmsConnectionFactory;
+
+public class Sender {
+ private static final String USER = "guest";
+ private static final String PASSWORD = "guest";
+ private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
+ "JMS_BYTESMESSAGE_TYPE",
+ "JMS_MAPMESSAGE_TYPE",
+ "JMS_OBJECTMESSAGE_TYPE",
+ "JMS_STREAMMESSAGE_TYPE",
+ "JMS_TEXTMESSAGE_TYPE"};
+ Connection _connection;
+ Session _session;
+ Queue _queue;
+ MessageProducer _messageProducer;
+ int _msgsSent;
+
+
+ // args[0]: Broker URL
+ // args[1]: Queue name
+ // ...
+ public static void main(String[] args) throws Exception {
+ if (args.length != 2) {
+ System.out.println("JmsSenderShim: Incorrect number of arguments");
+ System.out.println("JmsSenderShim: Expected arguments: broker_address, queue_name, ...");
+ System.exit(1);
+ }
+ String brokerAddress = "amqp://" + args[0];
+ String queueName = args[1];
+
+ Sender shim = new Sender(brokerAddress, queueName);
+ shim.runTests();
+ }
+
+ public Sender(String brokerAddress, String queueName) {
+ try {
+ ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
+
+ _connection = factory.createConnection();
+ _connection.setExceptionListener(new MyExceptionListener());
+ _connection.start();
+
+ _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ _queue = _session.createQueue(queueName);
+
+ _messageProducer = _session.createProducer(_queue);
+
+ _msgsSent = 0;
+ } catch (Exception exp) {
+ System.out.println("Caught exception, exiting.");
+ exp.printStackTrace(System.out);
+ System.exit(1);
+ }
+ }
+
+ public void runTests() throws Exception {
+ _connection.close();
+ }
+
+
+ private static class MyExceptionListener implements ExceptionListener {
+ @Override
+ public void onException(JMSException exception) {
+ System.out.println("Connection ExceptionListener fired, exiting.");
+ exception.printStackTrace(System.out);
+ System.exit(1);
+ }
+ }
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org