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