in openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java [178:219]
public Object registerUser(User u, String password, String hash) throws OmException, NoSuchAlgorithmException {
// Check for required data
String login = u.getLogin();
if (!Strings.isEmpty(login) && login.length() >= getMinLoginLength()) {
// Check for duplicates
boolean checkName = userDao.checkLogin(login, User.Type.USER, null, null);
String email = u.getAddress() == null ? null : u.getAddress().getEmail();
boolean checkEmail = Strings.isEmpty(email) || userDao.checkEmail(email, User.Type.USER, null, null);
if (checkName && checkEmail) {
String ahash = Strings.isEmpty(hash) ? randomUUID().toString() : hash;
if (Type.EXTERNAL != u.getType() && !Strings.isEmpty(email)) {
emailManager.sendMail(login, email, ahash, sendConfirmation(), u.getLanguageId());
}
// If this user needs first to click his E-Mail verification
// code then set the status to 0
if (sendConfirmation() && u.getRights().contains(Right.LOGIN)) {
u.getRights().remove(Right.LOGIN);
}
u.setActivatehash(ahash);
if (!Strings.isEmpty(password)) {
u.updatePassword(password);
}
u = userDao.update(u, null);
log.debug("Added user-Id {}", u.getId());
if (u.getId() != null) {
return u;
}
} else {
if (!checkName) {
return "error.login.inuse";
} else {
return "error.email.inuse";
}
}
} else {
return "error.short.login";
}
return UNKNOWN.getKey();
}