Commit Graph
100 Commits
Author SHA1 Message Date
Axel Uhl 74338f692e major refactoring of RaceLogResolver;
Introduced specialization that can also resolve a TrackedRace based on a
SimpleRaceLogIdentifier. This is then used to find TrackedRaces for race
log entries setting the implied wind to come from another TrackedRace.
With this, it doesn't matter whether the other tracked race has an ORC
Performance Curve ranking metric or not, or if the reference points to a
race slot that doesn't even have a tracked race attached. If a tracked
race is attached, it will be asked for its "reference implied wind."
Otherwise, the race log will be scanned, but if "own maximum implied
wind" is requested and there is no tracked race, null will be returned.

Change-Id: I14fe32f8a473281c9f489eb081544ae20c5b37f3
2019-10-26 00:00:58 +02:00
Axel Uhl 0836d10ca8 Merge branch 'master' into bug5124
Change-Id: I797d1f02126465a00d99861849b42d4d472c3412
2019-10-25 15:20:12 +02:00
Axel Uhl a42bc93f1d removed unused message files from iOS Sail InSight project
Change-Id: I4e613a889f333d1600c52f01a083a0afcf1aea35
2019-10-25 15:10:40 +02:00
Axel Uhl 428b9ef8cc fixed compilation projects around new ORC race log event (de-)serialization
Change-Id: I53b0aadfe7062a1400f6a9971ebe0f84df5c2082
2019-10-25 14:14:06 +02:00
Axel Uhl 9df528476d invalidate leaderboard cache also upon RegattaLogEvents that are marked accordingly
Change-Id: Ib01741dd8a8854ce1f510e87ce5b30ee5bbcc937
2019-10-25 10:02:29 +02:00
Axel Uhl 2bc8c95685 ensure leaderboard cache invalidation upon ORC race log event additions
Change-Id: Ie024e83a71f2f657c543106c10b4edadcde2701a
2019-10-25 09:24:13 +02:00
Axel Uhl 729bf6ffe8 added serialization and persistence for RaceLogORCSetImpliedWindEvent
Change-Id: I4fd988139c3b74404f7686a271976faff3cbc50c
2019-10-25 09:11:17 +02:00
Axel Uhl 0d10fe75fe completed persistence/serialization of RaceLogORCUseImpliedWindFromOtherRaceEvent
Change-Id: I1d360cea88637e572a5a4ea8d0f76efe7ce57846
2019-10-23 18:47:11 +02:00
Axel Uhl b124e36ceb started by introducing two event types: RaceLogORCUseImpliedWindFromOtherRaceEvent and RaceLogORCSetImpliedWindEvent;
persistence and serialization / de-serialization so far only for the
former, not for the latter

Change-Id: Id147aed44aa97db632e2d52b3b59df3b6976ff3e
2019-10-23 18:30:24 +02:00
Axel Uhl bb77ea52b7 Merge branch 'bug2842'
Change-Id: I169cca2e4dfa1b65a6237ab499f4bfa21dbf15c7
2019-10-23 14:47:14 +02:00
Axel Uhl 8c42deddac handle null ranking metric for test success 2019-10-22 23:44:00 +02:00
Axel Uhl 8c99aa174b handle newScratchBoat==null
Change-Id: I7ff6f2ead873986d6ec3aeb3dc2e7160070e818b
2019-10-22 18:39:35 +02:00
Axel Uhl 210776174d support definition of scratch boat in AdminConsole
Change-Id: I5c5709dfea75a883140ea7c2e0bab7ec3410590e
2019-10-22 18:31:36 +02:00
Axel Uhl ff386904b8 removed incorrect @author tag
Change-Id: I98acd7171f32b464e820182748a0380cd3ebda0e
2019-10-22 16:14:12 +02:00
Axel Uhl 09e43b5e41 show ORC PCS leg editing actions for tracked races only if they have an ORC PCS-based ranking metric
Change-Id: I2f1b85da262dc2b679cf8a879d03fd81d9efcd75
2019-10-22 14:44:34 +02:00
Axel Uhl a7ff08c191 Updated building and deploying (markdown) 2019-10-22 09:46:53 +00:00
Axel Uhl 5858d19e1e Updated building and deploying (markdown) 2019-10-22 09:39:17 +00:00
Axel Uhl e502f5bf90 Merge remote-tracking branch 'server/master'
Change-Id: I999252f6c4ff38a2faa91c1e3d076db1db135732
2019-10-22 10:41:03 +02:00
Axel Uhl 14f399d608 Updated building and deploying (markdown) 2019-10-22 08:10:56 +00:00
Axel Uhl a34f43a4db Updated building and deploying (markdown) 2019-10-22 08:09:54 +00:00
Axel Uhl bce945ad64 more clarity in releaseAndroidApps.sh script
Change-Id: Idb77a02a06401b9247bcfae4e85b260d38ed22e4
2019-10-22 10:02:15 +02:00
Axel Uhl c4866065f8 Updated android and release build (markdown) 2019-10-22 07:58:36 +00:00
Axel Uhl 6b68f287f2 Updated mobile development (markdown) 2019-10-22 07:58:16 +00:00
Axel Uhl a8be85a252 changing release branch name for Android apps from rel-1.4 to fa/rel-1.4
Change-Id: Idcb782e4c304af4307e1de71f1df3097435df029
2019-10-22 09:56:00 +02:00
Axel Uhl 308b688c3a updated race manager app release notes
Change-Id: I67723f49dd2008bfc25b26ea4f15b529516d9c98
2019-10-22 09:46:39 +02:00
Axel Uhl cead93c627 Merge remote-tracking branch 'origin/master' 2019-10-21 20:33:11 +02:00
Axel Uhl c0487f4cc9 Merge branch 'translation' 2019-10-21 20:28:56 +02:00
Axel Uhl 92f85ec964 Merge remote-tracking branch 'origin/translation' into translation
Change-Id: I616e48d63cdff1f40ac1a86f5d1e2384a4a1afdd
2019-10-21 17:16:37 +02:00
Axel Uhl d1e4fb3e74 bug5145: compare two scores equal if their difference is less than 10^-10
Change-Id: I864356c4f741d47c254e2401b8f5630daba93d13
2019-10-21 17:13:41 +02:00
Axel Uhl 0ac7767769 consolidated imports to avoid warning
Change-Id: I44d2005f4247f659d6c81c84b0c37c518f8fa54a
2019-10-19 15:58:30 +02:00
Axel Uhl d430dde891 if scratch boat is defined explicitly, use it as baseline for corrected times
Change-Id: I430f86549e7b3dbafcf133a24ec252200adfa3cd
2019-10-19 15:57:36 +02:00
Axel Uhl 0d3c26d6ba bug5143: improved performance of ranking metrics, e.g., for charts by more consistent cache forwarding
Change-Id: I6f78c80504c3ccc741955fd7d9cfec870d1c9459
2019-10-18 19:39:12 +02:00
Axel Uhl 1b9d8fdc3d bug5143: working towards performance improvements by using ranking metric's leg type;
ranking metrics such as ORC PCS may have a special notion of how
"windward distance" shall work on certain legs. This can save
performance by not having to evaluate wind and leg direction for each
single request.

Change-Id: I06489e5efbe76718a18bc30308a4a983051f0bc6
2019-10-18 02:10:45 +02:00
Axel Uhl 85b94d3297 Merge branch 'bug2842'
Change-Id: Ib9f572b0b5b475375a6fb0e229250c5d3455a155
2019-10-17 23:37:46 +02:00
Axel Uhl 42ea66b55d use the ORC PCS leg type to decide how to measure leg length for course geometry
Change-Id: Ie58ae04fa2473d396c5cffc2289f3b2796111657
2019-10-17 23:31:17 +02:00
Axel Uhl e8c288f368 bug5141: initialize the ORC PCS ranking metric's listeners in deserialization validation, not readObject
Change-Id: I6e0ece2bd9ab4db97207e5563773733ebde4f653
2019-10-17 22:31:42 +02:00
Axel Uhl 9f1074e82b bug5140: re-attach RegattaLog after de-serialization
Change-Id: I06e1f5c04001f5bd3abf4acbca1b6681033323fb
2019-10-17 22:18:18 +02:00
Axel Uhl 2298556545 fixed serialization of ORCPerformanceCurveRankingMetric;
the course and leg info wasn't serializable; furthermore, the listeners
were not transient and were not re-established after de-serialization

Change-Id: Ie54e7d3b00ba059c7743bd12bc9643e9b741ad5a
2019-10-17 20:08:07 +02:00
Axel Uhl 24dcdeb262 added TimeAdder util; good for adding elapsed times to race start times to obtain finish times
Change-Id: I446ea16cc56a0f902d23a945d539a78af2de693c
2019-10-17 17:40:07 +02:00
Axel Uhl c5232e5a06 fixed relative length calculation for rhumb line projection for ORC PCS partial course
Change-Id: I5cfecc9c21ae094b2325ff67615cd4279cbe1ddd
2019-10-17 17:34:06 +02:00
Axel Uhl 0054c4a1d8 always prioritize total course if finish mark passing is passed, regardless of track
Change-Id: If596037b734ef54c05c1a16a09af221e9645de3b
2019-10-17 15:31:32 +02:00
Axel Uhl 0589eed3aa avoid NPE in WindPanel when no start of race is known yet
Change-Id: I234b46ba1e49bc4407642d4558a931bb097aef61
2019-10-17 12:11:39 +02:00
Axel Uhl 275a9df7cb lacking wind data, adapt ORC PCS leg to LONG_DISTANCE, not TWA
Change-Id: I991300f0f64462177d9c2f3b6228272f6fdbd75e
2019-10-17 11:38:12 +02:00
Axel Uhl c6796fefaa avoid NPE when updating ORC PCS leg type to "empty"
Change-Id: I0e4b6d46fe9ee2400a78580952454ddeb2ae06da
2019-10-17 11:28:56 +02:00
Axel Uhl 281aed3f70 set milliseconds to 0 when entering a new finishing time manually with the time picker
Change-Id: I00fae7feecac25e8f74ccffb957fc2aa548f7b00
2019-10-17 11:11:01 +02:00
Axel Uhl 54b972316b avoid exception when asking for the tracked leg ending at the start waypoint;
this now returns null instead of throwing an exception; Javadoc adjusted
accordingly

Change-Id: Ie5095dc365ba4e49796ecaba3aa367da594124b4
2019-10-17 10:08:20 +02:00
Axel Uhl 8b534c1f0f avoid NPE in case the course has no first leg
Change-Id: I0a2e980a1db4d24032f1006547153d3184e7a0a2
2019-10-17 09:54:27 +02:00
Axel Uhl c46e02b566 also assign total course to competitor if at or after manual finish mark passing;
this make it possible to compute a corrected time also for those not
tracked, without a start mark passing, but with a valid finishing time.

Change-Id: I5c36d77c7e827ec27e6aef6f14ac1af223954ef5
2019-10-16 23:26:02 +02:00
Axel Uhl 4b330ae56e fixed ORC PCS leg comparators;
for ranking by implied wind the time point for those who already finished their leg was
incorrectly set to the current time point; for >=2015 ranking by
relative corrected time the entire implementation was missing and was
instead ranking by implied wind, too.

Change-Id: I0a63c6304840ea0ce1634072e46fa7a4eac313f0
2019-10-16 13:52:26 +02:00
Axel Uhl 491dbe6a7f fixed calculation of corrected times in ToT/ToD calculations;
was using duration since race start but has to use duration the
competitor sailed which may be limited by a finish mark passing

Change-Id: I09983c395554d367b54c0bb54ca2824ba9b3a550
2019-10-16 12:50:18 +02:00
Axel Uhl 1f4616b39d bug5138: added missing updateCourseFromRaceLogs() calls in race log attach/detach listeners
Change-Id: I18bc43afcea5945cfa0eb1d60771b9d73fade18b
2019-10-16 07:29:51 +02:00
Axel Uhl 22090dbad4 re-use common sub-expression
Change-Id: Icc88abb7f3c18855a5c17b0aa1454a509622b57f
2019-10-16 00:04:14 +02:00
Axel Uhl 247d0a917c refactored code to use rhumb-line projection for non-constructed, non-Windward/Leeward ORC PCS courses
Change-Id: I036f4e8596eb23c7f826694fd7c168551e93668f
2019-10-15 23:53:06 +02:00
Axel Uhl af31071136 Merge branch 'master' into bug5135
Change-Id: Id1d97f869dd7dbff44f06764c649b78a510af92d
2019-10-15 23:21:47 +02:00
Axel Uhl d39b5788f1 assign an elapsed time also if the finish mark passing is after end of tracking
Change-Id: I152c2da12729685348d55f44a6c5600573e72a6a
2019-10-15 18:02:51 +02:00
Axel Uhl a154191b91 handle special case where no finishing time for a competitor is known even up to end of tracking
Change-Id: Ia5686918dffd895d7fbc03d83eee2c9982e1b7ea
2019-10-15 16:02:24 +02:00
Axel Uhl 2968a6246b fully support ORC PCS with leader as corrected time baseline
Change-Id: I5801361247b3e3366f3b237818d825564ea42205
2019-10-15 13:47:29 +02:00
Axel Uhl 9d51e7b5f7 added specialization of ORC PCS ranking metric to support leader as corrected time baseline
Change-Id: If03febc33f06599a4ce666ac7d4f801e1473a59e
2019-10-15 13:35:09 +02:00
Axel Uhl 529235dbb7 Merge remote-tracking branch 'server/bug2842' into bug2842
Change-Id: If6d00e9b20ca5468fec815922589f06acd14bd62
2019-10-15 13:05:32 +02:00
Axel Uhl 428b54e4b9 Merge branch 'bug2842-relative' into bug2842
Change-Id: Ie74a76785250d538e4ac717f1d6767b8b5bf4cbd
2019-10-15 13:01:48 +02:00
Axel Uhl 3a09850786 compute absolute corrected times using least GPH boat as base line;
using ForkJoinPool for parallelization

Change-Id: I02fa3fa7a530b06a4c9e80a0ae4fe7b70d221a96
2019-10-15 13:01:09 +02:00
Axel Uhl dd39bd7f85 using ForkJoinPool for ORC PCS parallelization (still slow...)
Change-Id: I660ea9afc6cf0bdb286548c39e2f0c726eb6b211
2019-10-14 23:54:20 +02:00
Axel Uhl 25f79af352 consolidated imports to avoid warning
Change-Id: I88350d15b7ff70e4cce70fbf717ffd4ac1a9a0be
2019-10-14 20:14:38 +02:00
Axel Uhl 3d1c67e5ef fixed sorting order of implied wind; use cache in one more case
Change-Id: I8b1fee2adc4281a995d5df0806722b826fe7cdc5
2019-10-14 20:10:05 +02:00
Axel Uhl 6aa0e30744 add ORC PCS corrected times to elapsed time of leader by relative corrected time (slow?)
Change-Id: I1df8ed42aa1e92920d91ce387205c446c6f04681
2019-10-14 19:00:02 +02:00
Axel Uhl 48b29c923e Merge remote-tracking branch 'origin/bug2842' 2019-10-14 00:46:40 +02:00
Axel Uhl df58f6de93 consider track sampling rate for maneuver detection
Change-Id: Id79af6f6c947d3e97bcc13eb9991f7c8d3fe8662
2019-10-13 23:57:19 +02:00
Axel Uhl b0e32449de encapsulated local field maximumWindowLength properly in CourseChangeBasedTrackApproximation
Change-Id: I259cc1085fc80ebc6f4095cd13d99d8d3be656a3
2019-10-13 22:49:12 +02:00
Axel Uhl bf44df64fe Merge remote-tracking branch 'server/bug2842' into bug2842
Change-Id: If1174784ef4f8fe3a83740843ab1daa44215dea7
2019-10-13 19:50:35 +02:00
Axel Uhl 119858e91d fixed test regarding certificate by ID (instead of sail number)
Change-Id: Ifc28bdab84d913715f252d91696548fb3ab040c0
2019-10-13 19:48:48 +02:00
Axel Uhl 3ac95c3404 Merge branch 'master' into bug2842
Change-Id: Id0d5af5dc400f8c75bfa5e7248e0b08e8b09deab
2019-10-13 19:45:42 +02:00
Axel Uhl 001e07d3fd use a dedicated thread pool for ORC PCS parallelization;
this will help to avoid deadlocks in case the foregroud thread pool
executor is under stress, and too many calls to getRankingInfo are
already ongoing in parallel; then, they may clog the foreground executor

Change-Id: Ie959d08b0311758e19c023d0668cd4b37cf1cc41
2019-10-13 19:09:42 +02:00
Axel Uhl 78c8aaa03b use unique certificate IDs instead of ambiguous sail numbers
Change-Id: I20b9bc0b979bd630b6d5473dd12f410c4a409e51
2019-10-13 17:13:54 +02:00
Axel Uhl be68c403e3 parallelized ORC ranking info computation on a per-competitor basis
Change-Id: I2d3cff648784be8298184fce4757154842add34c
2019-10-13 15:57:30 +02:00
Axel Uhl f87720c125 compute competitor farthest ahead only once for one time point during RankingInfo determination
Change-Id: I563fb82d23c5d1d52736d6dc6473571aebf97afb
2019-10-13 15:17:13 +02:00
Axel Uhl 58db56a64d bug5130: attach ORC ranking metric as course change listener on race, not course
Change-Id: I28da6b0efb6ecc3068ba18e333efd7ea0d0db905
2019-10-13 14:24:02 +02:00
Axel Uhl c215491594 bug5131: added null handling in case leader has no implied wind
Change-Id: I695d7ba02c9efaccb88d38de7f44782daee84979
2019-10-13 14:12:52 +02:00
Axel Uhl f9dbfa60f6 avoid warnings
Change-Id: I8dc912d662fbdcbcb29f866abbd232765271e757
2019-10-13 13:35:35 +02:00
Axel Uhl 9918101110 fixed boat class mismatch detection in Selenium tests
Change-Id: I3ce9902b1c176c00a3fed81cc23b4f2edd7af516
2019-10-13 13:29:07 +02:00
Axel Uhl fbe433ff23 default the competitor name to its description if name is null/empty
Change-Id: Iaab2bacdfb07e373358f831c2ff6b3e7579ef84d
2019-10-13 10:23:46 +02:00
Axel Uhl 8939d49f4e avoid warning
Change-Id: I90a99ac9c3556d862f83814d4cc38e34dc64fbc2
2019-10-12 20:37:45 +02:00
Axel Uhl 301be6da1d let user load a race with non-matching boat classes after confirmation
Change-Id: I6358a87cd8540a395e91724dc7e7b15f88a0e83e
2019-10-12 18:32:33 +02:00
Axel Uhl 504bae25d9 removed redundant type param qualification;
SecuredDTO already inherits from Named

Change-Id: I13260502ad3831d0711bed52edc2f6d33106bf1b
2019-10-12 18:06:34 +02:00
Axel Uhl d367cd44ea improved error message pass-through for ORC certificate import
Change-Id: I2785efec36bba3f05f5940b38a49ed7a58ab5de2
2019-10-12 13:33:45 +02:00
Axel Uhl f255b239d5 Merge branch 'bug2842'
Change-Id: I8f4eed55cee4b4b436c0a1f8be1e0223a6467ae2
2019-10-12 10:32:37 +02:00
Axel Uhl 8257237818 removed pairing list condition that there have to be at least as many races as competitors
Change-Id: I3d3cf0ecef8897efe594274217bbbe16452ec6f9
2019-10-11 15:14:51 +02:00
Axel Uhl b7e12cb761 enable multi-selection in boat table for certificate mass assignment
Change-Id: If6097b3ec573a85790f4e5abd4d93ae1bb2f6f6a
2019-10-11 08:38:53 +02:00
Axel Uhl 5694f6f254 Merge remote-tracking branch 'origin/translation' into translation
Change-Id: Iec76e87a9f74b2c3fa1fa13318c36cce66c16b16
2019-10-10 20:39:54 +02:00
Axel Uhl d5d2c747ec updated admin release notes for ORC PCS administration
Change-Id: I6db1e2edc6b84e1a0ed4e04617c13f9917303c63
2019-10-10 20:36:44 +02:00
Axel Uhl 9003ed9119 Merge remote-tracking branch 'server/master'
Change-Id: I3612fe2c58403d3d145f6dc4f3728b5403413bc2
2019-10-10 14:07:10 +02:00
Axel Uhl 4b3e2d975f for polar calculation, don't use the race's but the boat's boat class
Change-Id: I46957925be45c0f0fd18d489b41ad7b9399e9410
2019-10-10 10:28:30 +02:00
Axel Uhl a4ea73ebe9 provide an overall ORC PCS course / legs details editor
Change-Id: I397aa8dc35b9eab25bcfc35975e2259b06b2955a
2019-10-09 16:36:14 +02:00
Axel Uhl 5812cb8625 use regatta boat class for TracTrac races, avoiding conflict 2019-10-08 22:29:52 +02:00
Axel Uhl 13cbe0fbc5 Merge remote-tracking branch 'server/bug5121'
Change-Id: I86573e3af01c81b74835617c562975fa1bdde375
2019-10-08 18:33:56 +02:00
Axel Uhl eb3cbbe754 added null-safety for missing ORC certificates
Change-Id: Iaf48d1b5ddb7d5b1f2087fe6f775cb40e76624b7
2019-10-08 18:07:33 +02:00
Axel Uhl f44681a4f6 added MOCRA as boat class
Change-Id: I0185bb775743513e69869aa61eb9370fe7aa3690
2019-10-08 15:50:29 +02:00
Axel Uhl 59458b2cf7 Merge remote-tracking branch 'server/master'
Change-Id: I44d6d418fd37063560cce3e0257c0361146af770
2019-10-08 14:28:38 +02:00
Axel Uhl 3f5002c479 removed empty lines, fixed indentation
Change-Id: Id19e420834d419eba168603f01900878291897e5
2019-10-08 14:28:10 +02:00
Axel Uhl 267fbd6829 made Eclipse install script for 2019-09 executable 2019-10-07 22:47:08 +02:00
Axel Uhl 1205e5cb3c Merge remote branch 'origin/master' 2019-10-07 17:29:24 +00:00