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 | <?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"/> |
pom.xml
@@ -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