Commit Graph
100 Commits
Author SHA1 Message Date
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