public String doForgotPassword() {
   TypedQuery<User> query = em.createNamedQuery(User.FIND_BY_EMAIL, User.class);
   query.setParameter("email", user.getEmail());
   try {
     user = query.getSingleResult();
     String temporaryPassword = Lorem.getWords(1);
     user.setPassword(PasswordUtils.digestPassword(temporaryPassword));
     em.merge(user);
     facesContext.addMessage(
         null,
         new FacesMessage(
             FacesMessage.SEVERITY_INFO,
             "Email sent",
             "An email has been sent to "
                 + user.getEmail()
                 + " with temporary password :"******"dummyPassword"
     return doLogout();
   } catch (NoResultException e) {
     facesContext.addMessage(
         null,
         new FacesMessage(
             FacesMessage.SEVERITY_WARN,
             "Unknown email",
             "This email address is unknonw in our system"));
     return null;
   }
 }