1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.waarp.ftp.core.command.access;
21
22 import org.waarp.common.command.NextCommandReply;
23 import org.waarp.common.command.exception.Reply421Exception;
24 import org.waarp.common.command.exception.Reply501Exception;
25 import org.waarp.common.command.exception.Reply530Exception;
26 import org.waarp.ftp.core.command.AbstractCommand;
27
28
29
30
31 public class USER extends AbstractCommand {
32 @Override
33 public final void exec()
34 throws Reply501Exception, Reply421Exception, Reply530Exception {
35 if (!hasArg()) {
36 getSession().reinitFtpAuth();
37 throw new Reply501Exception("Need a username as argument");
38 }
39 final String username = getArg();
40 final NextCommandReply nextCommandReply;
41 try {
42 nextCommandReply = getSession().getAuth().setUser(username);
43 } catch (final Reply530Exception e) {
44 getSession().reinitFtpAuth();
45 throw e;
46 }
47 setExtraNextCommand(nextCommandReply.command);
48 getSession().setReplyCode(nextCommandReply.reply, nextCommandReply.message);
49 }
50
51 }