From c14f29e9b67bb11d9d7bd5907414ecaa9659cb12 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 17 Sep 2010 12:14:01 -0400 Subject: [PATCH] INT-1415 more polishing --- .../integration/mail/ImapMailReceiver.java | 15 +++++++-------- .../mail/ImapMailSearchTermsTests.java | 16 +++++++++------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java b/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java index 21c8c42a1e..898204b422 100755 --- a/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java +++ b/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java @@ -144,15 +144,14 @@ public class ImapMailReceiver extends AbstractMailReceiver { } } } + NotTerm notDeleted = new NotTerm( new FlagTerm(new Flags(Flags.Flag.DELETED), true) ); + NotTerm notSeen = new NotTerm( new FlagTerm(new Flags(Flags.Flag.SEEN), true) ); if (searchTerm == null){ - if (this.isShouldMarkMessagesAsRead()){ - searchTerm = new NotTerm( new FlagTerm(new Flags(Flags.Flag.SEEN), true) ); - } - } else { - if (this.isShouldMarkMessagesAsRead()){ - searchTerm = new AndTerm(searchTerm, new NotTerm( new FlagTerm(new Flags(Flags.Flag.SEEN), true) )); - } - } + searchTerm = notDeleted; + } + if (this.isShouldMarkMessagesAsRead()){ + searchTerm = new AndTerm(searchTerm, notSeen); + } return searchTerm; } diff --git a/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailSearchTermsTests.java b/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailSearchTermsTests.java index 324d7fd493..c0bba9efba 100644 --- a/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailSearchTermsTests.java +++ b/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailSearchTermsTests.java @@ -15,6 +15,9 @@ */ package org.springframework.integration.mail; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.lang.reflect.Method; import javax.mail.Flags; @@ -27,10 +30,6 @@ import javax.mail.search.SearchTerm; import org.junit.Test; import org.springframework.util.ReflectionUtils; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - /** * @author Oleg Zhurakousky * @@ -45,8 +44,11 @@ public class ImapMailSearchTermsTests { compileSearchTerms.setAccessible(true); Flags flags = new Flags(); SearchTerm searchTerms = (SearchTerm) compileSearchTerms.invoke(receiver, flags); - assertTrue(searchTerms instanceof NotTerm); - NotTerm notTerm = (NotTerm) searchTerms; + assertTrue(searchTerms instanceof AndTerm); + AndTerm andTerm = (AndTerm) searchTerms; + SearchTerm[] terms = andTerm.getTerms(); + assertEquals(2, terms.length); + NotTerm notTerm = (NotTerm) terms[1]; assertTrue(((FlagTerm)notTerm.getTerm()).getFlags().contains(Flag.SEEN)); } @Test @@ -75,7 +77,7 @@ public class ImapMailSearchTermsTests { compileSearchTerms.setAccessible(true); Flags flags = new Flags(); SearchTerm searchTerms = (SearchTerm) compileSearchTerms.invoke(receiver, flags); - assertNull(searchTerms); + assertTrue(searchTerms instanceof NotTerm); } @Test public void validateSearchTermsWhenShouldNotMarkAsReadWithExistingFlags() throws Exception {