Merge remote-tracking branch 'origin/master' into bug3484
No files matched your search
@@ -1,3 +1,3 @@
|
||||
#!/bin/bash
|
||||
sourceanalyzer -b com.sap.sailing.domain -Xmx4000m -debug -logfile FortifyScan.log -extdirs /home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins -cp "/home/sailing/code/java/com.google.gwt.osgi/lib/gwt-user.jar:/home/sailing/gwt-2.7.0/validation-api-1.0.0.GA.jar:/home/sailing/gwt-2.7.0/gwt-codeserver.jar:/home/sailing/gwt-2.7.0/validation-api-1.0.0.GA-sources.jar:/home/sailing/gwt-2.7.0/gwt-user.jar:/home/sailing/gwt-2.7.0/gwt-dev.jar:/home/sailing/code/java/com.google.gwt.dev/lib/gwt-dev.jar:/home/sailing/code/java/com.tractrac.clientmodule/lib/TracAPI.jar:/home/sailing/code/java/com.sap.sailing.dashboards.gwt/WEB-INF/lib/gwt-ajaxloader.jar:/home/sailing/code/java/com.sap.sailing.dashboards.gwt/WEB-INF/lib/gwt-maps-api-3.9.0-build-17.jar:/home/sailing/code/java/com.googlecode.mgwt/lib/mgwt-2.0.0.jar:/home/sailing/code/java/com.sap.sailing.gwt.ui/WEB-INF/lib/gwt-bootstrap-2.3.2.0.jar:/home/sailing/code/java/com.sap.sailing.gwt.ui/WEB-INF/lib/gwt-maps-api-3.9.0-build-17.jar:/home/sailing/code/java/com.sap.sailing.gwt.ui/WEB-INF/lib/gwt-ajaxloader.jar" -source 1.8 "/home/sailing/code/java/com.sap.sailing.ess40.resultimport" "/home/sailing/code/java/com.sap.sailing.manage2sail" "/home/sailing/code/java/com.sap.sailing.manage2sail.resultimport" "/home/sailing/code/java/com.tractrac.clientmodule" "/home/sailing/code/java/com.sap.sse.filestorage" "/home/sailing/code/java/com.sap.sailing.domain.swisstimingreplayadapter" "/home/sailing/code/java/com.sap.sse.mongodb" "/home/sailing/code/java/com.sap.sailing.udpconnector" "/home/sailing/code/java/com.sap.sailing.server.gateway" "/home/sailing/code/java/com.sap.sse" "/home/sailing/code/java/com.sap.sse.datamining" "/home/sailing/code/java/com.sap.sailing.domain.racelogtrackingadapter" "/home/sailing/code/java/com.sap.sailing.datamining.shared" "/home/sailing/code/java/com.sap.sailing.domain.igtimiadapter.persistence" "/home/sailing/code/java/com.sap.sailing.monitoring" "/home/sailing/code/java/com.sap.sailing.domain" "/home/sailing/code/java/com.sap.sse.datamining.annotations" "/home/sailing/code/java/com.sap.sailing.domain.swisstimingadapter.persistence" "/home/sailing/code/java/com.sap.sse.threadmanager" "/home/sailing/code/java/com.sap.sailing.xrr.structureimport" "/home/sailing/code/java/com.sap.sailing.freg.resultimport" "/home/sailing/code/java/com.sap.sailing.domain.igtimiadapter" "/home/sailing/code/java/com.sap.sailing.server.gateway.ess40" "/home/sailing/code/java/com.sap.sailing.xrr.schema" "/home/sailing/code/java/com.sap.sse.common" "/home/sailing/code/java/com.sap.sailing.expeditionconnector" "/home/sailing/code/java/com.sap.sailing.declination" "/home/sailing/code/java/com.sap.sailing.geocoding" "/home/sailing/code/java/com.sap.sailing.server.gateway.serialization" "/home/sailing/code/java/com.sap.sailing.kiworesultimport" "/home/sailing/code/java/com.sap.sailing.polars.datamining" "/home/sailing/code/java/com.sap.sailing.simulator" "/home/sailing/code/java/com.sap.sse.replication" "/home/sailing/code/java/com.sap.sailing.www" "/home/sailing/code/java/com.sap.sse.gwt.adminconsole" "/home/sailing/code/java/com.sap.sailing.dashboards.gwt" "/home/sailing/code/java/com.sap.sailing.news" "/home/sailing/code/java/com.sap.sailing.polars.datamining.shared" "/home/sailing/code/java/com.sap.sailing.barbados.resultimport" "/home/sailing/code/java/com.sap.sse.security.common" "/home/sailing/code/java/com.sap.sse.security.ui" "/home/sailing/code/java/com.sap.sse.shared.android" "/home/sailing/code/java/org.json.simple" "/home/sailing/code/java/com.sap.sailing.resultimport" "/home/sailing/code/java/com.sap.sse.security" "/home/sailing/code/java/com.sap.sailing.gwt.ui" "/home/sailing/code/java/com.sap.sailing.domain.tractracadapter" "/home/sailing/code/java/com.sap.sailing.server.trackfiles" "/home/sailing/code/java/com.googlecode.java-diff-utils" "/home/sailing/code/java/com.sap.sse.operationaltransformation" "/home/sailing/code/java/com.sap.sailing.domain.swisstimingadapter" "/home/sailing/code/java/com.sap.sse.gwt.theme" "/home/sailing/code/java/com.sap.sailing.domain.persistence" "/home/sailing/code/java/com.sap.sailing.sailwave.resultimport" "/home/sailing/code/java/com.sap.sailing.xmlexport" "/home/sailing/code/java/com.sap.sse.mail" "/home/sailing/code/java/com.sap.sailing.velum.resultimport" "/home/sailing/code/java/com.sap.sse.security.userstore.mongodb" "/home/sailing/code/java/com.sap.sailing.server.gateway.serialization.shared.android" "/home/sailing/code/java/com.sap.sse.datamining.shared" "/home/sailing/code/java/org.moxieapps.gwt.highcharts" "/home/sailing/code/java/com.sap.sailing.autoload" "/home/sailing/code/java/com.googlecode.mgwt" "/home/sailing/code/java/com.sap.sailing.datamining" "/home/sailing/code/java/com.sap.sailing.polars" "/home/sailing/code/java/com.sap.sailing.www.events" "/home/sailing/code/java/com.sap.sailing.domain.common" "/home/sailing/code/java/com.sap.sailing.domain.shared.android" "/home/sailingLine truncated
|
||||
#sourceanalyzer -b com.sap.sailing -Xmx10g -debug -logfile FortifyScan.log "-show-build-warnings" "-machine-output" "-cp" "/home/sailing/code/java/com.sap.sse.gwt.theme/WEB-INF/classes:/home/sailing/code/java/com.sap.sailing.dashboards.gwt/WEB-INF/classes:/home/sailing/code/java/com.sap.sailing.gwt.ui/WEB-INF/classes:/home/sailing/code/java/com.sap.sse.security.ui/WEB-INF/classes:/home/sailing/code/java/com.sap.sailing.www.events/WEB-INF/classes:/home/sailing/code/java/com.google.gwt.osgi/lib/gwt-user.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.osgi_3.10.2.v20150203-1939.jar:/home/sailing/gwt-2.7.0/validation-api-1.0.0.GA.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.osgi.npn.fragment_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/javax.servlet_3.1.0.v20140303-1611.jar:/home/sailing/gwt-2.7.0/gwt-codeserver.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.servicemix.bundles.zxing_3.1.0.1.jar:/home/sailing/gwt-2.7.0/validation-api-1.0.0.GA-sources.jar:/home/sailing/gwt-2.7.0/gwt-user.jar:/home/sailing/gwt-2.7.0/gwt-dev.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.math_2.1.0.v201105210652.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.fasterxml.jackson.core.jackson-databind_2.5.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.junit4_4.8.2.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.fasterxml.jackson.core.jackson-annotations_2.5.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.rabbitmq.client_2.8.4.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/lz4-java_1.3.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.servicemix.bundles.aws-java-sdk_1.9.8.1.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.logging_1.1.3.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/javax.validation_1.0.0.GA_v201205091237.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.webapp_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.fasterxml.jackson.core.jackson-core_2.5.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.server_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.mongodb.mongo-java-driver_2.13.0.RELEASE.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.httpcomponents.httpclient_4.2.6.v201311072007.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.io_2.2.0.v201405211200.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.sun.mail.javax.mail_1.4.5.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.io_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/javax.ws.rs_1.1.1.v20130318-1750.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.jvnet.mimepull_1.9.4.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.shiro.ehcache_1.2.3.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.lang_2.6.0.v201404270220.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.shiro.core_1.2.2.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.websocket.servlet_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.beanutils_1.9.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.sun.jersey.contribs.jersey-multipart_1.17.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.websocket.client_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.objectweb.asm_5.0.1.v201404251740.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.jdom_1.1.1.v201101151400.jar:/home/sailing/workspace/.metadaLine truncated
|
||||
sourceanalyzer -b com.sap.sailing.domain -Xmx4000m -debug -logfile FortifyScan.log -extdirs /home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins -cp "/home/sailing/code/java/com.google.gwt.osgi/lib/gwt-user.jar:/home/sailing/gwt-2.7.0/validation-api-1.0.0.GA.jar:/home/sailing/gwt-2.7.0/gwt-codeserver.jar:/home/sailing/gwt-2.7.0/validation-api-1.0.0.GA-sources.jar:/home/sailing/gwt-2.7.0/gwt-user.jar:/home/sailing/gwt-2.7.0/gwt-dev.jar:/home/sailing/code/java/com.google.gwt.dev/lib/gwt-dev.jar:/home/sailing/code/java/com.tractrac.clientmodule/lib/TracAPI.jar:/home/sailing/code/java/com.sap.sailing.dashboards.gwt/WEB-INF/lib/gwt-ajaxloader.jar:/home/sailing/code/java/com.sap.sailing.dashboards.gwt/WEB-INF/lib/gwt-maps-api-3.9.0-build-17.jar:/home/sailing/code/java/com.googlecode.mgwt/lib/mgwt-2.0.0.jar:/home/sailing/code/java/com.sap.sailing.gwt.ui/WEB-INF/lib/gwt-maps-api-3.9.0-build-17.jar:/home/sailing/code/java/com.sap.sailing.gwt.ui/WEB-INF/lib/gwt-ajaxloader.jar" -source 1.8 "/home/sailing/code/java/com.sap.sailing.ess40.resultimport" "/home/sailing/code/java/com.sap.sailing.manage2sail" "/home/sailing/code/java/com.sap.sailing.manage2sail.resultimport" "/home/sailing/code/java/com.tractrac.clientmodule" "/home/sailing/code/java/com.sap.sse.filestorage" "/home/sailing/code/java/com.sap.sailing.domain.swisstimingreplayadapter" "/home/sailing/code/java/com.sap.sse.mongodb" "/home/sailing/code/java/com.sap.sailing.udpconnector" "/home/sailing/code/java/com.sap.sailing.server.gateway" "/home/sailing/code/java/com.sap.sse" "/home/sailing/code/java/com.sap.sse.datamining" "/home/sailing/code/java/com.sap.sailing.domain.racelogtrackingadapter" "/home/sailing/code/java/com.sap.sailing.datamining.shared" "/home/sailing/code/java/com.sap.sailing.domain.igtimiadapter.persistence" "/home/sailing/code/java/com.sap.sailing.monitoring" "/home/sailing/code/java/com.sap.sailing.domain" "/home/sailing/code/java/com.sap.sse.datamining.annotations" "/home/sailing/code/java/com.sap.sailing.domain.swisstimingadapter.persistence" "/home/sailing/code/java/com.sap.sse.threadmanager" "/home/sailing/code/java/com.sap.sailing.xrr.structureimport" "/home/sailing/code/java/com.sap.sailing.freg.resultimport" "/home/sailing/code/java/com.sap.sailing.domain.igtimiadapter" "/home/sailing/code/java/com.sap.sailing.server.gateway.ess40" "/home/sailing/code/java/com.sap.sailing.xrr.schema" "/home/sailing/code/java/com.sap.sse.common" "/home/sailing/code/java/com.sap.sailing.expeditionconnector" "/home/sailing/code/java/com.sap.sailing.declination" "/home/sailing/code/java/com.sap.sailing.geocoding" "/home/sailing/code/java/com.sap.sailing.server.gateway.serialization" "/home/sailing/code/java/com.sap.sailing.kiworesultimport" "/home/sailing/code/java/com.sap.sailing.polars.datamining" "/home/sailing/code/java/com.sap.sailing.simulator" "/home/sailing/code/java/com.sap.sse.replication" "/home/sailing/code/java/com.sap.sailing.www" "/home/sailing/code/java/com.sap.sse.gwt.adminconsole" "/home/sailing/code/java/com.sap.sailing.dashboards.gwt" "/home/sailing/code/java/com.sap.sailing.news" "/home/sailing/code/java/com.sap.sailing.polars.datamining.shared" "/home/sailing/code/java/com.sap.sailing.barbados.resultimport" "/home/sailing/code/java/com.sap.sse.security.common" "/home/sailing/code/java/com.sap.sse.security.ui" "/home/sailing/code/java/com.sap.sse.shared.android" "/home/sailing/code/java/org.json.simple" "/home/sailing/code/java/com.sap.sailing.resultimport" "/home/sailing/code/java/com.sap.sse.security" "/home/sailing/code/java/com.sap.sailing.gwt.ui" "/home/sailing/code/java/com.sap.sailing.domain.tractracadapter" "/home/sailing/code/java/com.sap.sailing.server.trackfiles" "/home/sailing/code/java/com.googlecode.java-diff-utils" "/home/sailing/code/java/com.sap.sse.operationaltransformation" "/home/sailing/code/java/com.sap.sailing.domain.swisstimingadapter" "/home/sailing/code/java/com.sap.sse.gwt.theme" "/home/sailing/code/java/com.sap.sailing.domain.persistence" "/home/sailing/code/java/com.sap.sailing.sailwave.resultimport" "/home/sailing/code/java/com.sap.sailing.xmlexport" "/home/sailing/code/java/com.sap.sse.mail" "/home/sailing/code/java/com.sap.sailing.velum.resultimport" "/home/sailing/code/java/com.sap.sse.security.userstore.mongodb" "/home/sailing/code/java/com.sap.sailing.server.gateway.serialization.shared.android" "/home/sailing/code/java/com.sap.sse.datamining.shared" "/home/sailing/code/java/org.moxieapps.gwt.highcharts" "/home/sailing/code/java/com.sap.sailing.autoload" "/home/sailing/code/java/com.googlecode.mgwt" "/home/sailing/code/java/com.sap.sailing.datamining" "/home/sailing/code/java/com.sap.sailing.polars" "/home/sailing/code/java/com.sap.sailing.www.events" "/home/sailing/code/java/com.sap.sailing.domain.common" "/home/sailing/code/java/com.sap.sailing.domain.shared.android" "/home/sailing/code/java/com.sap.sailing.domain.deckmanadapter" "/home/sailing/code/java/com.sap.saLine truncated
|
||||
#sourceanalyzer -b com.sap.sailing -Xmx10g -debug -logfile FortifyScan.log "-show-build-warnings" "-machine-output" "-cp" "/home/sailing/code/java/com.sap.sse.gwt.theme/WEB-INF/classes:/home/sailing/code/java/com.sap.sailing.dashboards.gwt/WEB-INF/classes:/home/sailing/code/java/com.sap.sailing.gwt.ui/WEB-INF/classes:/home/sailing/code/java/com.sap.sse.security.ui/WEB-INF/classes:/home/sailing/code/java/com.sap.sailing.www.events/WEB-INF/classes:/home/sailing/code/java/com.google.gwt.osgi/lib/gwt-user.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.osgi_3.10.2.v20150203-1939.jar:/home/sailing/gwt-2.7.0/validation-api-1.0.0.GA.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.osgi.npn.fragment_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/javax.servlet_3.1.0.v20140303-1611.jar:/home/sailing/gwt-2.7.0/gwt-codeserver.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.servicemix.bundles.zxing_3.1.0.1.jar:/home/sailing/gwt-2.7.0/validation-api-1.0.0.GA-sources.jar:/home/sailing/gwt-2.7.0/gwt-user.jar:/home/sailing/gwt-2.7.0/gwt-dev.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.math_2.1.0.v201105210652.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.fasterxml.jackson.core.jackson-databind_2.5.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.junit4_4.8.2.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.fasterxml.jackson.core.jackson-annotations_2.5.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.rabbitmq.client_2.8.4.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/lz4-java_1.3.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.servicemix.bundles.aws-java-sdk_1.9.8.1.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.logging_1.1.3.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/javax.validation_1.0.0.GA_v201205091237.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.webapp_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.fasterxml.jackson.core.jackson-core_2.5.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.server_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.mongodb.mongo-java-driver_2.13.0.RELEASE.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.httpcomponents.httpclient_4.2.6.v201311072007.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.io_2.2.0.v201405211200.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.sun.mail.javax.mail_1.4.5.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.io_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/javax.ws.rs_1.1.1.v20130318-1750.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.jvnet.mimepull_1.9.4.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.shiro.ehcache_1.2.3.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.lang_2.6.0.v201404270220.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.shiro.core_1.2.2.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.websocket.servlet_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.apache.commons.beanutils_1.9.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/com.sun.jersey.contribs.jersey-multipart_1.17.0.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.jetty.websocket.client_9.2.2.v20140723.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.objectweb.asm_5.0.1.v201404251740.jar:/home/sailing/workspace/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.jdom_1.1.1.v201101151400.jar:/home/sailing/workspace/.metadaLine truncated
|
||||
@@ -1,4 +1,4 @@
|
||||
eclipse.preferences.version=1
|
||||
entryPointModules=
|
||||
filesCopiedToWebInfLib=
|
||||
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDMgLXN0cmljdCAtbG9nTGV2ZWwgVFJBQ0VdXT48L2V4dHJhLWFyZ3M+PHZtLWFyZ3M+PCFbQ0RBVEFbLVhteDIwMjRtXV0+PC92bS1hcmdzPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmRhc2hib2FyZHMuZ3d0LlJpYkRhc2hib2FyZDwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+
|
||||
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDMgLXN0cmljdCAtbG9nTGV2ZWwgVFJBQ0UgLVhmcmFnbWVudENvdW50IDRdXT48L2V4dHJhLWFyZ3M+PHZtLWFyZ3M+PCFbQ0RBVEFbLVhteDIwMjRtXV0+PC92bS1hcmdzPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmRhc2hib2FyZHMuZ3d0LlJpYkRhc2hib2FyZDwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+
|
||||
@@ -25,7 +25,8 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
com.sap.sailing.udpconnector,
|
||||
com.googlecode.mgwt;bundle-version="2.0.0";resolution:=optional,
|
||||
com.sap.sse.gwt.adminconsole,
|
||||
org.apache.commons.math;bundle-version="2.1.0"
|
||||
org.apache.commons.math;bundle-version="2.1.0",
|
||||
com.sap.sse.security.ui
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Import-Package: com.sap.sse.util,
|
||||
javax.servlet;version="3.1.0",
|
||||
|
||||
@@ -23,12 +23,6 @@
|
||||
<version>1.0.0.GA</version>
|
||||
<classifier>sources</classifier>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.gwtbootstrap</groupId>
|
||||
<artifactId>gwt-bootstrap</artifactId>
|
||||
<version>2.3.2.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!-- This dependency is required because the GWT Maven Plugin searches
|
||||
other GWT modules only in Maven dependencies -->
|
||||
|
||||
@@ -217,9 +217,23 @@ public class RaceOfCompetitorWithContext implements HasRaceOfCompetitorContext {
|
||||
private int getNumberOf(ManeuverType maneuverType) {
|
||||
TrackedRace trackedRace = getTrackedRace();
|
||||
int number = 0;
|
||||
for (Maneuver maneuver : trackedRace.getManeuvers(getCompetitor(), trackedRace.getStartOfRace(), trackedRace.getEndOfTracking(), false)) {
|
||||
if (maneuver.getType() == maneuverType) {
|
||||
number++;
|
||||
if (trackedRace != null && trackedRace.getStartOfRace() != null) {
|
||||
final TimePoint end;
|
||||
final TimePoint endOfTracking = trackedRace.getEndOfTracking();
|
||||
if (trackedRace.getEndOfRace() != null) {
|
||||
end = trackedRace.getEndOfRace();
|
||||
} else {
|
||||
final TimePoint now = MillisecondsTimePoint.now();
|
||||
if (endOfTracking != null && endOfTracking.before(now)) {
|
||||
end = endOfTracking;
|
||||
} else {
|
||||
end = now;
|
||||
}
|
||||
}
|
||||
for (Maneuver maneuver : trackedRace.getManeuvers(getCompetitor(), trackedRace.getStartOfRace(), end, false)) {
|
||||
if (maneuver.getType() == maneuverType) {
|
||||
number++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return number;
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.sap.sailing.domain.racelog.tracking.SensorFixMapper;
|
||||
import com.sap.sailing.domain.tracking.BravoFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicSensorFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
|
||||
import com.sap.sailing.domain.tracking.impl.BravoFixTrackImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.CompetitorBravoFixTrackImpl;
|
||||
|
||||
/**
|
||||
* {@link SensorFixMapper} implementation to handle {@link BravoFix}es.
|
||||
@@ -20,7 +20,7 @@ public class BravoDataFixMapper implements SensorFixMapper<BravoFix, DynamicSens
|
||||
@Override
|
||||
public DynamicSensorFixTrack<Competitor, BravoFix> getTrack(DynamicTrackedRace race, Competitor key) {
|
||||
return race.getOrCreateSensorTrack(key, BravoFixTrack.TRACK_NAME,
|
||||
() -> new BravoFixTrackImpl<Competitor>(key, BravoFixTrack.TRACK_NAME, /* hasExtendedFixes */ false,
|
||||
() -> new CompetitorBravoFixTrackImpl(key, BravoFixTrack.TRACK_NAME, /* hasExtendedFixes */ false,
|
||||
race.getTrack(key)));
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import com.sap.sailing.domain.racelog.tracking.SensorFixMapper;
|
||||
import com.sap.sailing.domain.tracking.BravoFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicSensorFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
|
||||
import com.sap.sailing.domain.tracking.impl.BravoFixTrackImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.CompetitorBravoFixTrackImpl;
|
||||
|
||||
/**
|
||||
* {@link SensorFixMapper} implementation to handle {@link BravoExtendedFix}es.
|
||||
@@ -21,7 +21,7 @@ public class BravoExtendedDataFixMapper implements SensorFixMapper<BravoFix, Dyn
|
||||
@Override
|
||||
public DynamicSensorFixTrack<Competitor, BravoFix> getTrack(DynamicTrackedRace race, Competitor key) {
|
||||
return race.getOrCreateSensorTrack(key, BravoFixTrack.TRACK_NAME,
|
||||
() -> new BravoFixTrackImpl<Competitor>(key, BravoFixTrack.TRACK_NAME, /* hasExtendedFixes */ true,
|
||||
() -> new CompetitorBravoFixTrackImpl(key, BravoFixTrack.TRACK_NAME, /* hasExtendedFixes */ true,
|
||||
race.getTrack(key)));
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import com.sap.sailing.domain.racelog.tracking.SensorFixMapper;
|
||||
import com.sap.sailing.domain.tracking.BravoFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicSensorFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
|
||||
import com.sap.sailing.domain.tracking.impl.BravoFixTrackImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.CompetitorBravoFixTrackImpl;
|
||||
|
||||
/**
|
||||
* {@link SensorFixMapper} implementation to product {@link BravoExtendedFix}es from {@link DoubleVectorFix}es
|
||||
@@ -25,7 +25,7 @@ public class ExpeditionExtendedDataFixMapper implements SensorFixMapper<BravoFix
|
||||
@Override
|
||||
public DynamicSensorFixTrack<Competitor, BravoFix> getTrack(DynamicTrackedRace race, Competitor key) {
|
||||
return race.getOrCreateSensorTrack(key, BravoFixTrack.TRACK_NAME,
|
||||
() -> new BravoFixTrackImpl<Competitor>(key, BravoFixTrack.TRACK_NAME, /* hasExtendedFixes */ true,
|
||||
() -> new CompetitorBravoFixTrackImpl(key, BravoFixTrack.TRACK_NAME, /* hasExtendedFixes */ true,
|
||||
race.getTrack(key)));
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,983 @@
|
||||
//stored-uri:datafiles/66ccec10-b77d-0132-26ea-60a44ce903c3.mtb
|
||||
StartReplay:1
|
||||
|
||||
// Input from params_static:
|
||||
|
||||
// Input from event_parameters:
|
||||
|
||||
DefaultPanel:
|
||||
ReCalcDirAndSpeed:1
|
||||
CompMarkerUUID:2dee0384-2c45-11e4-a9f6-14dae9614d7b
|
||||
CodanIsSponsor:0
|
||||
DefaultTailLength:60
|
||||
EnableResults:1
|
||||
ResultsLayout:[{"key":"Order","header":"#","description":"Position","printable":true,"align":"right","collapsible":false},{"key":"Name","header":"Name","description":"Competitor's name","printable":true,"align":"left","collapsible":false},{"key":"ShortName","header":"Short Name","description":"Competitor's short name","printable":true,"align":"left","collapsible":true},{"key":"LegTime","header":"Leg","description":"Leg time","printable":false,"align":"right","collapsible":true},{"key":"LegPosition","header":"#","description":"Leg position","printable":false,"align":"right","collapsible":true},{"key":"Time","header":"Total","description":"Total time","printable":true,"align":"right","collapsible":false},{"key":"After","header":"Total Δ","description":"Total Δ","printable":true,"align":"right","collapsible":false}]
|
||||
PerformanceTableLayout:[{"key":"Pos","header":"Pos"},{"key":"Name","header":"Name"},{"key":"Short","header":"Short"},{"key":"Country","header":"Country"},{"key":"After","header":"After"},{"key":"Leg pos","header":"Leg pos"},{"key":"Leg time","header":"Leg time"},{"key":"SOG","header":"SOG"},{"key":"VMG","header":"VMG"},{"key":"Top speed","header":"Top Speed"},{"key":"Distance","header":"Distance"}]
|
||||
APzoomChangeTime:2500
|
||||
disableAutoProduce:0
|
||||
autoProduce:0
|
||||
APstartLineShowOfLeg:0.25
|
||||
APsideOfStartLine:0.30
|
||||
APstartSwitch:0.8
|
||||
APwholeLegBehindMarks:0.15
|
||||
APmarkSwitch:0.13
|
||||
APmarkZoomBehindMarks:0.10
|
||||
APmarkZoomInFrontOfMarks:0.20
|
||||
PopupMarkerUUID:84199024-2c45-11e4-a9f6-14dae9614d7b
|
||||
ManualUrl:http://www.tractrac.com/files/userguide_sailing.pdf
|
||||
Marker1UUID:2dee0384-2c45-11e4-a9f6-14dae9614d7b
|
||||
Marker1Type:RGBMarkerFactory
|
||||
Marker1Directional:1
|
||||
Marker1Image:markers/boat_FF0000_big.png
|
||||
Marker1Length:5
|
||||
Marker1MinPixelSize:30
|
||||
Startlocation:25.66219980468759,-33.95794373375933
|
||||
MaxDiffTime:1200
|
||||
MaxMetersPerSecond:20
|
||||
PrecisionMeters:20
|
||||
ShortAvgTime:180
|
||||
LongAvgTime:900
|
||||
TimeZone:2
|
||||
CompMarkerTimeout:60
|
||||
FramesPerSecond:8
|
||||
replayspeedup:5
|
||||
MatchRaceClock:0
|
||||
MatchRaceClockNo:3
|
||||
MatchRaceClockSpacing:300
|
||||
Minimap:1
|
||||
MinimapUseLayers:2
|
||||
Minimapgeorect:25.537683105468773,-33.741288381182635,26.19746406249999,-34.12630292526923
|
||||
MinimapMarkerUUID:84199024-2c45-11e4-a9f6-14dae9614d7b
|
||||
Marker4UUID:84199024-2c45-11e4-a9f6-14dae9614d7b
|
||||
Marker4Type:RGBmarkerFactory
|
||||
Marker4Directional:1
|
||||
Marker4Image:markers/boat_FF0000_small.png
|
||||
MetersPerPixel:18
|
||||
MetersPerPixelMax:30
|
||||
MetersPerPixelMin:0.2
|
||||
isMatchRace:0
|
||||
DefaultDistanceUnits:meters
|
||||
weatherEnabled:0
|
||||
DefaultSpeedUnits:Knots
|
||||
showRaceClock:1
|
||||
BackGroundImage:graphics/background.jpg
|
||||
DisableRotation:0
|
||||
ControlPointMarkerRadius:13
|
||||
disableselection:0
|
||||
disableleaderline:0
|
||||
StartTimeType:Race
|
||||
ResultColumn5SpeedIn:Knots
|
||||
DisableChangeRace:0
|
||||
DisableLatestRoundings:0
|
||||
//live-uri:tcp://secondary.traclive.dk:4400
|
||||
//stored-uri:tcp://secondary.traclive.dk:4401
|
||||
PopUpRow1Name:
|
||||
PopUpRow1Type:Name
|
||||
PopUpRow2Name:Knots
|
||||
PopUpRow2Type:BoatSpeed
|
||||
PopUpRow3Name:Ranking
|
||||
PopUpRow3Type:RowNumber
|
||||
PopUpRow4Name:Sail
|
||||
PopUpRow4Type:Ini
|
||||
PopUpRow5Name:After
|
||||
PopUpRow5Type:BoatAfter
|
||||
WindEstimator:0
|
||||
MapUrl:http://tile.traclive.dk/ttm
|
||||
ResultColumn1Name:#
|
||||
ResultColumn1Size:20
|
||||
ResultColumn1Type:RowNumber
|
||||
ResultColumn2Name:sail
|
||||
ResultColumn2Size:60
|
||||
ResultColumn2Type:Ini
|
||||
ResultColumn3Name:name
|
||||
ResultColumn3Size:110
|
||||
ResultColumn3Type:Name
|
||||
ResultColumn4Name:after
|
||||
ResultColumn4Size:45
|
||||
ResultColumn4Type:BoatAfter
|
||||
ResultColumn5Name:kts
|
||||
ResultColumn5Size:40
|
||||
ResultColumn5Type:BoatSpeed
|
||||
DisableLeaderboard:0
|
||||
DisableAnalysis:0
|
||||
TableFontSize:11
|
||||
compInitialsFontSize:11
|
||||
AutoRotate:0
|
||||
MassStart:0
|
||||
SegmentFile:segments.php
|
||||
RaceHandicapSystem:NONE
|
||||
TeamCompetitionType:NONE
|
||||
LiveDelaySecs: 10
|
||||
|
||||
//-------- AUTO GENERATED PARAMETERS START ----------------
|
||||
|
||||
EventID:b07bb320-b10c-0132-0752-60a44ce903c3
|
||||
EventName:505 Worlds 2015
|
||||
EventDB:event_20150323_Worlds
|
||||
EventStartTime:2015-03-22 22:00:00
|
||||
EventEndTime:2015-04-03 21:00:00
|
||||
EventType:a1b74ca0-fdd8-11dc-8811-005056c00008
|
||||
|
||||
RaceID:66ccec10-b77d-0132-26ea-60a44ce903c3
|
||||
RaceName:Worlds 7
|
||||
RaceStartTime:2015-04-02 12:40:00
|
||||
RaceEndTime:
|
||||
RaceTrackingStartTime:2015-04-02 12:36:00
|
||||
RaceTrackingEndTime:2015-04-02 15:10:00
|
||||
RaceDefaultRouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
RaceHandicapSystem:NONE
|
||||
|
||||
Image1UUID:53955ea0-b10f-0132-075b-60a44ce903c3
|
||||
Image1Type:Logo
|
||||
Image1Description:banner
|
||||
Image1Image:pictures/53955ea0-b10f-0132-075b-60a44ce903c3/original_53955ea0-b10f-0132-075b-60a44ce903c3.png
|
||||
|
||||
Class1UUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Class1Name:5O5
|
||||
|
||||
Team1UUID:5f8d2600-b4fc-0132-1da5-60a44ce903c3
|
||||
Team1Name:0
|
||||
|
||||
Team2UUID:94c361d0-b4db-0132-1cde-60a44ce903c3
|
||||
Team2Name:?
|
||||
|
||||
Team3UUID:ac8787b0-b377-0132-11d3-60a44ce903c3
|
||||
Team3Name:Aaron Ross
|
||||
|
||||
Team4UUID:94cd2760-b4db-0132-1ce2-60a44ce903c3
|
||||
Team4Name:Aeolians
|
||||
Team4Comp1UUID:94d00ef0-b4db-0132-1ce3-60a44ce903c3
|
||||
|
||||
Team5UUID:9589e150-b4db-0132-1d1d-60a44ce903c3
|
||||
Team5Name:Alamitos Bay Yacht Club
|
||||
Team5Comp1UUID:958bd200-b4db-0132-1d1e-60a44ce903c3
|
||||
|
||||
Team6UUID:ac6fff40-b377-0132-11b9-60a44ce903c3
|
||||
Team6Name:Albrecht Holm
|
||||
|
||||
Team7UUID:ac6d2a40-b377-0132-11b1-60a44ce903c3
|
||||
Team7Name:Alexander Ham
|
||||
|
||||
Team8UUID:951939c0-b4db-0132-1cfa-60a44ce903c3
|
||||
Team8Name:Algoa Bay Yacht Club
|
||||
Team8Comp1UUID:951a3330-b4db-0132-1cfb-60a44ce903c3
|
||||
|
||||
Team9UUID:ac6c7560-b377-0132-11af-60a44ce903c3
|
||||
Team9Name:Andrew Arthur
|
||||
|
||||
Team10UUID:ac6b0950-b377-0132-11ab-60a44ce903c3
|
||||
Team10Name:Angela Stenger
|
||||
|
||||
Team11UUID:ac6e8e60-b377-0132-11b5-60a44ce903c3
|
||||
Team11Name:Anthony Parker
|
||||
|
||||
Team12UUID:948565c0-b4db-0132-1cca-60a44ce903c3
|
||||
Team12Name:B&SYC
|
||||
Team12Comp1UUID:94865d50-b4db-0132-1ccb-60a44ce903c3
|
||||
|
||||
Team13UUID:ac61c890-b377-0132-1195-60a44ce903c3
|
||||
Team13Name:Brett Bowden
|
||||
|
||||
Team14UUID:ac861d30-b377-0132-11cf-60a44ce903c3
|
||||
Team14Name:Bronwen KlaasÂ
|
||||
|
||||
Team15UUID:c5bcd7f0-b377-0132-11de-60a44ce903c3
|
||||
Team15Name:Bronwen Klaas
|
||||
|
||||
Team16UUID:9470c9c0-b4db-0132-1cc2-60a44ce903c3
|
||||
Team16Name:BSYC
|
||||
Team16Comp1UUID:9471bf20-b4db-0132-1cc3-60a44ce903c3
|
||||
|
||||
Team17UUID:45679ec0-b6e4-0132-227e-60a44ce903c3
|
||||
Team17Name:BYC
|
||||
Team17Comp1UUID:4568fe80-b6e4-0132-227f-60a44ce903c3
|
||||
|
||||
Team18UUID:94e4cf90-b4db-0132-1ce6-60a44ce903c3
|
||||
Team18Name:Emarentia Sailing Club
|
||||
Team18Comp1UUID:94e60210-b4db-0132-1ce7-60a44ce903c3
|
||||
|
||||
Team19UUID:ac7415b0-b377-0132-11c5-60a44ce903c3
|
||||
Team19Name:Euan Hurter
|
||||
|
||||
Team20UUID:ac691ca0-b377-0132-11a5-60a44ce903c3
|
||||
Team20Name:Georg Mittermayer
|
||||
|
||||
Team21UUID:3c5056f0-b5c5-0132-2049-60a44ce903c3
|
||||
Team21Name:George Lakes Yacht Club
|
||||
Team21Comp1UUID:3c51d930-b5c5-0132-204a-60a44ce903c3
|
||||
|
||||
Team22UUID:ac6ddae0-b377-0132-11b3-60a44ce903c3
|
||||
Team22Name:Gideon Snyman
|
||||
|
||||
Team23UUID:ac83e910-b377-0132-11c9-60a44ce903c3
|
||||
Team23Name:Grant Ballentyne
|
||||
|
||||
Team24UUID:ac84a3d0-b377-0132-11cb-60a44ce903c3
|
||||
Team24Name:Hans Rogotski
|
||||
|
||||
Team25UUID:5f848520-b4fc-0132-1da1-60a44ce903c3
|
||||
Team25Name:Hellerup
|
||||
|
||||
Team26UUID:9491d840-b4db-0132-1cce-60a44ce903c3
|
||||
Team26Name:HISC
|
||||
Team26Comp1UUID:949331b0-b4db-0132-1ccf-60a44ce903c3
|
||||
|
||||
Team27UUID:ac8b0a60-b377-0132-11d7-60a44ce903c3
|
||||
Team27Name:Howard HamlinÂ
|
||||
|
||||
Team28UUID:c5bfb860-b377-0132-11e2-60a44ce903c3
|
||||
Team28Name:Howard Hamlin
|
||||
|
||||
Team29UUID:467d1590-b6e4-0132-22b9-60a44ce903c3
|
||||
Team29Name:HS
|
||||
Team29Comp1UUID:5f853dc0-b4fc-0132-1da2-60a44ce903c3
|
||||
|
||||
Team30UUID:460cd720-b6e4-0132-22a6-60a44ce903c3
|
||||
Team30Name:HYC
|
||||
Team30Comp1UUID:94c44e80-b4db-0132-1cdf-60a44ce903c3
|
||||
|
||||
Team31UUID:ac669050-b377-0132-11a3-60a44ce903c3
|
||||
Team31Name:Ian Pinnel
|
||||
|
||||
Team32UUID:45b19e00-b6e4-0132-2290-60a44ce903c3
|
||||
Team32Name:Imperial Yacht Club
|
||||
Team32Comp1UUID:45b290d0-b6e4-0132-2291-60a44ce903c3
|
||||
|
||||
Team33UUID:ac70ad50-b377-0132-11bb-60a44ce903c3
|
||||
Team33Name:James Largier
|
||||
|
||||
Team34UUID:ac647920-b377-0132-119d-60a44ce903c3
|
||||
Team34Name:Jan Saugmann
|
||||
|
||||
Team35UUID:ac86d340-b377-0132-11d1-60a44ce903c3
|
||||
Team35Name:Jay D'EngleÂ
|
||||
|
||||
Team36UUID:c5bdbd80-b377-0132-11e0-60a44ce903c3
|
||||
Team36Name:Jay D'Engle
|
||||
|
||||
Team37UUID:ac72b370-b377-0132-11c1-60a44ce903c3
|
||||
Team37Name:Jonathan Ham
|
||||
|
||||
Team38UUID:ac6a5be0-b377-0132-11a9-60a44ce903c3
|
||||
Team38Name:Katharina Menge
|
||||
|
||||
Team39UUID:ac720620-b377-0132-11bf-60a44ce903c3
|
||||
Team39Name:Kevin Foreman
|
||||
|
||||
Team40UUID:ac856100-b377-0132-11cd-60a44ce903c3
|
||||
Team40Name:Kobus HoltzhausenÂ
|
||||
|
||||
Team41UUID:c5bc0100-b377-0132-11dc-60a44ce903c3
|
||||
Team41Name:Kobus Holtzhausen
|
||||
|
||||
Team42UUID:ac831b90-b377-0132-11c7-60a44ce903c3
|
||||
Team42Name:Kristina Plattner
|
||||
|
||||
Team43UUID:ac6f46b0-b377-0132-11b7-60a44ce903c3
|
||||
Team43Name:Kyle Klaas
|
||||
|
||||
Team44UUID:ac6277f0-b377-0132-1197-60a44ce903c3
|
||||
Team44Name:Malcolm Higgins
|
||||
|
||||
Team45UUID:94eefa70-b4db-0132-1cea-60a44ce903c3
|
||||
Team45Name:Maties
|
||||
|
||||
Team46UUID:ac5951f0-b377-0132-1192-60a44ce903c3
|
||||
Team46Name:Michale Quirk
|
||||
|
||||
Team47UUID:ac884150-b377-0132-11d5-60a44ce903c3
|
||||
Team47Name:Mike Holt
|
||||
|
||||
Team48UUID:95975fe0-b4db-0132-1d21-60a44ce903c3
|
||||
Team48Name:NHYC
|
||||
Team48Comp1UUID:95984f80-b4db-0132-1d22-60a44ce903c3
|
||||
|
||||
Team49UUID:94b16cf0-b4db-0132-1cda-60a44ce903c3
|
||||
Team49Name:Ostsee-Segler-Gemeinschaft
|
||||
|
||||
Team50UUID:ac6bbce0-b377-0132-11ad-60a44ce903c3
|
||||
Team50Name:Peter Funke
|
||||
|
||||
Team51UUID:95357460-b4db-0132-1d06-60a44ce903c3
|
||||
Team51Name:Point Yacht Club
|
||||
Team51Comp1UUID:95368d50-b4db-0132-1d07-60a44ce903c3
|
||||
|
||||
Team52UUID:955fbdc0-b4db-0132-1d11-60a44ce903c3
|
||||
Team52Name:Point YC
|
||||
Team52Comp1UUID:956a8030-b4db-0132-1d12-60a44ce903c3
|
||||
|
||||
Team53UUID:947bc310-b4db-0132-1cc6-60a44ce903c3
|
||||
Team53Name:Port Kembla SC
|
||||
Team53Comp1UUID:947c7c10-b4db-0132-1cc7-60a44ce903c3
|
||||
|
||||
Team54UUID:950350e0-b4db-0132-1cf2-60a44ce903c3
|
||||
Team54Name:Pretoria Sailing Club
|
||||
Team54Comp1UUID:95044100-b4db-0132-1cf3-60a44ce903c3
|
||||
|
||||
Team55UUID:9575e320-b4db-0132-1d15-60a44ce903c3
|
||||
Team55Name:Pretoria SC
|
||||
|
||||
Team56UUID:95226ee0-b4db-0132-1cfe-60a44ce903c3
|
||||
Team56Name:PSC
|
||||
Team56Comp1UUID:45750710-b6e4-0132-2282-60a44ce903c3
|
||||
Team56Comp2UUID:2a9a8a70-b689-0132-2213-60a44ce903c3
|
||||
Team56Comp3UUID:952360a0-b4db-0132-1cff-60a44ce903c3
|
||||
|
||||
Team57UUID:957fedb0-b4db-0132-1d19-60a44ce903c3
|
||||
Team57Name:RCYC
|
||||
Team57Comp1UUID:9580e450-b4db-0132-1d1a-60a44ce903c3
|
||||
|
||||
Team58UUID:ac7360e0-b377-0132-11c3-60a44ce903c3
|
||||
Team58Name:Ricky Robinson
|
||||
|
||||
Team59UUID:f1a55510-b500-0132-1e66-60a44ce903c3
|
||||
Team59Name:Rock Sailing Club
|
||||
Team59Comp1UUID:f1a864c0-b500-0132-1e67-60a44ce903c3
|
||||
|
||||
Team60UUID:ac653090-b377-0132-119f-60a44ce903c3
|
||||
Team60Name:Rodger Deane
|
||||
|
||||
Team61UUID:946600a0-b4db-0132-1cbe-60a44ce903c3
|
||||
Team61Name:Royal Brighton Yacht Club
|
||||
Team61Comp1UUID:946739e0-b4db-0132-1cbf-60a44ce903c3
|
||||
|
||||
Team62UUID:950e5de0-b4db-0132-1cf6-60a44ce903c3
|
||||
Team62Name:Royal Cape Yacht Club
|
||||
Team62Comp1UUID:950fd6e0-b4db-0132-1cf7-60a44ce903c3
|
||||
|
||||
Team63UUID:952ba070-b4db-0132-1d02-60a44ce903c3
|
||||
Team63Name:Royal Natal Yacht Club
|
||||
Team63Comp1UUID:952c9010-b4db-0132-1d03-60a44ce903c3
|
||||
|
||||
Team64UUID:9445a600-b4db-0132-1cba-60a44ce903c3
|
||||
Team64Name:RPEYC
|
||||
Team64Comp1UUID:944a7e00-b4db-0132-1cbb-60a44ce903c3
|
||||
|
||||
Team65UUID:ac6312c0-b377-0132-1199-60a44ce903c3
|
||||
Team65Name:Sam Cronin
|
||||
|
||||
Team66UUID:ac63c0c0-b377-0132-119b-60a44ce903c3
|
||||
Team66Name:Sandy HigginsÂ
|
||||
|
||||
Team67UUID:c5a0f950-b377-0132-11d9-60a44ce903c3
|
||||
Team67Name:Sandy Higgins
|
||||
|
||||
Team68UUID:5f647e40-b4fc-0132-1d9d-60a44ce903c3
|
||||
Team68Name:Santa Cruz Yacht Club
|
||||
Team68Comp1UUID:5f8e1890-b4fc-0132-1da6-60a44ce903c3
|
||||
Team68Comp2UUID:5f757d60-b4fc-0132-1d9e-60a44ce903c3
|
||||
|
||||
Team69UUID:949b6070-b4db-0132-1cd2-60a44ce903c3
|
||||
Team69Name:SCLL
|
||||
Team69Comp1UUID:949c2dc0-b4db-0132-1cd3-60a44ce903c3
|
||||
|
||||
Team70UUID:94a5f800-b4db-0132-1cd6-60a44ce903c3
|
||||
Team70Name:Segel-Club Ville
|
||||
Team70Comp1UUID:94a6ea50-b4db-0132-1cd7-60a44ce903c3
|
||||
|
||||
Team71UUID:459b10a0-b6e4-0132-228b-60a44ce903c3
|
||||
Team71Name:SGJ
|
||||
Team71Comp1UUID:94b25480-b4db-0132-1cdb-60a44ce903c3
|
||||
|
||||
Team72UUID:3c5a3440-b5c5-0132-204d-60a44ce903c3
|
||||
Team72Name:Shotley Sailing Club
|
||||
Team72Comp1UUID:f0941b50-b5ec-0132-20fb-60a44ce903c3
|
||||
|
||||
Team73UUID:ac715a70-b377-0132-11bd-60a44ce903c3
|
||||
Team73Name:Sigi Bailes
|
||||
|
||||
Team74UUID:ac69c0c0-b377-0132-11a7-60a44ce903c3
|
||||
Team74Name:Stefan Bohm
|
||||
|
||||
Team75UUID:b8ae7900-b10c-0132-075a-60a44ce903c3
|
||||
Team75Name:team
|
||||
|
||||
Team76UUID:ac65e030-b377-0132-11a1-60a44ce903c3
|
||||
Team76Name:Terry Scutcher
|
||||
|
||||
Team77UUID:453f5410-b6e4-0132-2277-60a44ce903c3
|
||||
Team77Name:USYC
|
||||
Team77Comp1UUID:94eff380-b4db-0132-1ceb-60a44ce903c3
|
||||
|
||||
Team78UUID:94f918c0-b4db-0132-1cee-60a44ce903c3
|
||||
Team78Name:Vogelvlei Yacht Club
|
||||
Team78Comp1UUID:954a24b0-b4db-0132-1d0e-60a44ce903c3
|
||||
Team78Comp2UUID:94fa1150-b4db-0132-1cef-60a44ce903c3
|
||||
|
||||
Team79UUID:953f9670-b4db-0132-1d0a-60a44ce903c3
|
||||
Team79Name: RCYC
|
||||
Team79Comp1UUID:95407f70-b4db-0132-1d0b-60a44ce903c3
|
||||
|
||||
Comp1UUID:944a7e00-b4db-0132-1cbb-60a44ce903c3
|
||||
Comp1Name:Quirk / Payne
|
||||
Comp1NameShort:AUS 9134
|
||||
Comp1Color:FFFF00
|
||||
Comp1Nationality:AUS
|
||||
Comp1Description:Michael Quirk/Luke Payne
|
||||
Comp1Handicap:1.0000000000
|
||||
Comp1HandicapDistance:0.00000
|
||||
Comp1StartTime:2015-04-02 12:40:00
|
||||
Comp1ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp1RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp2UUID:946739e0-b4db-0132-1cbf-60a44ce903c3
|
||||
Comp2Name:Bowden / Bath
|
||||
Comp2NameShort:AUS 9018
|
||||
Comp2Color:0000FF
|
||||
Comp2Nationality:AUS
|
||||
Comp2Description:Brett Bowden/Robert Bath
|
||||
Comp2Handicap:1.0000000000
|
||||
Comp2HandicapDistance:0.00000
|
||||
Comp2StartTime:2015-04-02 12:40:00
|
||||
Comp2ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp2RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp3UUID:9471bf20-b4db-0132-1cc3-60a44ce903c3
|
||||
Comp3Name:Higgins / Johnston
|
||||
Comp3NameShort:AUS 8890
|
||||
Comp3Color:008000
|
||||
Comp3Nationality:AUS
|
||||
Comp3Description:Malcolm Higgins/Nick Johnston
|
||||
Comp3Handicap:1.0000000000
|
||||
Comp3HandicapDistance:0.00000
|
||||
Comp3StartTime:2015-04-02 12:40:00
|
||||
Comp3ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp3RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp4UUID:947c7c10-b4db-0132-1cc7-60a44ce903c3
|
||||
Comp4Name:Cronin / Whitbread
|
||||
Comp4NameShort:AUS 8637
|
||||
Comp4Color:000000
|
||||
Comp4Nationality:AUS
|
||||
Comp4Description:Sam Cronin/Kevin Whitbread
|
||||
Comp4Handicap:1.0000000000
|
||||
Comp4HandicapDistance:0.00000
|
||||
Comp4StartTime:2015-04-02 12:40:00
|
||||
Comp4ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp4RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp5UUID:94865d50-b4db-0132-1ccb-60a44ce903c3
|
||||
Comp5Name:Higgins / Marsh
|
||||
Comp5NameShort:AUS 8946
|
||||
Comp5Color:008000
|
||||
Comp5Nationality:AUS
|
||||
Comp5Description:Sandy Higgins /Paul Marsh
|
||||
Comp5Handicap:1.0000000000
|
||||
Comp5HandicapDistance:0.00000
|
||||
Comp5StartTime:2015-04-02 12:40:00
|
||||
Comp5ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp5RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp6UUID:949331b0-b4db-0132-1ccf-60a44ce903c3
|
||||
Comp6Name:Pinnell / Tellen
|
||||
Comp6NameShort:GBR 9136
|
||||
Comp6Color:800080
|
||||
Comp6Nationality:GBR
|
||||
Comp6Description:Ian Pinnell/Johannes Tellen
|
||||
Comp6Handicap:1.0000000000
|
||||
Comp6HandicapDistance:0.00000
|
||||
Comp6StartTime:2015-04-02 12:40:00
|
||||
Comp6ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp6RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp7UUID:949c2dc0-b4db-0132-1cd3-60a44ce903c3
|
||||
Comp7Name:Mittermayer / Barteldt
|
||||
Comp7NameShort:GER 8988
|
||||
Comp7Color:800080
|
||||
Comp7Nationality:GER
|
||||
Comp7Description:Georg Mittermayer/Dirk Barteldt
|
||||
Comp7Handicap:1.0000000000
|
||||
Comp7HandicapDistance:0.00000
|
||||
Comp7StartTime:2015-04-02 12:40:00
|
||||
Comp7ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp7RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp8UUID:94a6ea50-b4db-0132-1cd7-60a44ce903c3
|
||||
Comp8Name:Bohm / Roos
|
||||
Comp8NameShort:GER 9135
|
||||
Comp8Color:008000
|
||||
Comp8Nationality:GER
|
||||
Comp8Description:Stefan Bohm/Gerald Roos
|
||||
Comp8Handicap:1.0000000000
|
||||
Comp8HandicapDistance:0.00000
|
||||
Comp8StartTime:2015-04-02 12:40:00
|
||||
Comp8ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp8RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp9UUID:94b25480-b4db-0132-1cdb-60a44ce903c3
|
||||
Comp9Name:Menge / Wilts
|
||||
Comp9NameShort:GER 9000
|
||||
Comp9Color:808000
|
||||
Comp9Nationality:GER
|
||||
Comp9Description:Katharina Menge/Enno Wilts
|
||||
Comp9Handicap:1.0000000000
|
||||
Comp9HandicapDistance:0.00000
|
||||
Comp9StartTime:2015-04-02 12:40:00
|
||||
Comp9ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp9RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp10UUID:94c44e80-b4db-0132-1cdf-60a44ce903c3
|
||||
Comp10Name:Stenger / Birkner
|
||||
Comp10NameShort:GER 9043
|
||||
Comp10Color:008080
|
||||
Comp10Nationality:GER
|
||||
Comp10Description:Angela Stenger/Nicola Birkner
|
||||
Comp10Handicap:1.0000000000
|
||||
Comp10HandicapDistance:0.00000
|
||||
Comp10StartTime:2015-04-02 12:40:00
|
||||
Comp10ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp10RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp11UUID:94d00ef0-b4db-0132-1ce3-60a44ce903c3
|
||||
Comp11Name:Funke / Funke
|
||||
Comp11NameShort:RSA 9094
|
||||
Comp11Color:191970
|
||||
Comp11Nationality:RSA
|
||||
Comp11Description:Peter Funke/Thomas Funke
|
||||
Comp11Handicap:1.0000000000
|
||||
Comp11HandicapDistance:0.00000
|
||||
Comp11StartTime:2015-04-02 12:40:00
|
||||
Comp11ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp11RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp12UUID:94e60210-b4db-0132-1ce7-60a44ce903c3
|
||||
Comp12Name:Arthur / Anderson
|
||||
Comp12NameShort:RSA 6266
|
||||
Comp12Color:FFFF00
|
||||
Comp12Nationality:RSA
|
||||
Comp12Description:Andrew Arthur/John Anderson
|
||||
Comp12Handicap:1.0000000000
|
||||
Comp12HandicapDistance:0.00000
|
||||
Comp12StartTime:2015-04-02 12:40:00
|
||||
Comp12ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp12RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp13UUID:94eff380-b4db-0132-1ceb-60a44ce903c3
|
||||
Comp13Name:Ham / Ham
|
||||
Comp13NameShort:RSA 8719
|
||||
Comp13Color:FF0000
|
||||
Comp13Nationality:RSA
|
||||
Comp13Description:Alexander Ham/Warwick Ham
|
||||
Comp13Handicap:1.0000000000
|
||||
Comp13HandicapDistance:0.00000
|
||||
Comp13StartTime:2015-04-02 12:40:00
|
||||
Comp13ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp13RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp14UUID:94fa1150-b4db-0132-1cef-60a44ce903c3
|
||||
Comp14Name:Snyman / Ballantyne
|
||||
Comp14NameShort:RSA 8091
|
||||
Comp14Color:800000
|
||||
Comp14Nationality:RSA
|
||||
Comp14Description:Gideon Snyman/Courtney Ballantyne
|
||||
Comp14Handicap:1.0000000000
|
||||
Comp14HandicapDistance:0.00000
|
||||
Comp14StartTime:2015-04-02 12:40:00
|
||||
Comp14ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp14RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp15UUID:95044100-b4db-0132-1cf3-60a44ce903c3
|
||||
Comp15Name:Holm / Fourie
|
||||
Comp15NameShort:RSA 8707
|
||||
Comp15Color:191970
|
||||
Comp15Nationality:RSA
|
||||
Comp15Description:Albrecht Holm/Marius Fourie
|
||||
Comp15Handicap:1.0000000000
|
||||
Comp15HandicapDistance:0.00000
|
||||
Comp15StartTime:2015-04-02 12:40:00
|
||||
Comp15ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp15RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp16UUID:950fd6e0-b4db-0132-1cf7-60a44ce903c3
|
||||
Comp16Name:Largier / Hutton-Squire
|
||||
Comp16NameShort:RSA 9063
|
||||
Comp16Color:008080
|
||||
Comp16Nationality:RSA
|
||||
Comp16Description:James Largier/Richard Hutton-Squire
|
||||
Comp16Handicap:1.0000000000
|
||||
Comp16HandicapDistance:0.00000
|
||||
Comp16StartTime:2015-04-02 12:40:00
|
||||
Comp16ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp16RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp17UUID:951a3330-b4db-0132-1cfb-60a44ce903c3
|
||||
Comp17Name:Bailes / Isaac
|
||||
Comp17NameShort:RSA 7608
|
||||
Comp17Color:808000
|
||||
Comp17Nationality:RSA
|
||||
Comp17Description:Sigi Bailes/Dudley Isaac
|
||||
Comp17Handicap:1.0000000000
|
||||
Comp17HandicapDistance:0.00000
|
||||
Comp17StartTime:2015-04-02 12:40:00
|
||||
Comp17ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp17RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp18UUID:952360a0-b4db-0132-1cff-60a44ce903c3
|
||||
Comp18Name:Ham / Robinson
|
||||
Comp18NameShort:RSA 8789
|
||||
Comp18Color:FFFF00
|
||||
Comp18Nationality:GBR
|
||||
Comp18Description:Jonathan Ham / Michaela Robinson
|
||||
Comp18Handicap:1.0000000000
|
||||
Comp18HandicapDistance:0.00000
|
||||
Comp18StartTime:2015-04-02 12:40:00
|
||||
Comp18ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp18RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp19UUID:952c9010-b4db-0132-1d03-60a44ce903c3
|
||||
Comp19Name:Robinson / Robinson
|
||||
Comp19NameShort:RSA 8486
|
||||
Comp19Color:800000
|
||||
Comp19Nationality:RSA
|
||||
Comp19Description:Ricky Robinson/Brennan Robinson
|
||||
Comp19Handicap:1.0000000000
|
||||
Comp19HandicapDistance:0.00000
|
||||
Comp19StartTime:2015-04-02 12:40:00
|
||||
Comp19ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp19RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp20UUID:95368d50-b4db-0132-1d07-60a44ce903c3
|
||||
Comp20Name:Hurter / May
|
||||
Comp20NameShort:RSA 8675
|
||||
Comp20Color:0000FF
|
||||
Comp20Nationality:RSA
|
||||
Comp20Description:Euan Hurter/Murray May
|
||||
Comp20Handicap:1.0000000000
|
||||
Comp20HandicapDistance:0.00000
|
||||
Comp20StartTime:2015-04-02 12:40:00
|
||||
Comp20ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp20RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp21UUID:95407f70-b4db-0132-1d0b-60a44ce903c3
|
||||
Comp21Name:Plattner / Shelton
|
||||
Comp21NameShort:RSA 9026
|
||||
Comp21Color:800080
|
||||
Comp21Nationality:RSA
|
||||
Comp21Description:Tina Plattner/David Shelton
|
||||
Comp21Handicap:1.0000000000
|
||||
Comp21HandicapDistance:0.00000
|
||||
Comp21StartTime:2015-04-02 12:40:00
|
||||
Comp21ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp21RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp22UUID:954a24b0-b4db-0132-1d0e-60a44ce903c3
|
||||
Comp22Name:Ballantyne / Groenewald
|
||||
Comp22NameShort:RSA 4437
|
||||
Comp22Color:FF8C00
|
||||
Comp22Nationality:RSA
|
||||
Comp22Description:Grant Ballantyne/Evert Groenewald
|
||||
Comp22Handicap:1.0000000000
|
||||
Comp22HandicapDistance:0.00000
|
||||
Comp22StartTime:2015-04-02 12:40:00
|
||||
Comp22ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp22RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp23UUID:956a8030-b4db-0132-1d12-60a44ce903c3
|
||||
Comp23Name:Rogotzki / Roos
|
||||
Comp23NameShort:RSA 8584
|
||||
Comp23Color:FF8C00
|
||||
Comp23Nationality:RSA
|
||||
Comp23Description:Hans Rogotzki/Peter Roos
|
||||
Comp23Handicap:1.0000000000
|
||||
Comp23HandicapDistance:0.00000
|
||||
Comp23StartTime:2015-04-02 12:40:00
|
||||
Comp23ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp23RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp24UUID:9580e450-b4db-0132-1d1a-60a44ce903c3
|
||||
Comp24Name:D'Engle / Nel
|
||||
Comp24NameShort:RSA 8520
|
||||
Comp24Color:00FF00
|
||||
Comp24Nationality:RSA
|
||||
Comp24Description:Jay D'Engle /De-Wet Nel
|
||||
Comp24Handicap:1.0000000000
|
||||
Comp24HandicapDistance:0.00000
|
||||
Comp24StartTime:2015-04-02 12:40:00
|
||||
Comp24ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp24RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp25UUID:958bd200-b4db-0132-1d1e-60a44ce903c3
|
||||
Comp25Name:Ross / Waterman
|
||||
Comp25NameShort:USA 8084
|
||||
Comp25Color:FF00FF
|
||||
Comp25Nationality:USA
|
||||
Comp25Description:Aaron Ross/Rob Waterman
|
||||
Comp25Handicap:1.0000000000
|
||||
Comp25HandicapDistance:0.00000
|
||||
Comp25StartTime:2015-04-02 12:40:00
|
||||
Comp25ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp25RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp26UUID:95984f80-b4db-0132-1d22-60a44ce903c3
|
||||
Comp26Name:Hamlin / Nelson
|
||||
Comp26NameShort:USA 9153
|
||||
Comp26Color:800000
|
||||
Comp26Nationality:USA
|
||||
Comp26Description:Howard Hamlin / Jeff Nelson
|
||||
Comp26Handicap:1.0000000000
|
||||
Comp26HandicapDistance:0.00000
|
||||
Comp26StartTime:2015-04-02 12:40:00
|
||||
Comp26ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp26RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp27UUID:5f757d60-b4fc-0132-1d9e-60a44ce903c3
|
||||
Comp27Name:Holt / Smit
|
||||
Comp27NameShort:USA 9072
|
||||
Comp27Color:00FF00
|
||||
Comp27Nationality:USA
|
||||
Comp27Description:Mike Holt/Carl Smit
|
||||
Comp27Handicap:1.0000000000
|
||||
Comp27HandicapDistance:0.00000
|
||||
Comp27StartTime:2015-04-02 12:40:00
|
||||
Comp27ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp27RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp28UUID:5f853dc0-b4fc-0132-1da2-60a44ce903c3
|
||||
Comp28Name:Saugmann / Karbo
|
||||
Comp28NameShort:DEN 9118
|
||||
Comp28Color:008080
|
||||
Comp28Nationality:DEN
|
||||
Comp28Description:Jan Saugmann/Jakob Karbo
|
||||
Comp28Handicap:1.0000000000
|
||||
Comp28HandicapDistance:0.00000
|
||||
Comp28StartTime:2015-04-02 12:40:00
|
||||
Comp28ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp28RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp29UUID:5f8e1890-b4fc-0132-1da6-60a44ce903c3
|
||||
Comp29Name:Conrads / Haines
|
||||
Comp29NameShort:USA 9091
|
||||
Comp29Color:00FF00
|
||||
Comp29Nationality:USA
|
||||
Comp29Description:Ted Conrads/Brian Haines
|
||||
Comp29Handicap:1.0000000000
|
||||
Comp29HandicapDistance:0.00000
|
||||
Comp29StartTime:2015-04-02 12:40:00
|
||||
Comp29ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp29RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp30UUID:f1a864c0-b500-0132-1e67-60a44ce903c3
|
||||
Comp30Name:Deane / Deane
|
||||
Comp30NameShort:GBR 9125
|
||||
Comp30Color:191970
|
||||
Comp30Nationality:GBR
|
||||
Comp30Description:Roger Deane/Nigel Deane
|
||||
Comp30Handicap:1.0000000000
|
||||
Comp30HandicapDistance:0.00000
|
||||
Comp30StartTime:2015-04-02 12:40:00
|
||||
Comp30ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp30RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp31UUID:3c51d930-b5c5-0132-204a-60a44ce903c3
|
||||
Comp31Name:Parker / Holm
|
||||
Comp31NameShort:RSA 8948
|
||||
Comp31Color:FF00FF
|
||||
Comp31Nationality:RSA
|
||||
Comp31Description:Anthony Parker / Dietmar Holm
|
||||
Comp31Handicap:1.0000000000
|
||||
Comp31HandicapDistance:0.00000
|
||||
Comp31StartTime:2015-04-02 12:40:00
|
||||
Comp31ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp31RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp32UUID:f0941b50-b5ec-0132-20fb-60a44ce903c3
|
||||
Comp32Name:Scutcher / Diebitsch
|
||||
Comp32NameShort:GBR 9124
|
||||
Comp32Color:FF0000
|
||||
Comp32Nationality:GBR
|
||||
Comp32Description:Terry Scutcher/Christian Diebitsch
|
||||
Comp32Handicap:1.0000000000
|
||||
Comp32HandicapDistance:0.00000
|
||||
Comp32StartTime:2015-04-02 12:40:00
|
||||
Comp32ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp32RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp33UUID:2a9a8a70-b689-0132-2213-60a44ce903c3
|
||||
Comp33Name:Klaas / Tellen
|
||||
Comp33NameShort:RSA 7822
|
||||
Comp33Color:000000
|
||||
Comp33Nationality:RSA
|
||||
Comp33Description:Bronwen Klaas /Aron Tellen
|
||||
Comp33Handicap:1.0000000000
|
||||
Comp33HandicapDistance:0.00000
|
||||
Comp33StartTime:2015-04-02 12:40:00
|
||||
Comp33ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp33RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp34UUID:4568fe80-b6e4-0132-227f-60a44ce903c3
|
||||
Comp34Name:Holtshauzen / Kirchner
|
||||
Comp34NameShort:RSA 8121
|
||||
Comp34Color:0000FF
|
||||
Comp34Nationality:RSA
|
||||
Comp34Description:Kobus Holtshauzen /Danie Kirchner
|
||||
Comp34Handicap:1.0000000000
|
||||
Comp34HandicapDistance:0.00000
|
||||
Comp34StartTime:2015-04-02 12:40:00
|
||||
Comp34ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp34RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp35UUID:45750710-b6e4-0132-2282-60a44ce903c3
|
||||
Comp35Name:Klaas / Von Gruenewaldt
|
||||
Comp35NameShort:RSA 8445
|
||||
Comp35Color:FF8C00
|
||||
Comp35Nationality:RSA
|
||||
Comp35Description:Kyle Klaas/Robert Von Gruenewaldt
|
||||
Comp35Handicap:1.0000000000
|
||||
Comp35HandicapDistance:0.00000
|
||||
Comp35StartTime:2015-04-02 12:40:00
|
||||
Comp35ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp35RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
Comp36UUID:45b290d0-b6e4-0132-2291-60a44ce903c3
|
||||
Comp36Name:Foreman / Van Der Ploeg
|
||||
Comp36NameShort:RSA 8537
|
||||
Comp36Color:808000
|
||||
Comp36Nationality:RSA
|
||||
Comp36Description:Kevin Foreman/Adam Van Der Ploeg
|
||||
Comp36Handicap:1.0000000000
|
||||
Comp36HandicapDistance:0.00000
|
||||
Comp36StartTime:2015-04-02 12:40:00
|
||||
Comp36ClassUUID:ac5ab750-b377-0132-1193-60a44ce903c3
|
||||
Comp36RouteUUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
|
||||
ControlPoint1UUID:25f25a90-b906-0132-2954-60a44ce903c3
|
||||
ControlPoint1Name:Windward-F-30
|
||||
ControlPoint1HasTwoPoints:0
|
||||
ControlPoint1ShortName:1R
|
||||
ControlPoint1Mark1Lon:25.694404
|
||||
ControlPoint1Mark1Lat:-33.957179
|
||||
ControlPoint1Mark1Static:1
|
||||
|
||||
ControlPoint2UUID:26126690-b4de-0132-1d39-60a44ce903c3
|
||||
ControlPoint2Name:Replacement mark
|
||||
ControlPoint2HasTwoPoints:0
|
||||
ControlPoint2ShortName:Re
|
||||
ControlPoint2Mark1Lon:25.687969
|
||||
ControlPoint2Mark1Lat:-33.949951
|
||||
ControlPoint2Mark1Static:0
|
||||
|
||||
ControlPoint3UUID:3fe5f360-b52a-0132-1f57-60a44ce903c3
|
||||
ControlPoint3Name:Leeward gate PreW
|
||||
ControlPoint3HasTwoPoints:1
|
||||
ControlPoint3ShortName:3
|
||||
ControlPoint3Mark1Lon:25.633739
|
||||
ControlPoint3Mark1Lat:-33.967300
|
||||
ControlPoint3Mark1Static:0
|
||||
ControlPoint3Mark2Lon:25.633644
|
||||
ControlPoint3Mark2Lat:-33.967327
|
||||
ControlPoint3Mark2Static:0
|
||||
|
||||
ControlPoint4UUID:69c13f40-b37c-0132-1211-60a44ce903c3
|
||||
ControlPoint4Name:Wing
|
||||
ControlPoint4HasTwoPoints:0
|
||||
ControlPoint4ShortName:2
|
||||
ControlPoint4Mark1Lon:25.689110
|
||||
ControlPoint4Mark1Lat:-33.970020
|
||||
ControlPoint4Mark1Static:0
|
||||
|
||||
ControlPoint5UUID:8f54b350-b767-0132-2455-60a44ce903c3
|
||||
ControlPoint5Name:3 Worlds 1
|
||||
ControlPoint5HasTwoPoints:1
|
||||
ControlPoint5ShortName:3
|
||||
ControlPoint5Mark1Lon:25.665367
|
||||
ControlPoint5Mark1Lat:-33.961881
|
||||
ControlPoint5Mark1Static:1
|
||||
ControlPoint5Mark2Lon:25.665457
|
||||
ControlPoint5Mark2Lat:-33.962330
|
||||
ControlPoint5Mark2Static:1
|
||||
|
||||
ControlPoint6UUID:9ca100f0-b68c-0132-2216-60a44ce903c3
|
||||
ControlPoint6Name:3p
|
||||
ControlPoint6HasTwoPoints:0
|
||||
ControlPoint6ShortName:3p
|
||||
ControlPoint6Mark1Lon:25.683989
|
||||
ControlPoint6Mark1Lat:-33.954403
|
||||
ControlPoint6Mark1Static:0
|
||||
|
||||
ControlPoint7UUID:ab8077c0-b37c-0132-1218-60a44ce903c3
|
||||
ControlPoint7Name:Finish
|
||||
ControlPoint7HasTwoPoints:1
|
||||
ControlPoint7ShortName:F
|
||||
ControlPoint7Mark1Lon:25.687019
|
||||
ControlPoint7Mark1Lat:-33.950874
|
||||
ControlPoint7Mark1Static:0
|
||||
ControlPoint7Mark2Lon:25.688251
|
||||
ControlPoint7Mark2Lat:-33.950226
|
||||
ControlPoint7Mark2Static:0
|
||||
|
||||
ControlPoint8UUID:af1bb4f0-b68c-0132-2219-60a44ce903c3
|
||||
ControlPoint8Name:3s
|
||||
ControlPoint8HasTwoPoints:0
|
||||
ControlPoint8ShortName:3S
|
||||
ControlPoint8Mark1Lon:25.684313
|
||||
ControlPoint8Mark1Lat:-33.954788
|
||||
ControlPoint8Mark1Static:0
|
||||
|
||||
ControlPoint9UUID:b10792d0-b5e2-0132-20f9-60a44ce903c3
|
||||
ControlPoint9Name:Fin R2
|
||||
ControlPoint9HasTwoPoints:1
|
||||
ControlPoint9ShortName:Fi
|
||||
ControlPoint9Mark1Lon:25.724152
|
||||
ControlPoint9Mark1Lat:-34.001356
|
||||
ControlPoint9Mark1Static:1
|
||||
ControlPoint9Mark2Lon:25.723793
|
||||
ControlPoint9Mark2Lat:-34.001524
|
||||
ControlPoint9Mark2Static:1
|
||||
|
||||
ControlPoint10UUID:cf64f6d0-b4dd-0132-1d2c-60a44ce903c3
|
||||
ControlPoint10Name:Start
|
||||
ControlPoint10HasTwoPoints:1
|
||||
ControlPoint10ShortName:St
|
||||
ControlPoint10Mark1Lon:25.686090
|
||||
ControlPoint10Mark1Lat:-33.950943
|
||||
ControlPoint10Mark1Static:0
|
||||
ControlPoint10Mark2Lon:25.687042
|
||||
ControlPoint10Mark2Lat:-33.950867
|
||||
ControlPoint10Mark2Static:0
|
||||
|
||||
ControlPoint11UUID:d742d1b0-b68c-0132-221c-60a44ce903c3
|
||||
ControlPoint11Name:Leeward gate Worlds
|
||||
ControlPoint11HasTwoPoints:1
|
||||
ControlPoint11ShortName:3
|
||||
ControlPoint11DataSheet:P1.UUID=af1bb4f0-b68c-0132-2219-60a44ce903c3###BREAKLINE###P2.UUID=9ca100f0-b68c-0132-2216-60a44ce903c3###BREAKLINE###
|
||||
ControlPoint11Mark1Lon:25.684313
|
||||
ControlPoint11Mark1Lat:-33.954788
|
||||
ControlPoint11Mark1Static:0
|
||||
ControlPoint11Mark2Lon:25.683989
|
||||
ControlPoint11Mark2Lat:-33.954403
|
||||
ControlPoint11Mark2Static:0
|
||||
|
||||
ControlPoint12UUID:e6879b90-b4dd-0132-1d30-60a44ce903c3
|
||||
ControlPoint12Name:Windward
|
||||
ControlPoint12HasTwoPoints:0
|
||||
ControlPoint12ShortName:1
|
||||
ControlPoint12Mark1Lon:25.668341
|
||||
ControlPoint12Mark1Lat:-33.968086
|
||||
ControlPoint12Mark1Static:0
|
||||
|
||||
ControlPoint13UUID:f6f60d80-b4dd-0132-1d33-60a44ce903c3
|
||||
ControlPoint13Name:Spreader
|
||||
ControlPoint13HasTwoPoints:0
|
||||
ControlPoint13ShortName:1a
|
||||
ControlPoint13Mark1Lon:25.669888
|
||||
ControlPoint13Mark1Lat:-33.968563
|
||||
ControlPoint13Mark1Static:0
|
||||
|
||||
SegmentFile:segments.php
|
||||
Route1UUID:66ccabb0-b77d-0132-26e9-60a44ce903c3
|
||||
Route1Description:Worlds 7
|
||||
Route1Length:0
|
||||
Route1ControlPoint1UUID:cf64f6d0-b4dd-0132-1d2c-60a44ce903c3
|
||||
Route1ControlPoint2UUID:e6879b90-b4dd-0132-1d30-60a44ce903c3
|
||||
Route1ControlPoint3UUID:f6f60d80-b4dd-0132-1d33-60a44ce903c3
|
||||
Route1ControlPoint4UUID:d742d1b0-b68c-0132-221c-60a44ce903c3
|
||||
Route1ControlPoint5UUID:e6879b90-b4dd-0132-1d30-60a44ce903c3
|
||||
Route1ControlPoint6UUID:f6f60d80-b4dd-0132-1d33-60a44ce903c3
|
||||
Route1ControlPoint7UUID:69c13f40-b37c-0132-1211-60a44ce903c3
|
||||
Route1ControlPoint8UUID:d742d1b0-b68c-0132-221c-60a44ce903c3
|
||||
Route1ControlPoint9UUID:e6879b90-b4dd-0132-1d30-60a44ce903c3
|
||||
Route1ControlPoint10UUID:f6f60d80-b4dd-0132-1d33-60a44ce903c3
|
||||
Route1ControlPoint11UUID:d742d1b0-b68c-0132-221c-60a44ce903c3
|
||||
Route1ControlPoint12UUID:ab8077c0-b37c-0132-1218-60a44ce903c3
|
||||
|
||||
//-------- AUTO GENERATED PARAMETERS END ------------------
|
||||
@@ -15,6 +15,9 @@ import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
public abstract class AbstractManeuverDetectionTestCase extends OnlineTracTracBasedTest {
|
||||
/**
|
||||
* A date parser for UTC+2 in format MM/dd/yyyy-HH:mm:ss.
|
||||
*/
|
||||
protected SimpleDateFormat dateFormat;
|
||||
protected static final int TACK_TOLERANCE = 7000;
|
||||
protected static final int JIBE_TOLERANCE = 7000;
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.sap.sailing.domain.test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.CourseArea;
|
||||
import com.sap.sailing.domain.base.impl.CourseAreaImpl;
|
||||
import com.sap.sailing.domain.common.sensordata.BravoExtendedSensorDataMetadata;
|
||||
import com.sap.sailing.domain.common.tracking.impl.BravoExtendedFixImpl;
|
||||
import com.sap.sailing.domain.common.tracking.impl.DoubleVectorFixImpl;
|
||||
import com.sap.sailing.domain.tracking.DynamicBravoFixTrack;
|
||||
import com.sap.sailing.domain.tracking.impl.BravoFixTrackImpl;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
public class BravoFixTrackAverageRideHeightTest {
|
||||
private DynamicBravoFixTrack<CourseArea> track;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
track = new BravoFixTrackImpl<>(new CourseAreaImpl("Test", UUID.randomUUID()),
|
||||
"test", /* hasExtendedFixes */ true);
|
||||
track.add(createFix(10l, /* rideHeightPort */ 0.6, /* rideHeightStarboard */ 0.6, /* heel */ 10., /* pitch */ 5.));
|
||||
track.add(createFix(20l, /* rideHeightPort */ 0.6, /* rideHeightStarboard */ 0.6, /* heel */ 10., /* pitch */ 5.));
|
||||
track.add(createFix(30l, /* rideHeightPort */ 0.6, /* rideHeightStarboard */ 0.6, /* heel */ 10., /* pitch */ 5.));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAverageRideHeightCachingForEmptyInterval() {
|
||||
assertNull(track.getAverageRideHeight(t(11l), t(19l)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAverageRideHeightCachingForNonEmptyInterval() {
|
||||
assertEquals(0.6, track.getAverageRideHeight(t(11l), t(21l)).getMeters(), 0.00001); // make sure that the cached "null" result doesn't offend surrounding calculations
|
||||
assertEquals(0.6, track.getAverageRideHeight(t(9l), t(21l)).getMeters(), 0.00001); // also when the first fix is included
|
||||
assertEquals(0.6, track.getAverageRideHeight(t(9l), t(31l)).getMeters(), 0.00001); // ensure that results are still correct when cache intervals are "added"
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAverageRideHeightCachingForNonEmptyIntervalAfterHavingCachedEmptyIntervalResult() {
|
||||
testAverageRideHeightCachingForEmptyInterval();
|
||||
assertEquals(0.6, track.getAverageRideHeight(t(11l), t(21l)).getMeters(), 0.00001); // make sure that the cached "null" result doesn't offend surrounding calculations
|
||||
assertEquals(0.6, track.getAverageRideHeight(t(9l), t(21l)).getMeters(), 0.00001); // also when the first fix is included
|
||||
assertEquals(0.6, track.getAverageRideHeight(t(9l), t(31l)).getMeters(), 0.00001); // ensure that results are still correct when cache intervals are "added"
|
||||
}
|
||||
|
||||
private BravoExtendedFixImpl createFix(long timePointAsMillis, Double rideHeightPort, Double rideHeightStarboard, Double heel, Double pitch) {
|
||||
final Double[] fixData = new Double[Collections.max(Arrays.asList(
|
||||
BravoExtendedSensorDataMetadata.HEEL.getColumnIndex()+1,
|
||||
BravoExtendedSensorDataMetadata.PITCH.getColumnIndex()+1,
|
||||
BravoExtendedSensorDataMetadata.RIDE_HEIGHT_PORT_HULL.getColumnIndex()+1,
|
||||
BravoExtendedSensorDataMetadata.RIDE_HEIGHT_STBD_HULL.getColumnIndex()+1))];
|
||||
fixData[BravoExtendedSensorDataMetadata.HEEL.getColumnIndex()] = heel;
|
||||
fixData[BravoExtendedSensorDataMetadata.PITCH.getColumnIndex()] = pitch;
|
||||
fixData[BravoExtendedSensorDataMetadata.RIDE_HEIGHT_PORT_HULL.getColumnIndex()] = rideHeightPort;
|
||||
fixData[BravoExtendedSensorDataMetadata.RIDE_HEIGHT_STBD_HULL.getColumnIndex()] = rideHeightStarboard;
|
||||
return new BravoExtendedFixImpl(new DoubleVectorFixImpl(t(timePointAsMillis), fixData));
|
||||
}
|
||||
|
||||
private MillisecondsTimePoint t(long timePointAsMillis) {
|
||||
return new MillisecondsTimePoint(timePointAsMillis);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.sap.sailing.domain.test;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.text.ParseException;
|
||||
import java.util.Date;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.DynamicGPSFixTrack;
|
||||
import com.sap.sailing.domain.tractracadapter.ReceiverType;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.tractrac.model.lib.api.event.CreateModelException;
|
||||
import com.tractrac.subscription.lib.api.SubscriberInitializationException;
|
||||
|
||||
/**
|
||||
* At the 505 Worlds 2015 Race R7 Arthur/Anderson (RSA 6266) have been tracked with a wild outlier
|
||||
* around 2015-04-02T15:05:07+0200.
|
||||
*
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
public class OutlierDetectionTest extends AbstractManeuverDetectionTestCase {
|
||||
public OutlierDetectionTest() throws MalformedURLException, URISyntaxException {
|
||||
super();
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setUp() throws URISyntaxException, IOException, InterruptedException, ParseException, SubscriberInitializationException, CreateModelException {
|
||||
super.setUp();
|
||||
URI storedUri = new URI("file:///"+new File("resources/event_20150323_Worlds-505_Worlds_7.mtb").getCanonicalPath().replace('\\', '/'));
|
||||
super.setUp(new URL("file:///"+new File("resources/event_20150323_Worlds-505_Worlds_7.txt").getCanonicalPath()),
|
||||
/* liveUri */ null, /* storedUri */ storedUri,
|
||||
new ReceiverType[] { ReceiverType.MARKPASSINGS, ReceiverType.RACECOURSE, ReceiverType.RAWPOSITIONS });
|
||||
}
|
||||
|
||||
protected String getExpectedEventName() {
|
||||
return "505 Worlds 2015";
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the 505 Race 7 for competitor "Arthur / Anderson" at a time where an outlier exists
|
||||
*/
|
||||
@Test
|
||||
public void testManeuversForFindelCriticalDetection() throws ParseException, NoWindException {
|
||||
Competitor competitor = getCompetitorByName("Arthur / Anderson");
|
||||
assertNotNull(competitor);
|
||||
Date fromDate = dateFormat.parse("04/02/2015-15:04:50");
|
||||
TimePoint from = new MillisecondsTimePoint(fromDate);
|
||||
Date toDate = dateFormat.parse("04/02/2015-15:06:20");
|
||||
TimePoint to = new MillisecondsTimePoint(toDate);
|
||||
assertNotNull(fromDate);
|
||||
assertNotNull(toDate);
|
||||
DynamicGPSFixTrack<Competitor, GPSFixMoving> track = getTrackedRace().getTrack(competitor);
|
||||
track.lockForRead();
|
||||
try {
|
||||
assertTrue(track.getMaximumSpeedOverGround(from, to).getB().getKnots() < 15.);
|
||||
} finally {
|
||||
track.unlockAfterRead();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,5 +13,9 @@ import com.sap.sse.common.WithID;
|
||||
*/
|
||||
public interface DynamicSensorFixTrack<ItemType extends WithID & Serializable, FixT extends SensorFix> extends
|
||||
SensorFixTrack<ItemType, FixT>, DynamicTrack<FixT> {
|
||||
|
||||
/**
|
||||
* Invoked when this track is added to a tracked race. The method is also invoked after de-serializing the
|
||||
* containing {@link TrackedRace}. This default implementation does nothing.
|
||||
*/
|
||||
default void addedToTrackedRace(TrackedRace trackedRace) {}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ import com.sap.sailing.domain.tracking.Track;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.WithID;
|
||||
import com.sap.sse.common.scalablevalue.ScalableValue;
|
||||
|
||||
@@ -39,13 +40,17 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> extends S
|
||||
|
||||
private transient TimeRangeCache<Distance> foilingDistanceCache;
|
||||
|
||||
private transient TimeRangeCache<Distance> averageRideHeightCache;
|
||||
/**
|
||||
* Caches the sum of the ride height of all fixes in the interval, paired with the number of fixes
|
||||
* that constituted the basis for the ride height sum.
|
||||
*/
|
||||
private transient TimeRangeCache<Pair<Distance, Long>> averageRideHeightCache;
|
||||
|
||||
/**
|
||||
* If a GPS track was provided at construction time, remember it non-transiently. It is needed when restoring
|
||||
* the object after de-serialization, so the cache invalidation listener can be re-established.
|
||||
*/
|
||||
private GPSFixTrack<ItemType, GPSFixMoving> gpsTrack;
|
||||
private transient GPSFixTrack<ItemType, GPSFixMoving> gpsTrack;
|
||||
|
||||
private class CacheInvalidationGpsTrackListener implements GPSTrackListener<ItemType, GPSFixMoving> {
|
||||
private static final long serialVersionUID = 6395529765232404414L;
|
||||
@@ -89,13 +94,30 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> extends S
|
||||
this.foilingTimeCache = createFoilingTimeCache(trackedItem);
|
||||
this.foilingDistanceCache = createFoilingDistanceCache(trackedItem);
|
||||
this.averageRideHeightCache = createAverageRideHeightCache(trackedItem);
|
||||
setGpsTrack(gpsTrack);
|
||||
}
|
||||
|
||||
public GPSFixTrack<ItemType, GPSFixMoving> getGpsTrack() {
|
||||
return gpsTrack;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the {@link #gpsTrack} field and registers a cache invalidation listener
|
||||
* on the {@code gpsTrack} to ensure that the foiling distance is invalidated if needed.<p>
|
||||
*
|
||||
* Must be called only once for a non-{@code null} {@code gpsTrack}.
|
||||
*/
|
||||
protected void setGpsTrack(GPSFixTrack<ItemType, GPSFixMoving> gpsTrack) {
|
||||
if (gpsTrack != null) {
|
||||
assert this.gpsTrack == null;
|
||||
}
|
||||
this.gpsTrack = gpsTrack;
|
||||
if (gpsTrack != null) {
|
||||
gpsTrack.addListener(new CacheInvalidationGpsTrackListener());
|
||||
}
|
||||
}
|
||||
|
||||
private TimeRangeCache<Distance> createAverageRideHeightCache(ItemType trackedItem) {
|
||||
private TimeRangeCache<Pair<Distance, Long>> createAverageRideHeightCache(ItemType trackedItem) {
|
||||
return createTimeRangeCache(trackedItem, "averageRideHeightCache");
|
||||
}
|
||||
|
||||
@@ -119,9 +141,6 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> extends S
|
||||
this.foilingTimeCache = createFoilingTimeCache(getTrackedItem());
|
||||
this.foilingDistanceCache = createFoilingDistanceCache(getTrackedItem());
|
||||
this.averageRideHeightCache = createAverageRideHeightCache(getTrackedItem());
|
||||
if (gpsTrack != null) {
|
||||
gpsTrack.addListener(new CacheInvalidationGpsTrackListener());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -163,13 +182,15 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> extends S
|
||||
|
||||
@Override
|
||||
public Distance getAverageRideHeight(TimePoint from, TimePoint to) {
|
||||
return getValueSum(from, to, /* nullElement */ Distance.NULL, Distance::add, averageRideHeightCache,
|
||||
/* valueCalculator */ new Track.TimeRangeValueCalculator<Distance>() {
|
||||
final Pair<Distance, Long> nullElement = new Pair<>(Distance.NULL, 0l);
|
||||
Pair<Distance, Long> rideHeightSumAndCount = getValueSum(from, to, nullElement,
|
||||
(a, b)->new Pair<>(a.getA().add(b.getA()), a.getB()+b.getB()),
|
||||
averageRideHeightCache,
|
||||
/* valueCalculator */ new Track.TimeRangeValueCalculator<Pair<Distance, Long>>() {
|
||||
@Override
|
||||
public Distance calculate(TimePoint from, TimePoint to) {
|
||||
Distance result;
|
||||
public Pair<Distance, Long> calculate(TimePoint from, TimePoint to) {
|
||||
Distance sum = Distance.NULL;
|
||||
int count = 0;
|
||||
long count = 0;
|
||||
for (final BravoFix fix : getFixes(from, true, to, true)) {
|
||||
final Distance rideHeight = fix.getRideHeight();
|
||||
if (rideHeight != null) {
|
||||
@@ -177,14 +198,10 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> extends S
|
||||
count++;
|
||||
}
|
||||
}
|
||||
if (count > 0) {
|
||||
result = sum.scale(1./count);
|
||||
} else {
|
||||
result = null;
|
||||
}
|
||||
return result;
|
||||
return new Pair<>(sum, count);
|
||||
}
|
||||
});
|
||||
return rideHeightSumAndCount.getB() == 0l ? null : rideHeightSumAndCount.getA().scale(1./(double) rideHeightSumAndCount.getB());
|
||||
}
|
||||
|
||||
private boolean isFoiling(BravoFix fix) {
|
||||
@@ -215,8 +232,8 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> extends S
|
||||
|
||||
@Override
|
||||
public Distance getDistanceSpentFoiling(TimePoint from, TimePoint to) {
|
||||
assert gpsTrack != null;
|
||||
return getValueSum(from, to, /* nullElement */ Distance.NULL, Distance::add, foilingDistanceCache,
|
||||
return getGpsTrack() == null ? null :
|
||||
getValueSum(from, to, /* nullElement */ Distance.NULL, Distance::add, foilingDistanceCache,
|
||||
/* valueCalculator */ new Track.TimeRangeValueCalculator<Distance>() {
|
||||
@Override
|
||||
public Distance calculate(TimePoint from, TimePoint to) {
|
||||
@@ -226,7 +243,7 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> extends S
|
||||
for (final BravoFix fix : getFixes(from, true, to, true)) {
|
||||
final boolean fixFoils = isFoiling(fix);
|
||||
if (isFoiling && fixFoils) {
|
||||
result = result.add(gpsTrack.getDistanceTraveled(last, fix.getTimePoint()));
|
||||
result = result.add(getGpsTrack().getDistanceTraveled(last, fix.getTimePoint()));
|
||||
}
|
||||
last = fix.getTimePoint();
|
||||
isFoiling = fixFoils;
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.GPSFixTrack;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
|
||||
public class CompetitorBravoFixTrackImpl extends BravoFixTrackImpl<Competitor> {
|
||||
private static final long serialVersionUID = 569731925060211875L;
|
||||
|
||||
public CompetitorBravoFixTrackImpl(Competitor trackedItem, String trackName, boolean hasExtendedFixes,
|
||||
GPSFixTrack<Competitor, GPSFixMoving> gpsTrack) {
|
||||
super(trackedItem, trackName, hasExtendedFixes, gpsTrack);
|
||||
}
|
||||
|
||||
public CompetitorBravoFixTrackImpl(Competitor trackedItem, String trackName, boolean hasExtendedFixes) {
|
||||
super(trackedItem, trackName, hasExtendedFixes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addedToTrackedRace(TrackedRace trackedRace) {
|
||||
if (this.getGpsTrack() == null) {
|
||||
this.setGpsTrack(trackedRace.getTrack(getTrackedItem()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.NavigableSet;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.logging.Level;
|
||||
@@ -609,7 +610,7 @@ DynamicTrackedRace, GPSTrackListener<Competitor, GPSFixMoving> {
|
||||
notifyListeners(listener -> listener.markPassingReceived(competitor, oldMarkPassings, markPassings));
|
||||
}
|
||||
|
||||
private void notifyListeners(DynamicSensorFixTrack<Competitor, ?> track) {
|
||||
private void notifyListenersAboutSensorTrackAdded(DynamicSensorFixTrack<Competitor, ?> track) {
|
||||
notifyListeners(listener -> listener.competitorSensorTrackAdded(track));
|
||||
}
|
||||
|
||||
@@ -1206,7 +1207,7 @@ DynamicTrackedRace, GPSTrackListener<Competitor, GPSFixMoving> {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected <FixT extends SensorFix> void addSensorTrackInternal(Pair<Competitor, String> key,
|
||||
protected <FixT extends SensorFix> Optional<Runnable> addSensorTrackInternal(Pair<Competitor, String> key,
|
||||
DynamicSensorFixTrack<Competitor, FixT> track) {
|
||||
super.addSensorTrackInternal(key, track);
|
||||
track.addListener(new SensorFixTrackListener<Competitor, FixT>() {
|
||||
@@ -1222,6 +1223,6 @@ DynamicTrackedRace, GPSTrackListener<Competitor, GPSFixMoving> {
|
||||
notifyListeners(item, trackName, fix);
|
||||
}
|
||||
});
|
||||
notifyListeners(track);
|
||||
return Optional.of(()->notifyListenersAboutSensorTrackAdded(track));
|
||||
}
|
||||
}
|
||||
@@ -294,7 +294,9 @@ public class MaxSpeedCache<ItemType, FixType extends GPSFix> implements GPSTrack
|
||||
} else {
|
||||
speedAtFixTime = track.getEstimatedSpeed(fix.getTimePoint());
|
||||
}
|
||||
if (speedAtFixTime != null && speedAtFixTime.compareTo(max) > 0) {
|
||||
// accept max speeds only if they don't exceed our validity threshold
|
||||
if (speedAtFixTime != null && speedAtFixTime.compareTo(GPSFixTrack.DEFAULT_MAX_SPEED_FOR_SMOOTHING) < 0
|
||||
&& speedAtFixTime.compareTo(max) > 0) {
|
||||
max = speedAtFixTime;
|
||||
maxSpeedFix = fix;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.NavigableSet;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
@@ -124,7 +125,6 @@ import com.sap.sailing.domain.ranking.RankingMetric.RankingInfo;
|
||||
import com.sap.sailing.domain.ranking.RankingMetricConstructor;
|
||||
import com.sap.sailing.domain.tracking.BravoFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicSensorFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrack;
|
||||
import com.sap.sailing.domain.tracking.GPSFixTrack;
|
||||
import com.sap.sailing.domain.tracking.GPSTrackListener;
|
||||
import com.sap.sailing.domain.tracking.LineDetails;
|
||||
@@ -303,11 +303,11 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
|
||||
private final ConcurrentMap<Mark, GPSFixTrack<Mark, GPSFix>> markTracks;
|
||||
|
||||
/**
|
||||
* Mapping of {@link Competitor} to generic {@link DynamicTrack} implementation. Because the same competitor could
|
||||
* Mapping of {@link Competitor} to generic {@link DynamicSensorFixTrack} implementation. Because the same competitor could
|
||||
* be mapped to several different tracks, a combined key of competitor object and track name identifier string is
|
||||
* used. This identifier is usually defined within the track interface (e.g. see {@link BravoFixTrack#TRACK_NAME}).
|
||||
*/
|
||||
private final Map<Pair<Competitor, String>, DynamicTrack<?>> sensorTracks;
|
||||
private final Map<Pair<Competitor, String>, DynamicSensorFixTrack<Competitor, ?>> sensorTracks;
|
||||
|
||||
private final Map<String, Sideline> courseSidelines;
|
||||
|
||||
@@ -635,6 +635,9 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
|
||||
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException, PatchFailedException {
|
||||
ois.defaultReadObject();
|
||||
getRace().getCourse().addCourseListener(this);
|
||||
for (DynamicSensorFixTrack<Competitor, ?> sensorTrack : sensorTracks.values()) {
|
||||
sensorTrack.addedToTrackedRace(this);
|
||||
}
|
||||
raceStates = new WeakHashMap<>();
|
||||
attachedRaceLogs = new ConcurrentHashMap<>();
|
||||
attachedRegattaLogs = new ConcurrentHashMap<>();
|
||||
@@ -4147,40 +4150,54 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
|
||||
protected <FixT extends SensorFix, TrackT extends DynamicSensorFixTrack<Competitor, FixT>> TrackT getOrCreateSensorTrack(
|
||||
Competitor competitor, String trackName, TrackFactory<TrackT> newTrackFactory) {
|
||||
Pair<Competitor, String> key = new Pair<>(competitor, trackName);
|
||||
Optional<Runnable> executeAfterReleasingLock = Optional.empty();
|
||||
TrackT result;
|
||||
LockUtil.lockForWrite(sensorTracksLock);
|
||||
try {
|
||||
TrackT result = getTrackInternal(key);
|
||||
result = getTrackInternal(key);
|
||||
if (result == null && tracks.containsKey(competitor)) {
|
||||
// A track is only added if the given Competitor is known to participate in this race
|
||||
result = newTrackFactory.get();
|
||||
addSensorTrackInternal(key, result);
|
||||
executeAfterReleasingLock = addSensorTrackInternal(key, result);
|
||||
}
|
||||
return result;
|
||||
} finally {
|
||||
LockUtil.unlockAfterWrite(sensorTracksLock);
|
||||
}
|
||||
executeAfterReleasingLock.ifPresent(r->r.run());
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void addSensorTrack(Competitor competitor, String trackName, DynamicSensorFixTrack<Competitor, ?> track) {
|
||||
Pair<Competitor, String> key = new Pair<>(competitor, trackName);
|
||||
Optional<Runnable> executeAfterReleasingLock = Optional.empty();
|
||||
LockUtil.lockForWrite(sensorTracksLock);
|
||||
try {
|
||||
if(getTrackInternal(key) != null) {
|
||||
if (getTrackInternal(key) != null) {
|
||||
if (logger != null && logger.getLevel() != null && logger.getLevel().equals(Level.WARNING)) {
|
||||
logger.warning(SensorFixTrack.class.getName() + " already exists for competitor: "
|
||||
+ competitor.getName() + "; trackName: " + trackName);
|
||||
}
|
||||
} else {
|
||||
this.addSensorTrackInternal(key, track);
|
||||
executeAfterReleasingLock = this.addSensorTrackInternal(key, track);
|
||||
}
|
||||
} finally {
|
||||
LockUtil.unlockAfterWrite(sensorTracksLock);
|
||||
}
|
||||
executeAfterReleasingLock.ifPresent(r->r.run());
|
||||
}
|
||||
|
||||
protected <FixT extends SensorFix> void addSensorTrackInternal(Pair<Competitor, String> key,
|
||||
/**
|
||||
* To call this method, the caller must have obtained the write lock of {@link #sensorTracksLock}.
|
||||
* Optionally, the method may return a {@link Runnable} to execute after the lock has been released.
|
||||
* This may, e.g., be a routine that notifies listeners. Callers are responsible for invoking this
|
||||
* {@link Runnable} <em>after</em> releasing the write lock.
|
||||
*/
|
||||
protected <FixT extends SensorFix> Optional<Runnable> addSensorTrackInternal(Pair<Competitor, String> key,
|
||||
DynamicSensorFixTrack<Competitor, FixT> track) {
|
||||
assert sensorTracksLock.isWriteLockedByCurrentThread();
|
||||
sensorTracks.put(key, track);
|
||||
track.addedToTrackedRace(this);
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.sap.sailing.domain.common.dto.LeaderboardRowDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.MultiRaceLeaderboardSettings;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.controls.AbstractSortableColumnWithMinMax;
|
||||
@@ -22,7 +23,8 @@ public class LeaderboardPanelMock extends MultiRaceLeaderboardPanel {
|
||||
super(null, null, sailingService, new AsyncActionsExecutor(), new MultiRaceLeaderboardSettings(),
|
||||
new CompetitorSelectionModel(
|
||||
/* hasMultiSelection */true),
|
||||
leaderboardName, errorReporter, stringMessages, /* showRaceDetails */ true,new ClassicLeaderboardStyle());
|
||||
leaderboardName, errorReporter, stringMessages, /* showRaceDetails */ true, new ClassicLeaderboardStyle(),
|
||||
FlagImageResolverImpl.get());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
<classpathentry excluding="com/sap/sailing/gwt/ui/jre/" kind="src" path="src/main/java"/>
|
||||
<classpathentry exported="true" kind="lib" path="WEB-INF/lib/gwt-maps-api-3.9.0-build-17.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="WEB-INF/lib/gwt-ajaxloader.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="WEB-INF/lib/gwt-bootstrap-2.3.2.0.jar"/>
|
||||
<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"/>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
eclipse.preferences.version=1
|
||||
entryPointModules=
|
||||
filesCopiedToWebInfLib=gwt-servlet.jar
|
||||
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDE1IC1zdHJpY3QgLWxvZ0xldmVsIFRSQUNFXV0+PC9leHRyYS1hcmdzPjx2bS1hcmdzPjwhW0NEQVRBWy1YbXgyMDI0bSAtRGd3dC51c2VhcmNoaXZlcz1mYWxzZV1dPjwvdm0tYXJncz48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuQWRtaW5Db25zb2xlPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLlJhY2VCb2FyZDwvZW50cnktcG9pbnQtbW9kdWxlPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC5ob21lLkhvbWU8L2VudHJ5LXBvaW50LW1vZHVsZT48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuTGVhZGVyYm9hcmRFZGl0aW5nPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLkxlYWRlcmJvYXJkPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnJlZ2F0dGFvdmVydmlldy5SZWdhdHRhT3ZlcnZpZXc8L2VudHJ5LXBvaW50LW1vZHVsZT48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\=
|
||||
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDE1IC1zdHJpY3QgLWxvZ0xldmVsIFRSQUNFIC1YZnJhZ21lbnRDb3VudCA0XV0+PC9leHRyYS1hcmdzPjx2bS1hcmdzPjwhW0NEQVRBWy1YbXgyMDI0bSAtRGd3dC51c2VhcmNoaXZlcz1mYWxzZV1dPjwvdm0tYXJncz48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuQWRtaW5Db25zb2xlPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLlJhY2VCb2FyZDwvZW50cnktcG9pbnQtbW9kdWxlPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC5ob21lLkhvbWU8L2VudHJ5LXBvaW50LW1vZHVsZT48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuTGVhZGVyYm9hcmRFZGl0aW5nPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLkxlYWRlcmJvYXJkPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnJlZ2F0dGFvdmVydmlldy5SZWdhdHRhT3ZlcnZpZXc8L2VudHJ5LXBvaW50LW1vZHVsZT48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\=
|
||||
@@ -26,8 +26,6 @@
|
||||
<link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
|
||||
<link rel="stylesheet" type="text/css" href="SettingsDialog.css">
|
||||
<link rel="stylesheet" type="text/css" href="AdminConsole.css">
|
||||
<link rel="stylesheet" type="text/css" href="AdminConsoleDateTimePicker.css">
|
||||
<link rel="stylesheet" type="text/css" href="AdminConsoleProgressBar.css">
|
||||
|
||||
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
|
||||
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
/*!
|
||||
* Extracted from Bootstrap v3.0.2 by @fat and @mdo
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
* Licensed under http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
.table-condensed > thead > tr > th,
|
||||
.table-condensed > tbody > tr > th,
|
||||
.table-condensed > tfoot > tr > th,
|
||||
.table-condensed > thead > tr > td,
|
||||
.table-condensed > tbody > tr > td,
|
||||
.table-condensed > tfoot > tr > td {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
z-index: 1000;
|
||||
display: none;
|
||||
float: left;
|
||||
min-width: 160px;
|
||||
padding: 5px 0;
|
||||
margin: 2px 0 0;
|
||||
font-size: 14px;
|
||||
list-style: none;
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #cccccc;
|
||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
||||
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
.dropdown-menu.pull-right {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.dropdown-menu .divider {
|
||||
height: 1px;
|
||||
margin: 9px 0;
|
||||
overflow: hidden;
|
||||
background-color: #e5e5e5;
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a {
|
||||
display: block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: normal;
|
||||
line-height: 1.428571429;
|
||||
color: #333333;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus {
|
||||
color: #262626;
|
||||
text-decoration: none;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.dropdown-menu > .active > a,
|
||||
.dropdown-menu > .active > a:hover,
|
||||
.dropdown-menu > .active > a:focus {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
background-color: #428bca;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.dropdown-menu > .disabled > a,
|
||||
.dropdown-menu > .disabled > a:hover,
|
||||
.dropdown-menu > .disabled > a:focus {
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.dropdown-menu > .disabled > a:hover,
|
||||
.dropdown-menu > .disabled > a:focus {
|
||||
text-decoration: none;
|
||||
cursor: not-allowed;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
@@ -1,226 +0,0 @@
|
||||
/*!
|
||||
* Bootstrap v2.3.2
|
||||
*
|
||||
* Copyright 2013 Twitter, Inc
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Designed and built with all the love in the world @twitter by @mdo and @fat.
|
||||
*/
|
||||
.clearfix {
|
||||
*zoom: 1;
|
||||
}
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
.hide-text {
|
||||
font: 0/0 a;
|
||||
color: transparent;
|
||||
text-shadow: none;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
.input-block-level {
|
||||
display: block;
|
||||
width: 100%;
|
||||
min-height: 30px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@-webkit-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
@-moz-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
@-ms-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
@-o-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 0 0;
|
||||
}
|
||||
to {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
}
|
||||
@keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
.progress {
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
margin-bottom: 20px;
|
||||
background-color: #f7f7f7;
|
||||
background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.progress .bar {
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
color: #ffffff;
|
||||
float: left;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
background-color: #0e90d2;
|
||||
background-image: -moz-linear-gradient(top, #149bdf, #0480be);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
|
||||
background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
|
||||
background-image: -o-linear-gradient(top, #149bdf, #0480be);
|
||||
background-image: linear-gradient(to bottom, #149bdf, #0480be);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: width 0.6s ease;
|
||||
-moz-transition: width 0.6s ease;
|
||||
-o-transition: width 0.6s ease;
|
||||
transition: width 0.6s ease;
|
||||
}
|
||||
.progress .bar + .bar {
|
||||
-webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
|
||||
-moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
|
||||
box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
|
||||
}
|
||||
.progress-striped .bar {
|
||||
background-color: #149bdf;
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
-webkit-background-size: 40px 40px;
|
||||
-moz-background-size: 40px 40px;
|
||||
-o-background-size: 40px 40px;
|
||||
background-size: 40px 40px;
|
||||
}
|
||||
.progress.active .bar {
|
||||
-webkit-animation: progress-bar-stripes 2s linear infinite;
|
||||
-moz-animation: progress-bar-stripes 2s linear infinite;
|
||||
-ms-animation: progress-bar-stripes 2s linear infinite;
|
||||
-o-animation: progress-bar-stripes 2s linear infinite;
|
||||
animation: progress-bar-stripes 2s linear infinite;
|
||||
}
|
||||
.progress-danger .bar,
|
||||
.progress .bar-danger {
|
||||
background-color: #dd514c;
|
||||
background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
|
||||
background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
|
||||
background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
|
||||
background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
|
||||
}
|
||||
.progress-danger.progress-striped .bar,
|
||||
.progress-striped .bar-danger {
|
||||
background-color: #ee5f5b;
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
}
|
||||
.progress-success .bar,
|
||||
.progress .bar-success {
|
||||
background-color: #5eb95e;
|
||||
background-image: -moz-linear-gradient(top, #62c462, #57a957);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
|
||||
background-image: -webkit-linear-gradient(top, #62c462, #57a957);
|
||||
background-image: -o-linear-gradient(top, #62c462, #57a957);
|
||||
background-image: linear-gradient(to bottom, #62c462, #57a957);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
|
||||
}
|
||||
.progress-success.progress-striped .bar,
|
||||
.progress-striped .bar-success {
|
||||
background-color: #62c462;
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
}
|
||||
.progress-info .bar,
|
||||
.progress .bar-info {
|
||||
background-color: #4bb1cf;
|
||||
background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
|
||||
background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
|
||||
background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
|
||||
background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
|
||||
}
|
||||
.progress-info.progress-striped .bar,
|
||||
.progress-striped .bar-info {
|
||||
background-color: #5bc0de;
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
}
|
||||
.progress-warning .bar,
|
||||
.progress .bar-warning {
|
||||
background-color: #faa732;
|
||||
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
|
||||
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
|
||||
background-image: -o-linear-gradient(top, #fbb450, #f89406);
|
||||
background-image: linear-gradient(to bottom, #fbb450, #f89406);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
|
||||
}
|
||||
.progress-warning.progress-striped .bar,
|
||||
.progress-striped .bar-warning {
|
||||
background-color: #fbb450;
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
}
|
||||
@@ -69,8 +69,7 @@ Import-Package: javax.servlet;version="3.1.0",
|
||||
Web-ContextPath: /gwt
|
||||
Bundle-ClassPath: WEB-INF/classes/,
|
||||
WEB-INF/lib/gwt-maps-api-3.9.0-build-17.jar,
|
||||
WEB-INF/lib/gwt-ajaxloader.jar,
|
||||
WEB-INF/lib/gwt-bootstrap-2.3.2.0.jar
|
||||
WEB-INF/lib/gwt-ajaxloader.jar
|
||||
TrackLifecycle: true
|
||||
Export-Package: com.google.gwt.user.client.rpc.core.com.sap.sailing.domain.common.confidence.impl,
|
||||
com.google.gwt.user.client.rpc.core.com.sap.sailing.domain.common.impl,
|
||||
|
||||
@@ -37,10 +37,8 @@ bin.includes = META-INF/,\
|
||||
com.sap.sailing.gwt.ui.DataMining/,\
|
||||
DataMining.css,\
|
||||
DataMining.html,\
|
||||
AdminConsoleDateTimePicker.css,\
|
||||
qrcode/,\
|
||||
js/,\
|
||||
AdminConsoleProgressBar.css,\
|
||||
AutoPlay.css,\
|
||||
AutoPlay.html,\
|
||||
Home.css,\
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 152 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 308 B |
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M27.2,12.3L26.4,12c-1.1-0.3-2.8-0.8-3.9-1.1l-0.8-0.2c-1.1-0.3-1.3-1.2-0.5-1.9l0.5-0.5
|
||||
c0.1-0.1,0.3-0.3,0.5-0.5c-0.1,0-0.2-0.1-0.2-0.1c-4-4-10.6-4-14.7,0c-4,4-4,10.6,0,14.7c4,4,10.6,4,14.7,0c0.6-0.6,1.5-0.6,2.1,0
|
||||
s0.6,1.5,0,2.1c-2.6,2.6-6,3.9-9.5,3.9c-3.4,0-6.8-1.3-9.5-3.9c-5.2-5.2-5.2-13.7,0-18.9c5.2-5.2,13.7-5.2,18.9,0
|
||||
c0.1,0.1,0.1,0.1,0.1,0.2c0.1-0.1,0.2-0.2,0.3-0.3l0.5-0.5c0.8-0.8,1.7-0.5,1.9,0.5l0.2,0.8c0.3,1.1,0.8,2.8,1.1,3.9l0.2,0.8
|
||||
C28.9,11.9,28.2,12.5,27.2,12.3z M12,15.1v5l4.2-2.5l4.3-2.5l-4.3-2.5L12,10.1V15.1z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1014 B |
|
Before Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#fff" d="M18.5 12.7h-2.2v-1.5c.2-1.4 2.5-1.1 2.5-1.1V7.7c-.1 0-4.6-1.1-5.5 2.3-.1.4-.1 2.4-.1 2.6h-1.9v2.6h2.1v7.2h3v-7.2h2.3l.3-2.6-.5.1z"/></svg>
|
||||
|
Before Width: | Height: | Size: 219 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 236 KiB |
|
Before Width: | Height: | Size: 284 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 211 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 865 B |
|
Before Width: | Height: | Size: 308 B |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 270 KiB |
|
Before Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 199 KiB |
|
Before Width: | Height: | Size: 179 KiB |
|
Before Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 281 KiB |
|
Before Width: | Height: | Size: 612 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 492 B |
|
Before Width: | Height: | Size: 1012 B |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 713 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -333,16 +333,6 @@
|
||||
],
|
||||
"key": "ASL2.0"
|
||||
},
|
||||
{
|
||||
"name": "GWT-Bootstrap",
|
||||
"version": "2.3.2.0",
|
||||
"owner": "GWT-Bootstrap",
|
||||
"homepage": "http://gwtbootstrap.github.com/",
|
||||
"acknowledgements": [
|
||||
"Copyright ${year} GWT-Bootstrap"
|
||||
],
|
||||
"key": "ASL2.0"
|
||||
},
|
||||
{
|
||||
"name": "gwt-google-apis",
|
||||
"version": "ajaxloader-svn",
|
||||
|
||||
@@ -104,12 +104,6 @@
|
||||
<version>${project.version}</version>
|
||||
<classifier>sources</classifier>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.gwtbootstrap</groupId>
|
||||
<artifactId>gwt-bootstrap</artifactId>
|
||||
<version>2.3.2.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sap.sailing</groupId>
|
||||
<artifactId>com.sap.sse.security.common</artifactId>
|
||||
|
||||
@@ -17,10 +17,6 @@
|
||||
<inherits name='com.google.gwt.ajaxloader.AjaxLoader' />
|
||||
<inherits name='com.google.gwt.maps.Maps' />
|
||||
|
||||
<!-- Bootstrap API -->
|
||||
<inherits name="com.github.gwtbootstrap.BootstrapNoResources" />
|
||||
<inherits name='com.github.gwtbootstrap.datetimepicker.DatetimepickerNoResources' />
|
||||
|
||||
<!-- Specify the paths for translatable code -->
|
||||
<!-- module containing locale configuration -->
|
||||
<inherits name='com.sap.sailing.gwt.common.SailingLocalesAllPermutations' />
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.sap.sailing.gwt.settings.client.leaderboard.MultiRaceLeaderboardSetti
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.RaceColumnSelectionStrategies;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.MultiRaceLeaderboardPanel;
|
||||
@@ -61,9 +62,11 @@ public class IdleOverallLeaderBoardNode extends FiresPlaceNode {
|
||||
String overallLeaderboardName = result.get(0);
|
||||
CompetitorSelectionProvider provider = new CompetitorSelectionModel(true);
|
||||
|
||||
MultiRaceLeaderboardPanel leaderboardPanel = new MultiRaceLeaderboardPanel(null,null,cf.getSailingService(),
|
||||
new AsyncActionsExecutor(), leaderboardSettings,false, provider,timer,null, overallLeaderboardName, cf.getErrorReporter(),
|
||||
StringMessages.INSTANCE, false,null,false,null,false,true,false,false,false,new SixtyInchLeaderBoardStyle(true));
|
||||
MultiRaceLeaderboardPanel leaderboardPanel = new MultiRaceLeaderboardPanel(null, null,
|
||||
cf.getSailingService(), new AsyncActionsExecutor(), leaderboardSettings, false,
|
||||
provider, timer, null, overallLeaderboardName, cf.getErrorReporter(),
|
||||
StringMessages.INSTANCE, false, null, false, null, false, true, false, false, false,
|
||||
new SixtyInchLeaderBoardStyle(true), FlagImageResolverImpl.get());
|
||||
|
||||
IdleOverallLeaderBoardPlace place = new IdleOverallLeaderBoardPlace(leaderboardPanel);
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.sap.sailing.gwt.autoplay.client.app.AutoPlayPresenterConfigured;
|
||||
import com.sap.sailing.gwt.autoplay.client.events.AutoPlayHeaderEvent;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.SingleRaceLeaderboardSettings;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardUpdateListener;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
@@ -69,7 +70,8 @@ public class RaceEndWithBoatsPresenterImpl extends AutoPlayPresenterConfigured<A
|
||||
leaderboardPanel = new SingleRaceLeaderboardPanel(null,null,sailingService, new AsyncActionsExecutor(), leaderboardSettings,
|
||||
true, liveRace, competitorSelectionProvider, timer, null,
|
||||
getSlideCtx().getContextDefinition().getLeaderboardName(), errorReporter, StringMessages.INSTANCE,
|
||||
false, null, false, null, false, true, false, false, false,new SixtyInchLeaderBoardStyle(true));
|
||||
false, null, false, null, false, true, false, false, false, new SixtyInchLeaderBoardStyle(true),
|
||||
FlagImageResolverImpl.get());
|
||||
|
||||
|
||||
int competitorCount = getPlace().getStatistic().getCompetitors();
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.sap.sailing.gwt.autoplay.client.app.AutoPlayClientFactory;
|
||||
import com.sap.sailing.gwt.autoplay.client.app.AutoPlayPresenterConfigured;
|
||||
import com.sap.sailing.gwt.autoplay.client.utils.AutoplayHelper;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.SingleRaceLeaderboardSettings;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceCompetitorSet;
|
||||
@@ -157,7 +158,8 @@ public class LiveRaceWithRacemapAndLeaderBoardPresenterImpl
|
||||
leaderboardPanel = new SingleRaceLeaderboardPanel(null,null,sailingService, new AsyncActionsExecutor(), leaderboardSettings,
|
||||
true, lifeRace, getPlace().getRaceMapSelectionProvider(), timer, null,
|
||||
getSlideCtx().getContextDefinition().getLeaderboardName(), errorReporter, StringMessages.INSTANCE,
|
||||
false, null, false, null, false, true, false, false, false,new SixtyInchLeaderBoardStyle(true));
|
||||
false, null, false, null, false, true, false, false, false, new SixtyInchLeaderBoardStyle(true),
|
||||
FlagImageResolverImpl.get());
|
||||
|
||||
getPlace().getRaceMap().setQuickRanksDTOProvider(new QuickRanksDTOFromLeaderboardDTOProvider(new RaceCompetitorSet(getPlace().getRaceMapSelectionProvider()), lifeRace));
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.sap.sailing.gwt.autoplay.client.app.AutoPlayClientFactory;
|
||||
import com.sap.sailing.gwt.autoplay.client.app.AutoPlayPresenterConfigured;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.SingleRaceLeaderboardSettings;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardEntryPoint;
|
||||
@@ -106,7 +107,8 @@ public class PreLiveRaceLeaderBoardWithImagePresenterImpl
|
||||
leaderboardPanel = new SingleRaceLeaderboardPanel(null,null,sailingService, new AsyncActionsExecutor(),
|
||||
leaderboardSettings, true, liveRace, competitorSelectionProvider, timer, null,
|
||||
getSlideCtx().getContextDefinition().getLeaderboardName(), errorReporter, StringMessages.INSTANCE,
|
||||
false, null, false, null, false, true, false, false, false,new SixtyInchLeaderBoardStyle(false));
|
||||
false, null, false, null, false, true, false, false, false, new SixtyInchLeaderBoardStyle(false),
|
||||
FlagImageResolverImpl.get());
|
||||
view.setLeaderBoard(leaderboardPanel);
|
||||
selectionTimer.schedule(AnimationPanel.DELAY + AnimationPanel.ANIMATION_DURATION);
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ import com.google.gwt.user.client.ui.ResizeComposite;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.racemap.statistic.PreRaceStatisticsBox;
|
||||
import com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.racemap.statistic.PreRaceStatisticsBoxResources;
|
||||
import com.sap.sailing.gwt.home.communication.event.sixtyinch.GetSixtyInchStatisticDTO;
|
||||
import com.sap.sailing.gwt.home.shared.partials.statistics.StatisticsBoxConstants;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMap;
|
||||
import com.sap.sse.gwt.client.panels.ResizableFlowPanel;
|
||||
@@ -53,23 +53,23 @@ public class PreRaceRacemapViewImpl extends ResizeComposite implements PreRaceRa
|
||||
racemap.onResize();
|
||||
|
||||
statistics.clear();
|
||||
statistics.addItem(PreRaceStatisticsBox.ICON_COMPETITORS, StringMessages.INSTANCE.competitors(),
|
||||
statistics.addItem(PreRaceStatisticsBoxResources.INSTANCE.competitors(), StringMessages.INSTANCE.competitors(),
|
||||
result.getCompetitors());
|
||||
statistics.addItem(StatisticsBoxConstants.ICON_WIND_FIX, StringMessages.INSTANCE.wind(), windSpeed);
|
||||
statistics.addItem(PreRaceStatisticsBox.ICON_WIND, StringMessages.INSTANCE.averageDirection(), windDegree);
|
||||
statistics.addItem(PreRaceStatisticsBox.ICON_LEGS, StringMessages.INSTANCE.legs(), result.getLegs());
|
||||
statistics.addItem(PreRaceStatisticsBoxResources.INSTANCE.strongestWind(), StringMessages.INSTANCE.wind(), windSpeed);
|
||||
statistics.addItem(PreRaceStatisticsBoxResources.INSTANCE.wind(), StringMessages.INSTANCE.averageDirection(), windDegree);
|
||||
statistics.addItem(PreRaceStatisticsBoxResources.INSTANCE.legs(), StringMessages.INSTANCE.legs(), result.getLegs());
|
||||
try {
|
||||
statistics.addItem(StatisticsBoxConstants.ICON_SUM_MILES, StringMessages.INSTANCE.estimatedDistance(),
|
||||
statistics.addItem(PreRaceStatisticsBoxResources.INSTANCE.sumMiles(), StringMessages.INSTANCE.estimatedDistance(),
|
||||
compactFormat.format(result.getDistance().getSeaMiles()) + " "
|
||||
+ StringMessages.INSTANCE.seaMiles());
|
||||
} catch (Exception e) {
|
||||
}
|
||||
try {
|
||||
statistics.addItem(PreRaceStatisticsBox.ICON_TIME, StringMessages.INSTANCE.estimatedTime(),
|
||||
statistics.addItem(PreRaceStatisticsBoxResources.INSTANCE.time(), StringMessages.INSTANCE.estimatedTime(),
|
||||
compactFormat.format(result.getDuration().asMinutes()) + " " + StringMessages.INSTANCE.minutes());
|
||||
} catch (Exception e) {
|
||||
}
|
||||
statistics.addQRItem(PreRaceStatisticsBox.ICON_RACEVIEWER, StringMessages.INSTANCE.raceViewer(), url);
|
||||
statistics.addQRItem(PreRaceStatisticsBoxResources.INSTANCE.raceviewer(), StringMessages.INSTANCE.raceViewer(), url);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,19 +2,13 @@ package com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.racem
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.UListElement;
|
||||
import com.google.gwt.resources.client.DataResource;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
|
||||
public class PreRaceStatisticsBox extends Composite {
|
||||
|
||||
public static final String ICON_COMPETITORS = "images/mobile/icon-competitors.svg";
|
||||
public static final String ICON_LEGS = "images/mobile/icon-legs.svg";
|
||||
public static final String ICON_LENGTH = "images/mobile/icon-length.svg";
|
||||
public static final String ICON_RACEVIEWER = "images/mobile/icon-raceviewer.svg";
|
||||
public static final String ICON_TIME = "images/mobile/icon-time.svg";
|
||||
public static final String ICON_WIND = "images/mobile/icon-wind.svg";
|
||||
|
||||
private static StatisticsBoxUiBinder uiBinder = GWT.create(StatisticsBoxUiBinder.class);
|
||||
|
||||
@@ -33,11 +27,15 @@ public class PreRaceStatisticsBox extends Composite {
|
||||
itemContainerUi.removeAllChildren();
|
||||
}
|
||||
|
||||
public void addItem(DataResource icon, String name, Object payload) {
|
||||
addItem(icon.getSafeUri().asString(), name, payload);
|
||||
}
|
||||
|
||||
public void addItem(String iconUrl, String name, Object payload) {
|
||||
itemContainerUi.appendChild(new PreRaceStatisticsBoxItem(iconUrl, name, payload).getElement());
|
||||
}
|
||||
|
||||
public void addQRItem(String iconUrl, String name, String url) {
|
||||
itemContainerUi.appendChild(new PreRaceStatisticsBoxQR(iconUrl, name, url).getElement());
|
||||
public void addQRItem(DataResource icon, String name, String url) {
|
||||
itemContainerUi.appendChild(new PreRaceStatisticsBoxQR(icon.getSafeUri().asString(), name, url).getElement());
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,40 @@
|
||||
package com.sap.sailing.gwt.autoplay.client.places.screens.preliveraceloop.racemap.statistic;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.CssResource;
|
||||
import com.google.gwt.resources.client.DataResource;
|
||||
import com.google.gwt.resources.client.DataResource.MimeType;
|
||||
import com.sap.sailing.gwt.home.shared.partials.statistics.StatisticsBoxResources;
|
||||
|
||||
public interface PreRaceStatisticsBoxResources extends ClientBundle {
|
||||
public interface PreRaceStatisticsBoxResources extends StatisticsBoxResources {
|
||||
public static final PreRaceStatisticsBoxResources INSTANCE = GWT.create(PreRaceStatisticsBoxResources.class);
|
||||
|
||||
@Source("PreRaceStatisticsBox.gss")
|
||||
LocalCss css();
|
||||
|
||||
@Source("icon-competitors.svg")
|
||||
@MimeType("image/svg+xml")
|
||||
DataResource competitors();
|
||||
|
||||
@Source("icon-legs.svg")
|
||||
@MimeType("image/svg+xml")
|
||||
DataResource legs();
|
||||
|
||||
@Source("icon-length.svg")
|
||||
@MimeType("image/svg+xml")
|
||||
DataResource length();
|
||||
|
||||
@Source("icon-raceviewer.svg")
|
||||
@MimeType("image/svg+xml")
|
||||
DataResource raceviewer();
|
||||
|
||||
@Source("icon-time.svg")
|
||||
@MimeType("image/svg+xml")
|
||||
DataResource time();
|
||||
|
||||
@Source("icon-wind.svg")
|
||||
@MimeType("image/svg+xml")
|
||||
DataResource wind();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
String box();
|
||||
|
||||
|
Before Width: | Height: | Size: 352 B After Width: | Height: | Size: 352 B |
|
Before Width: | Height: | Size: 284 B After Width: | Height: | Size: 284 B |
|
Before Width: | Height: | Size: 262 B After Width: | Height: | Size: 262 B |
|
Before Width: | Height: | Size: 367 B After Width: | Height: | Size: 367 B |
|
Before Width: | Height: | Size: 494 B After Width: | Height: | Size: 494 B |
|
Before Width: | Height: | Size: 269 B After Width: | Height: | Size: 269 B |
@@ -15,6 +15,7 @@ import com.sap.sailing.gwt.common.client.FullscreenUtil;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.MultiRaceLeaderboardPanelLifecycle;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.MultiRaceLeaderboardSettings;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardUpdateListener;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardUpdateProvider;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
@@ -194,7 +195,8 @@ public class MultiRaceLeaderboardWithZoomingPerspective extends AbstractPerspect
|
||||
leaderboardName, errorReporter, stringMessages,
|
||||
/* showRaceDetails */false, /* competitorSearchTextBox */ null, /* showRegattaRank */
|
||||
/* showSelectionCheckbox */false, /* raceTimesInfoProvider */null, false, /* autoExpandLastRaceColumn */
|
||||
/* adjustTimerDelay */ true, /* autoApplyTopNFilter */ false, /* showCompetitorFilterStatus */ false, /* enableSyncScroller */ false,new ClassicLeaderboardStyle());
|
||||
/* adjustTimerDelay */ true, /* autoApplyTopNFilter */ false, /* showCompetitorFilterStatus */ false, /* enableSyncScroller */ false,
|
||||
new ClassicLeaderboardStyle(), FlagImageResolverImpl.get());
|
||||
|
||||
return leaderboardPanel;
|
||||
}
|
||||
|
||||
@@ -3,319 +3,424 @@ package com.sap.sailing.gwt.common.client;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
import com.google.gwt.resources.client.ImageResource.ImageOptions;
|
||||
|
||||
public interface BoatClassImageResources extends ClientBundle {
|
||||
public static final BoatClassImageResources INSTANCE = GWT.create(BoatClassImageResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/GENERIC_BOATCLASS.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource genericBoatClass();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/12MR.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _12mRIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/18FOOTER.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _18FooterIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/2_4M.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _2_4mIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/29ER.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _29erIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/420.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _420Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/470.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _470Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/49ER_FX.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _49erFXIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/49ER.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _49erIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/505.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _505mIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/5.5mR.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _5_5MRIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/6MR.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _6MRIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/8MR.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource _8MRIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/A_CAT.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource A_CatIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/ALBIN_EXPRESS.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource AlbinExpressIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/ALBIN_BALLAD.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource AlbinBalladIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/B_ONE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource BOne();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/CADET.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource CadetIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/CANOE_IC.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource CanoeICIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/CANOE_TAIFUN.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource CanoeTaifunIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/CONTENDER.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource ContenderIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/DRAGON.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource DragonIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/EUROPE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource EuropeIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/EXTREME40.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Extreme40Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/D35.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource D35Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/DELPHIA_24.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Delphia24Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/F16.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource F16Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/F18.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource F18Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/FARR_30.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Farr30Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/FARR_280.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Farr280Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/FINN.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource FinnIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/FLYING_DUTCHMAN.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource FlyingDutchmanIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/FOLKBOAT.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource FolkBoatIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/FUN.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource FUNIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/H_BOAT.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource H_BoatIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/HANSA_303.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Hansa303Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/HOBIE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource HobieIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/J22.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource J22Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/J24.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource J24Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/J70.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource J70Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/J80.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource J80Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/J88.png")
|
||||
ImageResource J88Icon();
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource J88Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/J105.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource J105Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/J111.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource J111Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/LASER2.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Laser2Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/LASER_SB3.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource LaserSB3Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/LASER.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource LaserIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/LAGO_26.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Lago26Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/LONGTZE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource LongtzeIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/M32.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource M32Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/MELGES_20.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Melges20Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/MELGES_24.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Melges24Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/MINI_TRANSAT.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource MiniTransatIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/MUSTO_SKIFF.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource MustoSkiffIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/NACRA_15.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Nacra15Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/NACRA_17.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Nacra17Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/OK.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource OKIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/OPTIMIST.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource OptimistIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/PIRAT.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource PiratIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/PLATU_25.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Platu25Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/RS_X.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource RSXIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/RS_FEVA.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource RSFevaIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/SONAR.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource SonarIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/SKUD18.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Skud18Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/SOLING.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource SolingIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/STAR.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource StarIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/STREAMLINE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource StreamlineIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/SUNBEAM22.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Sunbeam22Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/SWAN_45.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Swan45Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/TECHNO_293.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Techno293Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/TECHNO_293_PLUS.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Techno293PlusIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/TEENY.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource TeenyIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/TORNADO.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource TornadoIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/X_99.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource X99Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/DYAS.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource DyasIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/INTERNATIONAL_14.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource International14Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/OPENBIC.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource OpenBicIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/RS100.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource RS100Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/RS200.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource RS200Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/RS400.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource RS400Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/RS500.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource RS500Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/RS800.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource RS800Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/RSAERO.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource RSAEROIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/SPLASH_BLUE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource SplashBlueIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/SPLASH_RED.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource SplashRedIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/SPLASH_GREEN.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource SplashGreenIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/ORC.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource ORCIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/PHRF.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource PHRFIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/KIELZUGVOGEL.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource KielzugvogelIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/FORMULA_KITE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource FormulaKiteIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/TRIAS.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource TriasIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/O_JOLLE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource OJolleIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/D_ONE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource DOneIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/PWA.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource PWAIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/GC_32.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource GC32Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/CC_30.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource CC30Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/GP_26.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource GP26Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/VX_ONE.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource VXOneIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/TARTAN_10.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Tartan10Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/VIPER_640.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Viper640Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/WETA.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource WetaIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/TOM_28_MAX.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource Tom28MaxIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/TP52.png")
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource TP52Icon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/boatclass/RUNNING.png")
|
||||
ImageResource RunningIcon();
|
||||
@ImageOptions(preventInlining = true)
|
||||
ImageResource RunningIcon();
|
||||
}
|
||||
@@ -3,9 +3,10 @@ package com.sap.sailing.gwt.common.client;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.CssResource;
|
||||
import com.sap.sse.gwt.common.CommonIcons;
|
||||
import com.sap.sse.gwt.common.CommonSharedResources;
|
||||
|
||||
public interface SharedResources extends ClientBundle, CommonSharedResources {
|
||||
public interface SharedResources extends ClientBundle, CommonSharedResources, CommonIcons {
|
||||
public static final SharedResources INSTANCE = GWT.create(SharedResources.class);
|
||||
|
||||
@Source("main.gss")
|
||||
@@ -26,8 +27,6 @@ public interface SharedResources extends ClientBundle, CommonSharedResources {
|
||||
String buttonprimary();
|
||||
String buttonprimaryoutlined();
|
||||
String buttonred();
|
||||
String buttonrefresh();
|
||||
String buttonarrowdown();
|
||||
String buttonsearch();
|
||||
String buttonarrowrightwhite();
|
||||
String label();
|
||||
|
||||
@@ -145,23 +145,8 @@ figcaption {
|
||||
.buttonred:hover {
|
||||
background-color: #d54115;
|
||||
}
|
||||
.buttonrefresh {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAppJREFUeNrsl09o03AUx9MEi0rXSuhE66wMKoO5YlXYUc966NF5sB4UOoUdFXYdDnYaCj2VFobCpoeo61xZKQrCGIjt2jlxQ0vr0vWwTdYmzZImTZrnwSbUSbemW4tIHuTy4/d4n9/393t/YgAA5F82gw6oA+qAOqAO+J8DFt+etBrPee6gpp4e7ITLhRgwtEItLcnMyqqYI4iOG2T2QAEAoKmPnraYhbTfD3uZLIlCJhigZzqtzcZpyomJOvsqXG59N49USCalfDwmSxxbu15hSZJ5d+VyWwCLYbtd5rc2Vah8PMYuuN0UgaHKHorAUHbB7a4wqZQqprC9XZxzOFoOSBEYWiYnJwEAhJTPVwv21zN4feyokPL51MNQy5+pV0Zjy6+YIjCUW/R6G91fXnv+TIHkEg/utwywtPzooRYwVckQjstlqgAAIP6cn28JYOnL8HCzKgAAImSCASWztWS1ZjgVMjk0pAWQi9+7q/gy7/v7G/VD96uTTPRCL3q8u1vaiESUNWkjEsHMTicTOe/Yt5DPnj5VSgx6MYvrkrJmtHs8pcSglwl32Q6tUO98uHZVVe+3Gg378qtjY7tvgP/+9MmhvkE6hOMgSyIAQDUrNb1BfmX0sVY4zVlczUCQRYahQziuGfLryIgWOM2A7CfPbUWFcvbli4b9Pg7cbEsvpggMlQrJpAIpZIIB+o3JtNf+qmLAfxsfb08vnnM4antxZSeTrteLpXw8pvZifmuzOHvG1r5phiXJPycrjpXy8VitwuohuNw6E3X2tW3cAgCEnum0Cmm/X8nseib8mJigpy3mZuMceKJmwl22I2cHbmEW10XU3NuLIAhSKSwm5FKWFLNTUx3XM2v6P4kOqAPqgDqgDqgD1rVfAwAVWx4m+SNozQAAAABJRU5ErkJggg==");
|
||||
}
|
||||
.buttonrefresh,
|
||||
.buttonarrowdown {
|
||||
background-repeat: no-repeat;
|
||||
background-position: left top;
|
||||
background-size: cover;
|
||||
width: 2.333333333333333em;
|
||||
height: 0;
|
||||
padding: 2.333333333333333em 0 0 0;
|
||||
border: 0;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.buttonsearch {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NTg0MEE1MTVFN0UxMUU0QkNGMTk0Q0UzOUEwNUNFMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NTg0MEE1MjVFN0UxMUU0QkNGMTk0Q0UzOUEwNUNFMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY1ODQwQTRGNUU3RTExRTRCQ0YxOTRDRTM5QTA1Q0UzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY1ODQwQTUwNUU3RTExRTRCQ0YxOTRDRTM5QTA1Q0UzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+tERf2gAAArFJREFUeNrMmE1kXFEUx28SwjAMjxCGIQwhzCoMQysVugqlhJBVyCqLbELpqtmEUFJddZFNFhVSpd20uqgw1VIhixgSIqREYiKRSExkhNTruZzhOO5999737m3m8DdzZt6773fP/Trn9cRxLBysD/QUNAaKQEP4eQI6xc/voN/Cl0lAC1VBG6Cr2M6aoHegkmX7WpkuKIPW4/R2B1oBRSEAJ0G3BoAz0DaoZbjuGEfBG+CS5kG7oFegiua+MYxYU3Gv7OyUD0AV3CFo2qHhHGhBM2efZQGcUjT4ER+YZg7JRbLF2msljEAiYFkx515nXYXYuS+s3QNQvyvghiJywpPyoAZr/4ULYFXRw5xHQKkh3HY6dmGz/fTifv2S7d+LoLbwa39Ab4gvT6BZm5MkYj3b9Rw5qojN84ZNBB+B+gnzexHOLvGs7lgFVEy6oQNI7asIax+YP2oCLBP/BrQXGHCH+RUT4ADxZcr0NzDgEfMLJsA88dsivN0wP2cCvCZ+/j8ARsw/NwGeEr+IWXNIK7kC7hNfbje1wIA1xQaeCPiL/TYRGHCSzfkfppMkx/K2Q9tMI2X6dU+e9dPmJGmzzVNWanOBorfE5viqbVWnyjSKnqNXY9E7thkp6qywlGvLY8pVVNQpc64Ja4S9ovbJA2QJMyRqm2lrkqoi7W9kKMBrmgpvPEtVN60pGZdBBYeorRnePAxnqYufa4rxFg677MQoSdlL6MtS8xtbDJkgk/6s4J7ow+qgCcVwGyFtC/CLlGBNtlpHXCFtJ3sBQesWUPe4Smc0+5wTZI/j+0GBCa488Acx+xkk7waP8Gw15ZUjoE28lybLT1jyIkTACs4kq0g+JKAV5EMDGiHTzMEQNgyqK+bk424B1EF+7hXdY/u4immNJLopgh2TLxLe4vf5fwIMADtbDGrkqxb2AAAAAElFTkSuQmCC");
|
||||
background-image: resourceUrl("search");
|
||||
background-color: transparent;
|
||||
background-size: contain;
|
||||
background-position: center center;
|
||||
@@ -175,11 +160,6 @@ figcaption {
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
.buttonarrowdown {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALFJREFUeNrs1TEOgjAUxnFx5iDscgPvwXkYuYdXwBPgAYwrsxPGIAPPvKQkxLQO5UE0+X9J06Ff0186tImI7H45CUCAAAECBAgQIMA1s1+y+dkUpUXna/QGY0Z/q0QztCcJddyauG7UOdHA8XWXKT7khNO47rbArj5kIeQnTrubA0NIS9xioA9piTMB+pBWODPgHGmJ02H6UD/OeaZzerxc+eoAAgQIECBAgAD/AvgWYACm/8hEADYaXwAAAABJRU5ErkJggg==");
|
||||
width: 2.666666666666667em;
|
||||
padding: 2.733333333333333em 0 0 0;
|
||||
}
|
||||
.buttonarrowrightwhite:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
|
||||
@@ -22,10 +22,6 @@
|
||||
<inherits name='com.google.gwt.ajaxloader.AjaxLoader' />
|
||||
<inherits name='com.google.gwt.maps.Maps' />
|
||||
|
||||
<!-- Bootstrap API -->
|
||||
<inherits name="com.github.gwtbootstrap.BootstrapNoResources" />
|
||||
<inherits name='com.github.gwtbootstrap.datetimepicker.DatetimepickerNoResources' />
|
||||
|
||||
<!-- module containing locale configuration -->
|
||||
<inherits name='com.sap.sailing.gwt.common.SailingLocalesAllPermutations' />
|
||||
|
||||
|
||||
@@ -19,8 +19,6 @@ import com.sap.sailing.gwt.ui.client.ServerConfigurationServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.EntryPointHelper;
|
||||
import com.sap.sse.gwt.client.mvp.AbstractMvpEntryPoint;
|
||||
import com.sap.sse.gwt.resources.CommonControlsCSS;
|
||||
import com.sap.sse.gwt.resources.Highcharts;
|
||||
|
||||
/**
|
||||
* Desktop/tablet EntryPoint for the Home module. Be aware that this EntryPoint isn't directly started but instead the
|
||||
@@ -33,9 +31,6 @@ public class DesktopEntryPoint extends AbstractMvpEntryPoint<StringMessages, Des
|
||||
public void doOnModuleLoad() {
|
||||
Document.get().getBody().addClassName(SharedResources.INSTANCE.mainCss().desktop());
|
||||
|
||||
CommonControlsCSS.ensureInjected();
|
||||
Highcharts.ensureInjected();
|
||||
|
||||
ServerConfigurationServiceAsync serverConfigService = GWT.create(ServerConfigurationService.class);
|
||||
EntryPointHelper.registerASyncService((ServiceDefTarget) serverConfigService, RemoteServiceMappingConstants.serverConfigurationServiceRemotePath);
|
||||
|
||||
|
||||