Axel Uhl
80970b876a
more text in the architecture document
2012-08-03 12:00:32 +02:00
Axel Uhl
a91a46c2d7
starting to write an architecture document
2012-08-03 11:00:57 +02:00
Axel Uhl
da07c8da0f
fixing bug 910: when tracked race is (un)linked to/from RaceColumn, LeaderboardDTOCache now removed the leaderboard affected from the cache
2012-08-02 22:50:42 +02:00
Axel Uhl
55ea3df071
fixed blinking marks issue
2012-08-02 12:31:05 +02:00
Axel Uhl
de6091bcec
fixing bugs 901 and 902: leg column adjustment after course update
2012-08-01 22:52:08 +02:00
Axel Uhl
aa8f6c2a7d
fixing MongoDB tests by using the same MongoDB instance for read as for write
2012-08-01 22:38:24 +02:00
Axel Uhl
b0144d6b21
use same MongoDB instance throughout a single MongoDB test to ensure the read-our-own-writes rule
2012-08-01 21:37:04 +02:00
Axel Uhl
590fac568c
fixing bug 904, moving BearingCluster tests to BearingTest and removing the redundant super.setUp() in WindEstimationOnStoredTracksTest
2012-08-01 16:47:52 +02:00
Axel Uhl
028be6fbfa
added the code that loads the "stray" leaderboards again after accidentally removed
2012-08-01 16:25:38 +02:00
Axel Uhl
0314ef9e4e
fix for bug 908: leaderboard referenced by multiple groups now loaded only once
2012-08-01 16:14:26 +02:00
Axel Uhl
f090aa7cd3
Merge branch 'failing-test-908'
2012-08-01 15:56:45 +02:00
Axel Uhl
b66e6f1e47
a failing test case for bug 908
2012-08-01 15:56:02 +02:00
Axel Uhl
61d2bb8ec2
a bug fix for bug 908: leaderboards referenced by more than one group are duplicated during loading
2012-08-01 15:48:16 +02:00
Axel Uhl
6439b1472d
NPE that caused bug 909 (empty leaderboard if only proxy races attacehd) fixed
2012-08-01 15:19:23 +02:00
Axel Uhl
0514bdf031
Merge branch 'course-update'
2012-08-01 15:04:31 +02:00
Axel Uhl
d37b0904b5
Merge branch 'master' into course-update
2012-08-01 10:40:03 +02:00
Axel Uhl
e59665413a
added script to replicate wind through a proxy connection
2012-08-01 10:22:44 +02:00
Axel Uhl
a6003d1ea8
introduced "-f" switch in install script for forceful installation of a deviating branch
2012-08-01 10:12:42 +02:00
Axel Uhl
f4330f35e3
fixed notification order in test case to avoid race condition
2012-07-31 21:34:12 +02:00
Axel Uhl
2af353aa5c
major overhaul of TrackedRaceImpl's locking/synchronization behavior:
...
Introduced a serializationLock which works "in reverse." When the instance is to be serialized,
writeObject obtains the writeLock exclusively. This keeps all modifications to serializable structures
out because they all obtain the read lock.
2012-07-31 21:22:03 +02:00
Axel Uhl
92446a399e
no synchronized on TrackedRace anymore; it was useless and caused deadlocks during course updates in conjunction with mark passing updates;
...
Moved the synchronized writeObject(...) method to base class TrackedRaceImpl where the important data structures reside. Removed the
synchronized qualifier and rely only on the CouseImpl's lock. However, this is as unsafe as the synchronized was. What would actually
be required is a dedicated writeObject method that locks on each individual structure's lock when it writes it.
2012-07-31 20:27:31 +02:00
Axel Uhl
d0340c7fe6
replace gates properly when one or both of the gate's buoys were changed
2012-07-31 17:47:36 +02:00
Axel Uhl
761e47e95b
made LockUtil's map recording hold times for write locks thread safe
2012-07-31 16:48:52 +02:00
Axel Uhl
0689103efe
Merge branch 'master' into course-update
2012-07-31 15:16:08 +02:00
Axel Uhl
ffb54444b8
improved logging for adding/removing waypoints to/from a course
2012-07-31 15:13:30 +02:00
Axel Uhl
7ca9173571
fixed issue with course change when replacing control point with equal-named control point
2012-07-31 13:27:21 +02:00
Axel Uhl
8307d59cc2
Merge remote-tracking branch 'server/master'
2012-07-31 11:51:56 +02:00
Axel Uhl
414b9f49a0
reasonably working course update panel; still a few resizing issues with popup dialog containing a CellTable
2012-07-31 11:49:13 +02:00
Axel Uhl
d9bb932b13
a compiling version of RaceCourseManagementPanel after major refactoring to using a ControlPointDTO list
2012-07-31 11:08:44 +02:00
Axel Uhl
8476780890
introducing ControlPointDTO, and GateDTO for SailingService.updateRaceCourse API
2012-07-31 09:36:04 +02:00
Axel Uhl
dd87237331
Merge branch 'browser-detection'
2012-07-30 15:44:26 +02:00
Axel Uhl
9fae8d0ab2
minor formatting / whitespace changes
2012-07-30 15:43:22 +02:00
Axel Uhl
02bba76e2d
Merge remote-tracking branch 'server/master'
...
Conflicts:
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceCourseManagementPanel.java
2012-07-30 15:35:59 +02:00
Axel Uhl
6d97766dff
preparing for swapping course updates
2012-07-30 15:14:54 +02:00
Axel Uhl
f763879411
Use DoublePair instead of Pair<Double, Double> to avoid excessive auto-boxing of double values. Credits to Stephan Erb.
2012-07-30 11:52:58 +02:00
Axel Uhl
481f6a3234
add index over SwissTiming message collection for message sequence number
2012-07-28 14:44:28 +02:00
Axel Uhl
681693aee0
in LeadaerboardDTOCache distinguish cache objects by waitForLatestAnalyses parameter value to avoid inconsistencies; adjust time point to that of latest change
...
Have the cache adjust the time point of the request to that of the latest change to any of the attached races or the latest score correction to improve
cache hit ratio.
Eliminated RaceDTO.timePointOfLastEvent because it is just not interesting; timePointOfNewestEvent, however, is very interesting. Replaced a bunch
of usages of timePointOfLastEvent by the more adequate timePointOfNewestEvent.
2012-07-28 14:16:50 +02:00
Axel Uhl
fe9d89ef33
also registering the LeaderboardDTOCache for score correction changes
2012-07-28 09:12:29 +02:00
Axel Uhl
83b54f7b2f
using the LeaderboardDTOCache in SailingServiceImpl.getLeaderboardByName for non-live mode
2012-07-27 18:58:03 +02:00
Axel Uhl
1f5b58f6a9
updated LeaderboardDTOCache so it may actually work
2012-07-27 18:53:28 +02:00
Axel Uhl
e0b17c8881
Merge branch 'master' into course-update
2012-07-27 15:34:24 +02:00
Axel Uhl
a59b42c4aa
avoid NPE if no regatta name is specified
2012-07-27 15:22:03 +02:00
Axel Uhl
b71f2fd4b7
beautified message string
2012-07-27 15:21:48 +02:00
Axel Uhl
088294a7a8
improved lock logging with stack trace output; fixed NPEs for lock name generation for null trackedItems
2012-07-27 12:13:42 +02:00
Axel Uhl
bc3491baba
made compile again with locking logging instrumentation
2012-07-27 11:44:45 +02:00
Axel Uhl
eeff3f6ed7
Merge branch 'master' into course-update
2012-07-27 10:33:47 +02:00
Axel Uhl
1c24d022dd
fixed bug 892: discarding rules
2012-07-27 09:33:57 +02:00
Axel Uhl
5f389b849d
if non-discardable result would have been discarded, discard another one
2012-07-27 08:52:25 +02:00
Axel Uhl
cae0714fc6
if equal scores, discard first racename rather than last
2012-07-27 08:13:04 +02:00
Axel Uhl
d1e86f7064
Merge remote-tracking branch 'server/master'
2012-07-27 01:57:05 +02:00
Axel Uhl
6b3ebb627a
added failing test case and fix for bug 892: leaderboard ranking wrong if two equally-scored discarding results with more than one discard
2012-07-27 01:55:15 +02:00
Axel Uhl
b62fe5fe0c
working on the course-update deadlock; preparing for more instrumentation to at least be able to see where things lock up
2012-07-27 01:16:32 +02:00
Axel Uhl
2e82ca1c3b
Merge remote-tracking branch 'server/master'
2012-07-26 14:40:31 +02:00
Axel Uhl
87582bb5c3
fixed endless recursion problem on DistanceCache caused by "backward" entries (from>to) being entered into the cache
2012-07-26 14:37:00 +02:00
Axel Uhl
46da1be7c6
Merge branch 'broken-frank'
2012-07-26 10:44:04 +02:00
Axel Uhl
95312b3707
Merge branch 'distance-cache'
2012-07-26 10:43:57 +02:00
Axel Uhl
111d7032c7
more elaborate test case for the DistanceCache implementation, testing actual caching and invalidation behavior
2012-07-26 01:54:59 +02:00
Axel Uhl
1a9ea93f65
added more sophisticated distance cache test case
2012-07-26 01:22:48 +02:00
Axel Uhl
c922c3be24
trying to fix GWT build on server
2012-07-25 21:24:21 +02:00
Axel Uhl
4e10a39dea
Merge branch 'master' into broken-frank
2012-07-25 21:10:56 +02:00
Axel Uhl
28896e426f
fixed bug 889: column expansion / expandability
2012-07-25 21:01:55 +02:00
Axel Uhl
a4bd711250
solving bug 888: leaderboard columns disappeared because RaceColumnDTO considered trackedRaceIdentifiersPerFleet in its hashCode/equals
2012-07-25 16:47:26 +02:00
Axel Uhl
b037dafd1f
fixed typo in comment
2012-07-25 15:36:00 +02:00
Axel Uhl
261c84579b
advancing the tests for the new distance cache
2012-07-25 14:56:17 +02:00
Axel Uhl
791a1da7a9
Merge branch 'master' into distance-cache
2012-07-25 13:44:15 +02:00
Axel Uhl
e032c9bd7b
Merge branch 'master' into distance-cache
2012-07-25 13:06:05 +02:00
Axel Uhl
22635714b8
avoid NPE in distance cache
2012-07-25 12:33:02 +02:00
Axel Uhl
e1cacbaa65
first skeletal implementation of distance cache in its own class
2012-07-25 12:01:34 +02:00
Axel Uhl
03b095a368
Merge branch 'master' into distance-cache
2012-07-25 11:30:53 +02:00
Axel Uhl
5eb905af77
extracted distance cache logic into separate class
2012-07-25 11:30:35 +02:00
Axel Uhl
b5f3213f7e
fixed merge accident regarding map click handler
2012-07-25 11:27:41 +02:00
Axel Uhl
d2ab9b39d0
Merge branch 'master' into distance-cache
2012-07-25 10:54:33 +02:00
Axel Uhl
8aeca37a44
Merge remote-tracking branch 'server/master'
...
Conflicts:
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMap.java
2012-07-25 10:49:55 +02:00
Axel Uhl
a99e2cfa2f
further enhanced preparatory test case for tracks / outliers / distances
2012-07-25 10:15:00 +02:00
Axel Uhl
ae4d77d09d
added another verdict for track / outlier test
2012-07-25 00:18:43 +02:00
Axel Uhl
b37856cdad
more sophisticated test case around tracks, outliers and distances
2012-07-25 00:17:46 +02:00
Axel Uhl
d604d2f0cb
preparing a series of test cases for tracks to which outliers are added
2012-07-24 18:49:15 +02:00
Axel Uhl
17ec2d8fee
preparing for a distance cache in GPSFixTrackImpl
2012-07-24 18:33:19 +02:00
Axel Uhl
529a7e3d0e
added -XX:+UseMembar to the launch configurations and the product; see http://bugs.sun.com/view_bug.do?bug_id=6822370 ;
...
it may help fixing a hanging ReentrantReadWriteLock
2012-07-24 11:39:31 +02:00
Axel Uhl
28e82e90f7
bug 884: click on map background shall go back to live mode if the previous click was performed in live mode
2012-07-24 11:32:21 +02:00
Axel Uhl
2ba1dc3151
trying to fix bug 875 by using the same MarkPassings to decide hasFinished and grab the time points
2012-07-24 10:37:15 +02:00
Axel Uhl
45cb1db0f5
moved Util.lock to new class LockUtil which is not in domain.common and hence doesn't hurt the GWT build
2012-07-24 00:51:25 +02:00
Axel Uhl
f82b87f87d
Merge remote-tracking branch 'server/master'
2012-07-24 00:17:40 +02:00
Axel Uhl
42c510c729
cancel interrupt timer for LiveLeaderbaordUpdater appropriately also in case of exceptions
2012-07-24 00:11:55 +02:00
Axel Uhl
e9464b05d4
acquire locks using a timeout so that we don't wait forever for what may be a Java VM bug
...
See also http://bugs.sun.com/view_bug.do?bug_id=6822370 . As an additional means to robustness,
added an interruption timer that will interrupt the live leaderboard updater thread if it hangs for
more than the update interval
2012-07-23 23:56:41 +02:00
Axel Uhl
ecb2b8320f
fixed timings in LiveLeaderboardUpdater
2012-07-23 11:54:47 +02:00
Axel Uhl
8a3f89fb18
start leaderboard in Live play mode if it's started playing
2012-07-23 09:41:37 +02:00
Axel Uhl
62c88e0774
delay repetetive updates in LiveLeaderboardUpdater so they don't occur more than once a second
2012-07-23 03:23:48 +02:00
Axel Uhl
a7ab4c93c6
fixed lastRequest update and cache hit count update
2012-07-23 02:29:18 +02:00
Axel Uhl
20d12939f8
first attempt at keeping computing live leaderboard results in LiveLeaderboardUpdater in the background
2012-07-23 02:20:55 +02:00
Axel Uhl
9a9440018e
added minus(long) to TimePoint/AbstractTimePoint
2012-07-23 00:45:32 +02:00
Axel Uhl
b03b4b0e41
added before/after/plus to TimePoint/AbstractTimePoint
2012-07-23 00:40:37 +02:00
Axel Uhl
5d04b737cb
avoid a NPE during comparison
2012-07-22 19:41:26 +02:00
Axel Uhl
592bf02292
increased thread pool size for getLeaderboardByName future execution to 10xCPUs
2012-07-22 17:36:49 +02:00
Axel Uhl
6aedfcd21c
fixed bug 433: Timer.setLivePlayDelayInMillis updated to now-delay in play instead of in live mode
2012-07-22 12:27:24 +02:00
Axel Uhl
008b7d89ac
fixed StringMessages properties files (typo in constant name)
2012-07-22 02:00:16 +02:00
Axel Uhl
d17861b61a
cache ranks in tracked legs for the duration of one getLeaderboardByName call and use where needed
2012-07-22 01:04:31 +02:00
Axel Uhl
9cbb07ab4b
By default let a leaderboard use the delay to live of the latest tracked race associated with it
2012-07-21 22:09:32 +02:00
Axel Uhl
e6c4982c41
attempt to detect the delay to live in millis of the race that started latest and apply it to the LeaderboardPanel's timer
2012-07-21 21:33:10 +02:00
Axel Uhl
98b6331799
Merge remote-tracking branch 'server/master'
2012-07-21 21:21:03 +02:00