Commit 779fef8019e0f6de932b65c56680d9663b6fdc62

Authored by gabriel barcelos
2 parents 42aa5c3d 57795d28

--no commit message

.settings/org.eclipse.wst.common.component
1 1 <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
2   - <wb-module deploy-name="sei-broker-2.2">
  2 + <wb-module deploy-name="sei-broker-2.3">
3 3 <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
4 4 <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
5 5 <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
... ...
pom.xml
... ... @@ -4,7 +4,7 @@
4 4 <modelVersion>4.0.0</modelVersion>
5 5 <groupId>br.gov.ans</groupId>
6 6 <artifactId>sei-broker</artifactId>
7   - <version>2.3</version>
  7 + <version>2.3.1</version>
8 8 <packaging>war</packaging>
9 9 <name>sei-broker</name>
10 10 <description>Projeto demonstrativo de webservice Rest</description>
... ...
src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java
... ... @@ -249,7 +249,7 @@ public class ProcessoResource {
249 249 getSOuN(exibirInteressados), getSOuN(exibirObservacoes), getSOuN(exibirAndamento), getSOuN(exibirAndamentoConclusao), getSOuN(exibirUltimoAndamento), getSOuN(exibirUnidadesAberto),
250 250 getSOuN(exibirProcessosRelacionados), getSOuN(exibirProcessosAnexados));
251 251 }catch(AxisFault ex){
252   - logger.error(ex);
  252 + logger.error(ex, ex);
253 253 return null;
254 254 }
255 255 }
... ...
src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java
1 1 package br.gov.ans.integracao.sei.rest;
2 2  
3   -import java.rmi.RemoteException;
4 3 import java.util.ArrayList;
  4 +import java.util.Date;
5 5 import java.util.HashMap;
6 6  
7 7 import javax.inject.Inject;
... ... @@ -12,10 +12,12 @@ import javax.ws.rs.Produces;
12 12 import javax.ws.rs.core.MediaType;
13 13  
14 14 import org.apache.commons.lang3.ArrayUtils;
  15 +import org.apache.commons.lang3.time.DateUtils;
15 16 import org.jboss.logging.Logger;
16 17  
17 18 import br.gov.ans.exceptions.BusinessException;
18 19 import br.gov.ans.integracao.sei.client.SeiPortTypeProxy;
  20 +import br.gov.ans.integracao.sei.client.Unidade;
19 21 import br.gov.ans.integracao.sei.modelo.Operacao;
20 22 import br.gov.ans.integracao.sei.utils.Constantes;
21 23 import br.gov.ans.utils.MessageUtils;
... ... @@ -34,6 +36,8 @@ public class UnidadeResource {
34 36  
35 37 private static HashMap<String,String> unidades;
36 38  
  39 + private static Date dataCarregamentoUnidades = new Date();
  40 +
37 41 /**
38 42 * @api {get} /unidades Listar unidades
39 43 * @apiName listarUnidades
... ... @@ -62,23 +66,11 @@ public class UnidadeResource {
62 66 @GET
63 67 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
64 68 public br.gov.ans.integracao.sei.client.Unidade[] listarUnidades() throws Exception{
65   - return seiNativeService.listarUnidades(Constantes.SEI_BROKER, Operacao.LISTAR_UNIDADES, null, null);
66   - }
  69 + Unidade[] lista = seiNativeService.listarUnidades(Constantes.SEI_BROKER, Operacao.LISTAR_UNIDADES, null, null);
67 70  
68   - public HashMap<String,String> getUnidades() throws Exception {
69   - if(unidades == null){
70   - logger.info(messages.getMessage("carregando.unidades"));
71   -
72   - br.gov.ans.integracao.sei.client.Unidade[] lista = listarUnidades();
73   -
74   - unidades = new HashMap<String,String>();
75   -
76   - for(br.gov.ans.integracao.sei.client.Unidade u : lista){
77   - unidades.put(u.getSigla(), u.getIdUnidade());
78   - }
79   - }
  71 + carregarMapUnidades(lista);
80 72  
81   - return unidades;
  73 + return lista;
82 74 }
83 75  
84 76 /**
... ... @@ -140,6 +132,36 @@ public class UnidadeResource {
140 132 return unidades;
141 133 }
142 134  
  135 + public HashMap<String,String> getUnidades() throws Exception {
  136 + if(unidades == null || isMapUnidadesExpirado()){
  137 + carregarMapUnidades(listarUnidades());
  138 + }
  139 +
  140 + return unidades;
  141 + }
  142 +
  143 + public void carregarMapUnidades(Unidade[] lista) throws Exception{
  144 + logger.info(messages.getMessage("carregando.unidades"));
  145 +
  146 + unidades = new HashMap<String,String>();
  147 +
  148 + for(br.gov.ans.integracao.sei.client.Unidade u : lista){
  149 + unidades.put(u.getSigla(), u.getIdUnidade());
  150 + }
  151 +
  152 + dataCarregamentoUnidades = new Date();
  153 + }
  154 +
  155 + public boolean isMapUnidadesExpirado(){
  156 + Date dataExpiracao = DateUtils.addDays(dataCarregamentoUnidades, 1);
  157 +
  158 + if(dataExpiracao.before(new Date())){
  159 + return true;
  160 + }
  161 +
  162 + return false;
  163 + }
  164 +
143 165 public boolean isInteger(String valor){
144 166 try{
145 167 Integer.parseInt(valor);
... ...
src/main/resources/config.properties
1   -versao.sistema = V_2.3
2 1 \ No newline at end of file
  2 +versao.sistema = V_2.3.1
3 3 \ No newline at end of file
... ...