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 *
32 *
33 * @author rnewson
34 */
35 public final class CreateMessage extends MailboxMessage {
36
37 public Command getCommand() {
38 return new CreateCommand();
39 }
40
41 private final class CreateCommand extends AuthCommand {
42 protected void onExecute(final WallaceSession wallaceSession) throws MessagingException {
43 final Store store = wallaceSession.getStore();
44 final Folder root = store.getDefaultFolder();
45
46 final Folder folder = root.getFolder(getMailboxName());
47
48 if (folder.exists()) {
49 wallaceSession.respond(new ServerResponse(CreateMessage.this, "NO " + getMailboxName() + " already exists."));
50 }
51
52 if (!folder.create(Folder.HOLDS_MESSAGES)) {
53 wallaceSession.respond(new ServerResponse(CreateMessage.this, "NO unable to create " + getMailboxName()));
54 }
55
56 wallaceSession.respond(new ServerResponse(CreateMessage.this, "OK CREATE " + getMailboxName()));
57 }
58 }
59
60 }