diff options
author | Robert Greig <rgreig@apache.org> | 2006-12-13 16:41:45 +0000 |
---|---|---|
committer | Robert Greig <rgreig@apache.org> | 2006-12-13 16:41:45 +0000 |
commit | 0fb6ea9684f0dfe8131b29a545bacade935b1ffc (patch) | |
tree | fa268a7ac731cb4e920e1059460c4789b7b8896b /java | |
parent | 2b390e65df9e2f76566942dff4ddeffd8a839590 (diff) | |
download | qpid-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.java | 105 | ||||
-rw-r--r-- | java/client/src/test/java/org/apache/qpid/test/unit/topic/TopicSessionTest.java | 94 |
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); + } +} |