Axel Uhl
03a4170099
fixed test now that removeRace may remove the domain event so that a new one is created the next time
2011-10-04 22:46:44 +02:00
Axel Uhl
80cd2f9df5
added TODOs
2011-10-04 21:36:56 +02:00
Axel Uhl
db799b51e3
fixed a few more things regarding multi-race in a single event; fixed disconnect/reconnect problem
2011-10-04 21:35:05 +02:00
Axel Uhl
8c283f0764
reflected last change in TODO
2011-10-04 15:11:31 +02:00
Axel Uhl
34e9ab62a0
removing / flushing all race data from DomainFactory for races for which a tracker is started
...
With this we can hope to be able to cleanly disconnect and reconnect to races so that really a
new set of RaceDefinition/TrackedRace objects is created.
2011-10-04 15:09:11 +02:00
Axel Uhl
747802d0d1
compilable but yet untested version that may accept multiple TracTrac Races per TracTrac Event
2011-10-04 14:26:41 +02:00
Axel Uhl
765986439d
renamed waiting methods to getAndWait...
2011-10-04 12:37:05 +02:00
Axel Uhl
f27814745d
renamed get... and create... methods to getOrCreate... if they get or create ...
2011-10-04 12:35:11 +02:00
Axel Uhl
129fde3071
minor refactoring for obtaining competitors and boat classes from a TracTrac race.
...
Background: we need to be better able to digest a change in a race's competitor list.
This has to go hand in hand with a re-think of the object life cycle for connecting
to the tracking infrastructure.
2011-10-04 11:23:44 +02:00
Axel Uhl
2ae5a9c45f
fixed toString
2011-10-03 17:20:21 +02:00
Axel Uhl
55e73237b1
fixed leaderboard scoring bug: medal race doesn't count for number of discardable races
2011-10-03 15:18:11 +02:00
Axel Uhl
8eb0e04a47
fixed calculation of VMG which so far projected wind onto boat direction instead of the other way around
2011-10-03 10:18:53 +02:00
Axel Uhl
49d08bfbe7
fixed sorting issue: don't compare CompetitorDAO by identity but use equals/hashCode
2011-10-03 08:57:12 +02:00
Axel Uhl
48e37faf99
implemented leaderboard ranking rules for ties
...
With equal total points, if both participated in the medal race, the better medal race rank wins.
Medal participants always rank better than non-medal race participants. Between non-medal race
participants with a tie, the one with the more race wins is ranked better. In case of equal race
wins, the one scoring better in their last race is ranked better.
2011-10-02 23:13:47 +02:00
Axel Uhl
93ca3753a5
translated more leaderboard headings
2011-10-02 22:55:50 +02:00
Axel Uhl
62c29675fa
can compute the races won and use them to rank in case of a tie
2011-10-02 18:51:02 +02:00
Axel Uhl
7b803bf58b
extend slider's max if necessary, e.g., because time advances beyond slider's current max
2011-10-02 14:05:07 +02:00
Axel Uhl
33143f26b0
use 0 bar length if minimum value has very close to 0 absolute value
2011-10-02 13:32:35 +02:00
Axel Uhl
a47759ad28
minimum bar length 10%
2011-10-02 13:29:17 +02:00
Axel Uhl
5f54fa186d
loosened synchronization to avoid deadlocks
2011-10-02 13:13:50 +02:00
Axel Uhl
909c01e5e1
added synchronization for gps fix adding and computing estimated speed
2011-10-02 12:10:32 +02:00
Axel Uhl
1f52862d48
return null for LegEntryDAO when a leg hasn't started for a competitor yet
2011-10-02 11:15:33 +02:00
Axel Uhl
0e4d77596e
fixed leg ranks for non-started legs, setting to 0
2011-10-02 10:54:39 +02:00
Axel Uhl
cbe3038325
added test for + character in competitor names for leaderboard persistence
2011-10-02 09:38:09 +02:00
Axel Uhl
f5871a3a00
consider untracked races for which we have score corrections for discarding
2011-10-02 09:06:18 +02:00
Axel Uhl
18329e6b5d
fixed unlink button enablement; added TODO for severe bug
2011-10-02 04:44:28 +02:00
Axel Uhl
7db6a82c05
fixed NPE when disconnecting race from column
2011-10-02 04:34:18 +02:00
Axel Uhl
ca5097ff90
also consider untracked races in leaderboard for result discarding
2011-10-02 04:27:29 +02:00
Axel Uhl
57528ca23e
fixed endless recursion in new createRaceColumn method, probably only relevant in tests
2011-10-02 03:27:10 +02:00
Axel Uhl
09f122c88a
fixed issue with RaceInLeaderboard identity by subclassing instead of using delegation;
...
The problems bit all over the place with the delegation pattern based on lack of identity / equality
with the delegates. Now I've changed the design such that LeaderboardImplWithDelayed... creates
subclassed RaceInLeaderboard instances consistently, avoiding any issues with wrappers not being
identical to their delegates.
2011-10-02 03:20:58 +02:00
Axel Uhl
77079015d4
fixed serious bugs regarding storage of score corrections/max points reasons
...
One problem was the proper escaping of + characters which during URLDecoder.decode were
replaced by space. Another issue was that when directly calling setTrackedRace on a
RaceInLeaderboard column, the left-overs were not properly assigned. I fixed this using
a delegate pattern with a wrapper around the RaceInLeaderboard objects returned from
the leaderboard with delayed score correction / max points data. This, however, led to
a follow-up problem when constructing the keys used for the score correction / max points
maps: the wrappers were neither identical nor equal to the delegate. I now delegate the
key construction to the RaceInLeaderboard instance which gives the wrapper a chance to
use its delegate in the key constructed.
2011-10-02 02:40:15 +02:00
Axel Uhl
36eed1f770
also store score corrections in DB for non-tracked races
2011-10-02 01:32:15 +02:00
Axel Uhl
d7c9fb94c3
avoid unnecessary storing of leaderboard only due to selecting a different race column
2011-10-02 00:52:40 +02:00
Axel Uhl
28663b2379
added TODO regarding test cases
2011-10-01 19:26:25 +02:00
Axel Uhl
4de848c120
fixed NPE in getMaxPoints
2011-10-01 19:25:11 +02:00
Axel Uhl
497a913d5a
allow max points to be overridden
2011-10-01 19:08:07 +02:00
Axel Uhl
319f69e3ac
use total number of competitors in leaderboard for max points calculation for untracked races
2011-10-01 19:04:10 +02:00
Axel Uhl
e01d74102d
changed xcelsius rankPerLeg output such that "to" mark instead of "from" mark is reported for the legs
2011-10-01 18:20:21 +02:00
Axel Uhl
a093f9dd03
removed top padding in leaderboard panel again
2011-10-01 18:14:40 +02:00
Axel Uhl
e30ec71dd7
added top padding for leaderboard if padding is chosen
2011-10-01 17:54:26 +02:00
Axel Uhl
6682943a53
use GWD/GWS if TWD/TWS are not transmitted (e.g., because the log doesn't work on the rib)
2011-10-01 17:36:38 +02:00
Axel Uhl
90c513e65d
made leaderboard padding optional; reduced to 50px left, added 50px padding right
2011-10-01 16:45:11 +02:00
Axel Uhl
9dbc13e2dd
added left-padding to leaderboard
2011-10-01 16:13:58 +02:00
Axel Uhl
7dff2daa08
added german translation
2011-10-01 15:59:49 +02:00
Axel Uhl
c43649ed24
fixed heading for "leg details" popup
2011-09-30 23:54:44 +02:00
Axel Uhl
afdf367522
fixed date for parsed time stamps in SwissTiming connector
2011-09-30 23:52:32 +02:00
Axel Uhl
8c87a0e8f9
fixed time formats in SwissTiming connector
2011-09-30 23:29:01 +02:00
Axel Uhl
f93a4e1729
implemented (but didn't test) remaining SwissTiming functions / parsers
2011-09-30 17:13:55 +02:00
Axel Uhl
7ecaa99e75
introduced an interactive test console for SwissTiming
2011-09-30 16:36:05 +02:00
Axel Uhl
d67f64facf
implemented more structured SwissTiming service connector pieces
2011-09-30 16:23:32 +02:00
Axel Uhl
1379341980
started with structured SwissTiming services
2011-09-30 15:38:16 +02:00
Axel Uhl
46a81d231e
started with structured SwissTiming services
2011-09-30 15:38:03 +02:00
Axel Uhl
2e7b3e4e24
consolidated imports
2011-09-30 11:19:02 +02:00
Axel Uhl
7fa4961faa
initial SailMaster message splitting in place
2011-09-30 11:18:49 +02:00
Axel Uhl
c802d2885d
refactored SwissTiming connector APIs
2011-09-30 11:11:07 +02:00
Axel Uhl
9ee8128701
according to Kai's statement, set SailMaster charset to cp1252
2011-09-30 10:38:22 +02:00
Axel Uhl
70f0d8ce35
added first test case towards SwissTiming SailMaster connectivity
2011-09-30 10:36:39 +02:00
Axel Uhl
c49c239289
fixed position gain/loss output for xcelsius getRankPerLeg
2011-09-30 08:32:26 +02:00
Axel Uhl
a3999abaa8
compute posGL and use distance sailed instead of current SOG in xcelsius getRankPerLeg
2011-09-30 07:55:21 +02:00
Axel Uhl
88ee0237b0
based on shortened time interval for maneuver detection, lowered degrees diff threshold in test verdicts
2011-09-29 23:42:08 +02:00
Axel Uhl
0604b3d381
distinguish tack/jibe thresholds for upwind/downwind; use constant 10s interval for maneuver detection
2011-09-29 18:31:00 +02:00
Axel Uhl
51c75535cf
write "deg" instead of "°" to label which doesn't accept UTML
2011-09-29 12:38:35 +02:00
Axel Uhl
e7e1c1c45d
transmit boat speed/bearing for display in RaceMapPanel; store successfully connected yet empty config in DB
2011-09-29 12:23:28 +02:00
Axel Uhl
27f8ad0657
fixed wind to/from confusion in expedition receiver; allow for omission of event/race in setwind service call
2011-09-28 10:51:54 +02:00
Axel Uhl
5f7585ea67
optional estimated wind display in WindPanel
2011-09-27 12:23:30 +02:00
Axel Uhl
ace383d953
added TODO for WindTrackImpl
2011-09-27 11:40:23 +02:00
Axel Uhl
fd240aa8fd
mades text strings in WindPanel translatable
2011-09-27 11:37:57 +02:00
Axel Uhl
c3084c3674
enhanced warnings, warning of once-only warning output
2011-09-27 11:15:31 +02:00
Axel Uhl
d249bfb373
warn only once per tracked race of problems with obtaining wind from the requested source
2011-09-27 11:13:36 +02:00
Axel Uhl
3544e8dcd7
added some logging in case tracking / wind tracking aborts due to timeouts waiting for RaceDefinition
2011-09-27 11:10:40 +02:00
Axel Uhl
4476d79662
use timeouts consistently to terminate startWindTracking threads and stop race trackers
2011-09-27 10:52:53 +02:00
Axel Uhl
b2c9101060
fixed bug in new timeout handling for getRaceDefinition in DomainFactoryImpl
2011-09-27 10:41:41 +02:00
Axel Uhl
0c5b986ea3
allow setwind call in admin app to omit eventname/racename parameter; prepare asynchronous startWindTracking
2011-09-27 10:35:25 +02:00
Axel Uhl
3090557225
trying to schedule a future that cleanly untracks a race if it doesn't show up
2011-09-27 09:38:57 +02:00
Axel Uhl
a7edd95ab9
reverted to null values as per Kersten's request
2011-09-26 23:29:19 +02:00
Axel Uhl
9707144ea8
added timer to leaderboard
2011-09-26 23:27:33 +02:00
Axel Uhl
38f0c1d2fc
fixed bug in result discarding implementation; now use the net points to sort before discarding
2011-09-26 21:05:34 +02:00
Axel Uhl
ce255c5a88
added failing test reproducing a bug in leaderboard regarding discarding of maxPoints races
2011-09-26 20:58:43 +02:00
Axel Uhl
b6e1b6a0dd
added missing PlayStateListener registration for TimePanel
2011-09-26 20:27:25 +02:00
Axel Uhl
cd8fb6560e
use Timer in RaceMapPanel and pass on to TimePanel
2011-09-26 20:19:10 +02:00
Axel Uhl
b3cc78f6d3
using competitor ID as key for CompetitorDAOs
2011-09-26 17:15:55 +02:00
Axel Uhl
23ed36b013
fixed layout of race column / bold / transparency according to Marcus' spec
2011-09-26 16:48:08 +02:00
Axel Uhl
26e4e4b0f9
considering Marcus' request regarding boldface in race column
2011-09-26 12:18:35 +02:00
Axel Uhl
fbc305af12
continued work on factoring out the Timer functionality
2011-09-26 12:14:00 +02:00
Axel Uhl
4459b9dabd
removed trailing empty lines in StringConstants.properties
2011-09-26 12:08:47 +02:00
Axel Uhl
ef87a1253b
Dennis: made remaining text strings from EventManagementPanel translatable
2011-09-26 12:06:11 +02:00
Axel Uhl
c201388ade
copied timer-only functionality from TimePanel to new standalone class Timer to be re-used later
2011-09-26 11:59:08 +02:00
Axel Uhl
39e188add0
changed RankPerLeg according to Kersten's request as of 2011-09-26T10:57:00 CEST.
2011-09-26 11:34:23 +02:00
Axel Uhl
2c30a02369
according to Kai Hahndorf, discard SwissTiming packets with zero battery or satellites
2011-09-26 09:36:22 +02:00
Axel Uhl
a26125111c
also enforce "0" for gapToLeader in case backend reported null
2011-09-26 09:07:19 +02:00
Axel Uhl
5655fbabe8
turned "null" output into "0" which is semantically incorrect but what Kersten asked for
...
(see his mail as of 2011-09-25T15:18:00 CEST.
2011-09-26 08:59:14 +02:00
Axel Uhl
6274b1e0b0
experimental: race and totals column in boldface <b></b>
2011-09-23 23:36:15 +02:00
Axel Uhl
4c31a41c09
changed columns output for xcelsius service
2011-09-23 21:04:05 +02:00
Axel Uhl
e964d1ea1b
parse live/stored URI from paramURL content
2011-09-23 15:51:38 +02:00
Axel Uhl
474e683123
fixed erroneous repetitions in xcelsius getRankPerRace output
2011-09-22 21:50:00 +02:00
Axel Uhl
e4f950b862
made time parameter for xcelsius service optional and use race start time as default
2011-09-22 21:42:21 +02:00
Axel Uhl
bfe15c9726
added getRankPerRace action for xcelsius service
2011-09-22 21:13:54 +02:00
Axel Uhl
943490cf63
updated TODO
2011-09-22 20:44:01 +02:00
Axel Uhl
95af5a3511
when leaderboard race column becomes tracked, fix columns during refresh
2011-09-22 20:43:12 +02:00
Axel Uhl
917a31bfaf
added output to xcelsius services
2011-09-22 18:34:09 +02:00