Author: rdonkin
Date: Sat Aug 11 00:44:20 2007
New Revision: 564845
URL: http://svn.apache.org/viewvc?view=rev&rev=564845
Log:
Set RECENT flag correctly.
Modified:
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java
james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalAuthenticatedStateTest.java
james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/UidFlagSizeFetchSessionTest.java
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java
Modified:
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java?view=diff&rev=564845&r1=564844&r2=564845
==============================================================================
---
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java
(original)
+++
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java
Sat Aug 11 00:44:20 2007
@@ -21,6 +21,8 @@
import java.util.Date;
+import javax.mail.MessagingException;
+import javax.mail.Flags.Flag;
import javax.mail.internet.MimeMessage;
import org.apache.avalon.framework.logger.Logger;
@@ -116,9 +118,12 @@
private ImapResponseMessage appendToMailbox(MimeMessage message, Date
datetime, ImapSession session, String tag, ImapCommand command,
ImapMailboxSession mailbox) throws MailboxException {
try {
+ message.setFlag(Flag.RECENT, true);
mailbox.appendMessage(message, datetime, 0);
} catch (MailboxManagerException e) {
// TODO why not TRYCREATE?
+ throw new MailboxException(e);
+ } catch (MessagingException e) {
throw new MailboxException(e);
}
final CommandCompleteResponse result = new CommandCompleteResponse(
Modified:
james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalAuthenticatedStateTest.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalAuthenticatedStateTest.java?view=diff&rev=564845&r1=564844&r2=564845
==============================================================================
---
james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalAuthenticatedStateTest.java
(original)
+++
james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalAuthenticatedStateTest.java
Sat Aug 11 00:44:20 2007
@@ -26,10 +26,6 @@
super(HostSystemFactory.createStandardImap());
}
- public void testStatus() throws Exception {
- // TODO: fix bug - recent flag not set
- }
-
public void testSubscribe() throws Exception {
// TODO: user is automatically subscribed to INBOX.
// Check whether this is correct behaviour
Modified:
james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/UidFlagSizeFetchSessionTest.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/UidFlagSizeFetchSessionTest.java?view=diff&rev=564845&r1=564844&r2=564845
==============================================================================
---
james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/UidFlagSizeFetchSessionTest.java
(original)
+++
james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/UidFlagSizeFetchSessionTest.java
Sat Aug 11 00:44:20 2007
@@ -97,6 +97,11 @@
assertEquals(sc.getRecentCount(),5);
verifyCommand(sc);
+ // Recent flag is reset by select
+ for (int i=0;i<msgs.length;i++) {
+ msgs[i].setFlag(Flag.RECENT, false);
+ }
+
FetchCommand fc=new FetchCommand(msgs,1,-1);
fc.setUids(uids);
fc.setFetchFlags(true);
Modified:
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?view=diff&rev=564845&r1=564844&r2=564845
==============================================================================
---
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
(original)
+++
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
Sat Aug 11 00:44:20 2007
@@ -342,6 +342,9 @@
flags.add(Flags.Flag.RECENT);
try {
int count = getMailboxRow().countMessages(flags, true);
+ if (reset) {
+ getMailboxRow().resetRecent();
+ }
return count;
} catch (TorqueException e) {
throw new MailboxManagerException(e);
Modified:
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java?view=diff&rev=564845&r1=564844&r2=564845
==============================================================================
---
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java
(original)
+++
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java
Sat Aug 11 00:44:20 2007
@@ -104,6 +104,11 @@
int numberOfRecords = record.getValue(1).asInt();
return numberOfRecords;
}
-
-
+
+ public void resetRecent() throws TorqueException {
+ String sql = "UPDATE " + MessageFlagsPeer.TABLE_NAME + " set "
+ + MessageFlagsPeer.RECENT + " = 0 WHERE " +
+ MessageFlagsPeer.MAILBOX_ID + " = " + getMailboxId();
+ MessageFlagsPeer.executeStatement(sql);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]