Commit Graph
100 Commits
Author SHA1 Message Date
Axel Uhl 9c5bf2c3b1 switched from "windward distance to leader" to "windward distance to competitor farthest ahead" 2015-05-28 17:10:04 +02:00
Axel Uhl f522527d65 accelerated chart calculations by pre-calculating RankingInfo beforehand, then sharing 2015-05-28 16:12:09 +02:00
Axel Uhl c9a43c5781 cache leg info about boat farthest ahead and calculate and cache the leader by calculated time for the leg in RankingInfo 2015-05-28 15:15:36 +02:00
Axel Uhl f11c534892 compute current VMG only if average VMG is not available 2015-05-28 14:33:09 +02:00
Axel Uhl e4e00fa228 turned competitorTracksOrderedByRank into a ConcurrentHashMap, avoiding synchronization 2015-05-28 14:32:35 +02:00
Axel Uhl 30a3b66c53 default time-on-time and time-on-distance values to 1.0 / 0.0, respectively, in BaseRegattaLinkImpl 2015-05-28 11:41:45 +02:00
Axel Uhl 82757a685c pass RankingInfo through to getLegGapToLegLeaderInOwnTime as a preparation for a performance fix 2015-05-28 10:54:39 +02:00
Axel Uhl 38d757e9ff Merge branch 'master' into bug1018 2015-05-28 10:18:12 +02:00
Axel Uhl df3deb1a15 fixed bracing/indentation after cherry-picking commit 8cf239e31a 2015-05-27 17:59:22 +02:00
Axel Uhl 6a20efa1d9 fixing bug 2906: wind listeners didn't get de-registered proprely when removing a race and when re-starting the wind status servlet;
this should solve the problem with duplicate key exceptions hammering the DB

Conflicts:
	java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/WaypointPositionAndDistanceCache.java
	java/com.sap.sailing.domain/src/com/sap/sailing/domain/ranking/AbstractRankingMetric.java
2015-05-27 17:57:20 +02:00
Axel Uhl b2f524c60e added handling of IRace.isInitialized() in RaceStartedAndFinishedReceiver which nulls out timings if isInitialized()==false; see bug 2895 2015-05-27 17:29:17 +02:00
Axel Uhl a6fa795f1f enhanced Javadoc and REST API doc for target time estimation 2015-05-27 17:29:07 +02:00
Axel Uhl 560eb61431 fixed bug 1447 by removing columns first, then inserting with index
Conflicts:
	java/com.sap.sailing.gwt.ui/SailingGWT sdm.launch
2015-05-27 17:28:45 +02:00
Axel Uhl 19c54b8076 started to work on bug 1447 by adding Series.addRaceColumn flavor that accepts an insert index
Conflicts:
	java/com.sap.sailing.gwt.ui/.settings/com.google.gwt.eclipse.core.prefs
	java/com.sap.sailing.gwt.ui/SailingGWT sdm.launch
2015-05-27 17:28:14 +02:00
Axel Uhl c07ed0fa71 updated the TracAPI 3.0.11 readme file 2015-05-27 15:59:04 +02:00
Axel Uhl e929fc12e0 updated TracAPI form 3.0.10 to 3.0.11; here to the release notes:
We have released a new version of the TracAPI 3.0.11 that is is 100%
compatible with the previous 3.0.x releases [1].

This is a final version. It fixes bugs in the implementation and it adds
a some features. These features add methods to the API, but they keep
the backward compatibility. This version provides a new JavaDoc version [2].

  1) Features

  - Adding the method IRace.setInitialized(boolean) that allows to load
control point positions although the race is not initialized (Requested
by Jorge Piera, 17/05/2015)

  1) Bugs

   - The subscription library sends (per each control point) an
"ControlPointPosition" event with the positions  of the parameters with
a time stamp equals to the tracking start time. If the control  point
is static (it doesn't have a tracker), it means that this control won't
exist until the tracking start time arrives: it is  not possible to open
a subscription connection before the tracking start time and see the
control point. But  if the control is static,  it has to exist during
all the event. Now when a control is static, the subscription library
sends a "ControlPointPosition" event with the event start time and then
it sends other "ControlPointPosition"  event with the tracking start
time. It allows to connect with future races and see the static controls
(Requested by Jakob Odum, 25/02/2015)

  - It is possible to add two or more subscriptions for the same
subscriber (Reported by Jorge Piera, 02/05/2015)

  - If a race is in a not initialized state and it is loaded using the
parameters file, the library assumes that the consumer application wants
to load the race and it changes its initialized attribute to true. This
assumption is  wrong. Now, if a race is not initialized it will continue
being uninitialized until the event administrator changes its state to
initialized (Reported by Axel Uhl, 17/05/2015)
2015-05-27 14:44:23 +02:00
Axel Uhl 61db1c7974 whitespace change only 2015-05-27 14:43:58 +02:00
Axel Uhl d53c96bc1a fixed BoatClassImageResolver after renaming the PIRAT boat class master data literal to PIRATE 2015-05-27 12:18:48 +02:00
Axel Uhl 73bce9c196 renamed "PIRAT" boat class master data to "PIRATE" 2015-05-27 09:35:19 +02:00
Axel Uhl bdfc52566f Merge branch 'master' into ubilabs--ios--develop 2015-05-26 15:28:10 +02:00
Axel Uhl 7e95ff9561 Merge branch 'master' into bug1018 2015-05-23 14:11:10 +02:00
Axel Uhl 6e9331288b fixed i18n in RegattaOverview for wind display 2015-05-23 14:07:57 +02:00
Axel Uhl a20336b923 fixed bug 2881: wind direction shown in reversed direction in regatta overview
Conflicts:
	java/com.sap.sailing.gwt.ui/SailingGWT sdm.launch
	java/com.sap.sailing.gwt.ui/SailingGWT.launch
2015-05-23 14:07:44 +02:00
Axel Uhl 7eaa6735ef Merge remote-tracking branch 'server/bug1018' into bug1018 2015-05-23 13:22:08 +02:00
Axel Uhl 2cf3d90a81 Merge branch 'master' into bug1018 2015-05-23 12:00:31 +02:00
Axel Uhl 620a19ec10 Merge remote-tracking branch 'server/master' 2015-05-23 11:59:26 +02:00
Axel Uhl c924d6d9c7 fixing an NPE in JSON serializer when leaderboard display name is empty 2015-05-23 11:54:00 +02:00
Axel Uhl 92e0e2cc87 Merge branch 'master' into bug1018 2015-05-23 06:51:23 +02:00
Axel Uhl bf3326c7a5 removed sse.test from top-level pom.xml again 2015-05-23 06:50:49 +02:00
Axel Uhl dc62fdcd72 Merge branch 'master' into bug1018 2015-05-23 01:01:11 +02:00
Axel Uhl 329654cf2c re-enabled enum settings de-serialization again after having moved to com.sap.sse bundle 2015-05-23 01:00:09 +02:00
Axel Uhl 5d29687a02 moved settings JSON serialization test to gateway test for now 2015-05-23 00:59:16 +02:00
Axel Uhl 9cb763fc9e Merge branch 'master' into bug1018 2015-05-23 00:04:40 +02:00
Axel Uhl 8ca4f5e8b5 moved settings serialization from com.sap.sse.common to com.sap.sse; created new test fragment com.sap.sse.test which now hosts the settings serializer test case 2015-05-23 00:02:37 +02:00
Axel Uhl 4ab6d069f3 Merge remote-tracking branch 'server/bug26' into bug26 2015-05-22 23:52:43 +02:00
Axel Uhl a7681d0c97 Merge branch 'master' into bug1018 2015-05-22 22:54:28 +02:00
Axel Uhl 074f8d5e16 Merge branch 'bug26' 2015-05-22 22:54:03 +02:00
Axel Uhl 5ee1d08c6d inirwd enum settings test 2015-05-22 22:53:06 +02:00
Axel Uhl d904303a10 commented use of Class.forName 2015-05-22 22:45:47 +02:00
Axel Uhl 02aae63711 Merge branch 'master' into bug1018 2015-05-22 19:40:03 +02:00
Axel Uhl 7427578e30 Merge branch 'master' into bug26 2015-05-22 19:37:54 +02:00
Axel Uhl 3ef56a8dc2 added @GwtIncompatible to SettingsToJsonSerializer for now; Class.forName is not supported, so enum serialization probably won't work this way 2015-05-22 19:37:28 +02:00
Axel Uhl 22aa447f62 four decimals for time-on-time factor in leaderboard 2015-05-22 13:36:04 +02:00
Axel Uhl c0e55a5b56 added Javadoc to TrackedRace 2015-05-21 16:05:02 +02:00
Axel Uhl 6304504e3c added column for correctedTimeAtEstimatedArrivalAtCompetitorFarthestAhead (see bug 2862) 2015-05-21 12:58:46 +02:00
Axel Uhl 51f7f9f0c4 one more usage of WindLegTypeAndLegBearingCache 2015-05-21 12:57:17 +02:00
Axel Uhl 542c296f14 added ToT factor and ToD allowance columns to leaderboard (see bug 2862) 2015-05-21 11:25:40 +02:00
Axel Uhl 1a319c228c added timeOnTimeFactor and timeOnDistanceAllowance of CompetitorDTOImpl to equals/hashCode 2015-05-21 09:22:23 +02:00
Axel Uhl d3073529ff fixed gap change in own time, making a distinction between first and other legs 2015-05-21 08:39:02 +02:00
Axel Uhl 378d5f48cb fixing severe bug in time traveled on TrackedLegOfCompetitorImpl; the column kept counting, even after leg finishing time 2015-05-20 23:34:15 +02:00
Axel Uhl 264073a2e9 fixed tooltips for corrected/time columns; added corrected time columns to settings (see bug 2862) 2015-05-20 23:33:28 +02:00
Axel Uhl f7d72e7ab3 added corrected time columns (see bug 2862) 2015-05-20 22:45:42 +02:00
Axel Uhl 9bc3fddebc avoid reducing windward distance traveled in case a competitor is at the mark rounding and has a negative windward distance traveled for the current leg 2015-05-20 18:03:58 +02:00
Axel Uhl 2d11ab9a31 fixed calculation bug in TimeOnTimeAndDistanceRankingMetric 2015-05-20 17:50:17 +02:00
Axel Uhl cf09647e00 fixed issues with competitors who didn't start a leg yet; added toString() for TrackedLeg and TrackedLegOfCompetitor 2015-05-20 17:07:05 +02:00
Axel Uhl 96988ae292 an untested attempt to compute the gap to leader for a leg for TimeOnTimeAndDistanceRankingMetric; still square effort; extraction of pre-calculation still missing 2015-05-20 16:13:09 +02:00
Axel Uhl 132061a181 fixed some aspects of already finished legs and race 2015-05-19 18:24:07 +02:00
Axel Uhl 0ad2425617 also adapted gap chart to gap in own time 2015-05-19 16:01:19 +02:00
Axel Uhl 53ba99f9aa added null safety in gap in own time calculation; no need to pass RankingInfo for gap change calculation 2015-05-19 15:13:01 +02:00
Axel Uhl 627e97d970 Merge branch 'master' into bug1018
Conflicts:
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_cn.properties
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties
2015-05-19 14:18:08 +02:00
Axel Uhl c7589e4204 Merge remote-tracking branch 'server/master' 2015-05-19 12:58:28 +02:00
Axel Uhl 4a295068cb fixing another null PassingInstruction issue after commit ec861bebba in SwissTimingReplayToDomainAdapter 2015-05-19 12:54:45 +02:00
Axel Uhl 3654444570 renamed method that returns a Duration so it isn't called ...AsSeconds 2015-05-19 12:54:24 +02:00
Axel Uhl 775f01a7f6 gap to leader and gap at end of previous leg are now defined through the ranking metric's gap to leader in own time 2015-05-19 12:46:49 +02:00
Axel Uhl 7b0409497c omitted redundant outer class name 2015-05-19 10:10:06 +02:00
Axel Uhl 958ecaba1a added cache to gap calculation for LegEntryDTO 2015-05-19 10:07:13 +02:00
Axel Uhl 9466219772 more formatting changes 2015-05-19 09:08:39 +02:00
Axel Uhl 25d3e25834 whitespace change only 2015-05-19 09:05:43 +02:00
Axel Uhl 5e257f3cb5 Merge branch 'master' into bug1018 2015-05-19 08:57:21 +02:00
Axel Uhl 8679fb4450 use PassingInstruction.None during TracTrac control point construction 2015-05-19 08:50:38 +02:00
Axel Uhl e537d4e979 fixing SwissTimingAdapter DomainFactoryImpl which now has to use PassingInstruction.None to produce equal ControlPoint/PassingInstruction pairs 2015-05-19 08:40:32 +02:00
Axel Uhl f948ce36c3 consolidated imports to avoid warnings 2015-05-19 02:19:10 +02:00
Axel Uhl 963664727d when overstaying the lay lines, count at most the leg's windward distance 2015-05-19 02:09:56 +02:00
Axel Uhl e3d3d2c906 eliminated a few more NPEs and ranking/farthest-along inconsistencies 2015-05-19 01:32:34 +02:00
Axel Uhl b31fb1be1b using a separate comparator to determine "farthest ahead"; RaceRankComparator is slightly inconsistent with TimeOnTimeAndDistance's notion of windward distance traveled 2015-05-19 00:35:10 +02:00
Axel Uhl 1b73732ab8 Merge branch 'master' into bug1018 2015-05-18 18:42:19 +02:00
Axel Uhl ff5b049cda trying to fix bug 2860 by first obtaining the course read lock before obtaining the mark passing lock 2015-05-18 18:41:12 +02:00
Axel Uhl 470d6fe805 added symmetrical absolute/signed windward distance methods on tracked leg and AbstractRankingMetric 2015-05-18 18:40:05 +02:00
Axel Uhl e4b724142a trying to fix bug 2860 by first obtaining the course read lock before obtaining the mark passing lock 2015-05-18 18:39:00 +02:00
Axel Uhl 0e972c67e3 use absolute instead of signed windward distance to determine how far a competitor traveled 2015-05-18 17:57:34 +02:00
Axel Uhl fe368b66f3 use LeaderboardDTOCalculationReuseCache instead of NoCachingWindLegTypeAndLegBearingCache to really utilize the benefits of caching 2015-05-18 16:17:07 +02:00
Axel Uhl 10faa84ca3 Merge branch 'master' into bug1018 2015-05-18 14:41:27 +02:00
Axel Uhl 1193fcd467 fixing bug 2847 by issuing a UUID for new GateDTO objects already in the client-side editor thanks to Lennart's fix allowing us to issue random UUIDs on the client 2015-05-18 14:40:29 +02:00
Axel Uhl ec861bebba fixing bug 2858 by comparing ControlPoint *and* PassingInstruction 2015-05-18 14:16:25 +02:00
Axel Uhl 8b6f420b73 fixed name for copied course 2015-05-18 13:10:22 +02:00
Axel Uhl 0923fb203d added some null-safety to CandidateFinderImpl; see also bug 2857 2015-05-18 12:48:05 +02:00
Axel Uhl 3511a1f978 added more null-safety to TimeOnTimeAndDistanceRankingMetric 2015-05-18 12:47:47 +02:00
Axel Uhl 0262ae2657 trying to fix sporadically failing testStoreAndUpdateCompetitor test by adding a WriteConcern.SAFE to the competitor collection drop() method 2015-05-18 00:19:32 +02:00
Axel Uhl 8359e80f62 Merge branch 'master' into bug1018 2015-05-18 00:05:22 +02:00
Axel Uhl f9b0b8a41c some aftermath to bug 2846, factoring the race log analysis of the "from" race log out of the loop that copies it to the other race logs 2015-05-18 00:00:24 +02:00
Axel Uhl df57dd1cb4 Merge branch 'master' into bug1018 2015-05-17 23:55:00 +02:00
Axel Uhl e36ba93827 avoid NPE in time-on-time/time-on-distance leg comparator if no competitor is in that leg yet 2015-05-16 20:04:10 +02:00
Axel Uhl 1b15c463ec handled a bunch of null cases for TimeOnTimeAndDistance... ranking metric; there are more, e.g., in case no boats are in a leg for which a comparator is needed 2015-05-14 23:36:39 +02:00
Axel Uhl 059df3b17f added columns to competitor table for handicap data 2015-05-14 21:09:54 +02:00
Axel Uhl 39c22eee86 fixed Double box creation in DataEntryDialog to also accept null/Double instead of double only 2015-05-14 20:30:05 +02:00
Axel Uhl ba1fceecaa added fields to capture time-on-time / time-on-distance on competitor and pass values through all constructors and operations and JSON serialization 2015-05-14 20:10:20 +02:00
Axel Uhl 5885a03e33 Merge branch 'master' into bug1018 2015-05-13 18:52:43 +02:00
Axel Uhl 3e71dbe0a4 Merge remote-tracking branch 'server/master' 2015-05-13 18:51:30 +02:00
Axel Uhl cb6168e7fa use CONSTRUCTOR fields to avoid serialization problems in test fragments 2015-05-13 14:53:24 +02:00
Axel Uhl 0c72ff9619 introduced fields for RankingMetric subclass constructors to avoid class loader issues in test fragments 2015-05-13 14:49:19 +02:00