Commit Graph
1162 Commits
Author SHA1 Message Date
Axel Uhl d8a7fabdd2 made SmartFutureCache's lock propagation robust against concurrent get() calls 2013-04-15 10:57:04 +02:00
Axel Uhl aaf1faad2c fixed logging in SmartFutureCache for lock propagation; so far, NPEs were likely to happen due to the logging 2013-04-14 13:24:27 +02:00
Axel Uhl 33204ccf4a Merge branch 'master' into smartfuturecachelockpropagation 2013-04-14 12:15:14 +02:00
Simon Pamies cdbcd1f9b6 Catching a NoWindException earlier than it normally would've been.
Comment explains why this is a no brainer and safe.
2013-04-14 00:46:28 +08:00
Axel Uhl 7604fa4956 provide what looks like a fix for bug 1344 2013-04-13 01:21:44 +02:00
Axel Uhl b704a21b81 changed name for mark passings locks 2013-04-12 13:05:07 +02:00
Axel Uhl c06ebfc7e7 quick fix towards bug 1342. The lges.get(0) is a bit evil if there are no legs (empty course); still, it needs to be atomic without locking; use exception instead 2013-04-11 18:33:01 +02:00
Armin Zamani cc61f70b07 Merge branch 'master' into racecommittee_integrated
Conflicts:
	java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/AbstractTimePoint.java
	java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/ScoreCorrection.java
	java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/SettableScoreCorrection.java
	java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLegOfCompetitor.java
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java
	java/com.sap.sailing.server.gateway.test/META-INF/MANIFEST.MF
	java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/JsonExportTest.java
	java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardJsonGetServlet.java
2013-04-11 13:39:51 +08:00
Armin Zamani b501d1ca6f Merge branch 'racecommittee_integrated' of
ssh://armin@sapsailing.com/home/trac/git into racecommittee_integrated

Conflicts:
	java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractSimpleLeaderboardImpl.java
2013-04-11 00:28:12 +02:00
Armin Zamani 055c341ec1 Implemented a new replicating RaceColumnListener that listens for score
correction events in the racelog and checks if a score correction is
needed
2013-04-11 00:23:39 +02:00
Lukas Niemeier 59a4b81ad3 # prevent score correction comparison when there are no scores transmitted 2013-04-10 23:18:20 +02:00
Axel Uhl (Server) b2d41f24e3 Merge branch 'leaderboardCache' 2013-04-10 04:14:32 +02:00
Axel Uhl 002b680843 moved up hasScoreCorrection for an entire leaderboard column / RaceColumn from SettableScoreCorrection to ScoreCorrection 2013-04-09 15:22:43 +02:00
Armin Zamani 78f70a0134 Several bug fixes of the recent app implementation 2013-04-07 16:31:59 +02:00
Armin Zamani 0b752acc2c Steps towards score corrections in the leaderboard initiated by a race
log event
2013-04-06 21:50:36 +02:00
Armin Zamani 84aad68fce Introduced new race log event finish positioning confirmed event 2013-04-06 00:05:22 +02:00
Armin Zamani db26b0aab7 implemented the new event FinishPositioningListChanged, now it can be
replicated, serialized and deserialized and persisted
2013-04-05 15:23:38 +02:00
Armin Zamani c6cefb328b Merge branch 'master' into racecommittee_integrated
Conflicts:
	java/com.sap.sailing.server.gateway/WEB-INF/web.xml
2013-04-04 17:06:06 +02:00
fmittag 678e7d18cb Merge remote-tracking branch 'origin/master' into leaderboardCache 2013-04-04 10:37:48 +02:00
Axel Uhl 787241d19c adjusted SmartFutureCache Javadoc after providing a patch to bug 1314 2013-04-04 01:57:13 +02:00
Axel Uhl e2b3d43393 Tasks in the SmartFutureCache are now recycled with an extended update interval instead of canceled and re-scheduled if not yet started;
This solves bug 1314. A synchronized piece of code on the task attempts to update the interval in case the task hasn't read the interval
definition yet. If that doesn't succeed because the task has already consumed the old update interval definition, the existing future task
is left alone, and a new task with the extended update interval is created and scheduled.
2013-04-04 00:59:31 +02:00
Axel Uhl 0761af5e55 refactored SmartFutureCache towards a solution for bug 1314, re-using existing tasks with extended update interval instead of canceling and re-scheduling 2013-04-04 00:49:20 +02:00
Armin Zamani 05651baffb Merge branch 'master' into racecommittee_integrated 2013-04-02 13:41:18 +02:00
fmittag 9f82edfb7b Merge remote-tracking branch 'origin/master' into leaderboardCache 2013-04-02 09:16:56 +02:00
Axel Uhl 5812e8c04f minor javadoc change 2013-04-02 00:19:48 +02:00
Armin Zamani ac1acc6d18 Merge branch 'master' into racecommittee_integrated
Conflicts:
	java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/DomainObjectFactoryImpl.java
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java
2013-04-01 01:01:12 +02:00
Axel Uhl a04861f57b fixing bug 1320: wind tracking for SwissTiming races didn't wait until race definition was created 2013-03-31 14:58:12 +02:00
Axel Uhl d858be97f3 Merge remote-tracking branch 'server/master' 2013-03-29 15:45:28 +01:00
Axel Uhl 465d618fbc fixed smart future cache test which now failed due to more rigid locking policy;
can't suspend the cache(...) method which is holding the write lock while trying to read using get(...).
The get(...) method will simply block because a cache update is currently on its way.
2013-03-29 15:40:01 +01:00
Simon Pamies 3b497e7e95 Moved away from calling logger.throwing because this logs with level FINER that is not catched in most logging configurations. Used logger.log(level, message, throwable). 2013-03-29 15:19:03 +01:00
fmittag d61d7f8644 Merge remote-tracking branch 'origin/master' into leaderboardCache
Conflicts:
	java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DomainFactoryImpl.java
	java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/LeaderboardJsonGetServlet.java
2013-03-25 12:37:37 +01:00
Armin Zamani 5aeb30b1c9 Merge branch 'master' into racecommittee_integrated 2013-03-22 15:13:45 +01:00
Axel Uhl ab7fc9c519 Fixed by 1317: ConcurrentModificationException in SmartFutureCache unpropagating lock set 2013-03-22 15:09:42 +01:00
Axel Uhl 057a479586 Largely fixed bug 1023. While it doesn't show an additional column with the race count, LowPoint and HighPoint and all
their derived schemes rank a competitor better if it has more races; all races of those schemes are now always
considered valid for total points score. The old implementation is still in AbstractScoringScheme in case someone
needs them in a specific scheme.
2013-03-22 15:04:18 +01:00
Armin Zamani 6b4efe7af5 Merge branch 'master' into racecommittee_integrated
Conflicts:
	java/com.sap.sailing.server.gateway/WEB-INF/web.xml
	java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/EventsJsonExportServlet.java
	java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/rc/RaceGroupJsonExportServlet.java
2013-03-22 13:51:55 +01:00
Axel Uhl eb7245c3dc added a comment on the minimum size of the thread pool for the SmartFutureCache 2013-03-22 11:26:52 +01:00
Armin Zamani 6d0660120b Merge branch 'master' into racecommittee_integrated 2013-03-22 10:42:10 +01:00
Axel Uhl f9292e64c3 added lock propagation to LeaderboardDTOCache and SmartFutureCache 2013-03-22 00:28:23 +01:00
Axel Uhl 82b464eafe added comment to SmartFutureCache.triggerUpdate to explain the need for randomization in case of mass updates 2013-03-22 00:09:14 +01:00
Axel Uhl e73b325db7 Merge remote-tracking branch 'server/master' 2013-03-21 23:59:20 +01:00
Axel Uhl 91b684804b use a single ThreadPool for all SmartFutureCache instances, 3*availableProcessors in size; shuffle multi-cache-invalidations;
when invalidating a SmartFutureCache for a number of keys, if this always happens in the same order, the first few keys
will be re-computed over and over again because cancelling them is not possible as they have already started, but a new
re-calculation needs to be triggered still. All later keys will be appended to the ordered queue but will keep getting
canceled because they haven't started their calculation yet. By shuffling the keys before triggering their invalidation,
all elements will fairly get re-calculated every now and then.
2013-03-21 23:53:39 +01:00
Armin Zamani 4e29bda14c fixed a couple of merge errors 2013-03-21 22:11:57 +01:00
Armin Zamani 6abba47d29 Merge branch 'master' into racecommittee_integrated
Conflicts:
	java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/coursedata/impl/CourseDataJsonSerializer.java
	java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/coursedata/CourseBaseJsonSerializer.java
	java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/coursedata/CourseDataJsonSerializer.java
	java/com.sap.sailing.server.gateway/WEB-INF/web.xml
	java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/rc/EventDataJsonExportServlet.java
	mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/DataStore.java
	mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/InMemoryDataStore.java
	mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OfflineDataManager.java
	mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OnlineDataManager.java
	mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/ReadonlyDataManager.java
	mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/parsers/EventsDataParser.java
	mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/FleetIdentifierImpl.java
	mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/impl/ManagedRaceImpl.java
	mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/activities/LoginActivity.java
2013-03-21 21:19:27 +01:00
Armin Zamani d1f64c456d renamed "CourseData" to "CourseBase", "EventData" to "EventBase" and
"SeriesData" to "SeriesBase", and their impl-classes accordingly,
renamed "CourseDataJsonSerializer" to "CourseBaseJsonSerializer"
2013-03-21 18:30:30 +01:00
Armin Zamani 2741727077 added a try catch for URL/IO exceptions while sending a course design 2013-03-21 17:06:37 +01:00
Armin Zamani 67efd32a79 implemented the connection to the TracTrac server to post a course
update
2013-03-21 17:02:24 +01:00
Armin Zamani e8742c504a Merge branch 'master' into racecommittee_integrated 2013-03-20 23:40:05 +01:00
fmittag bd9ef9b963 Merge remote-tracking branch 'origin/master' 2013-03-20 19:16:06 +01:00
fmittag 9a3319b5f1 fixed a bug with the replication of default regattas (id replication was broken)
added a test case for replicating default regattas
2013-03-20 19:12:15 +01:00
Axel Uhl 7211f60040 fixed use of LowPointWinnerGetsZero scoring scheme 2013-03-20 16:40:54 +01:00