Skip to content

Commit

Permalink
Merge branch 'pbdoc/develop' into bugfix/excecao-anexacao
Browse files Browse the repository at this point in the history
  • Loading branch information
caiosantos-codata committed May 14, 2024
2 parents 7f7a27b + c2c4355 commit fd27f7b
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
package br.gov.jfrj.siga.base.log;

import java.util.ArrayList;
import java.util.Enumeration;
import java.util.logging.Logger;

import javax.servlet.http.HttpServletRequest;

import br.gov.jfrj.siga.model.ContextoPersistencia;

public class AccessLogger {

private static final Logger logger = Logger.getLogger(AccessLogger.class.getName());

private static final ArrayList<String> atributosOcultos = new ArrayList<String>() {
{
add("meusDelegados");
add("meusTitulares");
add("identidadeCadastrante");
}
};


public static void logAcesso(HttpServletRequest httpReq, String sigla) {

StringBuffer caminho = httpReq.getRequestURL();
String parametros = httpReq.getQueryString() == null ? "" : "?" + httpReq.getQueryString();
caminho.append(parametros);

StringBuffer requestInfo = new StringBuffer();

requestInfo.append("\n\n ----- Detalhes do Acesso -----\n");

requestInfo.append("\nURL: ");
requestInfo.append(caminho);
requestInfo.append("\n");

requestInfo.append("Método: ");
requestInfo.append(httpReq.getMethod());
requestInfo.append("\n");

requestInfo.append("Session ID: ");
requestInfo.append(httpReq.getRequestedSessionId() == null ? "indefinido" : httpReq.getRequestedSessionId());
requestInfo.append("\n");

requestInfo.append("User Principal: ");
requestInfo.append(ContextoPersistencia.getUserPrincipal() == null ? "indefinido": ContextoPersistencia.getUserPrincipal());
requestInfo.append("\n");

requestInfo.append("Thread ID: ");
requestInfo.append(Thread.currentThread().getId());
requestInfo.append("\n");

requestInfo.append("Thread Name: ");
requestInfo.append(Thread.currentThread().getName());
requestInfo.append("\n");

requestInfo.append("Remote Host: ");
requestInfo.append(httpReq.getRemoteHost());
requestInfo.append("\n");

requestInfo.append("Sigla: ");
requestInfo.append(sigla);
requestInfo.append("\n");

requestInfo.append("Atributos: \n");
Enumeration<String> attrs = httpReq.getAttributeNames();
while (attrs.hasMoreElements()) {
String name = attrs.nextElement();
if (name.startsWith("org.jboss.weld") || atributosOcultos.contains(name))
continue;
requestInfo.append("\t");
requestInfo.append(name);
requestInfo.append(" : ");
try {
String a = httpReq.getAttribute(name).toString();
if (a != null && a.length() > 200)
a = "[atributo encurtado] " + a.substring(0, 200) + "...";
requestInfo.append(a);
} catch (Exception e) {
requestInfo.append("não foi possível determinar: ");
requestInfo.append(e.getMessage());
}
requestInfo.append("\n");
}

logger.info(requestInfo.toString());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
import br.gov.jfrj.siga.base.AplicacaoException;
import br.gov.jfrj.siga.base.Contexto;
import br.gov.jfrj.siga.base.Prop;
import br.gov.jfrj.siga.base.log.AccessLogger;
import br.gov.jfrj.siga.bluc.service.BlucService;
import br.gov.jfrj.siga.bluc.service.HashRequest;
import br.gov.jfrj.siga.bluc.service.HashResponse;
Expand Down Expand Up @@ -112,6 +113,9 @@ public Download aExibir(final String sigla, final boolean popup, final String ar
String hash, final String HASH_ALGORITHM, final String certificadoB64, boolean completo,
final boolean semmarcas, final boolean volumes, final Long idVisualizacao, boolean exibirReordenacao) {
try {

AccessLogger.logAcesso(getRequest(), sigla);

final String servernameport = getRequest().getServerName() + ":" + getRequest().getServerPort();
final String contextpath = getRequest().getContextPath();
final String acceptHeader = getRequest().getHeader("Accept");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@
import br.gov.jfrj.siga.util.ListaHierarquica;
import br.gov.jfrj.siga.util.ListaHierarquicaItem;
import br.gov.jfrj.siga.vraptor.builder.BuscaDocumentoBuilder;
import br.gov.jfrj.siga.base.log.*;
import br.gov.jfrj.siga.base.log.AccessLogger;

@Controller
public class ExDocumentoController extends ExController {
Expand Down Expand Up @@ -1461,7 +1463,10 @@ public void reordenar(String idDocumentos, String sigla, boolean isVoltarParaOrd
@Get({ "/app/expediente/doc/exibir", "/expediente/doc/exibir.action" })
public void exibe(final boolean conviteEletronico, final String sigla,
final ExDocumentoDTO exDocumentoDTO, final Long idmob, final Long idVisualizacao, boolean exibirReordenacao)
throws Exception {
throws Exception {

AccessLogger.logAcesso(getRequest(), sigla);

final boolean recebimentoAutomatico = Prop.getBool("recebimento.automatico");
boolean recebimentoPendente = false;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@
import br.gov.jfrj.siga.base.SigaMessages;
import br.gov.jfrj.siga.base.SigaModal;
import br.gov.jfrj.siga.base.TipoResponsavelEnum;
import br.gov.jfrj.siga.base.log.AccessLogger;
import br.gov.jfrj.siga.base.util.Texto;
import br.gov.jfrj.siga.base.util.Utils;
import br.gov.jfrj.siga.cp.CpTipoConfiguracao;
Expand Down Expand Up @@ -187,13 +188,12 @@ public void anexa(final String sigla, final boolean assinandoAnexosGeral) {

@Get("app/expediente/mov/assinarAnexos")
public void assinarAnexos(final String sigla, final boolean assinandoAnexosGeral) {
AccessLogger.logAcesso(getRequest(), sigla);

final BuscaDocumentoBuilder documentoBuilder = BuscaDocumentoBuilder.novaInstancia().setSigla(sigla);

buscarDocumento(documentoBuilder);
final ExMobil mob = documentoBuilder.getMob();

final ExMovimentacaoBuilder movimentacaoBuilder = ExMovimentacaoBuilder.novaInstancia().setMob(mob);

final ExMobilVO mobilVO = new ExMobilVO(mob, getCadastrante(), getTitular(),
getLotaTitular(), true, ExTipoMovimentacao.TIPO_MOVIMENTACAO_ANEXACAO, false);
final ExMobilVO mobilCompletoVO = new ExMobilVO(mob, getCadastrante(), getTitular(),
Expand Down Expand Up @@ -618,9 +618,9 @@ public void sobrestarGravar(final String sigla) {
@Transacional
@Get("app/expediente/mov/assinar")
public void aAssinar(String sigla, Boolean autenticando) throws Exception {
BuscaDocumentoBuilder builder = BuscaDocumentoBuilder.novaInstancia()
.setSigla(sigla);

AccessLogger.logAcesso(getRequest(), sigla);

BuscaDocumentoBuilder builder = BuscaDocumentoBuilder.novaInstancia().setSigla(sigla);
ExDocumento doc = buscarDocumento(builder);

if (Strings.isNullOrEmpty(doc.getDescrDocumento()))
Expand Down

0 comments on commit fd27f7b

Please sign in to comment.