Author: sbavencoff Date: 2014-10-20 11:42:54 +0200 (Mon, 20 Oct 2014) New Revision: 733 Url: http://forge.codelutin.com/projects/sammoa/repository/revisions/733 Log: ref #5986 : merge branch 1.0.4.x to trunc Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerOnBoard.java Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerOnBoard.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerOnBoard.java 2014-10-20 09:40:00 UTC (rev 732) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerOnBoard.java 2014-10-20 09:42:54 UTC (rev 733) @@ -33,7 +33,6 @@ import fr.ulr.sammoa.application.device.gps.GpsLocationListener; import fr.ulr.sammoa.persistence.Flight; import fr.ulr.sammoa.persistence.GeoPoint; -import fr.ulr.sammoa.persistence.GeoPoints; import fr.ulr.sammoa.persistence.RouteType; import fr.ulr.sammoa.persistence.SammoaTopiaPersistenceContext; import fr.ulr.sammoa.persistence.TransectFlight; @@ -82,9 +81,15 @@ super.init(flight); - geoPoints = Maps.newHashMap(Maps.uniqueIndex( - service.getFlightGeoPoints(flight), GeoPoints.toDate()) - ); + geoPoints = Maps.newHashMap(); + for (GeoPoint point : service.getFlightGeoPoints(flight)) { + GeoPoint point2 = geoPoints.put(point.getRecordTime(), point); + if (point2 != null) { + if (logger.isDebugEnabled()) { + logger.debug("Duplication point " + point + " , "+ point2); + } + } + } initCurrentRoute(service.getLastUnfinishedRoute(flight)); @@ -118,6 +123,11 @@ getGpsHandler().stop(); } + // TODO Sbavencoff 20/10/2014 : locationChanged et getLocation + // au demarage du vole il est possible d'enregistrer deux fois la même position + // si le threads d'enregistrement de la position toute les deux seconde, enregistre la première position + // après l'enregistrement de la position la position de l'evenement de démmarage du vol + @Override public void locationChanged(GpsLocationEvent event) { GeoPoint newLocation = event.getNewValue();