1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.wallace.messages;
20
21 import javax.mail.Folder;
22 import javax.mail.MessagingException;
23 import javax.mail.Store;
24
25 import net.sf.wallace.Command;
26 import net.sf.wallace.ServerResponse;
27 import net.sf.wallace.WallaceSession;
28 import net.sf.wallace.commands.AuthCommand;
29
30 /***
31 * A DELETE message.
32 *
33 * @author rnewson
34 */
35 public final class DeleteMessage extends MailboxMessage {
36
37 public Command getCommand() {
38 return new DeleteCommand();
39 }
40
41 private final class DeleteCommand extends AuthCommand {
42 protected void onExecute(final WallaceSession wallaceSession) throws MessagingException {
43 final Store store = wallaceSession.getStore();
44 final Folder root = store.getDefaultFolder();
45 final Folder folder = root.getFolder(getMailboxName());
46
47 if (!folder.exists()) {
48 wallaceSession.respond(new ServerResponse(DeleteMessage.this, "NO " + getMailboxName() + " does not exist."));
49 }
50
51 if (folder.delete(false)) {
52 wallaceSession.respond(new ServerResponse(DeleteMessage.this, "OK DELETE " + getMailboxName()));
53 } else {
54 wallaceSession.respond(new ServerResponse(DeleteMessage.this, "NO DELETE " + getMailboxName()));
55 }
56 }
57 }
58
59 }