Commit 36c9afe2f58c0469b920680b8e70e262f520a590

Authored by andre guimaraes
1 parent feae3048

Melhorias no tratamento de exceções.

src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java
@@ -48,6 +48,7 @@ import com.github.mustachejava.Mustache; @@ -48,6 +48,7 @@ import com.github.mustachejava.Mustache;
48 import br.gov.ans.commons.security.crypt.HashUtils; 48 import br.gov.ans.commons.security.crypt.HashUtils;
49 import br.gov.ans.dao.DAO; 49 import br.gov.ans.dao.DAO;
50 import br.gov.ans.exceptions.BusinessException; 50 import br.gov.ans.exceptions.BusinessException;
  51 +import br.gov.ans.exceptions.ResourceNotFoundException;
51 import br.gov.ans.exceptions.WrappedException; 52 import br.gov.ans.exceptions.WrappedException;
52 import br.gov.ans.integracao.sei.client.Documento; 53 import br.gov.ans.integracao.sei.client.Documento;
53 import br.gov.ans.integracao.sei.client.RetornoConsultaDocumento; 54 import br.gov.ans.integracao.sei.client.RetornoConsultaDocumento;
@@ -569,11 +570,15 @@ public class DocumentoResource { @@ -569,11 +570,15 @@ public class DocumentoResource {
569 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) 570 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
570 public Response consultarDocumentos(@PathParam("interessado") String interessado, @QueryParam("tipo") String tipo, @QueryParam("pagina") String pagina, 571 public Response consultarDocumentos(@PathParam("interessado") String interessado, @QueryParam("tipo") String tipo, @QueryParam("pagina") String pagina,
571 @QueryParam("qtdRegistros") String qtdRegistros, @QueryParam("somenteAssinados") boolean somenteAssinados, @QueryParam("crescente") boolean ordemCrescente, 572 @QueryParam("qtdRegistros") String qtdRegistros, @QueryParam("somenteAssinados") boolean somenteAssinados, @QueryParam("crescente") boolean ordemCrescente,
572 - @QueryParam("orderByProcesso") boolean orderByProcesso) throws BusinessException{ 573 + @QueryParam("orderByProcesso") boolean orderByProcesso) throws BusinessException, ResourceNotFoundException{
573 574
574 List<DocumentoResumido> documentos = daoDocumento.getDocumentos(interessado, tipo, pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros), 575 List<DocumentoResumido> documentos = daoDocumento.getDocumentos(interessado, tipo, pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros),
575 somenteAssinados, ordemCrescente, orderByProcesso); 576 somenteAssinados, ordemCrescente, orderByProcesso);
576 577
  578 + if(documentos.isEmpty()){
  579 + throw new ResourceNotFoundException(messages.getMessage("erro.nenhum.documento.encontrado.interessado", interessado));
  580 + }
  581 +
577 GenericEntity<List<DocumentoResumido>> entity = new GenericEntity<List<DocumentoResumido>>(documentos){}; 582 GenericEntity<List<DocumentoResumido>> entity = new GenericEntity<List<DocumentoResumido>>(documentos){};
578 583
579 Long totalRegistros = daoDocumento.countDocumentos(interessado, tipo, somenteAssinados); 584 Long totalRegistros = daoDocumento.countDocumentos(interessado, tipo, somenteAssinados);
src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java
@@ -631,6 +631,10 @@ public class ProcessoResource { @@ -631,6 +631,10 @@ public class ProcessoResource {
631 List<ProcessoResumido> processos = processoDAO.getProcessos(interessado, unidade, tipoProcesso, 631 List<ProcessoResumido> processos = processoDAO.getProcessos(interessado, unidade, tipoProcesso,
632 pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros), crescente); 632 pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros), crescente);
633 633
  634 + if(processos.isEmpty()){
  635 + throw new ResourceNotFoundException(messages.getMessage("erro.nenhum.processo.encontrado.filtros"));
  636 + }
  637 +
634 GenericEntity<List<ProcessoResumido>> entity = new GenericEntity<List<ProcessoResumido>>(processos){}; 638 GenericEntity<List<ProcessoResumido>> entity = new GenericEntity<List<ProcessoResumido>>(processos){};
635 639
636 Long totalRegistros = processoDAO.countProcessos(interessado, unidade, tipoProcesso); 640 Long totalRegistros = processoDAO.countProcessos(interessado, unidade, tipoProcesso);
src/main/resources/messages.properties
@@ -27,6 +27,8 @@ erro.marcar.processo = Ocorreu um erro ao adicionar o marcador ao processo. @@ -27,6 +27,8 @@ erro.marcar.processo = Ocorreu um erro ao adicionar o marcador ao processo.
27 erro.motivo.cancelamento.obrigatorio = É obrigatório informar o motivo do cancelamento. 27 erro.motivo.cancelamento.obrigatorio = É obrigatório informar o motivo do cancelamento.
28 erro.motivo.nao.infomado = Motivo não informado. 28 erro.motivo.nao.infomado = Motivo não informado.
29 erro.nenhum.contato.encontrado = Nenhum contato encontrado. 29 erro.nenhum.contato.encontrado = Nenhum contato encontrado.
  30 +erro.nenhum.documento.encontrado.interessado = Nenhum documento foi encontrado para o interessado {0}.
  31 +erro.nenhum.processo.encontrado.filtros = Nenhum processo encontrado para os filtros informados.
30 erro.numero.sipar = Número de processo não corresponde ao padrão do SIPAR. 32 erro.numero.sipar = Número de processo não corresponde ao padrão do SIPAR.
31 erro.persistir.confirmacao.inclusao.documento = Ocorreu um erro ao persistir a confirmação de inclusão do documento, número gerado {0}. 33 erro.persistir.confirmacao.inclusao.documento = Ocorreu um erro ao persistir a confirmação de inclusão do documento, número gerado {0}.
32 erro.processar.conteudo.json = Erro ao processar o conteudo JSON, verifique a formação do JSON e se o envio foi realizado em Base64. 34 erro.processar.conteudo.json = Erro ao processar o conteudo JSON, verifique a formação do JSON e se o envio foi realizado em Base64.