Commit Graph
285 Commits
Author SHA1 Message Date
Axel Uhl 6094dd1b30 trying a smarter way of dealing with the startToNextMarkDirection cache in TrackedRaceImpl;
the previous approach seems to have caused way too many task creations with a synchronized single-threaded
executor which had nothing to do but create, register and unregister cache invalidation listeners.
Now the class holds a map of cache invalidation listeners for the buoys of the first two waypoints.
This structure is updated when the waypoint sequence changes. Cache invalidations don't cause
changes in the listener structure.
2012-01-06 01:15:53 +01:00
fmittag 36a32f6820 Merge remote-tracking branch 'origin/gwt' into gwt-5 2012-01-04 17:16:12 +01:00
Lennart Hensler b544038942 made safe against null results from speed estimations 2012-01-04 16:27:49 +01:00
Lennart Hensler 0364536044 use project-relative path for SailingGWT launch config;
fixed NPE issue regarding speed estimation
2012-01-04 16:27:48 +01:00
fmittag 531aa0166f clean up of all version in all pom.xml files
- changed 0.0.1-SNAPSHOT to 1.0.0-SNAPSHOT
- changed product version from 1.1.0 to 1.0.0
- removed unnecessary <version> tags in plugins
2012-01-04 16:04:23 +01:00
Axel Uhl f97b20613d fixed launch config for GWT; fixed threading for TrackedRaceImpl 2012-01-03 18:18:05 +01:00
Axel Uhl 1e0bcd5ec1 trying to avoid concurrent modification exceptions on listeners by moving listener removal to new thread 2012-01-03 16:26:14 +01:00
Lennart Hensler d5cff509cc avoid deadlock when buoy listeners for cache invalidation for first
leg's direction are registered
2012-01-02 18:09:59 +01:00
D054527 a84e564df0 avoid deadlock when buoy listeners for cache invalidation for first
leg's direction are registered
2012-01-02 18:09:37 +01:00
D054527 df6af0c5be added NPE safety in wind estimation 2012-01-02 17:19:40 +01:00
Axel Uhl 34b5f5c38b getEstimatedPosition now returns null if no relevant fix is found 2012-01-02 15:52:04 +01:00
Axel Uhl 5b7855338f Merge remote-tracking branch 'origin/gwt' into gwt 2012-01-02 15:19:40 +01:00
Axel Uhl 74fc82701a added HasConfidence interface in preparation of better weighing of wind and position fixes 2012-01-02 15:19:15 +01:00
D054527 fde36ed3db fixes synchronization issues with race listener collection 2012-01-02 15:17:43 +01:00
Axel Uhl d830683ef0 smarter wind estimation cache invalidation upon wind and buoy position changes 2011-12-30 17:56:59 +01:00
Axel Uhl f7df823053 brute force wind estimation cache invalidation in case buoy positions change 2011-12-30 17:22:16 +01:00
Axel Uhl 75aaed56d4 refactored listener interfaces 2011-12-30 17:19:26 +01:00
Axel Uhl cf86883ad4 weighted average of upwind and downwind leg types for wind estimation (see bug #168) 2011-12-30 15:10:09 +01:00
Axel Uhl cd1425520b changed target definition so that it uses external server URL to fetch target platform contents 2011-12-30 14:04:12 +01:00
Axel Uhl b88b15cd33 added a failing test case demonstrating bug #166 2011-12-30 11:07:07 +01:00
Axel Uhl 9f3968e07b moved Tack and LegType enumerations to domain.common bundle 2011-12-30 10:00:27 +01:00
Axel Uhl 649451f5fa moved NoWind[Error|Exception] to domain.common package and use in SailingService interface 2011-12-30 09:52:38 +01:00
Axel Uhl 9e388831e3 moved Util class to domain.common and use its Pair/Triple utility classes also in gwt.ui 2011-12-30 09:49:02 +01:00
Axel Uhl 5983eb2cf8 fixed another deadlock issue;
The update of a GPSFixMovingTrackImpl was a synchronized method instead of, as the superclass does,
only synchronizing the update to the track itself but not the listener notifications.
The deadlock occurred because the GPS track notified the wind estimation track which in turn
iterates over the GPS track which requires synchronization.
2011-12-29 17:41:58 +01:00
Axel Uhl 4398a0e3e2 introduced com.sap.sailing.domain.common project which lets us share between domain and gwt.ui 2011-12-29 10:57:25 +01:00
Axel Uhl ac549cfb0d after estimated wind track performs caching, use it for calculations is selected 2011-12-27 22:59:57 +01:00
Axel Uhl 469c5914a2 fixed caching of estimated wind track; now things are a lot faster again 2011-12-27 20:55:02 +01:00
Axel Uhl 820aceccc1 fixed test case so it won't consider null fixes for cache additions 2011-12-27 16:13:39 +01:00
Axel Uhl 2a9687ac14 started to add wind estimation caching; added test case which still fails sporadically 2011-12-27 16:02:41 +01:00
Axel Uhl 83aade65bd don't use wind estimator for tack calculation (saves about 10x time);
we need to cache; see bug #20
2011-12-23 23:49:24 +01:00
Axel Uhl 8a0c9befac avoid deadlocks by letting TrackBasedEstimationWindTrackImpl's getEstimatedWind be unsynchronized 2011-12-23 17:58:05 +01:00
Axel Uhl 5a7fce5e78 added varargs parameter to TrackedRace.getWind(...) allowing for the exclusion of wind sources 2011-12-23 17:35:26 +01:00
Axel Uhl decf4b5dce fixed endless recursion in descendingIterator for TrackBasedEstimationWindTrackImpl 2011-12-23 14:45:19 +01:00
Axel Uhl 3187939006 added a first elementary test case for estimated wind track 2011-12-23 14:10:11 +01:00
Axel Uhl 489b123350 added missing DescendingNavigableSet class 2011-12-23 13:52:22 +01:00
Axel Uhl de63aed8fd preparation work for a virtual wind track based on wind estimation 2011-12-23 13:47:00 +01:00
Axel Uhl f19ed61d46 fixed typo, removed accomplished TODO 2011-12-23 11:19:51 +01:00
Axel Uhl fb21f13de2 added enumeration constants for estimated wind sources 2011-12-23 11:19:14 +01:00
Axel Uhl 64a6f6533a consistently use getInternalRawFixes() to encapsulate fixes field;
this will allow us to have specialized WindTracks for estimations that virtualize the fixes
2011-12-23 11:17:49 +01:00
Axel Uhl 6e158de3de improved Track's Javadoc 2011-12-23 11:17:32 +01:00
Axel Uhl 4f40092c14 return null instead of throwing an exception if wind cannot be estimated 2011-12-22 17:19:33 +01:00
Axel Uhl 9ef9dad5d5 Douglas-Peucker points less than two hull lengths apart belong to same maneuver even if more time between them;
This helps identifying penalty circles where the boat speed may drop off so much that too much time
passes between the Douglas-Peucker points for them to be within the time span of an average maneuver.
These points, however, are in very close distance from each other due to the low boat speed.
2011-12-22 16:52:02 +01:00
Axel Uhl 98141af18a reverted maneuver duration back to 8000ms 2011-12-22 16:10:55 +01:00
Axel Uhl be2fcc6fe3 added test case for maneuver penalty circle detection 2011-12-22 12:08:07 +01:00
Axel Uhl d90a66428d fixed all bearing averaging using the now fixed BearingCluster 2011-12-22 00:43:59 +01:00
Axel Uhl 357492f47c fixed BearingCluster's angle averaging 2011-12-22 00:39:55 +01:00
Axel Uhl 4a60e667c8 added more failing test cases for degree averaging; some refactorings in track implementations 2011-12-21 23:57:48 +01:00
Axel Uhl e4610e6076 annotated/commented all lines where degrees are "illegally" added / averaged 2011-12-21 21:53:15 +01:00
Axel Uhl 598f2f54b8 fixed bug in BearingCluster.splitInTwo; provide estimation in all cases, independently of EXPEDITION track;
use count of boats that were used for the estimation results as force in beaufort
2011-12-21 20:57:04 +01:00
Axel Uhl b36c25fe30 allow for concurrency in DouglasPeucker implementation; parallelized leaderboard calculations in SailingServiceImpl 2011-12-21 14:11:55 +01:00