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