Commit 779fef8019e0f6de932b65c56680d9663b6fdc62

Authored by gabriel barcelos
2 parents 42aa5c3d 57795d28

--no commit message

.settings/org.eclipse.wst.common.component
1 <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0"> 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 <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/> 3 <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
4 <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/> 4 <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
5 <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/> 5 <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <modelVersion>4.0.0</modelVersion> 4 <modelVersion>4.0.0</modelVersion>
5 <groupId>br.gov.ans</groupId> 5 <groupId>br.gov.ans</groupId>
6 <artifactId>sei-broker</artifactId> 6 <artifactId>sei-broker</artifactId>
7 - <version>2.3</version> 7 + <version>2.3.1</version>
8 <packaging>war</packaging> 8 <packaging>war</packaging>
9 <name>sei-broker</name> 9 <name>sei-broker</name>
10 <description>Projeto demonstrativo de webservice Rest</description> 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,7 +249,7 @@ public class ProcessoResource {
249 getSOuN(exibirInteressados), getSOuN(exibirObservacoes), getSOuN(exibirAndamento), getSOuN(exibirAndamentoConclusao), getSOuN(exibirUltimoAndamento), getSOuN(exibirUnidadesAberto), 249 getSOuN(exibirInteressados), getSOuN(exibirObservacoes), getSOuN(exibirAndamento), getSOuN(exibirAndamentoConclusao), getSOuN(exibirUltimoAndamento), getSOuN(exibirUnidadesAberto),
250 getSOuN(exibirProcessosRelacionados), getSOuN(exibirProcessosAnexados)); 250 getSOuN(exibirProcessosRelacionados), getSOuN(exibirProcessosAnexados));
251 }catch(AxisFault ex){ 251 }catch(AxisFault ex){
252 - logger.error(ex); 252 + logger.error(ex, ex);
253 return null; 253 return null;
254 } 254 }
255 } 255 }
src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java
1 package br.gov.ans.integracao.sei.rest; 1 package br.gov.ans.integracao.sei.rest;
2 2
3 -import java.rmi.RemoteException;  
4 import java.util.ArrayList; 3 import java.util.ArrayList;
  4 +import java.util.Date;
5 import java.util.HashMap; 5 import java.util.HashMap;
6 6
7 import javax.inject.Inject; 7 import javax.inject.Inject;
@@ -12,10 +12,12 @@ import javax.ws.rs.Produces; @@ -12,10 +12,12 @@ import javax.ws.rs.Produces;
12 import javax.ws.rs.core.MediaType; 12 import javax.ws.rs.core.MediaType;
13 13
14 import org.apache.commons.lang3.ArrayUtils; 14 import org.apache.commons.lang3.ArrayUtils;
  15 +import org.apache.commons.lang3.time.DateUtils;
15 import org.jboss.logging.Logger; 16 import org.jboss.logging.Logger;
16 17
17 import br.gov.ans.exceptions.BusinessException; 18 import br.gov.ans.exceptions.BusinessException;
18 import br.gov.ans.integracao.sei.client.SeiPortTypeProxy; 19 import br.gov.ans.integracao.sei.client.SeiPortTypeProxy;
  20 +import br.gov.ans.integracao.sei.client.Unidade;
19 import br.gov.ans.integracao.sei.modelo.Operacao; 21 import br.gov.ans.integracao.sei.modelo.Operacao;
20 import br.gov.ans.integracao.sei.utils.Constantes; 22 import br.gov.ans.integracao.sei.utils.Constantes;
21 import br.gov.ans.utils.MessageUtils; 23 import br.gov.ans.utils.MessageUtils;
@@ -34,6 +36,8 @@ public class UnidadeResource { @@ -34,6 +36,8 @@ public class UnidadeResource {
34 36
35 private static HashMap<String,String> unidades; 37 private static HashMap<String,String> unidades;
36 38
  39 + private static Date dataCarregamentoUnidades = new Date();
  40 +
37 /** 41 /**
38 * @api {get} /unidades Listar unidades 42 * @api {get} /unidades Listar unidades
39 * @apiName listarUnidades 43 * @apiName listarUnidades
@@ -62,23 +66,11 @@ public class UnidadeResource { @@ -62,23 +66,11 @@ public class UnidadeResource {
62 @GET 66 @GET
63 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) 67 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
64 public br.gov.ans.integracao.sei.client.Unidade[] listarUnidades() throws Exception{ 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,6 +132,36 @@ public class UnidadeResource {
140 return unidades; 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 public boolean isInteger(String valor){ 165 public boolean isInteger(String valor){
144 try{ 166 try{
145 Integer.parseInt(valor); 167 Integer.parseInt(valor);
src/main/resources/config.properties
1 -versao.sistema = V_2.3  
2 \ No newline at end of file 1 \ No newline at end of file
  2 +versao.sistema = V_2.3.1
3 \ No newline at end of file 3 \ No newline at end of file