public ActionForward processar( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.entering(new Object[0]); UsuarioForm myForm = (UsuarioForm) form; Usuario usuario = this.usuarioFacade.getUsuarioLogin(myForm.getLogin()); Integer nrTentativasMax = Integer.valueOf(MessagesUtil.getInt("MessageResources", "numero.max.tentativas")); if (usuario != null) { if (usuario.getBloqueado().booleanValue()) { addMensagem( request, new ActionMessage("msg.usuario.bloqueado", new String[] {usuario.getNome()}), "mensagemNegativa"); return mapping.findForward("principal"); } if (usuario.getTentativas().intValue() >= nrTentativasMax.intValue()) { addMensagem( request, new ActionMessage("msg.usuario.bloqueado", new String[0]), "mensagemNegativa"); return mapping.findForward("principal"); } if (!Cryptex.decrypt(usuario.getSenha()).equals(myForm.getSenha())) { usuario.setTentativas(Integer.valueOf(usuario.getTentativas().intValue() + 1)); if (usuario.getTentativas().intValue() >= nrTentativasMax.intValue()) { usuario.setBloqueado(Boolean.valueOf(true)); this.usuarioFacade.atualizar(usuario); addMensagem(request, new ActionMessage("msg.usuario.bloquear"), "mensagemNegativa"); return mapping.findForward("principal"); } this.usuarioFacade.atualizar(usuario); addMensagem( request, new ActionMessage( "msg.senha.invalida", new Object[] { Integer.valueOf(usuario.getTentativas().intValue()), Integer.valueOf(nrTentativasMax.intValue()), Integer.valueOf(nrTentativasMax.intValue()) }), "mensagemAdvertencia"); return mapping.findForward("principal"); } usuario.setTentativas(Integer.valueOf(0)); this.usuarioFacade.atualizar(usuario); } else { addMensagem(request, new ActionMessage("msg.usuario.inexistente"), "mensagemNegativa"); return mapping.findForward("principal"); } controlAcesso(request, usuario); ContextoUsuario contextoUsuario = new ContextoUsuario(); contextoUsuario.setUsuarioLogado(usuario); registrarContextoUsuario(contextoUsuario, request.getSession()); ActionUtil.getInstance().montarMenu(contextoUsuario, request.getSession()); montaHome(request, usuario); adicionaMotivos(request.getSession()); logger.exiting(new Object[0]); return mapping.findForward("home"); }
private void montaHome(HttpServletRequest request, Usuario usuario) throws ViewException { setPageResult( this.atendimentoFacade.getAtendimentosUsuario(usuario.getId(), getPageResult(request)), request); }