Commit 779fef8019e0f6de932b65c56680d9663b6fdc62
Exists in
master
and in
1 other branch
--no commit message
Showing
5 changed files
with
42 additions
and
20 deletions
Show diff stats
.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