diff --git a/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java b/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java index 81436e8..b3b82f8 100644 --- a/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java +++ b/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java @@ -329,9 +329,11 @@ public class DocumentoResource { documento.setConteudo(conteudoHTML); } - logger.debug(messages.getMessage("debug.novo.documento.enviado")); + logger.debug(messages.getMessage(MessagesKeys.DEBUG_NOVO_DOCUMENTO_ENVIADO)); + retorno = seiNativeService.incluirDocumento(Constantes.SEI_BROKER, Operacao.INCLUIR_DOCUMENTO, unidadeResource.consultarCodigo(unidade), documento); - logger.debug(messages.getMessage("debug.novo.documento.processado")); + + logger.debug(messages.getMessage(MessagesKeys.DEBUG_NOVO_DOCUMENTO_PROCESSADO)); }catch(Exception ex){ registrarProblemaInclusao(inclusaoDocumento); @@ -710,9 +712,10 @@ public class DocumentoResource { } public String transformarConteudoDocumentoInterno(String conteudo, String template) throws RemoteException, Exception{ + StringWriter writer = new StringWriter(); + try{ Mustache mustache = mustacheUtils.compile(removeExtensaoLegado(template)); - StringWriter writer = new StringWriter(); Map model = decodeConteudoMustache(conteudo); @@ -723,6 +726,8 @@ public class DocumentoResource { }catch(JsonParseException ex){ logger.debug(conteudo); throw new BusinessException(messages.getMessage("erro.processar.conteudo.json")); + }finally{ + writer.close(); } } diff --git a/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java b/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java index dd21e66..2b145f4 100644 --- a/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java +++ b/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java @@ -99,7 +99,7 @@ public class InfoResource { @Path("/conexoes/mysql") @Produces(MediaType.TEXT_PLAIN) public String testMySQLConnection() throws Exception{ - Query query = emMySQL.createNativeQuery("SELECT version()"); + Query query = emMySQL.createNativeQuery(Constantes.MYSQL_SQL_TEST_CONECTION); try{ return((String) query.getSingleResult()); @@ -133,7 +133,7 @@ public class InfoResource { @Path("/conexoes/oracle") @Produces(MediaType.TEXT_PLAIN) public String testOracleConnection() throws Exception{ - Query query = emOracle.createNativeQuery("SELECT BANNER FROM V$VERSION WHERE ROWNUM = 1"); + Query query = emOracle.createNativeQuery(Constantes.ORACLE_SQL_TEST_CONECTION); try{ return ((String) query.getSingleResult()); @@ -170,7 +170,7 @@ public class InfoResource { try{ seiNativeService.listarUnidades(Constantes.SEI_BROKER, Operacao.LISTAR_UNIDADES, null, null); - return "SEI respondeu com sucesso."; + return Constantes.SEI_RESPONDEU_COM_SUCESSO; }catch(Exception ex){ logger.error(messages.getMessage("erro.testar.sei"),ex); throw new Exception(messages.getMessage("erro.testar.sei")); diff --git a/src/main/java/br/gov/ans/integracao/sei/rest/MessagesKeys.java b/src/main/java/br/gov/ans/integracao/sei/rest/MessagesKeys.java new file mode 100644 index 0000000..1f01231 --- /dev/null +++ b/src/main/java/br/gov/ans/integracao/sei/rest/MessagesKeys.java @@ -0,0 +1,6 @@ +package br.gov.ans.integracao.sei.rest; + +public class MessagesKeys { + public static final String DEBUG_NOVO_DOCUMENTO_ENVIADO = "debug.novo.documento.enviado"; + public static final String DEBUG_NOVO_DOCUMENTO_PROCESSADO = "debug.novo.documento.processado"; +} diff --git a/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java b/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java index 872fa5d..208b87c 100644 --- a/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java +++ b/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java @@ -67,8 +67,10 @@ public class UnidadeResource { @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public br.gov.ans.integracao.sei.client.Unidade[] listarUnidades() throws Exception{ Unidade[] lista = seiNativeService.listarUnidades(Constantes.SEI_BROKER, Operacao.LISTAR_UNIDADES, null, null); - - carregarMapUnidades(lista); + + if(isMapUnidadesExpirado()){ + carregarMapUnidades(lista); + } return lista; } diff --git a/src/main/java/br/gov/ans/integracao/sei/utils/Constantes.java b/src/main/java/br/gov/ans/integracao/sei/utils/Constantes.java index 8a3f690..109a46e 100644 --- a/src/main/java/br/gov/ans/integracao/sei/utils/Constantes.java +++ b/src/main/java/br/gov/ans/integracao/sei/utils/Constantes.java @@ -6,22 +6,28 @@ import javax.inject.Named; @Named @ApplicationScoped public class Constantes { + public static final String ACCEPT_HEADER_KEY = "Accept"; private static final int AXIS_TIMEOUT_IN_MINUTES = 10; public static final int AXIS_TIMEOUT = 1000 * (60 * AXIS_TIMEOUT_IN_MINUTES); public static final String CODIGO_BRASIL = "76"; public static final String CODIGO_ORGAO_ANS = "0"; + public static final String CONTENT_TYPE_HEADER_KEY= "Content-Type"; public static final String DATE_PATTERN = "dd/MM/yyyy"; public static final String DOCUMENTO_GERAL = "G"; public static final String DOCUMENTO_RECEBIDO = "R"; + public static final String JBOSS_HOME = System.getProperty("jboss.home.dir"); public static final String MASCARA_PROCESSO_17 = "#####.######/####-##"; public static final String MASCARA_PROCESSO_21 = "#######.########/####-##"; + public static final String MYSQL_SQL_TEST_CONECTION = "SELECT version()"; public static String NAO = "N"; - public static final String JBOSS_HOME = System.getProperty("jboss.home.dir"); public static final String NOME_SISTEMA = "sei-broker"; + public static final String ORACLE_SQL_TEST_CONECTION = "SELECT BANNER FROM V$VERSION WHERE ROWNUM = 1"; public static final String REGEX_MASCARA_PROCESSO = "(\\d)(\\d)(\\d)(\\d)(\\d)(\\.)(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)(\\/)(\\d)(\\d)(\\d)(\\d)(-)(\\d)(\\d)"; public static final String REGEX_SOMENTE_NUMEROS = "\\D+"; public static final String RESOURCE_METHOD_INVOKER = "org.jboss.resteasy.core.ResourceMethodInvoker"; public static final String SEI_BROKER = "SEI-Broker"; + public static final String SEI_RESPONDEU_COM_SUCESSO = "SEI respondeu com sucesso."; + public static String SIM = "S"; public static final int TAMANHO_MAXIMO_ARQUIVO = 16777216; public static final int TAMANHO_MAXIMO_DOCUMENTO = 22020096; public static final Integer TAMANHO_PAGINA_PADRAO = 50; diff --git a/src/main/java/br/gov/ans/integracao/sei/utils/ContatoHelper.java b/src/main/java/br/gov/ans/integracao/sei/utils/ContatoHelper.java index 802954c..36929a9 100644 --- a/src/main/java/br/gov/ans/integracao/sei/utils/ContatoHelper.java +++ b/src/main/java/br/gov/ans/integracao/sei/utils/ContatoHelper.java @@ -110,9 +110,9 @@ public class ContatoHelper { private void preencherDadosAssociado(Pessoa pessoa, Contato contato) throws RemoteException, BusinessException, Exception{ if(pessoa.getAssociado() == null){ - contato.setSinEnderecoAssociado("N"); + contato.setSinEnderecoAssociado(Constantes.NAO); }else{ - contato.setSinEnderecoAssociado("S"); + contato.setSinEnderecoAssociado(Constantes.SIM); contato.setIdContatoAssociado(getIdContato(pessoa.getAssociado().getSigla())+""); contato.setNomeContatoAssociado(pessoa.getAssociado().getNome()); diff --git a/src/main/java/br/gov/ans/integracao/sei/utils/Util.java b/src/main/java/br/gov/ans/integracao/sei/utils/Util.java index cf1c9de..9dad780 100644 --- a/src/main/java/br/gov/ans/integracao/sei/utils/Util.java +++ b/src/main/java/br/gov/ans/integracao/sei/utils/Util.java @@ -21,7 +21,9 @@ import br.gov.ans.exceptions.BusinessException; public class Util { private static final FastDateFormat dateFormater = FastDateFormat.getInstance(Constantes.DATE_PATTERN); - + + private static final ObjectMapper mapper = new ObjectMapper(); + public static String getSOuN(String valor){ if("S".equals(valor) || "s".equals(valor)){ return "S"; @@ -110,8 +112,6 @@ public class Util { public static Map jsonToMap(String json) throws JsonParseException,JsonMappingException, IOException { Map out = new HashMap(); - ObjectMapper mapper = new ObjectMapper(); - out = mapper.readValue(json, new TypeReference>(){}); return out; diff --git a/src/main/java/br/gov/ans/integracao/templates/client/ClientTemplatesBroker.java b/src/main/java/br/gov/ans/integracao/templates/client/ClientTemplatesBroker.java index e8d1530..ee6e741 100644 --- a/src/main/java/br/gov/ans/integracao/templates/client/ClientTemplatesBroker.java +++ b/src/main/java/br/gov/ans/integracao/templates/client/ClientTemplatesBroker.java @@ -13,6 +13,7 @@ import br.gov.ans.exceptions.BusinessException; import br.gov.ans.exceptions.ErrorMessage; import br.gov.ans.factories.qualifiers.Autenticado; import br.gov.ans.factories.qualifiers.SeiQualifiers.TemplatesBrokerParameter; +import br.gov.ans.integracao.sei.utils.Constantes; public class ClientTemplatesBroker { @@ -44,13 +45,14 @@ public class ClientTemplatesBroker { return corpoTemplate; }catch(ProcessingException ex){ - logger.error(ex, ex); + logger.error(ex); + logger.debug(ex, ex); throw new Exception("Erro ao carregar o template, contacte a equipe responsável."); } } public void errorHandling(Response response) throws Exception{ - if(!response.getHeaderString("Content-Type").equals(MediaType.APPLICATION_JSON)){ + if(!response.getHeaderString(Constantes.CONTENT_TYPE_HEADER_KEY).equals(MediaType.APPLICATION_JSON)){ logger.error(response.readEntity(String.class)); response.close(); diff --git a/src/main/java/br/gov/ans/utils/HttpHeadersUtil.java b/src/main/java/br/gov/ans/utils/HttpHeadersUtil.java index 60dfb06..52a136e 100644 --- a/src/main/java/br/gov/ans/utils/HttpHeadersUtil.java +++ b/src/main/java/br/gov/ans/utils/HttpHeadersUtil.java @@ -7,13 +7,15 @@ import javax.ws.rs.core.MediaType; import org.apache.commons.lang3.StringUtils; import org.jboss.logging.Logger; +import br.gov.ans.integracao.sei.utils.Constantes; + public class HttpHeadersUtil { private static Logger logger = Logger.getLogger(HttpHeadersUtil.class); public static String getAcceptType(HttpHeaders headers){ try{ - String accept = headers.getRequestHeader("Accept").get(0); + String accept = headers.getRequestHeader(Constantes.ACCEPT_HEADER_KEY).get(0); if(!StringUtils.isBlank(accept)&& StringUtils.contains(accept, MediaType.APPLICATION_XML)){ return MediaType.APPLICATION_XML; @@ -27,7 +29,7 @@ public class HttpHeadersUtil { public static String getAcceptType(HttpServletRequest request){ try{ - String accept = request.getHeader("Accept"); + String accept = request.getHeader(Constantes.ACCEPT_HEADER_KEY); if(!StringUtils.isBlank(accept)&& StringUtils.contains(accept, MediaType.APPLICATION_XML)){ return MediaType.APPLICATION_XML; -- libgit2 0.21.2