public void processPosicionActual(Inbox entrada, Geometry geom)
throws MessageProcessingException {
HistoricoGPS historicoGPS = new HistoricoGPS();
historicoGPS.setMarcaTemporal(entrada.getMarcaTemporal());
RecursoBean recurso = RecursoConsultas.findByDispositivoSQL(entrada
.getOrigen());
if (recurso == null) {
throw new MessageProcessingException("No encuentro el recurso "
+ entrada.getOrigen());
}
if (recurso.getHabilitado()) {
historicoGPS.setTipoRecurso(recurso.getTipoRecurso());
if (recurso.getSubflota() == null) {
throw new MessageProcessingException("El recurso " + recurso
+ " no tiene asignada ninguna flota.");
}
historicoGPS.setSubflota(recurso.getSubflota());
historicoGPS.setRecurso(recurso.getIdentificador());
geom.setSRID(4326);
//
// final String sourceSRID = "EPSG:4326";
// final String targetSRID = "EPSG:3395";
//
// Geometry geom = transform(geom, sourceSRID, targetSRID);
historicoGPS.setGeom(geom);
historicoGPS.setPosX(geom.getCentroid().getX());
historicoGPS.setPosY(geom.getCentroid().getY());
// HistoricoGPSAdmin.saveServer(historicoGPS);
RecursoAdmin.updateLastGpsSQL(historicoGPS, recurso.getId());
// recurso.setHistoricoGps(historicoGPS);
// RecursoAdmin.saveOrUpdate(recurso);
}
}