View Javadoc

1   /*
2    *  XNap - A P2P framework and client.
3    *
4    *  See the file AUTHORS for copyright information.
5    *
6    *  This program is free software; you can redistribute it and/or modify
7    *  it under the terms of the GNU General Public License as published by
8    *  the Free Software Foundation.
9    *
10   *  This program is distributed in the hope that it will be useful,
11   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   *  GNU General Public License for more details.
14   *
15   *  You should have received a copy of the GNU General Public License
16   *  along with this program; if not, write to the Free Software
17   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18   */
19  
20  package org.xnap.plugin.opennap.command;
21  
22  import java.util.StringTokenizer;
23  
24  import org.xnap.XNap;
25  import org.xnap.cmdl.AbstractCommand;
26  import org.xnap.cmdl.Console;
27  import org.xnap.cmdl.SyntaxException;
28  import org.xnap.plugin.opennap.net.msg.MessageHandler;
29  import org.xnap.plugin.opennap.net.msg.client.RegisterUserMessage;
30  
31  /***
32   *
33   */
34  public class OpenNapRegisterUserCommand extends AbstractCommand
35  {
36      
37      //--- Constant(s) ---
38      
39      //--- Data field(s) ---
40  
41  	private OpenNapConsole nc;
42  
43      //--- Constructor(s) ---
44  
45  	public OpenNapRegisterUserCommand(OpenNapConsole nc)
46  	{
47  		this.nc = nc;
48  
49  		putValue(CMD, "register");
50  		putValue(ALIASES, new String[] { "reg" });
51  		putValue(PARAMETER, "nick password email [level]");
52  		putValue(SHORT_HELP, XNap.tr("Registers a user."));
53  		putValue(LONG_HELP, XNap.tr("The level parameter has to be set for SlavaOpenNap servers."));
54  	}
55  
56  	//--- Method(s) ---
57  
58  	public void execute(String command, Console console)
59  		throws SyntaxException
60  	{
61  		StringTokenizer t = new StringTokenizer(command);
62  		
63  		// skip command
64  		t.nextToken();
65  		
66  		if (t.countTokens() < 3 || t.countTokens() > 4) {
67  			throw new SyntaxException();
68  		}
69  
70  		String nick = t.nextToken();
71  		String password = t.nextToken();
72  		String email = t.nextToken();
73  		String level = null;
74  		if (t.hasMoreTokens()) {
75  			level = t.nextToken();
76  		}
77  		
78  		RegisterUserMessage msg 
79  			= new RegisterUserMessage(nick, password, email, level);
80  		msg.setExceptionListener(nc);
81  		MessageHandler.send(nc.getServer(), msg);
82  	}
83  
84  }