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