Author: btellier
Date: Wed Jun 17 08:58:27 2015
New Revision: 1685952

URL: http://svn.apache.org/r1685952
Log:
MAILBOX-220 IMAP ranges over Cassandra mailbox should be inclusive - 
contributed by Antoine Duprat

Modified:
    
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
    
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageMapperTest.java

Modified: 
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java?rev=1685952&r1=1685951&r2=1685952&view=diff
==============================================================================
--- 
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
 (original)
+++ 
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
 Wed Jun 17 08:58:27 2015
@@ -23,10 +23,10 @@ import static com.datastax.driver.core.q
 import static com.datastax.driver.core.querybuilder.QueryBuilder.bindMarker;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.decr;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.eq;
-import static com.datastax.driver.core.querybuilder.QueryBuilder.gt;
+import static com.datastax.driver.core.querybuilder.QueryBuilder.gte;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.incr;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.insertInto;
-import static com.datastax.driver.core.querybuilder.QueryBuilder.lt;
+import static com.datastax.driver.core.querybuilder.QueryBuilder.lte;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.select;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.set;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.update;
@@ -238,11 +238,11 @@ public class CassandraMessageMapper impl
     }
 
     private Where selectFrom(Mailbox<UUID> mailbox, long uid) {
-        return select(FIELDS).from(TABLE_NAME).where(eq(MAILBOX_ID, 
mailbox.getMailboxId())).and(gt(IMAP_UID, uid));
+        return select(FIELDS).from(TABLE_NAME).where(eq(MAILBOX_ID, 
mailbox.getMailboxId())).and(gte(IMAP_UID, uid));
     }
 
     private Where selectRange(Mailbox<UUID> mailbox, long from, long to) {
-        return select(FIELDS).from(TABLE_NAME).where(eq(MAILBOX_ID, 
mailbox.getMailboxId())).and(gt(IMAP_UID, from)).and(lt(IMAP_UID, to));
+        return select(FIELDS).from(TABLE_NAME).where(eq(MAILBOX_ID, 
mailbox.getMailboxId())).and(gte(IMAP_UID, from)).and(lte(IMAP_UID, to));
     }
 
     private Where selectMessage(Mailbox<UUID> mailbox, long uid) {

Modified: 
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageMapperTest.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageMapperTest.java?rev=1685952&r1=1685951&r2=1685952&view=diff
==============================================================================
--- 
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageMapperTest.java
 (original)
+++ 
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageMapperTest.java
 Wed Jun 17 08:58:27 2015
@@ -167,8 +167,6 @@ public abstract class AbstractMessageMap
             .isEqualTo(message1, fetchType);
     }
 
-    // Ranges should be inclusive
-    @Ignore
     @Test
     public void messagesCanBeRetrievedInMailboxWithRangeTypeRange() throws 
MailboxException, IOException{
         saveMessages();
@@ -177,8 +175,6 @@ public abstract class AbstractMessageMap
         assertThat(retrievedMessageIterator).containsOnly(message1, message2, 
message3, message4);
     }
 
-    // Ranges should be inclusive
-    @Ignore
     @Test
     public void 
messagesCanBeRetrievedInMailboxWithRangeTypeRangeContainingAHole() throws 
MailboxException, IOException {
         saveMessages();
@@ -188,8 +184,6 @@ public abstract class AbstractMessageMap
         assertThat(retrievedMessageIterator).containsOnly(message1, message2, 
message4);
     }
 
-    // Ranges should be inclusive
-    @Ignore
     @Test
     public void messagesCanBeRetrievedInMailboxWithRangeTypeFrom() throws 
MailboxException, IOException {
         saveMessages();
@@ -198,8 +192,6 @@ public abstract class AbstractMessageMap
         assertThat(retrievedMessageIterator).containsOnly(message3, message4, 
message5);
     }
 
-    // Ranges should be inclusive
-    @Ignore
     @Test
     public void 
messagesCanBeRetrievedInMailboxWithRangeTypeFromContainingAHole() throws 
MailboxException, IOException {
         saveMessages();
@@ -495,8 +487,6 @@ public abstract class AbstractMessageMap
         
MessageAssert.assertThat(retrieveMessageFromStorage(message1)).hasFlags(new 
Flags(Flags.Flag.FLAGGED));
     }
 
-    // Ranges should be inclusive
-    @Ignore
     @Test
     public void updateFlagsOnRangeShouldAffectMessagesContainedInThisRange() 
throws MailboxException {
         saveMessages();
@@ -504,8 +494,6 @@ public abstract class AbstractMessageMap
             .hasSize(3);
     }
 
-    // Ranges should be inclusive
-    @Ignore
     @Test
     public void 
updateFlagsWithRangeFromShouldAffectMessagesContainedInThisRange() throws 
MailboxException {
         saveMessages();



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to