Author: rgodfrey
Date: Thu May 29 03:35:02 2008
New Revision: 661286

URL: http://svn.apache.org/viewvc?rev=661286&view=rev
Log:
Avoid NPEs :-)

Modified:
    
incubator/qpid/branches/broker-queue-refactor/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java

Modified: 
incubator/qpid/branches/broker-queue-refactor/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/broker-queue-refactor/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java?rev=661286&r1=661285&r2=661286&view=diff
==============================================================================
--- 
incubator/qpid/branches/broker-queue-refactor/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
 (original)
+++ 
incubator/qpid/branches/broker-queue-refactor/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
 Thu May 29 03:35:02 2008
@@ -514,7 +514,7 @@
     {
 
         QueueEntry node = sub.getLastSeenEntry();
-        while(node.isAcquired() || node.isDeleted() || !sub.hasInterest(node) )
+        while(node != null && (node.isAcquired() || node.isDeleted() || 
!sub.hasInterest(node)) )
         {
 
             QueueEntry newNode = _entries.next(node);
@@ -538,7 +538,7 @@
         else
         {
             node = sub.getLastSeenEntry();
-            if(entry.compareTo(node) < 0 && sub.hasInterest(entry))
+            if(node != null && entry.compareTo(node) < 0 && 
sub.hasInterest(entry))
             {
                 do
                 {
@@ -550,7 +550,7 @@
                     {
                         node = sub.getLastSeenEntry();
                     }
-                } while (entry.compareTo(node) < 0);
+                } while (node != null && entry.compareTo(node) < 0);
             }
             return false;
         }
@@ -570,7 +570,7 @@
             if(!sub.isBrowser())
             {
                 QueueEntry subEntry = sub.getLastSeenEntry();
-                while(entry.compareTo(subEntry)<0)
+                while(subEntry != null && entry.compareTo(subEntry)<0)
                 {
                     if(sub.setLastSeenEntry(subEntry,entry))
                     {
@@ -1331,7 +1331,7 @@
     {
         QueueEntry node = sub.getLastSeenEntry();
         
-        while(node.isAcquired() || node.isDeleted() || node.expired())
+        while(node != null && (node.isAcquired() || node.isDeleted() || 
node.expired()))
         {
             if(!node.isAcquired() && !node.isDeleted() && node.expired())
             {
@@ -1396,7 +1396,7 @@
                     {
                         QueueEntry node = moveSubscriptionToNextNode(sub);
 
-                        if(sub.isActive())
+                        if(node != null && sub.isActive())
                         {
                             boolean advanced = false;
                             boolean subActive = false;


Reply via email to