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:[email protected]

Reply via email to