You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ra...@apache.org on 2009/03/19 22:54:58 UTC
svn commit: r756228 - in
/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message:
AbstractBytesMessage.java AbstractJMSMessage.java JMSBytesMessage.java
JMSTextMessage.java
Author: rajith
Date: Thu Mar 19 21:54:58 2009
New Revision: 756228
URL: http://svn.apache.org/viewvc?rev=756228&view=rev
Log:
This is a fix for QPID-1760
The AbstractBytesMessage will now use the toString method from AbstractJMSMessage
Also I have modified the toBodyString method in AbstractBytesMessage to use a function that can handle unprintable charachters and print contents upto a maximum of 100 bytes.
Modified:
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSBytesMessage.java
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSTextMessage.java
Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java?rev=756228&r1=756227&r2=756228&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java Thu Mar 19 21:54:58 2009
@@ -31,6 +31,7 @@
import org.apache.qpid.AMQException;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.BasicContentHeaderProperties;
+import org.apache.qpid.transport.util.Functions;
/**
* @author Apache Software Foundation
@@ -84,53 +85,19 @@
}
public String toBodyString() throws JMSException
- {
+ {
checkReadable();
try
{
- return getText();
+ return Functions.str(_data.buf(), 100);
}
- catch (IOException e)
+ catch (Exception e)
{
JMSException jmse = new JMSException(e.toString());
jmse.setLinkedException(e);
throw jmse;
}
- }
-
- /**
- * We reset the stream before and after reading the data. This means that toString() will always output
- * the entire message and also that the caller can then immediately start reading as if toString() had
- * never been called.
- *
- * @return
- * @throws IOException
- */
- private String getText() throws IOException
- {
- // this will use the default platform encoding
- if (_data == null)
- {
- return null;
- }
-
- int pos = _data.position();
- _data.rewind();
- // one byte left is for the end of frame marker
- if (_data.remaining() == 0)
- {
- // this is really redundant since pos must be zero
- _data.position(pos);
-
- return null;
- }
- else
- {
- String data = _data.getString(Charset.forName("UTF8").newDecoder());
- _data.position(pos);
-
- return data;
- }
+
}
/**
Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java?rev=756228&r1=756227&r2=756228&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java Thu Mar 19 21:54:58 2009
@@ -367,13 +367,14 @@
try
{
StringBuffer buf = new StringBuffer("Body:\n");
+
buf.append(toBodyString());
buf.append("\nJMS Correlation ID: ").append(getJMSCorrelationID());
buf.append("\nJMS timestamp: ").append(getJMSTimestamp());
buf.append("\nJMS expiration: ").append(getJMSExpiration());
buf.append("\nJMS priority: ").append(getJMSPriority());
buf.append("\nJMS delivery mode: ").append(getJMSDeliveryMode());
- //buf.append("\nJMS reply to: ").append(String.valueOf(getJMSReplyTo()));
+ buf.append("\nJMS reply to: ").append(getReplyToString());
buf.append("\nJMS Redelivered: ").append(_redelivered);
buf.append("\nJMS Destination: ").append(getJMSDestination());
buf.append("\nJMS Type: ").append(getJMSType());
@@ -392,7 +393,7 @@
while(propertyNames.hasMoreElements())
{
String propertyName = (String) propertyNames.nextElement();
- buf.append(propertyName).append(":\t").append(getObjectProperty(propertyName));
+ buf.append("\t").append(propertyName).append(" = ").append(getObjectProperty(propertyName)).append("\n");
}
}
@@ -401,7 +402,9 @@
}
catch (JMSException e)
{
- return e.toString();
+ e.printStackTrace();
+
+ throw new RuntimeException(e);
}
}
Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSBytesMessage.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSBytesMessage.java?rev=756228&r1=756227&r2=756228&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSBytesMessage.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSBytesMessage.java Thu Mar 19 21:54:58 2009
@@ -381,10 +381,4 @@
throw new MessageFormatException("Only primitives plus byte arrays and String are valid types");
}
}
-
- public String toString()
- {
- return String.valueOf(System.identityHashCode(this));
- }
-
}
Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSTextMessage.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSTextMessage.java?rev=756228&r1=756227&r2=756228&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSTextMessage.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSTextMessage.java Thu Mar 19 21:54:58 2009
@@ -100,6 +100,7 @@
if (encoding == null || encoding.equalsIgnoreCase("UTF-8"))
{
_data = ByteBuffer.wrap(Strings.toUTF8(text));
+ setEncoding("UTF-8");
}
else
{
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org