Author: norman
Date: Sat Apr 16 12:33:53 2011
New Revision: 1093979

URL: http://svn.apache.org/viewvc?rev=1093979&view=rev
Log:
Correctly convert uids which are in sequence to MessageRanges. See MAILBOX-56

Modified:
    
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java
    
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MessageRangeTest.java

Modified: 
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java?rev=1093979&r1=1093978&r2=1093979&view=diff
==============================================================================
--- 
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java
 (original)
+++ 
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java
 Sat Apr 16 12:33:53 2011
@@ -246,6 +246,11 @@ public class MessageRange {
                     }
                 } else {
                     a++;
+                    // Handle uids which are in sequence. See MAILBOX-56
+                    if (uids.size() <= i +1) {
+                        ranges.add(MessageRange.range(firstUid, firstUid +a));
+                        break;
+                    } 
                 }
             }
         }

Modified: 
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MessageRangeTest.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MessageRangeTest.java?rev=1093979&r1=1093978&r2=1093979&view=diff
==============================================================================
--- 
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MessageRangeTest.java
 (original)
+++ 
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MessageRangeTest.java
 Sat Apr 16 12:33:53 2011
@@ -43,6 +43,16 @@ public class MessageRangeTest {
         checkRange(1, 1, ranges.get(0));
     }
     
+    // Test for MAILBOX-56
+    @Test
+    public void testTwoSeqUidToRange() {
+        List<MessageRange> ranges = 
MessageRange.toRanges(Arrays.asList(1L,2L));
+        assertEquals(1, ranges.size());
+        checkRange(1, 2, ranges.get(0));
+
+    }
+    
+    
     private void checkRange(long from, long to, MessageRange range) {
         assertEquals(from, range.getUidFrom());
         assertEquals(to, range.getUidTo());



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to