summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorRobert Greig <rgreig@apache.org>2006-12-13 16:41:45 +0000
committerRobert Greig <rgreig@apache.org>2006-12-13 16:41:45 +0000
commit0fb6ea9684f0dfe8131b29a545bacade935b1ffc (patch)
treefa268a7ac731cb4e920e1059460c4789b7b8896b /java
parent2b390e65df9e2f76566942dff4ddeffd8a839590 (diff)
downloadqpid-python-0fb6ea9684f0dfe8131b29a545bacade935b1ffc.tar.gz
QPID-177 Patch supplied by Rob Godfrey: adapter now calls the correct createTextMessage overloaded method.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@486722 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQTopicSessionAdaptor.java105
-rw-r--r--java/client/src/test/java/org/apache/qpid/test/unit/topic/TopicSessionTest.java94
2 files changed, 163 insertions, 36 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQTopicSessionAdaptor.java b/java/client/src/main/java/org/apache/qpid/client/AMQTopicSessionAdaptor.java
index 73613b6923..0f50c330fb 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQTopicSessionAdaptor.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQTopicSessionAdaptor.java
@@ -7,9 +7,9 @@
* 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
@@ -33,136 +33,169 @@ public class AMQTopicSessionAdaptor implements TopicSession
_session = (AMQSession) session;
}
- public Topic createTopic(String string) throws JMSException {
+ public Topic createTopic(String string) throws JMSException
+ {
return _session.createTopic(string);
}
- public TopicSubscriber createSubscriber(Topic topic) throws JMSException {
+ public TopicSubscriber createSubscriber(Topic topic) throws JMSException
+ {
return _session.createSubscriber(topic);
}
- public TopicSubscriber createSubscriber(Topic topic, String string, boolean b) throws JMSException {
+ public TopicSubscriber createSubscriber(Topic topic, String string, boolean b) throws JMSException
+ {
return _session.createSubscriber(topic, string, b);
}
- public TopicSubscriber createDurableSubscriber(Topic topic, String string) throws JMSException {
+ public TopicSubscriber createDurableSubscriber(Topic topic, String string) throws JMSException
+ {
return _session.createDurableSubscriber(topic, string);
}
- public TopicSubscriber createDurableSubscriber(Topic topic, String string, String string1, boolean b) throws JMSException {
+ public TopicSubscriber createDurableSubscriber(Topic topic, String string, String string1, boolean b) throws JMSException
+ {
return _session.createDurableSubscriber(topic, string, string1, b);
}
- public TopicPublisher createPublisher(Topic topic) throws JMSException {
+ public TopicPublisher createPublisher(Topic topic) throws JMSException
+ {
return _session.createPublisher(topic);
}
- public TemporaryTopic createTemporaryTopic() throws JMSException {
+ public TemporaryTopic createTemporaryTopic() throws JMSException
+ {
return _session.createTemporaryTopic();
}
- public void unsubscribe(String string) throws JMSException {
+ public void unsubscribe(String string) throws JMSException
+ {
_session.unsubscribe(string);
}
- public BytesMessage createBytesMessage() throws JMSException {
+ public BytesMessage createBytesMessage() throws JMSException
+ {
return _session.createBytesMessage();
}
- public MapMessage createMapMessage() throws JMSException {
+ public MapMessage createMapMessage() throws JMSException
+ {
return _session.createMapMessage();
}
- public Message createMessage() throws JMSException {
+ public Message createMessage() throws JMSException
+ {
return _session.createMessage();
}
- public ObjectMessage createObjectMessage() throws JMSException {
+ public ObjectMessage createObjectMessage() throws JMSException
+ {
return _session.createObjectMessage();
}
- public ObjectMessage createObjectMessage(Serializable serializable) throws JMSException {
+ public ObjectMessage createObjectMessage(Serializable serializable) throws JMSException
+ {
return _session.createObjectMessage();
}
- public StreamMessage createStreamMessage() throws JMSException {
+ public StreamMessage createStreamMessage() throws JMSException
+ {
return _session.createStreamMessage();
}
- public TextMessage createTextMessage() throws JMSException {
+ public TextMessage createTextMessage() throws JMSException
+ {
return _session.createTextMessage();
}
- public TextMessage createTextMessage(String string) throws JMSException {
- return _session.createTextMessage();
+ public TextMessage createTextMessage(String string) throws JMSException
+ {
+ return _session.createTextMessage(string);
}
- public boolean getTransacted() throws JMSException {
+ public boolean getTransacted() throws JMSException
+ {
return _session.getTransacted();
}
- public int getAcknowledgeMode() throws JMSException {
+ public int getAcknowledgeMode() throws JMSException
+ {
return _session.getAcknowledgeMode();
}
- public void commit() throws JMSException {
+ public void commit() throws JMSException
+ {
_session.commit();
}
- public void rollback() throws JMSException {
+ public void rollback() throws JMSException
+ {
_session.rollback();
}
- public void close() throws JMSException {
+ public void close() throws JMSException
+ {
_session.close();
}
- public void recover() throws JMSException {
+ public void recover() throws JMSException
+ {
_session.recover();
}
- public MessageListener getMessageListener() throws JMSException {
+ public MessageListener getMessageListener() throws JMSException
+ {
return _session.getMessageListener();
}
- public void setMessageListener(MessageListener messageListener) throws JMSException {
+ public void setMessageListener(MessageListener messageListener) throws JMSException
+ {
_session.setMessageListener(messageListener);
}
- public void run() {
+ public void run()
+ {
_session.run();
}
- public MessageProducer createProducer(Destination destination) throws JMSException {
+ public MessageProducer createProducer(Destination destination) throws JMSException
+ {
return _session.createProducer(destination);
}
- public MessageConsumer createConsumer(Destination destination) throws JMSException {
+ public MessageConsumer createConsumer(Destination destination) throws JMSException
+ {
return _session.createConsumer(destination);
}
- public MessageConsumer createConsumer(Destination destination, String string) throws JMSException {
+ public MessageConsumer createConsumer(Destination destination, String string) throws JMSException
+ {
return _session.createConsumer(destination, string);
}
- public MessageConsumer createConsumer(Destination destination, String string, boolean b) throws JMSException {
+ public MessageConsumer createConsumer(Destination destination, String string, boolean b) throws JMSException
+ {
return _session.createConsumer(destination, string, b);
}
//The following methods cannot be called from a TopicSession as per JMS spec
- public Queue createQueue(String string) throws JMSException {
+ public Queue createQueue(String string) throws JMSException
+ {
throw new IllegalStateException("Cannot call createQueue from TopicSession");
}
- public QueueBrowser createBrowser(Queue queue) throws JMSException {
+ public QueueBrowser createBrowser(Queue queue) throws JMSException
+ {
throw new IllegalStateException("Cannot call createBrowser from TopicSession");
}
- public QueueBrowser createBrowser(Queue queue, String string) throws JMSException {
+ public QueueBrowser createBrowser(Queue queue, String string) throws JMSException
+ {
throw new IllegalStateException("Cannot call createBrowser from TopicSession");
}
- public TemporaryQueue createTemporaryQueue() throws JMSException {
+ public TemporaryQueue createTemporaryQueue() throws JMSException
+ {
throw new IllegalStateException("Cannot call createTemporaryQueue from TopicSession");
}
diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/topic/TopicSessionTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/topic/TopicSessionTest.java
new file mode 100644
index 0000000000..fa46a4bcfb
--- /dev/null
+++ b/java/client/src/test/java/org/apache/qpid/test/unit/topic/TopicSessionTest.java
@@ -0,0 +1,94 @@
+/*
+ *
+ * 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.test.unit.topic;
+
+import junit.framework.TestCase;
+import org.apache.qpid.client.AMQConnection;
+import org.apache.qpid.client.AMQSession;
+import org.apache.qpid.client.AMQTopic;
+import org.apache.qpid.client.transport.TransportConnection;
+
+import javax.jms.TopicSession;
+import javax.jms.TextMessage;
+import javax.jms.TopicPublisher;
+import javax.jms.MessageConsumer;
+
+/**
+ * @author Apache Software Foundation
+ */
+public class TopicSessionTest extends TestCase
+{
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ TransportConnection.createVMBroker(1);
+ }
+
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ TransportConnection.killAllVMBrokers();
+ }
+
+ public void testTextMessageCreation() throws Exception
+ {
+ AMQTopic topic = new AMQTopic("MyTopic");
+ AMQConnection con = new AMQConnection("vm://:1", "guest", "guest", "test", "/test");
+ TopicSession session1 = con.createTopicSession(false, AMQSession.NO_ACKNOWLEDGE);
+ TopicPublisher publisher = session1.createPublisher(topic);
+ MessageConsumer consumer1 = session1.createConsumer(topic);
+ con.start();
+ TextMessage tm = session1.createTextMessage("Hello");
+ publisher.publish(tm);
+ tm = (TextMessage) consumer1.receive(2000);
+ assertNotNull(tm);
+ String msgText = tm.getText();
+ assertEquals("Hello", msgText);
+ tm = session1.createTextMessage();
+ msgText = tm.getText();
+ assertNull(msgText);
+ publisher.publish(tm);
+ tm = (TextMessage) consumer1.receive(2000);
+ assertNotNull(tm);
+ msgText = tm.getText();
+ assertNull(msgText);
+ tm.clearBody();
+ tm.setText("Now we are not null");
+ publisher.publish(tm);
+ tm = (TextMessage) consumer1.receive(2000);
+ assertNotNull(tm);
+ msgText = tm.getText();
+ assertEquals("Now we are not null", msgText);
+
+ tm = session1.createTextMessage("");
+ msgText = tm.getText();
+ assertEquals("Empty string not returned", "", msgText);
+ publisher.publish(tm);
+ tm = (TextMessage) consumer1.receive(2000);
+ assertNotNull(tm);
+ assertEquals("Empty string not returned", "", msgText);
+ }
+
+ public static junit.framework.Test suite()
+ {
+ return new junit.framework.TestSuite(TopicSessionTest.class);
+ }
+}