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