protected boolean processRoles( HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) throws IOException, ServletException { String role = null; ArrayList regras = new ArrayList(); /* * Trecho responsável por pegar as regras de acesso definidas no Struts * Este tratamento foi feito para permitir/restringir acesso a mais de * uma opção por url. No caso Reclassificar Assunto e Mensagem através * da url reclassificar */ if (mapping.getRoles() != null) { String[] roles = mapping.getRoles().split(","); for (int cont = 0; cont < roles.length; cont++) { try { new Long(roles[cont]); } catch (Exception e) { e.printStackTrace(); throw new ServletException("Código de regra de acesso inválido."); } regras.add(roles[cont]); role = (String) regras.get(0); // Pega a primeira regra(role) } } OrgaoCtrl orgaoCtrl = new OrgaoCtrl(daoFactory); /* Não existe bloqueio para esta acão */ if (role == null || role.trim().length() == 0) { return true; } request.setAttribute(Constants.SR_FUNCIONALIDADE, role); /*Coloca a funcionalidade na sessão para * ser recuperada na tela de ajuda */ request.getSession().setAttribute(Constants.SR_FUNCIONALIDADE, role); ControleAcessoCtrl controleAcessoCtrl = new ControleAcessoCtrl(daoFactory); Orgao orgao = orgaoCtrl.get((String) request.getSession().getAttribute(Constants.ID_SESSAO_ORGAO)); /* verifico a vigência do órgão para acionamento e consulta resposta */ String redirect = null; int vigenciaOrgao = controleAcessoCtrl.verificaVigenciaOrgao(orgao, role); switch (vigenciaOrgao) { case ControleAcessoCtrl.VG_FORA_PERIODO_ACIONAMENTO: redirect = Constants.CAD_ACNMNT_FORA_VIGENCIA_PAGE; break; case ControleAcessoCtrl.VG_FORA_PERIODO_CONSULTA_RESPOSTA: redirect = Constants.CON_RESPTA_FORA_VIGENCIA_PAGE; break; case ControleAcessoCtrl.VG_FORA_PERIODO_OPERACAO: redirect = Constants.CAD_OPERACAO_FORA_VIGENCIA_PAGE; break; default: // DO NOTHING } if (redirect != null) { controleAcessoCtrl = null; /* retiro o controle do struts */ doForward(redirect, request, response); return false; } /* verifico o acesso do funcionario ao sistema */ int possuiAcesso = ControleAcessoCtrl.CA_NECESSARIO_LOGIN; try { Long funcionarioId = (Long) request.getSession().getAttribute(Constants.PA_FUNCIONARIO); FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(daoFactory); Funcionario funcionario = (Funcionario) funcionarioCtrl.get(funcionarioId); possuiAcesso = controleAcessoCtrl.permiteAcesso(orgao, funcionario, regras); } catch (DaoException e) { System.out.println(e.getMessage()); e.printStackTrace(); throw new ServletException(e); } redirect = Constants.LOGIN_ACTION; switch (possuiAcesso) { case ControleAcessoCtrl.CA_ACESSO_PERMITIDO: request.getSession().setAttribute(Constants.SR_FUNCIONALIDADES, regras); return true; case ControleAcessoCtrl.CA_ACESSO_NEGADO: redirect = Constants.DENIED_ACCESS_ACTION; break; case ControleAcessoCtrl.CA_NECESSARIO_LOGIN: redirect = Constants.LOGIN_ACTION; break; case ControleAcessoCtrl.VG_FORA_PERIODO_OPERACAO: redirect = Constants.CAD_OPERACAO_FORA_VIGENCIA_PAGE; break; default: redirect = Constants.LOGIN_ACTION; } controleAcessoCtrl = null; /* retiro o funcionario da sessão */ request.getSession().removeAttribute(Constants.PA_FUNCIONARIO); /* retiro o controle do struts */ doForward(redirect, request, response); return false; }
public ActionForward salvar( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages msgs = new ActionMessages(); final String id = request.getParameter("id"); final String idOrgao = request.getParameter("idOrgao"); final String meiosEnvioResp = request.getParameter("meiosEnvioResp"); /*Campos de notificação por email*/ final String textoNotificacaoPendencia = request.getParameter("textoNotificacaoPendencia"); final String textoNotificacaoAtraso = request.getParameter("textoNotificacaoAtraso"); ; final String textoNotificacaoAtrasoCritico = request.getParameter("textoNotificacaoAtrasoCritico"); final String notificacaoEmail = request.getParameter("notificacaoEmail"); final String horaEnvioNotificacao = request.getParameter("horaEnvioNotificacao"); /**/ final String[] tipoAcionador = request.getParameterValues("tipoAcionador"); Collection listaMeioEnvioResposta = new ArrayList(); final String strPermiteMsgDigitalizadaAcionamento = request.getParameter("permiteMsgDigitalizadaAcionamento"); Boolean permiteMsgDigitalizadaAcionamento; final String strTamanhoMaxArquivoCartaDigitalizada = request.getParameter("tamanhoMaxArquivoCartaDigitalizada"); Integer tamanhoMaxArquivoCartaDigitalizada = null; final String strPermiteArquivoAnexoAcionamento = request.getParameter("permiteArquivoAnexoAcionamento"); Boolean permiteArquivoAnexoAcionamento; final String strTamanhoMaxArquivoAnexo = request.getParameter("tamanhoMaxArquivoAnexo"); Integer tamanhoMaxArquivoAnexo = null; final String strPossuiCodigoAcesso = request.getParameter("possuiCodigoAcesso"); Boolean possuiCodigoAcesso; final String strAtendenteConsultaMsgNoAtendimento = request.getParameter("atendenteConsultaMsgNoAtendimento"); Boolean atendenteConsultaMsgNoAtendimento; final String strExigeCertificadoDigitalGeral = request.getParameter("exigeCertificadoDigitalGeral"); Boolean exigeCertificadoDigitalGeral; final String strExigeCertificadoDigitalOrgao = request.getParameter("exigeCertificadoDigitalOrgao"); Boolean exigeCertificadoDigitalOrgao; final String strExisteBloqueioProtocoloPeloCodigo = request.getParameter("existeBloqueioProtocoloPeloCodigo"); Boolean existeBloqueioProtocoloPeloCodigo; final String strExisteBloqueioProtocoloPelaPergunta = request.getParameter("existeBloqueioProtocoloPelaPergunta"); Boolean existeBloqueioProtocoloPelaPergunta; final String strTempoBloqueioProtocoloPeloCodigo = request.getParameter("tempoBloqueioProtocoloPeloCodigo"); Integer tempoBloqueioProtocoloPeloCodigo = null; final String strTempoBloqueioProtocoloPelaPergunta = request.getParameter("tempoBloqueioProtocoloPelaPergunta"); Integer tempoBloqueioProtocoloPelaPergunta = null; final String strQtdeTentativasPossiveisCodigoAcesso = request.getParameter("qtdeTentativasPossiveisCodigoAcesso"); Integer qtdeTentativasPossiveisCodigoAcesso = null; final String strQtdeTentativasPossiveisPergunta = request.getParameter("qtdeTentativasPossiveisPergunta"); Integer qtdeTentativasPossiveisPergunta = null; final String textoApresentacaoOuvidoria = request.getParameter("textoApresentacaoOuvidoria"); final String textoRespostaAcionamento = request.getParameter("textoRespostaAcionamento"); final String textoApresentacaoFormulario = request.getParameter("textoApresentacaoFormulario"); final String textoCanaisComunicacao = request.getParameter("textoCanaisComunicacao"); final String textoApresentacaoResposta = request.getParameter("textoApresentacaoResposta"); final String textoInformacaoOuvidoria = request.getParameter("textoInformacaoOuvidoria"); final String esquemaCoresLayout = request.getParameter("esquemaCoresLayout"); final String nomeExibicaoOrgao = request.getParameter("nomeExibicaoOrgao"); final String descricaoImagemLogo = request.getParameter("descricaoImagemLogo"); final String descricaoImagemBanner = request.getParameter("descricaoImagemBanner"); final String descricaoImagem3 = request.getParameter("descricaoImagem3"); final String descricaoImagem4 = request.getParameter("descricaoImagem4"); final String descricaoImagem5 = request.getParameter("descricaoImagem5"); final String linkImagemLogo = request.getParameter("linkImagemLogo"); final String linkImagemBanner = request.getParameter("linkImagemBanner"); final String linkImagem3 = request.getParameter("linkImagem3"); final String linkImagem4 = request.getParameter("linkImagem4"); final String linkImagem5 = request.getParameter("linkImagem5"); CadastrarConfiguracoesOrgaoForm _form = (CadastrarConfiguracoesOrgaoForm) form; final FormFile imagemLogo = _form.getImagemLogo(); final FormFile imagemBanner = _form.getImagemBanner(); final FormFile imagem3 = _form.getImagem3(); final FormFile imagem4 = _form.getImagem4(); final FormFile imagem5 = _form.getImagem5(); final String urlBaseFuncionarios = request.getParameter("urlBaseFuncionarios"); final String textoConsultaRespostaNoPrazo = request.getParameter("textoConsultaRespostaNoPrazo"); final String textoConsultaRespostaSemPrazo = request.getParameter("textoConsultaRespostaSemPrazo"); final String textoConsultaRespostaEmAtraso = request.getParameter("textoConsultaRespostaEmAtraso"); final String textoAvaliacaoResposta = request.getParameter("textoAvaliacaoResposta"); final String nomeDiretorioOrgao = request.getParameter("nomeDiretorioOrgao"); final String remetenteEmail = request.getParameter("remetenteEmail"); final String textoLegislacaoOuvidoria = request.getParameter("textoLegislacaoOuvidoria"); final String corCabecalhoLogo = request.getParameter("corCabecalhoLogo"); final String corCabecalhoBanner = request.getParameter("corCabecalhoBanner"); final String urlSuporteUsuario = request.getParameter("urlSuporteUsuario"); OrgaoCtrl orgaoCtrl = new OrgaoCtrl(getDaoFactory()); ConfiguracoesOrgaoCtrl configuracoesOrgaoCtrl = new ConfiguracoesOrgaoCtrl(getDaoFactory()); try { if (idOrgao == null || idOrgao.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.atualizarConfiguracoesOrgao.masc", "Orgão")); if (strPermiteMsgDigitalizadaAcionamento != null) { permiteMsgDigitalizadaAcionamento = Boolean.TRUE; if (strTamanhoMaxArquivoCartaDigitalizada == null || strTamanhoMaxArquivoCartaDigitalizada.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Tamanho máximo para carta digitalizada")); else tamanhoMaxArquivoCartaDigitalizada = new Integer(strTamanhoMaxArquivoCartaDigitalizada); } else { permiteMsgDigitalizadaAcionamento = Boolean.FALSE; tamanhoMaxArquivoCartaDigitalizada = null; } if (strPermiteArquivoAnexoAcionamento != null) { permiteArquivoAnexoAcionamento = Boolean.TRUE; if (strTamanhoMaxArquivoAnexo == null || strTamanhoMaxArquivoAnexo.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Tamanho máximo para arquivos anexos")); else tamanhoMaxArquivoAnexo = new Integer(strTamanhoMaxArquivoAnexo); } else { permiteArquivoAnexoAcionamento = Boolean.FALSE; tamanhoMaxArquivoAnexo = null; } // possui código de acesso if (strPossuiCodigoAcesso != null) { possuiCodigoAcesso = Boolean.TRUE; // existe bloqueio pelo código de acesso if (strExisteBloqueioProtocoloPeloCodigo != null) { existeBloqueioProtocoloPeloCodigo = Boolean.TRUE; if (strTempoBloqueioProtocoloPeloCodigo == null || strTempoBloqueioProtocoloPeloCodigo.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Tempo de bloqueio pelo código de acesso")); else tempoBloqueioProtocoloPeloCodigo = new Integer(strTempoBloqueioProtocoloPeloCodigo); if (strQtdeTentativasPossiveisCodigoAcesso == null || strQtdeTentativasPossiveisCodigoAcesso.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Número máximo de falhas no código de acesso")); else qtdeTentativasPossiveisCodigoAcesso = new Integer(strQtdeTentativasPossiveisCodigoAcesso); } else { existeBloqueioProtocoloPeloCodigo = Boolean.FALSE; tempoBloqueioProtocoloPeloCodigo = null; qtdeTentativasPossiveisCodigoAcesso = null; } // existe bloqueio pela pergunta if (strExisteBloqueioProtocoloPelaPergunta != null) { existeBloqueioProtocoloPelaPergunta = Boolean.TRUE; if (strTempoBloqueioProtocoloPelaPergunta == null || strTempoBloqueioProtocoloPelaPergunta.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Tempo de bloqueio pela pergunta")); else tempoBloqueioProtocoloPelaPergunta = new Integer(strTempoBloqueioProtocoloPelaPergunta); if (strQtdeTentativasPossiveisPergunta == null || strQtdeTentativasPossiveisPergunta.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Número máximo de falhas na pergunta")); else qtdeTentativasPossiveisPergunta = new Integer(strQtdeTentativasPossiveisPergunta); } else { existeBloqueioProtocoloPelaPergunta = Boolean.FALSE; tempoBloqueioProtocoloPelaPergunta = null; qtdeTentativasPossiveisPergunta = null; } } else { possuiCodigoAcesso = Boolean.FALSE; existeBloqueioProtocoloPeloCodigo = null; existeBloqueioProtocoloPelaPergunta = null; tempoBloqueioProtocoloPeloCodigo = null; tempoBloqueioProtocoloPelaPergunta = null; qtdeTentativasPossiveisCodigoAcesso = null; qtdeTentativasPossiveisPergunta = null; } if (strAtendenteConsultaMsgNoAtendimento != null) atendenteConsultaMsgNoAtendimento = Boolean.TRUE; else atendenteConsultaMsgNoAtendimento = Boolean.FALSE; if (strExigeCertificadoDigitalGeral != null) exigeCertificadoDigitalGeral = Boolean.TRUE; else exigeCertificadoDigitalGeral = Boolean.FALSE; if (strExigeCertificadoDigitalOrgao != null) exigeCertificadoDigitalOrgao = Boolean.TRUE; else exigeCertificadoDigitalOrgao = Boolean.FALSE; if (textoApresentacaoOuvidoria == null || textoApresentacaoOuvidoria.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Texto de apresentação da ouvidoria")); if (textoRespostaAcionamento == null || textoRespostaAcionamento.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Texto de resposta no momento do acionamento")); if (textoApresentacaoResposta == null || textoApresentacaoResposta.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Texto de apresentação da resposta")); if (textoInformacaoOuvidoria == null || textoInformacaoOuvidoria.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Texto com informações sobre a ouvidoria")); if (textoConsultaRespostaNoPrazo == null || textoConsultaRespostaNoPrazo.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Texto de consulta de resposta no prazo")); if (textoConsultaRespostaSemPrazo == null || textoConsultaRespostaSemPrazo.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Texto de consulta de resposta sem prazo")); if (textoConsultaRespostaEmAtraso == null || textoConsultaRespostaEmAtraso.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Texto de consulta de resposta em atraso")); if (textoAvaliacaoResposta == null || textoAvaliacaoResposta.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Texto de avaliação da resposta")); if (esquemaCoresLayout == null || esquemaCoresLayout.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Diretório de esquema de cores")); if (nomeExibicaoOrgao == null || nomeExibicaoOrgao.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Nome do órgão para exibição")); if (id == null || id.trim().length() == 0) { if (nomeDiretorioOrgao == null || nomeDiretorioOrgao.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Nome do diretório do órgão")); } if (remetenteEmail == null || remetenteEmail.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.masc", "Remetente dos emails que serão enviados pela aplicação")); if (corCabecalhoLogo == null || corCabecalhoLogo.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.fem", "Cor referente a página do logo")); if (corCabecalhoBanner == null || corCabecalhoBanner.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.fem", "Cor referente a página do banner")); if (urlSuporteUsuario == null || urlSuporteUsuario.trim().length() == 0) msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "error.atualizarConfiguracoesOrgao.fem", "URL de suporte ao usuário")); Collection listaTipoAcionador = new ArrayList(); if (tipoAcionador != null) { for (int i = 0; i < tipoAcionador.length; i++) { listaTipoAcionador.add(TipoAcionador.get(new Long(tipoAcionador[i]))); } } if (meiosEnvioResp != null) { int posIni = 0; int pos = 0; String idMeioEnvioRespSel = ""; // Recupera meios de envio de resposta selecionados para // o órgão while (posIni < meiosEnvioResp.length()) { pos = meiosEnvioResp.indexOf(",", posIni); if (pos > 0) { idMeioEnvioRespSel = meiosEnvioResp.substring(posIni, pos); MeioEnvioResposta mer = configuracoesOrgaoCtrl.getMeioEnvioResposta(new Long(idMeioEnvioRespSel)); listaMeioEnvioResposta.add(mer); } posIni = pos + 1; } } if (!msgs.isEmpty()) { saveErrors(request, msgs); return mapping.findForward("error"); } Orgao localOrgao = orgaoCtrl.get(new Long(idOrgao)); if (id != null && id.trim().length() > 0) { configuracoesOrgaoCtrl.update( id, localOrgao, permiteMsgDigitalizadaAcionamento, tamanhoMaxArquivoCartaDigitalizada, permiteArquivoAnexoAcionamento, tamanhoMaxArquivoAnexo, atendenteConsultaMsgNoAtendimento, exigeCertificadoDigitalGeral, exigeCertificadoDigitalOrgao, possuiCodigoAcesso, existeBloqueioProtocoloPeloCodigo, existeBloqueioProtocoloPelaPergunta, tempoBloqueioProtocoloPeloCodigo, tempoBloqueioProtocoloPelaPergunta, qtdeTentativasPossiveisCodigoAcesso, qtdeTentativasPossiveisPergunta, textoApresentacaoOuvidoria, textoRespostaAcionamento, textoApresentacaoFormulario, textoCanaisComunicacao, textoApresentacaoResposta, textoInformacaoOuvidoria, textoConsultaRespostaNoPrazo, textoConsultaRespostaSemPrazo, textoConsultaRespostaEmAtraso, textoAvaliacaoResposta, textoLegislacaoOuvidoria, esquemaCoresLayout, nomeExibicaoOrgao, imagemLogo, corCabecalhoLogo, imagemBanner, corCabecalhoBanner, imagem3, imagem4, imagem5, descricaoImagemLogo, descricaoImagemBanner, descricaoImagem3, descricaoImagem4, descricaoImagem5, linkImagemLogo, linkImagemBanner, linkImagem3, linkImagem4, linkImagem5, urlBaseFuncionarios, urlSuporteUsuario, remetenteEmail, listaMeioEnvioResposta, listaTipoAcionador, notificacaoEmail, horaEnvioNotificacao, textoNotificacaoPendencia, textoNotificacaoAtraso, textoNotificacaoAtrasoCritico); msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.atualizar.alterar")); } else { configuracoesOrgaoCtrl.insert( localOrgao, permiteMsgDigitalizadaAcionamento, tamanhoMaxArquivoCartaDigitalizada, permiteArquivoAnexoAcionamento, tamanhoMaxArquivoAnexo, atendenteConsultaMsgNoAtendimento, exigeCertificadoDigitalGeral, exigeCertificadoDigitalOrgao, possuiCodigoAcesso, existeBloqueioProtocoloPeloCodigo, existeBloqueioProtocoloPelaPergunta, tempoBloqueioProtocoloPeloCodigo, tempoBloqueioProtocoloPelaPergunta, qtdeTentativasPossiveisCodigoAcesso, qtdeTentativasPossiveisPergunta, textoApresentacaoOuvidoria, textoRespostaAcionamento, textoApresentacaoFormulario, textoCanaisComunicacao, textoApresentacaoResposta, textoInformacaoOuvidoria, textoConsultaRespostaNoPrazo, textoConsultaRespostaSemPrazo, textoConsultaRespostaEmAtraso, textoAvaliacaoResposta, textoLegislacaoOuvidoria, esquemaCoresLayout, nomeExibicaoOrgao, nomeDiretorioOrgao, imagemLogo, corCabecalhoLogo, imagemBanner, corCabecalhoBanner, imagem3, imagem4, imagem5, descricaoImagemLogo, descricaoImagemBanner, descricaoImagem3, descricaoImagem4, descricaoImagem5, linkImagemLogo, linkImagemBanner, linkImagem3, linkImagem4, linkImagem5, urlBaseFuncionarios, urlSuporteUsuario, remetenteEmail, listaMeioEnvioResposta, listaTipoAcionador, notificacaoEmail, horaEnvioNotificacao, textoNotificacaoPendencia, textoNotificacaoAtraso, textoNotificacaoAtrasoCritico); msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.atualizar.incluir")); } } catch (DaoException daoe) { if (Constants.DEBUG) { daoe.printStackTrace(System.out); } msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.atualizarConfiguracoesOrgao")); } // Caso o admistrador retire a indicação de agendamento o agendador será parado if (notificacaoEmail == null || notificacaoEmail.equals("")) { boolean agendamentoFinalizado = OuvidoriaScheduler.sched.deleteJob("EnviarAlertaJob", Scheduler.DEFAULT_GROUP); if (agendamentoFinalizado) { getLog() .info( "\n\n Job 'EnviarAlertaJob' Finalizado em:" + new Date(System.currentTimeMillis())); } } else if (horaAgendadaAntiga != null && horaEnvioNotificacao != null && !horaAgendadaAntiga.equals(horaEnvioNotificacao)) { // Caso a hora antiga seja diferente da atual o agendador deverá ser reiniciado OuvidoriaScheduler.restart(request); } saveMessages(request, msgs); return mapping.findForward("success"); }