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