[hornetq-commits] JBoss hornetq SVN: r10755 - in branches/Branch_2_2_EAP_export_tool: tests/src/org/hornetq/tests/integration/persistence and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue May 31 17:39:48 EDT 2011


Author: jicken
Date: 2011-05-31 17:39:47 -0400 (Tue, 31 May 2011)
New Revision: 10755

Modified:
   branches/Branch_2_2_EAP_export_tool/src/main/org/hornetq/core/persistence/tools/ManageDataTool.java
   branches/Branch_2_2_EAP_export_tool/tests/src/org/hornetq/tests/integration/persistence/ExportDataTest.java
Log:
Bugfix message payload exporting/importing

Modified: branches/Branch_2_2_EAP_export_tool/src/main/org/hornetq/core/persistence/tools/ManageDataTool.java
===================================================================
--- branches/Branch_2_2_EAP_export_tool/src/main/org/hornetq/core/persistence/tools/ManageDataTool.java	2011-05-31 19:37:23 UTC (rev 10754)
+++ branches/Branch_2_2_EAP_export_tool/src/main/org/hornetq/core/persistence/tools/ManageDataTool.java	2011-05-31 21:39:47 UTC (rev 10755)
@@ -37,6 +37,7 @@
 
 import org.hornetq.api.core.HornetQBuffer;
 import org.hornetq.api.core.HornetQBuffers;
+import org.hornetq.api.core.Message;
 import org.hornetq.api.core.SimpleString;
 import org.hornetq.api.core.client.ClientMessage;
 import org.hornetq.api.core.client.ClientProducer;
@@ -347,13 +348,13 @@
 
    private static void handleAddMessage(MessagesExportType journalType, RecordInfo info)
    {
-      JournalStorageManager.MessageDescribe message = (JournalStorageManager.MessageDescribe)JournalStorageManager.newObjectEncoding(info);
+      final Message msg = ((MessageDescribe)JournalStorageManager.newObjectEncoding(info)).msg;
+      MessageType messageType = new MessageType((ServerMessage) msg);
 
-      MessageType messageType = new MessageType((ServerMessage)message.msg);
+      final HornetQBuffer bodyBuffer = msg.getBodyBuffer();
+      byte[] data = bodyBuffer.toByteBuffer().array();
+      messageType.setPayload(Base64.encodeBytes(data, MessageImpl.BODY_OFFSET, ((ServerMessage) msg).getEndOfBodyPosition() - MessageImpl.BODY_OFFSET, Base64.DONT_BREAK_LINES | Base64.URL_SAFE));
 
-      byte[] data = info.data;
-      messageType.setPayload(Base64.encodeBytes(data, 0, data.length, Base64.DONT_BREAK_LINES | Base64.URL_SAFE));
-
       journalType.getMessage().add(messageType);
    }
 
@@ -520,7 +521,6 @@
                      queueQuery = coreSession.queueQuery(SimpleString.toSimpleString(queue.getName()));
                   }
 
-                  // todo: get new queue id
                   if (!queueMapping.containsKey(queue.getId())) {
                      long newQueueId = getNewQueueId(queue);
                      queueMapping.put(queue.getId(), newQueueId);
@@ -586,8 +586,7 @@
                }
 
                // Payload
-               HornetQBuffer buffer = clientMessage.getBodyBuffer();
-               buffer.writeBytes(Base64.decode(message.getPayload(), Base64.DONT_BREAK_LINES | Base64.URL_SAFE));
+               clientMessage.getBodyBuffer().writeBytes(Base64.decode(message.getPayload(), Base64.DONT_BREAK_LINES | Base64.URL_SAFE));
 
                // UserID
                // todo: need to set?

Modified: branches/Branch_2_2_EAP_export_tool/tests/src/org/hornetq/tests/integration/persistence/ExportDataTest.java
===================================================================
--- branches/Branch_2_2_EAP_export_tool/tests/src/org/hornetq/tests/integration/persistence/ExportDataTest.java	2011-05-31 19:37:23 UTC (rev 10754)
+++ branches/Branch_2_2_EAP_export_tool/tests/src/org/hornetq/tests/integration/persistence/ExportDataTest.java	2011-05-31 21:39:47 UTC (rev 10755)
@@ -117,6 +117,9 @@
          {
             ClientMessage msg = cons.receive(1000);
             assertNotNull(msg);
+            for (int b = 0; b < msg.getBodyBuffer().readableBytes(); b++) {
+               assertEquals(getSamplebyte(b), msg.getBodyBuffer().readByte());
+            }
             msg.acknowledge();
             assertEquals(i, msg.getIntProperty("count").intValue());
          }



More information about the hornetq-commits mailing list