package org.basex.core.cmd; import static org.basex.core.Text.*; import org.basex.core.CommandBuilder; import org.basex.core.Commands.Cmd; import org.basex.core.Commands.CmdCreate; import org.basex.data.MetaData; /** * Evaluates the 'create user' command and creates a new user. * * @author BaseX Team 2005-12, BSD License * @author Christian Gruen */ public final class CreateUser extends AUser { /** * Default constructor. * @param name user name * @param pw password */ public CreateUser(final String name, final String pw) { super(name, pw); } @Override protected boolean run() { final String user = args[0]; final String pass = args[1]; if(!MetaData.validName(user, false)) return error(NAME_INVALID_X, user); return !isMD5(pass) ? error(PW_NOT_VALID) : context.users.create(user, pass) ? info(USER_CREATED_X, user) : error(USER_EXISTS_X, user); } @Override public void build(final CommandBuilder cb) { cb.init(Cmd.CREATE + " " + CmdCreate.USER).args(); } }