Commit Graph
214 Commits
Author SHA1 Message Date
Axel Uhl 81bc0159e3 added more synchronization to keep race stable as sorting for ranks is going on 2011-06-26 13:59:40 +02:00
Axel Uhl 81a94495d8 more synchronization when mark passings arrive; signal mark passings only when all of them for one
competitor have been recorded
2011-06-24 17:33:20 +02:00
Axel Uhl 1d9ef4d9f3 fixed ordering of competitors if one is already in next leg 2011-06-22 11:55:21 +02:00
Axel Uhl 32fe00cda6 try to avoid NoWindException by comparing two TrackedLegOfCompetitorImpl as equal if both haven't
yet started the leg
2011-06-21 16:25:41 +02:00
Axel Uhl 4468e905d6 made safe for empty wind tracks 2011-06-21 13:15:58 +02:00
Axel Uhl b5390899d3 fixed wind calculation for sparse wind tracks 2011-06-21 02:41:54 +02:00
Axel Uhl 4bcac1424b regularly poll paramURL to see if new control points with static positions got added 2011-06-21 01:42:36 +02:00
Axel Uhl 50acccd118 avoid NoWindException if alternative wind source holds wind data; log a warning in this case 2011-06-21 00:19:09 +02:00
Axel Uhl 98ba107a3d fixed event naming uniqueness by adding boat class name 2011-06-19 16:57:42 +02:00
Axel Uhl d29669dbfa key mark passings not simply by first waypoint that has the right control point but check against
previous mark passings and use first waypoint that has the control point just passed and hasn't been
passed by the competitor so far
2011-06-19 13:28:42 +02:00
Axel Uhl 83c05842ce support multiple boat classes in same race; use dominant one
Compute start time dynamically with threshold of 30s from first mark passing on first mark
2011-06-19 12:22:47 +02:00
Axel Uhl f4639fa382 fix possible deadlock problem: when asking for the tracked race outside the synchronized block,
it may still be null; however, it may get filled before the synchronized block gets entered.
Therefore, the get needs to be inside the synchronized block.
2011-06-18 23:51:47 +02:00
Axel Uhl b9c5d5d73f ranking comparators again may rank competitors equal if they have equal distances / times and such.
But this time we're using Collections.sort with these comparators on a List that doesn't collapse
multiple entries into one.
2011-06-18 22:13:41 +02:00
Axel Uhl 1cf3bb13f3 compare otherwise equal but distinct competitors by their name for the race rank
This avoids collapsing the two into one, not having the one appear in the ranked
sorted set
2011-06-18 19:27:48 +02:00
Axel Uhl f63c67be1e compare otherwise equal but distinct competitors by their name 2011-06-18 19:27:32 +02:00
Axel Uhl fbab7d5e53 distinguish by competitor names if otherwise two competitor tracks rank exactly equal 2011-06-18 19:21:28 +02:00
Axel Uhl 6221ecd9b0 added logging in case a tracked leg doesn't have ranks for all competitors 2011-06-18 19:00:26 +02:00
Axel Uhl 948a06e054 infer race start time if non-sense and we have better evidence from GPS fixes 2011-06-18 18:23:03 +02:00
Axel Uhl 910a128d95 removed synchronization from CourseImpl 2011-06-18 16:27:41 +02:00
Axel Uhl b7e86c9594 added synchronization on CourseImpl to avoid asking waypoints when there is a course update underway 2011-06-18 13:39:31 +02:00
Axel Uhl ca128d74ce fixed issue with multiple boat classes per event; added test case for that 2011-06-17 23:47:05 +02:00
Axel Uhl 7b0af7d8e8 compilable version with finished-time for race removed from REST APIs and from TrackedRace interface;
adjusted documentation in README accordingly; prepared getWindwardDistanceToOverallLeader
2011-06-17 17:27:00 +02:00
Axel Uhl c5e8c6e56b show wind/speed averaging interval in showrace output; offer setaveraging action in AdminApp 2011-06-17 10:16:40 +02:00
Axel Uhl d49429a5e9 added wind averaging change API 2011-06-17 10:01:14 +02:00
Axel Uhl fb653ab47d added capability to dynamically adjust the speed averaging interval 2011-06-17 08:28:06 +02:00
Axel Uhl f91011b480 emit nationalityISO2 and nationalityISO3 from listevents 2011-06-16 23:46:50 +02:00
Axel Uhl bb6605ba66 added tests for country code conversion and lookup 2011-06-16 23:22:14 +02:00
Axel Uhl 5e3adf70ba generated CountroCodeFactoryImpl using CountryCodeTest 2011-06-16 23:22:08 +02:00
Axel Uhl aa047f53a3 fixed HTML characters and converted them to Unicode 2011-06-16 23:22:02 +02:00
Axel Uhl 9ea71dfea7 proceeded with conversion routine for country codes 2011-06-16 23:21:56 +02:00
Axel Uhl 732cdf54cc country codes with IOC three-letter codes, as HTML source 2011-06-16 23:21:49 +02:00
Axel Uhl 6bfcca6ded interfaces for CountryCode conversion 2011-06-16 23:21:40 +02:00
Axel Uhl 6d12befe96 use new TrackedLeg.getRanks(TimePoint) in ModeratorApp for consistent rank read-out 2011-06-15 08:11:08 +02:00
Axel Uhl d0380cd0f3 added getRanks(TimePoint) on TrackedLeg 2011-06-15 08:00:43 +02:00
Axel Uhl 2100945078 interpolate timestamps for expedition messages by keeping track of latencies 2011-06-14 19:21:10 +02:00
Axel Uhl 3009148864 removed unnecessary synchronization on WindTrackImpl.add
It's using a concurrent collection meanwhile anyway.
This avoids a deadlock when a wind track listener is notified
about the change and tries to clear the rank cache. The rank
cache re-calculation, however, draws the wind track's monitor
when calling getEstimatedWind(...).
2011-06-14 18:59:05 +02:00
Axel Uhl 55d94a7fc5 return null in getLastFix() and getFirstFix() if track is empty 2011-06-14 18:38:04 +02:00
Axel Uhl d43c365fdf turned updateCount into long; added ExpeditionMessageImpl constructor to allow better time stamp defaulting 2011-06-14 18:05:12 +02:00
Axel Uhl b745acb11f changed time point used for average speed over ground; use time of competitor's last fix if leg not completed;
return null if no fix found at all for competitor
2011-06-14 13:17:07 +02:00
Axel Uhl 98efb3f4f7 increased timeout for declination read-out; notify about mark passings changes only after
all of a competitor's known mark passings have been re-established
2011-06-13 22:27:49 +02:00
Axel Uhl 0f7daa3ffd added currentSpeedOverGroundInKnots to showrace output 2011-06-13 21:41:21 +02:00
Axel Uhl e7d6006bfb fixed time point check for average velocity made good; fixed localhost default for MongoDB wind store 2011-06-13 21:30:10 +02:00
Axel Uhl b44c05c5c6 added first simple distance traveled test; made Expedition time conversion test more lenient 2011-06-13 20:56:36 +02:00
Axel Uhl 464a1c6e64 first successful test that starts/stops/starts tracking for same race and gets different TrackedRaces 2011-06-13 19:48:25 +02:00
Axel Uhl 5354ba7e3f added getTimePointOfLastEvent 2011-06-13 15:28:30 +02:00
Axel Uhl b9df8dbe32 removing equals/hashCode from WaypointImpl again
Instead, DomainFactoryImpl.updateCourseWaypoints re-uses existing Waypoint objects by
explicit comparison of their ControlPoint objects, in order.
2011-06-13 13:06:42 +02:00
Axel Uhl b2a3a4426b fixed leg update after course change 2011-06-13 11:11:17 +02:00
Axel Uhl aa1aed9a81 fixed tracked leg update after addWaypoint 2011-06-12 23:28:22 +02:00
Axel Uhl 332965617d fixed creation of TrackedLeg[OfCompetitor] after addWaypoint 2011-06-12 23:18:18 +02:00
Simon Pamies f45ffa4d00 After having understood what really happens in CourseImpl now fixed the
problem with IndexOutOfBounds for legs for good
2011-06-12 19:48:56 +02:00