Merge branch 'master' into bug4478

This commit is contained in:
Kai Boernert committed 2018-03-14 15:44:33 +01:00
commit 79d6bca2a5
69 files changed
+20728 -147

No files matched your search

+4 -4
View File
@@ -1,7 +1,7 @@
#!/bin/bash
# You need an installation of the Neon SR2 release of "Eclipse IDE for Eclipse Committers" matching you OS and JDK (32 vs 64 Bit):
# http://www.eclipse.org/downloads/packages/eclipse-ide-eclipse-committers/neon2
# http://www.eclipse.org/downloads/packages/eclipse-ide-eclipse-committers/oxygen2
if [[ $1 == "" ]]; then
echo "You need to specify the Eclipse installation directory"
@@ -40,13 +40,13 @@ echo "Installing BIRT charts (requirement for MAT)..."
installPlugins http://download.eclipse.org/birt/update-site/4.6 org.eclipse.birt.chart.feature.group
echo "Installing Memory Analyzer..."
installPlugins http://download.eclipse.org/mat/1.7/update-site/ org.eclipse.mat.feature.feature.group,org.eclipse.mat.chart.feature.feature.group
installPlugins http://download.eclipse.org/releases/oxygen org.eclipse.mat.feature.feature.group,org.eclipse.mat.chart.feature.feature.group
echo "Installing latest version of Code Recommenders..."
updatePlugins http://download.eclipse.org/recommenders/updates/stable/ org.eclipse.recommenders.rcp.feature.feature.group,org.eclipse.recommenders.mylyn.rcp.feature.feature.group,org.eclipse.recommenders.snipmatch.rcp.feature.feature.group,org.eclipse.recommenders.news.rcp.feature.feature.group
echo "Installing latest version of EGit (Neon release version has bugs)..."
updatePlugins http://download.eclipse.org/egit/updates org.eclipse.jgit.feature.group,org.eclipse.jgit.http.apache.feature.group,org.eclipse.egit.feature.group,org.eclipse.egit.mylyn.feature.group
echo "Installing latest version of EGit..."
updatePlugins http://download.eclipse.org/egit/updates org.eclipse.jgit.feature.group,org.eclipse.jgit.http.apache.feature.group,org.eclipse.egit.feature.group,org.eclipse.egit.mylyn.feature.group,org.eclipse.egit.gitflow.feature.feature.group
echo "Installing latest version of Mylyn ..."
updatePlugins http://download.eclipse.org/mylyn/releases/latest org.eclipse.mylyn_feature.feature.group,org.eclipse.mylyn.bugzilla_feature.feature.group,org.eclipse.mylyn.builds.feature.group,org.eclipse.mylyn.commons.feature.group,org.eclipse.mylyn.commons.identity.feature.group,org.eclipse.mylyn.commons.notifications.feature.group,org.eclipse.mylyn.commons.repositories.feature.group,org.eclipse.mylyn.commons.repositories.http.feature.group,org.eclipse.mylyn.context_feature.feature.group,org.eclipse.mylyn.discovery.feature.group,org.eclipse.mylyn.gerrit.feature.feature.group,org.eclipse.mylyn.git.feature.group,org.eclipse.mylyn.hudson.feature.group,org.eclipse.mylyn.java_feature.feature.group,org.eclipse.mylyn.monitor.feature.group,org.eclipse.mylyn.reviews.feature.feature.group,org.eclipse.mylyn.team_feature.feature.group,org.eclipse.mylyn.versions.feature.group,org.eclipse.mylyn.wikitext_feature.feature.group
@@ -7,5 +7,6 @@
<classpathentry exported="true" kind="lib" path="WEB-INF/lib/gwt-ajaxloader.jar"/>
<classpathentry kind="lib" path="WEB-INF/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="com.gwtplugins.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
@@ -30,10 +30,21 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gdt.eclipse.core.webAppProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gwt.eclipse.core.gwtProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
<nature>com.gwtplugins.gwt.eclipse.core.gwtNature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
entryPointModules=
filesCopiedToWebInfLib=
@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.gwtplugins.gdt.eclipse.suite.webapp">
<booleanAttribute key="com.gwtplugins.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.gwtplugins.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
<booleanAttribute key="com.gwtplugins.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9876"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.URL" value="/security/ui/Login.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/com.sap.sailing.dashboards.gwt"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" value="true"/>
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8&quot; javaProject=&quot;com.sap.sailing.gwt.ui&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.googlecode.java-diff-utils/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.annotations/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.json.simple/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.geocoding/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.udpconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mongodb/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.replication/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.operationaltransformation/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.tractrac.clientmodule/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.competitorimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.schema/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.moxieapps.gwt.highcharts/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.freg.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingreplayadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.provider/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.structureimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt.adminconsole/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.news/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;com.sap.sailing.gwt.ui&quot;/&gt;&#10;&lt;/runtimeClasspathEntry&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;com.sap.sse.common&quot; type=&quot;1&quot;/&gt;&#10;"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.gwtplugins.gwt.eclipse.core.moduleClasspathProvider"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -startupUrl /security/ui/Login.html -logLevel INFO -noserver -incremental -workDir &quot;${project_loc:com.sap.sse.security.ui}/.tmp/gwt-work&quot; -war &quot;${project_loc:com.sap.sse.security.ui}&quot; -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -codeServerPort 9876 com.sap.sailing.dashboards.gwt.RibDashboard -startupUrl /dashboards/RibDashboard.html 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="-XX:+UseG1GC -XX:+UseStringDeduplication -Dgwt.watchFileChanges=false -Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:com.sap.sailing.gwt.ui}/.tmp/gwt-work"/>
</launchConfiguration>
@@ -4,13 +4,10 @@
<stringAttribute key="com.gwtplugins.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
<booleanAttribute key="com.gwtplugins.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9876"/>
<listAttribute key="com.gwtplugins.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sailing.gwt.autoplay.AutoPlay"/>
</listAttribute>
<booleanAttribute key="com.gwtplugins.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.URL" value="/gwt/Home.html"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.URL" value="/security/ui/Login.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/com.sap.sailing.gwt.ui"/>
<listEntry value="/com.sap.sailing.dashboards.gwt"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
@@ -21,7 +18,7 @@
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" value="true"/>
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8&quot; javaProject=&quot;com.sap.sailing.gwt.ui&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
@@ -100,8 +97,8 @@
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.gwtplugins.gwt.eclipse.core.moduleClasspathProvider"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-workDir &quot;${project_loc:com.sap.sailing.gwt.ui}/.tmp/gwt-work&quot; -war &quot;${project_loc:com.sap.sailing.gwt.ui}&quot; -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -codeServerPort 9876 com.sap.sailing.gwt.home.Home -startupUrl /gwt/Leaderboard.html -startupUrl /gwt/RaceBoard.html -startupUrl /gwt/Simulator.html"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms3g -Xmx8g -XX:+UseG1GC -XX:+UseStringDeduplication -Dgwt.watchFileChanges=false"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-startupUrl /security/ui/Login.html -logLevel INFO -noserver -incremental -workDir &quot;${project_loc:com.sap.sse.security.ui}/.tmp/gwt-work&quot; -war &quot;${project_loc:com.sap.sse.security.ui}&quot; -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -codeServerPort 9876 com.sap.sailing.dashboards.gwt.RibDashboard -startupUrl /dashboards/RibDashboard.html 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="-XX:+UseG1GC -XX:+UseStringDeduplication -Dgwt.watchFileChanges=false -Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:com.sap.sailing.gwt.ui}/.tmp/gwt-work"/>
</launchConfiguration>
@@ -21,19 +21,19 @@ import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
public enum ExpeditionExtendedSensorDataMetadata {
HEEL("Heel", BravoExtendedSensorDataMetadata.HEEL), //
TRIM("Trim", BravoExtendedSensorDataMetadata.PITCH), //
LEEWAY("Leeway", BravoExtendedSensorDataMetadata.LEEWAY, /* expected in logfile */ true), //
SET("Set", BravoExtendedSensorDataMetadata.SET, /* expected in logfile */ true), //
DRIFT("Drift", BravoExtendedSensorDataMetadata.DRIFT, /* expected in logfile */ true), //
DEPTH("Depth", BravoExtendedSensorDataMetadata.DEPTH, /* expected in logfile */ true), //
RUDDER("Rudder", BravoExtendedSensorDataMetadata.RUDDER, /* expected in logfile */ true), //
FORESTAY_LOAD("Forestay", BravoExtendedSensorDataMetadata.FORESTAY_LOAD, /* expected in logfile */ true), //
FORESTAY_PRESSURE("ForestayPres", BravoExtendedSensorDataMetadata.FORESTAY_PRESSURE, /* expected in logfile */ true), //
TACK_ANGLE(null, BravoExtendedSensorDataMetadata.TACK_ANGLE), //
RAKE_DEG("RakeDeg", BravoExtendedSensorDataMetadata.RAKE_DEG, /* expected in logfile */ true), //
DEFLECTOR_PERCENTAGE("DflectrPP", BravoExtendedSensorDataMetadata.DEFLECTOR_PERCENTAGE, /* expected in logfile */ true), //
TARGET_HEEL("TG Heell", BravoExtendedSensorDataMetadata.TARGET_HEEL, /* expected in logfile */ true), //
DEFLECTOR_MILLIMETERS("DflectrMM", BravoExtendedSensorDataMetadata.DEFLECTOR_MILLIMETERS, /* expected in logfile */ true), //
TARGET_BOATSPEED_P("BspTr", BravoExtendedSensorDataMetadata.TARGET_BOATSPEED_P, /* expected in logfile */ true), //
LEEWAY("Leeway", BravoExtendedSensorDataMetadata.LEEWAY), //
SET("Set", BravoExtendedSensorDataMetadata.SET), //
DRIFT("Drift", BravoExtendedSensorDataMetadata.DRIFT), //
DEPTH("Depth", BravoExtendedSensorDataMetadata.DEPTH), //
RUDDER("Rudder", BravoExtendedSensorDataMetadata.RUDDER), //
FORESTAY_LOAD("Forestay", BravoExtendedSensorDataMetadata.FORESTAY_LOAD), //
FORESTAY_PRESSURE("ForestayPres", BravoExtendedSensorDataMetadata.FORESTAY_PRESSURE), //
TACK_ANGLE("TackAngle", BravoExtendedSensorDataMetadata.TACK_ANGLE), //
RAKE_DEG("RakeDeg", BravoExtendedSensorDataMetadata.RAKE_DEG), //
DEFLECTOR_PERCENTAGE("DflectrPP", BravoExtendedSensorDataMetadata.DEFLECTOR_PERCENTAGE), //
TARGET_HEEL("TG Heell", BravoExtendedSensorDataMetadata.TARGET_HEEL), //
DEFLECTOR_MILLIMETERS("DflectrMM", BravoExtendedSensorDataMetadata.DEFLECTOR_MILLIMETERS), //
TARGET_BOATSPEED_P("BspTr", BravoExtendedSensorDataMetadata.TARGET_BOATSPEED_P), //
;
private String columnName;
@@ -100,9 +100,7 @@ public enum ExpeditionExtendedSensorDataMetadata {
public static Map<String, Integer> getColumnNamesToIndexInDoubleFix() {
final Map<String, Integer> columnNamesToIndexInDoubleFix = new HashMap<>();
for (final ExpeditionExtendedSensorDataMetadata column : ExpeditionExtendedSensorDataMetadata.values()) {
if (column.isExpectedInLogFile()) {
columnNamesToIndexInDoubleFix.put(column.getColumnName(), column.getColumnIndex());
}
columnNamesToIndexInDoubleFix.put(column.getColumnName(), column.getColumnIndex());
}
return columnNamesToIndexInDoubleFix;
}
@@ -283,7 +283,7 @@ public class TransientCompetitorStoreImpl implements CompetitorStore, Serializab
@Override
public void addNewCompetitors(Iterable<Competitor> competitors) {
for (Competitor competitor: competitors) {
for (Competitor competitor : competitors) {
addNewCompetitor(competitor);
}
}
@@ -258,8 +258,11 @@ public class EditCCG extends javax.swing.JDialog {
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
// TODO add your handling code here:
for (CCGMessage o : jMarkList.getSelectedValuesList())
marks.remove(o);
for (CCGMessage o : jMarkList.getSelectedValuesList()) {
for (final Mark m : o.getMarkList()) {
marks.remove(m);
}
}
jMarkList.setListData(marks.toArray(new CCGMessage[0]));
}//GEN-LAST:event_jButton3ActionPerformed
@@ -76,6 +76,7 @@ public class TimePointTest {
}
@Test
@SuppressWarnings("unlikely-arg-type")
public void testEqualForString() {
TimePoint t = new MillisecondsTimePoint(Long.MIN_VALUE);
assertFalse(t.equals("s"));
@@ -1,5 +1,6 @@
package com.sap.sailing.domain.maneuverdetection.impl;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sse.common.TimePoint;
@@ -14,12 +15,15 @@ public class ManeuverCurveBoundaryExtension {
private final TimePoint extensionTimePoint;
private final SpeedWithBearing speedWithBearingAtExtensionTimePoint;
private final double courseChangeInDegreesWithinExtensionArea;
private final Speed lowestSpeedWithinExtensionArea;
public ManeuverCurveBoundaryExtension(TimePoint extensionTimePoint, SpeedWithBearing speedWithBearingAtExtensionTimePoint,
double totalCourseChangeInDegreesExtension) {
public ManeuverCurveBoundaryExtension(TimePoint extensionTimePoint,
SpeedWithBearing speedWithBearingAtExtensionTimePoint, double totalCourseChangeInDegreesExtension,
Speed lowestSpeedWithinExtensionArea) {
this.extensionTimePoint = extensionTimePoint;
this.speedWithBearingAtExtensionTimePoint = speedWithBearingAtExtensionTimePoint;
this.courseChangeInDegreesWithinExtensionArea = totalCourseChangeInDegreesExtension;
this.lowestSpeedWithinExtensionArea = lowestSpeedWithinExtensionArea;
}
/**
@@ -50,4 +54,11 @@ public class ManeuverCurveBoundaryExtension {
public double getCourseChangeInDegreesWithinExtensionArea() {
return courseChangeInDegreesWithinExtensionArea;
}
/**
* Gets lowest speed within extension area.
*/
public Speed getLowestSpeedWithinExtensionArea() {
return lowestSpeedWithinExtensionArea;
}
}
@@ -1,5 +1,6 @@
package com.sap.sailing.domain.maneuverdetection.impl;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.tracking.ManeuverCurveBoundaries;
import com.sap.sailing.domain.tracking.impl.ManeuverCurveBoundariesImpl;
@@ -17,8 +18,9 @@ public class ManeuverCurveDetails extends ManeuverCurveBoundariesImpl {
public ManeuverCurveDetails(TimePoint timePointBefore, TimePoint timePointAfter, TimePoint timePoint,
SpeedWithBearing speedWithBearingBefore, SpeedWithBearing speedWithBearingAfter,
double directionChangeInDegrees, double maxAngularVelocityInDegreesPerSecond) {
super(timePointBefore, timePointAfter, speedWithBearingBefore, speedWithBearingAfter, directionChangeInDegrees);
double directionChangeInDegrees, double maxAngularVelocityInDegreesPerSecond, Speed lowestSpeed) {
super(timePointBefore, timePointAfter, speedWithBearingBefore, speedWithBearingAfter, directionChangeInDegrees,
lowestSpeed);
this.timePoint = timePoint;
this.maxAngularVelocityInDegreesPerSecond = maxAngularVelocityInDegreesPerSecond;
}
@@ -34,7 +36,7 @@ public class ManeuverCurveDetails extends ManeuverCurveBoundariesImpl {
}
/**
* The maximal angular velocity recorded within the curve which was recorded at {@link #getTimePoint()}.
* Gets the maximal angular velocity recorded within the curve which was recorded at {@link #getTimePoint()}.
*
* @return The maximal angular velocity in degrees per second
*/
@@ -42,8 +44,8 @@ public class ManeuverCurveDetails extends ManeuverCurveBoundariesImpl {
return maxAngularVelocityInDegreesPerSecond;
}
public ManeuverCurveBoundaries extractEnteringAndExistingDetailsOnly() {
return new ManeuverCurveBoundariesImpl(getTimePointBefore(), getTimePointAfter(),
getSpeedWithBearingBefore(), getSpeedWithBearingAfter(), getDirectionChangeInDegrees());
public ManeuverCurveBoundaries extractCurveBoundariesOnly() {
return new ManeuverCurveBoundariesImpl(getTimePointBefore(), getTimePointAfter(), getSpeedWithBearingBefore(),
getSpeedWithBearingAfter(), getDirectionChangeInDegrees(), getLowestSpeed());
}
}
@@ -1,5 +1,6 @@
package com.sap.sailing.domain.maneuverdetection.impl;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.tracking.SpeedWithBearingStepsIterable;
import com.sap.sse.common.TimePoint;
@@ -13,15 +14,16 @@ import com.sap.sse.common.TimePoint;
public class ManeuverCurveDetailsWithBearingSteps extends ManeuverCurveDetails {
private final SpeedWithBearingStepsIterable speedWithBearingSteps;
public ManeuverCurveDetailsWithBearingSteps(TimePoint timePointBefore, TimePoint timePointAfter,
TimePoint timePoint, SpeedWithBearing speedWithBearingBefore, SpeedWithBearing speedWithBearingAfter,
double directionChangeInDegrees, double maxAngularVelocityInDegreesPerSecond, SpeedWithBearingStepsIterable speedWithBearingSteps) {
double directionChangeInDegrees, double maxAngularVelocityInDegreesPerSecond, Speed lowestSpeed,
SpeedWithBearingStepsIterable speedWithBearingSteps) {
super(timePointBefore, timePointAfter, timePoint, speedWithBearingBefore, speedWithBearingAfter,
directionChangeInDegrees, maxAngularVelocityInDegreesPerSecond);
directionChangeInDegrees, maxAngularVelocityInDegreesPerSecond, lowestSpeed);
this.speedWithBearingSteps = speedWithBearingSteps;
}
/**
* Gets the list of bearing steps which was used for computation of curve details.
*
@@ -19,6 +19,7 @@ import com.sap.sailing.domain.common.ManeuverType;
import com.sap.sailing.domain.common.NauticalSide;
import com.sap.sailing.domain.common.NoWindException;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sailing.domain.common.Wind;
@@ -433,8 +434,8 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
sideToWhichWaypointWasPassed = maneuverDirection;
// produce an additional mark passing maneuver; continue to analyze to catch jibe sets and kiwi drops
maneuvers.add(new MarkPassingManeuverImpl(ManeuverType.MARK_PASSING, tackAfterManeuver, markPassingPosition,
maneuverLoss, markPassingTimePoint, maneuverMainCurveDetails.extractEnteringAndExistingDetailsOnly(),
maneuverDetails.extractEnteringAndExistingDetailsOnly(),
maneuverLoss, markPassingTimePoint, maneuverMainCurveDetails.extractCurveBoundariesOnly(),
maneuverDetails.extractCurveBoundariesOnly(),
maneuverMainCurveDetails.getMaxAngularVelocityInDegreesPerSecond(), waypointPassed,
sideToWhichWaypointWasPassed));
} else {
@@ -502,14 +503,14 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
refinedPenaltyDetails = computeManeuverDetails(refinedPenaltyMainCurveDetails,
maneuverDetails.getTimePointBefore(), firstPenaltyCircleCompletedAt);
}
maneuverLoss = getManeuverLoss(maneuverDetails.getTimePointBefore(),
maneuverDetails.getTimePoint(), firstPenaltyCircleCompletedAt);
maneuverLoss = getManeuverLoss(maneuverDetails.getTimePointBefore(), maneuverDetails.getTimePoint(),
firstPenaltyCircleCompletedAt);
Position penaltyPosition = competitorTrack.getEstimatedPosition(refinedPenaltyDetails.getTimePoint(),
/* extrapolate */ false);
final Maneuver maneuver = new ManeuverWithStableSpeedAndCourseBoundariesImpl(maneuverType,
tackAfterManeuver, penaltyPosition, maneuverLoss, refinedPenaltyDetails.getTimePoint(),
refinedPenaltyMainCurveDetails.extractEnteringAndExistingDetailsOnly(),
refinedPenaltyDetails.extractEnteringAndExistingDetailsOnly(),
refinedPenaltyMainCurveDetails.extractCurveBoundariesOnly(),
refinedPenaltyDetails.extractCurveBoundariesOnly(),
refinedPenaltyMainCurveDetails.getMaxAngularVelocityInDegreesPerSecond());
maneuvers.add(maneuver);
// after we've "consumed" one tack and one jibe, recursively find more maneuvers if tacks and/or jibes
@@ -523,12 +524,12 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
final Maneuver maneuver;
if (numberOfTacks > 0 || numberOfJibes > 0) {
maneuverType = numberOfTacks > 0 ? ManeuverType.TACK : ManeuverType.JIBE;
maneuverLoss = getManeuverLoss(maneuverDetails.getTimePointBefore(),
maneuverDetails.getTimePoint(), maneuverDetails.getTimePointAfter());
maneuverLoss = getManeuverLoss(maneuverDetails.getTimePointBefore(), maneuverDetails.getTimePoint(),
maneuverDetails.getTimePointAfter());
maneuver = new ManeuverWithStableSpeedAndCourseBoundariesImpl(maneuverType, tackAfterManeuver,
maneuverPosition, maneuverLoss, maneuverDetails.getTimePoint(),
maneuverMainCurveDetails.extractEnteringAndExistingDetailsOnly(),
maneuverDetails.extractEnteringAndExistingDetailsOnly(),
maneuverMainCurveDetails.extractCurveBoundariesOnly(),
maneuverDetails.extractCurveBoundariesOnly(),
maneuverMainCurveDetails.getMaxAngularVelocityInDegreesPerSecond());
} else if (wind != null) {
// heading up or bearing away
@@ -543,18 +544,18 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
// either HEAD_UP or BEAR_AWAY
maneuver = new ManeuverWithMainCurveBoundariesImpl(maneuverType, tackAfterManeuver,
maneuverPosition, maneuverLoss, maneuverDetails.getTimePoint(),
maneuverMainCurveDetails.extractEnteringAndExistingDetailsOnly(),
maneuverDetails.extractEnteringAndExistingDetailsOnly(),
maneuverMainCurveDetails.extractCurveBoundariesOnly(),
maneuverDetails.extractCurveBoundariesOnly(),
maneuverMainCurveDetails.getMaxAngularVelocityInDegreesPerSecond());
} else {
// no wind information; marking as UNKNOWN
maneuverType = ManeuverType.UNKNOWN;
maneuverLoss = getManeuverLoss(maneuverDetails.getTimePointBefore(),
maneuverDetails.getTimePoint(), maneuverDetails.getTimePointAfter());
maneuver = new ManeuverWithStableSpeedAndCourseBoundariesImpl(maneuverType, tackAfterManeuver, maneuverPosition,
maneuverLoss, maneuverDetails.getTimePoint(),
maneuverMainCurveDetails.extractEnteringAndExistingDetailsOnly(),
maneuverDetails.extractEnteringAndExistingDetailsOnly(),
maneuverLoss = getManeuverLoss(maneuverDetails.getTimePointBefore(), maneuverDetails.getTimePoint(),
maneuverDetails.getTimePointAfter());
maneuver = new ManeuverWithStableSpeedAndCourseBoundariesImpl(maneuverType, tackAfterManeuver,
maneuverPosition, maneuverLoss, maneuverDetails.getTimePoint(),
maneuverMainCurveDetails.extractCurveBoundariesOnly(),
maneuverDetails.extractCurveBoundariesOnly(),
maneuverMainCurveDetails.getMaxAngularVelocityInDegreesPerSecond());
}
maneuvers.add(maneuver);
@@ -582,21 +583,29 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
if (speedWhenSpeedStartedToDrop != null) {
SpeedWithBearing speedAfterManeuver = track.getEstimatedSpeed(timePointWhenSpeedLevelledOffAfterManeuver);
if (speedAfterManeuver != null) {
// For upwind/downwind legs, find the mean course between inbound and outbound course and project actual and
// For upwind/downwind legs, find the mean course between inbound and outbound course and project actual
// and
// extrapolated positions onto it:
Bearing middleManeuverAngle = speedWhenSpeedStartedToDrop.getBearing().middle(speedAfterManeuver.getBearing());
// extrapolate maximum speed before maneuver to time point of maximum speed after maneuver and project resulting position
// onto the average maneuver course; compare to the projected position actually reached at the time point of maximum speed after
Bearing middleManeuverAngle = speedWhenSpeedStartedToDrop.getBearing()
.middle(speedAfterManeuver.getBearing());
// extrapolate maximum speed before maneuver to time point of maximum speed after maneuver and project
// resulting position
// onto the average maneuver course; compare to the projected position actually reached at the time
// point of maximum speed after
// maneuver:
Position positionWhenSpeedStartedToDrop = track.getEstimatedPosition(timePointWhenSpeedStartedToDrop, /* extrapolate */ false);
Position extrapolatedPositionAtTimePointOfMaxSpeedAfterManeuver =
speedWhenSpeedStartedToDrop.travelTo(positionWhenSpeedStartedToDrop, timePointWhenSpeedStartedToDrop, timePointWhenSpeedLevelledOffAfterManeuver);
Position actualPositionAtTimePointOfMaxSpeedAfterManeuver = track.getEstimatedPosition(timePointWhenSpeedLevelledOffAfterManeuver, /* extrapolate */ false);
Position projectedExtrapolatedPositionAtTimePointOfMaxSpeedAfterManeuver =
extrapolatedPositionAtTimePointOfMaxSpeedAfterManeuver.projectToLineThrough(positionWhenSpeedStartedToDrop, middleManeuverAngle);
Position projectedActualPositionAtTimePointOfMaxSpeedAfterManeuver =
actualPositionAtTimePointOfMaxSpeedAfterManeuver.projectToLineThrough(positionWhenSpeedStartedToDrop, middleManeuverAngle);
result = projectedActualPositionAtTimePointOfMaxSpeedAfterManeuver.getDistance(projectedExtrapolatedPositionAtTimePointOfMaxSpeedAfterManeuver);
Position positionWhenSpeedStartedToDrop = track.getEstimatedPosition(timePointWhenSpeedStartedToDrop,
/* extrapolate */ false);
Position extrapolatedPositionAtTimePointOfMaxSpeedAfterManeuver = speedWhenSpeedStartedToDrop.travelTo(
positionWhenSpeedStartedToDrop, timePointWhenSpeedStartedToDrop,
timePointWhenSpeedLevelledOffAfterManeuver);
Position actualPositionAtTimePointOfMaxSpeedAfterManeuver = track
.getEstimatedPosition(timePointWhenSpeedLevelledOffAfterManeuver, /* extrapolate */ false);
Position projectedExtrapolatedPositionAtTimePointOfMaxSpeedAfterManeuver = extrapolatedPositionAtTimePointOfMaxSpeedAfterManeuver
.projectToLineThrough(positionWhenSpeedStartedToDrop, middleManeuverAngle);
Position projectedActualPositionAtTimePointOfMaxSpeedAfterManeuver = actualPositionAtTimePointOfMaxSpeedAfterManeuver
.projectToLineThrough(positionWhenSpeedStartedToDrop, middleManeuverAngle);
result = projectedActualPositionAtTimePointOfMaxSpeedAfterManeuver
.getDistance(projectedExtrapolatedPositionAtTimePointOfMaxSpeedAfterManeuver);
} else {
result = null;
}
@@ -706,7 +715,7 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
maneuverMainCurveDetails.getSpeedWithBearingAfter(),
maneuverMainCurveDetails.getDirectionChangeInDegrees(),
maneuverMainCurveDetails.getMaxAngularVelocityInDegreesPerSecond(),
maneuverMainCurveSpeedWithBearingSteps);
maneuverMainCurveDetails.getLowestSpeed(), maneuverMainCurveSpeedWithBearingSteps);
}
/**
@@ -754,11 +763,20 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
double totalCourseChangeInDegrees = beforeManeuverSectionExtension.getCourseChangeInDegreesWithinExtensionArea()
+ maneuverMainCurveDetails.getDirectionChangeInDegrees()
+ afterManeuverSectionExtension.getCourseChangeInDegreesWithinExtensionArea();
Speed lowestSpeed = maneuverMainCurveDetails.getLowestSpeed();
if (lowestSpeed == null || beforeManeuverSectionExtension.getLowestSpeedWithinExtensionArea() != null
&& lowestSpeed.compareTo(beforeManeuverSectionExtension.getLowestSpeedWithinExtensionArea()) > 0) {
lowestSpeed = beforeManeuverSectionExtension.getLowestSpeedWithinExtensionArea();
}
if (lowestSpeed == null || afterManeuverSectionExtension.getLowestSpeedWithinExtensionArea() != null
&& lowestSpeed.compareTo(afterManeuverSectionExtension.getLowestSpeedWithinExtensionArea()) > 0) {
lowestSpeed = afterManeuverSectionExtension.getLowestSpeedWithinExtensionArea();
}
return new ManeuverCurveDetails(beforeManeuverSectionExtension.getExtensionTimePoint(),
afterManeuverSectionExtension.getExtensionTimePoint(), maneuverMainCurveDetails.getTimePoint(),
beforeManeuverSectionExtension.getSpeedWithBearingAtExtensionTimePoint(),
afterManeuverSectionExtension.getSpeedWithBearingAtExtensionTimePoint(), totalCourseChangeInDegrees,
maneuverMainCurveDetails.getMaxAngularVelocityInDegreesPerSecond());
maneuverMainCurveDetails.getMaxAngularVelocityInDegreesPerSecond(), lowestSpeed);
}
/**
@@ -807,6 +825,7 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
}
TimePoint stableBearingAnalysisUntil = maneuverStart == null ? maneuverMainCurveDetails.getTimePointBefore()
: maneuverStart.getExtensionTimePoint();
Speed lowestSpeed = maneuverStart == null ? null : maneuverStart.getLowestSpeedWithinExtensionArea();
double courseChangeSinceManeuverMainCurveInDegrees = maneuverStart == null ? 0
: maneuverStart.getCourseChangeInDegreesWithinExtensionArea();
stepsToAnalyze = getSpeedWithBearingStepsWithinTimeRange(stepsToAnalyze, earliestTimePointForSpeedTrendAnalysis,
@@ -818,14 +837,19 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
maneuverStart = stableBearingExtension;
courseChangeSinceManeuverMainCurveInDegrees += stableBearingExtension
.getCourseChangeInDegreesWithinExtensionArea();
if (lowestSpeed == null
|| lowestSpeed.compareTo(stableBearingExtension.getLowestSpeedWithinExtensionArea()) > 0) {
lowestSpeed = stableBearingExtension.getLowestSpeedWithinExtensionArea();
}
}
return maneuverStart != null
? new ManeuverCurveBoundaryExtension(maneuverStart.getExtensionTimePoint(),
maneuverStart.getSpeedWithBearingAtExtensionTimePoint(),
courseChangeSinceManeuverMainCurveInDegrees
+ maneuverStart.getCourseChangeInDegreesWithinExtensionArea())
+ maneuverStart.getCourseChangeInDegreesWithinExtensionArea(),
lowestSpeed)
: new ManeuverCurveBoundaryExtension(maneuverMainCurveDetails.getTimePointBefore(),
maneuverMainCurveDetails.getSpeedWithBearingBefore(), 0);
maneuverMainCurveDetails.getSpeedWithBearingBefore(), 0, null);
}
private boolean isCourseChangeLimitExceededForCurveExtension(
@@ -887,6 +911,7 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
}
TimePoint stableBearingAnalysisFrom = maneuverEnd == null ? maneuverMainCurveDetails.getTimePointAfter()
: maneuverEnd.getExtensionTimePoint();
Speed lowestSpeed = maneuverEnd == null ? null : maneuverEnd.getLowestSpeedWithinExtensionArea();
double courseChangeSinceManeuverMainCurveInDegrees = maneuverEnd == null ? 0
: maneuverEnd.getCourseChangeInDegreesWithinExtensionArea();
stepsToAnalyze = getSpeedWithBearingStepsWithinTimeRange(stepsToAnalyze, stableBearingAnalysisFrom,
@@ -898,11 +923,17 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
maneuverEnd = stableBearingExtension;
courseChangeSinceManeuverMainCurveInDegrees += stableBearingExtension
.getCourseChangeInDegreesWithinExtensionArea();
if (lowestSpeed == null
|| lowestSpeed.compareTo(stableBearingExtension.getLowestSpeedWithinExtensionArea()) > 0) {
lowestSpeed = stableBearingExtension.getLowestSpeedWithinExtensionArea();
}
}
return maneuverEnd != null ? new ManeuverCurveBoundaryExtension(maneuverEnd.getExtensionTimePoint(),
maneuverEnd.getSpeedWithBearingAtExtensionTimePoint(), courseChangeSinceManeuverMainCurveInDegrees)
return maneuverEnd != null
? new ManeuverCurveBoundaryExtension(maneuverEnd.getExtensionTimePoint(),
maneuverEnd.getSpeedWithBearingAtExtensionTimePoint(),
courseChangeSinceManeuverMainCurveInDegrees, lowestSpeed)
: new ManeuverCurveBoundaryExtension(maneuverMainCurveDetails.getTimePointAfter(),
maneuverMainCurveDetails.getSpeedWithBearingAfter(), 0);
maneuverMainCurveDetails.getSpeedWithBearingAfter(), 0, null);
}
protected Duration getMaxDurationForAfterManeuverSectionExtension(Duration approximateManeuverDuration) {
@@ -947,6 +978,7 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
SpeedWithBearingStep stepWithMaxSpeed = null;
double courseChangeSinceMainCurveBeforeSpeedMaximumInDegrees = 0;
double courseChangeAfterStepWithSpeedMaximum = 0;
Speed lowestSpeed = null;
for (SpeedWithBearingStep speedWithBearingStep : finalStepsToAnalyze) {
courseChangeAfterStepWithSpeedMaximum += speedWithBearingStep.getCourseChangeInDegrees();
@@ -963,6 +995,9 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
courseChangeSinceMainCurveBeforeSpeedMaximumInDegrees += courseChangeAfterStepWithSpeedMaximum;
courseChangeAfterStepWithSpeedMaximum = 0;
}
if (lowestSpeed == null || lowestSpeed.compareTo(speedWithBearingStep.getSpeedWithBearing()) > 0) {
lowestSpeed = speedWithBearingStep.getSpeedWithBearing();
}
}
previousSpeedInKnots = speedInKnots;
}
@@ -974,7 +1009,8 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
}
return stepWithMaxSpeed == null ? null
: new ManeuverCurveBoundaryExtension(stepWithMaxSpeed.getTimePoint(),
stepWithMaxSpeed.getSpeedWithBearing(), courseChangeSinceMainCurveBeforeSpeedMaximumInDegrees);
stepWithMaxSpeed.getSpeedWithBearing(), courseChangeSinceMainCurveBeforeSpeedMaximumInDegrees,
lowestSpeed);
}
private Iterable<SpeedWithBearingStep> cloneAndReverseIterable(SpeedWithBearingStepsIterable stepsToAnalyze) {
@@ -1014,6 +1050,7 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
SpeedWithBearingStep previousStep = null;
SpeedWithBearingStep stepUntilStableBearing = null;
double courseChangeUntilStepWithStableBearingInDegrees = 0;
Speed lowestSpeed = null;
for (SpeedWithBearingStep currentStep : finalStepsToAnalyze) {
if (previousStep != null) {
@@ -1024,6 +1061,9 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
break;
}
}
if (lowestSpeed == null || lowestSpeed.compareTo(currentStep.getSpeedWithBearing()) > 0) {
lowestSpeed = currentStep.getSpeedWithBearing();
}
courseChangeUntilStepWithStableBearingInDegrees += currentStep.getCourseChangeInDegrees();
previousStep = currentStep;
}
@@ -1032,7 +1072,8 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
}
return stepUntilStableBearing == null ? null
: new ManeuverCurveBoundaryExtension(stepUntilStableBearing.getTimePoint(),
stepUntilStableBearing.getSpeedWithBearing(), courseChangeUntilStepWithStableBearingInDegrees);
stepUntilStableBearing.getSpeedWithBearing(), courseChangeUntilStepWithStableBearingInDegrees,
lowestSpeed);
}
/**
@@ -1058,6 +1099,7 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
double maxCourseChangeInDegrees = 0;
double currentCourseChangeInDegrees = 0;
double maxAngularVelocityInDegreesPerSecond = 0;
Speed lowestSpeed = null;
TimePoint maneuverTimePoint = null;
TimePoint previousTimePoint = null;
// Refine the time point before and after maneuver by checking whether the total course changed before maneuver
@@ -1079,7 +1121,7 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
refinedTimePointAfterManeuver = timePoint;
refinedSpeedWithBearingAfterManeuver = entry.getSpeedWithBearing();
}
// Check whether the course change is performed in the target direction of maneuver. If yes, check consider
// Check whether the course change is performed in the target direction of maneuver. If yes, consider
// the step to locate the maneuver time point with the highest angular velocity within main curve.
if (0 < currentCourseChangeInDegrees * totalCourseChangeSignum) {
if (maxAngularVelocityInDegreesPerSecond < entry.getAngularVelocityInDegreesPerSecond()) {
@@ -1088,6 +1130,9 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
maneuverTimePoint = previousTimePoint.plus(durationFromPreviousStep.divide(2.0));
}
}
if (lowestSpeed == null || lowestSpeed.compareTo(entry.getSpeedWithBearing()) > 0) {
lowestSpeed = entry.getSpeedWithBearing();
}
// If the direction sign does not match, or the angular velocity at the beginning of the curve is nearly
// zero => cut the bearing step from the left
if (0 >= currentCourseChangeInDegrees * totalCourseChangeSignum
@@ -1102,6 +1147,7 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
angularVelocityMinimumReachedAtMainCurveBeginning = false;
maneuverTimePoint = null;
maxAngularVelocityInDegreesPerSecond = 0;
lowestSpeed = entry.getSpeedWithBearing();
} else {
angularVelocityMinimumReachedAtMainCurveBeginning = true;
}
@@ -1121,7 +1167,7 @@ public class ManeuverDetectorImpl implements ManeuverDetector {
ManeuverCurveDetails maneuverEnteringAndExitingDetails = new ManeuverCurveDetails(
refinedTimePointBeforeManeuver, refinedTimePointAfterManeuver, maneuverTimePoint,
refinedSpeedWithBearingBeforeManeuver, refinedSpeedWithBearingAfterManeuver, maxCourseChangeInDegrees,
maxAngularVelocityInDegreesPerSecond);
maxAngularVelocityInDegreesPerSecond, lowestSpeed);
return maneuverEnteringAndExitingDetails;
}
@@ -470,7 +470,6 @@ public class MarkPassingCalculator {
}
void enqueueUpdate(StorePositionUpdateStrategy update) {
// TODO bug 3908: manage listener thread here; if this is the first update to enter an empty queue, launch the thread; the thread will terminate after picking the last update from the queue
synchronized (this) {
final boolean wasQueueEmpty = queue.isEmpty();
queue.add(update);
@@ -206,7 +206,7 @@ public class CandidateChooserImpl implements CandidateChooser {
@Override
public void calculateMarkPassDeltas(Competitor c, Iterable<Candidate> newCans, Iterable<Candidate> oldCans) {
final TimePoint startOfRace = race.getStartOfRace(/* inference */ false);
final TimePoint startOfRace = race.getStartOfRace(/* inference */ false);
if (startOfRace != null) {
final boolean startTimeUpdated;
synchronized (this) { // protect raceStartTime check and update
@@ -2,6 +2,7 @@ package com.sap.sailing.domain.tracking;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.ManeuverType;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sailing.domain.common.tracking.GPSFix;
@@ -81,7 +82,7 @@ public interface Maneuver extends GPSFix {
* Gets time points and speeds with bearings before and after the maneuver, such that the speed and course before
* and after the maneuver are considered as stable.
*
* @return Entering and existing details of maneuver section, with stable speed and bearing before and after that
* @return Entering and exiting details of maneuver section, with stable speed and bearing before and after that
* section
* @see Maneuver
*/
@@ -93,7 +94,7 @@ public interface Maneuver extends GPSFix {
* {@link #getManeuverCurveWithStableSpeedAndCourseBoundaries()}. The former is considered for HEAD_UP and BEAR_AWAY
* maneuvers, whereas the latter is considered for the remainder.
*
* @return Entering and existing details of maneuver
* @return Entering and exiting details of maneuver
*/
ManeuverCurveBoundaries getManeuverBoundaries();
@@ -135,4 +136,9 @@ public interface Maneuver extends GPSFix {
@Statistic(messageKey = "DirectionChange", resultDecimals = 2, ordinal = 2)
double getDirectionChangeInDegrees();
/**
* Gets lowest speed recorded within {@link #getManeuverBoundaries()}.
*/
Speed getLowestSpeed();
}
@@ -1,5 +1,6 @@
package com.sap.sailing.domain.tracking;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sse.common.TimePoint;
@@ -48,4 +49,11 @@ public interface ManeuverCurveBoundaries {
*/
double getDirectionChangeInDegrees();
/**
* Gets the lowest speed sailed within the maneuver curve.
*
* @return The lowest speed within maneuver curve
*/
Speed getLowestSpeed();
}
@@ -1,5 +1,6 @@
package com.sap.sailing.domain.tracking.impl;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.tracking.ManeuverCurveBoundaries;
import com.sap.sse.common.TimePoint;
@@ -14,15 +15,17 @@ public class ManeuverCurveBoundariesImpl implements ManeuverCurveBoundaries {
private final SpeedWithBearing speedWithBearingBefore;
private final SpeedWithBearing speedWithBearingAfter;
private final double directionChangeInDegrees;
private final Speed lowestSpeed;
public ManeuverCurveBoundariesImpl(TimePoint timePointBefore, TimePoint timePointAfter,
SpeedWithBearing speedWithBearingBefore, SpeedWithBearing speedWithBearingAfter,
double directionChangeInDegrees) {
double directionChangeInDegrees, Speed lowestSpeed) {
this.timePointBefore = timePointBefore;
this.timePointAfter = timePointAfter;
this.speedWithBearingBefore = speedWithBearingBefore;
this.speedWithBearingAfter = speedWithBearingAfter;
this.directionChangeInDegrees = directionChangeInDegrees;
this.lowestSpeed = lowestSpeed;
}
@Override
@@ -50,10 +53,16 @@ public class ManeuverCurveBoundariesImpl implements ManeuverCurveBoundaries {
return directionChangeInDegrees;
}
@Override
public Speed getLowestSpeed() {
return lowestSpeed;
}
@Override
public String toString() {
return "Starting at time point " + timePointBefore + ", ending at time point " + timePointAfter
+ ". Speed before curve " + speedWithBearingBefore + " speed after curve " + speedWithBearingAfter
+ ". Course changed by " + directionChangeInDegrees + "deg.";
+ ". Lowest speed within curve: " + lowestSpeed + ". Course changed by " + directionChangeInDegrees
+ "deg.";
}
}
@@ -3,6 +3,7 @@ package com.sap.sailing.domain.tracking.impl;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.ManeuverType;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sailing.domain.common.tracking.impl.AbstractGPSFixImpl;
@@ -89,6 +90,11 @@ public abstract class ManeuverImpl extends AbstractGPSFixImpl implements Maneuve
return getManeuverBoundaries().getSpeedWithBearingAfter();
}
@Override
public Speed getLowestSpeed() {
return getManeuverBoundaries().getLowestSpeed();
}
@Override
public String toString() {
return super.toString() + " " + type + " on new tack " + newTack + " on position " + position
@@ -6,5 +6,6 @@
<classpathentry exported="true" kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="com.gwtplugins.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+11
View File
@@ -30,10 +30,21 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gdt.eclipse.core.webAppProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gwt.eclipse.core.gwtProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
<nature>com.gwtplugins.gwt.eclipse.core.gwtNature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,4 @@
eclipse.preferences.version=1
jarsExcludedFromWebInfLib=
warSrcDir=
warSrcDirIsOutput=true
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
entryPointModules=
filesCopiedToWebInfLib=
+1
View File
@@ -8,5 +8,6 @@
<classpathentry exported="true" kind="lib" path="WEB-INF/classes/"/>
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="com.gwtplugins.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+11
View File
@@ -30,11 +30,22 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gdt.eclipse.core.webAppProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gwt.eclipse.core.gwtProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
<nature>com.gwtplugins.gwt.eclipse.core.gwtNature</nature>
</natures>
</projectDescription>
@@ -1,5 +1,5 @@
eclipse.preferences.version=1
jarsExcludedFromWebInfLib=
lastWarOutDir=/Users/pgtaboada/workspaces/sap/java/com.sap.sailing.gwt.ui
lastWarOutDir=
warSrcDir=
warSrcDirIsOutput=false
@@ -1,2 +1,3 @@
eclipse.preferences.version=1
entryPointModules=
filesCopiedToWebInfLib=
@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.gwtplugins.gdt.eclipse.suite.webapp">
<booleanAttribute key="com.gwtplugins.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.gwtplugins.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
<booleanAttribute key="com.gwtplugins.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9876"/>
<listAttribute key="com.gwtplugins.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sailing.gwt.autoplay.AutoPlay"/>
<listEntry value="com.sap.sailing.gwt.ui.YoutubePopup"/>
<listEntry value="com.sap.sailing.gwt.ui.VideoPopup"/>
<listEntry value="com.sap.sailing.gwt.ui.Simulator"/>
<listEntry value="com.sap.sailing.gwt.ui.DataMining"/>
<listEntry value="com.sap.sailing.gwt.regattaoverview.RegattaOverview"/>
<listEntry value="com.sap.sailing.gwt.ui.RaceBoard"/>
<listEntry value="com.sap.sailing.gwt.ui.EmbeddedMapAndWindChart"/>
<listEntry value="com.sap.sailing.gwt.ui.Spectator"/>
<listEntry value="com.sap.sailing.gwt.ui.Leaderboard"/>
<listEntry value="com.sap.sailing.gwt.ui.LeaderboardEditing"/>
<listEntry value="com.sap.sailing.gwt.ui.PairingList"/>
<listEntry value="com.sap.sailing.gwt.ui.AdminConsole"/>
<listEntry value="com.sap.sailing.gwt.home.Home"/>
</listAttribute>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.URL" value="/gwt/Home.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/com.sap.sailing.gwt.ui"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" value="true"/>
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8&quot; javaProject=&quot;com.sap.sailing.gwt.ui&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.googlecode.java-diff-utils/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.annotations/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.json.simple/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.geocoding/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.udpconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mongodb/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.replication/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.operationaltransformation/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.tractrac.clientmodule/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.competitorimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.schema/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.moxieapps.gwt.highcharts/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.freg.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingreplayadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.provider/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.structureimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt.adminconsole/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.news/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;com.sap.sailing.gwt.ui&quot;/&gt;&#10;&lt;/runtimeClasspathEntry&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;com.sap.sse.common&quot; type=&quot;1&quot;/&gt;&#10;"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.gwtplugins.gwt.eclipse.core.moduleClasspathProvider"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<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 9876 -startupUrl /gwt/Home.html -startupUrl /gwt/AdminConsole.html -startupUrl /gwt/PairingList.html -startupUrl /gwt/LeaderboardEditing.html -startupUrl /gwt/Leaderboard.html -startupUrl /gwt/Spectator.html -startupUrl /gwt/EmbeddedMapAndWindChart -startupUrl /gwt/RaceBoard.html -startupUrl /gwt/RegattaOverview.html -startupUrl /gwt/DataMining.html -startupUrl /gwt/Simulator.html -startupUrl /gwt/VideoPopup.html -startupUrl /gwt/AutoPlay.html -startupUrl /gwt/YoutubePopup.html com.sap.sailing.gwt.home.Home com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.ui.PairingList com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.EmbeddedMapAndWindChart com.sap.sailing.gwt.ui.RaceBoard com.sap.sailing.gwt.regattaoverview.RegattaOverview com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.ui.Simulator com.sap.sailing.gwt.ui.VideoPopup com.sap.sailing.gwt.ui.YoutubePopup com.sap.sailing.gwt.autoplay.AutoPlay"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XX:+UseG1GC -XX:+UseStringDeduplication -Dgwt.watchFileChanges=false -Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:com.sap.sailing.gwt.ui}/.tmp/gwt-work"/>
</launchConfiguration>
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.gwtplugins.gdt.eclipse.suite.webapp">
<booleanAttribute key="com.gwtplugins.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.gwtplugins.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
<booleanAttribute key="com.gwtplugins.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9876"/>
<listAttribute key="com.gwtplugins.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sailing.gwt.autoplay.AutoPlay"/>
<listEntry value="com.sap.sailing.gwt.ui.YoutubePopup"/>
<listEntry value="com.sap.sailing.gwt.ui.VideoPopup"/>
<listEntry value="com.sap.sailing.gwt.ui.Simulator"/>
<listEntry value="com.sap.sailing.gwt.ui.DataMining"/>
<listEntry value="com.sap.sailing.gwt.regattaoverview.RegattaOverview"/>
<listEntry value="com.sap.sailing.gwt.ui.RaceBoard"/>
<listEntry value="com.sap.sailing.gwt.ui.EmbeddedMapAndWindChart"/>
<listEntry value="com.sap.sailing.gwt.ui.Spectator"/>
<listEntry value="com.sap.sailing.gwt.ui.Leaderboard"/>
<listEntry value="com.sap.sailing.gwt.ui.LeaderboardEditing"/>
<listEntry value="com.sap.sailing.gwt.ui.PairingList"/>
<listEntry value="com.sap.sailing.gwt.ui.AdminConsole"/>
<listEntry value="com.sap.sailing.gwt.home.Home"/>
</listAttribute>
<booleanAttribute key="com.gwtplugins.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.URL" value="/gwt/Home.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/com.sap.sailing.gwt.ui"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" value="true"/>
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8&quot; javaProject=&quot;com.sap.sailing.gwt.ui&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.googlecode.java-diff-utils/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.annotations/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.json.simple/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.geocoding/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.udpconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mongodb/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.replication/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.operationaltransformation/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.tractrac.clientmodule/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.competitorimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.schema/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.moxieapps.gwt.highcharts/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.freg.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingreplayadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.provider/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.structureimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt.adminconsole/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.news/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;com.sap.sailing.gwt.ui&quot;/&gt;&#10;&lt;/runtimeClasspathEntry&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;com.sap.sse.common&quot; type=&quot;1&quot;/&gt;&#10;"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.gwtplugins.gwt.eclipse.core.moduleClasspathProvider"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-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 -startupUrl /gwt/AdminConsole.html -startupUrl /gwt/PairingList.html -startupUrl /gwt/LeaderboardEditing.html -startupUrl /gwt/Leaderboard.html -startupUrl /gwt/Spectator.html -startupUrl /gwt/EmbeddedMapAndWindChart -startupUrl /gwt/RaceBoard.html -startupUrl /gwt/RegattaOverview.html -startupUrl /gwt/DataMining.html -startupUrl /gwt/Simulator.html -startupUrl /gwt/VideoPopup.html -startupUrl /gwt/AutoPlay.html -startupUrl /gwt/YoutubePopup.html com.sap.sailing.gwt.home.Home com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.ui.PairingList com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.EmbeddedMapAndWindChart com.sap.sailing.gwt.ui.RaceBoard com.sap.sailing.gwt.regattaoverview.RegattaOverview com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.ui.Simulator com.sap.sailing.gwt.ui.VideoPopup com.sap.sailing.gwt.ui.YoutubePopup com.sap.sailing.gwt.autoplay.AutoPlay"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XX:+UseG1GC -XX:+UseStringDeduplication -Dgwt.watchFileChanges=false -Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:com.sap.sailing.gwt.ui}/.tmp/gwt-work"/>
</launchConfiguration>
@@ -554,7 +554,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
new AsyncCallback<LeaderboardGroupDTO>() {
@Override
public void onFailure(Throwable t) {
errorReporter.reportError("Error trying to create new leaderboard group" + newGroup.getName()
errorReporter.reportError(stringMessages.errorCreatingLeaderboardGroup(newGroup.getName())
+ ": " + t.getMessage());
}
@Override
@@ -71,6 +71,15 @@ public class ImportCompetitorCallback implements DialogCallback<Pair<Map<Competi
competitorsForRegisteringAndSearchTag.getA().values().stream().filter(e->e!=null).collect(Collectors.toList()), competitorsForRegisteringAndSearchTag.getB());
}
/**
* @param competitorsForSaving
* the descriptors of those competitors from the import source that the user selected and for which no
* existing competitor was mapped
* @param competitorsForRegistration
* the existing competitors to which competitors from the import were mapped; this collection is logically
* disjoint from {@code competitorsForSaving} which only contains "net-new" competitors that will be
* created with a new ID on the server
*/
private void registerCompetitorsAfterSaving(final List<CompetitorDescriptor> competitorsForSaving,
final Iterable<CompetitorDTO> competitorsForRegistration, String searchTag) {
sailingService.addCompetitors(competitorsForSaving, searchTag, new AsyncCallback<List<CompetitorDTO>>() {
@@ -83,9 +92,7 @@ public class ImportCompetitorCallback implements DialogCallback<Pair<Map<Competi
public void onSuccess(List<CompetitorDTO> result) {
final Set<CompetitorDTO> competitorsToAddWithNewOnesReplacedBySavedOnesWithId = new HashSet<>();
Util.addAll(competitorsForRegistration, competitorsToAddWithNewOnesReplacedBySavedOnesWithId);
// remove the locally constructed CompetitorDTOs that had null as their ID...
competitorsToAddWithNewOnesReplacedBySavedOnesWithId.removeAll(competitorsForSaving);
// ...and replace by those returned by the server after saving to the competitor store where they received an ID:
// add those competitors returned by the server after saving to the competitor store where they received an ID:
competitorsToAddWithNewOnesReplacedBySavedOnesWithId.addAll(result);
registerCompetitors(competitorsToAddWithNewOnesReplacedBySavedOnesWithId);
}
@@ -721,8 +721,8 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements
new AsyncCallback<LeaderboardGroupDTO>() {
@Override
public void onFailure(Throwable t) {
errorReporter.reportError("Error trying to create new leaderboard group" + newGroup.getName()
+ ": " + t.getMessage());
errorReporter.reportError(stringMessages.errorCreatingLeaderboardGroup(newGroup.getName())
+ ": " + t.getMessage());
}
@Override
public void onSuccess(LeaderboardGroupDTO newGroup) {
@@ -334,7 +334,8 @@ public class RaceTimePanel extends TimePanel<RaceTimePanelSettings> implements R
timer.setTime(newRaceTimesInfo.startOfRace.getTime() +
(initialTimeAfterRaceStartInReplayMode == null ? 0l : initialTimeAfterRaceStartInReplayMode.asMillis()));
} else if (newRaceTimesInfo.startOfTracking != null) {
timer.setTime(newRaceTimesInfo.startOfTracking.getTime());
timer.setTime(newRaceTimesInfo.startOfTracking.getTime() +
(initialTimeAfterRaceStartInReplayMode == null ? 0l : initialTimeAfterRaceStartInReplayMode.asMillis()));
}
break;
}
@@ -49,8 +49,8 @@ import com.sap.sailing.domain.common.racelog.tracking.DoesNotHaveRegattaLogExcep
import com.sap.sailing.domain.common.racelog.tracking.NotDenotedForRaceLogTrackingException;
import com.sap.sailing.domain.common.racelog.tracking.TransformationException;
import com.sap.sailing.domain.common.tracking.impl.PreciseCompactGPSFixMovingImpl.PreciseCompactPosition;
import com.sap.sailing.domain.leaderboard.RegattaLeaderboard;
import com.sap.sailing.domain.common.windfinder.SpotDTO;
import com.sap.sailing.domain.leaderboard.RegattaLeaderboard;
import com.sap.sailing.domain.racelog.tracking.GPSFixStore;
import com.sap.sailing.domain.racelogtracking.RaceLogTrackingAdapter;
import com.sap.sailing.domain.tracking.TrackedRace;
@@ -733,4 +733,6 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS
* Returns specific data needed for the slicing UI.
*/
SliceRacePreperationDTO prepareForSlicingOfRace(RegattaAndRaceIdentifier raceIdentifier);
Boolean checkIfRaceIsTracked(RegattaAndRaceIdentifier race);
}
@@ -106,6 +106,7 @@ import com.sap.sse.gwt.client.filestorage.FileStorageManagementGwtServiceAsync;
import com.sap.sse.gwt.client.media.ImageDTO;
import com.sap.sse.gwt.client.media.VideoDTO;
import com.sap.sse.gwt.client.replication.RemoteReplicationServiceAsync;
import com.sap.sse.pairinglist.PairingList;
import com.sap.sse.pairinglist.PairingListTemplate;
/**
@@ -947,4 +948,6 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan
* of the scopes above.
*/
void getWindFinderSpot(String spotId, AsyncCallback<SpotDTO> callback);
void checkIfRaceIsTracked(RegattaAndRaceIdentifier raceIdentifier, AsyncCallback<Boolean> asyncCallback);
}
@@ -2066,4 +2066,6 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages,
String enterTagsForTheImage();
String unableToResolveWindFinderSpotId(String id, String message);
String windFinderWeatherData();
String positionEditOnNonTrackingRace();
String errorCreatingLeaderboardGroup(String name);
}
@@ -2053,4 +2053,6 @@ enterTagsForTheVideo=Enter tags for the video
enterIdOfWindfinderReviewedSpotCollection=Enter ID of a reviewed WindFinder spot collection, e.g., "schilksee"
enterTagsForTheImage=Enter tags for the image
unableToResolveWindFinderSpotId=Unable to resolve WindFinder spot with ID {0}: {1}
windFinderWeatherData=Weather Data
windFinderWeatherData=Weather Data
positionEditOnNonTrackingRace=This race is currently not tracked, fix updates are no longer received by the TrackedRace! Is is necessary to reload the race, to see the changes.
errorCreatingLeaderboardGroup=Error trying to create new leaderboard group {0}
@@ -2050,4 +2050,6 @@ enterTagsForTheVideo=Tags zum Video erfassen
enterIdOfWindfinderReviewedSpotCollection=ID einer geprüften WindFinder Messstellen-Sammlung eingeben, z.B. "schilksee"
enterTagsForTheImage=Tags zum Bild erfassen
unableToResolveWindFinderSpotId=WindFinder-Station mit Kennung {0} wurde nicht gefunden: {1}
windFinderWeatherData=Wetter&#8203;daten
windFinderWeatherData=Wetter&#8203;daten
positionEditOnNonTrackingRace=Dieses Rennen wird derzeit nicht getracked, Fixänderungen werden nicht vom TrackedRace empfangen. Es ist notwendig das Rennen neu zu laden, um die Änderungen zu sehen.
errorCreatingLeaderboardGroup=Fehler bei dem Versuch eine neue Leaderboardgruppe {0} anzulegen
@@ -64,6 +64,7 @@ import com.google.gwt.maps.client.events.rightclick.RightClickMapHandler;
import com.google.gwt.maps.client.mvc.MVCArray;
import com.google.gwt.maps.client.overlays.Polyline;
import com.google.gwt.maps.client.overlays.PolylineOptions;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HTMLPanel;
@@ -709,6 +710,20 @@ public class EditMarkPositionPanel extends AbstractRaceChart<AbstractSettings> i
public void setVisible(boolean visible) {
this.visible = visible;
if(visible && !isVisible()){
sailingService.checkIfRaceIsTracked(selectedRaceIdentifier, new AsyncCallback<Boolean>() {
@Override
public void onFailure(Throwable caught) {
Window.alert(stringMessages.serverError());
}
@Override
public void onSuccess(Boolean result) {
if (Boolean.FALSE.equals(result)) {
Window.alert(stringMessages.positionEditOnNonTrackingRace());
}
}
});
}
if (map == null) {
map = raceMap.getMap();
if (map != null) {
@@ -200,17 +200,19 @@ public abstract class AbstractRaceBoardMode implements RaceBoardMode, RaceTimesI
protected void setTimerOrUseCustomStart(final TimePoint startPlayingAt) {
final PlayModes playMode = getTimer().getPlayMode();
TimePoint startPlayingAtOverride = null;
if (playMode != PlayModes.Live && getRaceTimesInfoForRace() != null
&& getRaceTimesInfoForRace().getStartOfRace() != null) {
final Date startOfRace = getRaceTimesInfoForRace().getStartOfRace();
final RaceBoardPerspectiveOwnSettings perspectiveOwnSettings = raceBoardPanel.getSettings()
.getPerspectiveOwnSettings();
if (playMode != PlayModes.Live && getRaceTimesInfoForRace() != null) {
final RaceBoardPerspectiveOwnSettings perspectiveOwnSettings = raceBoardPanel.getSettings().getPerspectiveOwnSettings();
if (perspectiveOwnSettings != null) {
final Duration initialDurationAfterRaceStartInReplay = perspectiveOwnSettings
.getInitialDurationAfterRaceStartInReplay();
final Duration initialDurationAfterRaceStartInReplay = perspectiveOwnSettings.getInitialDurationAfterRaceStartInReplay();
if (initialDurationAfterRaceStartInReplay != null) {
final Date relativeTo;
if (getRaceTimesInfoForRace().getStartOfRace() != null) {
relativeTo = getRaceTimesInfoForRace().getStartOfRace();
} else {
relativeTo = getRaceTimesInfoForRace().getStartOfTracking();
}
startPlayingAtOverride = new MillisecondsTimePoint(
startOfRace.getTime() + initialDurationAfterRaceStartInReplay.asMillis());
relativeTo.getTime() + initialDurationAfterRaceStartInReplay.asMillis());
}
}
}
@@ -53,17 +53,14 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint {
protected void doOnModuleLoad() {
super.doOnModuleLoad();
EntryPointHelper.registerASyncService((ServiceDefTarget) mediaService, RemoteServiceMappingConstants.mediaServiceRemotePath);
raceboardContextDefinition = new SettingsToUrlSerializer()
.deserializeFromCurrentLocation(new RaceboardContextDefinition());
final RaceBoardModes finalMode;
if (raceboardContextDefinition.getMode() != null) {
finalMode = RaceBoardModes.valueOf(raceboardContextDefinition.getMode());
} else {
finalMode = null;
}
if (raceboardContextDefinition.getRegattaName() == null || raceboardContextDefinition.getRegattaName().isEmpty()
|| raceboardContextDefinition.getRaceName() == null || raceboardContextDefinition.getRaceName().isEmpty()
|| raceboardContextDefinition.getLeaderboardName() == null
@@ -71,7 +68,6 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint {
createErrorPage(getStringMessages().requiresRegattaRaceAndLeaderboard());
return;
}
AsyncCallback<RaceboardDataDTO> asyncCallback = new AsyncCallback<RaceboardDataDTO>() {
@Override
public void onSuccess(RaceboardDataDTO raceboardData) {
@@ -137,7 +133,6 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint {
});
}
});
}
@Override
@@ -145,7 +140,6 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint {
reportError("Error trying to create the raceboard: " + caught.getMessage());
}
};
sailingService.getRaceboardData(raceboardContextDefinition.getRegattaName(),
raceboardContextDefinition.getRaceName(), raceboardContextDefinition.getLeaderboardName(),
raceboardContextDefinition.getLeaderboardGroupName(), raceboardContextDefinition.getEventId(),
@@ -223,6 +223,7 @@ import com.sap.sailing.domain.common.ScoringSchemeType;
import com.sap.sailing.domain.common.Speed;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sailing.domain.common.TrackedRaceStatusEnum;
import com.sap.sailing.domain.common.UnableToCloseDeviceMappingException;
import com.sap.sailing.domain.common.Wind;
import com.sap.sailing.domain.common.WindSource;
@@ -7351,4 +7352,17 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
throw new RuntimeException("Error while slicing race", e);
}
}
@Override
public Boolean checkIfRaceIsTracked(RegattaAndRaceIdentifier race) {
boolean result = false;
DynamicTrackedRace trace = getService().getTrackedRace(race);
if (trace != null) {
final TrackedRaceStatusEnum status = trace.getStatus().getStatus();
if (status == TrackedRaceStatusEnum.LOADING || status == TrackedRaceStatusEnum.TRACKING) {
result = true;
}
}
return result;
}
}
@@ -935,7 +935,9 @@ public class SimulatorServiceImpl extends RemoteServiceServlet implements Simula
if (mode == SailingSimulatorConstants.ModeMeasured) {
// Adding the polyline
pathDTOs[0] = this.getPolylinePathDTO(pathsAndNames.get("6#GPS Poly"), pathsAndNames.get("7#GPS Track"));
// TODO bug4427: Eclipse Oxygen warnings have pointed at the strange get(String) invocations below; it turns out the whole mode=m set-up in the standalone simulator seems broken; Christopher to clarify
// pathDTOs[0] = this.getPolylinePathDTO(pathsAndNames.get("6#GPS Poly"), pathsAndNames.get("7#GPS Track"));
pathDTOs[0] = this.getPolylinePathDTO(pathsAndNames.get(null), pathsAndNames.get(null)); // TODO bug4427: the above expressions evaluate to null anyway, provoking an NPE; however, mode=m fails much earlier because the SimulatorMap.regattaAreaCanvasOverlay field is null, causing an NPE even earlier
}
for (Entry<PathType, Path> entry : pathsAndNames.entrySet()) {
@@ -20,6 +20,7 @@ public class ManeuverCurveBoundariesJsonSerializer implements JsonSerializer<Man
public static final String COG_AFTER_IN_TRUE_DEGREES = "cogAfterInTrueDegrees";
public static final String DIRECTION_CHANGE_IN_DEGREES = "directionChangeInDegrees";
public static final String DURATION_IN_MILLIS = "durationInMillis";
public static final String LOWEST_SPEED_IN_KNOTS = "lowestSpeedInKnots";
@Override
public JSONObject serialize(ManeuverCurveBoundaries curveBoundaries) {
@@ -36,6 +37,7 @@ public class ManeuverCurveBoundariesJsonSerializer implements JsonSerializer<Man
: curveBoundaries.getSpeedWithBearingAfter().getBearing().getDegrees());
result.put(DIRECTION_CHANGE_IN_DEGREES, curveBoundaries.getDirectionChangeInDegrees());
result.put(DURATION_IN_MILLIS, curveBoundaries.getTimePointBefore().until(curveBoundaries.getTimePointAfter()).asMillis());
result.put(LOWEST_SPEED_IN_KNOTS, curveBoundaries.getLowestSpeed().getKnots());
return result;
}
@@ -16,6 +16,7 @@ public class ManeuverJsonSerializer implements JsonSerializer<Maneuver> {
public static final String MANEUVER_LOSS = "maneuverLoss";
public static final String POSITION_AND_TIME = "positionAndTime";
public static final String MAX_ANGULAR_VELOCITY_IN_DEGREES_PER_SECOND = "maxAngularVelocityInDegreesPerSecond";
public static final String LOWEST_SPEED_IN_KNOTS = "lowestSpeedInKnots";
private final GPSFixJsonSerializer gpsFixSerializer;
private final DistanceJsonSerializer distanceSerializer;
@@ -44,6 +45,7 @@ public class ManeuverJsonSerializer implements JsonSerializer<Maneuver> {
maneuver.getManeuverLoss() == null ? null : distanceSerializer.serialize(maneuver.getManeuverLoss()));
result.put(POSITION_AND_TIME, gpsFixSerializer.serialize(maneuver));
result.put(MAX_ANGULAR_VELOCITY_IN_DEGREES_PER_SECOND, maneuver.getMaxAngularVelocityInDegreesPerSecond());
result.put(LOWEST_SPEED_IN_KNOTS, maneuver.getLowestSpeed().getKnots());
return result;
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,200 @@
Utc,Lat,Lon,Bsp,Awa,Aws,Twa,Tws,Twd,Hdg,Heel,Trim,Rudder,Forestay,FStayLen,MastButt,Load S,Load P,Rake,Cog,Sog,GPS time,Mk Lat,Mk Lon,Port lat,Port lon,Stbd lat,Stbd lon,TmToGun,TmToLn,TmToBurn,BelowLn,Mwa,Mws,DeflectorP
43141.03576,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03578,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03579,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.0358,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03581,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03582,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03583,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03584,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03586,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03587,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03588,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03589,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.0359,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03591,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03593,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03594,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03595,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03596,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03597,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03598,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.036,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03601,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03602,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03603,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03604,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03605,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03606,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03608,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03609,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.0361,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03611,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03612,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03613,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03615,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03616,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03617,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03618,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03619,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.0362,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03622,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03623,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,32.6550366,-117.176932,32.6565564,-117.1780542,,3259.792175,,3739.699221,0,0,0
43141.03624,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6505304,-117.1872557,,,,,,3259.792175,,3739.699221,0,0,0
43141.03625,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6536859,-117.1830382,,,,,,3259.792175,,3739.699221,0,0,0
43141.03626,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6568415,-117.1788208,,,,,,3259.792175,,3739.699221,0,0,0
43141.03627,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6536859,-117.1830382,,,,,,3259.792175,,3739.699221,0,0,0
43141.03628,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6505303,-117.1872556,,,,,,3259.792175,,3739.699221,0,0,0
43141.0363,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03631,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6565564,-117.1780542,,,,,,3259.792175,,3739.699221,0,0,0
43141.03632,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03633,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03634,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03635,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03637,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03638,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03639,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.0364,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03641,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03642,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03644,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03645,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03646,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03647,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03648,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6565564,-117.1780542,,,,,,3259.792175,,3739.699221,0,0,0
43141.03649,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6534959,-117.1825272,,,,,,3259.792175,,3739.699221,0,0,0
43141.0365,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6504354,-117.1870002,,,,,,3259.792175,,3739.699221,0,0,0
43141.03652,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03653,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6521082,-117.185147,,,,,,3259.792175,,3739.699221,0,0,0
43141.03654,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6568415,-117.1788208,,,,,,3259.792175,,3739.699221,0,0,0
43141.03655,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6521082,-117.185147,,,,,,3259.792175,,3739.699221,0,0,0
43141.03656,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03657,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6550366,-117.176932,,,,,,3259.792175,,3739.699221,0,0,0
43141.03659,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6557965,-117.1774931,,,,,,3259.792175,,3739.699221,0,0,0
43141.0366,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6565564,-117.1780542,,,,,,3259.792175,,3739.699221,0,0,0
43141.03661,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6473748,-117.1914731,,,,,,3259.792175,,3739.699221,0,0,0
43141.03662,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6565564,-117.1780542,,,,,,3259.792175,,3739.699221,0,0,0
43141.03663,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6550366,-117.176932,,,,,,3259.792175,,3739.699221,0,0,0
43141.03664,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6565564,-117.1780542,,,,,,3259.792175,,3739.699221,0,0,0
43141.03666,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03667,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03668,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03669,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.0367,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03671,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03672,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03674,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03675,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03676,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03677,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03678,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03679,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03681,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03682,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03683,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,32.6565564,-117.1780542,,,,,,3259.792175,,3739.699221,0,0,0
43141.03684,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03685,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03686,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03688,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03689,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.0369,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03691,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03692,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03693,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03694,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03696,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.03697,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,3259.792175,,3739.699221,0,0,0
43141.68574,,,,,,,,,,,,,,,,,,,,,,32.6565564,-117.1780542,32.6550366,-117.176932,32.6565564,-117.1780542,,,,,,,
43141.68575,32.7179489,-117.2288284,0,-3.5,8.69,-3.5,8.69,111.5,114.9,0.1,0,-3.56,1.184,55.56,23.861,2.53,2.99,3.051,26.8,0.17,,32.6565564,-117.1780542,,,,,,0.024879,,-0.228444,-1.9,7.7,42.628
43141.68576,32.7179489,-117.2288284,0,-4,8.54,-4,8.54,110.9,114.9,0.2,0,-3.59,1.18,55.69,23.861,2.53,2.99,3.051,16.4,0.11,,32.6565564,-117.1780542,,,,,,0.024826,,-0.228441,-9.8,6.85,42.628
43141.68578,32.7179451,-117.2288284,0,-5.3,8.35,-5.3,8.35,109.6,115,0.2,0,-3.61,1.18,55.56,23.861,2.53,3,3.05,22.1,0.12,,,,,,,,,0.024735,,-0.228573,-16.6,6.51,42.701
43141.68579,32.7179489,-117.2288284,0,-6.1,8.22,-6.1,8.22,109,115.2,0.2,0,-3.59,1.18,55.56,23.861,2.53,2.99,3.051,331.9,0.15,,,,,,,,,0.024784,,-0.228486,-8,7.5,42.628
43141.6858,32.7179489,-117.2288284,0,-6.9,8.17,-6.9,8.17,108.5,115.5,0.2,0,-3.59,1.172,55.69,23.861,2.53,3,3.051,176.6,0.15,,,,,,,,,0.024731,,-0.228521,-13,7.6,42.701
43141.68581,32.7179489,-117.2288284,0,-7.9,8.09,-7.9,8.09,107.6,115.6,0.2,0,-3.61,1.176,55.69,23.861,2.52,3,3.05,167.6,0.19,,,,,,,,,0.024702,,-0.228543,1.5,7.64,42.701
43141.68582,32.7179489,-117.2288284,0,-8.1,8.09,-8.1,8.09,107.6,115.7,0.2,0,-3.61,1.176,55.56,23.861,2.52,3.01,3.051,296.6,0.06,,,,,,,,,0.025512,,-0.22856,-15,8.08,42.628
43141.68583,32.7179489,-117.2288284,0,-7.8,8.11,-7.8,8.11,108,115.8,0.1,0,-3.59,1.184,55.56,23.861,2.53,3,3.051,21,0.11,,,,,,,,,0.025502,,-0.228575,-0.3,8.24,42.701
43141.68584,32.7179489,-117.2288284,0,-7.2,8.09,-7.2,8.09,108.6,115.9,-0.2,0,-3.61,1.176,55.69,23.861,2.54,2.99,3.053,65.4,0.08,,,,,,,,,0.025688,,-0.228576,1.3,7.68,42.701
43141.68586,32.7179489,-117.2288284,0,-7,8.08,-7,8.08,108.8,115.8,0,0,-3.59,1.176,55.56,23.861,2.53,3,3.051,340.3,0.11,,,,,,,,,0.025774,,-0.228569,-10.8,7.94,42.628
43141.68587,32.7179451,-117.2288284,0,-6.5,8.05,-6.5,8.05,109.2,115.6,0.1,0,-3.61,1.18,55.69,23.861,2.52,3.01,3.051,169,0.18,,,,,,,,,0.02517,,-0.228664,-5.7,7.84,42.701
43141.68588,32.7179451,-117.2288284,0,-6.2,8.01,-6.2,8.01,109.2,115.3,0,-0.1,-3.59,1.172,55.56,23.861,2.53,3,3.05,234.2,0.13,,,,,,,,,0.025357,,-0.228617,-6.1,7.61,42.701
43141.68589,32.7179489,-117.2288284,0,-5.7,8,-5.7,8,109.4,115,-0.1,0,-3.56,1.18,55.56,23.861,2.53,2.99,3.051,75.3,0.1,,,,,,,,,0.025514,,-0.22845,-3,8.31,42.701
43141.6859,32.7179489,-117.2288284,0,-5.1,8.01,-5.1,8.01,109.7,114.6,-0.1,0,-3.59,1.172,55.56,23.861,2.53,3,3.05,201.8,0.03,,,,,,,,,0.02561,,-0.228406,6,7.58,42.701
43141.68591,32.7179489,-117.2288284,0,-4.2,7.9,-4.2,7.9,110.2,114.2,-0.1,-0.1,-3.59,1.176,55.56,23.861,2.53,3,3.05,208.8,0.03,,,,,,,,,0.025949,,-0.228351,-12.1,6.3,42.701
43141.68593,32.7179489,-117.2288284,0,-5,7.74,-5,7.74,109,113.8,-0.1,0,-3.61,1.18,55.69,23.861,2.53,3,3.05,6.3,0.09,,,,,,,,,0.026003,,-0.228295,-14.7,6.29,42.701
43141.68594,32.7179489,-117.2288208,0,-5.2,7.57,-5.2,7.57,108.6,113.6,-0.1,0,-3.59,1.176,55.56,23.861,2.53,3,3.051,209.2,0.09,,,,,,,,,0.02623,,-0.227937,-16.6,5.81,42.628
43141.68595,32.7179489,-117.2288208,0,-5.5,7.45,-5.5,7.45,108,113.5,-0.2,0,-3.59,1.176,55.69,23.861,2.53,3,3.051,346,0.06,,,,,,,,,0.026377,,-0.227922,-13.1,6.66,42.701
43141.68596,32.7179489,-117.2288208,0,-5.1,7.34,-5.1,7.34,108.4,113.5,-0.1,0,-3.59,1.18,55.69,23.861,2.53,3,3.051,124.2,0.05,,,,,,,,,0.026727,,-0.227921,-18.1,6.09,42.774
43141.68597,32.7179489,-117.2288208,0,-5.2,7.22,-5.2,7.22,108.4,113.7,-0.1,0,-3.61,1.168,55.69,23.861,2.52,3.01,3.05,227.3,0.12,,,,,,,,,0.027004,,-0.227945,-6.2,6.06,42.701
43141.68598,32.7179489,-117.2288208,0,-5,7.09,-5,7.09,108.8,114,-0.3,0,-3.59,1.176,55.69,23.861,2.53,3,3.051,142.3,0.09,,32.6565564,-117.1780542,32.6550366,-117.176932,32.6565564,-117.1780542,,0.027452,,-0.227988,-3.6,5.46,42.701
43141.686,32.7179489,-117.2288284,0,-5.2,6.94,-5.2,6.94,109,114.5,-0.6,-0.1,-3.59,1.172,55.69,23.861,2.54,2.99,3.051,358.9,0.18,,,,,,,,,0.027823,,-0.228386,5.6,5.59,42.701
43141.68601,32.7179451,-117.2288284,0,-5.2,6.77,-5.2,6.77,109.8,115.3,-0.5,0,-3.59,1.176,55.69,23.861,2.54,2.99,3.051,352.2,0.12,,,,,,,,,0.028046,,-0.228624,-6,5.43,42.701
43141.68602,32.7179451,-117.2288284,0,-6.2,6.67,-6.2,6.67,109.6,116.1,-0.3,-0.1,-3.59,1.176,55.69,23.861,2.53,3,3.053,164,0.08,,,,,,,,,0.028997,,-0.22873,-4.6,5.9,42.628
43141.68603,32.7179413,-117.2288284,0,-7.4,6.62,-7.4,6.62,109.2,116.9,-0.2,0,-3.59,1.18,55.56,23.861,2.54,2.99,3.053,142.4,0.02,,,,,,,,,0.02886,,-0.228966,-1.3,6.19,42.701
43141.68604,32.7179375,-117.2288284,0,-8,6.58,-8,6.58,109.4,117.8,-0.2,0,-3.56,1.176,55.69,23.861,2.53,2.99,3.051,17.5,0.06,,,,,,,,,0.028814,,-0.229214,-2.4,6.16,42.628
43141.68605,32.7179375,-117.2288361,0,-9.1,6.53,-9.1,6.53,109.3,118.8,-0.3,-0.1,-3.59,1.176,55.69,23.861,2.54,2.99,3.051,304.6,0.09,,,,,,,,,0.028693,,-0.229677,-10.7,6.2,42.701
43141.68606,32.7179375,-117.2288361,0,-9.9,6.58,-9.9,6.58,109.3,119.6,-0.4,0,-3.59,1.18,55.69,23.861,2.54,2.99,3.051,262.7,0.24,,,,,,,,,0.028384,,-0.229792,-33.6,7.33,42.701
43141.68608,32.7179375,-117.2288361,0,-11.8,6.67,-11.8,6.67,108.1,120.3,-0.4,0,-3.56,1.176,55.69,23.861,2.54,2.99,3.05,328.3,0.13,,,,,,,,,0.028621,,-0.229888,-20.2,7.63,42.628
43141.68609,32.7179337,-117.2288361,0,-13.4,6.76,-13.4,6.76,107.2,120.9,-0.4,0,-3.56,1.18,55.56,23.861,2.54,2.99,3.051,260.6,0.08,,,,,,,,,0.028087,,-0.230097,-23.8,7.51,42.701
43141.6861,32.7179337,-117.2288361,0,-13.9,6.8,-13.9,6.8,106.9,121.05,-0.4,0,-3.56,1.18,55.63,23.861,2.54,2.985,3.051,234,0.155,,,,,,,,,0.027896,,-0.23012,-21.45,7.4,42.701
43141.68611,32.7179337,-117.2288361,0,-14.4,6.84,-14.4,6.84,106.6,121.2,-0.4,0,-3.56,1.18,55.69,23.861,2.54,2.98,3.051,207.4,0.23,,32.6565564,-117.1780542,,,,,,0.027705,,-0.230144,-19.1,7.29,42.701
43141.68612,32.7179337,-117.2288361,0,-15.5,6.85,-15.5,6.85,105.7,121.4,-0.5,0,-3.61,1.176,55.69,23.861,2.54,2.99,3.051,263.6,0.11,,,,,,,,,0.027444,,-0.230163,-36.4,6.77,42.701
43141.68613,32.7179337,-117.2288361,0,-16,6.84,-16,6.84,105.3,121.4,-0.5,0,-3.59,1.184,55.56,23.861,2.54,2.99,3.053,185.7,0.12,,,,,,,,,0.027349,,-0.230166,-29.6,6.51,42.701
43141.68615,32.7179337,-117.2288361,0,-15.6,6.78,-15.6,6.78,105.7,121.3,-0.4,0,-3.59,1.184,55.82,23.861,2.54,2.98,3.051,224.8,0.05,,,,,,,,,0.027587,,-0.230158,-14.8,6.18,42.701
43141.68616,32.7179337,-117.2288361,0,-14.6,6.72,-14.6,6.72,106.8,121.4,-0.1,-0.1,-3.61,1.172,55.82,23.861,2.53,2.99,3.053,312.8,0.14,,,,,,,,,0.027822,,-0.230164,-10,6.13,42.701
43141.68617,32.7179337,-117.2288361,0,-12.7,6.62,-12.7,6.62,108.6,121.2,0.1,0,-3.61,1.18,55.56,23.861,2.53,3,3.051,328.4,0.11,,,,,,,,,0.028633,,-0.230144,12,5.46,42.701
43141.68618,32.7179337,-117.2288361,0,-11.4,6.52,-11.4,6.52,109.7,121,-0.1,-0.1,-3.59,1.168,55.82,23.861,2.54,2.99,3.051,122.2,0.08,,,,,,,,,0.02923,,-0.230109,-2.5,5.67,42.701
43141.68619,32.7179375,-117.2288437,0,-9.9,6.46,-9.9,6.46,110.9,120.6,-0.3,-0.1,-3.59,1.18,55.69,23.861,2.54,2.98,3.051,333.9,0.18,,,,,,,,,0.029743,,-0.230267,18.8,6.25,42.628
43141.6862,32.7179375,-117.2288361,0,-8.4,6.46,-8.4,6.46,112.1,120.3,-0.2,0,-3.59,1.18,55.82,23.861,2.54,2.99,3.051,161.2,0.24,,,,,,,,,0.030042,,-0.229893,11,6.74,42.701
43141.68622,32.7179375,-117.2288361,0,-7,6.48,-7,6.48,113.1,120,-0.1,-0.1,-3.61,1.168,55.69,23.861,2.54,2.99,3.05,108.1,0.12,,,,,,,,,0.030241,,-0.229853,8.2,6.46,42.701
43141.68623,32.7179375,-117.2288361,0,-6,6.48,-6,6.48,114,119.9,-0.1,0,-3.61,1.18,55.69,23.861,2.54,2.98,3.051,156.7,0.05,,,,,,,,,0.030405,,-0.22984,-3.8,6.21,42.701
43141.68624,32.7179375,-117.2288361,0,-5.2,6.44,-5.2,6.44,114.8,119.9,-0.1,-0.1,-3.56,1.176,55.69,23.861,2.54,2.99,3.051,274.6,0.12,,,,,,,,,0.030664,,-0.229841,-6.6,6.09,42.701
43141.68625,32.7179375,-117.2288361,0,-5.2,6.35,-5.2,6.35,114.8,119.9,-0.3,0,-3.59,1.176,55.56,23.861,2.53,2.99,3.051,170.4,0.11,,,,,,,,,0.031025,,-0.229832,-0.5,5.53,42.628
43141.68626,32.7179375,-117.2288361,0,-6.5,6.29,-6.5,6.29,113.5,120.1,-0.4,0.1,-3.61,1.192,55.69,23.861,2.54,2.99,3.051,107.6,0.15,,,,,,,,,0.031038,,-0.229859,-22,6.27,42.701
43141.68627,32.7179375,-117.2288361,0,-8.1,6.35,-8.1,6.35,112.1,120.2,-0.2,-0.1,-3.61,1.168,55.56,23.861,2.53,2.99,3.05,306.2,0.21,,,,,,,,,0.030483,,-0.229882,-21.2,7.34,42.628
43141.68628,32.7179375,-117.2288361,0,-9.1,6.45,-9.1,6.45,111.1,120.2,0.1,0,-3.61,1.18,55.69,23.861,2.53,2.99,3.051,305.5,0.04,,,,,,,,,0.02991,,-0.22987,-22.7,6.95,42.774
43141.6863,32.7179375,-117.2288361,0,-9.5,6.5,-9.5,6.5,110.7,120.2,0.2,-0.1,-3.59,1.176,55.69,23.861,2.52,3.01,3.051,25.2,0.15,,,,,,,,,0.029658,,-0.229883,-9.2,7.1,42.701
43141.68631,32.7179337,-117.2288361,0,-9.9,6.59,-9.9,6.59,110.6,120.6,-0.1,0,-3.59,1.176,55.69,23.861,2.53,2.99,3.051,2.3,0.14,,,,,,,,,0.029283,,-0.230057,-14.6,7.62,42.628
43141.68632,32.7179337,-117.2288361,0,-10.7,6.73,-10.7,6.73,110.1,120.9,-0.2,0,-3.59,1.18,55.69,23.861,2.54,2.99,3.051,332.3,0.15,,,,,,,,,0.028778,,-0.230093,-13.5,8.67,42.628
43141.68633,32.7179375,-117.2288361,0,-10.4,6.9,-10.4,6.9,110.5,121,0.1,0,-3.61,1.184,55.56,23.861,2.53,3,3.051,198.6,0.15,,,,,,,,,0.028509,,-0.229998,-0.7,7.65,42.628
43141.68634,32.7179375,-117.2288361,0,-9.9,6.93,-9.9,6.93,111.2,121.2,0.2,-0.1,-3.59,1.176,55.82,23.861,2.52,3.01,3.051,109.7,0.11,,,,,,,,,0.028541,,-0.230026,-5.8,7.17,42.701
43141.68635,32.7179375,-117.2288361,0,-9.9,6.92,-9.9,6.92,111.4,121.3,-0.1,0,-3.59,1.188,55.69,23.861,2.54,2.99,3.051,327.2,0.23,,,,,,,,,0.028577,,-0.23004,-7,6.72,42.701
43141.68637,32.7179375,-117.2288361,0,-10,6.9,-10,6.9,111.4,121.5,-0.1,0,-3.59,1.18,55.69,23.861,2.54,2.99,3.051,182.9,0.04,,,,,,,,,0.028583,,-0.230064,-23.7,6.66,42.701
43141.68638,32.7179375,-117.2288361,0,-10.7,6.92,-10.7,6.92,110.8,121.6,0,0,-3.59,1.172,55.56,23.861,2.53,3,3.051,213.9,0.04,,,,,,,,,0.028424,,-0.230074,-20,7.3,42.701
43141.68639,32.7179375,-117.2288361,0,-10.7,6.99,-10.7,6.99,110.8,121.4,0.1,0,-3.56,1.184,55.69,23.861,2.53,3,3.053,200.8,0.23,,,,,,,,,0.028316,,-0.230051,-6.6,7.7,42.701
43141.6864,32.7179337,-117.2288361,0,-9.9,7.05,-9.9,7.05,111.4,121.2,0.1,0,-3.59,1.176,55.69,23.861,2.53,3,3.051,26.4,0.04,,,,,,,,,0.028267,,-0.230145,-3,7.33,42.701
43141.68641,32.7179337,-117.2288361,0,-9.6,7.07,-9.6,7.07,111.6,121.2,-0.1,0,-3.59,1.18,55.56,23.861,2.53,2.99,3.051,278.5,0.09,,,,,,,,,0.028253,,-0.230139,-19.2,6.64,42.701
43141.68642,32.7179337,-117.2288361,0,-9.7,7.01,-9.7,7.01,111.4,121.1,-0.4,0,-3.59,1.188,55.69,23.861,2.54,2.98,3.053,104.9,0.09,,,,,,,,,0.028433,,-0.230128,-18.9,6.24,42.628
43141.68644,32.7179375,-117.2288361,0,-9.3,6.9,-9.3,6.9,111.6,120.8,-0.3,-0.1,-3.59,1.172,55.69,23.861,2.54,2.98,3.051,251.8,0.15,,,,,,,,,0.028769,,-0.229959,-4.9,5.9,42.701
43141.68645,32.7179375,-117.2288361,0,-9.5,6.79,-9.5,6.79,111.1,120.4,0.1,0,-3.61,1.184,55.69,23.861,2.53,3,3.053,260.9,0.14,,,,,,,,,0.028944,,-0.229907,-19.8,5.7,42.628
43141.68646,32.7179375,-117.2288361,0,-9,6.69,-9,6.69,111.3,120.2,0.2,-0.1,-3.59,1.172,55.56,23.861,2.52,3.01,3.051,139.1,0.07,,,,,,,,,0.029271,,-0.229872,-11.2,6.03,42.628
43141.68647,32.7179375,-117.2288361,0,-9.8,6.62,-9.8,6.62,110.3,120,-0.1,0,-3.61,1.184,55.69,23.861,2.53,3,3.051,167.9,0.14,,,,,,,,,0.029278,,-0.229845,-13.9,5.96,42.628
43141.68648,32.7179375,-117.2288361,0,-9.8,6.6,-9.8,6.6,110,119.7,-0.2,0,-3.61,1.18,55.69,23.861,2.54,2.99,3.051,352.9,0.04,,,,,,,,,0.029071,,-0.2298,-10.5,6.58,42.701
43141.68649,32.7179375,-117.2288361,0,-8.9,6.58,-8.9,6.58,110.6,119.3,0.1,-0.1,-3.56,1.18,55.69,23.861,2.53,3,3.051,157.1,0.28,,,,,,,,,0.028734,,-0.229754,-3.8,6.43,42.628
43141.6865,32.7179375,-117.2288361,0,-8.25,6.57,-8.25,6.57,111.05,119.1,0.15,-0.05,-3.58,1.18,55.69,23.861,2.53,3,3.052,257,0.275,,,,,,,,,0.028919,,-0.229725,1.85,6.25,42.665
43141.68652,32.7179375,-117.2288361,0,-7.6,6.56,-7.6,6.56,111.5,118.9,0.2,0,-3.61,1.18,55.69,23.861,2.53,3,3.053,356.9,0.27,,,,,,,,,0.029104,,-0.229696,7.5,6.07,42.701
43141.68653,32.7179375,-117.2288361,0,-6.7,6.5,-6.7,6.5,112.1,118.5,0,0,-3.61,1.18,55.69,23.861,2.53,3,3.053,164.8,0.04,,,,,,,,,0.029459,,-0.229642,6.8,6.16,42.701
43141.68654,32.7179375,-117.2288361,0,-4.2,6.49,-4.2,6.49,114.2,118.2,-0.1,0,-3.56,1.176,55.69,23.861,2.53,3,3.051,45.8,0.15,,,,,,,,,0.029996,,-0.229598,30.8,6.41,42.701
43141.68655,32.7179375,-117.2288361,0,-1.8,6.43,-1.8,6.43,116.4,118,0,0,-3.59,1.172,55.56,23.861,2.53,2.99,3.051,197.6,0.07,,,,,,,,,0.030645,,-0.229563,21.2,5.36,42.628
43141.68656,32.7179413,-117.2288361,0,1.4,6.29,1.4,6.29,119.2,117.7,0,0,-3.59,1.18,55.82,23.861,2.54,2.99,3.051,288.8,0.06,,,,,,,,,0.031712,,-0.229396,28,5.15,42.701
43141.68657,32.7179413,-117.2288284,0,3.9,6.16,3.9,6.16,121.4,117.3,-0.1,0,-3.59,1.184,55.69,23.861,2.54,2.99,3.053,180.4,0.22,,,,,,,,,0.032764,,-0.229023,19.2,4.79,42.701
43141.68659,32.7179413,-117.2288284,0,5.2,6.02,5.2,6.02,122.4,117,-0.1,0,-3.61,1.176,55.82,23.861,2.54,2.99,3.051,189.6,0.06,,,,,,,,,0.03391,,-0.228981,27,4.79,42.701
43141.6866,32.7179413,-117.2288284,0,5.5,5.91,5.5,5.91,122.4,116.8,-0.1,0,-3.61,1.184,55.82,23.861,2.54,2.98,3.051,307.4,0.08,,,,,,,,,0.034406,,-0.228944,-6.8,4.75,42.701
43141.68661,32.7179413,-117.2288284,0,5,5.77,5,5.77,121.7,116.6,-0.1,-0.1,-3.59,1.172,55.82,23.861,2.54,2.99,3.051,173.6,0.07,,,,,,,,,0.034907,,-0.22892,-5.3,4.74,42.701
43141.68662,32.7179451,-117.2288284,0,5.3,5.66,5.3,5.66,121.8,116.4,-0.1,0,-3.59,1.184,55.69,23.861,2.54,2.99,3.051,239.2,0.08,,,,,,,,,0.03546,,-0.228778,11.8,4.57,42.628
43141.68663,32.7179489,-117.2288284,0,6,5.59,6,5.59,122.3,116.3,-0.1,0,-3.61,1.176,55.56,23.861,2.54,2.99,3.05,203.1,0.13,,,,,,,,,0.035936,,-0.228636,2.2,5.36,42.701
43141.68664,32.7179489,-117.2288284,0,6,5.6,6,5.6,122.1,116.1,-0.2,0,-3.59,1.176,55.69,23.861,2.54,2.98,3.051,186,0.08,,,,,,,,,0.035865,,-0.228604,7.4,5.88,42.628
43141.68666,32.7179489,-117.2288284,0,7.1,5.64,7.1,5.64,123,115.8,-0.2,0,-3.59,1.172,55.82,23.861,2.54,2.98,3.051,350.4,0.1,,,,,,,,,0.035747,,-0.228569,18.5,5.85,42.628
43141.68667,32.7179489,-117.2288284,0,8.4,5.64,8.4,5.64,124.1,115.6,-0.1,0,-3.59,1.184,55.69,23.861,2.53,2.99,3.05,249.4,0.04,,,,,,,,,0.0355,,-0.228547,29,5.34,42.628
43141.68668,32.7179489,-117.2288284,0,9.7,5.58,9.7,5.58,125.4,115.6,-0.1,0,-3.59,1.176,55.69,23.861,2.54,2.99,3.051,339.8,0.18,,,,,,,,,0.035907,,-0.228546,23.7,4.96,42.701
43141.68669,32.7179489,-117.2288284,0,9.6,5.51,9.6,5.51,125.2,115.7,-0.1,0,-3.59,1.18,55.69,23.861,2.54,2.98,3.051,205,0.29,,,,,,,,,0.03671,,-0.22855,-1.6,5.09,42.628
43141.6867,32.7179489,-117.2288284,0,10,5.51,10,5.51,125.6,115.5,-0.2,0,-3.61,1.18,55.69,23.861,2.54,2.99,3.051,232.4,0.13,,,,,,,,,0.036402,,-0.228526,3.6,5.87,42.628
43141.68671,32.7179489,-117.2288284,0,9.2,5.58,9.2,5.58,124.6,115.3,-0.2,0,-3.59,1.176,55.82,23.861,2.54,2.98,3.051,148.5,0.08,,,,,,,,,0.035924,,-0.228503,5.2,6.06,42.701
43141.68672,32.7179489,-117.2288284,0,8.3,5.63,8.3,5.63,123.5,115.1,-0.2,0,-3.59,1.176,55.69,23.861,2.54,2.98,3.051,290.8,0.1,,,,,,,,,0.035529,,-0.228475,-1.3,5.98,42.701
43141.68674,32.7179489,-117.2288284,0,8,5.67,8,5.67,123,114.9,-0.3,0,-3.61,1.18,55.82,23.861,2.55,2.97,3.051,4.1,0.08,,,,,,,,,0.035279,,-0.22844,7.3,6.49,42.701
43141.68675,32.7179489,-117.2288284,0,7.5,5.74,7.5,5.74,122.3,114.7,-0.3,0,-3.59,1.172,55.69,23.861,2.55,2.98,3.05,104.6,0.04,,,,,,,,,0.034901,,-0.228415,15.9,6.19,42.701
43141.68676,32.7179489,-117.2288284,0,8.2,5.78,8.2,5.78,122.8,114.6,-0.2,0,-3.59,1.18,55.69,23.861,2.54,2.98,3.051,181.8,0.12,,,,,,,,,0.0348,,-0.228396,28,6.93,42.628
43141.68677,32.7179489,-117.2288284,0,8.4,5.9,8.4,5.9,122.9,114.4,-0.2,-0.1,-3.59,1.168,55.82,23.861,2.54,2.98,3.053,318.7,0.09,,,,,,,,,0.034337,,-0.228381,4.9,7.04,42.701
43141.68678,32.7179489,-117.2288284,0,8.3,6,8.3,6,122.8,114.4,-0.3,0,-3.61,1.176,55.69,23.861,2.55,2.98,3.053,161.5,0.12,,,,,,,,,0.033905,,-0.228381,6.1,6.7,42.628
43141.68679,32.7179489,-117.2288284,0,7.9,6.05,7.9,6.05,122.4,114.5,-0.3,0,-3.59,1.172,55.69,23.861,2.54,2.98,3.051,163.3,0.1,,,,,,,,,0.033472,,-0.228392,1,6.16,42.628
43141.68681,32.7179489,-117.2288284,0,8.2,6.05,8.2,6.05,122.7,114.5,-0.2,0,-3.59,1.172,55.82,23.861,2.54,2.99,3.051,50.7,0.09,,,,,,,,,0.033531,,-0.228394,13.1,5.89,42.701
43141.68682,32.7179489,-117.2288284,0,8.3,6.06,8.3,6.06,122.9,114.7,-0.2,0,-3.59,1.18,55.69,23.861,2.54,2.99,3.051,202.8,0.16,,,,,,,,,0.033482,,-0.228419,12,6.21,42.628
1 Utc Lat Lon Bsp Awa Aws Twa Tws Twd Hdg Heel Trim Rudder Forestay FStayLen MastButt Load S Load P Rake Cog Sog GPS time Mk Lat Mk Lon Port lat Port lon Stbd lat Stbd lon TmToGun TmToLn TmToBurn BelowLn Mwa Mws DeflectorP
2 43141.03576 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
3 43141.03578 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
4 43141.03579 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
5 43141.0358 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
6 43141.03581 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
7 43141.03582 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
8 43141.03583 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
9 43141.03584 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
10 43141.03586 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
11 43141.03587 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
12 43141.03588 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
13 43141.03589 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
14 43141.0359 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
15 43141.03591 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
16 43141.03593 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
17 43141.03594 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
18 43141.03595 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
19 43141.03596 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
20 43141.03597 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
21 43141.03598 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
22 43141.036 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
23 43141.03601 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
24 43141.03602 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
25 43141.03603 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
26 43141.03604 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
27 43141.03605 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
28 43141.03606 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
29 43141.03608 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
30 43141.03609 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
31 43141.0361 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
32 43141.03611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
33 43141.03612 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
34 43141.03613 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
35 43141.03615 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
36 43141.03616 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
37 43141.03617 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
38 43141.03618 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
39 43141.03619 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
40 43141.0362 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
41 43141.03622 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
42 43141.03623 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 32.6550366 -117.176932 32.6565564 -117.1780542 3259.792175 3739.699221 0 0 0
43 43141.03624 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6505304 -117.1872557 3259.792175 3739.699221 0 0 0
44 43141.03625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6536859 -117.1830382 3259.792175 3739.699221 0 0 0
45 43141.03626 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6568415 -117.1788208 3259.792175 3739.699221 0 0 0
46 43141.03627 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6536859 -117.1830382 3259.792175 3739.699221 0 0 0
47 43141.03628 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6505303 -117.1872556 3259.792175 3739.699221 0 0 0
48 43141.0363 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
49 43141.03631 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6565564 -117.1780542 3259.792175 3739.699221 0 0 0
50 43141.03632 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
51 43141.03633 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
52 43141.03634 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
53 43141.03635 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
54 43141.03637 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
55 43141.03638 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
56 43141.03639 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
57 43141.0364 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
58 43141.03641 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
59 43141.03642 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
60 43141.03644 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
61 43141.03645 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
62 43141.03646 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
63 43141.03647 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
64 43141.03648 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6565564 -117.1780542 3259.792175 3739.699221 0 0 0
65 43141.03649 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6534959 -117.1825272 3259.792175 3739.699221 0 0 0
66 43141.0365 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6504354 -117.1870002 3259.792175 3739.699221 0 0 0
67 43141.03652 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
68 43141.03653 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6521082 -117.185147 3259.792175 3739.699221 0 0 0
69 43141.03654 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6568415 -117.1788208 3259.792175 3739.699221 0 0 0
70 43141.03655 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6521082 -117.185147 3259.792175 3739.699221 0 0 0
71 43141.03656 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
72 43141.03657 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6550366 -117.176932 3259.792175 3739.699221 0 0 0
73 43141.03659 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6557965 -117.1774931 3259.792175 3739.699221 0 0 0
74 43141.0366 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6565564 -117.1780542 3259.792175 3739.699221 0 0 0
75 43141.03661 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6473748 -117.1914731 3259.792175 3739.699221 0 0 0
76 43141.03662 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6565564 -117.1780542 3259.792175 3739.699221 0 0 0
77 43141.03663 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6550366 -117.176932 3259.792175 3739.699221 0 0 0
78 43141.03664 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6565564 -117.1780542 3259.792175 3739.699221 0 0 0
79 43141.03666 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
80 43141.03667 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
81 43141.03668 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
82 43141.03669 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
83 43141.0367 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
84 43141.03671 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
85 43141.03672 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
86 43141.03674 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
87 43141.03675 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
88 43141.03676 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
89 43141.03677 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
90 43141.03678 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
91 43141.03679 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
92 43141.03681 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
93 43141.03682 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
94 43141.03683 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32.6565564 -117.1780542 3259.792175 3739.699221 0 0 0
95 43141.03684 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
96 43141.03685 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
97 43141.03686 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
98 43141.03688 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
99 43141.03689 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
100 43141.0369 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
101 43141.03691 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
102 43141.03692 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
103 43141.03693 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
104 43141.03694 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
105 43141.03696 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
106 43141.03697 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3259.792175 3739.699221 0 0 0
107 43141.68574 32.6565564 -117.1780542 32.6550366 -117.176932 32.6565564 -117.1780542
108 43141.68575 32.7179489 -117.2288284 0 -3.5 8.69 -3.5 8.69 111.5 114.9 0.1 0 -3.56 1.184 55.56 23.861 2.53 2.99 3.051 26.8 0.17 32.6565564 -117.1780542 0.024879 -0.228444 -1.9 7.7 42.628
109 43141.68576 32.7179489 -117.2288284 0 -4 8.54 -4 8.54 110.9 114.9 0.2 0 -3.59 1.18 55.69 23.861 2.53 2.99 3.051 16.4 0.11 32.6565564 -117.1780542 0.024826 -0.228441 -9.8 6.85 42.628
110 43141.68578 32.7179451 -117.2288284 0 -5.3 8.35 -5.3 8.35 109.6 115 0.2 0 -3.61 1.18 55.56 23.861 2.53 3 3.05 22.1 0.12 0.024735 -0.228573 -16.6 6.51 42.701
111 43141.68579 32.7179489 -117.2288284 0 -6.1 8.22 -6.1 8.22 109 115.2 0.2 0 -3.59 1.18 55.56 23.861 2.53 2.99 3.051 331.9 0.15 0.024784 -0.228486 -8 7.5 42.628
112 43141.6858 32.7179489 -117.2288284 0 -6.9 8.17 -6.9 8.17 108.5 115.5 0.2 0 -3.59 1.172 55.69 23.861 2.53 3 3.051 176.6 0.15 0.024731 -0.228521 -13 7.6 42.701
113 43141.68581 32.7179489 -117.2288284 0 -7.9 8.09 -7.9 8.09 107.6 115.6 0.2 0 -3.61 1.176 55.69 23.861 2.52 3 3.05 167.6 0.19 0.024702 -0.228543 1.5 7.64 42.701
114 43141.68582 32.7179489 -117.2288284 0 -8.1 8.09 -8.1 8.09 107.6 115.7 0.2 0 -3.61 1.176 55.56 23.861 2.52 3.01 3.051 296.6 0.06 0.025512 -0.22856 -15 8.08 42.628
115 43141.68583 32.7179489 -117.2288284 0 -7.8 8.11 -7.8 8.11 108 115.8 0.1 0 -3.59 1.184 55.56 23.861 2.53 3 3.051 21 0.11 0.025502 -0.228575 -0.3 8.24 42.701
116 43141.68584 32.7179489 -117.2288284 0 -7.2 8.09 -7.2 8.09 108.6 115.9 -0.2 0 -3.61 1.176 55.69 23.861 2.54 2.99 3.053 65.4 0.08 0.025688 -0.228576 1.3 7.68 42.701
117 43141.68586 32.7179489 -117.2288284 0 -7 8.08 -7 8.08 108.8 115.8 0 0 -3.59 1.176 55.56 23.861 2.53 3 3.051 340.3 0.11 0.025774 -0.228569 -10.8 7.94 42.628
118 43141.68587 32.7179451 -117.2288284 0 -6.5 8.05 -6.5 8.05 109.2 115.6 0.1 0 -3.61 1.18 55.69 23.861 2.52 3.01 3.051 169 0.18 0.02517 -0.228664 -5.7 7.84 42.701
119 43141.68588 32.7179451 -117.2288284 0 -6.2 8.01 -6.2 8.01 109.2 115.3 0 -0.1 -3.59 1.172 55.56 23.861 2.53 3 3.05 234.2 0.13 0.025357 -0.228617 -6.1 7.61 42.701
120 43141.68589 32.7179489 -117.2288284 0 -5.7 8 -5.7 8 109.4 115 -0.1 0 -3.56 1.18 55.56 23.861 2.53 2.99 3.051 75.3 0.1 0.025514 -0.22845 -3 8.31 42.701
121 43141.6859 32.7179489 -117.2288284 0 -5.1 8.01 -5.1 8.01 109.7 114.6 -0.1 0 -3.59 1.172 55.56 23.861 2.53 3 3.05 201.8 0.03 0.02561 -0.228406 6 7.58 42.701
122 43141.68591 32.7179489 -117.2288284 0 -4.2 7.9 -4.2 7.9 110.2 114.2 -0.1 -0.1 -3.59 1.176 55.56 23.861 2.53 3 3.05 208.8 0.03 0.025949 -0.228351 -12.1 6.3 42.701
123 43141.68593 32.7179489 -117.2288284 0 -5 7.74 -5 7.74 109 113.8 -0.1 0 -3.61 1.18 55.69 23.861 2.53 3 3.05 6.3 0.09 0.026003 -0.228295 -14.7 6.29 42.701
124 43141.68594 32.7179489 -117.2288208 0 -5.2 7.57 -5.2 7.57 108.6 113.6 -0.1 0 -3.59 1.176 55.56 23.861 2.53 3 3.051 209.2 0.09 0.02623 -0.227937 -16.6 5.81 42.628
125 43141.68595 32.7179489 -117.2288208 0 -5.5 7.45 -5.5 7.45 108 113.5 -0.2 0 -3.59 1.176 55.69 23.861 2.53 3 3.051 346 0.06 0.026377 -0.227922 -13.1 6.66 42.701
126 43141.68596 32.7179489 -117.2288208 0 -5.1 7.34 -5.1 7.34 108.4 113.5 -0.1 0 -3.59 1.18 55.69 23.861 2.53 3 3.051 124.2 0.05 0.026727 -0.227921 -18.1 6.09 42.774
127 43141.68597 32.7179489 -117.2288208 0 -5.2 7.22 -5.2 7.22 108.4 113.7 -0.1 0 -3.61 1.168 55.69 23.861 2.52 3.01 3.05 227.3 0.12 0.027004 -0.227945 -6.2 6.06 42.701
128 43141.68598 32.7179489 -117.2288208 0 -5 7.09 -5 7.09 108.8 114 -0.3 0 -3.59 1.176 55.69 23.861 2.53 3 3.051 142.3 0.09 32.6565564 -117.1780542 32.6550366 -117.176932 32.6565564 -117.1780542 0.027452 -0.227988 -3.6 5.46 42.701
129 43141.686 32.7179489 -117.2288284 0 -5.2 6.94 -5.2 6.94 109 114.5 -0.6 -0.1 -3.59 1.172 55.69 23.861 2.54 2.99 3.051 358.9 0.18 0.027823 -0.228386 5.6 5.59 42.701
130 43141.68601 32.7179451 -117.2288284 0 -5.2 6.77 -5.2 6.77 109.8 115.3 -0.5 0 -3.59 1.176 55.69 23.861 2.54 2.99 3.051 352.2 0.12 0.028046 -0.228624 -6 5.43 42.701
131 43141.68602 32.7179451 -117.2288284 0 -6.2 6.67 -6.2 6.67 109.6 116.1 -0.3 -0.1 -3.59 1.176 55.69 23.861 2.53 3 3.053 164 0.08 0.028997 -0.22873 -4.6 5.9 42.628
132 43141.68603 32.7179413 -117.2288284 0 -7.4 6.62 -7.4 6.62 109.2 116.9 -0.2 0 -3.59 1.18 55.56 23.861 2.54 2.99 3.053 142.4 0.02 0.02886 -0.228966 -1.3 6.19 42.701
133 43141.68604 32.7179375 -117.2288284 0 -8 6.58 -8 6.58 109.4 117.8 -0.2 0 -3.56 1.176 55.69 23.861 2.53 2.99 3.051 17.5 0.06 0.028814 -0.229214 -2.4 6.16 42.628
134 43141.68605 32.7179375 -117.2288361 0 -9.1 6.53 -9.1 6.53 109.3 118.8 -0.3 -0.1 -3.59 1.176 55.69 23.861 2.54 2.99 3.051 304.6 0.09 0.028693 -0.229677 -10.7 6.2 42.701
135 43141.68606 32.7179375 -117.2288361 0 -9.9 6.58 -9.9 6.58 109.3 119.6 -0.4 0 -3.59 1.18 55.69 23.861 2.54 2.99 3.051 262.7 0.24 0.028384 -0.229792 -33.6 7.33 42.701
136 43141.68608 32.7179375 -117.2288361 0 -11.8 6.67 -11.8 6.67 108.1 120.3 -0.4 0 -3.56 1.176 55.69 23.861 2.54 2.99 3.05 328.3 0.13 0.028621 -0.229888 -20.2 7.63 42.628
137 43141.68609 32.7179337 -117.2288361 0 -13.4 6.76 -13.4 6.76 107.2 120.9 -0.4 0 -3.56 1.18 55.56 23.861 2.54 2.99 3.051 260.6 0.08 0.028087 -0.230097 -23.8 7.51 42.701
138 43141.6861 32.7179337 -117.2288361 0 -13.9 6.8 -13.9 6.8 106.9 121.05 -0.4 0 -3.56 1.18 55.63 23.861 2.54 2.985 3.051 234 0.155 0.027896 -0.23012 -21.45 7.4 42.701
139 43141.68611 32.7179337 -117.2288361 0 -14.4 6.84 -14.4 6.84 106.6 121.2 -0.4 0 -3.56 1.18 55.69 23.861 2.54 2.98 3.051 207.4 0.23 32.6565564 -117.1780542 0.027705 -0.230144 -19.1 7.29 42.701
140 43141.68612 32.7179337 -117.2288361 0 -15.5 6.85 -15.5 6.85 105.7 121.4 -0.5 0 -3.61 1.176 55.69 23.861 2.54 2.99 3.051 263.6 0.11 0.027444 -0.230163 -36.4 6.77 42.701
141 43141.68613 32.7179337 -117.2288361 0 -16 6.84 -16 6.84 105.3 121.4 -0.5 0 -3.59 1.184 55.56 23.861 2.54 2.99 3.053 185.7 0.12 0.027349 -0.230166 -29.6 6.51 42.701
142 43141.68615 32.7179337 -117.2288361 0 -15.6 6.78 -15.6 6.78 105.7 121.3 -0.4 0 -3.59 1.184 55.82 23.861 2.54 2.98 3.051 224.8 0.05 0.027587 -0.230158 -14.8 6.18 42.701
143 43141.68616 32.7179337 -117.2288361 0 -14.6 6.72 -14.6 6.72 106.8 121.4 -0.1 -0.1 -3.61 1.172 55.82 23.861 2.53 2.99 3.053 312.8 0.14 0.027822 -0.230164 -10 6.13 42.701
144 43141.68617 32.7179337 -117.2288361 0 -12.7 6.62 -12.7 6.62 108.6 121.2 0.1 0 -3.61 1.18 55.56 23.861 2.53 3 3.051 328.4 0.11 0.028633 -0.230144 12 5.46 42.701
145 43141.68618 32.7179337 -117.2288361 0 -11.4 6.52 -11.4 6.52 109.7 121 -0.1 -0.1 -3.59 1.168 55.82 23.861 2.54 2.99 3.051 122.2 0.08 0.02923 -0.230109 -2.5 5.67 42.701
146 43141.68619 32.7179375 -117.2288437 0 -9.9 6.46 -9.9 6.46 110.9 120.6 -0.3 -0.1 -3.59 1.18 55.69 23.861 2.54 2.98 3.051 333.9 0.18 0.029743 -0.230267 18.8 6.25 42.628
147 43141.6862 32.7179375 -117.2288361 0 -8.4 6.46 -8.4 6.46 112.1 120.3 -0.2 0 -3.59 1.18 55.82 23.861 2.54 2.99 3.051 161.2 0.24 0.030042 -0.229893 11 6.74 42.701
148 43141.68622 32.7179375 -117.2288361 0 -7 6.48 -7 6.48 113.1 120 -0.1 -0.1 -3.61 1.168 55.69 23.861 2.54 2.99 3.05 108.1 0.12 0.030241 -0.229853 8.2 6.46 42.701
149 43141.68623 32.7179375 -117.2288361 0 -6 6.48 -6 6.48 114 119.9 -0.1 0 -3.61 1.18 55.69 23.861 2.54 2.98 3.051 156.7 0.05 0.030405 -0.22984 -3.8 6.21 42.701
150 43141.68624 32.7179375 -117.2288361 0 -5.2 6.44 -5.2 6.44 114.8 119.9 -0.1 -0.1 -3.56 1.176 55.69 23.861 2.54 2.99 3.051 274.6 0.12 0.030664 -0.229841 -6.6 6.09 42.701
151 43141.68625 32.7179375 -117.2288361 0 -5.2 6.35 -5.2 6.35 114.8 119.9 -0.3 0 -3.59 1.176 55.56 23.861 2.53 2.99 3.051 170.4 0.11 0.031025 -0.229832 -0.5 5.53 42.628
152 43141.68626 32.7179375 -117.2288361 0 -6.5 6.29 -6.5 6.29 113.5 120.1 -0.4 0.1 -3.61 1.192 55.69 23.861 2.54 2.99 3.051 107.6 0.15 0.031038 -0.229859 -22 6.27 42.701
153 43141.68627 32.7179375 -117.2288361 0 -8.1 6.35 -8.1 6.35 112.1 120.2 -0.2 -0.1 -3.61 1.168 55.56 23.861 2.53 2.99 3.05 306.2 0.21 0.030483 -0.229882 -21.2 7.34 42.628
154 43141.68628 32.7179375 -117.2288361 0 -9.1 6.45 -9.1 6.45 111.1 120.2 0.1 0 -3.61 1.18 55.69 23.861 2.53 2.99 3.051 305.5 0.04 0.02991 -0.22987 -22.7 6.95 42.774
155 43141.6863 32.7179375 -117.2288361 0 -9.5 6.5 -9.5 6.5 110.7 120.2 0.2 -0.1 -3.59 1.176 55.69 23.861 2.52 3.01 3.051 25.2 0.15 0.029658 -0.229883 -9.2 7.1 42.701
156 43141.68631 32.7179337 -117.2288361 0 -9.9 6.59 -9.9 6.59 110.6 120.6 -0.1 0 -3.59 1.176 55.69 23.861 2.53 2.99 3.051 2.3 0.14 0.029283 -0.230057 -14.6 7.62 42.628
157 43141.68632 32.7179337 -117.2288361 0 -10.7 6.73 -10.7 6.73 110.1 120.9 -0.2 0 -3.59 1.18 55.69 23.861 2.54 2.99 3.051 332.3 0.15 0.028778 -0.230093 -13.5 8.67 42.628
158 43141.68633 32.7179375 -117.2288361 0 -10.4 6.9 -10.4 6.9 110.5 121 0.1 0 -3.61 1.184 55.56 23.861 2.53 3 3.051 198.6 0.15 0.028509 -0.229998 -0.7 7.65 42.628
159 43141.68634 32.7179375 -117.2288361 0 -9.9 6.93 -9.9 6.93 111.2 121.2 0.2 -0.1 -3.59 1.176 55.82 23.861 2.52 3.01 3.051 109.7 0.11 0.028541 -0.230026 -5.8 7.17 42.701
160 43141.68635 32.7179375 -117.2288361 0 -9.9 6.92 -9.9 6.92 111.4 121.3 -0.1 0 -3.59 1.188 55.69 23.861 2.54 2.99 3.051 327.2 0.23 0.028577 -0.23004 -7 6.72 42.701
161 43141.68637 32.7179375 -117.2288361 0 -10 6.9 -10 6.9 111.4 121.5 -0.1 0 -3.59 1.18 55.69 23.861 2.54 2.99 3.051 182.9 0.04 0.028583 -0.230064 -23.7 6.66 42.701
162 43141.68638 32.7179375 -117.2288361 0 -10.7 6.92 -10.7 6.92 110.8 121.6 0 0 -3.59 1.172 55.56 23.861 2.53 3 3.051 213.9 0.04 0.028424 -0.230074 -20 7.3 42.701
163 43141.68639 32.7179375 -117.2288361 0 -10.7 6.99 -10.7 6.99 110.8 121.4 0.1 0 -3.56 1.184 55.69 23.861 2.53 3 3.053 200.8 0.23 0.028316 -0.230051 -6.6 7.7 42.701
164 43141.6864 32.7179337 -117.2288361 0 -9.9 7.05 -9.9 7.05 111.4 121.2 0.1 0 -3.59 1.176 55.69 23.861 2.53 3 3.051 26.4 0.04 0.028267 -0.230145 -3 7.33 42.701
165 43141.68641 32.7179337 -117.2288361 0 -9.6 7.07 -9.6 7.07 111.6 121.2 -0.1 0 -3.59 1.18 55.56 23.861 2.53 2.99 3.051 278.5 0.09 0.028253 -0.230139 -19.2 6.64 42.701
166 43141.68642 32.7179337 -117.2288361 0 -9.7 7.01 -9.7 7.01 111.4 121.1 -0.4 0 -3.59 1.188 55.69 23.861 2.54 2.98 3.053 104.9 0.09 0.028433 -0.230128 -18.9 6.24 42.628
167 43141.68644 32.7179375 -117.2288361 0 -9.3 6.9 -9.3 6.9 111.6 120.8 -0.3 -0.1 -3.59 1.172 55.69 23.861 2.54 2.98 3.051 251.8 0.15 0.028769 -0.229959 -4.9 5.9 42.701
168 43141.68645 32.7179375 -117.2288361 0 -9.5 6.79 -9.5 6.79 111.1 120.4 0.1 0 -3.61 1.184 55.69 23.861 2.53 3 3.053 260.9 0.14 0.028944 -0.229907 -19.8 5.7 42.628
169 43141.68646 32.7179375 -117.2288361 0 -9 6.69 -9 6.69 111.3 120.2 0.2 -0.1 -3.59 1.172 55.56 23.861 2.52 3.01 3.051 139.1 0.07 0.029271 -0.229872 -11.2 6.03 42.628
170 43141.68647 32.7179375 -117.2288361 0 -9.8 6.62 -9.8 6.62 110.3 120 -0.1 0 -3.61 1.184 55.69 23.861 2.53 3 3.051 167.9 0.14 0.029278 -0.229845 -13.9 5.96 42.628
171 43141.68648 32.7179375 -117.2288361 0 -9.8 6.6 -9.8 6.6 110 119.7 -0.2 0 -3.61 1.18 55.69 23.861 2.54 2.99 3.051 352.9 0.04 0.029071 -0.2298 -10.5 6.58 42.701
172 43141.68649 32.7179375 -117.2288361 0 -8.9 6.58 -8.9 6.58 110.6 119.3 0.1 -0.1 -3.56 1.18 55.69 23.861 2.53 3 3.051 157.1 0.28 0.028734 -0.229754 -3.8 6.43 42.628
173 43141.6865 32.7179375 -117.2288361 0 -8.25 6.57 -8.25 6.57 111.05 119.1 0.15 -0.05 -3.58 1.18 55.69 23.861 2.53 3 3.052 257 0.275 0.028919 -0.229725 1.85 6.25 42.665
174 43141.68652 32.7179375 -117.2288361 0 -7.6 6.56 -7.6 6.56 111.5 118.9 0.2 0 -3.61 1.18 55.69 23.861 2.53 3 3.053 356.9 0.27 0.029104 -0.229696 7.5 6.07 42.701
175 43141.68653 32.7179375 -117.2288361 0 -6.7 6.5 -6.7 6.5 112.1 118.5 0 0 -3.61 1.18 55.69 23.861 2.53 3 3.053 164.8 0.04 0.029459 -0.229642 6.8 6.16 42.701
176 43141.68654 32.7179375 -117.2288361 0 -4.2 6.49 -4.2 6.49 114.2 118.2 -0.1 0 -3.56 1.176 55.69 23.861 2.53 3 3.051 45.8 0.15 0.029996 -0.229598 30.8 6.41 42.701
177 43141.68655 32.7179375 -117.2288361 0 -1.8 6.43 -1.8 6.43 116.4 118 0 0 -3.59 1.172 55.56 23.861 2.53 2.99 3.051 197.6 0.07 0.030645 -0.229563 21.2 5.36 42.628
178 43141.68656 32.7179413 -117.2288361 0 1.4 6.29 1.4 6.29 119.2 117.7 0 0 -3.59 1.18 55.82 23.861 2.54 2.99 3.051 288.8 0.06 0.031712 -0.229396 28 5.15 42.701
179 43141.68657 32.7179413 -117.2288284 0 3.9 6.16 3.9 6.16 121.4 117.3 -0.1 0 -3.59 1.184 55.69 23.861 2.54 2.99 3.053 180.4 0.22 0.032764 -0.229023 19.2 4.79 42.701
180 43141.68659 32.7179413 -117.2288284 0 5.2 6.02 5.2 6.02 122.4 117 -0.1 0 -3.61 1.176 55.82 23.861 2.54 2.99 3.051 189.6 0.06 0.03391 -0.228981 27 4.79 42.701
181 43141.6866 32.7179413 -117.2288284 0 5.5 5.91 5.5 5.91 122.4 116.8 -0.1 0 -3.61 1.184 55.82 23.861 2.54 2.98 3.051 307.4 0.08 0.034406 -0.228944 -6.8 4.75 42.701
182 43141.68661 32.7179413 -117.2288284 0 5 5.77 5 5.77 121.7 116.6 -0.1 -0.1 -3.59 1.172 55.82 23.861 2.54 2.99 3.051 173.6 0.07 0.034907 -0.22892 -5.3 4.74 42.701
183 43141.68662 32.7179451 -117.2288284 0 5.3 5.66 5.3 5.66 121.8 116.4 -0.1 0 -3.59 1.184 55.69 23.861 2.54 2.99 3.051 239.2 0.08 0.03546 -0.228778 11.8 4.57 42.628
184 43141.68663 32.7179489 -117.2288284 0 6 5.59 6 5.59 122.3 116.3 -0.1 0 -3.61 1.176 55.56 23.861 2.54 2.99 3.05 203.1 0.13 0.035936 -0.228636 2.2 5.36 42.701
185 43141.68664 32.7179489 -117.2288284 0 6 5.6 6 5.6 122.1 116.1 -0.2 0 -3.59 1.176 55.69 23.861 2.54 2.98 3.051 186 0.08 0.035865 -0.228604 7.4 5.88 42.628
186 43141.68666 32.7179489 -117.2288284 0 7.1 5.64 7.1 5.64 123 115.8 -0.2 0 -3.59 1.172 55.82 23.861 2.54 2.98 3.051 350.4 0.1 0.035747 -0.228569 18.5 5.85 42.628
187 43141.68667 32.7179489 -117.2288284 0 8.4 5.64 8.4 5.64 124.1 115.6 -0.1 0 -3.59 1.184 55.69 23.861 2.53 2.99 3.05 249.4 0.04 0.0355 -0.228547 29 5.34 42.628
188 43141.68668 32.7179489 -117.2288284 0 9.7 5.58 9.7 5.58 125.4 115.6 -0.1 0 -3.59 1.176 55.69 23.861 2.54 2.99 3.051 339.8 0.18 0.035907 -0.228546 23.7 4.96 42.701
189 43141.68669 32.7179489 -117.2288284 0 9.6 5.51 9.6 5.51 125.2 115.7 -0.1 0 -3.59 1.18 55.69 23.861 2.54 2.98 3.051 205 0.29 0.03671 -0.22855 -1.6 5.09 42.628
190 43141.6867 32.7179489 -117.2288284 0 10 5.51 10 5.51 125.6 115.5 -0.2 0 -3.61 1.18 55.69 23.861 2.54 2.99 3.051 232.4 0.13 0.036402 -0.228526 3.6 5.87 42.628
191 43141.68671 32.7179489 -117.2288284 0 9.2 5.58 9.2 5.58 124.6 115.3 -0.2 0 -3.59 1.176 55.82 23.861 2.54 2.98 3.051 148.5 0.08 0.035924 -0.228503 5.2 6.06 42.701
192 43141.68672 32.7179489 -117.2288284 0 8.3 5.63 8.3 5.63 123.5 115.1 -0.2 0 -3.59 1.176 55.69 23.861 2.54 2.98 3.051 290.8 0.1 0.035529 -0.228475 -1.3 5.98 42.701
193 43141.68674 32.7179489 -117.2288284 0 8 5.67 8 5.67 123 114.9 -0.3 0 -3.61 1.18 55.82 23.861 2.55 2.97 3.051 4.1 0.08 0.035279 -0.22844 7.3 6.49 42.701
194 43141.68675 32.7179489 -117.2288284 0 7.5 5.74 7.5 5.74 122.3 114.7 -0.3 0 -3.59 1.172 55.69 23.861 2.55 2.98 3.05 104.6 0.04 0.034901 -0.228415 15.9 6.19 42.701
195 43141.68676 32.7179489 -117.2288284 0 8.2 5.78 8.2 5.78 122.8 114.6 -0.2 0 -3.59 1.18 55.69 23.861 2.54 2.98 3.051 181.8 0.12 0.0348 -0.228396 28 6.93 42.628
196 43141.68677 32.7179489 -117.2288284 0 8.4 5.9 8.4 5.9 122.9 114.4 -0.2 -0.1 -3.59 1.168 55.82 23.861 2.54 2.98 3.053 318.7 0.09 0.034337 -0.228381 4.9 7.04 42.701
197 43141.68678 32.7179489 -117.2288284 0 8.3 6 8.3 6 122.8 114.4 -0.3 0 -3.61 1.176 55.69 23.861 2.55 2.98 3.053 161.5 0.12 0.033905 -0.228381 6.1 6.7 42.628
198 43141.68679 32.7179489 -117.2288284 0 7.9 6.05 7.9 6.05 122.4 114.5 -0.3 0 -3.59 1.172 55.69 23.861 2.54 2.98 3.051 163.3 0.1 0.033472 -0.228392 1 6.16 42.628
199 43141.68681 32.7179489 -117.2288284 0 8.2 6.05 8.2 6.05 122.7 114.5 -0.2 0 -3.59 1.172 55.82 23.861 2.54 2.99 3.051 50.7 0.09 0.033531 -0.228394 13.1 5.89 42.701
200 43141.68682 32.7179489 -117.2288284 0 8.3 6.06 8.3 6.06 122.9 114.7 -0.2 0 -3.59 1.18 55.69 23.861 2.54 2.99 3.051 202.8 0.16 0.033482 -0.228419 12 6.21 42.628
@@ -0,0 +1,91 @@
package com.sap.sailing.server.trackfiles.test;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
import java.io.InputStream;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.sap.sailing.domain.common.sensordata.ExpeditionExtendedSensorDataMetadata;
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
import com.sap.sailing.domain.trackimport.FormatNotSupportedException;
import com.sap.sailing.server.trackfiles.impl.ExpeditionExtendedDataImporterImpl;
public class ExpeditionDataImportTest {
private int callbackCallCount;
private double forestayValueSum;
protected ExpeditionExtendedDataImporterImpl expeditionDataImporter;
protected interface ImportDataDefinition {
InputStream getInputStream();
int getExpectedFixesCount();
}
@Before
public void setUp() {
expeditionDataImporter = new ExpeditionExtendedDataImporterImpl();
}
protected void testImport(ImportDataDefinition importData) throws FormatNotSupportedException, IOException {
try (final InputStream is = importData.getInputStream()) {
expeditionDataImporter.importFixes(is, (fixes, device) -> {
for (DoubleVectorFix fix : fixes) {
if (fix != null) {
callbackCallCount++;
final Double forestay = fix.get(ExpeditionExtendedSensorDataMetadata.FORESTAY_LOAD.getColumnIndex());
if (forestay != null) {
forestayValueSum += forestay;
}
}
}
}, "filename.csv", "source", /* downsample */ false);
Assert.assertEquals(importData.getExpectedFixesCount(), callbackCallCount);
}
}
@Test
public void simpleFileRead() throws FormatNotSupportedException, IOException {
testImport(ImportData.FILE_EXPEDITION_FULL);
assertTrue(forestayValueSum/callbackCallCount > 0.7 && forestayValueSum/callbackCallCount < 7.0);
}
@Test
public void simpleFileReadWithMissingColumns() throws FormatNotSupportedException, IOException {
testImport(ImportData.FILE_EXPEDITION_PARTIAL);
assertTrue(forestayValueSum/callbackCallCount > 0.5 && forestayValueSum/callbackCallCount < 7.0);
}
private enum ImportData implements ImportDataDefinition {
// find out the number of fixes using the following bash line:
// tail -n +5 Undefined\ Race\ -\ BRAVO.txt | awk '{if ($5<$6) print v=$5; else v=$6; sum+=v; count++; } END {print "Sum: ", sum, "Count: ", count, "Average:", sum/count;}'
FILE_EXPEDITION_FULL(19394) {
@Override
public InputStream getInputStream() {
return getClass().getResourceAsStream("/2017Nov08_Expedition.csv");
}
},
FILE_EXPEDITION_PARTIAL(199) {
@Override
public InputStream getInputStream() {
return getClass().getResourceAsStream("/2018Feb10_clean_short_columns_removed.csv");
}
};
private final int expectedFixesCount;
private ImportData(int expectedFixesCount) {
this.expectedFixesCount = expectedFixesCount;
}
@Override
public int getExpectedFixesCount() {
return expectedFixesCount;
}
}
}
@@ -12,10 +12,8 @@ import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TimeZone;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -36,12 +34,13 @@ import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifierImpl;
import com.sap.sailing.domain.trackimport.DoubleVectorFixImporter;
import com.sap.sailing.domain.trackimport.FormatNotSupportedException;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
import com.sap.sse.common.impl.MillisecondsTimePoint;
/**
* Importer for CSV data files from Expedition log files, as used, e.g., by Team
* Phoenix.
* Importer for CSV data files from Expedition log files, as used, e.g., by Team Phoenix. Note that this importer so far
* ignores the {@code downsample} parameter of the
* {@link #importFixes(InputStream, com.sap.sailing.domain.trackimport.BaseDoubleVectorFixImporter.Callback, String, String, boolean)}
* method.
*/
public class ExpeditionExtendedDataImporterImpl extends AbstractDoubleVectorFixImporter
implements DoubleVectorFixImporter {
@@ -60,7 +59,7 @@ public class ExpeditionExtendedDataImporterImpl extends AbstractDoubleVectorFixI
private static final Pattern BOAT_CHECK_PATTERN = Pattern.compile("[1-9]?[0-9]");
private final Map<String, Integer> columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix;
/**
* The maximum index into the double vector fix from the
* The maximum index + 1 into the double vector fix from the
* {@link #columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix}
* values
*/
@@ -104,15 +103,15 @@ public class ExpeditionExtendedDataImporterImpl extends AbstractDoubleVectorFixI
if (!line.trim().isEmpty()) {
parseLine(lineNr.get(), filename, line, colIndices,
(timePoint, lineContentTokens, columnsInFileFromHeader) -> {
Double[] trackFixData = new Double[trackColumnCount];
for (final Entry<String, Integer> columnNameToSearchForInFile : columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix
.entrySet()) {
Integer columnsInFileIdx = columnsInFileFromHeader
.get(columnNameToSearchForInFile.getKey());
trackFixData[columnNameToSearchForInFile
.getValue()] = columnsInFileIdx >= lineContentTokens.length ? null
: lineContentTokens[columnsInFileIdx].trim().isEmpty() ? null
: Double.parseDouble(lineContentTokens[columnsInFileIdx]);
final Double[] trackFixData = new Double[trackColumnCount];
for (final Entry<String, Integer> columnFromFile : columnsInFileFromHeader.entrySet()) {
final Double value = columnFromFile.getValue() >= lineContentTokens.length ? null
: lineContentTokens[columnFromFile.getValue()].trim().isEmpty() ? null
: Double.parseDouble(lineContentTokens[columnFromFile.getValue()]);
final Integer indexInDoubleVectorFix = columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix.get(columnFromFile.getKey());
if (indexInDoubleVectorFix != null) {
trackFixData[indexInDoubleVectorFix] = value;
}
}
importedFixes.set(true);
callback.addFixes(
@@ -160,13 +159,22 @@ public class ExpeditionExtendedDataImporterImpl extends AbstractDoubleVectorFixI
* exception is thrown that reports the columns missing.
*/
private void validateHeader(Map<String, Integer> colIndicesInFile) throws FormatNotSupportedException {
Iterable<String> requiredColumnsInFix = columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix.keySet();
if (!Util.containsAll(colIndicesInFile.keySet(), requiredColumnsInFix)) {
final Set<String> missingColumns = new HashSet<>();
Util.addAll(requiredColumnsInFix, missingColumns);
missingColumns.removeAll(colIndicesInFile.keySet());
logger.log(Level.SEVERE, "Missing headers: " + missingColumns);
throw new FormatNotSupportedException("Missing headers " + missingColumns + " in import files");
final boolean dateTimeFormatOk;
if (colIndicesInFile.containsKey(UTC_COLUMN)) {
dateTimeFormatOk = true;
} else if (colIndicesInFile.containsKey(DATE_COLUMN_1)
|| colIndicesInFile.containsKey(DATE_COLUMN_2)) {
dateTimeFormatOk = colIndicesInFile.containsKey(TIME_COLUMN);
} else {
// assume that "GPS Time" is present:
dateTimeFormatOk = colIndicesInFile.containsKey(GPS_TIME_COLUMN);
}
if (!dateTimeFormatOk) {
final String msg = "Missing date/time headers; expect either "+UTC_COLUMN+" or "+
DATE_COLUMN_1+" with "+TIME_COLUMN+" or "+DATE_COLUMN_2+" with "+TIME_COLUMN+
" or "+GPS_TIME_COLUMN;
logger.log(Level.SEVERE, msg);
throw new FormatNotSupportedException(msg);
}
}
@@ -1,2 +1,3 @@
eclipse.preferences.version=1
entryPointModules=
filesCopiedToWebInfLib=
@@ -4,5 +4,6 @@
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="com.gwtplugins.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
@@ -20,9 +20,20 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gdt.eclipse.core.webAppProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gwt.eclipse.core.gwtProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.gwtplugins.gwt.eclipse.core.gwtNature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
entryPointModules=
filesCopiedToWebInfLib=
+1
View File
@@ -5,5 +5,6 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="com.gwtplugins.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+11
View File
@@ -30,10 +30,21 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gdt.eclipse.core.webAppProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gwt.eclipse.core.gwtProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
<nature>com.gwtplugins.gwt.eclipse.core.gwtNature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
entryPointModules=
filesCopiedToWebInfLib=
+1
View File
@@ -5,5 +5,6 @@
<classpathentry excluding="com/sap/sse/gwt/jre/" kind="src" path="src"/>
<classpathentry kind="src" path="resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="com.gwtplugins.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+11
View File
@@ -20,9 +20,20 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gdt.eclipse.core.webAppProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gwt.eclipse.core.gwtProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
<nature>com.gwtplugins.gwt.eclipse.core.gwtNature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
entryPointModules=
filesCopiedToWebInfLib=
+1
View File
@@ -6,5 +6,6 @@
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry exported="true" kind="lib" path="WEB-INF/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="com.gwtplugins.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+11
View File
@@ -30,10 +30,21 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gdt.eclipse.core.webAppProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gwt.eclipse.core.gwtProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
<nature>com.gwtplugins.gwt.eclipse.core.gwtNature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
entryPointModules=
filesCopiedToWebInfLib=
@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.gwtplugins.gdt.eclipse.suite.webapp">
<booleanAttribute key="com.gwtplugins.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.gwtplugins.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
<booleanAttribute key="com.gwtplugins.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9876"/>
<listAttribute key="com.gwtplugins.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sse.security.ui.Login"/>
<listEntry value="com.sap.sse.security.ui.Register"/>
<listEntry value="com.sap.sse.security.ui.UserManagement"/>
<listEntry value="com.sap.sse.security.ui.OAuthLogin"/>
<listEntry value="com.sap.sse.security.ui.EmailValidation"/>
<listEntry value="com.sap.sse.security.ui.EditProfile"/>
</listAttribute>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.URL" value="/security/ui/Login.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/com.sap.sse.security.ui"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" value="true"/>
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8&quot; javaProject=&quot;com.sap.sailing.gwt.ui&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.googlecode.java-diff-utils/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.annotations/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.json.simple/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.geocoding/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.udpconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mongodb/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.replication/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.operationaltransformation/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.tractrac.clientmodule/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.competitorimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.schema/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.moxieapps.gwt.highcharts/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.freg.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingreplayadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.provider/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.structureimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt.adminconsole/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.news/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;com.sap.sailing.gwt.ui&quot;/&gt;&#10;&lt;/runtimeClasspathEntry&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;com.sap.sse.common&quot; type=&quot;1&quot;/&gt;&#10;"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.gwtplugins.gwt.eclipse.core.moduleClasspathProvider"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<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 9876 -startupUrl /security/ui/Login.html -startupUrl /security/ui/EditProfile.html -startupUrl /security/ui/EmailValidation.html -startupUrl /security/ui/UserManagement.html -startupUrl /security/ui/Register.html -startupUrl /security/ui/Login.html 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 com.sap.sse.security.ui.Login"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sse.security.ui"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XX:+UseG1GC -XX:+UseStringDeduplication -Dgwt.watchFileChanges=false -Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:com.sap.sailing.gwt.ui}/.tmp/gwt-work"/>
</launchConfiguration>
@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.gwtplugins.gdt.eclipse.suite.webapp">
<booleanAttribute key="com.gwtplugins.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.gwtplugins.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
<booleanAttribute key="com.gwtplugins.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9876"/>
<listAttribute key="com.gwtplugins.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sse.security.ui.Login"/>
<listEntry value="com.sap.sse.security.ui.Register"/>
<listEntry value="com.sap.sse.security.ui.UserManagement"/>
<listEntry value="com.sap.sse.security.ui.OAuthLogin"/>
<listEntry value="com.sap.sse.security.ui.EmailValidation"/>
<listEntry value="com.sap.sse.security.ui.EditProfile"/>
</listAttribute>
<booleanAttribute key="com.gwtplugins.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.URL" value="/security/ui/Login.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/com.sap.sse.security.ui"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" value="true"/>
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8&quot; javaProject=&quot;com.sap.sailing.gwt.ui&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.gwt.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.googlecode.java-diff-utils/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.annotations/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.common/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.json.simple/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.geocoding/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.declination/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.udpconnector/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization.shared.android/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.common/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.filestorage/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mongodb/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.replication/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.operationaltransformation/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.expeditionconnector.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.server.gateway.serialization/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.simulator/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.tractrac.clientmodule/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.mail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.competitorimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.schema/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.tractracadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.moxieapps.gwt.highcharts/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.freg.resultimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.swisstimingreplayadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.igtimiadapter.persistence/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.datamining.provider/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.domain.racelogtrackingadapter/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.manage2sail/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.xrr.structureimport/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.security.ui/src/main/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sse.gwt.adminconsole/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.news/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining.shared/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/com.sap.sailing.polars.datamining/resources&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;com.sap.sailing.gwt.ui&quot;/&gt;&#10;&lt;/runtimeClasspathEntry&gt;&#10;"/>
<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;com.sap.sse.common&quot; type=&quot;1&quot;/&gt;&#10;"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.gwtplugins.gwt.eclipse.core.moduleClasspathProvider"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-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 9876 -startupUrl /security/ui/Login.html -startupUrl /security/ui/EditProfile.html -startupUrl /security/ui/EmailValidation.html -startupUrl /security/ui/UserManagement.html -startupUrl /security/ui/Register.html -startupUrl /security/ui/Login.html 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 com.sap.sse.security.ui.Login"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sse.security.ui"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XX:+UseG1GC -XX:+UseStringDeduplication -Dgwt.watchFileChanges=false -Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:com.sap.sailing.gwt.ui}/.tmp/gwt-work"/>
</launchConfiguration>
@@ -111,14 +111,17 @@ public class NamedTracingScheduledThreadPoolExecutor extends ScheduledThreadPool
if (logger.isLoggable(Level.FINE)) {
final TimePoint end = MillisecondsTimePoint.now();
final TimePoint startTime = startTimePoints.remove(r);
Runnable theRunnableToLog = wrappedRunnables.get(r);
Runnable theRunnableToLog = null;
if (r instanceof ScheduledFuture<?>) {
theRunnableToLog = wrappedRunnables.get((ScheduledFuture<?>) r);
}
if (theRunnableToLog == null) {
theRunnableToLog = r;
}
if (startTime != null) {
final Duration duration = startTime.until(end);
if (duration.compareTo(DURATION_LOGGING_THRESHOLD) > 0) {
logger.fine("Runnable "+theRunnableToLog+" took "+duration+" to complete in executor "+this+(t==null?"":("It failed with exception "+t)));
logger.fine("Runnable "+theRunnableToLog+" took "+duration+" to complete in executor "+this+(t==null?"":(". It failed with exception "+t)));
}
} else {
logger.fine("Strange internal problem: had expected to find start time for "+r);
@@ -39,6 +39,8 @@ Contact: Anneloes Krikhaar anneloes@eredivisiezeilen.nl
* [Videos](https://www.youtube.com/channel/UCQbA1IRh15t4BpU64lb6WaA)
## Extreme Sailing Series
Contact: Julian Mayland j.mayland@appweeve.com
* [Images](http://www.extremesailingseries.com/gallery)
* Coypright: Check the image details!
* [Videos](https://www.youtube.com/user/ExtremeSailingSeries)
+6 -5
View File
@@ -8,9 +8,9 @@ First of all, make sure you've looked at http://www.amazon.de/Patterns-Elements-
#### Installations
1. Eclipse (Eclipse IDE for Eclipse Committers, e.g. version 4.5.2 "Neon SR2"), http://www.eclipse.org
1. Eclipse (Eclipse IDE for Eclipse Committers, e.g. version 4.7.2 "Oxygen SR2"), http://www.eclipse.org
2. Eclipse Extensions
* Install GWT Eclipse plugin for Eclipse (https://github.com/gwt-plugins/gwt-eclipse-plugin/tree/gpe-fork using http://storage.googleapis.com/gwt-eclipse-plugin/release as the update site URL)
* Install GWT Eclipse plugin for Eclipse (https://github.com/gwt-plugins/gwt-eclipse-plugin using http://storage.googleapis.com/gwt-eclipse-plugin/v3/release as the update site URL)
* Install Eclipse debugger for GWT SuperDevMode (master version: http://p2.sapsailing.com/p2/sdbg; public release: http://sdbg.github.io/p2)
3. Git (e.g. Git for Windows v2.12.2), http://git-scm.com / https://git-for-windows.github.io/
4. MongoDB (e.g. Production Release 2.6.7), download: https://www.mongodb.com/
@@ -23,9 +23,9 @@ First of all, make sure you've looked at http://www.amazon.de/Patterns-Elements-
#### Automatic Eclipse plugin installation
The necessary Eclipse plugins described above can be automatically be installed into a newly unzipped version of [Eclipse IDE for Eclipse Committers 4.6.2 "Neon.2"](http://www.eclipse.org/downloads/packages/eclipse-ide-eclipse-committers/neon2) by using the script "configuration/installPluginsForEclipseNeon.sh". In addition, the script applies some updates to plugins packaged with Eclipse itself. To start the plugin installation, run the following command using your Eclipse installation directory as command line parameter for the script:
The necessary Eclipse plugins described above can be automatically be installed into a newly unzipped version of [Eclipse IDE for Eclipse Committers 4.7.2 "Oxygen.2"](http://www.eclipse.org/downloads/packages/eclipse-ide-eclipse-committers/oxygen2) by using the script "configuration/installPluginsForEclipseOxygen.sh". In addition, the script applies some updates to plugins packaged with Eclipse itself. To start the plugin installation, run the following command using your Eclipse installation directory as command line parameter for the script:
./installPluginsForEclipseNeon.sh "/some/path/on/my/computer/eclipse"
./installPluginsForEclipseOxygen.sh "/some/path/on/my/computer/eclipse"
Be aware that with this script it's not possible to update the plugins to newer versions. Instead you can install a new version by unpacking the base package and executing the script.
@@ -68,7 +68,8 @@ The primary Git repository for the project is hosted on sapsailing.com. It is mi
* Install the Eclipse GWT-Plugin (now called Google Plugin for Eclipse)
* Install the Google Android SDK (see section "Additional steps required for Android projects" for detailed info!)
* In Eclipse go to "Window->Preferences->Java->Build Path->Classpath Variables" and create a new classpath variable called ``ANDROID_HOME``. Set its value to the install location of your Android SDK, e.g., ``c:\apps\android-sdk-windows`` or ``/usr/local/android-sdk-linux``.
* Install GWT SDK and add the SDK in Eclipse (Preferences -> Google -> Web Toolkit -> Add...)
* Install GWT SDK and add the SDK in Eclipse (Preferences -> GWT -> GWT Settings -> Add...)
* In "Window->Preferences->GWT->Errors/Warnings, set "Missing SDK" to "Ignore"
* In "Window->Preferences->General->Editors->TextEditors" check Insert Spaces for Tabs
* In "Window->Preferences->Web->HTML Files->Editor" indent using Spaces
* In "Window->Preferences->General->Content Types" select on the right side CSS, now add in the lower file association list *.gss to get limited syntax highlighting and content assist in GSS files
+69
View File
@@ -0,0 +1,69 @@
# Setting Up a Dedicated S3 Bucket
When you want to equip a server with a File Storage for easy upload of media content, S3 is one of the options supported. For our "own" servers we often use a single technical account that has permissions to write to the ``media.sapsailing.com`` bucket. We may not want to extend the write credentials to that bucket to other users or servers that are not only administered by SAP. For those scenarios, setting up a dedicated bucket with a dedicated user and specific permissions is required.
## Creating a New User
In the AWS console, go to IAM, Users, and add a new user. Ideally, call the user like you will call the bucket, for easy identification and mapping. Tick the "Programmatic access" checkbox but not the "AWS Management Console access" box. Give the user a permission document using the "Add inline policy" link and choosing the JSON tab, as follows, replacing ``<TheNameOfTheBucket>`` by the bucket name you will choose below:
```
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:Get*",
"s3:List*",
"s3:Put*"
],
"Resource": "arn:aws:s3:::<TheNameOfTheBucket>/*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": "*"
}
]
}
```
Record the access ID and key displayed. You will need to enter them in the SAP Sailing Analytics Admin Console Advanced/File Storage tab.
## Creating the Bucket
Go to [https://s3.console.aws.amazon.com/s3/home?region=eu-west-1](https://s3.console.aws.amazon.com/s3/home?region=eu-west-1) and press the "Create Bucket" button. Work through the creation wizard. When done, select the bucked from the bucket list and go to the "Permissions" tab. Select "Bucket Policy" and then paste and adjust the following. Here is an example document that can be pasted and adjusted by replacing the ``<TheNameOfTheUser>`` and ``<TheNameOfTheBucket>`` by the respective user and bucket names:
```
{
"Version": "2012-10-17",
"Id": "Policy1518892533142",
"Statement": [
{
"Sid": "Stmt1518892527243",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::017363970217:user/<TheNameOfTheUser>"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::<TheNameOfTheBucket>"
},
{
"Sid": "Stmt1518892527243",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:Get*",
"Resource": "arn:aws:s3:::<TheNameOfTheBucket>/*"
}
]
}
```
## Configuring File Storage
Go to the AdminConsole, Advanced, File Storage. Select "Amazon S3", enter the access ID and key from above, as well as the bucket name you chose above and press "Save." No error should result. Then press "Set Active" and observe that "Amazon S3" is displayed as the "Active" configuration.