Author: norman
Date: Mon Apr 11 18:09:59 2011
New Revision: 1091157

URL: http://svn.apache.org/viewvc?rev=1091157&view=rev
Log:
Fix search dates. See IMAP-293

Modified:
    
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
    
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java?rev=1091157&r1=1091156&r2=1091157&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
 Mon Apr 11 18:09:59 2011
@@ -182,14 +182,8 @@ public class SearchProcessor extends Abs
             case SearchKey.TYPE_SEEN:
                 return SearchQuery.flagIsSet(Flag.SEEN);
             case SearchKey.TYPE_SENTBEFORE:
-                
-                // Include the date which is used as search param. See IMAP-293
-                Criterion beforeC = 
SearchQuery.headerDateBefore(ImapConstants.RFC822_DATE,
-                        date.getDay(), date.getMonth(), date.getYear());
-                Criterion onC = 
SearchQuery.headerDateOn(ImapConstants.RFC822_DATE,
+                return SearchQuery.headerDateBefore(ImapConstants.RFC822_DATE,
                         date.getDay(), date.getMonth(), date.getYear());
-                return SearchQuery.or(beforeC, onC);
-
             case SearchKey.TYPE_SENTON:
                 return SearchQuery.headerDateOn(ImapConstants.RFC822_DATE, date
                         .getDay(), date.getMonth(), date.getYear());
@@ -202,8 +196,9 @@ public class SearchProcessor extends Abs
             case SearchKey.TYPE_SEQUENCE_SET:
                 return sequence(key.getSequenceNumbers(), session, true);
             case SearchKey.TYPE_SINCE:
-                return SearchQuery.internalDateAfter(date.getDay(), date
-                        .getMonth(), date.getYear());
+                // Include the date which is used as search param. See IMAP-293
+                return 
SearchQuery.or(SearchQuery.internalDateOn(date.getDay(), date.getMonth(), 
date.getYear()), SearchQuery.internalDateAfter(date.getDay(), date
+                        .getMonth(), date.getYear()));
             case SearchKey.TYPE_SMALLER:
                 return SearchQuery.sizeLessThan(key.getSize());
             case SearchKey.TYPE_SUBJECT:

Modified: 
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java?rev=1091157&r1=1091156&r2=1091157&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
 (original)
+++ 
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
 Mon Apr 11 18:09:59 2011
@@ -344,8 +344,7 @@ public class SearchProcessorTest {
     @Test
     public void testSENTBEFORE() throws Exception {
         expectsGetSelectedMailbox();
-        check(SearchKey.buildSentBefore(DAY_MONTH_YEAR), 
SearchQuery.or(SearchQuery.headerDateBefore(ImapConstants.RFC822_DATE, DAY, 
MONTH, YEAR), SearchQuery
-                .headerDateOn(ImapConstants.RFC822_DATE, DAY, MONTH, YEAR)));
+        check(SearchKey.buildSentBefore(DAY_MONTH_YEAR), 
SearchQuery.headerDateBefore(ImapConstants.RFC822_DATE, DAY, MONTH, YEAR));
     }
 
     @Test
@@ -364,8 +363,9 @@ public class SearchProcessorTest {
     @Test
     public void testSINCE() throws Exception {
         expectsGetSelectedMailbox();
-        check(SearchKey.buildSince(DAY_MONTH_YEAR), SearchQuery
-                .internalDateAfter(DAY, MONTH, YEAR));
+        check(SearchKey.buildSince(DAY_MONTH_YEAR), SearchQuery.or(SearchQuery
+                .internalDateOn(DAY, MONTH, YEAR), SearchQuery
+                .internalDateAfter(DAY, MONTH, YEAR)));
     }
 
     @Test



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

Reply via email to