br.ufac.sion.inscricao.controller.RecuperaSenhaBean.java Source code

Java tutorial

Introduction

Here is the source code for br.ufac.sion.inscricao.controller.RecuperaSenhaBean.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufac.sion.inscricao.controller;

import br.ufac.sion.exception.NegocioException;
import br.ufac.sion.inscricao.util.jsf.FacesUtil;
import br.ufac.sion.model.TokenRecuperacao;
import br.ufac.sion.service.CandidatoService;
import java.io.Serializable;
import javax.ejb.EJB;
import org.apache.commons.lang3.StringUtils;
import br.ufac.sion.dao.TokenRecuperacaoFacadeLocal;
import javax.faces.view.ViewScoped;
import javax.inject.Named;

/**
 *
 * @author Rennan
 */
@Named
@ViewScoped
public class RecuperaSenhaBean implements Serializable {

    @EJB
    private TokenRecuperacaoFacadeLocal tokenRecuperacaoFacade;

    @EJB
    private CandidatoService candidatoService;

    private String email;
    private String senha;
    private String token;
    private TokenRecuperacao tokenRecuperacao;
    private boolean expirado = true;

    public void inicializar() {
        if (FacesUtil.isNotPostback()) {
            if (StringUtils.isNotBlank(token)) {
                tokenRecuperacao = tokenRecuperacaoFacade.findByToken(token);
                if (tokenRecuperacao != null) {
                    setExpirado(false);
                } else {
                    setExpirado(true);
                }
            } else {
                setExpirado(true);
            }
        }
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public boolean isExpirado() {
        return expirado;
    }

    public void setExpirado(boolean expirado) {
        this.expirado = expirado;
    }

    public void esqueceuSenha() {
        try {
            candidatoService.solicitarNovaSenha(email);
            FacesUtil.addSuccessMessage(
                    "Em instantes voc receber um e-mail com instrues para recuperar sua senha.");
        } catch (NegocioException ex) {
            FacesUtil.addErrorMessage(ex.getMessage());
        }
    }

    public void trocarSenha() {
        try {
            candidatoService.alterarSenhaComToken(senha, tokenRecuperacao);
            FacesUtil.addSuccessMessage("Sua senha foi alterada com sucesso.");
        } catch (NegocioException ex) {
            FacesUtil.addErrorMessage(ex.getMessage());
        }
    }

    public void limparSolicitacaoNovaSenha() {
        email = null;
    }

    public void limparAlterarSenha() {
        senha = null;
    }
}