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