Author: eric
Date: Fri Jul 29 09:23:12 2011
New Revision: 1152151
URL: http://svn.apache.org/viewvc?rev=1152151&view=rev
Log:
Handle correctly INBOX deletion for Maildir (MAILBOX-114)
Modified:
james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
Modified:
james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java?rev=1152151&r1=1152150&r2=1152151&view=diff
==============================================================================
---
james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
(original)
+++
james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
Fri Jul 29 09:23:12 2011
@@ -65,11 +65,23 @@ public class MaildirMailboxMapper extend
* @see
org.apache.james.mailbox.store.mail.MailboxMapper#delete(org.apache.james.mailbox.store.mail.model.Mailbox)
*/
public void delete(Mailbox<Integer> mailbox) throws MailboxException {
+
String folderName = maildirStore.getFolderName(mailbox);
File folder = new File(folderName);
if (folder.isDirectory()) {
try {
- FileUtils.deleteDirectory(folder);
+ if (mailbox.getName().equals(MailboxConstants.INBOX)) {
+ // We must only delete cur, new, tmp and metadata for top
INBOX mailbox.
+ FileUtils.deleteDirectory(new File(folder,
MaildirFolder.CUR));
+ FileUtils.deleteDirectory(new File(folder,
MaildirFolder.NEW));
+ FileUtils.deleteDirectory(new File(folder,
MaildirFolder.TMP));
+ new File(folder, MaildirFolder.UIDLIST_FILE).delete();
+ new File(folder, MaildirFolder.VALIDITY_FILE).delete();
+ }
+ else {
+ // We simply delete all the folder for non INBOX mailboxes.
+ FileUtils.deleteDirectory(folder);
+ }
} catch (IOException e) {
throw new MailboxException("Unable to delete Mailbox " +
mailbox, e);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]