Created
December 29, 2011 13:38
-
-
Save plentz/1534142 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void parseEvento(MovimentoGroupHandler handler, String[] fields) { | |
Usuario usuarioMobile = getManager().getUsuarioLogado(); | |
Evento evento = new Evento(); | |
parseValues(fields, evento); | |
evento.setPromotor(usuarioMobile); | |
evento.setOrigem(TipoOrigemColetaDomain.MOBILE); | |
boolean isRetorno = !"0".equals(fields[11]); | |
if (isRetorno) { | |
//FIXME remover isso quando corrigir no mobile a limpeza dos registros no sucesso do send. Esse tratamento é para o caso de transient - | |
// oq acontecia: mobile recebe timeout e não apaga dados. mobile tenta enviar novamente os dados, recebemos o evento e buscamos do banco | |
// hibernate carregava evento(managed) que já havia sido associado à um movimento. synchornizer trocava o movimento que estava no | |
// evento(managed) e quando hibernate fazia flush, tentava salvar o evento com o movimento que veio do mobile e foi ignorado(transient). | |
if(evento.getMovimento() != null) { | |
return; | |
} | |
} else { | |
//FIXME remover isso após todos os clientes atualizarem as versões do mobile, pois mobile está enviando duplicado o evento em algumas situações. | |
if(eventoDAO.findEventoFromMobile(evento) != null){ | |
logger.warn("ignorando evento enviado do mobile. data:, promotor: pdv: "); | |
return; | |
} | |
geoLocationEvento(evento); | |
handler.cacheEvento(evento); | |
} | |
if (!"0".equals(fields[10])) { | |
Long mobileMovimentoId = Long.parseLong(fields[10]); | |
Movimento movimento = handler.getParsedEntity(mobileMovimentoId); | |
//FIXME remover isso quando corrigir no mobile o envio de entidades sem o relacionamento | |
if (movimento == null) { | |
return; | |
} | |
movimento.getEventos().add(evento); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment