Merge branch 'master' into bug3985

This commit is contained in:
Kai Boernert
2017-03-30 10:42:44 +02:00
15 changed files with 34 additions and 34 deletions
@@ -3,7 +3,7 @@
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="false"/>
<booleanAttribute key="com.google.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT_AUTO" value="true"/>
<stringAttribute key="com.google.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9874"/>
<booleanAttribute key="com.google.gwt.eclipse.core.CODE_SERVER_PORT_AUTO" value="true"/>
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sailing.dashboards.gwt.RibDashboard"/>
@@ -38,7 +38,7 @@
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -incremental -war &quot;${project_loc:com.sap.sailing.dashboards.gwt}&quot; -startupUrl /dashboards/RibDashboard.html -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort auto com.sap.sailing.dashboards.gwt.RibDashboard"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -incremental -war &quot;${project_loc:com.sap.sailing.dashboards.gwt}&quot; -startupUrl /dashboards/RibDashboard.html -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9874 com.sap.sailing.dashboards.gwt.RibDashboard"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.dashboards.gwt"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -Dgwt.watchFileChanges=false"/>
</launchConfiguration>
@@ -5,7 +5,7 @@ iOSUsers=Start iOS App
androidUsers=Start Android App
alternativelyVisitThisLink=If you are reading this mail on the device with the App already installed, simply click below to start:
buoyTender=buoy tender
appStoreInstallText=If you don't have the App yet, please install:
appStoreInstallText=If you don''t have the App yet, please install:
appIos=Install iOS App
appAndroid=Install Android App
buoyPingerAppName=SAP Sailing Buoy Pinger
@@ -790,7 +790,7 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
boolean startOfTrackingFound = false;
boolean endOfTrackingFound = false;
// check race log
if (trackingTimesFromRaceLog != null){
if (trackingTimesFromRaceLog != null) {
if (trackingTimesFromRaceLog.getA() != null) {
startOfTracking = trackingTimesFromRaceLog.getA().getTimePoint();
startOfTrackingFound = true;
@@ -3,7 +3,7 @@
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<booleanAttribute key="com.google.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT_AUTO" value="true"/>
<stringAttribute key="com.google.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9876"/>
<booleanAttribute key="com.google.gwt.eclipse.core.CODE_SERVER_PORT_AUTO" value="true"/>
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sailing.gwt.ui.RaceBoard"/>
@@ -69,7 +69,7 @@
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -incremental -war &quot;${project_loc:com.sap.sailing.gwt.ui}&quot; -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort auto -startupUrl /gwt/Home.html com.sap.sailing.gwt.home.Home -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.regattaoverview.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup -startupUrl /gwt/AutoPlay.html com.sap.sailing.gwt.AutoPlay com.sap.sailing.gwt.home.Home com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.AutoPlay com.sap.sailing.gwt.ui.YoutubePopup com.sap.sailing.gwt.ui.Simulator com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.regattaoverview.RegattaOverview com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.ui.RaceBoard"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -incremental -war &quot;${project_loc:com.sap.sailing.gwt.ui}&quot; -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9876 -startupUrl /gwt/Home.html com.sap.sailing.gwt.home.Home -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.regattaoverview.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup -startupUrl /gwt/AutoPlay.html com.sap.sailing.gwt.AutoPlay com.sap.sailing.gwt.home.Home com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.AutoPlay com.sap.sailing.gwt.ui.YoutubePopup com.sap.sailing.gwt.ui.Simulator com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.regattaoverview.RegattaOverview com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.ui.RaceBoard"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false -Dgwt.watchFileChanges=false"/>
</launchConfiguration>
@@ -1355,7 +1355,7 @@ orcPerformanceCurveRankingMetric=ORC Performance Curve
timeOnTimeAndDistanceRankingMetric=Time-on-Time/Time-on-Distance
oneDesignRankingMetricDescription=One-Design: First across the line wins;\nin-race ranks based on windward positions (upwind/downwind) or along-course position (reaching)
orcPerformanceCurveRankingMetricDescription=ORC Performance Curve: Sophisticated handicapping scheme that awards time allowances based on a VPP/polar assuming pre-defined legs'' angles to the wind;\nbased on these allowances, an "implied wind" is calculated which is the basis for ranking.\nImplied wind can be calculated at any time in the race and is therefore the basis for in-race ranking.
timeOnTimeAndDistanceRankingMetricDescription=Time-on-Time / Time-on-Distance: Final ranking by calculated time;\ntime is calculated by optionally applying a factor to the actual time (defaulting to 1.0)\nand subtracting an allowance in seconds per nautical mile,\napplied to the course length.\nIn-race ranks based on expected arrival at fastest boat's current position\nassuming current leg's average VMG/VMC.
timeOnTimeAndDistanceRankingMetricDescription=Time-on-Time / Time-on-Distance: Final ranking by calculated time;\ntime is calculated by optionally applying a factor to the actual time (defaulting to 1.0)\nand subtracting an allowance in seconds per nautical mile,\napplied to the course length.\nIn-race ranks based on expected arrival at fastest boat''s current position\nassuming current leg''s average VMG/VMC.
timeOnTimeFactor=ToT Factor
timeOnDistanceAllowanceInSecondsPerNauticalMile=ToD Allowance
timeOnTimeFactorTooltip=Time-on-Time factor; actual time is multiplied with this factor in calculated time formula
@@ -353,7 +353,7 @@ showWindSpeedSeries=Daten für Windgeschwindigkeit zeigen
showWindDirectionSeries=Daten für Windrichtung zeigen
fleet=Flotte
boatClass=Bootsklasse
setDelayToLive=Verzögerung zu 'Live' setzen
setDelayToLive=Verzögerung zu ''Live'' setzen
pleaseEnterNonEmptyVenue=Bitte geben sie einen Veranstaltungsort ein.
pleaseEnterStartAndEndDate=Bitte geben Sie ein Start- und Endedatum an.
startDateMustBeforeEndDate=Das Startdatum muß vor dem Endedatum liegen.
@@ -956,7 +956,7 @@ rrs26Start=RRS26 Start
sailingWorldCupStart=Sailing World Cup Start
setConfiguration=Aktiviere Konfiguration
classFlag=Klassenflagge
classFlagHelpText=Setzt die Klassenflagge für {0}. Wähle 'Nicht überschreiben' um die Standardflagge der Rennart zu wählen.
classFlagHelpText=Setzt die Klassenflagge für {0}. Wähle ''Nicht überschreiben'' um die Standardflagge der Rennart zu wählen.
individualRecallHelpText=Wenn aktiviert, ermöglicht dies dem Race Officer, Einzelrückruf anzuwenden.
resultEntryHelpText=Wenn aktiviert, ermöglicht dies dem Race Officer, Ergebnisse während und nach der Beendigungsphase zu erfassen.
startmodeFlags=Startmodus-Flaggen
@@ -563,8 +563,8 @@ public class EditMarkPositionPanel extends AbstractRaceChart<AbstractSettings> i
onResize();
}
private void loadData(final Date from, final Date to) {
if (selectedRaceIdentifier != null && from != null && to != null && marks == null) {
private void loadData() {
if (selectedRaceIdentifier != null && marks == null) {
setWidget(chart);
showLoading(stringMessages.loadingMarkFixes());
markPositionService.getMarksInTrackedRace(raceIdentifierToLeaderboardRaceColumnAndFleetMapper.getLeaderboardNameAndRaceColumnNameAndFleetName(selectedRaceIdentifier),
@@ -814,7 +814,7 @@ public class EditMarkPositionPanel extends AbstractRaceChart<AbstractSettings> i
@Override
public void timeChanged(Date newTime, Date oldTime) {
if (isVisible()) {
loadData(timeRangeWithZoomProvider.getFromTime(), timeRangeWithZoomProvider.getToTime());
loadData();
updateTimePlotLine(newTime);
}
}
@@ -114,7 +114,7 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint {
createErrorPage(getStringMessages().noSuchEvent());
}
if (leaderboardGroupName != null) {
if(!raceboardData.isValidLeaderboardGroup()) {
if (!raceboardData.isValidLeaderboardGroup()) {
createErrorPage(getStringMessages().leaderboardNotContainedInLeaderboardGroup(leaderboardName, leaderboardGroupName));
return;
}
@@ -1,6 +1,6 @@
raceInRegattaOfEvent=race {0} in regatta '{1}' of event '{2}'
raceInFleetInRegattaOfEvent=race {0} ({3}) in regatta '{1}' of event '{2}'
leaderboardOfEvent=leaderboard '{0}' of event '{1}'
raceInRegattaOfEvent=race {0} in regatta ''{1}'' of event ''{2}''
raceInFleetInRegattaOfEvent=race {0} ({3}) in regatta ''{1}'' of event ''{2}''
leaderboardOfEvent=leaderboard ''{0}'' of event ''{1}''
leaderboardShowResultsLinkTitle=Show results
racesOverviewLinkTitle=Show races overview
@@ -1,6 +1,6 @@
raceInRegattaOfEvent=Carrera {0} en regata '{1}' de evento '{2}'
raceInFleetInRegattaOfEvent=Carrera {0} ({3}) en regata '{1}' de evento '{2}'
leaderboardOfEvent=Clasificación '{0}' de evento '{1}'
raceInRegattaOfEvent=Carrera {0} en regata ''{1}'' de evento ''{2}''
raceInFleetInRegattaOfEvent=Carrera {0} ({3}) en regata ''{1}'' de evento ''{2}''
leaderboardOfEvent=Clasificación ''{0}'' de evento ''{1}''
leaderboardShowResultsLinkTitle=Mostrar resultados
racesOverviewLinkTitle=Mostrar resumen de carreras
@@ -1,6 +1,6 @@
raceInRegattaOfEvent=イベント '{2}’ のレガッタ '{1}' のレース {0}
raceInFleetInRegattaOfEvent=イベント '{2}’ のレガッタ '{1}' のレース {0} ({3})
leaderboardOfEvent=イベント '{1}’ のリーダーボード '{0}'
raceInRegattaOfEvent=イベント ''{2}'’ のレガッタ ''{1}'' のレース {0}
raceInFleetInRegattaOfEvent=イベント ''{2}’’ のレガッタ ''{1}'' のレース {0} ({3})
leaderboardOfEvent=イベント ''{1}'’ のリーダーボード ''{0}''
leaderboardShowResultsLinkTitle=結果の表示
racesOverviewLinkTitle=レース概要の表示
@@ -1,6 +1,6 @@
raceInRegattaOfEvent=corrida {0} na regata '{1}' do evento '{2}'
raceInFleetInRegattaOfEvent=corrida {0} ({3}) na regata '{1}' do evento '{2}'
leaderboardOfEvent=painel de classificação '{0}' do evento '{1}'
raceInRegattaOfEvent=corrida {0} na regata ''{1}'' do evento ''{2}''
raceInFleetInRegattaOfEvent=corrida {0} ({3}) na regata ''{1}'' do evento ''{2}''
leaderboardOfEvent=painel de classificação ''{0}'' do evento ''{1}''
leaderboardShowResultsLinkTitle=Visualizar resultados
racesOverviewLinkTitle=Visualizar síntese de corridas
@@ -389,7 +389,7 @@ public class ImportMasterDataOperation extends
for (Wind fix : windTrackToReadFrom.getRawFixes()) {
Wind existingFix = windTrackToWriteTo.getFirstRawFixAtOrAfter(fix.getTimePoint());
if (existingFix == null || !(existingFix.equals(fix) && fix.getTimePoint().equals(existingFix.getTimePoint())
&& fix.getPosition().equals(existingFix.getPosition()))) {
&& Util.equalsWithNull(fix.getPosition(), existingFix.getPosition()))) {
windTrackToWriteTo.add(fix);
} else {
logger.info("Didn't add wind fix in import, because equal fix was already there.");
@@ -3,7 +3,7 @@
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<booleanAttribute key="com.google.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT_AUTO" value="true"/>
<stringAttribute key="com.google.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9875"/>
<booleanAttribute key="com.google.gwt.eclipse.core.CODE_SERVER_PORT_AUTO" value="true"/>
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sse.security.ui.Register"/>
@@ -47,7 +47,7 @@
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -incremental -workDir &quot;${project_loc:com.sap.sse.security.ui}/.tmp/gwt-work&quot; -war &quot;${project_loc:com.sap.sse.security.ui}&quot; -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort auto -startupUrl /security/ui/Login.html com.sap.sse.security.ui.Login -startupUrl /security/ui/EditProfile.html com.sap.sse.security.ui.EditProfile -startupUrl /security/ui/EmailValidation.html com.sap.sse.security.ui.EmailValidation -startupUrl /security/ui/UserManagement.html com.sap.sse.security.ui.UserManagement -startupUrl /security/ui/Register.html com.sap.sse.security.ui.Register -startupUrl /security/ui/Login.html com.sap.sse.security.ui.Login com.sap.sse.security.ui.Login com.sap.sse.security.ui.EditProfile com.sap.sse.security.ui.EmailValidation com.sap.sse.security.ui.OAuthLogin com.sap.sse.security.ui.UserManagement com.sap.sse.security.ui.Register"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -incremental -workDir &quot;${project_loc:com.sap.sse.security.ui}/.tmp/gwt-work&quot; -war &quot;${project_loc:com.sap.sse.security.ui}&quot; -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9875 -startupUrl /security/ui/Login.html com.sap.sse.security.ui.Login -startupUrl /security/ui/EditProfile.html com.sap.sse.security.ui.EditProfile -startupUrl /security/ui/EmailValidation.html com.sap.sse.security.ui.EmailValidation -startupUrl /security/ui/UserManagement.html com.sap.sse.security.ui.UserManagement -startupUrl /security/ui/Register.html com.sap.sse.security.ui.Register -startupUrl /security/ui/Login.html com.sap.sse.security.ui.Login com.sap.sse.security.ui.Login com.sap.sse.security.ui.EditProfile com.sap.sse.security.ui.EmailValidation com.sap.sse.security.ui.OAuthLogin com.sap.sse.security.ui.UserManagement com.sap.sse.security.ui.Register"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sse.security.ui"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms1024m -Xmx3072m -Dgwt.watchFileChanges=false"/>
</launchConfiguration>
+6 -6
View File
@@ -2,13 +2,13 @@
This page gives a short summary on the first attempt to integrate data from a sailing vessel's nmea network into the SAP Sailing Analytics during my three month internship from 01/17 - 03/17. The current code is a prototype and can not be integrated into any productive release.
## GOAL
The reason for the integration of NMEA data into the SAP Sailing Analytics is the assumption that the GPS of a sailing vessel is better than the GPS of a smartphone. Therefore it desireable to retrieve the location from the vessel's GPS if available. Furthermore most sailing vessels have additional wind sensors. These sensors could be used as an additional wind source for the SAP Sailing Analytics. This would allow a more detailed analysis of the wind conditions during a race.
The reason for the integration of NMEA data into the SAP Sailing Analytics is the assumption that the GPS of a sailing vessel is better than the GPS of a smartphone. Therefore it is desirable to retrieve the location from the vessel's GPS if available. Furthermore most sailing vessels have additional wind sensors. These sensors could be used as an additional wind source for the SAP Sailing Analytics. This would allow a more detailed analysis of the wind conditions during a race and thus a better analysis of the race in general.
## Documentation
All the code regarding the NMEA functionality is on the branch "nmea" in SAP Sailing Analytics git. The current state of the nmea topic is documented in the NmeaDocu.pptx in the doc folder of the branch.
All the code regarding the NMEA functionality is on the branch "nmea" in the SAP Sailing Analytics Git. The current state of the nmea topic is documented in the NmeaDocu.pptx in the doc folder of the branch.
####The documentation includes:
* short explanation of the different NMEA2000 protocols and NMEA0183 protocols
* set up guide for the test set up
* short summary of projects
* To Do list with open tasks
* A short discription of the NMEA0183 and NMEA2000 protocol
* A set up guide for the test set up
* A short introduction of the relevant Java projects
* A To-Do list with open tasks