Clean up JmsObjectMessage a bit and delegate toString() to the facade for a meaningful content string.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/f2ff78e6 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/f2ff78e6 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/f2ff78e6 Branch: refs/heads/master Commit: f2ff78e64cc8c1bf1b36d7a3e43b6c049e2c786b Parents: ac06fb2 Author: Timothy Bish <tabish...@gmail.com> Authored: Thu Oct 9 13:53:05 2014 -0400 Committer: Timothy Bish <tabish...@gmail.com> Committed: Thu Oct 9 13:53:05 2014 -0400 ---------------------------------------------------------------------- .../qpid/jms/message/JmsObjectMessage.java | 47 +------------------- .../qpid/jms/message/JmsObjectMessageTest.java | 14 ++++++ 2 files changed, 15 insertions(+), 46 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f2ff78e6/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java index e439764..ec491c9 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsObjectMessage.java @@ -24,30 +24,6 @@ import javax.jms.ObjectMessage; import org.apache.qpid.jms.message.facade.JmsObjectMessageFacade; -/** - * An <CODE>ObjectMessage</CODE> object is used to send a message that contains a serializable - * object in the Java programming language ("Java object"). It inherits from the - * <CODE>Message</CODE> interface and adds a body containing a single reference to an object. - * Only <CODE>Serializable</CODE> Java objects can be used. - * <p/> - * <p/> - * If a collection of Java objects must be sent, one of the <CODE>Collection</CODE> classes - * provided since JDK 1.2 can be used. - * <p/> - * <p/> - * When a client receives an <CODE>ObjectMessage</CODE>, it is in read-only mode. If a client - * attempts to write to the message at this point, a <CODE>MessageNotWriteableException</CODE> - * is thrown. If <CODE>clearBody</CODE> is called, the message can now be both read from and - * written to. - * - * @see javax.jms.Session#createObjectMessage() - * @see javax.jms.Session#createObjectMessage(Serializable) - * @see javax.jms.BytesMessage - * @see javax.jms.MapMessage - * @see javax.jms.Message - * @see javax.jms.StreamMessage - * @see javax.jms.TextMessage - */ public class JmsObjectMessage extends JmsMessage implements ObjectMessage { private final JmsObjectMessageFacade facade; @@ -64,21 +40,6 @@ public class JmsObjectMessage extends JmsMessage implements ObjectMessage { return other; } - /** - * Sets the serializable object containing this message's data. It is important to note that - * an <CODE>ObjectMessage</CODE> contains a snapshot of the object at the time - * <CODE>setObject()</CODE> is called; subsequent modifications of the object will have no - * effect on the <CODE>ObjectMessage</CODE> body. - * - * @param newObject - * the message's data - * @throws JMSException - * if the JMS provider fails to set the object due to some internal error. - * @throws javax.jms.MessageFormatException - * if object serialization fails. - * @throws javax.jms.MessageNotWriteableException - * if the message is in read-only mode. - */ @Override public void setObject(Serializable newObject) throws JMSException { checkReadOnlyBody(); @@ -89,12 +50,6 @@ public class JmsObjectMessage extends JmsMessage implements ObjectMessage { } } - /** - * Gets the serializable object containing this message's data. The default value is null. - * - * @return the serializable object containing this message's data - * @throws JMSException - */ @Override public Serializable getObject() throws JMSException { try { @@ -106,6 +61,6 @@ public class JmsObjectMessage extends JmsMessage implements ObjectMessage { @Override public String toString() { - return super.toString(); + return "JmsObjectMessageFacade { " + facade.toString() + " }"; } } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f2ff78e6/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsObjectMessageTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsObjectMessageTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsObjectMessageTest.java index 77ab160..5ba2bf2 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsObjectMessageTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsObjectMessageTest.java @@ -70,6 +70,20 @@ public class JmsObjectMessageTest { } /** + * Test that calling {@link ObjectMessage#toString()} returns a meaningful value + */ + @Test + public void testToString() throws Exception { + String content = "myStringContent"; + JmsObjectMessageFacade facade = new JmsDefaultObjectMessageFacade(); + facade.setObject(content); + JmsObjectMessage objectMessage = new JmsObjectMessage(facade); + objectMessage.onDispatch(); + + assertTrue(objectMessage.toString().startsWith("JmsObjectMessageFacade")); + } + + /** * Test that calling {@link ObjectMessage#clearBody()} causes a received * message to become writable */ --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org