You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Martin.Bergljung" <Ma...@opsera.com> on 2009/05/13 17:06:07 UTC

EXPUNGE problem

Hi,

 

The EXPUNGE does not work correctly as the MailboxEventAnalyser contains
a Set of expunged UIDs.

It needs to be a List (of message sequence numbers in the end) as you
can have expunged 2 messages after each other such as:

 

*         2 EXPUNGE  (message 2 had the \Deleted flag set)

*         2 EXPUNGE  (message 3 had the \Deleted flag set)

*         6 EXPUNGE  (message 8 had the \Deleted flag set)

 

I have changed it to a list but still have some problems ...

 

/Martin Bergljung

 


RE: EXPUNGE problem

Posted by "Martin.Bergljung" <Ma...@opsera.com>.
I think I know why my implementation is not working. I am returning Message Sequence Numbers from the Mailbox.expunge() method, 
Which used to be what you were supposed to do in previous IMAP implementation. I will change to return UIDs and that should hopefully fix it.

/Martin

-----Original Message-----
From: Robert Burrell Donkin [mailto:robertburrelldonkin@gmail.com] 
Sent: 13 May 2009 16:26
To: James Developers List
Subject: Re: EXPUNGE problem

On Wed, May 13, 2009 at 4:06 PM, Martin.Bergljung
<Ma...@opsera.com> wrote:
> Hi,
>
>
>
> The EXPUNGE does not work correctly as the MailboxEventAnalyser contains
> a Set of expunged UIDs.

MailboxEventAnalyser deals with UIDs. MSNs are converted in
UidToMsnConverter since each client connection needs it's own
perspective. (a complete PITA if you ask me, but it's hard to see any
other way to do as the specification requires). since each UID is
unique (except for UIDVALIDITY changes) a set should be ok, i think

> It needs to be a List (of message sequence numbers in the end) as you
> can have expunged 2 messages after each other such as:
>
>
>
> *         2 EXPUNGE  (message 2 had the \Deleted flag set)
> *         2 EXPUNGE  (message 3 had the \Deleted flag set)
> *         6 EXPUNGE  (message 8 had the \Deleted flag set)

there used to be a bug in
AbstractMailboxProcessor#addExpungedResponses which did something
similar but this should be fixed

- robert

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


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


Re: EXPUNGE problem

Posted by Robert Burrell Donkin <ro...@gmail.com>.
On Wed, May 13, 2009 at 4:06 PM, Martin.Bergljung
<Ma...@opsera.com> wrote:
> Hi,
>
>
>
> The EXPUNGE does not work correctly as the MailboxEventAnalyser contains
> a Set of expunged UIDs.

MailboxEventAnalyser deals with UIDs. MSNs are converted in
UidToMsnConverter since each client connection needs it's own
perspective. (a complete PITA if you ask me, but it's hard to see any
other way to do as the specification requires). since each UID is
unique (except for UIDVALIDITY changes) a set should be ok, i think

> It needs to be a List (of message sequence numbers in the end) as you
> can have expunged 2 messages after each other such as:
>
>
>
> *         2 EXPUNGE  (message 2 had the \Deleted flag set)
> *         2 EXPUNGE  (message 3 had the \Deleted flag set)
> *         6 EXPUNGE  (message 8 had the \Deleted flag set)

there used to be a bug in
AbstractMailboxProcessor#addExpungedResponses which did something
similar but this should be fixed

- robert

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