Menu

#1 InMemoryStore expunge() doesn't clean up all mail

v1.0 (example)
closed
None
5
2014-10-06
2009-03-15
Anonymous
No

Hi

The expunge method doesn't work when there are multiple deleted mail (deletes every second mail).

This is because the loop checks the list size, but the loops body changes the list.

Something like this:
public void expunge() throws FolderException {
// get size outside of the loop
int size = mailMessages.size()
for (int i = 0; i < size; i++) {
SimpleStoredMessage message = (SimpleStoredMessage) mailMessages.get(i);
if (message.getFlags().contains(Flags.Flag.DELETED)) {
expungeMessage(i + 1);
}
}
}

Regards,

Peter ( Peter.Perenyi <at> ird.govt.nz )

Discussion

  • Marcel (mayma)

    Marcel (mayma) - 2014-10-06
    • status: open --> closed
    • assigned_to: Marcel (mayma)
    • Group: --> v1.0 (example)
     

Log in to post a comment.