/** * Creates a new user. * * @param firstName The first name of the user * @param lastName The last name of the user * @param email The email address of the user * @param username The username of the user * @param password The password of the user * @param role The role of the user * @return The created user */ public User createUser( String firstName, String lastName, String email, String username, String password, Role role) { UserDAO userDAO = DAOFactory.getInstance().getUserDAO(); InternalAuthDAO internalAuthDAO = DAOFactory.getInstance().getInternalAuthDAO(); EmailDAO emailDAO = DAOFactory.getInstance().getEmailDAO(); try { String passwordEncoded = EncodingUtils.md5EncodeString(password); InternalAuth internalAuth = internalAuthDAO.create(username, passwordEncoded); User user = userDAO.create( firstName, lastName, String.valueOf(internalAuth.getId()), getName(), role); // TODO Default contact type? emailDAO.create(user.getContactInfo(), null, Boolean.TRUE, email); return user; } catch (UnsupportedEncodingException e) { throw new SmvcRuntimeException(e); } catch (NoSuchAlgorithmException e) { throw new SmvcRuntimeException(e); } }
private UserVariable create(User user, UserVariableKey key, String value) { EntityManager entityManager = getEntityManager(); UserVariable userVariable = new UserVariable(); userVariable.setUser(user); userVariable.setKey(key); userVariable.setValue(value); entityManager.persist(userVariable); user.getVariables().add(userVariable); entityManager.persist(user); return userVariable; }