summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2009-02-13 11:19:38 +0000
committerMartin Ritchie <ritchiem@apache.org>2009-02-13 11:19:38 +0000
commit64d9444c6da714ed7831fa122dfdaaa2ddda3b4a (patch)
tree8244782b5dcdefa87b4b26cdcddd3ecffdf5e04d /qpid/java/broker/src/main
parent571225ebdad7e9777d6949596189867d4fc62d93 (diff)
downloadqpid-python-64d9444c6da714ed7831fa122dfdaaa2ddda3b4a.tar.gz
QPID-1629 : Fully test MessageHandles before move
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@744074 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/main')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/queue/InMemoryMessageHandle.java7
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java10
2 files changed, 13 insertions, 4 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/InMemoryMessageHandle.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/InMemoryMessageHandle.java
index 2a7c90a81e..1092f67d94 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/InMemoryMessageHandle.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/InMemoryMessageHandle.java
@@ -75,7 +75,12 @@ public class InMemoryMessageHandle implements AMQMessageHandle
public ContentChunk getContentChunk(StoreContext context, int index) throws AMQException, IllegalArgumentException
{
- if (index > _contentBodies.size() - 1)
+ if(_contentBodies == null)
+ {
+ throw new RuntimeException("No ContentBody has been set");
+ }
+
+ if (index > _contentBodies.size() - 1 || index < 0)
{
throw new IllegalArgumentException("Index " + index + " out of valid range 0 to " +
(_contentBodies.size() - 1));
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java
index 3ed8b0e55c..804d2c2131 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java
@@ -109,7 +109,12 @@ public class WeakReferenceMessageHandle implements AMQMessageHandle
public ContentChunk getContentChunk(StoreContext context, int index) throws AMQException, IllegalArgumentException
{
- if (index > _contentBodies.size() - 1)
+ if(_contentBodies == null)
+ {
+ throw new RuntimeException("No ContentBody has been set");
+ }
+
+ if (index > _contentBodies.size() - 1 || index < 0)
{
throw new IllegalArgumentException("Index " + index + " out of valid range 0 to " +
(_contentBodies.size() - 1));
@@ -197,8 +202,7 @@ public class WeakReferenceMessageHandle implements AMQMessageHandle
final long arrivalTime = System.currentTimeMillis();
-
- MessageMetaData mmd = new MessageMetaData(publishBody, contentHeaderBody, _contentBodies.size(), arrivalTime);
+ MessageMetaData mmd = new MessageMetaData(publishBody, contentHeaderBody, _contentBodies == null ? 0 : _contentBodies.size(), arrivalTime);
_messageStore.storeMessageMetaData(storeContext, _messageId, mmd);